Fri Aug 17 00:17:40 2018

Asterisk developer's documentation


func_callcompletion.c File Reference

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

Detailed Description

Call Completion Supplementary Services implementation.

Author:
Mark Michelson <mmichelson@digium.com>

Definition in file func_callcompletion.c.


Function Documentation

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]
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 }


Variable Documentation

Initial value:
 {
   .name = "CALLCOMPLETION",
   .read = acf_cc_read,
   .write = acf_cc_write,
}

Definition at line 115 of file func_callcompletion.c.


Generated on 17 Aug 2018 for Asterisk - The Open Source Telephony Project by  doxygen 1.6.1