[asterisk-bugs] [JIRA] (ASTERISK-28406) PJSIP compose invalid request-URI in ACK for re-INVITE

Joshua C. Colp (JIRA) noreply at issues.asterisk.org
Thu May 16 04:32:47 CDT 2019


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

Joshua C. Colp updated ASTERISK-28406:
--------------------------------------

    Assignee: Dang Thanh Loi  (was: Unassigned)
      Status: Waiting for Feedback  (was: Triage)

You have set "rewrite_contact" to "yes" for kamailio which is incorrect. This must be set to "no", otherwise the contact URI and the stored request URI will be modified and be incorrect.

If you set it to "no" does the behavior change?

> PJSIP compose invalid request-URI in ACK for re-INVITE 
> -------------------------------------------------------
>
>                 Key: ASTERISK-28406
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-28406
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: pjproject/pjsip
>    Affects Versions: 15.7.2
>            Reporter: Dang Thanh Loi
>            Assignee: Dang Thanh Loi
>            Severity: Minor
>              Labels: pjsip
>         Attachments: pjsip.conf, verbose.0
>
>
> I'm working with `moh_passthrough = yes` for asterisk lies between an UA and a Proxy loose routing.
> The call flow
> UA1 (linphone) <-> Asterisk <-> Proxy (kamailio) <-> UA2
> and things go wrong for the call between Asterisk and UA2 (via Proxy) when receive re-INVITE hold from UA1
> Asterisk supposes to place the UA2's Contact in the R-URI header for subsequent in-dialog requests sent to the proxy. Asterisk does well for the ACK corresponding to the initial INVITE, but for subsequent re-INVITEs (and their ACKs), Asterisk placed the Proxy's Contact into the R-URI which make them not routable.
> Edit:
> I have this simple dialplan for briding call from my client linphone to my UA2 server via Asterisk PJSIP and kamailio Proxy in between
> [outgoing]
> exten => _X.,1,Dial(PJSIP/950 at kamailio,,m(ringing)S(86400))
> UA1 (linphone) <-> Asterisk <-> Proxy (kamailio) <-> UA2
> 192.168.1.50:6004 <-> 192.168.1.235:5060 <-> 192.168.1.229:5060 <-> 192.168.1.231:5070
> The R-URI for re-INVITE from Asterisk to kamailio Proxy (when proxy the re-INVITE hold from the client with the effect of moh_passthrough option) supposes to contain the UA2's Contact, i.e: 192.168.1.231:5070, but asterisk pjsip filled it with the proxy's contact instead (192.168.1.229:5060).
> [May 13 10:47:00] VERBOSE[172904] res_pjsip_logger.c: <--- Transmitting SIP request (487 bytes) to UDP:192.168.1.229:5060 --->
> ACK sip:950 at 192.168.1.229:5060 SIP/2.0
> Route: <sip:192.168.1.229:5060;lr;ftag=5343c5e5-141a-4e3c-85c3-5785ac2c2509;did=a88.ddf1>
> A note that the ACK for the initial INVITE and the very first re-INVITE from asterisk were still valid with the UA2's Contact as the R-URI, the later re-INVITE and ACK are invalid, please check my  attached SIP log



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



More information about the asterisk-bugs mailing list