[asterisk-bugs] [JIRA] (ASTERISK-25387) res_pjsip_nat: Malformed REGISTER request causes NAT'd Contact header to not be rewritten

Asterisk Team (JIRA) noreply at issues.asterisk.org
Wed Jul 27 10:20:12 CDT 2016


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

Asterisk Team updated ASTERISK-25387:
-------------------------------------

    Target Release Version/s: 14.0.0

> res_pjsip_nat: Malformed REGISTER request causes NAT'd Contact header to not be rewritten
> -----------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-25387
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-25387
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Resources/res_pjsip_nat
>    Affects Versions: 13.5.0
>            Reporter: Matt Jordan
>            Assignee: Matt Jordan
>            Severity: Minor
>      Target Release: 13.6.0, 14.0.0
>
>
> Consider the following REGISTER request:
> {code}
> <--- Received SIP request (699 bytes) from UDP:127.0.0.1:5060 --->
> REGISTER sip:127.0.0.1:5061 SIP/2.0
> Record-Route: <sip:127.0.0.1;lr>
> Via: SIP/2.0/UDP 127.0.0.1;branch=z9hG4bK007b.2356f13f445725767aee5ecd1028fc69.0
> Via: SIP/2.0/UDP 127.0.0.1:5070;received=127.0.0.1;rport=5070;branch=z9hG4bKPj454b6886-a832-48b2-aae1-694be8ccbf5b
> Route: <sip:127.0.0.1:5060;lr>
> From: <sip:foo at 127.0.0.1>;tag=8e2a25cb-8999-4397-9bb4-d204622ba14f
> To: <sip:foo at 127.0.0.1>
> Call-ID: 1ba5c0a5-4bb4-4d76-a0d1-416f0cae63ba
> CSeq: 59033 REGISTER
> Contact: <sip:foo at 127.0.0.1:5070>
> Expires: 3600
> Allow: OPTIONS, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REGISTER, REFER
> Max-Forwards: 69
> User-Agent: bar
> Content-Length:  0
> {code}
> For some sad reason, this REGISTER request contains a Record-Route header, which it clearly shouldn't:
> {quote}
>    A REGISTER request does not establish a dialog.  A UAC MAY include a
>    Route header field in a REGISTER request based on a pre-existing
>    route set as described in Section 8.1.  The Record-Route header field
>    has no meaning in REGISTER requests or responses, and MUST be ignored
>    if present.  In particular, the UAC MUST NOT create a new route set
>    based on the presence or absence of a Record-Route header field in
>    any response to a REGISTER request.
> {quote}
> Unfortunately, we don't ignore the Record-Route header in {{res_pjsip_nat}} if the request is a REGISTER request. As a result, this REGISTER request will cause the Contact to stay at {{127.0.0.1:5070}} instead of being rewritten to the received IP/port of {{127.0.0.1:5060}}.



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



More information about the asterisk-bugs mailing list