I am trying to set a variable in the dial plan and use it on a condition. I have pushed the variable setting as close to the condition for testing and this is what I get. Why does it not see the variable set?

 

<extension name="public_did">

    <condition field="destination_number" expression="^(.*)$">

        <action inline="true" application="set" data="hours=1"/>

    </condition>

    <condition field="hours" expression="1">

        <action application="answer"/>

        <action application="ivr" data="GAC-BH"/>

        <action application="hangup"/>

        <anti-action application="answer"/>

        <anti-action application="ivr" data="GAC-BH"/>

        <anti-action application="hangup"/>

    </condition>

  </extension>

 

Here is the console output

 

Dialplan: FreeTDM/1:7/405790xxx8 Regex (PASS) [public_did] destination_number(405790xxx8) =~ /^(.*)$/ break=on-false

Dialplan: FreeTDM/1:7/405790xxx8 Action set(hours=1) INLINE

EXECUTE FreeTDM/1:7/405790xxx8 set(hours=1)

2011-07-25 12:05:25.191357 [DEBUG] mod_dptools.c:1063 FreeTDM/1:7/405790xxx8 SET [hours]=[1]

Dialplan: FreeTDM/1:7/405790xxx8 Regex (FAIL) [public_did] hours() =~ /1/ break=on-false

Dialplan: FreeTDM/1:7/405790xxx8 ANTI-Action answer()

Dialplan: FreeTDM/1:7/405790xxx8 ANTI-Action ivr(GAC-BH)

Dialplan: FreeTDM/1:7/405790xxx8 ANTI-Action hangup()