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@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@quydang.htk.cvoice>;tag=04K2SappeyDtj
To: <sip:100@quydang.htk.cvoice>
Call-ID: 19fa9228-ef95-11e6-b473-1f645951fd7b
CSeq: 103030653 INVITE
Contact: <sip:mod_sofia@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@quydang.htk.cvoice
X-KAZOO-PUSHER-Token-Proxy: sip:192.168.1.77:5060
X-KAZOO-PUSHER-Token-ID: 803F0D6610AC5979C6F0513A3A4BE62E0BAF1530DC7A98C2C0DC13D784585FBE
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@quydang.htk.cvoice>;party=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@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@quydang.htk.cvoice>;tag=04K2SappeyDtj
To: <sip:100@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