< Previous by Date Date Index Next by Date >
  Thread Index  

[reSIProcate] V4 and V6 transports in the same resip app


If an application wants to add both a V4 and V6 transport in order to
support dual stack machines. e.g.

SipStack stack;
stack.addTransport(UDP, 5060, V4);
stack.addTransport(UDP, 5060, V6);

The default behavior will be to bind to all interfaces. In the case of
V4 using INADDR_ANY and in the case of V6 using in6addr_any.

In Linux, after binding to INADDR_ANY, the call to bind to all V6
interfaces fails with EINVAL (socket is already bound to an address).
It seems to me that the V4 interfaces should be completely independent
from the V6 interfaces and that binding to "all" is V4 or V6 specific.
Apparently, the behavior on MAC is different. Which is correct?

Perhaps this question needs to be taken to some v6 list. Any ideas? 

Thanks,
Jason