On Wed, Oct 21, 2009 at 3:51 PM, Mark Campbell-Smith <mcampbellsmith@gmail.com> wrote:
Thanks Guys for your suggestions!  Very much appreciated.

The reason I asked was that I want to check if a variable is set or
not.  I don't think your suggestions will work because I actually have
to check to see an undefined variable.  Any way to do this?

Not in the dialplan itself. Better off using a script for this.

I want to have the same extension for checking digits read from DTMF.
The problem is that the digits are not set to the variable until the
transfer statement, which means I would require 2 extensions.   It
will make things simpler if I can have the same extension that reads
the digits and then checks them.

You need either to use multiple extensions or use a script. The dialplan was specifically designed not to be a programming language and the functionality you seek is best served by using a script or by using transfer to drop the call through the diaplan again and use another extension.
-MC
 

For example:

 <extension name="checkdigits">
     <condition field="destination_number" expression="^checkdigits$"/>
      <!--The next condition should be true if the variable $digits
is not set/undefined -->
       <condition field="${digits}" expression="^[^.+]$" />
-----<<<< what should be here to check for undefined variable $digits
?
          <action application="read" data="1 10 ivr/ivr-hello.wav
digits 10000 #"/>
          <action application="phrase" data="spell,${digits}"/>
          <action application="transfer" data="checkdigits digits XML
features"/>
     </condition>

     <condition field="${pincode}" expression="^${some_variable}$">
            < SOME ACTIONS HERE >
     </condition>
 </extension>