[Home]

Summary:ASTERISK-10765: Answering local channel does not remove it from call path
Reporter:Jon Webster (jon)Labels:
Date Opened:2007-11-14 12:57:33.000-0600Date Closed:2007-11-19 09:24:51.000-0600
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Channels/chan_local
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:An Answer() doesn't remove local channel from call path but the Wait(.1) does...

exten => s,10(called),NoOp(Called Party...)                                      
exten => s,11,Answer() ; get rid of that pesky local channel
exten => s,12,NoOp(${PARKINGEXTEN})
exten => s,13,Wait(.1) ; go away local channel!
exten => s,14,NoOp(${PARKINGEXTEN})


   -- Executing [s@elephant-support2:10] NoOp("Local/support@elephant-support2-9ad7,1", "Called Party...") in new stack
   -- Executing [s@elephant-support2:11] Answer("Local/support@elephant-support2-9ad7,1", "") in new stack
   -- Executing [s@elephant-support2:12] NoOp("Local/support@elephant-support2-9ad7,1", "") in new stack
   -- Executing [s@elephant-support2:13] Wait("Local/support@elephant-support2-9ad7,1", ".1") in new stack
 == Spawn extension (parkedcalls, 700, 1) exited non-zero on 'Local/700@parkedcalls-abe4,2'
 == Spawn extension (elephant-support2, support, 1) exited non-zero on 'Local/support@elephant-support2-9ad7,2'
   -- Executing [h@elephant-support2:1] NoOp("Local/support@elephant-support2-9ad7,2", "Channel Hangup: Local/support@elephant-support2-9ad7,2") in new stack
   -- Executing [s@elephant-support2:14] NoOp("SIP/jon-084024d8", "700") in new stack


****** ADDITIONAL INFORMATION ******

doc/localchannel.txt: If you do not have the "no release" feature set, then as soon as the destination (inside of the Local channel) answers the line, the variables and dial plan will revert back to that of the original call, and the Local channel will become a zombie and be removed from the active channels list.
Comments:By: Joshua C. Colp (jcolp) 2007-11-19 08:34:51.000-0600

This is because at least 1 frame of anything must be processed for the masquerade operation to happen. When you call Wait() it reads and drops the frames, so 1 frame gets handled. I can't think of any way to overcome this I fear.

By: Digium Subversion (svnbot) 2007-11-19 09:21:55.000-0600

Repository: asterisk
Revision: 89416

U   branches/1.4/doc/localchannel.txt

------------------------------------------------------------------------
r89416 | file | 2007-11-19 09:21:54 -0600 (Mon, 19 Nov 2007) | 4 lines

Clarify documentation a bit, include that a frame has to pass through the core in order for the Local channel optimization to happen.
(closes issue ASTERISK-10765)
Reported by: jon

------------------------------------------------------------------------

By: Digium Subversion (svnbot) 2007-11-19 09:24:51.000-0600

Repository: asterisk
Revision: 89417

_U  trunk/
U   trunk/doc/tex/localchannel.tex

------------------------------------------------------------------------
r89417 | file | 2007-11-19 09:24:50 -0600 (Mon, 19 Nov 2007) | 12 lines

Merged revisions 89416 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89416 | file | 2007-11-19 11:24:12 -0400 (Mon, 19 Nov 2007) | 4 lines

Clarify documentation a bit, include that a frame has to pass through the core in order for the Local channel optimization to happen.
(closes issue ASTERISK-10765)
Reported by: jon

........

------------------------------------------------------------------------