Call Completion Supplementary Services implementation. More...
#include "asterisk.h"
#include "asterisk/module.h"
#include "asterisk/channel.h"
#include "asterisk/ccss.h"
#include "asterisk/pbx.h"
Go to the source code of this file.
Functions | |
static int | acf_cc_read (struct ast_channel *chan, const char *name, char *data, char *buf, size_t buf_len) |
static int | acf_cc_write (struct ast_channel *chan, const char *cmd, char *data, const char *value) |
AST_MODULE_INFO_STANDARD (ASTERISK_GPL_KEY,"Call Control Configuration Function") | |
static int | load_module (void) |
static int | unload_module (void) |
Variables | |
static struct ast_custom_function | cc_function |
Call Completion Supplementary Services implementation.
Definition in file func_callcompletion.c.
static int acf_cc_read | ( | struct ast_channel * | chan, | |
const char * | name, | |||
char * | data, | |||
char * | buf, | |||
size_t | buf_len | |||
) | [static] |
Definition at line 71 of file func_callcompletion.c.
References ast_cc_get_param(), ast_channel_get_cc_config_params(), ast_channel_lock, ast_channel_unlock, ast_log(), and LOG_WARNING.
00073 { 00074 struct ast_cc_config_params *cc_params; 00075 int res; 00076 00077 if (!chan) { 00078 ast_log(LOG_WARNING, "No channel was provided to %s function.\n", name); 00079 return -1; 00080 } 00081 00082 ast_channel_lock(chan); 00083 if (!(cc_params = ast_channel_get_cc_config_params(chan))) { 00084 ast_channel_unlock(chan); 00085 return -1; 00086 } 00087 00088 res = ast_cc_get_param(cc_params, data, buf, buf_len); 00089 ast_channel_unlock(chan); 00090 return res; 00091 }
static int acf_cc_write | ( | struct ast_channel * | chan, | |
const char * | cmd, | |||
char * | data, | |||
const char * | value | |||
) | [static] |
Definition at line 93 of file func_callcompletion.c.
References ast_cc_set_param(), ast_channel_get_cc_config_params(), ast_channel_lock, ast_channel_unlock, ast_log(), and LOG_WARNING.
00095 { 00096 struct ast_cc_config_params *cc_params; 00097 int res; 00098 00099 if (!chan) { 00100 ast_log(LOG_WARNING, "No channel was provided to %s function.\n", cmd); 00101 return -1; 00102 } 00103 00104 ast_channel_lock(chan); 00105 if (!(cc_params = ast_channel_get_cc_config_params(chan))) { 00106 ast_channel_unlock(chan); 00107 return -1; 00108 } 00109 00110 res = ast_cc_set_param(cc_params, data, value); 00111 ast_channel_unlock(chan); 00112 return res; 00113 }
AST_MODULE_INFO_STANDARD | ( | ASTERISK_GPL_KEY | , | |
"Call Control Configuration Function" | ||||
) |
static int load_module | ( | void | ) | [static] |
Definition at line 126 of file func_callcompletion.c.
References ast_custom_function_register, AST_MODULE_LOAD_DECLINE, and AST_MODULE_LOAD_SUCCESS.
00127 { 00128 return ast_custom_function_register(&cc_function) == 0 ? AST_MODULE_LOAD_SUCCESS : AST_MODULE_LOAD_DECLINE; 00129 }
static int unload_module | ( | void | ) | [static] |
Definition at line 121 of file func_callcompletion.c.
References ast_custom_function_unregister().
00122 { 00123 return ast_custom_function_unregister(&cc_function); 00124 }
struct ast_custom_function cc_function [static] |
{ .name = "CALLCOMPLETION", .read = acf_cc_read, .write = acf_cc_write, }
Definition at line 115 of file func_callcompletion.c.