#include "asterisk.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#include "asterisk/image.h"
#include "asterisk/callerid.h"
Go to the source code of this file.
Functions | |
static void | __reg_module (void) |
static void | __unreg_module (void) |
static int | load_module (void) |
static int | setcallerid_exec (struct ast_channel *chan, void *data) |
static int | setcallerid_pres_exec (struct ast_channel *chan, void *data) |
static int | unload_module (void) |
Variables | |
static struct ast_module_info | __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_DEFAULT | AST_MODFLAG_BUILDSUM, .description = "Set CallerID Application" , .key = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = "361d7bb937402d51e4658efb5b4d76e4" , .load = load_module, .unload = unload_module, } |
static char * | app = "SetCallerID" |
static char * | app2 = "SetCallerPres" |
static const struct ast_module_info * | ast_module_info = &__mod_info |
static char * | descrip |
static char * | descrip2 |
static char * | synopsis = "Set CallerID" |
static char * | synopsis2 = "Set CallerID Presentation" |
Definition in file app_setcallerid.c.
static void __reg_module | ( | void | ) | [static] |
Definition at line 162 of file app_setcallerid.c.
static void __unreg_module | ( | void | ) | [static] |
Definition at line 162 of file app_setcallerid.c.
static int load_module | ( | void | ) | [static] |
Definition at line 152 of file app_setcallerid.c.
References ast_register_application(), setcallerid_exec(), and setcallerid_pres_exec().
00153 { 00154 int res; 00155 00156 res = ast_register_application(app2, setcallerid_pres_exec, synopsis2, descrip2); 00157 res |= ast_register_application(app, setcallerid_exec, synopsis, descrip); 00158 00159 return res; 00160 }
static int setcallerid_exec | ( | struct ast_channel * | chan, | |
void * | data | |||
) | [static] |
Definition at line 99 of file app_setcallerid.c.
References ast_callerid_split(), ast_log(), ast_module_user_add, ast_module_user_remove, ast_set_callerid(), ast_strdupa, ast_strlen_zero(), ast_module_user::chan, LOG_WARNING, and name.
Referenced by load_module().
00100 { 00101 int res = 0; 00102 char *tmp = NULL; 00103 char name[256]; 00104 char num[256]; 00105 struct ast_module_user *u; 00106 char *opt; 00107 int anitoo = 0; 00108 static int dep_warning = 0; 00109 00110 if (ast_strlen_zero(data)) { 00111 ast_log(LOG_WARNING, "SetCallerID requires an argument!\n"); 00112 return 0; 00113 } 00114 00115 u = ast_module_user_add(chan); 00116 00117 if (!dep_warning) { 00118 dep_warning = 1; 00119 ast_log(LOG_WARNING, "SetCallerID is deprecated. Please use Set(CALLERID(all)=...) or Set(CALLERID(ani)=...) instead.\n"); 00120 } 00121 00122 tmp = ast_strdupa(data); 00123 00124 opt = strchr(tmp, '|'); 00125 if (opt) { 00126 *opt = '\0'; 00127 opt++; 00128 if (*opt == 'a') 00129 anitoo = 1; 00130 } 00131 00132 ast_callerid_split(tmp, name, sizeof(name), num, sizeof(num)); 00133 ast_set_callerid(chan, num, name, anitoo ? num : NULL); 00134 00135 ast_module_user_remove(u); 00136 00137 return res; 00138 }
static int setcallerid_pres_exec | ( | struct ast_channel * | chan, | |
void * | data | |||
) | [static] |
Definition at line 67 of file app_setcallerid.c.
References ast_log(), ast_module_user_add, ast_module_user_remove, ast_parse_caller_presentation(), ast_module_user::chan, ast_channel::cid, ast_callerid::cid_pres, and LOG_WARNING.
Referenced by load_module().
00068 { 00069 struct ast_module_user *u; 00070 int pres = -1; 00071 00072 u = ast_module_user_add(chan); 00073 00074 /* For interface consistency, permit the argument to be specified as a number */ 00075 if (sscanf(data, "%30d", &pres) != 1 || pres < 0 || pres > 255 || (pres & 0x9c)) { 00076 pres = ast_parse_caller_presentation(data); 00077 } 00078 00079 if (pres < 0) { 00080 ast_log(LOG_WARNING, "'%s' is not a valid presentation (see 'show application SetCallerPres')\n", 00081 (char *) data); 00082 ast_module_user_remove(u); 00083 return 0; 00084 } 00085 00086 chan->cid.cid_pres = pres; 00087 ast_module_user_remove(u); 00088 return 0; 00089 }
static int unload_module | ( | void | ) | [static] |
Definition at line 140 of file app_setcallerid.c.
References ast_module_user_hangup_all, and ast_unregister_application().
00141 { 00142 int res; 00143 00144 res = ast_unregister_application(app2); 00145 res |= ast_unregister_application(app); 00146 00147 ast_module_user_hangup_all(); 00148 00149 return res; 00150 }
struct ast_module_info __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_DEFAULT | AST_MODFLAG_BUILDSUM, .description = "Set CallerID Application" , .key = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = "361d7bb937402d51e4658efb5b4d76e4" , .load = load_module, .unload = unload_module, } [static] |
Definition at line 162 of file app_setcallerid.c.
char* app = "SetCallerID" [static] |
Definition at line 91 of file app_setcallerid.c.
char* app2 = "SetCallerPres" [static] |
Definition at line 46 of file app_setcallerid.c.
const struct ast_module_info* ast_module_info = &__mod_info [static] |
Definition at line 162 of file app_setcallerid.c.
char* descrip [static] |
Initial value:
" SetCallerID(clid[|a]): Set Caller*ID on a call to a new\n" "value. Sets ANI as well if a flag is used. \n"
Definition at line 95 of file app_setcallerid.c.
char* descrip2 [static] |
Definition at line 51 of file app_setcallerid.c.
char* synopsis = "Set CallerID" [static] |
Definition at line 93 of file app_setcallerid.c.
char* synopsis2 = "Set CallerID Presentation" [static] |
Definition at line 48 of file app_setcallerid.c.