[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 06:19:47 CDT 2019


    [ https://issues.asterisk.org/jira/browse/ASTERISK-28406?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=247177#comment-247177 ] 

Joshua C. Colp commented on ASTERISK-28406:
-------------------------------------------

Not particularly, the code may be broken or is triggering in a particular case. Generally though you shouldn't need or use rewrite_contact when a proxy is involved.

> 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: Unassigned
>            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