]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
add a dialplan function to get and set the music on hold class
authorRussell Bryant <russell@russellbryant.com>
Tue, 12 Jul 2005 22:50:45 +0000 (22:50 +0000)
committerRussell Bryant <russell@russellbryant.com>
Tue, 12 Jul 2005 22:50:45 +0000 (22:50 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6115 65c4cc65-6c06-0410-ace0-fbb531ad65f3

funcs/Makefile
funcs/func_moh.c [new file with mode: 0755]

index 543f23a97dd29483a088df2ac4a0ab7186d87740..274a0df6ad17e64e4669df91c5be47b3f479955f 100755 (executable)
@@ -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 (executable)
index 0000000..f3e720b
--- /dev/null
@@ -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 <russelb@clemson.edu> 
+ *
+ * This program is free software, distributed under the terms of
+ * the GNU General Public License
+ */
+
+#include <stdlib.h>
+
+#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,
+};
+