Laurent Schweizer wrote: > Hello, > > Any idee how to do it ? > >
Hi Laurent, this is a functionnality that should be provided by the sipctrl plug-in. At the moment, i did not care about it, as the other controller plugins (unixsock and binrpcctrl) never has this possibility. The basic idea is to extend the timeout behavior in trans_layer.cpp and send some event up to the Session. This is not so trivial as any change in trans_layer.cpp could potentially affect a lot of other things... -Raphael. > Laurent > > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > On Behalf Of Laurent Schweizer > Sent: vendredi 4 juillet 2008 21:51 > To: [EMAIL PROTECTED]; [EMAIL PROTECTED] > Subject: [Sems] detection of retransmission timeout > > Hello, > > I need to know how I can detect that a retransmission timeout expire, > example: in case bellow I don't receive the ACK for the 200 OK. > In this case I want to detect it and terminate the call. > > Laurent > > Jul 1 12:30:54 localhost sems[5817]: Debug: (udp_trsp.cpp)(send)(244): > send msg --++-- SIP/2.0 200 OK^M Record-Route: > <sip:213.218.124.169;lr=on;ftag=d0aa0b73f51f7f6f>^M Via: SIP/2.0/UDP > 213.218.124.169;branch=z9hG4bK03cb.ab0023e5.0^M Via: SIP/2.0/UDP > 78.8.117.103:5060;rport=5060;branch=z9hG4bK9da93dc469af7973^M From: > <sip:[EMAIL PROTECTED]>;tag=d0aa0b73f51f7f6f^M To: > <sip:[EMAIL PROTECTED]>;tag=75DAE75D-486A073C0000BD96-B7414B90^M > Call-ID: [EMAIL PROTECTED] CSeq: 22197 INVITE^M > User-Agent: SBC2^M Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, > SUBSCRIBE, NOTIFY^M Supported: replaces^M Contact: > <sip:[EMAIL PROTECTED]:5070>^M Content-Type: application/sdp^M > Content-Length: 311^M ^M v=0^M o=root 28673 28674 IN IP4 85.128.53.12^M > s=session^M c=IN IP4 85.128.53.12^M t=0 0^M m=audio 48694 RTP/AVP 8 0 18 > 101^M a=rtpmap:8 PCMA/8000^M a=rtpmap:0 PCMU/8000^M a=rtpmap:18 > G729/8000^M a=fmtp:18 annexb=no^M a=rtpmap:101 telephone-event/8000^M > a=fmtp:101 0-16^M a=silenceSupp:off - - - -^M a=ptime:20^M a=sendrecv > Jul 1 12:30:54 localhost sems[5817]: Debug: > (sip_trans.cpp)(reset_timer)(149): New timer of type 0x90007 at > time=774163 > Jul 1 12:30:54 localhost sems[5817]: Debug: > (sip_trans.cpp)(reset_timer)(104): Clearing old timer of type 0x80007 > Jul 1 12:30:54 localhost sems[5817]: Debug: > (wheeltimer.cpp)(~timer)(40): timer::~timer(this=0xb6800520) > Jul 1 12:30:56 localhost sems[5817]: Debug: > (sip_trans.cpp)(trans_timer_cb)(121): Transaction timer expired: > type=0xa, trans=0xb4c04510, eta=774068, t=774068 > Jul 1 12:30:56 localhost sems[5817]: Debug: > (sip_trans.cpp)(reset_timer)(104): Clearing old timer of type 0xa > Jul 1 12:30:56 localhost sems[5817]: Debug: > (sip_parser.cpp)(~sip_msg)(92): ~sip_msg() > Jul 1 12:30:56 localhost sems[5817]: Debug: > (hash_table.cpp)(remove_trans)(400): ~sip_trans() > Jul 1 12:30:56 localhost sems[5817]: Debug: > (wheeltimer.cpp)(~timer)(40): timer::~timer(this=0xa41d640) > Jul 1 12:30:56 localhost sems[5817]: Debug: > (sip_trans.cpp)(trans_timer_cb)(121): Transaction timer expired: > type=0x3, trans=0xa585600, eta=774081, t=774081 > Jul 1 12:30:56 localhost sems[5817]: Debug: > (sip_trans.cpp)(reset_timer)(104): Clearing old timer of type 0x3 > Jul 1 12:30:56 localhost sems[5817]: Debug: > (sip_parser.cpp)(~sip_msg)(92): ~sip_msg() > Jul 1 12:30:56 localhost sems[5817]: Debug: > (hash_table.cpp)(remove_trans)(400): ~sip_trans() > Jul 1 12:30:56 localhost sems[5817]: Debug: > (wheeltimer.cpp)(~timer)(40): timer::~timer(this=0xb4c05b08) > Jul 1 12:30:58 localhost sems[5817]: Debug: > (sip_trans.cpp)(trans_timer_cb)(121): Transaction timer expired: > type=0x90007, trans=0xb4c070d8, eta=774163, t=774163 > Jul 1 12:30:58 localhost sems[5817]: Debug: (udp_trsp.cpp)(send)(244): > send msg --++-- SIP/2.0 200 OK^M Record-Route: > <sip:213.218.124.169;lr=on;ftag=d0aa0b73f51f7f6f>^M Via: SIP/2.0/UDP > 213.218.124.169;branch=z9hG4bK03cb.ab0023e5.0^M Via: SIP/2.0/UDP > 78.8.117.103:5060;rport=5060;branch=z9hG4bK9da93dc469af7973^M From: > <sip:[EMAIL PROTECTED]>;tag=d0aa0b73f51f7f6f^M To: > <sip:[EMAIL PROTECTED]>;tag=75DAE75D-486A073C0000BD96-B7414B90^M > Call-ID: [EMAIL PROTECTED] CSeq: 22197 INVITE^M > User-Agent: SBC2^M Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, > SUBSCRIBE, NOTIFY^M Supported: replaces^M Contact: > <sip:[EMAIL PROTECTED]:5070>^M Content-Type: application/sdp^M > Content-Length: 311^M ^M v=0^M o=root 28673 28674 IN IP4 85.128.53.12^M > s=session^M c=IN IP4 85.128.53.12^M t=0 0^M m=audio 48694 RTP/AVP 8 0 18 > 101^M a=rtpmap:8 PCMA/8000^M a=rtpmap:0 PCMU/8000^M a=rtpmap:18 > G729/8000^M a=fmtp:18 annexb=no^M a=rtpmap:101 telephone-event/8000^M > a=fmtp:101 0-16^M a=silenceSupp:off - - - -^M a=ptime:20^M a=sendrecv > Jul 1 12:30:58 localhost sems[5817]: Debug: > (sip_trans.cpp)(reset_timer)(149): New timer of type 0xa0007 at > time=774363 > Jul 1 12:30:58 localhost sems[5817]: Debug: > (sip_trans.cpp)(reset_timer)(104): Clearing old timer of type 0x90007 > Jul 1 12:30:58 localhost sems[5817]: Debug: > (wheeltimer.cpp)(~timer)(40): timer::~timer(this=0xb68004a8) > Jul 1 12:30:58 localhost sems[5817]: Debug: > (sip_trans.cpp)(trans_timer_cb)(121): Transaction timer expired: > type=0xb, trans=0xa584750, eta=774188, t=774188 > Jul 1 12:30:58 localhost sems[5817]: Debug: > (sip_trans.cpp)(reset_timer)(104): Clearing old timer of type 0xb > Jul 1 12:30:58 localhost sems[5817]: Debug: > (sip_parser.cpp)(~sip_msg)(92): ~sip_msg() > _______________________________________________ > Sems mailing list > [email protected] > http://lists.iptel.org/mailman/listinfo/sems > _______________________________________________ > Semsdev mailing list > [EMAIL PROTECTED] > http://lists.iptel.org/mailman/listinfo/semsdev > _______________________________________________ Sems mailing list [email protected] http://lists.iptel.org/mailman/listinfo/sems
