[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