[asterisk-users] some questions about atxfer usage
Alberto Pastore
alberto at msoft-italia.com
Thu Nov 16 00:39:48 MST 2006
Antonio Almodóvar ha scritto:
> Hi all.
>
> I have enabled the attended transfer feature in features.conf. I'm
> using it and I want to resolve some questions, I hope someone can help
> me :)
>
> When I transfer a call to an extension:
> - The extension rings during 15 seconds and the call returns to the
> "transferer". Is there any possibility to recover the call before the
> timeout of 15 seconds expires?
>
> I mean, I would like to personalize the way of making transfers using
> the feature of atxfer. How can I do that?
>
>
> Thanks in advance.
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
>
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-users
Hi Antonio.
Taking a look at the following code line from res_features.c:
newchan = ast_feature_request_and_dial(transferer,
"Local",
ast_best_codec(transferer->nativeformats),
dialstr,
15000, // <-------------------!!!!
&outstate,
cid_num,
cid_name);
I assume that 15000 msecs is a hardcoded value...
You might want to replace it with some variable taken from
pbx_builtin_getvar_helper() results
but it involves recompiling at least the res_features.c module;
something more or less
like this (I haven't tested it!!!):
//these two lines go at the beginning of the if {} block
char *transfer_timeout_str;
int transfer_timeout = 15; //default value
//these lines replace the newchan = ast_feature_request_and_dial(...) one
//read the value (if any) from TRANSFER_TIMEOUT
//can be set in extensions.conf's [globals] (TRANSFER_TIMEOUT => 30)
transfer_timeout_str = pbx_builtin_getvar_helper(transferer,
"TRANSFER_TIMEOUT");
if (transfer_timeout_str) {
transfer_timeout = atoi(transfer_timeout_str);
//sanity check
if (transfer_timeout <= 0) transfer_timeout = 15;
}
newchan = ast_feature_request_and_dial(transferer,
"Local",
ast_best_codec(transferer->nativeformats),
dialstr,
transfer_timeout * 1000, // <-------------------!!!!
&outstate,
cid_num,
cid_name);
Bye,
Alberto.
--
--
Alberto Pastore
B-Press Srl - Gruppo MSoft
P.IVA 01697420030
P.le Lombardia, 4 - 28100 Novara - Italy
Tel. 0321-499508
Fax 0321-492974
http://www.msoft.it
More information about the asterisk-users
mailing list