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