[asterisk-users] Problem: features (from features.conf) not available if call was originated by manager API or call file

Volker Sauer volker at volker-sauer.de
Sun Oct 14 07:02:43 CDT 2007


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 


More information about the asterisk-users mailing list