From 38717a75c6c5d338a48cd5dda70a5008ebbf50a7 Mon Sep 17 00:00:00 2001 From: Russell Bryant Date: Tue, 12 Jul 2005 22:50:45 +0000 Subject: add a dialplan function to get and set the music on hold class git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6115 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- funcs/Makefile | 1 + funcs/func_moh.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100755 funcs/func_moh.c (limited to 'funcs') diff --git a/funcs/Makefile b/funcs/Makefile index 543f23a97..274a0df6a 100755 --- a/funcs/Makefile +++ b/funcs/Makefile @@ -23,6 +23,7 @@ BUILTINS=func_md5.o \ func_db.o \ func_timeout.o \ func_language.o \ + func_moh.o STANDALONE_FUNCS=$(filter-out $(BUILTINS),$(patsubst %.c,%.o,$(wildcard func*.c))) diff --git a/funcs/func_moh.c b/funcs/func_moh.c new file mode 100755 index 000000000..f3e720b9a --- /dev/null +++ b/funcs/func_moh.c @@ -0,0 +1,45 @@ +/* + * Asterisk -- A telephony toolkit for Linux. + * + * Functions for reading or setting the MusicOnHold class + * + * Copyright (C) 2005, Digium, Inc. + * + * Russell Bryant + * + * This program is free software, distributed under the terms of + * the GNU General Public License + */ + +#include + +#include "asterisk.h" + +#include "asterisk/channel.h" +#include "asterisk/pbx.h" +#include "asterisk/utils.h" + +static char *function_moh_read(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len) +{ + ast_copy_string(buf, chan->musicclass, len); + + return buf; +} + +static void function_moh_write(struct ast_channel *chan, char *cmd, char *data, const char *value) +{ + ast_copy_string(chan->musicclass, value, MAX_MUSICCLASS); +} + +#ifndef BUILTIN_FUNC +static +#endif +struct ast_custom_function moh_function = { + .name = "MUSICCLASS", + .synopsis = "Read or Set the MusicOnHold class", + .syntax = "MUSICCLASS()", + .desc = "This function will read or set the music on hold class for a channel.\n", + .read = function_moh_read, + .write = function_moh_write, +}; + -- cgit v1.2.3