<div dir="ltr"><span style="font-size:12.8000001907349px">Dialplan: sofia/external/+37950290088@fs parsing [public->ivr_route]</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">continue=false</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">Dialplan: sofia/external/+37950290088@fs Absolute Condition [ivr_route]</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">Dialplan: sofia/external/+37950290088@fs Action answer()</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">Dialplan: sofia/external/+37950290088@fs Action sleep(2000)</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">Dialplan: sofia/external/+37950290088@fs Action ivr(1)</span><br><div><span style="font-size:12.8000001907349px"><br></span></div><div><span style="font-size:12.8000001907349px">You have an absolute condition, so this will match every call that reaches that part of the dialplan context. That includes after the transfer.</span></div><div><span style="font-size:12.8000001907349px"><br></span></div><div><span style="font-size:12.8000001907349px">You need to either 1) change your condition so it only matches the calls you want to go to the IVR menu, 2) transfer to a different context from the menu or 3) handle the +</span><span style="font-size:12.8000001907349px">37950290088 call before the </span><span style="font-size:12.8000001907349px">ivr_route extension so it doesn't reach that one.</span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 14 May 2015 at 10:07, Ben Hood <span dir="ltr"><<a href="mailto:0x6e6562@gmail.com" target="_blank">0x6e6562@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
I was wondering under what circumstances an IVR menu would loop back<br>
on itself when a transfer is triggered by user input.<br>
<br>
I have the following menu:<br>
<br>
<document type="freeswitch/xml"><br>
<section name="configuration"><br>
<configuration name="ivr.conf"><br>
<menus><br>
<include><br>
<menu name="1"<br>
greet-long="http_cache://http://$${user}:$${password}@$${url}/audio/76568832.wav"<br>
invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav"<br>
exit-sound="voicemail/vm-goodbye.wav"<br>
confirm-macro=""<br>
confirm-key=""<br>
confirm-attempts="3"<br>
timeout="10000"<br>
inter-digit-timeout="2000"<br>
max-failures="3"<br>
max-timeouts="3"<br>
digit-len="1"><br>
<entry action="menu-exec-app" digits="3" param="transfer +37950280022<br>
XML public"/><br>
</menu><br>
</include><br>
</menus><br>
</configuration><br>
</section><br>
</document><br>
<br>
When the user dials 3, the following output in the log occurs:<br>
<br>
2015-05-14 10:43:00.861297 [NOTICE] switch_ivr.c:1861 Transfer<br>
sofia/external/+37950290088@fs to XML[+37950280022@public]<br>
...<br>
2015-05-14 10:43:00.861297 [INFO] mod_dialplan_xml.c:635 Processing<br>
+37950290088 <+37950290088>->+37950280022 in context public<br>
<br>
So at this point in time, I would expect the dialplan that matches<br>
+37950280022 to get executed.<br>
<br>
However, what appears to happen is that the dialplan that originally<br>
invoked the ivr application is executed again:<br>
<br>
Dialplan: sofia/external/+37950290088@fs parsing [public->ivr_route]<br>
continue=false<br>
Dialplan: sofia/external/+37950290088@fs Absolute Condition [ivr_route]<br>
Dialplan: sofia/external/+37950290088@fs Action answer()<br>
Dialplan: sofia/external/+37950290088@fs Action sleep(2000)<br>
Dialplan: sofia/external/+37950290088@fs Action ivr(1)<br>
<br>
This creates a loop.<br>
<br>
This is the original dialplan that invokes the ivr menu:<br>
<br>
<document type="freeswitch/xml"><br>
<section name="dialplan"><br>
<context name="public"><br>
<extension name="ivr_route"><br>
<condition><br>
<action application="answer"/><br>
<action application="sleep" data="2000"/><br>
<action application="ivr" data="1"/><br>
</condition><br>
</extension><br>
</context><br>
</section><br>
</document><br>
<br>
Is there potentially something in my menu definition that is causing<br>
the original dialplan to executed, as opposed to the dialplan<br>
specified by the transfer application?<br>
<br>
Many thanks in advance,<br>
<br>
Ben<br>
<br>
_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://confluence.freeswitch.org" target="_blank">http://confluence.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
</blockquote></div><br></div>