Hi All, I am using call-timer app and found that it does not forward any CANCEL messages to the 'B' leg of the call. Based on the debug and wireshark, SEMS replied to the CANCEL on the 'A' leg with a 200 Ok. It then sets the timer to 0 and waits for the 200 OK with SDP from the 'B' leg and then will send a BYE to the 'B' leg.
I would have expected SEMS while working in B2B mode to forward the CANCEL to the 'B' leg of the call and stop the terminating phone from ringing. Does anyone else have some thoughts on how SEMS should handle this scenario? Any help in debugging would also be helpfull. Regards, Jim Here is the debug: Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] run (udp_trsp.cpp:140): recvd msg --++-- CANCEL sip:[email protected]:5060 SIP/2.0^M Via: SIP/2.0/UDP 192.168.0.2;branch=z9hG4bKf333.b53a454.0^M From : "xxxxxxxxxx"<sip:[email protected]>;tag=62251521-co7552-INS001^M Call-ID: 3bf3-544-3220094132-IMG01-0^M To: <sip:[email protected]:5060>^M CSeq: 755201 CANCEL^M Max-Forwa rds: 70^M Content-Length: 0^M ^M --++-- Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] parse_sip_uri (parse_uri.cpp:314): Converted URI port (5060) to int (5060) Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] received_msg (trans_layer.cpp:734): parse_sip_msg returned 0 Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] match_request (hash_table.cpp:82): Matching CANCEL request Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] match_request (hash_table.cpp:101): do_3261_match = 1 Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] handleSipMsg (SipCtrlInterface.cpp:421): Received new request Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] handleSipMsg (SipCtrlInterface.cpp:424): req.method = <CANCEL> Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] handleSipMsg (SipCtrlInterface.cpp:429): req.r_uri = <sip:[email protected]:5060> Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] handleSipMsg (SipCtrlInterface.cpp:430): req.from_uri = <sip:[email protected]> Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] handleSipMsg (SipCtrlInterface.cpp:431): req.from = <"xxxxxxxxxx" <sip:[email protected]>> Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] handleSipMsg (SipCtrlInterface.cpp:432): req.to = <<sip:[email protected]:5060>> Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] handleSipMsg (SipCtrlInterface.cpp:433): req.callid = <3bf3-544-3220094132-IMG01-0-> Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] handleSipMsg (SipCtrlInterface.cpp:434): req.from_tag = <62251521-co7552-INS001> Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] handleSipMsg (SipCtrlInterface.cpp:435): req.to_tag = <> Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] handleSipMsg (SipCtrlInterface.cpp:436): cseq = <755201> Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] handleSipMsg (SipCtrlInterface.cpp:437): req.serKey = <2FB:08B216A0> Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] handleSipMsg (SipCtrlInterface.cpp:438): req.route = <> Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] handleSipMsg (SipCtrlInterface.cpp:439): req.next_hop = <> Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] handleSipMsg (SipCtrlInterface.cpp:440): hdrs = <Max-Forwards: 70^M > Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] handleSipMsg (SipCtrlInterface.cpp:441): body = <> Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] postEvent (AmEventQueue.cpp:48): AmEventQueue: trying to post event Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] postEvent (AmEventQueue.cpp:56): AmEventQueue: event posted Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b70adba0] run (udp_trsp.cpp:118): before recvmsg (192.168.0.2:5080) Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b6f88ba0] processEvents (AmEventQueue.cpp:69): before processing event Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b6f88ba0] process (AmSession.cpp:496): AmSession::process Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b6f88ba0] process (AmSession.cpp:509): Session received SIP Event Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b6f88ba0] onSipRequest (AmSession.cpp:570): onSipRequest: method = CANCEL Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b6f88ba0] updateStatusReply (AmSipDialog.cpp:133): reply: transaction found! Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b6f88ba0] send (udp_trsp.cpp:244): send msg --++-- SIP/2.0 200 OK^M Via: SIP/2.0/UDP 192.168.0.2;branch=z9hG4bKf333.b53a454.0^M From: "xxxxxxxxxx"<sip:xxxxxxx...@s ip.evolutiontel.net>;tag=62251521-co7552-INS001^M Call-ID: 3bf3-544-3220094132-IMG01-0^M To: <sip:[email protected]:5060>;tag=2F53C888-49D4389D00000C00-B70ADBA0^M CSeq: 755201 CANCEL^M C ontent-Length: 0^M ^M --++-- Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b6f88ba0] reset_timer (sip_trans.cpp:151): New timer of type J at time=3382 Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b6f88ba0] ~sip_msg (sip_parser.cpp:92): ~sip_msg() Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b6f88ba0] onCancel (CallTimer.cpp:261): Wait for leg B to terminate Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b6f88ba0] relayEvent (AmB2BSession.cpp:185): AmB2BSession::relayEvent: id=14029AE1-49D4389D000019CB-B6F88BA0 Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b6f88ba0] postEvent (AmEventQueue.cpp:48): AmEventQueue: trying to post event Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b6f88ba0] postEvent (AmEventQueue.cpp:56): AmEventQueue: event posted Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b6f88ba0] processEvents (AmEventQueue.cpp:71): event processed Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b6f88ba0] run (AmSession.cpp:342): 3bf3-544-3220094132-IMG01-0dlg.getUACTransPending() = 0 Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b6e63ba0] processEvents (AmEventQueue.cpp:69): before processing event Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b6e63ba0] onOtherBye (AmB2BSession.cpp:195): onOtherBye() Apr 2 14:01:37 sip01 sems[32016]: ERROR: [b6e63ba0] cancel (trans_layer.cpp:616): Trying to cancel a non-INVITE request (we SHOULD NOT do that) Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b6e63ba0] processEvents (AmEventQueue.cpp:71): event processed Apr 2 14:01:37 sip01 sems[32016]: DEBUG: [b6e63ba0] run (AmSession.cpp:342): 5a6520a5-49d4389d000019d6-b6f88...@xxx.xxx.xxx.xxxdlg.getuactranspending() = 1 Apr 2 14:01:38 sip01 sems[32016]: DEBUG: [b71aeba0] trans_timer_cb (sip_trans.cpp:122): Transaction timer expired: type=0x6, trans=0x8b22a20, eta=1800, t=1800 Apr 2 14:01:38 sip01 sems[32016]: DEBUG: [b71aeba0] reset_timer (sip_trans.cpp:105): Clearing old timer of type F Apr 2 14:01:38 sip01 sems[32016]: DEBUG: [b71aeba0] reset_all_timers (sip_trans.cpp:170): remove_timer(0x8b22af8) Apr 2 14:01:38 sip01 sems[32016]: DEBUG: [b71aeba0] ~sip_msg (sip_parser.cpp:92): ~sip_msg() Apr 2 14:01:38 sip01 sems[32016]: DEBUG: [b71aeba0] remove_trans (hash_table.cpp:400): ~sip_trans() Apr 2 14:01:38 sip01 sems[32016]: DEBUG: [b71aeba0] ~timer (wheeltimer.cpp:40): timer::~timer(this=0x8b21670) Apr 2 14:01:38 sip01 sems[32016]: DEBUG: [b71aeba0] ~timer (wheeltimer.cpp:40): timer::~timer(this=0x8b22af8) _______________________________________________ Sems mailing list [email protected] http://lists.iptel.org/mailman/listinfo/sems
