From 7a60aff3b1a1533a702ec9da43986ddf91ba4939 Mon Sep 17 00:00:00 2001 From: Olle Johansson <oej@edvina.net> Date: Sun, 4 Jun 2006 11:47:51 +0000 Subject: [PATCH] Make tonezone writeable in CHANNEL() (from my old func_tonezone.c) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32018 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- funcs/func_channel.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/funcs/func_channel.c b/funcs/func_channel.c index 66ea0d4650..dd51bb0a69 100644 --- a/funcs/func_channel.c +++ b/funcs/func_channel.c @@ -108,7 +108,14 @@ static int func_channel_write(struct ast_channel *chan, char *function, locked_string_field_set(chan, language, value); else if (!strcasecmp(data, "musicclass")) locked_string_field_set(chan, musicclass, value); - else if (!strcasecmp(data, "callgroup")) + else if (!strcasecmp(data, "tonezone")) { + struct tone_zone *new_zone; + if (!(new_zone = ast_get_indication_zone(data))) { + ast_log(LOG_ERROR, "Unknown country code for tonezone. Check indications.conf for available country codes.\n"); + ret = -1; + } else + chan->zone = new_zone; + } else if (!strcasecmp(data, "callgroup")) chan->callgroup = ast_get_group(data); else if (!strcasecmp(data, "txgain")) { sscanf(value, "%hhd", &gainset); @@ -149,7 +156,7 @@ static struct ast_custom_function channel_function = { "R/W musicclass class (from musiconhold.conf) for hold music\n" "R/W rxgain set rxgain level on channel drivers that support it\n" "R/O state state for channel\n" - "R/O tonezone zone for indications played\n" + "R/W tonezone zone for indications played\n" "R/W txgain set txgain level on channel drivers that support it\n" "R/O videonativeformat format used natively for video\n" "\n" -- GitLab