Am 30.11.2010 13:04, schrieb Komáromi Péter:
Hi again,
My kamailio 1.5 is working well and I'm able to create the session
between an IPv4 and an IPv6 UA, but there is no RTP session. That's
the point where the rtpproxy comes in. I installed it, and made a
bridging (I hope it is): /usr/local/bin/rtpproxy -F -l
/192.168.124.146 -6 FEC0:0:0:0:0:0:0:2 and started rtpproxy -F start.
But there is no RTP traffic yet.
I start rtpproxy using the startup script. Therefore I modified the
startup script /etc/init.d/rtpproxy (IIRC it is provided with the
rtpproxy source code but must be installed manually):
EXTRA_OPTS="-m 10000 -M 12000 -l 11.136.32.162 -6
/2a02:850:1:1:216:3eff:feef:1ffe"
in this case 11.136.32.162 is the 'i'nternal interface and
2a02:FFFF:1:1:216:3eff:feef:1ffe is the 'e'xternal interface.
In kamailio.cfg you have to make sure that you call force_rtp_proxy()
with proper flags to instruct rtpproxy if you need RTP proxying between
v4-v4, v6-v6, v4-v6 or v6-v4.
The i and e flags is what you need, take a look at the documentation of
http://www.kamailio.org/docs/modules/3.1.x/modules_k/rtpproxy.html#id2581697
(this is for 3.1, but the flags are the same for 1.5, and the 1.5 doc is
not that clear).
Thus, in kamailio.cfg, you have to find out the flow of the INVITE, and
if for example the flow is from an v4 client to an v6 client, then you
have to call (when as above the v4 it the internal interface and the v6
is the external interface): force_rtp_proxy("ie")
For the respective 200 OK response you have to call force_rtp_proxy("ei").
If a call is v4->v4 then you call for requests and responses
force_rtp_proxy("ii"). If a call is v6->v6 then you have to call for
requests and responses force_rtp_proxy("ee")
I read here (
https://www1.ethz.ch/id/people/allid_list/armin/SIP-IPv4-IPv6.pdf ) I
have to make two tables named â01Clocation _inet4â01D and
â01Clocation_inet6â01D instead of the only â01Clocationâ01D. If it's
You can have v4 and v6 clients and the same location table - no problem.
But the thing is that it is difficult to find out if the target will be
v4 or v6. By separating the v4 and v6 users into separate location
tables then you can lookup one or the other and find out if the
registered client was registered by ipv4 or ipv6.
regards
Klaus