Antonio Almodóvar
2006-Nov-15 05:54 UTC
[asterisk-users] some questions about atxfer usage
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.
On Wed, 2006-11-15 at 13:54 +0100, Antonio Almod?var wrote:> 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 just press * to retrieve the caller again - Have you tried that?> I mean, I would like to personalize the way of making transfers using > the feature of atxfer. How can I do that?anything in particular? Conrad
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-usersHi 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