<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.30.3">
</HEAD>
<BODY>
Hi, I am trying to setup a very simple IVR using LUA. Call arrives from a DID SIP trunk and is answered and message is played ok, after a particular digit is pressed it bridges the call to an extension which is remotely connected. It works but after 2 rings the call to the extension is dropped with a SIP message &quot;BYE&quot; from DID provider. If I just route the call directly to the extension (no IVR) it works fine. It seems like the DID hangs up when the call is bridged to the extension. Have tried same thing using the XML IVR Engine and get exactly the same result. The IVR script is below<BR>
<BR>
pathsep = '/'<BR>
session:setAutoHangup(false);<BR>
session:answer()<BR>
prompt = &quot;ivr&quot; .. pathsep .. &quot;247talk.wav&quot;<BR>
invalid = &quot;ivr&quot; .. pathsep .. &quot;ivr-that_was_an_invalid_entry.wav&quot;<BR>
freeswitch.consoleLog(&quot;INFO&quot;, &quot;Prompt file is '&quot; .. prompt .. &quot;'\n&quot;)<BR>
continue = true<BR>
<BR>
while( session:ready() == true and continue == true) do<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; digits = session:playAndGetDigits(1,1,3,7000,&quot;#&quot;, prompt, invalid, &quot;\\d+&quot;)<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (digits == &quot;1&quot;) then<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; continue = false<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; session:execute(&quot;bridge&quot;,&quot;sofia/external/2476%91.xxx.xx.xx&quot;)<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (digits == &quot;2&quot;) then<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; session:execute(&quot;bridge&quot;,&quot;sofia/external/2475%91.xxx.xx.xx&quot;)<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (digits == &quot;3&quot;) then<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; continue = false<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; session:execute(&quot;bridge&quot;,&quot;sofia/external/2475%91.xxx.xx.xx&quot;)<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<BR>
end<BR>
<BR>
session:hangup()<BR>
<BR>
Any help with this greatly appreciated it is driving me nuts.<BR>
<BR>
regards, John Carpenter
</BODY>
</HTML>