diff --git a/CHANGES b/CHANGES index 5aac0bdabec7b19f643767acc5772b7acdbf8731..b4810a34ce79f112b28113b40ee196ec780b9885 100644 --- a/CHANGES +++ b/CHANGES @@ -237,6 +237,8 @@ Other Dialplan Application Changes READSTATUS to ERROR, which you can catch and handle separately. * Added 'm' option to Directory, which lists out names, 8 at a time, instead of asking for verification of each name, one at a time. + * Privacy() no longer uses privacy.conf, as all options are specifyable as + direct options to the app. Music On Hold Changes --------------------- diff --git a/UPGRADE.txt b/UPGRADE.txt index 20e549923d8cdd3fed25b3a5952daf077341606a..9db22501b4635f38a37915423335be514120a916 100644 --- a/UPGRADE.txt +++ b/UPGRADE.txt @@ -84,6 +84,8 @@ Applications: * Read() now sets a READSTATUS variable on exit. It does NOT automatically return -1 (and hangup) anymore on error. If you want to hangup on error, you need to do so explicitly in your dialplan. +* Privacy() no longer uses privacy.conf, so any options must be specified + directly in the application arguments. Dialplan Functions: diff --git a/apps/app_privacy.c b/apps/app_privacy.c index 009b9d2a6e90efb5759d509e593f4ec9016db4a4..dacfd704c682c8adae419aca673d50de4e7e60b6 100644 --- a/apps/app_privacy.c +++ b/apps/app_privacy.c @@ -41,24 +41,18 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/app.h" #include "asterisk/config.h" -#define PRIV_CONFIG "privacy.conf" - static char *app = "PrivacyManager"; static char *synopsis = "Require phone number to be entered, if no CallerID sent"; static char *descrip = - " PrivacyManager([maxretries[,minlength[,options]]]): If no Caller*ID \n" + " PrivacyManager([maxretries][,minlength]): If no Caller*ID \n" "is sent, PrivacyManager answers the channel and asks the caller to\n" - "enter their phone number. The caller is given 3 attempts to do so.\n" + "enter their phone number. The caller is given 'maxretries' attempts to do so.\n" "The application does nothing if Caller*ID was received on the channel.\n" - " Configuration file privacy.conf contains two variables:\n" " maxretries default 3 -maximum number of attempts the caller is allowed \n" " to input a callerid.\n" " minlength default 10 -minimum allowable digits in the input callerid number.\n" - "If you don't want to use the config file and have an i/o operation with\n" - "every call, you can also specify maxretries and minlength as application\n" - "parameters. Doing so supercedes any values set in privacy.conf.\n" "The application sets the following channel variable upon completion: \n" "PRIVACYMGRSTATUS The status of the privacy manager's attempt to collect \n" " a phone number from the user. A text string that is either:\n" @@ -73,11 +67,8 @@ static int privacy_exec (struct ast_channel *chan, void *data) int maxretries = 3; int minlength = 10; int x = 0; - const char *s; char phone[30]; - struct ast_config *cfg = NULL; char *parse = NULL; - struct ast_flags config_flags = { 0 }; AST_DECLARE_APP_ARGS(args, AST_APP_ARG(maxretries); AST_APP_ARG(minlength); @@ -114,34 +105,14 @@ static int privacy_exec (struct ast_channel *chan, void *data) } - if (!x) - { - /*Read in the config file*/ - cfg = ast_config_load(PRIV_CONFIG, config_flags); - - if (cfg && (s = ast_variable_retrieve(cfg, "general", "maxretries"))) { - if (sscanf(s, "%d", &x) == 1) - maxretries = x; - else - ast_log(LOG_WARNING, "Invalid max retries argument\n"); - } - - if (cfg && (s = ast_variable_retrieve(cfg, "general", "minlength"))) { - if (sscanf(s, "%d", &x) == 1) - minlength = x; - else - ast_log(LOG_WARNING, "Invalid min length argument\n"); - } - } - - /*Play unidentified call*/ + /* Play unidentified call */ res = ast_safe_sleep(chan, 1000); if (!res) res = ast_streamfile(chan, "privacy-unident", chan->language); if (!res) res = ast_waitstream(chan, ""); - /*Ask for 10 digit number, give 3 attempts*/ + /* Ask for 10 digit number, give 3 attempts */ for (retries = 0; retries < maxretries; retries++) { if (!res) res = ast_streamfile(chan, "privacy-prompt", chan->language); @@ -154,7 +125,7 @@ static int privacy_exec (struct ast_channel *chan, void *data) if (res < 0) break; - /*Make sure we get at least digits*/ + /* Make sure we get at least digits */ if (strlen(phone) >= minlength ) break; else { @@ -164,7 +135,7 @@ static int privacy_exec (struct ast_channel *chan, void *data) } } - /*Got a number, play sounds and send them on their way*/ + /* Got a number, play sounds and send them on their way */ if ((retries < maxretries) && res >= 0 ) { res = ast_streamfile(chan, "privacy-thankyou", chan->language); if (!res) @@ -184,8 +155,6 @@ static int privacy_exec (struct ast_channel *chan, void *data) } else { pbx_builtin_setvar_helper(chan, "PRIVACYMGRSTATUS", "FAILED"); } - if (cfg) - ast_config_destroy(cfg); } return 0; diff --git a/configs/privacy.conf.sample b/configs/privacy.conf.sample deleted file mode 100644 index 0236bccb78c0a36caaa1288b5befbb71cad6626f..0000000000000000000000000000000000000000 --- a/configs/privacy.conf.sample +++ /dev/null @@ -1,3 +0,0 @@ -[general] - -maxretries = 2 ;How many chances the caller has to enter their number