I've been working on Kamailio websocket integration and I believe I'm having
issues with the IPv6 address representation in the Contact header's alias
parameter. After Googling, it appears after
https://github.com/kamailio/kamailio/commit/814c08f3 the IPv6 contact is
represented in brackets []. However, it when using websockets, and the alias=
parameter uses brackets [] around and IPv6 address, there are message parsing
issues.
With a header such as the following
Contact:
<sip:wstest1@example.com;gr=urn:uuid:26140e27-0ab7-4e65-98e3-3d0909b1434e;alias=[2001:db8:0:1]~48768~6>
Asterisk 13.2.0 will give the following error:
pjsip:0 <?>: sip_transport. Error processing 1855 bytes packet from UDP
10.77.79.3:5060 : PJSIP syntax error exception when parsing 'Request Line'
header on line 12 col 129:
And when sipjs, or jssip are used with either Firefox or Chrome, they send
garbage in the ACK request URI:
Kamailio logs something like the following and the ACK cannot be processed:
WARNING: sanity [sanity.c:236]: check_ruri_scheme(): failed to parse request
uri [�a�{1me▒s�na@50�9���1.�8:�2v0;i��a��=11>7�n7x>10O�2v0~1]
Is it proper to have [] brackets around the IPv6 alias address in the Contact
header? Does the value need to be quoted?
If I force the browser to use IPv4, without changing anything else, both jssip
and sipjs work perfectly in Firefox and Chrome.
--
Anthony -
https://messinet.com/ -
https://messinet.com/~amessina/gallery
8F89 5E72 8DF0 BCF0 10BE 9967 92DC 35DC B001 4A4E