Hello all.
We are facing some problems in our deployment of OpenSER, related to NAT
Traversal solution using MediaProxy.
In our scenario, using the the sample configuration NAT detection works
right for REGISTER method, and for INVITE's sent from clients behind NAT,
but, incoming calls originated from transparent clients, directed to clients
behind NAT do not work, and do not pass through MediaProxy. Services based
on re-INVITES do not work either.
To solve that issue, we tried to intercept the 200 OK answer coming from NAT
client, so that we could call use_media_proxy(), but, we get the error:
"Empty Response from media_proxy()"
Our configuration is more or less like this:
# In the beginning of the main route
if(client_nat_test("7"))
{
setflag(2);
fix_contact();
};
.....
if(is_method("INVITE"))
{
if(isflagset(2))
{
use_media_proxy();
};
t_on_reply("1");
}
....
on_reply_route[1]
{
if (status =~ "(18[0-3])|(2[0-9][0-9])|(1[0-9][0-9])")
{
if (client_nat_test("3"))
{
fix_contact();
use_media_proxy();
}
}
}
That is a very brief configuration fragment, but it is more or less the
schema of configuration we are using. So far, our solution to be able to
have the whole services working is marking all the calls so that they pass
through the mediaproxy, but we are not sure if that is a good solution.
Thanks in advance for every hint or suggestion.
Kind regards
*Sergio Armando Gutiérrez Betancur*
*S**ubdirección **A**plicaciones **de **S**ervicios **C**onvergentes**
UNE - EPM Telecomunicaciones
* *Tel: 054 3802956*
*Email: saguti(a)gmail.com*