Hi,
I'm currently trying to setup a SER with rtpproxy as a full SIP router
with IPv4 and IPv6 clients. After some hours of work I think I've
understood the basics and I've hit my first problem.
According to the examples floating around (and also according to my own
tests) you need to give force_rtp_proxy different arguments depending on
the AFI of both sides of the RTP stream.
IPv4 -> IPv4 force_rtp_proxy("FAII") (or omit for direct media)
IPv4 -> IPv6 force_rtp_proxy("FAIE")
IPv6 -> IPv4 force_rtp_proxy("FAEI")
IPv6 -> IPv6 force_rtp_proxy("FAEE") (or omit for direct media)
while it is pretty easy to tell the AFI of the caller with
if (af == inet6)
as written in the examples, it seems to be impossible to tell the AFI of
the called side in the route block (since DNS lookups appear to be done
after t_relay(), and there might even be a fallback, haven't tested
that). In static configurations you might be able to create a list of
v4/v6 peers, but with ENUM or similar games you're seriously screwed.
Anyone having an idea how to solve that?
Thanks
Bernhard
Show replies by date