diff --git a/CHANGES b/CHANGES index fe31769ad4..c243eb2a2e 100644 --- a/CHANGES +++ b/CHANGES @@ -28,6 +28,10 @@ Applications regardless if the call has been answered or not. * Added functionality to the app_dial F() option to continue with execution at the current location when no parameters are provided. + * Added c() option to app_chanspy. This option allows custom DTMF to be set + to cycle through the next avaliable channel. By default this is still '*'. + * Added x() option to app_chanspy. This option allows DTMF to be set to + exit the application. Dialplan Functions ------------------ diff --git a/UPGRADE.txt b/UPGRADE.txt index 35b0d455aa..6272b99486 100644 --- a/UPGRADE.txt +++ b/UPGRADE.txt @@ -25,6 +25,9 @@ From 1.6.2 to 1.6.3: If you are not using autoload=yes in modules.conf you will need to ensure it is set to load. If not, then any module which uses RTP (such as chan_sip) will not be able to send or receive calls. +* The app_dahdiscan.c file has been removed, but the dialplan app DAHDIScan still + remains. It now exists within app_chanspy.c and retains the exact same + functionality as before. From 1.6.1 to 1.6.2: diff --git a/apps/app_channelredirect.c b/apps/app_channelredirect.c index a20d20f431..f604151ee2 100644 --- a/apps/app_channelredirect.c +++ b/apps/app_channelredirect.c @@ -86,8 +86,7 @@ static int asyncgoto_exec(struct ast_channel *chan, void *data) return -1; } - chan2 = ast_get_channel_by_name_locked(args.channel); - if (!chan2) { + if (!(chan2 = ast_channel_get_by_name(args.channel))) { ast_log(LOG_WARNING, "No such channel: %s\n", args.channel); pbx_builtin_setvar_helper(chan, "CHANNELREDIRECT_STATUS", "NOCHANNEL"); return 0; @@ -96,9 +95,12 @@ static int asyncgoto_exec(struct ast_channel *chan, void *data) if (chan2->pbx) { ast_set_flag(chan2, AST_FLAG_BRIDGE_HANGUP_DONT); /* don't let the after-bridge code run the h-exten */ } + res = ast_async_parseable_goto(chan2, args.label); + + chan2 = ast_channel_unref(chan2); + pbx_builtin_setvar_helper(chan, "CHANNELREDIRECT_STATUS", "SUCCESS"); - ast_channel_unlock(chan2); return res; } diff --git a/apps/app_chanspy.c b/apps/app_chanspy.c index 9d087c4d1f..07eac74a28 100644 --- a/apps/app_chanspy.c +++ b/apps/app_chanspy.c @@ -50,6 +50,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/module.h" #include "asterisk/lock.h" #include "asterisk/options.h" +#include "asterisk/autochan.h" #define AST_NAME_STRLEN 256 #define NUM_SPYGROUPS 128 @@ -141,6 +142,16 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") name of the last channel that was spied on will be stored in the SPY_CHANNEL variable. + + + +