If you are going to go thru all this trouble why not just use mod_xml_curl and get back the dialplan that needs to be executed in the first place… the dialplan is not meant to be a scripting language itself.
From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Ximo Peral
Sent: Thursday, October 15, 2015 11:54 AM
To: freeswitch-users@lists.freeswitch.org
Subject: [Freeswitch-users] Freeswitch - Regular Expression in Condition
I have this condition on a dialplan:
<condition field="${curl_response_data}" expression="^(\+)?(\d{6})?(\d{4,15}|anonymous),(\d{6})?(\d{4,17}),(\d{3,5}),(\d{3,5}),(NP\d{3}|RG\d{4,8}|OP\d{6}|CUB\d{6}|CF\d{1}|ANF\d{3}|TLSIOS),?(NP\d{3}|OP\d{6}|CUB\d{6}|CF\d{1}|ANF\d{3})?,?(NP\d{3}|OP\d{6}|CUB\d{6}|CF\d{1}|ANF\d{3})?,?(NP\d{3}|OP\d{6}|CUB\d{6}|CF\d{1}|ANF\d{3})?,?(NP\d{3}|OP\d{6}|CUB\d{6}|CF\d{1}|ANF\d{3})?$" break="on-true">
<action application="set" inline="true" data="auto_hunt=true"/>
<action application="transfer" data="${num_dest} XML routing.Saliente"/>
And this curl response:
+34987654321,971234567,000,00001,CUB281281,CUB301993,OP024000
But I do not get the transfer, the regular expression is not working.
I tried this and if it works:
<condition field="${curl_response_data}" expression="^(\+)?(\d{6})?(\d{4,15}|anonymous),(\d{6})?(\d{9}),(\d{3,5}),(\d{3,5})(,(\w*))*$" break="on-true">
<action application="set" inline="true" data="auto_hunt=true"/>
<action application="transfer" data="${num_dest} XML routing.Saliente"/>
The problem is from the fourth comma
Desperate, I tried it with this conditions and does not work!
<condition field="${curl_response_data}" expression="^(\+)?(\d{6})?(\d{4,15}|anonymous),(\d{6})?(\d{9}),(\d{3,5}),(\d{3,5}),CUB281281,CUB301993,OP024000$" break="on-true">
and
<condition field="${curl_response_data}" expression="^(\+)?(\d{6})?(\d{4,15}|anonymous),(\d{6})?(\d{9}),(\d{3,5}),(\d{3,5}),(CUB281281),(CUB301993),(OP024000)$" break="on-true">
Any ideas??