Roy Sigurd Karlsbakk wrote:
> this doesn't apply cleanly to trunk. can you please try to fix this first?
> 
> roy

oops. how do You guys diff?

this better?

Index: app_privacy.c
===================================================================
--- app_privacy.c       (revision 3424)
+++ app_privacy.c       (working copy)
@@ -58,12 +58,11 @@
 static char *privacy_descrip =
   "If no Caller*ID is sent, PrivacyManager answers the\n"
   "channel and asks the caller to enter their phone number.\n"
-  "The caller is given 3 attempts.  If after 3 attempts, they do not enter\n"
-  "at least a 10 digit phone number, and if there exists a priority n + 101,\n"
-  "where 'n' is the priority of the current instance, then  the\n"
-  "channel  will  be  setup  to continue at that priority level.\n"
-  "Otherwise, it returns 0.  Does nothing if Caller*ID was received on the\n"
-  "channel.\n"
+  "The caller is given the configured attempts.  If after the attempts, they 
do not enter\n"
+  "at least a configured count digit phone number, PRIVACYMGRSTATUS is set to 
FAIL.\n"
+  "Otherwise, SUCCESS is flagged by PRIVACYMGRSTATUS.\n"
+  "Always returns 0.\n"
+  "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 
to input a callerid.\n"
   "   minlength   default 10 -minimum allowable digits in the input callerid 
number.\n"
@@ -97,8 +96,9 @@
                if (chan->_state != OPBX_STATE_UP) {
                        res = opbx_answer(chan);
                        if (res) {
+                               pbx_builtin_setvar_helper(chan, 
"PRIVACYMGRSTATUS", "FAIL");
                                LOCAL_USER_REMOVE(u);
-                               return -1;
+                               return 0;
                        }
                }
                /*Read in the config file*/
@@ -129,18 +129,13 @@

                /*Ask for 10 digit number, give 3 attempts*/
                for (retries = 0; retries < maxretries; retries++) {
-                       if (!res)
-                               res = opbx_streamfile(chan, "privacy-prompt", 
chan->language);
-                       if (!res)
-                               res = opbx_waitstream(chan, "");
-
                        if (!res )
-                               res = opbx_readstring(chan, phone, 
sizeof(phone) - 1, /* digit timeout ms */ 3200, /* first digit timeout */ 5000, 
"#");
+                               res = opbx_app_getdata(chan, "privacy-prompt", 
phone, sizeof(phone), 0);

                        if (res < 0)
                                break;

-                       /*Make sure we get at least digits*/
+                       /*Make sure we get at least our minimum of digits*/
                        if (strlen(phone) >= minlength )
                                break;
                        else {
@@ -158,9 +153,10 @@
                        opbx_set_callerid (chan, phone, "Privacy Manager", 
NULL);
                        if (option_verbose > 2)
                                opbx_verbose (VERBOSE_PREFIX_3 "Changed 
Caller*ID to %s\n",phone);
+                       pbx_builtin_setvar_helper(chan, "PRIVACYMGRSTATUS", 
"SUCCESS");
                } else {
-                       /* Send the call to n+101 priority, where n is the 
current priority  */
-                       opbx_goto_if_exists(chan, chan->context, chan->exten, 
chan->priority + 101);
+                       /* Flag Failure  */
+                       pbx_builtin_setvar_helper(chan, "PRIVACYMGRSTATUS", 
"FAIL");
                }
                if (cfg)
                        opbx_config_destroy(cfg);


_______________________________________________
Callweaver-dev mailing list
[email protected]
http://lists.callweaver.org/mailman/listinfo/callweaver-dev

Reply via email to