[OpenSIPS-Users] Strange behavior on ipv4 / ipv6 dual stack server with/without mhomed

Daniel Lakeland dlakelan at street-artists.org
Sat Oct 21 03:56:55 EDT 2017


On 10/20/2017 09:49 PM, Daniel Lakeland wrote:
> I have a situation where my "internal" phones can call each other, 
> even when one is registered via ipv4 and one via ipv6 (thanks to some 
> rewriting of the SDP and Asterisk as a media server)
>
> However, when I do the following, I get lines like the following in 
> the syslogs:
>
> Oct 20 20:52:50 orbit2 /usr/sbin/opensips[14070]: 
> ERROR:core:proto_udp_send: 
> sendto(sock,0x7fc96010bb90,455,0,0x7fc9600cb570,16): Network is 
> unreachable(101) [xxx.xxx.xxx.xxx:5070]
> Oct 20 20:52:50 orbit2 /usr/sbin/opensips[14070]: ERROR:tm:msg_send: 
> send() to xxx.xxx.xxx.xxx:5070 for proto udp/1 failed 
...

Ok, it was a long night, it's almost 1am here, but I have figured this 
out. I was creating my dialog with

create_dialog("pPB")

what was happening is that the pinger was trying to ping both an IPv6 
address, and an IPv4 address... and probably reusing a socket where it 
wasn't able to ping the ipv4 address... so it timed out and killed the 
call from the middle right at 30 or so seconds.

By creating my dialog as

create_dialog()

without the pinging... the call continues just fine.

It seems that this "bug" is triggered where I have an outgoing call that 
forwards to asterisk, asterisk then starts a new call by contacting the 
proxy at its IPv6 address... and the proxy then needs to ping both ipv4 
and ipv6 addresses.

the pinger should somehow decide which socket to ping over based on the 
address family it needs to ping...





More information about the Users mailing list