Volker Sauer
2007-Oct-14 12:02 UTC
[asterisk-users] Problem: features (from features.conf) not available if call was originated by manager API or call file
Hello asterisk-users, I setup my asterisk to support several features like automon,blindxfer,atxfer,parkcall etc. by using features.conf and the global variable DYNAMIC_FEATURES=automon#blindxfer#atxfer#parkcall#disconnect in extension.conf. Every Dial() command in my diaplan has the appropriate parameters out of {tTkWwW}. For calls from my SIP phones everything works fine. Pressing #1 will transfer, pressing ## will automon and so on. But if I originate the call from either a call file (which is used by a callback application on my setup) or the manager api (which is used by a webadressbook, which automatically dials and connects to the phone on your desk) these features are not available even the manager api jumps to the same context as a normal call from a phone and uses the same Dial() command with {tTwWkK}. This means, that alle the nice feature keys which "normally" work do not if I originate the call over the webfrontend. Therefore, either the global variable is not known to the call which came from the call file or the manager api or something else is going wrong. Here's my call file: Channel: SIP/tol/06151154260 Account: t-online CallerID: 03222XXXXXXX <03222XXXXXXX> MaxRetries: 4 RetryTime: 15 WaitTime: 60 Context: doCallBackVolkerStage2 Extension: s Priority: 1 (the Context doCallBackVolkerStage2 will run DISA). and that's the PHP code orgiginating the calls: $socket = fsockopen("127.0.0.1","5038", $errno, $errstr, $timeout); fputs($socket, "Action: Login\r\n"); fputs($socket, "UserName: webdial\r\n"); fputs($socket, "Secret: XXXXXX\r\n\r\n"); fputs($socket, "Action: Originate\r\n"); fputs($socket, "Channel: $channel\r\n"); fputs($socket, "Exten: $tonumber\r\n"); fputs($socket, "CallerID: $callerid\r\n"); fputs($socket, "Context: doLocalCalls\r\n"); fputs($socket, "MaxRetries: 1\r\n"); fputs($socket, "RetryTime: 15\r\n"); fputs($socket, "WaitTime: 60\r\n"); fputs($socket, "Priority: 1\r\n\r\n"); fputs($socket, "SetLanguage: de\r\n\r\n"); fputs($socket, "Action: Logoff\r\n\r\n"); (the Context doLocalCalls is the same as on any other SIP phone. It will run Dial(). Any hint on what I'm doing wrong or where to check else? Regards Volker -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Digital signature Url : http://lists.digium.com/pipermail/asterisk-users/attachments/20071014/98b2733f/attachment-0004.pgp
Atis Lezdins
2007-Oct-17 14:51 UTC
[asterisk-users] Problem: features (from features.conf) not available if call was originated by manager API or call file
On Sunday 14 October 2007 15:02:43 Volker Sauer wrote:> Hello asterisk-users, > > I setup my asterisk to support several features like > automon,blindxfer,atxfer,parkcall etc. by using features.conf and the > global variable > DYNAMIC_FEATURES=automon#blindxfer#atxfer#parkcall#disconnect in > extension.conf. Every Dial() command in my diaplan has the appropriate > parameters out of {tTkWwW}. > For calls from my SIP phones everything works fine. Pressing #1 will > transfer, pressing ## will automon and so on. > > But if I originate the call from either a call file (which is used by a > callback application on my setup) or the manager api (which is used by a > webadressbook, which automatically dials and connects to the phone on > your desk) these features are not available even the manager api jumps > to the same context as a normal call from a phone and uses the same > Dial() command with {tTwWkK}. This means, that alle the nice feature > keys which "normally" work do not if I originate the call over the > webfrontend. > Therefore, either the global variable is not known to the call which > came from the call file or the manager api or something else is going > wrong.If it's a global variable, and it works one way, but not another - then you should post a bug. You can also try using in your call file: Set: DYNAMIC_FEATURES=automon#... If this doesn't help either, you can dial to Local channel, and there execute a Dial(), and set variables if necessary. Regards, Atis -- Atis Lezdins VoIP Developer, IQ Labs Inc. atis at iq-labs.net Skype: atis.lezdins Cell Phone: +371 28806004 Work phone: +1 800 7502835