[Users] Routing to NATed gateways

Leonid Fainshtein LFAIN at boscom.com
Tue Nov 8 17:12:41 CET 2005


In other words, the simplified configuration may be as the following:

    # Save original user name (the called phone number).
    avp_printf("$orig_called_num", "$rU");
    if (load_gws())
    {
        if (next_gw())
        {
           if (lookup("location")) 
           {
                avp_pushto("$ruri/username", "$orig_called_num");
                t_on_failure("2");
                route(x); # NAT and other usual staff there
                exit;
           }
           else 
           {
                xlog("L_INFO", "I have to think what to do in this
situation.\n");
                sl_send_reply("404", "User Not Found");
           }
        }
    }

failure_route[2]
{
    if (method=="INVITE" && t_check_status("408|500|503"))
    {
        if (!next_gw())
        {
            t_reply("503", "Service not available, no more gateways");
        }
        else
        {
            if (!lookup("location")) 
            {
                xlog("L_INFO", "I have to think what to do in this
situation.\n");
                t_reply("503", "Service not available, no more
gateways");
                exit;
            };
            t_on_failure("2");
            t_on_branch("2");
            t_relay();
        }
    }
}

branch_route[2]
{
    avp_pushto("$ruri/username", "$orig_called_num");
}      

Am I correct? Actually I don't know what to do if one of the gateways is
off-line (lookup() failed). 

Best regards,
Leonid Fainshtein 
-----Original Message-----
From: Bogdan-Andrei Iancu [mailto:bogdan at voice-system.ro] 
Sent: Tuesday, November 08, 2005 5:30 PM
To: Leonid Fainshtein
Cc: users at openser.org
Subject: Re: [Users] Routing to NATed gateways

Hi Leonid,

the scenario you are probing might be already doable. Set in the LCR
table some IP addresses which will be used as aliases: private addresses
in 10.10.x.x class for example. Then register this IPs in usrloc
pointing to the real GWs address.
So you can do lcr (next_gw) and then lookup.

for this to work, lcr must operate on RURI and not on DST_URI (not sure
how exactly is working).

regards,
bogdan

Leonid Fainshtein wrote:

>Hi,
>I'd like to use OpenSER for routing calls to NATed gateways. I also 
>want to support the LCR feature. Unfortunately, the current LCR module 
>doesn't support NAT. I mean that the gateway IP addresses must be 
>defined explicitly  in the "gtw" table. Now I'm looking for a way to 
>force OpenSer to use information from the "location" table.
>I want to write a module that will have the similar functionality like 
>the current LCR module has but resolving procedure will be more 
>complicated (not based on prefix and From only). The module should 
>build avp list where each gateway will have symbolic user name. For 
>example, g1, g2 etc. The gateways will also be registered on the proxy 
>with those names. Then I think it will be possible to call 
>lookup("location") after successful call the next_gtw() from the
script.
>Is it feasible? Is there another way to solve my problem?
>
>Thank you in advance,
>Leonid Fainshtein
>
>_______________________________________________
>Users mailing list
>Users at openser.org
>http://openser.org/cgi-bin/mailman/listinfo/users
>
>  
>





More information about the Users mailing list