[Serdev] ipv6 to ipv4 proxying
Bert Vermeulen
bert at biot.com
Wed May 5 00:49:58 UTC 2004
Maxim Sobolev wrote:
> You will have to use nathelper/rtpproxy for this. The latest version
> from the cvs supports so-called "bridge" mode, so that it can act as a
> gateway between two networks. There is even a sample config file
> available modules/nathelper/examples/4to6.cfg for such functionality.
Unfortunately, this requires rtpproxy from CVS, which is broken at the moment.
I've had no luck getting this working.
In any case, I must disagree that this is the way to go. Quite simply SER
supports IPv6 in theory only; actually turning it on breaks all connectivity
to non-IPv6 registered clients. In other words, enabling IPv6 in SER makes it
an IPv6-only SIP proxy.
It seems wrong to have a simple "listen" directive that makes the server
listen on IPv6, yet this breaks everything unless you then also set up:
- an undocumented RTP proxy
- an equally undocumented nathelper module
- two extra tables in the database, created manually
- a bunch of logic in the config file to make it all work together
A client that uses IPv4 to register can be assumed to not support IPv6 at all,
since IPv6-aware clients "prefer" IPv6. Therefore, the SIP proxy that is about
to connect the two together can be sure the call is going to fail. Instead of
relaying the INVITE through as is, knowing that it'll fail eventually,
wouldn't it be more interesting to e.g. at least replace the request's
"IN IP6 <ipv6 address>" with "IN IP4 <resolved hostname>"? This gives the
IPv4-only client at the other end at least a fighting chance to complete the call.
Bert Vermeulen
bert at biot.com
More information about the Serdev
mailing list