Hello,
On 3/25/13 9:23 AM, Miguel Baptista wrote:
Hello,
I have been doing some tests with kamailio and IPv6.
My initial setup was IPv6 only and now am I extending it to a
dual-stack environment. Well, and now I am starting to face some
(interesting) challenges.
So, the first step in the dual-stack environment was to install RTP
Proxy and configured kamailio to use it. With this setup, the UAs
locally registered were able to communicate with each-other no matter
with address family (IPv4/IPv6) they were using. So far so good.
But now I want to extend my tests a bit more ... I want to communicate
with the "outside world" (using ENUM and domain based SIP URIs). Do I
have a way to know if the "destination" is IPv4 or IPv6? Because I
need that information in order to properly bridge the calls on rtpproxy.
I tried to use the onsend_route but it didn't work. I mean, I am able
to know if the "next-hop" is IPv6 or IPv4 but it seems that it is "too
late" to use rtpproxy. BTW ... I am assuming that if the "next-hop" is
IPv6 then the final user agent will also be IPv6 (the same for IPv4)
Should I use some other approach? For example, failure route instead?
Does anyone have a similiar setup? How are you solving this issue?
I see few
options here:
- use two outbound proxies, one for IPv4 and one for IPv6 -- from your
main proxy you can do parallel forking to the two edge proxies, one of
the branches will fail if no device/server is listening on that protocol
(or it will be dropped in onsend_route if after dns is not the expected
IP version)
- use lua or other embedded language to do dns lookup from config and
decide in branch route what to do. Alternative is to execute external
script or some web service
- export to the config the internal dns lookup function so it will be
done on demand and detect outgoing IP layer version (this requires c
coding, perhaps not much -- preferable solution, because will remove it
from my to-do)
Cheers,
Daniel
--
Daniel-Constantin Mierla -
http://www.asipto.com
http://twitter.com/#!/miconda -
http://www.linkedin.com/in/miconda
Kamailio World Conference, April 16-17, 2013, Berlin
-
http://conference.kamailio.com -