[SR-Users] [SIP Transaction] Handle Cancel message

Hai Bui Duc Ha hai.bui at htklabs.com
Fri Mar 10 04:49:57 CET 2017


Hi Daniel,

I send you 2 files pcap, capture on server side.
+ Server: 192.168.1.77
+ Client: 192.168.1.134
+ Scenario:
   User 102 call to ring group 777 - has user 100 (192.168.1.134) and user
101 (192.168.1.164).
   User 100 is offline but it's configured push notification from Apple to
wake up, register and receive INVITE.
   I pick up phone on 101 but 100 can not receive the CANCEL message to
stop the ringing tone.

1) Pusher_ok.pcap: User 100 can revice the CANCEL message.
2) Pusher_failed.pcap: As I told above, when user 101 pick up the phone,
Freeswitch send CANCEL message to user 100. But when message go to
Kamailio, Kamailio reply 481 - Call leg/transaction does not exist. (I
can't capture this packets).
I also include the log on Freeswitch send CANCEL message and revice the 481.

 Kamailio doesn't send 481 from the C code in the case of call, it either
receives it or it is something in config.
=> This is configure on kamailio: default.cfg, it check *t_check_trans()*
=======================================================
*route[PREPARE_INITIAL_REQUESTS]*
*{*
*    if (is_method("CANCEL")) {*
*        if (t_check_trans()) {*
*            route(RELAY);*
*        } else {*
*            sl_send_reply("481", "Call leg/transaction does not exist");*
*        }*
*        exit();*
=======================================================

Thank for your support !

Regards,
Hai Bui

On Thu, Mar 9, 2017 at 8:27 PM, Daniel-Constantin Mierla <miconda at gmail.com>
wrote:

> Hello,
>
> can you provide pcap (or full ngrep output) for all messages of such a
> call, from initial invite, including all responses and the other requests?
> The sip trace has to be taken on kamailio server.
>
> Kamailio doesn't send 481 from the C code in the case of call, it either
> receives it or it is something in config.
>
> Cheers,
> Daniel
>
> On 09/03/2017 06:59, Hai Bui Duc Ha wrote:
>
> Hi all,
>
> I have problem when use module pusher on Kazoo.
> The user after receive call from pusher can not receive the Cancel message
> if have another people pick up this phone.
> I trace log and debug on Kamailio and see the Freeswitch sent Cancel
> message but Kamailio reply 481 - Call leg/transaction does not exist.
>
> The configure on Kamailio: default.cfg
> =======================================================
> *route[PREPARE_INITIAL_REQUESTS]*
> *{*
> *    if (is_method("CANCEL")) {*
> *        if(t_lookup_cancel()) xlog("L_INFO","$ci|log|========
> t_lookup_cancel()");*
> *        xlog("L_INFO","$rm from $fu (IP:$si:$sp) ---CAPTURED IN
> MAIN---\n");*
> *        if (t_check_trans()) {*
> *            xlog("L_INFO","$rm from $fu (IP:$si:$sp) ---CHECK TRANS
> TRUE---\n");*
> *            //xlog("L_INFO",
> "$ci|log|====================================");*
> *            route(RELAY);*
> *        } else {*
> *            xlog("L_INFO","$rm from $fu (IP:$si:$sp) ---CHECK TRANS
> FALSE---\n");*
> *            sl_send_reply("481", "Call leg/transaction does not exist");*
> *        }*
> *        exit();*
> *    } else if (is_method("ACK")) {*
> *        if (t_check_trans()) {*
> *            route(RELAY);*
> *        }*
> *        exit();*
> *    }*
> =======================================================
>
> As I read on http://kamailio.org/docs/modules/4.3.x/modules/tm.html#tm
> .f.t_check_trans
> Kamailio see the cancel message not same the transaction INVITE message.
>
> INVITE message:
> ------------------------------------------------------------------------
> INVITE sip:100 at quydang.htk.cvoice SIP/2.0
> Via: SIP/2.0/UDP 192.168.1.77:11000;rport;branch=z9hG4bKK9jyp8mXUZHgS
> Route: <sip:192.168.1.77:5060>
> Max-Forwards: 49
> From: "02 quy" <sip:102 at quydang.htk.cvoice>;tag=04K2SappeyDtj
> To: <sip:100 at quydang.htk.cvoice>
> Call-ID: 19fa9228-ef95-11e6-b473-1f645951fd7b
> CSeq: 103030653 INVITE
> Contact: <sip:mod_sofia at 192.168.1.77:11000>
> User-Agent: Anttel
> Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER,
> REFER, NOTIFY, PUBLISH, SUBSCRIBE
> Supported: path, replaces
> Allow-Events: talk, hold, conference, presence, as-feature-event, dialog,
> line-seize, call-info, sla, include-session-description, presence.winfo,
> message-summary, refer
> Content-Type: application/sdp
> Content-Disposition: session
> Content-Length: 247
> X-AUTH-IP: 192.168.1.141
> X-AUTH-PORT: 64799
> X-KAZOO-AOR: sip:100 at quydang.htk.cvoice
> X-KAZOO-PUSHER-Token-Proxy: sip:192.168.1.77:5060
> X-KAZOO-PUSHER-Token-ID: 803F0D6610AC5979C6F0513A3A4BE6
> 2E0BAF1530DC7A98C2C0DC13D784585FBE
> X-KAZOO-PUSHER-Token-Type: apple
> X-KAZOO-PUSHER-Token-App: com.htkinc
> X-FS-Support: update_display,send_info
> Remote-Party-ID: "02 quy" <sip:102 at quydang.htk.cvoice>;p
> arty=calling;screen=yes;privacy=off
>
> v=0
> o=FreeSWITCH 1486708670 1486708671 IN IP4 192.168.1.77
> s=FreeSWITCH
> c=IN IP4 192.168.1.77
> t=0 0
> m=audio 24764 RTP/AVP 0 8 101 13
> a=rtpmap:0 PCMU/8000
> a=rtpmap:8 PCMA/8000
> a=rtpmap:101 telephone-event/8000
> a=fmtp:101 0-16
> a=ptime:20
> ------------------------------------------------------------------------
>
> CANCEL message:
> ------------------------------------------------------------------------
> CANCEL sip:100 at quydang.htk.cvoice SIP/2.0
> Via: SIP/2.0/UDP 192.168.1.77:11000;rport;branch=z9hG4bKK9jyp8mXUZHgS
> Route: <sip:192.168.1.77:5060>
> Max-Forwards: 49
> From: "02 quy" <sip:102 at quydang.htk.cvoice>;tag=04K2SappeyDtj
> To: <sip:100 at quydang.htk.cvoice>
> Call-ID: 19fa9228-ef95-11e6-b473-1f645951fd7b
> CSeq: 103030653 CANCEL
> Reason: SIP;cause=200;text="Call completed elsewhere"
> Content-Length: 0
> ------------------------------------------------------------------------
>
> How can I know it same transaction ? We have any idea to solve this
> problem ?
> Thank for advice !
>
> Regards,
> Hai Bui
>
> --
> Hai Bui
> VoIP engineer, Cvoice team, HTK-HCM Office
> Mobile: +84-165-618-9876
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing listsr-users at lists.sip-router.orghttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>
> --
> Daniel-Constantin Mierlawww.twitter.com/miconda -- www.linkedin.com/in/miconda
> Kamailio Advanced Training - Mar 6-8 (Europe) and Mar 20-22 (USA) - www.asipto.com
> Kamailio World Conference - May 8-10, 2017 - www.kamailioworld.com
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>


-- 
Hai Bui
VoIP engineer, Cvoice team, HTK-HCM Office
Mobile: +84-165-618-9876
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20170310/3da0b957/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Freeswitch.log
Type: application/octet-stream
Size: 10135 bytes
Desc: not available
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20170310/3da0b957/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Pusher_failed.pcap
Type: application/octet-stream
Size: 4953 bytes
Desc: not available
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20170310/3da0b957/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Pusher_ok.pcap
Type: application/octet-stream
Size: 7452 bytes
Desc: not available
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20170310/3da0b957/attachment-0002.obj>


More information about the sr-users mailing list