[asterisk-users] pjsip multiple transports for one endpoint (dual stack) ipv6

Joshua Colp jcolp at digium.com
Sat Nov 25 13:41:49 CST 2017


On Sat, Nov 25, 2017, at 03:38 PM, Benoit Panizzon wrote:
> Hi List
> 
> I have stumbled over the next question google didn't answer.
> 
> I have a dual-stack environment, ipv6 and ipv4.
> 
> With chan_sip asterisk was listening on ipv6 and ipv4 simultaneously.
> 
> I did try to define to have pjsip listen to the ipv6 address including
> ipv6 mapped ipv4 addresses:
> 
> [transport-udp]
> type=transport
> protocol=udp
> bind=[::]:5061
> 
> Google told me, pjsip is not able to parse the ipv6 mapped ipv6
> address, you have to listen to ipv4 separately.
> 
> So next try:
> 
> [transport-udp]
> type=transport
> protocol=udp
> bind=[::]:5061
> bind=0.0.0.0:5061
> 
> Well, this also does not work, only one address family is being bound.
> 
> [transport-udp]
> type=transport
> protocol=udp
> bind=0.0.0.0:5061
> 
> [transport-udp6]
> type=transport
> protocol=udp
> bind=[::]:5061
> 
> [phone]
> type=endpoint
> transport=transport-udp
> transport=transport-udp6
> 
> Well, this sort of works, the phone is able to register, but qualify
> does not work, as it seems to always try to use the 2nd transport
> definition.
> 
> So how the heck do you define a endpoint listening to both ip versions
> if you don't know if your roaming phone is going to connect from a ipv6
> enable VoLTE Network without NAT problems, or is going to use the old
> legacy ipv4 protocol? :-)

Don't specify a transport on the endpoint. Transport selection will
automatically choose the right one in this scenario. The "transport"
option only allows a single transport and it is for forcing a transport
to always be used regardless.

-- 
Joshua Colp
Digium, Inc. | Senior Software Developer
445 Jan Davis Drive NW - Huntsville, AL 35806 - US
Check us out at: www.digium.com & www.asterisk.org



More information about the asterisk-users mailing list