modparam("usrloc", "nat_bflag", 6) # or any other free flag
...
if(lookup("location")) {
  if(isbflagset(6)) {
    # use mediaproxy if not already done
    # (make sure to not call it twice)

  }
  ...
}

Sergio Gutierrez wrote:

Hi Andreas.

Thanks for your answer. I that case, as you say, how should I setup the configuration?

After doing lookup("location"), how could I check nat-flag?

Thanks a lot.
/
Sergio Armando Gutiérrez Betancur/
/S//ubdirección //A//plicaciones //de //S//ervicios //C//onvergentes// EPM TUNE /
/Tel: 054 3802956/
/Email: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>/
/
/



On 8/8/07, *Andreas Granig* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    Hi,

    Maybe the request of this reply hasn't been passed to mediaproxy? If the
    callee is registered from behind NAT, you know that already in the
    request because the nat-flag should have been set during registration.
    So after lookup("location") the nat-flag should be set, and if so, you
    have to use_media_proxy() also for the request.

    Andreas

    Sergio Gutierrez wrote:
     > 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: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> <mailto:
    [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>/
     >
     >
     >
     >
     >
     >
    ------------------------------------------------------------------------
     >
     > _______________________________________________
     > Users mailing list
     > [email protected] <mailto:[email protected]>
     > http://openser.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/users

Reply via email to