Klaus,
Thanks. You're right, I don't think mediaproxy has any such test.
Anyhow, late last night I was discussing this with Zeus Ng and he
shared his code with how he handles this.
Here is verbatim, what he told me. It seems to work, but I hope it
doesn't break anything.
Regards,
Paul
How about something like this.
With the initial INVITE,
... Route processing ...
if (caller is natted) {
subst('/From:(.*)<(.*)>(.*)/From:\1<\2>;nat=yes\3/');
}
call nathelper or mediaproxy
t_on_reply(nat reply route);
t_relay();
In your reply route,
if (callee is natted) {
subst('/From:(.*)<(.*)>(.*)/From:\1<\2>;nat=yes\3/');
call nathelper or mediaproxy
... Other processing ...
In your loose route,
if (loose_route()) {
if (method=="INVITE") {
if (search("my_ser_detect_nat=yes") || (sdp in private address )) {
call nathelper or mediaproxy
}
}
on reply route
t_relay()
}
On Wed, 16 Mar 2005 15:25:35 +0100, Klaus Darilion
<klaus.mailinglists(a)pernau.at> wrote:
Hi Paul!
If you use the nathelper module, you can use force_rtpproxy with the 'l'
parameter. Check nathelper.c for documentation.
I don't know if there is an equivalent feature in the mediaproxy module.
regards,
klaus
Java Rockx wrote:
Hi All.
I'm using ser-0.9.1.
Is there a way to determine if mediaproxy is in use for an existing
SIP call so that re-INVITE messages can avoid losing audio when one or
the other SIP UAs are NATed?
We do not proxy RTP streams unless one or more SIP UAs are NATed. But
on re-INVITE messages I cannot figure out how to test the destination
of the re-INVITE for the UAs NAT status.
I've scoured the archives and found a few related articles
http://lists.iptel.org/pipermail/serdev/2004-March/001515.html
http://lists.iptel.org/pipermail/serusers/2004-March/006806.html
But nothing has led me to a solution. I cannot just use
lookup("location") and test the nat_flag since that won't always work
on re-INVITEs. A mediaproxy function for something like
is_existing_session() would be awesome to lookup the Call-ID in the
existing mediaproxy sessions.
What am I missing?
Regards,
Paul
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers