<div dir="ltr"><span style="font-size:12.8000001907349px">Dialplan: sofia/external/+37950290088@fs parsing [public-&gt;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&#39;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">&lt;<a href="mailto:0x6e6562@gmail.com" target="_blank">0x6e6562@gmail.com</a>&gt;</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>
&lt;document type=&quot;freeswitch/xml&quot;&gt;<br>
&lt;section name=&quot;configuration&quot;&gt;<br>
&lt;configuration name=&quot;ivr.conf&quot;&gt;<br>
&lt;menus&gt;<br>
&lt;include&gt;<br>
&lt;menu name=&quot;1&quot;<br>
greet-long=&quot;http_cache://http://$${user}:$${password}@$${url}/audio/76568832.wav&quot;<br>
invalid-sound=&quot;ivr/ivr-that_was_an_invalid_entry.wav&quot;<br>
exit-sound=&quot;voicemail/vm-goodbye.wav&quot;<br>
confirm-macro=&quot;&quot;<br>
confirm-key=&quot;&quot;<br>
confirm-attempts=&quot;3&quot;<br>
timeout=&quot;10000&quot;<br>
inter-digit-timeout=&quot;2000&quot;<br>
max-failures=&quot;3&quot;<br>
max-timeouts=&quot;3&quot;<br>
digit-len=&quot;1&quot;&gt;<br>
 &lt;entry action=&quot;menu-exec-app&quot; digits=&quot;3&quot; param=&quot;transfer +37950280022<br>
XML public&quot;/&gt;<br>
&lt;/menu&gt;<br>
&lt;/include&gt;<br>
&lt;/menus&gt;<br>
&lt;/configuration&gt;<br>
&lt;/section&gt;<br>
&lt;/document&gt;<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 &lt;+37950290088&gt;-&gt;+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-&gt;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>
&lt;document type=&quot;freeswitch/xml&quot;&gt;<br>
&lt;section name=&quot;dialplan&quot;&gt;<br>
&lt;context name=&quot;public&quot;&gt;<br>
&lt;extension name=&quot;ivr_route&quot;&gt;<br>
&lt;condition&gt;<br>
&lt;action application=&quot;answer&quot;/&gt;<br>
&lt;action application=&quot;sleep&quot; data=&quot;2000&quot;/&gt;<br>
&lt;action application=&quot;ivr&quot; data=&quot;1&quot;/&gt;<br>
&lt;/condition&gt;<br>
&lt;/extension&gt;<br>
&lt;/context&gt;<br>
&lt;/section&gt;<br>
&lt;/document&gt;<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>