[asterisk-bugs] [Asterisk 0017113]: ChannelRedirect() fails to properly redirect some of the time
Asterisk Bug Tracker
noreply at bugs.digium.com
Wed Mar 31 09:35:14 CDT 2010
The following issue has been UPDATED.
======================================================================
https://issues.asterisk.org/view.php?id=17113
======================================================================
Reported By: brycv
Assigned To:
======================================================================
Project: Asterisk
Issue ID: 17113
Category: Applications/app_chanspy
Reproducibility: sometimes
Severity: major
Priority: normal
Status: closed
Asterisk Version: 1.6.2.6
JIRA:
Regression: No
Reviewboard Link:
SVN Branch (only for SVN checkouts, not tarball releases): N/A
SVN Revision (number only!):
Request Review:
Resolution: no change required
Fixed in Version:
======================================================================
Date Submitted: 2010-03-29 14:47 CDT
Last Modified: 2010-03-31 09:35 CDT
======================================================================
Summary: ChannelRedirect() fails to properly redirect some of
the time
Description:
I am using a very simple extensions.conf with all of the defaults except
for enabling a dynamic feature which shows up in features.conf as:
[applicationmap]
dynconf => *3,caller,Macro,dynamic-conf
This feature calls the items in the macro and context below.
[dynamic-conf]
exten => _X.,1,MeetMe(${EXTEN},d)
[macro-dynamic-conf]
exten => s,1,Answer
exten => s,n,ChannelRedirect(${BRIDGEPEER},dynamic-conf,1000,1)
exten => s,n,SoftHangup(${CHANNEL})
The goal is for a call to come in and be answered by a customer service
representative (CSR) using a SIP or IAX2 phone. The CSR uses *3 or another
feature code that calls the dynconf dynamic feature. On execution,
ChannelRedirect only sends the caller through to the MeetMe conference some
of the time. Replacing the MeetMe command with MusicOnHold or Playback does
not change the outcome. I find that on a 1.83GHz Dual Core system it fails
between 25-50% of the time. On a much faster Octo Core system it fails 90%
or more of the time.
The debug output from it working or not working is the same. Here is the
case where it does not work:
-- Executing [s at macro-dynamic-conf:1] Answer("SIP/7600-00000006", "")
in new stack
-- Executing [s at macro-dynamic-conf:2]
ChannelRedirect("SIP/7600-00000006",
"IAX2/provider-982,dynamic-conf,1000,1") in new stack
-- Executing [s at macro-dynamic-conf:3] SoftHangup("SIP/7600-00000006",
"SIP/7600-00000006") in new stack
[Mar 29 15:19:52] WARNING[9015]: app_softhangup.c:114 softhangup_exec:
Soft hanging SIP/7600-00000006 up.
== Spawn extension (dynamic-conf, 1000, 1) exited non-zero on
'IAX2/provider-982'
-- Executing [1000 at dynamic-conf:1] MeetMe("IAX2/provider-982",
"1000,d") in new stack
-- Created MeetMe conference 1023 for conference '1000'
-- <IAX2/provider-982> Playing 'conf-onlyperson.ulaw' (language 'en')
-- Hungup 'DAHDI/pseudo-833173156'
== Spawn extension (dynamic-conf, 1000, 1) exited non-zero on
'IAX2/provider-982'
-- Hungup 'IAX2/provider-982'
This is a case where it does work correctly. The final three lines are
delayed until I intentionally hangup the call where they happen immediately
on a failure.
-- Executing [s at macro-dynamic-conf:1] Answer("SIP/7600-00000008", "")
in new stack
-- Executing [s at macro-dynamic-conf:2]
ChannelRedirect("SIP/7600-00000008",
"IAX2/provider-426,dynamic-conf,1000,1") in new stack
-- Executing [s at macro-dynamic-conf:3] SoftHangup("SIP/7600-00000008",
"SIP/7600-00000008") in new stack
[Mar 29 15:33:34] WARNING[9054]: app_softhangup.c:114 softhangup_exec:
Soft hanging SIP/7600-00000008 up.
== Spawn extension (dynamic-conf, 1000, 1) exited non-zero on
'IAX2/provider-426'
-- Executing [1000 at dynamic-conf:1] MeetMe("IAX2/provider-426",
"1000,d") in new stack
-- Created MeetMe conference 1023 for conference '1000'
-- <IAX2/provider-426> Playing 'conf-onlyperson.ulaw' (language 'en')
-- Hungup 'DAHDI/pseudo-311765546'
== Spawn extension (dynamic-conf, 1000, 1) exited non-zero on
'IAX2/provider-426'
-- Hungup 'IAX2/provider-426'
Based on my tests, the faster the machine, the more often it fails. I have
not been able to find any differences in the debug between a success and
failure. I am glad to provide any additional information if necessary.
======================================================================
Issue History
Date Modified Username Field Change
======================================================================
2010-03-31 09:35 lmadsen Status new => closed
2010-03-31 09:35 lmadsen Resolution open => no change
required
======================================================================
More information about the asterisk-bugs
mailing list