[asterisk-users] Logical AND

Adrian Marsh Adrian.Marsh at ubiquisys.com
Sun May 25 05:47:51 CDT 2008


Hi All,
 
I'm trying to figure out why in the below code, the PSTN_NUM variable is
always amended
 
exten => s,n,NoOp(${PSTN_NUM})
exten => s,n,ExecIf( $[ "${PSTN_NUM:0:1}" != "0" ] & $[
${LEN(${PSTN_NUM})} = 10 ]|Set|PSTN_NUM=001${PSTN_NUM})
exten => s,n,NoOp(${PSTN_NUM})

 
-- Executing [s at macro-setpstncli:8] NoOp("SIP/427-b7d0f518",
"0123456789") in new stack
    -- Executing [s at macro-setpstncli:9] ExecIf("SIP/427-b7d0f518", " 0 &
1|Set|PSTN_NUM=0010123456789") in new stack
    -- Executing [s at macro-setpstncli:10] NoOp("SIP/427-b7d0f518",
"0010123456789") in new stack

 
It should evaluate PSTN_NUM and add a 001 only if: PSTN_NUM is 10 digits
long and doesn't start with a 0.
 
However, from the debug it's being changed, even though the first test
operator logically is 0.  If seems as though the "&" isnt being applied.
 
Any ideas?
 
Thanks
 
Adrian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20080525/483e21db/attachment.htm 


More information about the asterisk-users mailing list