Summary:ASTERISK-08282: Goto fails in applicationmap (res_features)
Reporter:Naftali (naftali5)Labels:
Date Opened:2006-12-05 12:04:45.000-0600Date Closed:2011-06-07 14:07:48
Versions:Frequency of
Description:the applicationmap feature as described here:
allows for Goto() and Gosub()

eval => *61,caller,Goto,default|600|1

It does not work, though.
This was reported here:
but it was closed with a very interesting comment indeed!
crich seemed to say that he set it up to work, and noone commented otherwise.
Is there a way to verify if it should/could work?
Comments:By: Serge Vecher (serge-v) 2006-12-05 12:27:44.000-0600

The documentation on this is very clear:

<excerpt from features.conf.sample>

; IMPORTANT NOTE: The applicationmap is not intended to be used for all Asterisk
;   applications. When applications are used in extensions.conf, they are executed
;   by the PBX core. In this case, these applications are executed outside of the
;   PBX core, so it does *not* make sense to use any application which has any
;   concept of dialplan flow. Examples of this would be things like Macro, Goto,
;   Background, WaitExten, and many more.

Please post only legitimate bug reports.

By: Jason Parker (jparker) 2006-12-05 12:29:46.000-0600

Per Russell in 7629, this isn't something we'd expect to work.

Closing.  We'll consider reopening it if you can make a very good argument of why you think it should work this way.

By: Naftali (naftali5) 2006-12-05 12:53:36.000-0600

Don't know where that documentation is.
I have and the sample does _not_ say not to use Goto()

To quote crich, the author of this feature,
"Note: You can use the Goto App also to jump into the extensions conf ;)"

This bug was opened to clarify what happened to this feature that it became crippled from patch to release.

If indeed it is possible to jump into extensions.conf, as he says, the uses are endless. Whereas according to the new documentation, the most you can do is play a sound (and btw not even know when it finished) or perhaps play dtmf.

don't mean to be a nuisance, but this feature would allow excellent in-call control of the dialplan. Or perhaps am i missing something, and this is possible without a Goto() or Macro()??

By: Russell Bryant (russell) 2006-12-05 19:32:39.000-0600

It may have been theorized that it could have worked at one time, but the way it is implemented, it absolutely will not work.

Perhaps I can try to explain.  When you call into Asterisk, and you are in the dialplan, your channel is executing applications.  Once you call the Dial application, another channel is created, and you are bridged to it.  At this point, you are no longer in the application execution environment.  You are bridged to another channel via the Dial application.

Now, in this bridge, you can kit keys to activate features.  One of these features may be from the applicationmap.  However, this can *only* execute a single application on the channel.  It does not magically take a channel and put it back in the dialplan where it can start executing other applications.

The goto application just sets the current extension, priority, and context for a channel.  It may have some effect if you were to later break out of the bridge, and the Dial application were to end.

Hopefully that may make it more clear ...