14 apr 2011 kl. 09.48 skrev Klaus Darilion:
Am 13.04.2011 15:55, schrieb Daniel-Constantin Mierla:
If does not work with one instance, I would use
branch flags to mark the
branch doing ipv4 to ipv6 translation and engage a dedicated rtpproxy
for it. You can run two rtpproxy-es on the same server, in different sets:
http://kamailio.org/docs/modules/stable/modules_k/rtpproxy.html#id3012059
http://kamailio.org/docs/modules/stable/modules_k/rtpproxy.html#id3009496
So the branch doing ipv4-ipv6 will have a flag set and use a particular
rtpproxy. On the 200ok, you can check the branch flag and engage again
the proper rtpproxy.
That's a nice idea. Some time ago I tried the same setup and failed. Are
there some easy methods to find out if a target is IPv4 or IPv6, e.g.
something like
if ( is_ipv6("$rd") ) {
...
}
Now you have opened a can of worms. Let me start :-)
If I have a dual stack UA and registers with an IPv4 address - how do you know that
I'm dual stack? I really don't need an RTP proxy.
The IETF thinks we should use SIP outbound and register twice. Kamailio doesn't
support this as far as I remember and won't see that we have two locations for the
very same UA.
Now, if you have a URI like "sip:board@kamailio.org" and that URI's domain
has two priority levels of SRV records. The first level is only IPv4 and the second level
includes IPv6 to indicate a preference to receive calls in IPv4 and an ability to receive
them in IPv6 if that's preferred by the caller. Would Kamailio understand this?
There is work to be done here.
/O