Hi there!
I'm pretty new to IPv4/IPv6 bridging of RTP communication using Kamailio.
...
Is something like this this posssibe ?
[rtpengine]
interface=10.0.0.8
interface=[fd12:3456:789a::2]
...
listen-ng=0.0.0.0:22222
listen-ng=[::]:22222 <---- rtpengine only seems to work on one or the other, in this case IPv6 was the last listen-ng parameter so it seems to ignore the first one. Do we only need one listen-ng?
...
modparam("rtpengine", "rtpengine_sock", "udp:10.0.0.8:22222") <--- should we have multiple rtpengine_sock params here one for IPv4 and one for IPv6?
# If the source IP is IPv6, apply specific RTPengine directives
if(is_ipv6($si)) {
xlog("L_INFO", "This INVITE is from an IPv6 source. Engaging RTPengine for SDP rewriting.\n");
rtpengine_manage("replace-origin replace-session-connection ICE=remove RTP/AVP"); <---- over here I want the SDP to use IPv4 address of the rtpengine if it is an IPv6 INVITE
} else {
# For IPv4 INVITES or other scenarios
xlog("L_INFO", "This INVITE is from an IPv4 source. Engaging RTPengine.\n");
rtpengine_manage();
}
You don't need to tell rtpengine what protocol the source is using – it already knows this from what's in the SDP. But you need to tell rtpengine the destination: based on where the invite is going, and what protocol the destination is using. You can do this with address-family=IP4 or ...=IP6.
If you're feeling fancy, it's worth distinguishing between offers and answers (i.e use rtpengine_offer() and _answer() instead of _manage()) as generally in the answer (and also re-invites) you can omit most of the options since rtpengine already knows which protocols etc the client in question supports.
Cheers
--
You received this message because you are subscribed to the Google Groups "rtpengine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rtpengine+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rtpengine/6352245b-0e1b-4d5a-af42-ec571ce96492%40sipwise.com.