[OpenSIPS-Users] opensips 2.1.2 not accepting transformation in if statement and t_relay()

Stefan Tobé stefan.tobe at privatemobility.nl
Thu Apr 28 17:38:12 CEST 2016


and
3. obviously caching it as you indicate  as third or probably first option:)
Stefan

On Thu, Apr 28, 2016 at 5:33 PM, Stefan Tobé <stefan.tobe at privatemobility.nl
> wrote:

> Thanks Ben,
> so it is either
>
>    1. using shared variable ($shv(name)) which is *globally available*
>    (and adaptable using MI...)     OR
>    2. re-initialize variable $var(xyz) every time in *(main) route {}*
>    loop with these dashboard values?
>
> Stefan
>
>
> On Thu, Apr 28, 2016 at 3:10 PM, Newlin, Ben <Ben.Newlin at inin.com> wrote:
>
>> Stefan,
>>
>> $var type variable have process-level scope [1]. This means they are only
>> valid in the same script process that initialized them. It is very likely
>> in your case that the startup_route is running in a different child process
>> than the message processing routes and that is causing the problem. You can
>> add some xlog statements to check the values of the variables before using
>> them. Xlog will print the process ID as part of the output as well so you
>> can verify that. You can also try running OpenSIPS in foreground mode with
>> the –F flag. This will cause it to run with only one process.
>>
>> If you need multiple processes you cannot use $var for this. I would
>> suggest looking into the local caching functionality instead [2].
>>
>> [1] http://www.opensips.org/Documentation/Script-CoreVar-1-11
>> *[2] *
>> http://www.opensips.org/Documentation/Script-CoreFunctions-1-11#toc3
>>
>> Ben Newlin
>>
>> From: <users-bounces at lists.opensips.org> on behalf of Stefan Tobé <
>> stefan.tobe at gmail.com>
>> Reply-To: OpenSIPS users mailling list <users at lists.opensips.org>
>> Date: Thursday, April 28, 2016 at 8:50 AM
>> To: "users at lists.opensips.org" <users at lists.opensips.org>
>> Subject: [OpenSIPS-Users] opensips 2.1.2 not accepting transformation in
>> if statement and t_relay()
>>
>> Hi there,
>> I am trying to sanitize the opensips script by using a script 'dashboard'
>> in the beginning of the script (using  startup_route)
>>
>> I face two problems here (opensips script errors)
>> problem 1: $var(uriqp) should be the uri-string in order to use that in
>> t_relay() which is rejected
>> problem 2: completing IF statement where src_ip should be compared to
>> transformed (to binary) ip address  and source port is both rejected
>>
>> Can somebody explain
>>
>>    1. what the correct uri string for use in t_relay() would need to be
>>    ? (just entering t_relay("udp:10.130.2.4:5060") works fine)
>>    2. what the correct way of transformation I need to use in order to
>>    have this IF statement accepted?
>>
>> thanks
>>
>> Stefan Tobé
>>
>>
>>
>> ####### Routing Logic ########
>> startup_route {
>>     ####### Local Parameters / Dashboard #########
>>         $var(qpip)=   "10.130.2.4";
>>         $var(qpprt)=  "5090";
>> #         $var(qpprt)=  5090;
>>
>>
>> * $var(uriqp)=  "udp:"+$var(qpip)+":"+$var(qpprt); *
>>
>> }
>>
>>
>> route{
>>
>> *if (src_ip == $(var(qpip){ip.pton}) && src_port == $var(qpprt)) {
>> (=> won't accept regardless whether $var(qpprt)=  "5090" or $var(qpprt)=
>> 5090)*
>>     # code here
>>     route(sbc);
>> }
>> else ....
>> }
>>
>> route[qp] {
>>
>>    * if (!t_relay($var(uriqp)) {*
>>         send_reply("500","Internal Error");
>>     }
>>     exit;
>> }
>>
>> --
>> mvg
>> Stefan Tobé
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>
>
> --
> mvg
> Stefan Tobé
>
>
> Private Mobility Nederland B.V.
> Bolderweg 2
> 1332 AT Almere
> tel: 06 21 26 59 68
> email: stefan.tobe at privatemobility.nl
> internet: www.privatemobility.nl
>
>


-- 
mvg
Stefan Tobé


Private Mobility Nederland B.V.
Bolderweg 2
1332 AT Almere
tel: 06 21 26 59 68
email: stefan.tobe at privatemobility.nl
internet: www.privatemobility.nl
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20160428/5ed80258/attachment.htm>


More information about the Users mailing list