[SR-Users] LCR next_gw() - certain GW, source from other IP address

Graham Wooden graham at g-rock.net
Sat Jan 29 19:12:29 CET 2011


Ah ­ I didn’t have the same routine in branch_route ­ I think that’s the
key.  Seems to be working now.
I see now that I am sourcing out the IP addy that I need to be.

Thanks for that extra hint Stagg.

-graham

On 1/29/11 11:45 AM, "Stagg Shelton" <stagg at vocalcloud.com> wrote:

>    I have the force send socket in the branch route too.  So assume the first
> attempt fails and the call makes it to the failure route that I setup.  Once
> it gets to the branch route then it executes the following where you can
> perform your logic again.
>  
>  branch_route[2] {
>          xlog("new branch at $ru\n");
>          if($rd=="aaa.aaa.aaa.aaa")
>          {
>            xlog ("L_INFO", "This is a request for A Plan");
>            force_send_socket(udp:xxx.xxx.xxx.xxx:5060);
>          }
>          else
>          {
>            xlog ("L_INFO", "This is a request for another plan");
>            force_send_socket(udp:yyy.yyy.yyy.yyy:5060);
>          };
>  }
>  
>  
>  Stagg
>  
>  
>  On 1/29/11 12:32 PM, Graham Wooden wrote:
>>  Re: [SR-Users] LCR next_gw() - certain GW, source from other IP address
>> Well, ran into another wall .... I can’t seem to do the force_send_socket at
>> the point of when next_gw() is called in the failure  route.
>>  
>>  Is there anyway to clear and/or re-assign the data that is making it where I
>> can’t re-write the transaction to come from another IP addy?
>>  
>>  
>>  On 1/29/11 11:01 AM, "Graham Wooden" <graham at g-rock.net> wrote:
>>  
>>   
>>> Stagg, 
>>>  
>>>  While the Ips are the same, the suggestion to use “rd” along with an entry
>>> in the “hostname” column appears to be what I want.
>>>  
>>>  I assigned in my DNS some testing hostnames to the single IP in question.
>>> When debugging, I see that rd contains the hostname, not the IP.  I believe
>>> with that, I can differentiate between the two... And when I see hostname of
>>> blah.blah.tld, then go ahead and do the force_send_socket.
>>>  
>>>  This definitely solves the issue for the time being. However, I am
>>> wondering if/when call volume increases if the call-setup time be delayed
>>> because of these look ups.  Everything that I have read so far is that the
>>> gw_name is just information, the module doesn’t actually have access to it.
>>> Boo.
>>>  
>>>  -graham
>>>  
>>>  
>>>  On 1/29/11 8:36 AM, "GP Wooden" <graham at g-rock.net> wrote:
>>>  
>>>   
>>>> Same destination IP for both rate decks, so I need to go by something else,
>>>> like the gw_name.
>>>>  
>>>>  ----- Reply message -----
>>>>  From: "Stagg Shelton" <stagg at vocalcloud.com>
>>>>  Date: Sat, Jan 29, 2011 8:27 am
>>>>  Subject: [SR-Users] LCR next_gw() - certain GW, source from other IP
>>>> address
>>>>  To: <sr-users at lists.sip-router.org>
>>>>  
>>>>  Do the provider gateways have the same IP address for the different rate
>>>>  plans?  If the gateways are different then the following may be relevant.
>>>>  
>>>>             if (next_gw()) {
>>>>                   # prepare for lcr failover
>>>>                   t_on_failure("2");
>>>>                   if($rd=="aaa.aaa.aaa.aaa")
>>>>                   {
>>>>                     xlog ("L_INFO", "This is a request for Some Rate
>>>> Plan");
>>>>                    force_send_socket(udp:xxx.xxx.xxx.xxx:5060);
>>>>                   }
>>>>                   else
>>>>                   {
>>>>                     xlog ("L_INFO", "This is a request for another rate
>>>>  plan");
>>>>                    force_send_socket(udp:yyy.yyy.yyy.yyy:5060);
>>>>                   };
>>>>                   route(2);
>>>>             } else {
>>>>               xlog("No gateways found!");
>>>>  
>>>>  
>>>>  Stagg
>>>>  
>>>>  On 1/29/11 9:10 AM, Graham Wooden wrote:
>>>>>  > Hi there,
>>>>>  >
>>>>>  > I have a requirement now that for one of my GW¹s in my LCR, needs to be
>>>>>  > sourced from another IP address (two different rate-decks with the
>>>>> carrier).
>>>>>  > This ratedeck will always be at least 2nd inline ...
>>>>>  >
>>>>>  > I was thinking something along the sorts ... Some pseudo code:
>>>>>  >
>>>>>  > failure_route [2] {
>>>>>  > .
>>>>>  > .
>>>>>  >      if (next_gw()) {
>>>>>  >          if ( name = 'gw_name') {
>>>>>  >              force_send_socket(udp:ip.address.of.certain.ip:5060);
>>>>>  >          } else {
>>>>>  >              # just dummy, as we will send out our default IP for
>>>>> everyone
>>>>>  > else.
>>>>>  >          }
>>>>>  >          t_on_failure("2");
>>>>>  >          route(19);
>>>>>  >      }
>>>>>  > .
>>>>>  > .
>>>>>  > .
>>>>>  > }
>>>>>  >
>>>>>  > What variable will have the value that's in the gw_name column? I can't
go
>>>>>  > by the IP address in $ru because the destination IP is the same between
>>>>> the
>>>>>  > two ratedecks.
>>>>>  >
>>>>>  > Overall, Is that the best way to handle this requirement?
>>>>>  >
>>>>>  > Thanks all,
>>>>>  >
>>>>>  > -graham
>>>>>  >
>>>>>  >
>>>>>  >
>>>>>  > _______________________________________________
>>>>>  > SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>>>>  > sr-users at lists.sip-router.org
>>>>>  > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>>  
>>>>  _______________________________________________
>>>>  SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>>>  sr-users at lists.sip-router.org
>>>>  http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>>  
>>>>  
>>>>  
>>>>  
>>>> 
>>>> _______________________________________________
>>>>  SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>>>  sr-users at lists.sip-router.org
>>>>  http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>>  
>>>  
>>>  
>>  
>  

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20110129/941dcabb/attachment.htm>


More information about the sr-users mailing list