[Home]

Summary:ASTERISK-11796: [patch] Allow called parties to continue after the caller has hung up
Reporter:Michael FIG (michael-fig)Labels:
Date Opened:2008-04-07 21:40:30Date Closed:2009-04-09 14:11:02
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Applications/NewFeature
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) asterisk-1.4.18.1-callee-go-on.diff
( 1) asterisk-1.4.18.1-callee-go-on2.diff
Description:The attached patch adds a 'c' flag to Dial application that allows the called party to continue in the dialplan after the channel that initiated the Dial has hung up.  This can be useful if a Manager API program bounces the callee into an IVR, and then the caller wishes to detach from that session.
Comments:By: Tilghman Lesher (tilghman) 2008-04-08 09:19:04

This patch needs to be updated for trunk, as new features are not candidates for inclusion in 1.4.

By: Johan Wilfer (johan) 2008-04-08 09:45:32

What do you think about my patch in issue ASTERISK-1188954? Same thing..
Feel free to modify it if you like. I've asked some questions but nobody has answered yet.

By: Michael FIG (michael-fig) 2008-04-08 11:25:29

I've looked at 0011954, and it would do what I want if it could specify "don't change the callee's context, extension, or priority."  Maybe "F()"?

The reason I need no change is that my application doesn't necessarily know where in the dialplan the callee is, and I don't want to disrupt them at all.

By: Tilghman Lesher (tilghman) 2008-04-08 11:54:49

Uh, how is the "called party" in the dialplan at all?

By: Michael FIG (michael-fig) 2008-04-08 14:35:46

The "called party" is in the dialplan if the "G(context^extension^priority)" flag is used.  They are jumped into priority+1 on a connect.

I've updated the patch so that the callee's dialplan can set the DIALDETACH variable, which to me is cleaner because it can be done at any time.

By: Johan Wilfer (johan) 2008-04-08 20:21:54

If you use the G flag the called party is no longer bridged to the caller and therfore you will have no problems with Asterisk terminating the called party if the caller hangs up.
On the other hand - if you do not use the G-option I would like to specify the context and extension where to continue. I guess the callers extension and priority could be copied if you specify F().

By: Leif Madsen (lmadsen) 2008-10-21 10:03:35

I'm bumping this to determine how we can procede on this issue?

By: Leif Madsen (lmadsen) 2008-12-11 16:24:16.000-0600

Since there are patches associated with this issue, I'm setting it to confirmed.

By: Jeff Peeler (jpeeler) 2009-01-29 11:22:43.000-0600

Has the patch been tested? From what I can all that it is going to do is not hang up the peer, but dialplan execution is not going to continue running. Essentially this sounds like a feature request for the 'g' flag, except to continue execution if the source channel hangs up instead. The implementation would be harder though since the thread executing dialplan logic would be on the wrong channel. It would be helpful if the reporter could show the dialplan that would benefit from this feature to ensure the desired result can not be produced another way.

By: Michael FIG (michael-fig) 2009-02-02 13:20:31.000-0600

My application is to dial a new line and bridge it into a MeetMe with other lines that may or may not hang up.  It looks like app_confcall on the FreeSWITCH site does what I want (by allowing outbound calls to be bridged), but it only works for asterisk-1.2.  Maybe I'll try porting it to 1.4.

Sorry I can't provide a dialplan... I have to find a way of making it simple enough to be understandable.

By: Jeff Peeler (jpeeler) 2009-02-05 11:30:53.000-0600

I'm not really following. Are you requesting what I assumed earlier: the functionality of the 'g' flag modified to continue execution if the source/calling channel is hung up?

By: Michael FIG (michael-fig) 2009-02-12 15:39:42.000-0600

jpeeler: You are correct in describing the feature, but I think it should be a new Dial flag (not 'g'), since some people will want 'g' to still hang up the destination channel if the source channel disconnects.

By: Leif Madsen (lmadsen) 2009-02-27 16:22:50.000-0600

Changing status back to assigned since feedback was received.

By: Digium Subversion (svnbot) 2009-04-09 14:10:04

