[OpenSIPS-Users] If statement Syntax issue

Bogdan-Andrei Iancu bogdan at voice-system.ro
Sat Dec 12 10:00:18 CET 2009


Hi,

I just tried the following piece of script:
        $var(current_day) = $time(%u);
        $avp(s:mobile_time) = "0815221515";

        if ( $var(current_day) >= $(avp(s:mobile_time){s.substr,8,1}) &&
        $var(current_day) <= $(avp(s:mobile_time){s.substr,9,1}) )  {
                xlog("boo far\n");
        }

And it worked with no error - could you also try?

BTW, what opensips version are you using?

Regards,
Bogdan

osiris123d wrote:
> This is how $var(current_day) is set
> $var(current_day) = $time(%u);
>
> With $avp(s:mobile_time) I do
> avp_db_load("$ru/username","$avp(s:mobile_time)");
> and the avp is set to 
> 0815221515
>
> 0815 being the Time of day the phone can be called, 2215 being the stop
> period when the phone will not be called, and 15 with 1 = monday and 5 =
> friday so the phone number can be called Monday through Friday.
>
> Thanks
>
>
>
>
> Bogdan-Andrei Iancu wrote:
>   
>> Hi,
>>
>> In order to try to reproduce this, please post the values you use for:
>>     $avp(s:mobile_time)
>>     $var(current_day)
>>
>> I will try to you exactly the same script code and values as you to see 
>> what I get.
>>
>> Regards,
>> Bogdan
>>
>> osiris123d wrote:
>>     
>>> The left side variable is defined because I do an xlog before the if
>>> statement and make sure the variable is correct and also an integer.  I
>>> am
>>> not sure if you saw my post right after my first message, but here it is
>>> again
>>>
>>> Ok so I did some more testing and I see the following.  Below in my first
>>> post the $var(current_day) value was 7.  The
>>> $(avp(s:mobile_time){s.substr,8,1}) value was 1 and
>>> $(avp(s:mobile_time){s.substr,9,1}) value was 5.  Well if I changed the
>>> value of $(avp(s:mobile_time){s.substr,9,1}) to be 7 I don't see those
>>> errors and the if statement is true and moves on like it should.  So are
>>> those errors the normal output when an operator is not true?  I would
>>> figure
>>> that you would never see those errors if its true or not. 
>>>
>>>
>>> So everything works correctly if the variables are TRUE, its only if the
>>> variables equal FALSE in the if statement that I get those errors in my
>>> log
>>> files.  So are those logs normal if one of the statements in the IF
>>> statement are false?
>>>
>>>
>>>
>>>
>>> Bogdan-Andrei Iancu wrote:
>>>   
>>>       
>>>> Hi Osiris,
>>>>
>>>> Maybe the left side operand cannot be evaluated because was not defined 
>>>> (the $var(current_day) ). Can you check this ?
>>>>
>>>> Regards,
>>>> Bogdan
>>>>
>>>> osiris123d wrote:
>>>>     
>>>>         
>>>>> I have the following IF statement that looks to be good syntax but I am
>>>>> getting an error
>>>>>
>>>>> Here is the syntax
>>>>>
>>>>> if ( $var(current_day) >= $(avp(s:mobile_time){s.substr,8,1}) &&
>>>>> $var(current_day) <= $(avp(s:mobile_time){s.substr,9,1}) )
>>>>> {
>>>>> blah
>>>>> blah
>>>>> }
>>>>>
>>>>> The error I get is
>>>>> CRITICAL:core:comp_scriptvar: cannot get left var value
>>>>> WARNING:core:do_action: error in expression (l=650)
>>>>>
>>>>> All variables have values so I know thats not an issue and the substr
>>>>> Transformation is also correct .  If I edit the IF statement to only
>>>>> have
>>>>> the following it works fine
>>>>>
>>>>> if ( $var(current_day) >= $(avp(s:mobile_time){s.substr,8,1}) )
>>>>> {
>>>>> blah
>>>>> blah
>>>>> }
>>>>>
>>>>> Any clues?
>>>>>
>>>>>
>>>>>   
>>>>>       
>>>>>           
>>>> -- 
>>>> Bogdan-Andrei Iancu
>>>> www.voice-system.ro
>>>>
>>>>
>>>> _______________________________________________
>>>> Users mailing list
>>>> Users at lists.opensips.org
>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>>
>>>>
>>>>     
>>>>         
>>>   
>>>       
>> -- 
>> Bogdan-Andrei Iancu
>> www.voice-system.ro
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>>     
>
>   


-- 
Bogdan-Andrei Iancu
www.voice-system.ro




More information about the Users mailing list