<br><br><div class="gmail_quote">On Fri, Dec 18, 2009 at 2:21 AM, Robin Vleij <span dir="ltr">&lt;<a href="mailto:viper@fx-services.com">viper@fx-services.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi guys (and girls)!<br>
<br>
I&#39;m working on a little bit of ENUM trickery and I tried doing some<br>
(illegal) nested conditions. :-)<br>
<br>
What I want to do is to first check enum with the ENUM application,<br>
then depending on the answer do some stuff. Say that the domain part<br>
of the ENUM answer is <a href="http://robin.nl" target="_blank">robin.nl</a>, then I want to do action X instead of<br>
just briding the enum answer directly as I see in most examples.<br>
<br>
But I remembered that it wasn&#39;t allowed to do nested conditions. So<br>
what I did was stacked conditions. After that I read the dialplan wiki<br>
pages again and figured that my regexp never matches because variables<br>
I &quot;set&quot; during some phase of the extension I can&#39;t use in the same<br>
&quot;go&quot; as another condition. So, now my plan is to use LUA to do the<br>
regexp.<br>
<br>
I&#39;ll pass the enum answer to a lua script which will split the answer<br>
in a user and domain part and return those two to the main app. Then<br>
based on those two vars I&#39;ll do routing or other actions (like, prefix<br>
and then route).<br>
<br>
Is this how I&#39;m supposed to do it? I can&#39;t find many examples on<br>
manipulating ENUM answers, other than bridging them directly. I can&#39;t<br>
change the way I do stuff to ENUM answers, because in most cases I&#39;ll<br>
just route them out the standard way.<br>
<br>
Anyone with experience on fiddling with ENUM answers?<br></blockquote><div><br>One thing you can do is create an extension that does the enum look up and then transfers the call back into the dialplan. You could set up a separate context that handles just the enum checking. Your condition would just need to match whatever var you put the enum return val in. So if your var name is &quot;enum_res&quot; then you can transfer like this after your enum lookup:<br>
<br>&lt;action application=&quot;transfer&quot; data=&quot;${enum_res} XML my_enum_context&quot;/&gt;<br><br>Then create a context named &quot;my_enum_context&quot; and match for the condition(s) you need, like:<br>&lt;condition field=&quot;${enum_res}&quot; expression=&quot;robin\.nl&quot;&gt;<br>
 do stuff<br>&lt;/condition&gt;<br><br>Then have a different extension for other values of enum_res...<br><br>This is just one way to do it without using a scripting lang. you can by all means use Lua as well.<br>-MC<br></div>
</div><br>