Repository: asterisk
Revision: 187491

U   trunk/CHANGES
U   trunk/apps/app_dial.c
U   trunk/include/asterisk/pbx.h
U   trunk/main/pbx.c

------------------------------------------------------------------------
r187491 | jpeeler | 2009-04-09 14:10:03 -0500 (Thu, 09 Apr 2009) | 15 lines

Add ability for dialplan execution to continue when caller hangs up.

The F option to app_dial has been modified to accept no parameters and perform
the above functionality. I don't see anywhere else that is doing function
overloading, but this really is the best place for this operation because:

- It makes it close to the 'g' option in the argument list which provides
similar functionality.
- The existing code to support the current F option provides a very
convienient location to add this new feature.

(closes issue ASTERISK-11796)
Reported by: michael-fig


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

http://svn.digium.com/view/asterisk?view=rev&revision=187491

By: Digium Subversion (svnbot) 2009-04-09 14:10:29

Repository: asterisk
Revision: 187492

_U  branches/1.6.0/

------------------------------------------------------------------------
r187492 | jpeeler | 2009-04-09 14:10:28 -0500 (Thu, 09 Apr 2009) | 20 lines

Blocked revisions 187491 via svnmerge

........
 r187491 | jpeeler | 2009-04-09 14:10:02 -0500 (Thu, 09 Apr 2009) | 15 lines
 
 Add ability for dialplan execution to continue when caller hangs up.
 
 The F option to app_dial has been modified to accept no parameters and perform
 the above functionality. I don't see anywhere else that is doing function
 overloading, but this really is the best place for this operation because:
 
 - It makes it close to the 'g' option in the argument list which provides
 similar functionality.
 - The existing code to support the current F option provides a very
 convienient location to add this new feature.
 
 (closes issue ASTERISK-11796)
 Reported by: michael-fig
........

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

http://svn.digium.com/view/asterisk?view=rev&revision=187492

By: Digium Subversion (svnbot) 2009-04-09 14:10:42

Repository: asterisk
Revision: 187493

_U  branches/1.6.1/

------------------------------------------------------------------------
r187493 | jpeeler | 2009-04-09 14:10:42 -0500 (Thu, 09 Apr 2009) | 20 lines

Blocked revisions 187491 via svnmerge

........
 r187491 | jpeeler | 2009-04-09 14:10:02 -0500 (Thu, 09 Apr 2009) | 15 lines
 
 Add ability for dialplan execution to continue when caller hangs up.
 
 The F option to app_dial has been modified to accept no parameters and perform
 the above functionality. I don't see anywhere else that is doing function
 overloading, but this really is the best place for this operation because:
 
 - It makes it close to the 'g' option in the argument list which provides
 similar functionality.
 - The existing code to support the current F option provides a very
 convienient location to add this new feature.
 
 (closes issue ASTERISK-11796)
 Reported by: michael-fig
........

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

http://svn.digium.com/view/asterisk?view=rev&revision=187493

By: Digium Subversion (svnbot) 2009-04-09 14:11:01

Repository: asterisk
Revision: 187494

_U  branches/1.6.2/

------------------------------------------------------------------------
r187494 | jpeeler | 2009-04-09 14:11:01 -0500 (Thu, 09 Apr 2009) | 20 lines

Blocked revisions 187491 via svnmerge

........
 r187491 | jpeeler | 2009-04-09 14:10:02 -0500 (Thu, 09 Apr 2009) | 15 lines
 
 Add ability for dialplan execution to continue when caller hangs up.
 
 The F option to app_dial has been modified to accept no parameters and perform
 the above functionality. I don't see anywhere else that is doing function
 overloading, but this really is the best place for this operation because:
 
 - It makes it close to the 'g' option in the argument list which provides
 similar functionality.
 - The existing code to support the current F option provides a very
 convienient location to add this new feature.
 
 (closes issue ASTERISK-11796)
 Reported by: michael-fig
........

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

http://svn.digium.com/view/asterisk?view=rev&revision=187494