Make tonezone writeable in CHANNEL() (from my old func_tonezone.c)
authorOlle Johansson <oej@edvina.net>
Sun, 4 Jun 2006 11:47:51 +0000 (11:47 +0000)
committerOlle Johansson <oej@edvina.net>
Sun, 4 Jun 2006 11:47:51 +0000 (11:47 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32018 65c4cc65-6c06-0410-ace0-fbb531ad65f3

funcs/func_channel.c

index 66ea0d4..dd51bb0 100644 (file)
@@ -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"