[asterisk-bugs] [Asterisk 0014307]: ExternalIVR sending 'I' on hangup despite 'i' option not set.

Asterisk Bug Tracker noreply at bugs.digium.com
Thu Jan 22 08:30:45 CST 2009


The following issue has been ASSIGNED. 
====================================================================== 
http://bugs.digium.com/view.php?id=14307 
====================================================================== 
Reported By:                chris-mac
Assigned To:                dvossel
====================================================================== 
Project:                    Asterisk
Issue ID:                   14307
Category:                   Applications/app_externalivr
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     assigned
Asterisk Version:           SVN 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 170046 
Request Review:              
====================================================================== 
Date Submitted:             2009-01-22 05:30 CST
Last Modified:              2009-01-22 08:30 CST
====================================================================== 
Summary:                    ExternalIVR sending 'I' on hangup despite 'i' option
not set.
Description: 
According to doc/externalivr.txt when no additional options are set,
ExternalIVR application should send 'H' event on channel hangup. However it
sends 'I' event instead.

How to reproduce:

-- extensions.conf ----------------
[test]
exten => _X.,1,Answer()
exten => _X.,n,ExternalIVR(/tmp/test.sh) ; <- no 'i' option set
exten => _X.,n,Hangup()
-----------------------------------

-- /tmp/test.sh -------------------
#!/bin/bash
echo "S,/var/lib/asterisk/sounds/demo-congrats"
while true; do
  read stdin
  echo $stdin >> /tmp/ivr-test.log

  if [ "${stdin:0:1}" = "H" ]; then
    exit;
  fi

  if [ "${stdin:0:1}" = "I" ]; then
    echo "H,Bye"
    exit;
  fi

done
--------------------------------

Dial into IVR and console will show output similar to:
---- console -------------------
    -- Executing [123 at test:1] Answer("SIP/<ip-address>-0838d650", "") in
new stack
    -- Executing [123 at test:2] ExternalIVR("SIP/<ip-address>-0838d650",
"/tmp/test.sh") in new stack
[Jan 22 11:21:46] WARNING[10979]: app_externalivr.c:406 app_exec:
SIP/<ip-address>-0838d650: Answering channel and starting generator
[Jan 22 11:21:49] NOTICE[10979]: app_externalivr.c:580 eivr_comm:
SIP/<ip-address>-0838d650: Got check_hangup, but ignore_hangup set so
sending 'I' command
[Jan 22 11:21:49] WARNING[10979]: app_externalivr.c:768 eivr_comm:
SIP/<ip-address>-0838d650: Child process went away
  == Spawn extension (test, 123, 2) exited non-zero on
'SIP/<ip-address>-0838d650'
    -- Executing [h at test:1] Hangup("SIP/<ip-address>-0838d650", "") in new
stack
  == Spawn extension (test, h, 1) exited non-zero on
'SIP/<ip-address>-0838d650'
------------------------------------

Problem 1: "Got check_hangup, but ignore_hangup set so sending 'I'
command":
------- ivr-test.log ------
T,1232623306
I,1232623309,HANGUP
---------------------------


Problem 2: "WARNING[10979]: app_externalivr.c:406 app_exec:
SIP/<ip-address>-0838d650: Answering channel and starting generator"


====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-01-22 08:30 dvossel        Status                   new => assigned     
2009-01-22 08:30 dvossel        Assigned To               => dvossel         
======================================================================




More information about the asterisk-bugs mailing list