From 4ac2cab96204035936a733cd11dba843c24c3c2d Mon Sep 17 00:00:00 2001 From: Martin Pycko Date: Thu, 18 Sep 2003 21:17:14 +0000 Subject: Add NoCDR application; when called there won't be generated CDR record for that call git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1528 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/Makefile | 2 +- apps/app_cdr.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 1 deletion(-) create mode 100755 apps/app_cdr.c (limited to 'apps') diff --git a/apps/Makefile b/apps/Makefile index ead8f1034..f036db1e5 100755 --- a/apps/Makefile +++ b/apps/Makefile @@ -35,7 +35,7 @@ APPS=app_dial.so app_playback.so app_voicemail.so app_directory.so app_intercom. app_setcidname.so app_lookupcidname.so app_substring.so app_macro.so \ app_authenticate.so app_softhangup.so app_lookupblacklist.so \ app_waitforring.so app_privacy.so app_db.so app_chanisavail.so \ - app_enumlookup.so app_voicemail2.so app_transfer.so app_setcidnum.so + app_enumlookup.so app_voicemail2.so app_transfer.so app_setcidnum.so app_cdr.so #APPS+=app_sql_postgres.so #APPS+=app_sql_odbc.so diff --git a/apps/app_cdr.c b/apps/app_cdr.c new file mode 100755 index 000000000..a053fae9e --- /dev/null +++ b/apps/app_cdr.c @@ -0,0 +1,65 @@ +/* + * Asterisk -- A telephony toolkit for Linux. + * + * Applictions connected with CDR engine + * + * Copyright (C) 2003, Digium + * + * Martin Pycko +#include +#include +#include + + +static char *tdesc = "Make sure asterisk doesn't save CDR for a certain call"; + +static char *nocdr_descrip = "NoCDR(): makes sure there won't be any CDR written for a certain call"; +static char *nocdr_app = "NoCDR"; +static char *nocdr_synopsis = "Make sure asterisk doesn't save CDR for a certain call"; + +STANDARD_LOCAL_USER; + +LOCAL_USER_DECL; + +static int nocdr_exec(struct ast_channel *chan, void *data) +{ + if (chan->cdr) { + free(chan->cdr); + chan->cdr = NULL; + } + return 0; +} + +int unload_module(void) +{ + STANDARD_HANGUP_LOCALUSERS; + return ast_unregister_application(nocdr_app); +} + +int load_module(void) +{ + return ast_register_application(nocdr_app, nocdr_exec, nocdr_synopsis, nocdr_descrip); +} + +char *description(void) +{ + return tdesc; +} + +int usecount(void) +{ + int res; + STANDARD_USECOUNT(res); + return res; +} + +char *key() +{ + return ASTERISK_GPL_KEY; +} -- cgit v1.2.3