Ticket #1820 (closed Bugs: fixed)

Opened 5 years ago

Last modified 5 years ago

IVR hangs up after announcement if auto fallthrough is set to "no".

Reported by: julianjm Assigned to: p_lindheimer
Priority: minor Milestone: 2.3
Component: IVR Version: 2.3-branch
Keywords: Cc:
Confirmation: SVN Revision (if applicable):
Backend Engine: Asterisk 1.4.x Backend Engine Version:

Description

Dialplan generated for IVR:

exten => s,n,Set(TIMEOUT(response)=3)
exten => s,n,Background(custom/welcome)

Old asterisk (1.0 and maybe 1.2) didn't hang up the channel if it ran out of priorities. Asterisk 1.4, by default, hangs up on this particular case. The solution is to add a new priority with a call to WaitExten?

exten => s,n,WaitExten()
[Mar  6 12:23:49] VERBOSE[17504] logger.c:     -- <Zap/4-1> Playing 'custom/welcome' (language 'en')
[Mar  6 12:23:51] VERBOSE[17504] logger.c:   == Auto fallthrough, channel 'Zap/4-1' status is 'UNKNOWN'
[Mar  6 12:23:51] VERBOSE[17504] logger.c:     -- Executing [h@ivr-3:1] Hangup("Zap/4-1", "") in new stack

Change History

03/06/07 13:22:40 changed by p_lindheimer

  • engine changed from All to Asterisk 1.4.x.
  • priority changed from major to minor.
  • version set to SVN-HEAD.
  • milestone changed from 2.2 to 2.3.

freepbx is not supported on 1.4 at this time. Will assign this to 2.3 and keep it in mind when we port. Thanks.

03/06/07 20:29:49 changed by julianjm

Although not supported, i don't think it's good practice to not finish the dialplan. In fact, I remember a bug with queues some time ago because of this ;) Anyway, it's just 1 line of code in the ivr module, and it doesn't break current behaviour.

--- functions.inc.php   2007-03-07 08:29:03.000000000 +0000
+++ /var/www/html/admin/modules/ivr/functions.inc.php   2007-03-06 13:12:26.000000000 +0000
@@ -156,6 +156,7 @@
                     $ext->add($id, 's', '', new ext_responsetimeout($details['timeout']));
                     if ($announcement != '')
                        $ext->add($id, 's', '', new ext_background($announcement));
+                    $ext->add($id, 's', '', new extension('WaitExten()'));
                     $ext->add($id, 'hang', '', new ext_playback('vm-goodbye'));
                     $ext->add($id, 'hang', '', new ext_hangup(''));

04/27/07 07:27:33 changed by p_lindheimer

  • owner set to p_lindheimer.
  • version changed from SVN-HEAD to 2.2.1.

I've added WaitExten? to 2.2 branch. When we role the next maintance release, I'll add WaitExten?() to the IVR code since this also works fine on 1.2.

06/18/07 15:22:41 changed by p_lindheimer

  • version changed from 2.2.1 to 2.3-branch.

this had been implemented in the latest ivr module both 2.2 and 2.3 branches.

06/20/07 07:53:40 changed by p_lindheimer

  • status changed from new to closed.
  • resolution set to fixed.