[asterisk-bugs] [JIRA] (ASTERISK-24846) Cancel Request Broken in chan_pjsip where is used on Trunk with TCP transport

Javier Riveros (JIRA) noreply at issues.asterisk.org
Wed Mar 4 14:17:35 CST 2015


     [ https://issues.asterisk.org/jira/browse/ASTERISK-24846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Javier Riveros  updated ASTERISK-24846:
---------------------------------------

    Description: 
When asterisk request a CANCEL on a trunk it use different origin port used on INVITE it cause the trunk endpoint dont hangup the call because transaction doesn't exist.

{code}
- INVITE Generate by asterisk
T 172.31.22.69:"56625" -> 172.31.16.57:5060 [A]
INVITE sip:pbx.rarevase.com;transport=tcp SIP/2.0.
Via: SIP/2.0/TCP 172.31.22.69:56625;rport;branch=z9hG4bKPj70f06330-08c0-48ae-8588-c3ab27839c68;alias.
From: 'javier' <sip:javier at 172.31.22.69>;tag=a15f98b6-5f03-4b55-84f1-5f677759711a.
To: <sip:c4e1a3 at pbx.rarevase.com>.
Contact: <sip:425b1b25-1ed5-49d6-a561-52ed63c566dd at 172.31.22.69:56625>.
Call-ID: 2aae6f80-f2c5-4c9b-94a0-37cfe99d2485.

-CANCEL Send by asterisk

###
T 172.31.22.69:"51875" -> 172.31.16.57:5060 [AP]
CANCEL sip:pbx.rarevase.com;transport=tcp SIP/2.0.
Via: SIP/2.0/TCP 172.31.22.69:51875;rport;branch=z9hG4bKPj70f06330-08c0-48ae-8588-c3ab27839c68;alias.
From: 'javier' <sip:javier at 172.31.22.69>;tag=a15f98b6-5f03-4b55-84f1-5f677759711a.
To: <sip:c4e1a3 at pbx.rarevase.com>.
Call-ID: 2aae6f80-f2c5-4c9b-94a0-37cfe99d2485.

-- Response from the gateway trunk

T 172.31.16.57:5060 -> 172.31.22.69:"51875" [AP]
SIP/2.0 481 Call/Transaction Does Not Exist.
Via: SIP/2.0/TCP 172.31.22.69:51875;rport=51875;received=172.31.22.69;branch=z9hG4bKPj70f06330-08c0-48ae-8588-c3ab27839c68;alias.
From: 'javier' <sip:javier at 172.31.22.69>;tag=a15f98b6-5f03-4b55-84f1-5f677759711a.
To: <sip:c4e1a3 at pbx.rarevase.com>;tag=awAdaH.
Call-ID: 2aae6f80-f2c5-4c9b-94a0-37cfe99d2485.

{code} 

If you see you can check that Call-ID is the same for all outbound transaction but the origin port on asterisk site is {{51875}} used for CANCEL is different it was using initially on INVITE {{56625}} so this causes that GATEWAY doesn't hangup the call in the other party.

To reproduce this use a trunk using TCP transport  on chan_pjsip.

i attached the full asterisk debug, sip_capture and pjsip.conf config. 



  was:
When asterisk request a CANCEL on a trunk it use different origin port used on INVITE it cause the trunk endpoint dont hangup the call because transaction doesn't exist.

{code}
- INVITE Generate by asterisk
T 172.31.22.69:"56625" -> 172.31.16.57:5060 [A]
INVITE sip:pbx.rarevase.com;transport=tcp SIP/2.0.
Via: SIP/2.0/TCP 172.31.22.69:56625;rport;branch=z9hG4bKPj70f06330-08c0-48ae-8588-c3ab27839c68;alias.
From: 'javier' <sip:javier at 172.31.22.69>;tag=a15f98b6-5f03-4b55-84f1-5f677759711a.
To: <sip:c4e1a3 at pbx.rarevase.com>.
Contact: <sip:425b1b25-1ed5-49d6-a561-52ed63c566dd at 172.31.22.69:56625>.
Call-ID: 2aae6f80-f2c5-4c9b-94a0-37cfe99d2485.

-CANCEL Send by asterisk

###
T 172.31.22.69:"51875" -> 172.31.16.57:5060 [AP]
CANCEL sip:pbx.rarevase.com;transport=tcp SIP/2.0.
Via: SIP/2.0/TCP 172.31.22.69:51875;rport;branch=z9hG4bKPj70f06330-08c0-48ae-8588-c3ab27839c68;alias.
From: 'javier' <sip:javier at 172.31.22.69>;tag=a15f98b6-5f03-4b55-84f1-5f677759711a.
To: <sip:c4e1a3 at pbx.rarevase.com>.
Call-ID: 2aae6f80-f2c5-4c9b-94a0-37cfe99d2485.

-- Response from the gateway trunk

T 172.31.16.57:5060 -> 172.31.22.69:51875 [AP]
SIP/2.0 481 Call/Transaction Does Not Exist.
Via: SIP/2.0/TCP 172.31.22.69:51875;rport=51875;received=172.31.22.69;branch=z9hG4bKPj70f06330-08c0-48ae-8588-c3ab27839c68;alias.
From: "javier" <sip:javier at 172.31.22.69>;tag=a15f98b6-5f03-4b55-84f1-5f677759711a.
To: <sip:c4e1a3 at pbx.rarevase.com>;tag=awAdaH.
Call-ID: 2aae6f80-f2c5-4c9b-94a0-37cfe99d2485.

{code} 

If you see you can check that Call-ID is the same for all outbound transaction but the origin port on asterisk site is {{51875}} used for CANCEL is different it was using initially on INVITE {{56625}} so this causes that GATEWAY doesn't hangup the call in the other party.

To reproduce this use a trunk using TCP transport  on chan_pjsip.

i attached the full asterisk debug, sip_capture and pjsip.conf config. 




> Cancel Request Broken in chan_pjsip where is used on Trunk with  TCP transport
> ------------------------------------------------------------------------------
>
>                 Key: ASTERISK-24846
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-24846
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Channels/chan_pjsip
>    Affects Versions: 12.8.1, 13.2.0
>         Environment: Asterisk 13.2
> OS : Ubuntu 14.04
> Standart softphone or WebrRTC Softphone
>            Reporter: Javier Riveros 
>         Attachments: Full_Ast_Debug_Cancel_TCP_trunk_pjsip, pjsip.conf.txt, Sip_capture_cancel.txt
>
>
> When asterisk request a CANCEL on a trunk it use different origin port used on INVITE it cause the trunk endpoint dont hangup the call because transaction doesn't exist.
> {code}
> - INVITE Generate by asterisk
> T 172.31.22.69:"56625" -> 172.31.16.57:5060 [A]
> INVITE sip:pbx.rarevase.com;transport=tcp SIP/2.0.
> Via: SIP/2.0/TCP 172.31.22.69:56625;rport;branch=z9hG4bKPj70f06330-08c0-48ae-8588-c3ab27839c68;alias.
> From: 'javier' <sip:javier at 172.31.22.69>;tag=a15f98b6-5f03-4b55-84f1-5f677759711a.
> To: <sip:c4e1a3 at pbx.rarevase.com>.
> Contact: <sip:425b1b25-1ed5-49d6-a561-52ed63c566dd at 172.31.22.69:56625>.
> Call-ID: 2aae6f80-f2c5-4c9b-94a0-37cfe99d2485.
> -CANCEL Send by asterisk
> ###
> T 172.31.22.69:"51875" -> 172.31.16.57:5060 [AP]
> CANCEL sip:pbx.rarevase.com;transport=tcp SIP/2.0.
> Via: SIP/2.0/TCP 172.31.22.69:51875;rport;branch=z9hG4bKPj70f06330-08c0-48ae-8588-c3ab27839c68;alias.
> From: 'javier' <sip:javier at 172.31.22.69>;tag=a15f98b6-5f03-4b55-84f1-5f677759711a.
> To: <sip:c4e1a3 at pbx.rarevase.com>.
> Call-ID: 2aae6f80-f2c5-4c9b-94a0-37cfe99d2485.
> -- Response from the gateway trunk
> T 172.31.16.57:5060 -> 172.31.22.69:"51875" [AP]
> SIP/2.0 481 Call/Transaction Does Not Exist.
> Via: SIP/2.0/TCP 172.31.22.69:51875;rport=51875;received=172.31.22.69;branch=z9hG4bKPj70f06330-08c0-48ae-8588-c3ab27839c68;alias.
> From: 'javier' <sip:javier at 172.31.22.69>;tag=a15f98b6-5f03-4b55-84f1-5f677759711a.
> To: <sip:c4e1a3 at pbx.rarevase.com>;tag=awAdaH.
> Call-ID: 2aae6f80-f2c5-4c9b-94a0-37cfe99d2485.
> {code} 
> If you see you can check that Call-ID is the same for all outbound transaction but the origin port on asterisk site is {{51875}} used for CANCEL is different it was using initially on INVITE {{56625}} so this causes that GATEWAY doesn't hangup the call in the other party.
> To reproduce this use a trunk using TCP transport  on chan_pjsip.
> i attached the full asterisk debug, sip_capture and pjsip.conf config. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list