[OpenSIPS-Users] Regarding opensips-1.11 variable use .
Bogdan-Andrei Iancu
bogdan at opensips.org
Wed Sep 14 16:46:08 CEST 2016
Yes :)
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
On 14.09.2016 17:44, Benjamin Cropley wrote:
> Sorry - just realised what you mean. You're saying do it like..
>
> route{
> # set vars back to null/init them..
> $var(c)="";
> $var(d)="";
> $var(e)="";
> $var(f)="";
>
> if (method=="INVITE") {
> if(is_present_hf("X-Info")){
> # assign values to vars...
> $var(c)=$hdr(X-Info);
> $var(d)=$(var(c){s.select,2,;});
> $var(e)=$(var(c){s.select,3,;});
> $var(f)=$(var(c){s.select,4,;});
> }
>
> #Set the flag for counting the dialogs. We user flag=4 for
> counting dialogs
> setflag(2);
> setflag(4);
> xlog( "L_NOTICE", "CallCenter_Info & $ci,$var(c) \n" );
> xlog( "L_NOTICE", "3CLogicCDR & $ci,$fU,$oU,$rd \n" );
> xlog("L_NOTICE", " Source IP ($si) : method ($rm) r-uri ($ru)
> : callID $ci \n");
> }
> }
>
> ??
>
> On Wed, Sep 14, 2016 at 3:40 PM, Benjamin Cropley
> <benjamin.cropley at gmail.com <mailto:benjamin.cropley at gmail.com>> wrote:
>
> I was just following the doc :)
>
> "if you want to start using a script variable in a route, better
> initialize it with same value *(or reset it)*, otherwise you may
> inherit a value from a previous route that was executed by the
> same process."
>
> On Wed, Sep 14, 2016 at 3:23 PM, Bogdan-Andrei Iancu
> <bogdan at opensips.org <mailto:bogdan at opensips.org>> wrote:
>
> Hi,
>
> Ideally you should init the vars before their usage, rather
> than trying to reset afterwards. It is much safer.
>
> Regards,
>
> Bogdan-Andrei Iancu
> OpenSIPS Founder and Developer
> http://www.opensips-solutions.com
> <http://www.opensips-solutions.com>
>
> On 14.09.2016 16:59, Benjamin Cropley wrote:
>> the value of script variables persists over any given
>> OpenSIPS process. Therefore, to ensure the value is null on
>> every entry to the route (if a subsequent packet is recieved
>> on the same process) you must set the value back to Null
>> before the route is exited.
>> eg..
>> route{
>> if (method=="INVITE") {
>> if(is_present_hf("X-Info")){
>> # assign values to vars...
>> $var(c)=$hdr(X-Info);
>> $var(d)=$(var(c){s.select,2,;});
>> $var(e)=$(var(c){s.select,3,;});
>> $var(f)=$(var(c){s.select,4,;});
>> }
>> #Set the flag for counting the dialogs. We user
>> flag=4 for counting dialogs
>> setflag(2);
>> setflag(4);
>> xlog( "L_NOTICE", "CallCenter_Info & $ci,$var(c) \n" );
>> xlog( "L_NOTICE", "3CLogicCDR & $ci,$fU,$oU,$rd \n" );
>> xlog("L_NOTICE", " Source IP ($si) : method ($rm)
>> r-uri ($ru) : callID $ci \n");
>> # set vars back to null..
>> $var(c)="";
>> $var(d)="";
>> $var(e)="";
>> $var(f)="";
>> exit;
>> }
>> }
>> I think this feature will have existed in both 1.6 and 1.11
>> (see
>> https://www.opensips.org/Documentation/Script-CoreVar-1-6#toc1
>> <https://www.opensips.org/Documentation/Script-CoreVar-1-6#toc1>
>> and
>> https://www.opensips.org/Documentation/Script-CoreVar-1-11#toc1
>> <https://www.opensips.org/Documentation/Script-CoreVar-1-11#toc1>).
>> Maybe something else is going on to make it 'work' in 1.6?
>> On Wed, Sep 14, 2016 at 2:34 PM, Sasmita Panda
>> <spanda at 3clogic.com <mailto:spanda at 3clogic.com>> wrote:
>>
>> Hi All ,
>> I am using opensips-1.11 .
>> My config file looks like bellow .
>> * if (method=="INVITE") {*
>> **
>> *if(is_present_hf("X-Info")) *
>> * {*
>> *$var(c)=$hdr(X-Info);*
>> *$var(d)=$(var(c){s.select,2,;});*
>> *$var(e)=$(var(c){s.select,3,;});*
>> *$var(f)=$(var(c){s.select,4,;});*
>> * }*
>> **
>> **
>> * #Set the flag for counting the dialogs. We user
>> flag=4 for counting dialogs*
>> * setflag(2);*
>> * setflag(4);*
>> * xlog( "L_NOTICE", "CallCenter_Info &
>> $ci,$var(c) \n" );*
>> * xlog( "L_NOTICE", "3CLogicCDR &
>> $ci,$fU,$oU,$rd \n" );*
>> *xlog("L_NOTICE", " Source IP ($si) : method ($rm) r-uri
>> ($ru) : callID $ci \n");*
>> *}*
>> What I am trying to do is , I am extracting
>> "X-Info" from INVITE message and printing it in logs in
>> place of "$var(c)" . When an INVITE message doesn't have
>> "X-Info" header it prints "<null>" in place of "$var(c)"
>> in logs .
>> *This is working fine in opensips-1.6 . For each and
>> every call the $var(c) is getting updated . *
>> *I am facing some problem in opensips-1.11 . For example
>> : When I am doing a call which has "X-Info" it prints
>> the value corresponding to that . In the next call , lets
>> the INVITE message don't have "X-Info" , for this rather
>> than printing "<null>" in place of "$var(c)" **its
>> printing the previous value .*
>> **
>> **
>> * I am not getting why this is happening . Please
>> help me . I think the variable is getting saved somewhere
>> and getting printed again and again . *
>> How can I solve this problem . Its very critical
>> for me . It will affect my CDR . Please help me .
>> */Thanks & Regards/*
>> /Sasmita Panda/
>> /Network Testing and Software Engineer/
>> /3CLogic , ph:07827611765/
>> _______________________________________________ Users
>> mailing list Users at lists.opensips.org
>> <mailto:Users at lists.opensips.org>
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>> <http://lists.opensips.org/cgi-bin/mailman/listinfo/users>
>>
>> --
>> All the best,
>> Ben Cropley
>> 07539 366 905
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>> <http://lists.opensips.org/cgi-bin/mailman/listinfo/users>
>
> --
> All the best,
> Ben Cropley
> 07539 366 905
>
> --
> All the best,
> Ben Cropley
> 07539 366 905
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20160914/d28841df/attachment.htm>
More information about the Users
mailing list