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

Asterisk Bug Tracker noreply at bugs.digium.com
Fri Jan 23 11:17:07 CST 2009


A NOTE has been added to this issue. 
====================================================================== 
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-23 11:17 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"


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

---------------------------------------------------------------------- 
 (0098584) dvossel (administrator) - 2009-01-23 11:17
 http://bugs.digium.com/view.php?id=14307#c98584 
---------------------------------------------------------------------- 
chris-mac:  I saw some interesting things happen in trunk rev 170046.  I
wasn't able to reproduce your results, but i did have trouble it not
terminating the call correctly.  after updating trunk to rev 170458 i was
not able to reproduce problems.   

rev 170458 results:

---log----
T,1232729132
H,1232729136
----------


--------console-----------
    -- Executing [6007 at local:1] Answer("SIP/polycom-01c21d78", "") in new
stack
    -- Executing [6007 at local:2] ExternalIVR("SIP/polycom-01c21d78",
"/usr/src/tests/ivr_i.sh") in new stack
[Jan 23 10:52:30] WARNING[7674]: app_externalivr.c:406 app_exec:
SIP/polycom-01c21d78: Answering channel and starting generator
[Jan 23 10:52:41] NOTICE[7674]: app_externalivr.c:584 eivr_comm:
SIP/polycom-01c21d78: Got check_hangup
  == Spawn extension (local, 6007, 2) exited non-zero on
'SIP/polycom-01c21d78'
       > Saved useragent "PolycomSoundPointIP-SPIP_430-UA/3.1.0.0084" for
peer 6001
--------------------- 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-01-23 11:17 dvossel        Note Added: 0098584                          
======================================================================




More information about the asterisk-bugs mailing list