[Home]

Summary:ASTERISK-26256: [patch] SIP/SDP origin (o=) contains brackets with IP6
Reporter:Alexander Traud (traud)Labels:
Date Opened:2016-08-02 03:09:44Date Closed:2016-08-02 15:15:05
Priority:MinorRegression?
Status:Closed/CompleteComponents:Resources/res_pjsip
Versions:13.10.0 Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) IP6_origin_without_brackets.patch
Description:With the SIP channel driver _chan_pjsip_, an SDP message contains brackets when IPv6 is used as transport. This is rejected by several VoIP clients and no call can be established. The SIP channel driver _chan_sip_ does not face this issue.

*Steps to reproduce*
# Asterisk chan_pjsip enabled for IPv6 (compiled, configured)
# Asterisk pjsip.conf: Endpoint’s media_address is empty (default)
# Linphone iOS » Options » Settings » Network » Allow IPv6
# Linphone iOS calls an internal extension, for example the Echo Test

*Expected results*
In SDP origin (o=), Asterisk answers the SIP-INVITE with an IP6 address without brackets, because of [RFC 2327|https://tools.ietf.org/html/rfc3266#section-4]. That is the same behavior as _chan_sip_. The original PJSIP does not send brackets natively either: [IPv6 Address Representation in PJSIP…|https://trac.pjsip.org/repos/wiki/IPv6]

*Actual results*
In SDP origin (o=), Asterisk answers the SIP-INVITE with an IP6 address with square brackets.

*Notes*
Although RFC 3266 is obsolete, I have one SIP/SDP/IP6 implementation which conforms to that because it was released before [RFC 4566|https://tools.ietf.org/html/rfc4566#section-5.2] (June 2006). Go figure! Even in in RFC 4566, I am not aware of a statement which allows brackets in unicast-addresses. Although VoIP/SIP clients should accept brackets in the o= and c= lines anyway, Linphone (tested: 3.13.9 for Apple iOS) and Nokia Mobile Phones with Symbian (tested: [Nokia S60 3rd Edition|http://www.gsmarena.com/nokia_e61-1322.php] from 2006 and [Nokia Belle Feature Pack 2|http://www.gsmarena.com/nokia_700-4021.php] from 2012) do not. Those clients are not able to establish a call because of brackets in the o= line.

This issue was present since the introduction of chan_pjsip. One workaround is to specify ‘media_address’ with the [FQDN|https://en.wikipedia.org/wiki/Fully_qualified_domain_name] for each endpoint in _pjsip.conf_.
Comments: