Index: apps/app_zapras.c
===================================================================
--- apps/app_zapras.c	(revision 76704)
+++ apps/app_zapras.c	(working copy)
@@ -173,16 +173,13 @@
 			if (res < 0) {
 				ast_log(LOG_WARNING, "wait4 returned %d: %s\n", res, strerror(errno));
 			}
-			if (option_verbose > 2) {
 				if (WIFEXITED(status)) {
-					ast_verbose(VERBOSE_PREFIX_3 "RAS on %s terminated with status %d\n", chan->name, WEXITSTATUS(status));
+				ast_verb(3, "RAS on %s terminated with status %d\n", chan->name, WEXITSTATUS(status));
 				} else if (WIFSIGNALED(status)) {
-					ast_verbose(VERBOSE_PREFIX_3 "RAS on %s terminated with signal %d\n",
-						 chan->name, WTERMSIG(status));
+				ast_verb(3, "RAS on %s terminated with signal %d\n", chan->name, WTERMSIG(status));
 				} else {
-					ast_verbose(VERBOSE_PREFIX_3 "RAS on %s terminated weirdly.\n", chan->name);
+				ast_verb(3, "RAS on %s terminated weirdly.\n", chan->name);
 				}
-			}
 			/* Throw back into audio mode */
 			x = 1;
 			ioctl(chan->fds[0], ZT_AUDIOMODE, &x);
@@ -214,20 +211,17 @@
 	if (strcasecmp(chan->tech->type, "Zap")) {
 		/* If it's not a zap channel, we're done.  Wait a couple of
 		   seconds and then hangup... */
-		if (option_verbose > 1)
-			ast_verbose(VERBOSE_PREFIX_2 "Channel %s is not a Zap channel\n", chan->name);
+		ast_verb(2, "Channel %s is not a Zap channel\n", chan->name);
 		sleep(2);
 	} else {
 		memset(&ztp, 0, sizeof(ztp));
 		if (ioctl(chan->fds[0], ZT_GET_PARAMS, &ztp)) {
 			ast_log(LOG_WARNING, "Unable to get zaptel parameters\n");
 		} else if (ztp.sigtype != ZT_SIG_CLEAR) {
-			if (option_verbose > 1)
-				ast_verbose(VERBOSE_PREFIX_2 "Channel %s is not a clear channel\n", chan->name);
+			ast_verb(2, "Channel %s is not a clear channel\n", chan->name);
 		} else {
 			/* Everything should be okay.  Run PPP. */
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "Starting RAS on %s\n", chan->name);
+			ast_verb(3, "Starting RAS on %s\n", chan->name);
 			/* Execute RAS */
 			run_ras(chan, args);
 		}
Index: apps/app_chanspy.c
===================================================================
--- apps/app_chanspy.c	(revision 76704)
+++ apps/app_chanspy.c	(working copy)
@@ -277,8 +277,7 @@
 		return 0;

 	name = ast_strdupa(spyee->name);
-	if (option_verbose >= 2)
-		ast_verbose(VERBOSE_PREFIX_2 "Spying on channel %s\n", name);
+	ast_verb(2, "Spying on channel %s\n", name);

 	memset(&csth, 0, sizeof(csth));
 	ast_set_flag(&csth.spy, CHANSPY_FORMAT_AUDIO);
@@ -401,8 +400,7 @@
 			(*volfactor)++;
 			if (*volfactor > 4)
 				*volfactor = -4;
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "Setting spy volume on %s to %d\n", chan->name, *volfactor);
+			ast_verb(3, "Setting spy volume on %s to %d\n", chan->name, *volfactor);
 			csth.volfactor = *volfactor;
 			set_volume(chan, &csth);
 			if (csth.volfactor) {
@@ -435,8 +433,7 @@
 	}
 	ast_channel_spy_free(&csth.spy);

-	if (option_verbose >= 2)
-		ast_verbose(VERBOSE_PREFIX_2 "Done Spying on channel %s\n", name);
+	ast_verb(2, "Done Spying on channel %s\n", name);

 	return running;
 }
Index: apps/app_adsiprog.c
===================================================================
--- apps/app_adsiprog.c	(revision 76704)
+++ apps/app_adsiprog.c	(working copy)
@@ -1448,8 +1448,7 @@
 	/* Now begin the download attempt */
 	if (ast_adsi_begin_download(chan, scr->desc, scr->fdn, scr->sec, scr->ver)) {
 		/* User rejected us for some reason */
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "User rejected download attempt\n");
+		ast_verb(3, "User rejected download attempt\n");
 		ast_log(LOG_NOTICE, "User rejected download on channel %s\n", chan->name);
 		ast_free(scr);
 		return -1;
@@ -1535,8 +1534,7 @@
 		return -1;
 	if (ast_adsi_end_download(chan)) {
 		/* Download failed for some reason */
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "Download attempt failed\n");
+		ast_verb(3, "Download attempt failed\n");
 		ast_log(LOG_NOTICE, "Download failed on %s\n", chan->name);
 		ast_free(scr);
 		return -1;
@@ -1554,11 +1552,9 @@
 		data = "asterisk.adsi";

 	if (!ast_adsi_available(chan)) {
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "ADSI Unavailable on CPE.  Not bothering to try.\n");
+		ast_verb(3, "ADSI Unavailable on CPE.  Not bothering to try.\n");
 	} else {
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "ADSI Available on CPE.  Attempting Upload.\n");
+		ast_verb(3, "ADSI Available on CPE.  Attempting Upload.\n");
 		res = adsi_prog(chan, data);
 	}

Index: apps/app_read.c
===================================================================
--- apps/app_read.c	(revision 76704)
+++ apps/app_read.c	(working copy)
@@ -138,8 +138,8 @@
 		maxdigits = atoi(arglist.maxdigits);
 		if ((maxdigits<1) || (maxdigits>255)) {
     			maxdigits = 255;
-		} else if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "Accepting a maximum of %d digits.\n", maxdigits);
+		} else
+			ast_verb(3, "Accepting a maximum of %d digits.\n", maxdigits);
 	}
 	if (ast_strlen_zero(arglist.variable)) {
 		ast_log(LOG_WARNING, "Invalid! Usage: Read(variable[|filename][|maxdigits][|option][|attempts][|timeout])\n\n");
@@ -187,23 +187,19 @@
 			if (res > -1) {
 				pbx_builtin_setvar_helper(chan, arglist.variable, tmp);
 				if (!ast_strlen_zero(tmp)) {
-					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "User entered '%s'\n", tmp);
+					ast_verb(3, "User entered '%s'\n", tmp);
 					tries = 0;
 				} else {
 					tries--;
-					if (option_verbose > 2) {
 						if (tries)
-							ast_verbose(VERBOSE_PREFIX_3 "User entered nothing, %d chance%s left\n", tries, (tries != 1) ? "s" : "");
+						ast_verb(3, "User entered nothing, %d chance%s left\n", tries, (tries != 1) ? "s" : "");
 						else
-							ast_verbose(VERBOSE_PREFIX_3 "User entered nothing.\n");
+						ast_verb(3, "User entered nothing.\n");
 					}
-				}
 				res = 0;
 			} else {
 				pbx_builtin_setvar_helper(chan, arglist.variable, tmp);
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "User disconnected\n");
+				ast_verb(3, "User disconnected\n");
 			}
 		}
 	}
Index: apps/app_alarmreceiver.c
===================================================================
--- apps/app_alarmreceiver.c	(revision 76704)
+++ apps/app_alarmreceiver.c	(working copy)
@@ -118,8 +118,7 @@
 	res = ast_db_get(db_family, key, value, sizeof(value) - 1);

 	if(res){
-		if(option_verbose >= 4)
-			ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: Creating database entry %s and setting to 1\n", key);
+		ast_verb(4, "AlarmReceiver: Creating database entry %s and setting to 1\n", key);
 		/* Guess we have to create it */
 		res = ast_db_put(db_family, key, "1");
 		return;
@@ -128,15 +127,14 @@
 	sscanf(value, "%u", &v);
 	v++;

-	if(option_verbose >= 4)
-		ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: New value for %s: %u\n", key, v);
+	ast_verb(4, "AlarmReceiver: New value for %s: %u\n", key, v);

 	snprintf(value, sizeof(value), "%u", v);

 	res = ast_db_put(db_family, key, value);

-	if((res)&&(option_verbose >= 4))
-		ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: database_increment write error\n");
+	if (res)
+		ast_verb(4, "AlarmReceiver: database_increment write error\n");

 	return;
 }
@@ -210,8 +208,7 @@
 				break;
 			}
 			if (ast_write(chan, &wf)){
-				if(option_verbose >= 4)
-					ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: Failed to write frame on %s\n", chan->name);
+				ast_verb(4, "AlarmReceiver: Failed to write frame on %s\n", chan->name);
 				ast_log(LOG_WARNING, "AlarmReceiver Failed to write frame on %s\n",chan->name);
 				res = -1;
 				ast_frfree(f);
@@ -248,8 +245,7 @@
 		  /* if outa time, leave */
 		if (ast_tvdiff_ms(ast_tvnow(), lastdigittime) >
 		    ((i > 0) ? sdto : fdto)){
-			if(option_verbose >= 4)
-				ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: DTMF Digit Timeout on %s\n", chan->name);
+			ast_verb(4, "AlarmReceiver: DTMF Digit Timeout on %s\n", chan->name);

 			ast_debug(1,"AlarmReceiver: DTMF timeout on chan %s\n",chan->name);

@@ -350,8 +346,7 @@
 		res = fprintf(logfile, "[events]\n\n");

 	if(res < 0){
-		if (option_verbose >= 3 )
-		ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: can't write metadata\n");
+		ast_verb(4, "AlarmReceiver: can't write metadata\n");

 		ast_debug(1,"AlarmReceiver: can't write metadata\n");
 	}
@@ -402,8 +397,7 @@
 		fd = mkstemp(workstring);

 		if(fd == -1) {
-			if (option_verbose >= 3)
-				ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: can't make temporary file\n");
+			ast_verb(4, "AlarmReceiver: can't make temporary file\n");
 			ast_debug(1,"AlarmReceiver: can't make temporary file\n");
 			res = -1;
 		}
@@ -459,32 +453,20 @@

 	/* Wait for first event */

-	if(option_verbose >= 4)
-		ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: Waiting for first event from panel\n");
+	ast_verb(4, "AlarmReceiver: Waiting for first event from panel\n");

 	while(res >= 0){

 		if(got_some_digits == 0){
-
 	        	/* Send ACK tone sequence */
-
-
-        		if(option_verbose >= 4)
-                		ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: Sending 1400Hz 100ms burst (ACK)\n");
-
-
+			ast_verb(4, "AlarmReceiver: Sending 1400Hz 100ms burst (ACK)\n");
         		res = send_tone_burst(chan, 1400.0, 100, tldn);
-
         		if(!res)
                 		res = ast_safe_sleep(chan, 100);
-
         		if(!res){
-                		if(option_verbose >= 4)
-                        		ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: Sending 2300Hz 100ms burst (ACK)\n");
-
+				ast_verb(4, "AlarmReceiver: Sending 2300Hz 100ms burst (ACK)\n");
                 		res = send_tone_burst(chan, 2300.0, 100, tldn);
         		}
-
 		}

 		if( res >= 0)
@@ -497,22 +479,19 @@
 				database_increment("no-events-received");
 			else{
 				if(ack_retries){
-					if(option_verbose >= 4)
-						ast_verbose(VERBOSE_PREFIX_2 "AlarmReceiver: ACK retries during this call: %d\n", ack_retries);
+					ast_verb(4, "AlarmReceiver: ACK retries during this call: %d\n", ack_retries);

 					database_increment("ack-retries");
 				}
 			}
-			if(option_verbose >= 4)
-				ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: App exiting...\n");
+			ast_verb(4, "AlarmReceiver: App exiting...\n");
 			res = -1;
 			break;
 		}

 		if(res != 0){
 			 /* Didn't get all of the digits */
-			if(option_verbose >= 2)
-				ast_verbose(VERBOSE_PREFIX_2 "AlarmReceiver: Incomplete string: %s, trying again...\n", event);
+			ast_verb(2, "AlarmReceiver: Incomplete string: %s, trying again...\n", event);

 			if(!got_some_digits){
 				got_some_digits = (!ast_strlen_zero(event)) ? 1 : 0;
@@ -523,8 +502,7 @@

 		got_some_digits = 1;

-		if (option_verbose >= 2)
-			ast_verbose(VERBOSE_PREFIX_2 "AlarmReceiver: Received Event %s\n", event);
+		ast_verb(2, "AlarmReceiver: Received Event %s\n", event);
 		ast_debug(1, "AlarmReceiver: Received event: %s\n", event);

 		/* Calculate checksum */
@@ -542,8 +520,7 @@
 		}

 		if(i == 16){
-			if(option_verbose >= 2)
-				ast_verbose(VERBOSE_PREFIX_2 "AlarmReceiver: Bad DTMF character %c, trying again\n", event[j]);
+			ast_verb(2, "AlarmReceiver: Bad DTMF character %c, trying again\n", event[j]);
 			continue; /* Bad character */
 		}

@@ -553,8 +530,7 @@

 		if (checksum) {
 			database_increment("checksum-errors");
-			if (option_verbose >= 2)
-				ast_verbose(VERBOSE_PREFIX_2 "AlarmReceiver: Nonzero checksum\n");
+			ast_verb(2, "AlarmReceiver: Nonzero checksum\n");
 			ast_debug(1, "AlarmReceiver: Nonzero checksum\n");
 			continue;
 		}
@@ -564,8 +540,7 @@
 		if(strncmp(event + 4, "18", 2)){
 			if(strncmp(event + 4, "98", 2)){
 				database_increment("format-errors");
-				if(option_verbose >= 2)
-					ast_verbose(VERBOSE_PREFIX_2 "AlarmReceiver: Wrong message type\n");
+				ast_verb(2, "AlarmReceiver: Wrong message type\n");
 				ast_debug(1, "AlarmReceiver: Wrong message type\n");
 			continue;
 			}
@@ -635,8 +610,7 @@

 	/* Set write and read formats to ULAW */

-	if(option_verbose >= 4)
-		ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: Setting read and write formats to ULAW\n");
+	ast_verb(4, "AlarmReceiver: Setting read and write formats to ULAW\n");

 	if (ast_set_write_format(chan,AST_FORMAT_ULAW)){
 		ast_log(LOG_WARNING, "AlarmReceiver: Unable to set write format to Mu-law on %s\n",chan->name);
@@ -655,8 +629,7 @@

 	/* Answer the channel if it is not already */

-	if(option_verbose >= 4)
-		ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: Answering channel\n");
+	ast_verb(4, "AlarmReceiver: Answering channel\n");

 	if (chan->_state != AST_STATE_UP) {
 		if ((res = ast_answer(chan)))
@@ -665,8 +638,7 @@

 	/* Wait for the connection to settle post-answer */

-	if(option_verbose >= 4)
-		ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: Waiting for connection to stabilize\n");
+	ast_verb(4, "AlarmReceiver: Waiting for connection to stabilize\n");

 	res = ast_safe_sleep(chan, 1250);

@@ -730,8 +702,7 @@

 	if(!cfg){

-		if(option_verbose >= 4)
-			ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: No config file\n");
+		ast_verb(4, "AlarmReceiver: No config file\n");
 		return 0;
 	}
 	else{
Index: apps/app_getcpeid.c
===================================================================
--- apps/app_getcpeid.c	(revision 76704)
+++ apps/app_getcpeid.c	(working copy)
@@ -85,8 +85,7 @@
 		res = ast_adsi_get_cpeid(chan, cpeid, 0);
 		if (res > 0) {
 			gotcpeid = 1;
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "Got CPEID of '%02x:%02x:%02x:%02x' on '%s'\n", cpeid[0], cpeid[1], cpeid[2], cpeid[3], chan->name);
+			ast_verb(3, "Got CPEID of '%02x:%02x:%02x:%02x' on '%s'\n", cpeid[0], cpeid[1], cpeid[2], cpeid[3], chan->name);
 		}
 		if (res > -1) {
 			strcpy(data[1], "Measuring CPE...");
@@ -94,8 +93,7 @@
 			cpeid_setstatus(chan, data, 0);
 			res = ast_adsi_get_cpeinfo(chan, &width, &height, &buttons, 0);
 			if (res > -1) {
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "CPE has %d lines, %d columns, and %d buttons on '%s'\n", height, width, buttons, chan->name);
+				ast_verb(3, "CPE has %d lines, %d columns, and %d buttons on '%s'\n", height, width, buttons, chan->name);
 				gotgeometry = 1;
 			}
 		}
Index: apps/app_db.c
===================================================================
--- apps/app_db.c	(revision 76704)
+++ apps/app_db.c	(working copy)
@@ -85,17 +85,13 @@
 		keytree = 0;
 	}

-	if (option_verbose > 2)	{
 		if (keytree)
-			ast_verbose(VERBOSE_PREFIX_3 "DBdeltree: family=%s, keytree=%s\n", family, keytree);
+		ast_verb(3, "DBdeltree: family=%s, keytree=%s\n", family, keytree);
 		else
-			ast_verbose(VERBOSE_PREFIX_3 "DBdeltree: family=%s\n", family);
-	}
+		ast_verb(3, "DBdeltree: family=%s\n", family);

-	if (ast_db_deltree(family, keytree)) {
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "DBdeltree: Error deleting key from database.\n");
-	}
+	if (ast_db_deltree(family, keytree))
+		ast_verb(3, "DBdeltree: Error deleting key from database.\n");

 	return 0;
 }
@@ -119,12 +115,9 @@
 			ast_debug(1, "Ignoring; Syntax error in argument\n");
 			return 0;
 		}
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "DBdel: family=%s, key=%s\n", family, key);
-		if (ast_db_del(family, key)) {
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "DBdel: Error deleting key from database.\n");
-		}
+		ast_verb(3, "DBdel: family=%s, key=%s\n", family, key);
+		if (ast_db_del(family, key))
+			ast_verb(3, "DBdel: Error deleting key from database.\n");
 	} else {
 		ast_debug(1, "Ignoring, no parameters\n");
 	}
Index: apps/app_rpt.c
===================================================================
--- apps/app_rpt.c	(revision 76704)
+++ apps/app_rpt.c	(working copy)
@@ -924,8 +924,7 @@
 	);
 #endif

-	if (option_verbose > 2)
-		ast_verbose(VERBOSE_PREFIX_3 "%s config for repeater %s\n",
+	ast_verb(3, "%s config for repeater %s\n",
 			(init) ? "Loading initial" : "Re-Loading", rpt_vars[n].name);
 	ast_mutex_lock(&rpt_vars[n].lock);
 	if (rpt_vars[n].cfg)
@@ -2923,8 +2922,7 @@
 			l->chan->whentohangup = 0;
 			l->chan->appl = "Apprpt";
 			l->chan->data = "(Remote Rx)";
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "rpt (remote) initiating call to %s/%s on %s\n",
+			ast_verb(3, "rpt (remote) initiating call to %s/%s on %s\n",
 					deststr, tele, l->chan->name);
 			if (l->chan->cid.cid_num)
 				ast_free(l->chan->cid.cid_num);
@@ -2933,8 +2931,7 @@
 		} else {
 			rpt_telemetry(myrpt, CONNFAIL, l);
 			ast_free(l);
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "Unable to place call to %s/%s on %s\n",
+			ast_verb(3, "Unable to place call to %s/%s on %s\n",
 					deststr, tele, l->chan->name);
 			return DC_ERROR;
 		}
@@ -3036,8 +3033,7 @@
 			l->chan->whentohangup = 0;
 			l->chan->appl = "Apprpt";
 			l->chan->data = "(Remote Rx)";
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "rpt (remote) initiating call to %s/%s on %s\n",
+			ast_verb(3, "rpt (remote) initiating call to %s/%s on %s\n",
 					deststr, tele, l->chan->name);
 			if (l->chan->cid.cid_num)
 				ast_free(l->chan->cid.cid_num);
@@ -3046,8 +3042,7 @@
 		} else {
 			rpt_telemetry(myrpt, CONNFAIL, l);
 			ast_free(l);
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "Unable to place call to %s/%s on %s\n",
+			ast_verb(3, "Unable to place call to %s/%s on %s\n",
 					deststr, tele, l->chan->name);
 			return DC_ERROR;
 		}
@@ -5459,8 +5454,7 @@
 		l->chan->whentohangup = 0;
 		l->chan->appl = "Apprpt";
 		l->chan->data = "(Remote Rx)";
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "rpt (attempt_reconnect) initiating call to %s/%s on %s\n",
+		ast_verb(3, "rpt (attempt_reconnect) initiating call to %s/%s on %s\n",
 				deststr, tele, l->chan->name);
 		if (l->chan->cid.cid_num)
 			ast_free(l->chan->cid.cid_num);
@@ -5468,8 +5462,7 @@
 		ast_call(l->chan, tele, 999);

 	} else {
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "Unable to place call to %s/%s on %s\n",
+		ast_verb(3, "Unable to place call to %s/%s on %s\n",
 				deststr, tele, l->chan->name);
 		return -1;
 	}
@@ -5698,8 +5691,7 @@
 		myrpt->rxchannel->whentohangup = 0;
 		myrpt->rxchannel->appl = "Apprpt";
 		myrpt->rxchannel->data = "(Repeater Rx)";
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "rpt (Rx) initiating call to %s/%s on %s\n",
+		ast_verb(3, "rpt (Rx) initiating call to %s/%s on %s\n",
 				tmpstr, tele, myrpt->rxchannel->name);
 		ast_call(myrpt->rxchannel, tele, 999);
 		if (myrpt->rxchannel->_state != AST_STATE_UP) {
@@ -5740,8 +5732,7 @@
 			myrpt->txchannel->whentohangup = 0;
 			myrpt->txchannel->appl = "Apprpt";
 			myrpt->txchannel->data = "(Repeater Tx)";
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "rpt (Tx) initiating call to %s/%s on %s\n",
+			ast_verb(3, "rpt (Tx) initiating call to %s/%s on %s\n",
 					tmpstr, tele, myrpt->txchannel->name);
 			ast_call(myrpt->txchannel, tele, 999);
 			if (myrpt->rxchannel->_state != AST_STATE_UP) {
@@ -6897,8 +6888,7 @@

 		if (!ast_strlen_zero(optionarg.return_context)) {
 			if (ast_parseable_goto(chan, optionarg.return_context)) {
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "Warning: Return Context Invalid, call will return to default|s\n");
+				ast_verb(3, "Warning: Return Context Invalid, call will return to default|s\n");
 			}
 		}

@@ -6906,8 +6896,7 @@
 		before we are done announcing and the channel is messed with, Kablooeee.  So we use Masq to prevent this.  */

 		ast_masq_park_call(chan, NULL, timeout, &lot);
-		if (option_verbose > 2)
-			ast_verbose( VERBOSE_PREFIX_3 "Call Parking Called, lot: %d, timeout: %d, context: %s\n", lot, timeout, optionarg.return_context);
+		ast_verb(3, "Call Parking Called, lot: %d, timeout: %d, context: %s\n", lot, timeout, optionarg.return_context);

 		snprintf(tmp, sizeof(tmp), "%d,%s", lot, optionarg.template + 1);
 		rpt_telemetry(myrpt, REV_PATCH, tmp);
@@ -7112,8 +7101,7 @@
 		myrpt->rxchannel->whentohangup = 0;
 		myrpt->rxchannel->appl = "Apprpt";
 		myrpt->rxchannel->data = "(Link Rx)";
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "rpt (Rx) initiating call to %s/%s on %s\n",
+		ast_verb(3, "rpt (Rx) initiating call to %s/%s on %s\n",
 				myrpt->rxchanname, tele, myrpt->rxchannel->name);
 		rpt_mutex_unlock(&myrpt->lock);
 		ast_call(myrpt->rxchannel, tele, 999);
@@ -7140,8 +7128,7 @@
 			myrpt->txchannel->whentohangup = 0;
 			myrpt->txchannel->appl = "Apprpt";
 			myrpt->txchannel->data = "(Link Tx)";
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "rpt (Tx) initiating call to %s/%s on %s\n",
+			ast_verb(3, "rpt (Tx) initiating call to %s/%s on %s\n",
 					myrpt->txchanname, tele, myrpt->txchannel->name);
 			rpt_mutex_unlock(&myrpt->lock);
 			ast_call(myrpt->txchannel, tele, 999);
Index: apps/app_mixmonitor.c
===================================================================
--- apps/app_mixmonitor.c	(revision 76704)
+++ apps/app_mixmonitor.c	(working copy)
@@ -152,8 +152,7 @@
 	char *ext;
 	int errflag = 0;

-	if (option_verbose > 1)
-		ast_verbose(VERBOSE_PREFIX_2 "Begin MixMonitor Recording %s\n", mixmonitor->name);
+	ast_verb(2, "Begin MixMonitor Recording %s\n", mixmonitor->name);

 	ast_mutex_lock(&mixmonitor->spy.lock);

@@ -208,12 +207,10 @@

 	ast_channel_spy_free(&mixmonitor->spy);

-	if (option_verbose > 1)
-		ast_verbose(VERBOSE_PREFIX_2 "End MixMonitor Recording %s\n", mixmonitor->name);
+	ast_verb(2, "End MixMonitor Recording %s\n", mixmonitor->name);

 	if (mixmonitor->post_process) {
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_2 "Executing [%s]\n", mixmonitor->post_process);
+		ast_verb(2, "Executing [%s]\n", mixmonitor->post_process);
 		ast_safe_system(mixmonitor->post_process);
 	}

Index: apps/app_parkandannounce.c
===================================================================
--- apps/app_parkandannounce.c	(revision 76704)
+++ apps/app_parkandannounce.c	(working copy)
@@ -109,26 +109,22 @@
 	}

 	dialtech = strsep(&args.dial, "/");
-	if (option_verbose > 2)
-		ast_verbose(VERBOSE_PREFIX_3 "Dial Tech,String: (%s,%s)\n", dialtech, args.dial);
+	ast_verb(3, "Dial Tech,String: (%s,%s)\n", dialtech, args.dial);

 	if (!ast_strlen_zero(args.return_context))
 		ast_parseable_goto(chan, args.return_context);

-	if (option_verbose > 2) {
-		ast_verbose(VERBOSE_PREFIX_3 "Return Context: (%s,%s,%d) ID: %s\n", chan->context, chan->exten, chan->priority, chan->cid.cid_num);
+	ast_verb(3, "Return Context: (%s,%s,%d) ID: %s\n", chan->context, chan->exten, chan->priority, chan->cid.cid_num);
 		if (!ast_exists_extension(chan, chan->context, chan->exten, chan->priority, chan->cid.cid_num)) {
-			ast_verbose(VERBOSE_PREFIX_3 "Warning: Return Context Invalid, call will return to default|s\n");
+		ast_verb(3, "Warning: Return Context Invalid, call will return to default|s\n");
 		}
-	}

 	/* we are using masq_park here to protect * from touching the channel once we park it.  If the channel comes out of timeout
 	before we are done announcing and the channel is messed with, Kablooeee.  So we use Masq to prevent this.  */

 	ast_masq_park_call(chan, NULL, timeout, &lot);

-	if (option_verbose > 2)
-		ast_verbose(VERBOSE_PREFIX_3 "Call Parking Called, lot: %d, timeout: %d, context: %s\n", lot, timeout, args.return_context);
+	ast_verb(3, "Call Parking Called, lot: %d, timeout: %d, context: %s\n", lot, timeout, args.return_context);

 	/* Now place the call to the extension */

@@ -139,11 +135,9 @@

 	if (dchan) {
 		if (dchan->_state == AST_STATE_UP) {
-			if (option_verbose > 3)
-				ast_verbose(VERBOSE_PREFIX_4 "Channel %s was answered.\n", dchan->name);
+			ast_verb(4, "Channel %s was answered.\n", dchan->name);
 		} else {
-			if (option_verbose > 3)
-				ast_verbose(VERBOSE_PREFIX_4 "Channel %s was never answered.\n", dchan->name);
+			ast_verb(4, "Channel %s was never answered.\n", dchan->name);
         			ast_log(LOG_WARNING, "PARK: Channel %s was never answered for the announce.\n", dchan->name);
 			ast_hangup(dchan);
 			return -1;
@@ -157,16 +151,14 @@

 	/* now we have the call placed and are ready to play stuff to it */

-	if (option_verbose > 3)
-		ast_verbose(VERBOSE_PREFIX_4 "Announce Template:%s\n", args.template);
+	ast_verb(4, "Announce Template:%s\n", args.template);

 	for (looptemp = 0, tmp[looptemp++] = strsep(&args.template, ":");
 		 looptemp < sizeof(tmp) / sizeof(tmp[0]);
 		 tmp[looptemp++] = strsep(&args.template, ":"));

 	for (i = 0; i < looptemp; i++) {
-		if (option_verbose > 3)
-			ast_verbose(VERBOSE_PREFIX_4 "Announce:%s\n", tmp[i]);
+		ast_verb(4, "Announce:%s\n", tmp[i]);
 		if (!strcmp(tmp[i], "PARKED")) {
 			ast_say_digits(dchan, lot, "", dchan->language);
 		} else {
Index: apps/app_meetme.c
===================================================================
--- apps/app_meetme.c	(revision 76704)
+++ apps/app_meetme.c	(working copy)
@@ -819,8 +819,7 @@
 	cnf->start = time(NULL);
 	cnf->zapconf = ztc.confno;
 	cnf->isdynamic = dynamic ? 1 : 0;
-	if (option_verbose > 2)
-		ast_verbose(VERBOSE_PREFIX_3 "Created MeetMe conference %d for conference '%s'\n", cnf->zapconf, cnf->confno);
+	ast_verb(3, "Created MeetMe conference %d for conference '%s'\n", cnf->zapconf, cnf->confno);
 	AST_LIST_INSERT_HEAD(&confs, cnf, list);

 	/* Reserve conference number in map */
@@ -1456,7 +1455,7 @@
 				snprintf(recordingtmp, sizeof(recordingtmp), "wav");
 				conf->recordingformat = ast_strdupa(recordingtmp);
 			}
-			ast_verbose(VERBOSE_PREFIX_4 "Starting recording of MeetMe Conference %s into file %s.%s.\n",
+			ast_verb(4, "Starting recording of MeetMe Conference %s into file %s.%s.\n",
 				    conf->confno, conf->recordingfilename, conf->recordingformat);
 		}
 	}
Index: apps/app_dumpchan.c
===================================================================
--- apps/app_dumpchan.c	(revision 76704)
+++ apps/app_dumpchan.c	(working copy)
@@ -152,8 +152,8 @@

 	pbx_builtin_serialize_variables(chan, &vars);
 	serialize_showchan(chan, info, sizeof(info));
-	if (option_verbose >= level)
-		ast_verbose("\nDumping Info For Channel: %s:\n%s\nInfo:\n%s\nVariables:\n%s%s\n", chan->name, line, info, vars->str, line);
+	if (level)
+		ast_verb(1, "\nDumping Info For Channel: %s:\n%s\nInfo:\n%s\nVariables:\n%s%s\n", chan->name, line, info, vars->str, line);

 	return 0;
 }
Index: apps/app_minivm.c
===================================================================
--- apps/app_minivm.c	(revision 76704)
+++ apps/app_minivm.c	(working copy)
@@ -1266,20 +1266,17 @@
 		switch (cmd) {
  		case '2':
  			/* Review */
- 			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "Reviewing the message\n");
+			ast_verb(3, "Reviewing the message\n");
  			ast_streamfile(chan, recordfile, chan->language);
  			cmd = ast_waitstream(chan, AST_DIGIT_ANY);
  			break;
  		case '3':
  			message_exists = 0;
  			/* Record */
-			if (option_verbose > 2) {
  				if (recorded == 1)
-					ast_verbose(VERBOSE_PREFIX_3 "Re-recording the message\n");
+				ast_verb(3, "Re-recording the message\n");
  				else
-					ast_verbose(VERBOSE_PREFIX_3 "Recording the message\n");
-			}
+				ast_verb(3, "Recording the message\n");
 			if (recorded && outsidecaller)
  				cmd = ast_play_and_wait(chan, "beep");
  			recorded = 1;
@@ -1581,8 +1578,7 @@
 		}

 		if (duration < global_vmminmessage) {
-			if (option_verbose > 2)
-				ast_verbose( VERBOSE_PREFIX_3 "Recording was %d seconds long but needs to be at least %d - abandoning\n", duration, global_vmminmessage);
+			ast_verb(3, "Recording was %d seconds long but needs to be at least %d - abandoning\n", duration, global_vmminmessage);
 			fclose(txt);
 			ast_filedelete(tmptxtfile, NULL);
 			unlink(tmptxtfile);
Index: apps/app_macro.c
===================================================================
--- apps/app_macro.c	(revision 76704)
+++ apps/app_macro.c	(working copy)
@@ -313,14 +313,12 @@
 				goto out;
 			case AST_PBX_KEEPALIVE:
 				ast_debug(2, "Spawn extension (%s,%s,%d) exited KEEPALIVE in macro %s on '%s'\n", chan->context, chan->exten, chan->priority, macro, chan->name);
-				if (option_verbose > 1)
-					ast_verbose( VERBOSE_PREFIX_2 "Spawn extension (%s, %s, %d) exited KEEPALIVE in macro '%s' on '%s'\n", chan->context, chan->exten, chan->priority, macro, chan->name);
+				ast_verb(2, "Spawn extension (%s, %s, %d) exited KEEPALIVE in macro '%s' on '%s'\n", chan->context, chan->exten, chan->priority, macro, chan->name);
 				goto out;
 				break;
 			default:
 				ast_debug(2, "Spawn extension (%s,%s,%d) exited non-zero on '%s' in macro '%s'\n", chan->context, chan->exten, chan->priority, chan->name, macro);
-				if (option_verbose > 1)
-					ast_verbose( VERBOSE_PREFIX_2 "Spawn extension (%s, %s, %d) exited non-zero on '%s' in macro '%s'\n", chan->context, chan->exten, chan->priority, chan->name, macro);
+				ast_verb(2, "Spawn extension (%s, %s, %d) exited non-zero on '%s' in macro '%s'\n", chan->context, chan->exten, chan->priority, chan->name, macro);
 				dead = 1;
 				goto out;
 			}
@@ -382,8 +380,7 @@
 		}

 		if (gosub_level == 0 && strcasecmp(chan->context, fullmacro)) {
-			if (option_verbose > 1)
-				ast_verbose(VERBOSE_PREFIX_2 "Channel '%s' jumping out of macro '%s'\n", chan->name, macro);
+			ast_verb(2, "Channel '%s' jumping out of macro '%s'\n", chan->name, macro);
 			break;
 		}

Index: apps/app_sms.c
===================================================================
--- apps/app_sms.c	(revision 76704)
+++ apps/app_sms.c	(working copy)
@@ -1168,7 +1168,7 @@
 	char debug_buf[MAX_DEBUG_LEN * 3 + 1];

 	sz = h->imsg[1] + 2;
-	/* ast_verbose(VERBOSE_PREFIX_3 "SMS-P2 Frame: %s\n", sms_hexdump(h->imsg, sz, debug_buf)); */
+	/* ast_verb(3, "SMS-P2 Frame: %s\n", sms_hexdump(h->imsg, sz, debug_buf)); */

 	/* Parse message body (called payload) */
 	tv.tv_sec = h->scts = time(NULL);
@@ -1178,8 +1178,7 @@
 		msgsz += (h->imsg[f++] * 256);
 		switch (msg) {
 		case 0x13:      /* Body */
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "SMS-P2 Body#%02X=[%.*s]\n", msg, msgsz, &h->imsg[f]);
+			ast_verb(3, "SMS-P2 Body#%02X=[%.*s]\n", msg, msgsz, &h->imsg[f]);
 			if (msgsz >= sizeof(h->imsg))
 				msgsz = sizeof(h->imsg) - 1;
 			for (i = 0; i < msgsz; i++)
@@ -1195,30 +1194,25 @@
 			tm.tm_min = ( (h->imsg[f + 6] * 10) + h->imsg[f + 7] );
 			tm.tm_sec = 0;
 			h->scts = ast_mktime(&tm, NULL);
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "SMS-P2 Date#%02X=%02d/%02d %02d:%02d\n", msg, tm.tm_mday, tm.tm_mon + 1, tm.tm_hour, tm.tm_min);
+			ast_verb(3, "SMS-P2 Date#%02X=%02d/%02d %02d:%02d\n", msg, tm.tm_mday, tm.tm_mon + 1, tm.tm_hour, tm.tm_min);
 			break;
 		case 0x15:      /* Calling line (from SMSC) */
 			if (msgsz >= 20)
 				msgsz = 20 - 1;
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "SMS-P2 Origin#%02X=[%.*s]\n", msg, msgsz, &h->imsg[f]);
+			ast_verb(3, "SMS-P2 Origin#%02X=[%.*s]\n", msg, msgsz, &h->imsg[f]);
 			ast_copy_string(h->oa, (char *)(&h->imsg[f]), msgsz + 1);
 			break;
 		case 0x18:      /* Destination(from TE/phone) */
 			if (msgsz >= 20)
 				msgsz = 20 - 1;
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "SMS-P2 Destination#%02X=[%.*s]\n", msg, msgsz, &h->imsg[f]);
+			ast_verb(3, "SMS-P2 Destination#%02X=[%.*s]\n", msg, msgsz, &h->imsg[f]);
 			ast_copy_string(h->da, (char *)(&h->imsg[f]), msgsz + 1);
 			break;
 		case 0x1C:      /* Notify */
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "SMS-P2 Notify#%02X=%s\n", msg, sms_hexdump(&h->imsg[f], 3, debug_buf));
+			ast_verb(3, "SMS-P2 Notify#%02X=%s\n", msg, sms_hexdump(&h->imsg[f], 3, debug_buf));
 			break;
 		default:
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "SMS-P2 Par#%02X [%d]: %s\n", msg, msgsz, sms_hexdump(&h->imsg[f], msgsz, debug_buf));
+			ast_verb(3, "SMS-P2 Par#%02X [%d]: %s\n", msg, msgsz, sms_hexdump(&h->imsg[f], msgsz, debug_buf));
 			break;
 		}
 		f+=msgsz;       /* Skip to next */
@@ -1391,8 +1385,7 @@
 	}
 	if (q < n)
 		sprintf(p, "...");
-	if (option_verbose > 2)
-		ast_verbose(VERBOSE_PREFIX_3 "SMS %s%s\n", dir == DIR_RX ? "RX" : "TX", txt);
+	ast_verb(3, "SMS %s%s\n", dir == DIR_RX ? "RX" : "TX", txt);
 }


@@ -1675,8 +1668,7 @@
 			/* Protocol 2: empty connnection ready (I am master) */
 			if (h->framenumber < 0 && h->ibytec >= 160 && !memcmp(h->imsg, "UUUUUUUUUUUUUUUUUUUU", 20)) {
 				h->framenumber = 1;
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "SMS protocol 2 detected\n");
+				ast_verb(3, "SMS protocol 2 detected\n");
 				h->protocol = 2;
 				h->imsg[0] = 0xff;      /* special message (fake) */
 				h->imsg[1] = h->imsg[2] = 0x00;
@@ -1774,7 +1766,7 @@
 	if (sms_args.argc > 1)
 		ast_app_parse_options(sms_options, &sms_flags, sms_opts, sms_args.options);

-	ast_verbose("sms argc %d queue <%s> opts <%s> addr <%s> body <%s>\n",
+	ast_verb(1, "sms argc %d queue <%s> opts <%s> addr <%s> body <%s>\n",
 		sms_args.argc, S_OR(sms_args.queue, ""),
 		S_OR(sms_args.options, ""),
 		S_OR(sms_args.addr, ""),
@@ -1806,7 +1798,7 @@
 		h.opause_0 = atoi(sms_opts[OPTION_ARG_PAUSE]);
 	if (h.opause_0 < 25 || h.opause_0 > 2000)
 		h.opause_0 = 300;	/* default 300ms */
-	ast_verbose("initial delay %dms\n", h.opause_0);
+	ast_verb(1, "initial delay %dms\n", h.opause_0);


 	/* the following apply if there is an arg3/4 and apply to the created message file */
Index: apps/app_voicemail.c
===================================================================
--- apps/app_voicemail.c	(revision 76704)
+++ apps/app_voicemail.c	(working copy)
@@ -3288,8 +3288,7 @@

 		if (txt) {
 			if (duration < vmminsecs) {
-				if (option_verbose > 2)
-					ast_verbose( VERBOSE_PREFIX_3 "Recording was %d seconds long but needs to be at least %d - abandoning\n", duration, vmminsecs);
+				ast_verb(3, "Recording was %d seconds long but needs to be at least %d - abandoning\n", duration, vmminsecs);
 				ast_filedelete(tmptxtfile, NULL);
 				unlink(tmptxtfile);
 				if (ast_check_realtime("voicemail_data")) {
@@ -4549,14 +4548,12 @@
 				if (!ast_strlen_zero(prefile)) {
 				/* See if we can find a recorded name for this person instead of their extension number */
 					if (ast_fileexists(prefile, NULL, NULL) > 0) {
-						if (option_verbose > 2)
-							ast_verbose(VERBOSE_PREFIX_3 "Playing envelope info: CID number '%s' matches mailbox number, playing recorded name\n", callerid);
+						ast_verb(3, "Playing envelope info: CID number '%s' matches mailbox number, playing recorded name\n", callerid);
 						if (!callback)
 							res = wait_file2(chan, vms, "vm-from");
 						res = ast_stream_and_wait(chan, prefile, "");
 					} else {
-						if (option_verbose > 2)
-							ast_verbose(VERBOSE_PREFIX_3 "Playing envelope info: message from '%s'\n", callerid);
+						ast_verb(3, "Playing envelope info: message from '%s'\n", callerid);
 						/* BB: Say "from extension" as one saying to sound smoother */
 						if (!callback)
 							res = wait_file2(chan, vms, "vm-from-extension");
@@ -6648,8 +6645,7 @@
 			if (chan->cid.cid_num) {
 				ast_copy_string(mailbox, chan->cid.cid_num, mailbox_size);
 			} else {
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "Username not entered\n");
+				ast_verb(3, "Username not entered\n");
 				return -1;
 			}
 		}
@@ -6686,8 +6682,7 @@
 		if (vmu && !strcmp(passptr, password))
 			valid++;
 		else {
-			if (option_verbose > 2)
-				ast_verbose( VERBOSE_PREFIX_3 "Incorrect password '%s' for user '%s' (context = %s)\n", password, mailbox, context ? context : "default");
+			ast_verb(3, "Incorrect password '%s' for user '%s' (context = %s)\n", password, mailbox, context ? context : "default");
 			if (!ast_strlen_zero(prefix))
 				mailbox[0] = '\0';
 		}
@@ -6988,8 +6983,8 @@
 					cmd = 't';
 					break;
 				case '2': /* Callback */
-					if (option_verbose > 2 && !vms.starting)
-						ast_verbose( VERBOSE_PREFIX_3 "Callback Requested\n");
+					if (!vms.starting)
+						ast_verb(3, "Callback Requested\n");
 					if (!ast_strlen_zero(vmu->callback) && vms.lastmsg > -1 && !vms.starting) {
 						cmd = advanced_options(chan, vmu, &vms, vms.curmsg, 2, record_gain);
 						if (cmd == 9) {
@@ -8518,8 +8513,7 @@
 	int retries = 0;

 	if (!num) {
-		if (option_verbose > 2)
-			ast_verbose( VERBOSE_PREFIX_3 "Destination number will be entered manually\n");
+		ast_verb(3, "Destination number will be entered manually\n");
 		while (retries < 3 && cmd != 't') {
 			destination[1] = '\0';
 			destination[0] = cmd = ast_play_and_wait(chan,"vm-enter-num-to-call");
@@ -8539,8 +8533,7 @@
 				if (cmd < 0)
 					return 0;
 				if (cmd == '*') {
-					if (option_verbose > 2)
-						ast_verbose( VERBOSE_PREFIX_3 "User hit '*' to cancel outgoing call\n");
+					ast_verb(3, "User hit '*' to cancel outgoing call\n");
 					return 0;
 				}
 				if ((cmd = ast_readstring(chan,destination + strlen(destination),sizeof(destination)-1,6000,10000,"#")) < 0)
@@ -8554,16 +8547,14 @@
 		}

 	} else {
-		if (option_verbose > 2)
-			ast_verbose( VERBOSE_PREFIX_3 "Destination number is CID number '%s'\n", num);
+		ast_verb(3, "Destination number is CID number '%s'\n", num);
 		ast_copy_string(destination, num, sizeof(destination));
 	}

 	if (!ast_strlen_zero(destination)) {
 		if (destination[strlen(destination) -1 ] == '*')
 			return 0;
-		if (option_verbose > 2)
-			ast_verbose( VERBOSE_PREFIX_3 "Placing outgoing call to extension '%s' in context '%s' from context '%s'\n", destination, outgoing_context, chan->context);
+		ast_verb(3, "Placing outgoing call to extension '%s' in context '%s' from context '%s'\n", destination, outgoing_context, chan->context);
 		ast_copy_string(chan->exten, destination, sizeof(chan->exten));
 		ast_copy_string(chan->context, outgoing_context, sizeof(chan->context));
 		chan->priority = 0;
@@ -8693,8 +8684,7 @@
 						return 9;
 					}
 				} else {
-					if (option_verbose > 2)
-						ast_verbose( VERBOSE_PREFIX_3 "Caller can not specify callback number - no dialout context available\n");
+					ast_verb(3, "Caller can not specify callback number - no dialout context available\n");
 					res = ast_play_and_wait(chan, "vm-sorry");
 				}
 				ast_config_destroy(msg_cfg);
@@ -8716,8 +8706,7 @@
 				break;
 			default:
 				if (num) {
-					if (option_verbose > 2)
-						ast_verbose( VERBOSE_PREFIX_3 "Confirm CID number '%s' is number to use for callback\n", num);
+					ast_verb(3, "Confirm CID number '%s' is number to use for callback\n", num);
 					res = ast_play_and_wait(chan, "vm-num-i-have");
 					if (!res)
 						res = play_message_callerid(chan, vms, num, vmu->context, 1);
@@ -8761,8 +8750,7 @@

 		ast_callerid_parse(cid, &name, &num);
 		if (!num) {
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "No CID number available, no reply sent\n");
+			ast_verb(3, "No CID number available, no reply sent\n");
 			if (!res)
 				res = ast_play_and_wait(chan, "vm-nonumber");
 			ast_config_destroy(msg_cfg);
@@ -8774,8 +8762,7 @@
 				char mailbox[AST_MAX_EXTENSION * 2 + 2];
 				snprintf(mailbox, sizeof(mailbox), "%s@%s", num, vmu->context);

-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "Leaving voicemail for '%s' in context '%s'\n", num, vmu->context);
+				ast_verb(3, "Leaving voicemail for '%s' in context '%s'\n", num, vmu->context);

 				memset(&leave_options, 0, sizeof(leave_options));
 				leave_options.record_gain = record_gain;
@@ -8786,8 +8773,7 @@
 				return res;
 			} else {
 				/* Sender has no mailbox, can't reply */
-				if (option_verbose > 2)
-					ast_verbose( VERBOSE_PREFIX_3 "No mailbox number '%s' in context '%s', no reply sent\n", num, vmu->context);
+				ast_verb(3, "No mailbox number '%s' in context '%s', no reply sent\n", num, vmu->context);
 				ast_play_and_wait(chan, "vm-nobox");
 				res = 't';
 				ast_config_destroy(msg_cfg);
@@ -8851,8 +8837,7 @@
 				break;
 			} else {
 				/* Otherwise 1 is to save the existing message */
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "Saving message as is\n");
+				ast_verb(3, "Saving message as is\n");
 				if (!outsidecaller)
 					ast_filerename(tempfile, recordfile, NULL);
 				ast_stream_and_wait(chan, "vm-msgsaved", "");
@@ -8865,19 +8850,16 @@
 			}
 		case '2':
 			/* Review */
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "Reviewing the message\n");
+			ast_verb(3, "Reviewing the message\n");
 			cmd = ast_stream_and_wait(chan, tempfile, AST_DIGIT_ANY);
 			break;
 		case '3':
 			message_exists = 0;
 			/* Record */
 			if (recorded == 1) {
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "Re-recording the message\n");
+				ast_verb(3, "Re-recording the message\n");
 			} else {
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "Recording the message\n");
+				ast_verb(3, "Recording the message\n");
 			}
 			if (recorded && outsidecaller) {
 				cmd = ast_play_and_wait(chan, INTRO);
@@ -8908,16 +8890,14 @@
 #if 0
 			else if (vmu->review && (*duration < 5)) {
 				/* Message is too short */
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "Message too short\n");
+				ast_verb(3, "Message too short\n");
 				cmd = ast_play_and_wait(chan, "vm-tooshort");
 				cmd = ast_filedelete(tempfile, NULL);
 				break;
 			}
 			else if (vmu->review && (cmd == 2 && *duration < (maxsilence + 3))) {
 				/* Message is all silence */
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "Nothing recorded\n");
+				ast_verb(3, "Nothing recorded\n");
 				cmd = ast_filedelete(tempfile, NULL);
 				cmd = ast_play_and_wait(chan, "vm-nothingrecorded");
 				if (!cmd)
Index: apps/app_dial.c
===================================================================
--- apps/app_dial.c	(revision 76704)
+++ apps/app_dial.c	(working copy)
@@ -474,12 +474,10 @@
 	/* Before processing channel, go ahead and check for forwarding */
 	o->forwards++;
 	if (o->forwards < AST_MAX_FORWARDS) {
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "Now forwarding %s to '%s/%s' (thanks to %s)\n", in->name, tech, stuff, c->name);
+		ast_verb(3, "Now forwarding %s to '%s/%s' (thanks to %s)\n", in->name, tech, stuff, c->name);
 		/* If we have been told to ignore forwards, just set this channel to null and continue processing extensions normally */
 		if (ast_test_flag64(peerflags, OPT_IGNORE_FORWARDING)) {
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "Forwarding %s to '%s/%s' prevented.\n", in->name, tech, stuff);
+			ast_verb(3, "Forwarding %s to '%s/%s' prevented.\n", in->name, tech, stuff);
 			c = o->chan = NULL;
 			cause = AST_CAUSE_BUSY;
 		} else {
@@ -493,8 +491,7 @@
 				ast_log(LOG_NOTICE, "Unable to create local channel for call forward to '%s/%s' (cause = %d)\n", tech, stuff, cause);
 		}
 	} else {
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "Too many forwards from %s\n", c->name);
+		ast_verb(3, "Too many forwards from %s\n", c->name);
 		cause = AST_CAUSE_CONGESTION;
 		c = o->chan = NULL;
 	}
@@ -588,8 +585,7 @@
 		}
 		if (pos == 1) {	/* only the input channel is available */
 			if (numlines == (num.busy + num.congestion + num.nochan)) {
-				if (option_verbose > 2)
-					ast_verbose( VERBOSE_PREFIX_2 "Everyone is busy/congested at this time (%d:%d/%d/%d)\n", numlines, num.busy, num.congestion, num.nochan);
+				ast_verb(2, "Everyone is busy/congested at this time (%d:%d/%d/%d)\n", numlines, num.busy, num.congestion, num.nochan);
 				if (num.busy)
 					strcpy(pa->status, "BUSY");
 				else if (num.congestion)
@@ -597,8 +593,7 @@
 				else if (num.nochan)
 					strcpy(pa->status, "CHANUNAVAIL");
 			} else {
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "No one is available to answer at this time (%d:%d/%d/%d)\n", numlines, num.busy, num.congestion, num.nochan);
+				ast_verb(3, "No one is available to answer at this time (%d:%d/%d/%d)\n", numlines, num.busy, num.congestion, num.nochan);
 			}
 			*to = 0;
 			return NULL;
@@ -612,8 +607,7 @@
 				continue;
 			if (ast_test_flag64(o, DIAL_STILLGOING) && c->_state == AST_STATE_UP) {
 				if (!peer) {
-					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "%s answered %s\n", c->name, in->name);
+					ast_verb(3, "%s answered %s\n", c->name, in->name);
 					peer = c;
 					ast_copy_flags64(peerflags, o,
 						       OPT_CALLEE_TRANSFER | OPT_CALLER_TRANSFER |
@@ -647,8 +641,7 @@
 				case AST_CONTROL_ANSWER:
 					/* This is our guy if someone answered. */
 					if (!peer) {
-						if (option_verbose > 2)
-							ast_verbose( VERBOSE_PREFIX_3 "%s answered %s\n", c->name, in->name);
+						ast_verb(3, "%s answered %s\n", c->name, in->name);
 						peer = c;
 						ast_copy_flags64(peerflags, o,
 							       OPT_CALLEE_TRANSFER | OPT_CALLER_TRANSFER |
@@ -666,8 +659,7 @@
 					c->hangupcause = AST_CAUSE_NORMAL_CLEARING;
 					break;
 				case AST_CONTROL_BUSY:
-					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "%s is busy\n", c->name);
+					ast_verb(3, "%s is busy\n", c->name);
 					in->hangupcause = c->hangupcause;
 					ast_hangup(c);
 					c = o->chan = NULL;
@@ -675,8 +667,7 @@
 					handle_cause(AST_CAUSE_BUSY, &num);
 					break;
 				case AST_CONTROL_CONGESTION:
-					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "%s is circuit-busy\n", c->name);
+					ast_verb(3, "%s is circuit-busy\n", c->name);
 					in->hangupcause = c->hangupcause;
 					ast_hangup(c);
 					c = o->chan = NULL;
@@ -684,8 +675,7 @@
 					handle_cause(AST_CAUSE_CONGESTION, &num);
 					break;
 				case AST_CONTROL_RINGING:
-					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "%s is ringing\n", c->name);
+					ast_verb(3, "%s is ringing\n", c->name);
 					/* Setup early media if appropriate */
 					if (single)
 						ast_channel_early_bridge(in, c);
@@ -695,8 +685,7 @@
 					}
 					break;
 				case AST_CONTROL_PROGRESS:
-					if (option_verbose > 2)
-						ast_verbose (VERBOSE_PREFIX_3 "%s is making progress passing it to %s\n", c->name, in->name);
+					ast_verb(3, "%s is making progress passing it to %s\n", c->name, in->name);
 					/* Setup early media if appropriate */
 					if (single)
 						ast_channel_early_bridge(in, c);
@@ -704,26 +693,22 @@
 						ast_indicate(in, AST_CONTROL_PROGRESS);
 					break;
 				case AST_CONTROL_VIDUPDATE:
-					if (option_verbose > 2)
-						ast_verbose (VERBOSE_PREFIX_3 "%s requested a video update, passing it to %s\n", c->name, in->name);
+					ast_verb(3, "%s requested a video update, passing it to %s\n", c->name, in->name);
 					ast_indicate(in, AST_CONTROL_VIDUPDATE);
 					break;
 				case AST_CONTROL_PROCEEDING:
-					if (option_verbose > 2)
-						ast_verbose (VERBOSE_PREFIX_3 "%s is proceeding passing it to %s\n", c->name, in->name);
+					ast_verb(3, "%s is proceeding passing it to %s\n", c->name, in->name);
 					if (single)
 						ast_channel_early_bridge(in, c);
 					if (!ast_test_flag64(outgoing, OPT_RINGBACK))
 						ast_indicate(in, AST_CONTROL_PROCEEDING);
 					break;
 				case AST_CONTROL_HOLD:
-					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "Call on %s placed on hold\n", c->name);
+					ast_verb(3, "Call on %s placed on hold\n", c->name);
 					ast_indicate(in, AST_CONTROL_HOLD);
 					break;
 				case AST_CONTROL_UNHOLD:
-					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "Call on %s left from hold\n", c->name);
+					ast_verb(3, "Call on %s left from hold\n", c->name);
 					ast_indicate(in, AST_CONTROL_UNHOLD);
 					break;
 				case AST_CONTROL_OFFHOOK:
@@ -732,8 +717,7 @@
 					break;
 				case -1:
 					if (!ast_test_flag64(outgoing, OPT_RINGBACK | OPT_MUSICBACK)) {
-						if (option_verbose > 2)
-							ast_verbose(VERBOSE_PREFIX_3 "%s stopped sounds\n", c->name);
+						ast_verb(3, "%s stopped sounds\n", c->name);
 						ast_indicate(in, -1);
 						pa->sentringing = 0;
 					}
@@ -782,8 +766,7 @@
 				if (ast_test_flag64(peerflags, OPT_DTMF_EXIT)) {
 					const char *context = pbx_builtin_getvar_helper(in, "EXITCONTEXT");
 					if (onedigit_goto(in, context, (char) f->subclass, 1)) {
-						if (option_verbose > 2)
-							ast_verbose(VERBOSE_PREFIX_3 "User hit %c to disconnect call.\n", f->subclass);
+						ast_verb(3, "User hit %c to disconnect call.\n", f->subclass);
 						*to=0;
 						ast_cdr_noanswer(in->cdr);
 						*result = f->subclass;
@@ -795,8 +778,7 @@

 				if (ast_test_flag64(peerflags, OPT_CALLER_HANGUP) &&
 						  (f->subclass == '*')) { /* hmm it it not guaranteed to be '*' anymore. */
-					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "User hit %c to disconnect call.\n", f->subclass);
+					ast_verb(3, "User hit %c to disconnect call.\n", f->subclass);
 					*to=0;
 					strcpy(pa->status, "CANCEL");
 					ast_cdr_noanswer(in->cdr);
@@ -819,14 +801,13 @@
 				((f->subclass == AST_CONTROL_HOLD) ||
 				 (f->subclass == AST_CONTROL_UNHOLD) ||
 				 (f->subclass == AST_CONTROL_VIDUPDATE))) {
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "%s requested special control %d, passing it to %s\n", in->name, f->subclass, outgoing->chan->name);
+				ast_verb(3, "%s requested special control %d, passing it to %s\n", in->name, f->subclass, outgoing->chan->name);
 				ast_indicate_data(outgoing->chan, f->subclass, f->data, f->datalen);
 			}
 			ast_frfree(f);
 		}
-		if (!*to && (option_verbose > 2))
-			ast_verbose(VERBOSE_PREFIX_3 "Nobody picked up in %d ms\n", orig);
+		if (!*to)
+			ast_verb(3, "Nobody picked up in %d ms\n", orig);
 		if (!*to || ast_check_hangup(in)) {
 			ast_cdr_noanswer(in->cdr);
 		}
@@ -931,21 +912,20 @@
 	/* more efficient to do it like S(x) does since no advanced opts */
 	if (!config->play_warning && !config->start_sound && !config->end_sound && config->timelimit) {
 		*calldurationlimit = config->timelimit / 1000;
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "Setting call duration limit to %d seconds.\n",
+		ast_verb(3, "Setting call duration limit to %d seconds.\n",
 				*calldurationlimit);
 		config->timelimit = play_to_caller = play_to_callee =
 		config->play_warning = config->warning_freq = 0;
-	} else if (option_verbose > 2) {
-		ast_verbose(VERBOSE_PREFIX_3 "Limit Data for this call:\n");
-		ast_verbose(VERBOSE_PREFIX_4 "timelimit      = %ld\n", config->timelimit);
-		ast_verbose(VERBOSE_PREFIX_4 "play_warning   = %ld\n", config->play_warning);
-		ast_verbose(VERBOSE_PREFIX_4 "play_to_caller = %s\n", play_to_caller ? "yes" : "no");
-		ast_verbose(VERBOSE_PREFIX_4 "play_to_callee = %s\n", play_to_callee ? "yes" : "no");
-		ast_verbose(VERBOSE_PREFIX_4 "warning_freq   = %ld\n", config->warning_freq);
-		ast_verbose(VERBOSE_PREFIX_4 "start_sound    = %s\n", S_OR(config->start_sound, ""));
-		ast_verbose(VERBOSE_PREFIX_4 "warning_sound  = %s\n", config->warning_sound);
-		ast_verbose(VERBOSE_PREFIX_4 "end_sound      = %s\n", S_OR(config->end_sound, ""));
+	} else {
+		ast_verb(3, "Limit Data for this call:\n");
+		ast_verb(4, "timelimit      = %ld\n", config->timelimit);
+		ast_verb(4, "play_warning   = %ld\n", config->play_warning);
+		ast_verb(4, "play_to_caller = %s\n", play_to_caller ? "yes" : "no");
+		ast_verb(4, "play_to_callee = %s\n", play_to_callee ? "yes" : "no");
+		ast_verb(4, "warning_freq   = %ld\n", config->warning_freq);
+		ast_verb(4, "start_sound    = %s\n", S_OR(config->start_sound, ""));
+		ast_verb(4, "warning_sound  = %s\n", config->warning_sound);
+		ast_verb(4, "end_sound      = %s\n", S_OR(config->end_sound, ""));
 	}
         if (play_to_caller)
                 ast_set_flag(&(config->features_caller), AST_FEATURE_PLAY_WARNING);
@@ -1039,8 +1019,7 @@
 		static const char *_val[] = { "ALLOW", "DENY", "TORTURE", "KILL", "ALLOW" };
 		static const int _flag[] = { AST_PRIVACY_ALLOW, AST_PRIVACY_DENY, AST_PRIVACY_TORTURE, AST_PRIVACY_KILL, AST_PRIVACY_ALLOW};
 		int i = res2 - '1';
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "--Set privacy database entry %s/%s to %s\n",
+		ast_verb(3, "--Set privacy database entry %s/%s to %s\n",
 					     opt_args[OPT_ARG_PRIVACY], pa->privcid, _val[i]);
 		ast_privacy_set(opt_args[OPT_ARG_PRIVACY], pa->privcid, _flag[i]);
 	}
@@ -1079,8 +1058,8 @@
 			ast_filedelete(pa->privintro, NULL);
 			if( ast_fileexists(pa->privintro, NULL, NULL ) > 0 )
 				ast_log(LOG_NOTICE, "privacy: ast_filedelete didn't do its job on %s\n", pa->privintro);
-			else if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "Successfully deleted %s intro file\n", pa->privintro);
+			else
+				ast_verb(3, "Successfully deleted %s intro file\n", pa->privintro);
 		}
 		return 0;	/* the good exit path */
 	} else {
@@ -1101,13 +1080,11 @@
 		l = ast_strdupa(chan->cid.cid_num);
 		ast_shrink_phone_number(l);
 		if (ast_test_flag64(opts, OPT_PRIVACY) ) {
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3  "Privacy DB is '%s', clid is '%s'\n",
+			ast_verb(3, "Privacy DB is '%s', clid is '%s'\n",
 					     opt_args[OPT_ARG_PRIVACY], l);
 			pa->privdb_val = ast_privacy_check(opt_args[OPT_ARG_PRIVACY], l);
 		} else {
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3  "Privacy Screening, clid is '%s'\n", l);
+			ast_verb(3,  "Privacy Screening, clid is '%s'\n", l);
 			pa->privdb_val = AST_PRIVACY_UNKNOWN;
 		}
 	} else {
@@ -1119,8 +1096,7 @@
 			if (*tn2=='/')	/* any other chars to be afraid of? */
 				*tn2 = '=';
 		}
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3  "Privacy-- callerid is empty\n");
+		ast_verb(3, "Privacy-- callerid is empty\n");

 		snprintf(callerid, sizeof(callerid), "NOCALLERID_%s%s", chan->exten, tnam);
 		l = callerid;
@@ -1130,18 +1106,15 @@
 	ast_copy_string(pa->privcid,l,sizeof(pa->privcid));

 	if( strncmp(pa->privcid,"NOCALLERID",10) != 0 && ast_test_flag64(opts, OPT_SCREEN_NOCLID) ) { /* if callerid is set, and ast_test_flag64(&opts, OPT_SCREEN_NOCLID) is set also */
-		if (option_verbose > 2)
-			ast_verbose( VERBOSE_PREFIX_3  "CallerID set (%s); N option set; Screening should be off\n", pa->privcid);
+		ast_verb(3, "CallerID set (%s); N option set; Screening should be off\n", pa->privcid);
 		pa->privdb_val = AST_PRIVACY_ALLOW;
 	} else if (ast_test_flag64(opts, OPT_SCREEN_NOCLID) && strncmp(pa->privcid,"NOCALLERID",10) == 0 ) {
-		if (option_verbose > 2)
-			ast_verbose( VERBOSE_PREFIX_3  "CallerID blank; N option set; Screening should happen; dbval is %d\n", pa->privdb_val);
+		ast_verb(3, "CallerID blank; N option set; Screening should happen; dbval is %d\n", pa->privdb_val);
 	}

 	if (pa->privdb_val == AST_PRIVACY_DENY ) {
 		ast_copy_string(pa->status, "NOANSWER", sizeof(pa->status));
-		if (option_verbose > 2)
-			ast_verbose( VERBOSE_PREFIX_3  "Privacy DB reports PRIVACY_DENY for this callerid. Dial reports unavailable\n");
+		ast_verb(3, "Privacy DB reports PRIVACY_DENY for this callerid. Dial reports unavailable\n");
 		return 0;
 	} else if (pa->privdb_val == AST_PRIVACY_KILL ) {
 		ast_copy_string(pa->status, "DONTCALL", sizeof(pa->status));
@@ -1184,8 +1157,8 @@
 				ast_filedelete(pa->privintro, NULL);
 				if (ast_fileexists(pa->privintro,NULL,NULL ) > 0 )
 					ast_log(LOG_NOTICE,"privacy: ast_filedelete didn't do its job on %s\n", pa->privintro);
-				else if (option_verbose > 2)
-					ast_verbose( VERBOSE_PREFIX_3 "Successfully deleted %s intro file\n", pa->privintro);
+				else
+					ast_verb(3, "Successfully deleted %s intro file\n", pa->privintro);
 				return -1;
 			}
 			if (!ast_streamfile(chan, "vm-dialout", chan->language) )
@@ -1256,8 +1229,7 @@

 	if (ast_test_flag64(&opts, OPT_OPERMODE)) {
 		opermode = ast_strlen_zero(opt_args[OPT_ARG_OPERMODE]) ? 1 : atoi(opt_args[OPT_ARG_OPERMODE]);
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "Setting operator services mode to %d.\n", opermode);
+		ast_verb(3, "Setting operator services mode to %d.\n", opermode);
 	}

 	if (ast_test_flag64(&opts, OPT_DURATION_STOP) && !ast_strlen_zero(opt_args[OPT_ARG_DURATION_STOP])) {
@@ -1267,8 +1239,7 @@
 			pbx_builtin_setvar_helper(chan, "DIALSTATUS", pa.status);
 			goto done;
 		}
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "Setting call duration limit to %d seconds.\n", calldurationlimit);
+		ast_verb(3, "Setting call duration limit to %d seconds.\n", calldurationlimit);
 	}

 	if (ast_test_flag64(&opts, OPT_SENDDTMF) && !ast_strlen_zero(opt_args[OPT_ARG_SENDDTMF])) {
@@ -1358,8 +1329,7 @@
 			}
 			tmp->forwards++;
 			if (tmp->forwards < AST_MAX_FORWARDS) {
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "Now forwarding %s to '%s/%s' (thanks to %s)\n",
+				ast_verb(3, "Now forwarding %s to '%s/%s' (thanks to %s)\n",
 					chan->name, tech, stuff, tc->name);
 				ast_hangup(tc);
 				/* If we have been told to ignore forwards, just set this channel to null
@@ -1367,8 +1337,7 @@
 				if (ast_test_flag64(&opts, OPT_IGNORE_FORWARDING)) {
 					tc = NULL;
 					cause = AST_CAUSE_BUSY;
-					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "Forwarding %s to '%s/%s' prevented.\n",
+					ast_verb(3, "Forwarding %s to '%s/%s' prevented.\n",
 							chan->name, tech, stuff);
 				} else {
 					tc = ast_request(tech, chan->nativeformats, stuff, &cause);
@@ -1378,8 +1347,7 @@
 				else
 					ast_channel_inherit_variables(chan, tc);
 			} else {
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "Too many forwards from %s\n", tc->name);
+				ast_verb(3, "Too many forwards from %s\n", tc->name);
 				ast_hangup(tc);
 				tc = NULL;
 				cause = AST_CAUSE_CONGESTION;
@@ -1443,16 +1411,14 @@
 		if (res) {
 			/* Again, keep going even if there's an error */
 			ast_debug(1, "ast call on peer returned %d\n", res);
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "Couldn't call %s\n", numsubst);
+			ast_verb(3, "Couldn't call %s\n", numsubst);
 			ast_hangup(tc);
 			tc = NULL;
 			ast_free(tmp);
 			continue;
 		} else {
 			senddialevent(chan, tc);
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "Called %s\n", numsubst);
+			ast_verb(3, "Called %s\n", numsubst);
 			if (!ast_test_flag64(peerflags, OPT_ORIGINAL_CLID))
 				ast_set_callerid(tc, S_OR(chan->macroexten, chan->exten), get_cid_name(cidname, sizeof(cidname), chan), NULL);
 		}
@@ -1725,13 +1691,11 @@
 				peer->whentohangup = time(NULL) + calldurationlimit;
 			}
 			if (!ast_strlen_zero(dtmfcalled)) {
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "Sending DTMF '%s' to the called party.\n", dtmfcalled);
+				ast_verb(3, "Sending DTMF '%s' to the called party.\n", dtmfcalled);
 				res = ast_dtmf_stream(peer,chan,dtmfcalled,250);
 			}
 			if (!ast_strlen_zero(dtmfcalling)) {
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "Sending DTMF '%s' to the calling party.\n", dtmfcalling);
+				ast_verb(3, "Sending DTMF '%s' to the calling party.\n", dtmfcalling);
 				res = ast_dtmf_stream(chan,peer,dtmfcalling,250);
 			}
 		}
@@ -1808,8 +1772,7 @@
 				if ((res = ast_spawn_extension(peer, peer->context, peer->exten, peer->priority, peer->cid.cid_num))) {
 					/* Something bad happened, or a hangup has been requested. */
 					ast_debug(1, "Spawn extension (%s,%s,%d) exited non-zero on '%s'\n", peer->context, peer->exten, peer->priority, peer->name);
-					if (option_verbose > 1)
-						ast_verbose( VERBOSE_PREFIX_2 "Spawn extension (%s, %s, %d) exited non-zero on '%s'\n", peer->context, peer->exten, peer->priority, peer->name);
+					ast_verb(2, "Spawn extension (%s, %s, %d) exited non-zero on '%s'\n", peer->context, peer->exten, peer->priority, peer->name);
 					break;
 				}
 				peer->priority++;
Index: apps/app_waitforsilence.c
===================================================================
--- apps/app_waitforsilence.c	(revision 76704)
+++ apps/app_waitforsilence.c	(working copy)
@@ -126,12 +126,10 @@
 			}
 		}

-		if (option_verbose > 6)
-			ast_verbose(VERBOSE_PREFIX_3 "Got %dms silence< %dms required\n", dspsilence, silencereqd);
+		ast_verb(3, "Got %dms silence< %dms required\n", dspsilence, silencereqd);

 		if (dspsilence >= silencereqd) {
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "Exiting with %dms silence >= %dms required\n", dspsilence, silencereqd);
+			ast_verb(3, "Exiting with %dms silence >= %dms required\n", dspsilence, silencereqd);
 			/* Ended happily with silence */
 			res = 1;
 			pbx_builtin_setvar_helper(chan, "WAITSTATUS", "SILENCE");
@@ -171,8 +169,7 @@
 		ast_log(LOG_WARNING, "Using default value of 1000ms, 1 iteration, no timeout\n");
 	}

-	if (option_verbose > 2)
-		ast_verbose(VERBOSE_PREFIX_3 "Waiting %d time(s) for %d ms silence with %d timeout\n", iterations, silencereqd, timeout);
+	ast_verb(3, "Waiting %d time(s) for %d ms silence with %d timeout\n", iterations, silencereqd, timeout);

 	time(&waitstart);
 	res = 1;
Index: apps/app_zapscan.c
===================================================================
--- apps/app_zapscan.c	(revision 76704)
+++ apps/app_zapscan.c	(working copy)
@@ -231,7 +231,7 @@
 						input[ic++] = '\0';
 						ic=0;
 						ret = atoi(input);
-						ast_verbose(VERBOSE_PREFIX_3 "Zapscan: change channel to %d\n",ret);
+						ast_verb(3, "Zapscan: change channel to %d\n",ret);
 						break;
 					}
 				}
@@ -300,7 +300,7 @@

 	desired_group = ast_strdupa(data);
 	if(!ast_strlen_zero(desired_group)) {
-		ast_verbose(VERBOSE_PREFIX_3 "Scanning for group %s\n", desired_group);
+		ast_verb(3, "Scanning for group %s\n", desired_group);
 		search_group = 1;
 	}

@@ -330,7 +330,7 @@
 		if (tempchan && search_group) {
 			const char *mygroup;
 			if((mygroup = pbx_builtin_getvar_helper(tempchan, "GROUP")) && (!strcmp(mygroup, desired_group))) {
-				ast_verbose(VERBOSE_PREFIX_3 "Found Matching Channel %s in group %s\n", tempchan->name, desired_group);
+				ast_verb(3, "Found Matching Channel %s in group %s\n", tempchan->name, desired_group);
 			} else {
 				ast_mutex_unlock(&tempchan->lock);
 				lastchan = tempchan;
@@ -338,7 +338,7 @@
 			}
 		}
 		if (tempchan && (!strcmp(tempchan->tech->type, "Zap")) && (tempchan != chan) ) {
-			ast_verbose(VERBOSE_PREFIX_3 "Zap channel %s is in-use, monitoring...\n", tempchan->name);
+			ast_verb(3, "Zap channel %s is in-use, monitoring...\n", tempchan->name);
 			ast_copy_string(confstr, tempchan->name, sizeof(confstr));
 			ast_mutex_unlock(&tempchan->lock);
 			if ((tmp = strchr(confstr,'-'))) {
Index: apps/app_amd.c
===================================================================
--- apps/app_amd.c	(revision 76704)
+++ apps/app_amd.c	(working copy)
@@ -136,8 +136,7 @@
 			     AST_APP_ARG(argSilenceThreshold);
 	);

-	if (option_verbose > 2)
-		ast_verbose(VERBOSE_PREFIX_3 "AMD: %s %s %s (Fmt: %d)\n", chan->name ,chan->cid.cid_ani, chan->cid.cid_rdnis, chan->readformat);
+	ast_verb(3, "AMD: %s %s %s (Fmt: %d)\n", chan->name ,chan->cid.cid_ani, chan->cid.cid_rdnis, chan->readformat);

 	/* Lets parse the arguments. */
 	if (!ast_strlen_zero(parse)) {
@@ -164,8 +163,7 @@
 	}

 	/* Now we're ready to roll! */
-	if (option_verbose > 2)
-		ast_verbose(VERBOSE_PREFIX_3 "AMD: initialSilence [%d] greeting [%d] afterGreetingSilence [%d] "
+	ast_verb(3, "AMD: initialSilence [%d] greeting [%d] afterGreetingSilence [%d] "
 		"totalAnalysisTime [%d] minimumWordLength [%d] betweenWordsSilence [%d] maximumNumberOfWords [%d] silenceThreshold [%d] \n",
 				initialSilence, greeting, afterGreetingSilence, totalAnalysisTime,
 				minimumWordLength, betweenWordsSilence, maximumNumberOfWords, silenceThreshold );
@@ -194,8 +192,7 @@
 	while ((res = ast_waitfor(chan, totalAnalysisTime)) > -1) {
 		/* If we fail to read in a frame, that means they hung up */
 		if (!(f = ast_read(chan))) {
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "AMD: HANGUP\n");
+			ast_verb(3, "AMD: HANGUP\n");
 			ast_debug(1, "Got hangup\n");
 			strcpy(amdStatus, "HANGUP");
 			break;
@@ -206,8 +203,7 @@
 			framelength = (ast_codec_get_samples(f) / DEFAULT_SAMPLES_PER_MS);
 			iTotalTime += framelength;
 			if (iTotalTime >= totalAnalysisTime) {
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "AMD: Channel [%s]. Too long...\n", chan->name );
+				ast_verb(3, "AMD: Channel [%s]. Too long...\n", chan->name );
 				ast_frfree(f);
 				strcpy(amdStatus , "NOTSURE");
 				sprintf(amdCause , "TOOLONG-%d", iTotalTime);
@@ -223,16 +219,14 @@
 				if (silenceDuration >= betweenWordsSilence) {
 					if (currentState != STATE_IN_SILENCE ) {
 						previousState = currentState;
-						if (option_verbose > 2)
-							ast_verbose(VERBOSE_PREFIX_3 "AMD: Changed state to STATE_IN_SILENCE\n");
+						ast_verb(3, "AMD: Changed state to STATE_IN_SILENCE\n");
 					}
 					currentState  = STATE_IN_SILENCE;
 					consecutiveVoiceDuration = 0;
 				}

 				if (inInitialSilence == 1  && silenceDuration >= initialSilence) {
-					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "AMD: ANSWERING MACHINE: silenceDuration:%d initialSilence:%d\n",
+					ast_verb(3, "AMD: ANSWERING MACHINE: silenceDuration:%d initialSilence:%d\n",
 							    silenceDuration, initialSilence);
 					ast_frfree(f);
 					strcpy(amdStatus , "MACHINE");
@@ -241,8 +235,7 @@
 				}

 				if (silenceDuration >= afterGreetingSilence  &&  inGreeting == 1) {
-					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "AMD: HUMAN: silenceDuration:%d afterGreetingSilence:%d\n",
+					ast_verb(3, "AMD: HUMAN: silenceDuration:%d afterGreetingSilence:%d\n",
 							    silenceDuration, afterGreetingSilence);
 					ast_frfree(f);
 					strcpy(amdStatus , "HUMAN");
@@ -258,15 +251,13 @@
 				   number of words if my previous state was Silence, which means that I moved into a word. */
 				if (consecutiveVoiceDuration >= minimumWordLength && currentState == STATE_IN_SILENCE) {
 					iWordsCount++;
-					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "AMD: Word detected. iWordsCount:%d\n", iWordsCount);
+					ast_verb(3, "AMD: Word detected. iWordsCount:%d\n", iWordsCount);
 					previousState = currentState;
 					currentState = STATE_IN_WORD;
 				}

 				if (iWordsCount >= maximumNumberOfWords) {
-					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "AMD: ANSWERING MACHINE: iWordsCount:%d\n", iWordsCount);
+					ast_verb(3, "AMD: ANSWERING MACHINE: iWordsCount:%d\n", iWordsCount);
 					ast_frfree(f);
 					strcpy(amdStatus , "MACHINE");
 					sprintf(amdCause , "MAXWORDS-%d-%d", iWordsCount, maximumNumberOfWords);
@@ -274,8 +265,7 @@
 				}

 				if (inGreeting == 1 && voiceDuration >= greeting) {
-					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "AMD: ANSWERING MACHINE: voiceDuration:%d greeting:%d\n", voiceDuration, greeting);
+					ast_verb(3, "AMD: ANSWERING MACHINE: voiceDuration:%d greeting:%d\n", voiceDuration, greeting);
 					ast_frfree(f);
 					strcpy(amdStatus , "MACHINE");
 					sprintf(amdCause , "LONGGREETING-%d-%d", voiceDuration, greeting);
@@ -295,8 +285,7 @@

 	if (!res) {
 		/* It took too long to get a frame back. Giving up. */
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "AMD: Channel [%s]. Too long...\n", chan->name);
+		ast_verb(3, "AMD: Channel [%s]. Too long...\n", chan->name);
 		strcpy(amdStatus , "NOTSURE");
 		sprintf(amdCause , "TOOLONG-%d", iTotalTime);
 	}
@@ -368,8 +357,7 @@

 	ast_config_destroy(cfg);

-	if (option_verbose > 2)
-		ast_verbose(VERBOSE_PREFIX_3 "AMD defaults: initialSilence [%d] greeting [%d] afterGreetingSilence [%d] "
+	ast_verb(3, "AMD defaults: initialSilence [%d] greeting [%d] afterGreetingSilence [%d] "
 		"totalAnalysisTime [%d] minimumWordLength [%d] betweenWordsSilence [%d] maximumNumberOfWords [%d] silenceThreshold [%d] \n",
 				dfltInitialSilence, dfltGreeting, dfltAfterGreetingSilence, dfltTotalAnalysisTime,
 				dfltMinimumWordLength, dfltBetweenWordsSilence, dfltMaximumNumberOfWords, dfltSilenceThreshold );
Index: apps/app_while.c
===================================================================
--- apps/app_while.c	(revision 76704)
+++ apps/app_while.c	(working copy)
@@ -229,8 +229,7 @@
 		} else {
 			int pri = find_matching_endwhile(chan);
 			if (pri > 0) {
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "Jumping to priority %d\n", pri);
+				ast_verb(3, "Jumping to priority %d\n", pri);
 				chan->priority = pri;
 			} else {
 				ast_log(LOG_WARNING, "Couldn't find matching EndWhile? (While at %s@%s priority %d)\n", chan->context, chan->exten, chan->priority);
Index: apps/app_queue.c
===================================================================
--- apps/app_queue.c	(revision 76704)
+++ apps/app_queue.c	(working copy)
@@ -1414,8 +1414,7 @@
 		avgholdsecs = 0;
 	}

-	if (option_verbose > 2)
-		ast_verbose(VERBOSE_PREFIX_3 "Hold time for %s is %d minutes %d seconds\n", qe->parent->name, avgholdmins, avgholdsecs);
+	ast_verb(3, "Hold time for %s is %d minutes %d seconds\n", qe->parent->name, avgholdmins, avgholdsecs);

 	/* If the hold time is >1 min, if it's enabled, and if it's not
 	   supposed to be only once and we have already said it, say it */
@@ -1457,8 +1456,7 @@
 	}

 posout:
-	if (option_verbose > 2)
-		ast_verbose(VERBOSE_PREFIX_3 "Told %s in %s their queue position (which was %d)\n",
+	ast_verb(3, "Told %s in %s their queue position (which was %d)\n",
 			qe->chan->name, qe->parent->name, qe->pos);
 	res = play_file(qe->chan, qe->parent->sound_thanks);

@@ -1762,8 +1760,7 @@
 	if ((res = ast_call(tmp->chan, location, 0))) {
 		/* Again, keep going even if there's an error */
 		ast_debug(1, "ast call on peer returned %d\n", res);
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "Couldn't call %s\n", tmp->interface);
+		ast_verb(3, "Couldn't call %s\n", tmp->interface);
 		do_hang(tmp);
 		(*busies)++;
 		return 0;
@@ -1786,8 +1783,7 @@
 					tmp->chan->cid.cid_name ? tmp->chan->cid.cid_name : "unknown",
 					qe->chan->context, qe->chan->exten, qe->chan->priority,
 					qe->parent->eventwhencalled == QUEUE_EVENT_VARIABLES ? vars2manager(qe->chan, vars, sizeof(vars)) : "");
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "Called %s\n", tmp->interface);
+		ast_verb(3, "Called %s\n", tmp->interface);
 	}

 	return 1;
@@ -1881,8 +1877,7 @@
 	else
 		ast_moh_stop(qe->chan);

-	if (option_verbose > 2)
-		ast_verbose(VERBOSE_PREFIX_3 "Playing periodic announcement\n");
+	ast_verb(3, "Playing periodic announcement\n");

 	/* Check to make sure we have a sound file. If not, reset to the first sound file */
 	if (qe->last_periodic_announce_sound >= MAX_PERIODIC_ANNOUNCEMENTS || !strlen(qe->parent->sound_periodicannounce[qe->last_periodic_announce_sound])) {
@@ -1931,16 +1926,13 @@
 /*! \brief RNA == Ring No Answer. Common code that is executed when we try a queue member and they don't answer. */
 static void rna(int rnatime, struct queue_ent *qe, char *interface, char *membername)
 {
-	if (option_verbose > 2)
-		ast_verbose( VERBOSE_PREFIX_3 "Nobody picked up in %d ms\n", rnatime);
+	ast_verb(3, "Nobody picked up in %d ms\n", rnatime);
 	ast_queue_log(qe->parent->name, qe->chan->uniqueid, membername, "RINGNOANSWER", "%d", rnatime);
 	if (qe->parent->autopause) {
 		if (!set_member_paused(qe->parent->name, interface, 1)) {
-			if (option_verbose > 2)
-				ast_verbose( VERBOSE_PREFIX_3 "Auto-Pausing Queue Member %s in queue %s since they failed to answer.\n", interface, qe->parent->name);
+			ast_verb(3, "Auto-Pausing Queue Member %s in queue %s since they failed to answer.\n", interface, qe->parent->name);
 		} else {
-			if (option_verbose > 2)
-				ast_verbose( VERBOSE_PREFIX_3 "Failed to pause Queue Member %s in queue %s!\n", interface, qe->parent->name);
+			ast_verb(3, "Failed to pause Queue Member %s in queue %s!\n", interface, qe->parent->name);
 		}
 	}
 	return;
@@ -2005,8 +1997,7 @@
 		for (o = outgoing; o; o = o->q_next) {
 			if (o->stillgoing && (o->chan) &&  (o->chan->_state == AST_STATE_UP)) {
 				if (!peer) {
-					if (option_verbose > 2)
-						ast_verbose( VERBOSE_PREFIX_3 "%s answered %s\n", o->chan->name, in->name);
+					ast_verb(3, "%s answered %s\n", o->chan->name, in->name);
 					peer = o;
 				}
 			} else if (o->chan && (o->chan == winner)) {
@@ -2015,8 +2006,7 @@
 				ast_copy_string(membername, o->member->membername, sizeof(membername));

 				if (!ast_strlen_zero(o->chan->call_forward) && !forwardsallowed) {
-					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "Forwarding %s to '%s' prevented.\n", in->name, o->chan->call_forward);
+					ast_verb(3, "Forwarding %s to '%s' prevented.\n", in->name, o->chan->call_forward);
 					numnochan++;
 					do_hang(o);
 					winner = NULL;
@@ -2036,8 +2026,7 @@
 						tech = "Local";
 					}
 					/* Before processing channel, go ahead and check for forwarding */
-					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "Now forwarding %s to '%s/%s' (thanks to %s)\n", in->name, tech, stuff, o->chan->name);
+					ast_verb(3, "Now forwarding %s to '%s/%s' (thanks to %s)\n", in->name, tech, stuff, o->chan->name);
 					/* Setup parameters */
 					o->chan = ast_request(tech, in->nativeformats, stuff, &status);
 					if (status != o->oldstatus)
@@ -2084,14 +2073,12 @@
 						case AST_CONTROL_ANSWER:
 							/* This is our guy if someone answered. */
 							if (!peer) {
-								if (option_verbose > 2)
-									ast_verbose( VERBOSE_PREFIX_3 "%s answered %s\n", o->chan->name, in->name);
+								ast_verb(3, "%s answered %s\n", o->chan->name, in->name);
 								peer = o;
 							}
 							break;
 						case AST_CONTROL_BUSY:
-							if (option_verbose > 2)
-								ast_verbose( VERBOSE_PREFIX_3 "%s is busy\n", o->chan->name);
+							ast_verb(3, "%s is busy\n", o->chan->name);
 							if (in->cdr)
 								ast_cdr_busy(in->cdr);
 							do_hang(o);
@@ -2106,8 +2093,7 @@
 							numbusies++;
 							break;
 						case AST_CONTROL_CONGESTION:
-							if (option_verbose > 2)
-								ast_verbose( VERBOSE_PREFIX_3 "%s is circuit-busy\n", o->chan->name);
+							ast_verb(3, "%s is circuit-busy\n", o->chan->name);
 							if (in->cdr)
 								ast_cdr_busy(in->cdr);
 							endtime = (long) time(NULL);
@@ -2122,8 +2108,7 @@
 							numbusies++;
 							break;
 						case AST_CONTROL_RINGING:
-							if (option_verbose > 2)
-								ast_verbose( VERBOSE_PREFIX_3 "%s is ringing\n", o->chan->name);
+							ast_verb(3, "%s is ringing\n", o->chan->name);
 							if (!sentringing) {
 #if 0
 								ast_indicate(in, AST_CONTROL_RINGING);
@@ -2161,15 +2146,13 @@
 				return NULL;
 			}
 			if ((f->frametype == AST_FRAME_DTMF) && caller_disconnect && (f->subclass == '*')) {
-				if (option_verbose > 3)
-					ast_verbose(VERBOSE_PREFIX_3 "User hit %c to disconnect call.\n", f->subclass);
+				ast_verb(3, "User hit %c to disconnect call.\n", f->subclass);
 				*to = 0;
 				ast_frfree(f);
 				return NULL;
 			}
 			if ((f->frametype == AST_FRAME_DTMF) && valid_exit(qe, f->subclass)) {
-				if (option_verbose > 3)
-					ast_verbose(VERBOSE_PREFIX_3 "User pressed digit: %c\n", f->subclass);
+				ast_verb(3, "User pressed digit: %c\n", f->subclass);
 				*to = 0;
 				*digit = f->subclass;
 				ast_frfree(f);
@@ -3588,8 +3571,7 @@

 			/* exit after 'timeout' cycle if 'n' option enabled */
 			if (go_on) {
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "Exiting on time-out cycle\n");
+				ast_verb(3, "Exiting on time-out cycle\n");
 				ast_queue_log(args.queuename, chan->uniqueid, "NONE", "EXITWITHTIMEOUT", "%d", qe.pos);
 				record_abandoned(&qe);
 				reason = QUEUE_TIMEOUT;
Index: apps/app_followme.c
===================================================================
--- apps/app_followme.c	(revision 76704)
+++ apps/app_followme.c	(working copy)
@@ -487,8 +487,7 @@

 	if (!AST_LIST_EMPTY(findme_user_list)) {
 		if (!caller) {
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "Original caller hungup. Cleanup.\n");
+			ast_verb(3, "Original caller hungup. Cleanup.\n");
 			clear_calling_tree(findme_user_list);
 			return NULL;
 		}
@@ -508,8 +507,7 @@
 					if (tmpuser->state == 3)
 						tmpuser->digts += (towas - wtd);
 					if (tmpuser->digts && (tmpuser->digts > featuredigittimeout)) {
-						if (option_verbose > 2)
-							ast_verbose(VERBOSE_PREFIX_3 "We've been waiting for digits longer than we should have.\n");
+						ast_verb(3, "We've been waiting for digits longer than we should have.\n");
 						if (!ast_strlen_zero(namerecloc)) {
 							tmpuser->state = 1;
 							tmpuser->digts = 0;
@@ -538,8 +536,7 @@
 						else if (tmpto < 0 && !tmpuser->ochan->timingfunc) {
 							ast_stopstream(tmpuser->ochan);
 							if (tmpuser->state == 1) {
-								if (option_verbose > 2)
-									ast_verbose(VERBOSE_PREFIX_3 "Playback of the call-from file appears to be done.\n");
+								ast_verb(3, "Playback of the call-from file appears to be done.\n");
 								if (!ast_streamfile(tmpuser->ochan, namerecloc, tmpuser->ochan->language)) {
 									tmpuser->state = 2;
 								} else {
@@ -554,8 +551,7 @@
 									}
 								}
 							} else if (tmpuser->state == 2) {
-								if (option_verbose > 2)
-									ast_verbose(VERBOSE_PREFIX_3 "Playback of name file appears to be done.\n");
+								ast_verb(3, "Playback of name file appears to be done.\n");
 								memset(tmpuser->yn, 0, sizeof(tmpuser->yn));
 								tmpuser->ynidx = 0;
 								if (!ast_streamfile(tmpuser->ochan, pressbuttonname, tmpuser->ochan->language)) {
@@ -565,8 +561,7 @@
 									return NULL;
 								}
 							} else if (tmpuser->state == 3) {
-								if (option_verbose > 2)
-									ast_verbose(VERBOSE_PREFIX_3 "Playback of the next step file appears to be done.\n");
+								ast_verb(3, "Playback of the next step file appears to be done.\n");
 								tmpuser->digts = 0;
 							}
 						}
@@ -587,8 +582,7 @@
 			totalwait -= tmpto;
 			wtd = to;
 			if (totalwait <= 0) {
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "We've hit our timeout for this step. Drop everyone and move on to the next one. %ld\n", totalwait);
+				ast_verb(3, "We've hit our timeout for this step. Drop everyone and move on to the next one. %ld\n", totalwait);
 				clear_calling_tree(findme_user_list);
 				return NULL;
 			}
@@ -605,23 +599,19 @@
 					if (f->frametype == AST_FRAME_CONTROL) {
 						switch(f->subclass) {
 						case AST_CONTROL_HANGUP:
-							if (option_verbose > 2)
-								ast_verbose( VERBOSE_PREFIX_3 "%s received a hangup frame.\n", winner->name);
+							ast_verb(3, "%s received a hangup frame.\n", winner->name);
 							if (dg == 0) {
-								if (option_verbose > 2)
-									ast_verbose( VERBOSE_PREFIX_3 "The calling channel hungup. Need to drop everyone else.\n");
+								ast_verb(3, "The calling channel hungup. Need to drop everyone else.\n");
 								clear_calling_tree(findme_user_list);
 								ctstatus = -1;
 							}
 							break;
 						case AST_CONTROL_ANSWER:
-							if (option_verbose > 2)
-								ast_verbose( VERBOSE_PREFIX_3 "%s answered %s\n", winner->name, caller->name);
+							ast_verb(3, "%s answered %s\n", winner->name, caller->name);
 							/* If call has been answered, then the eventual hangup is likely to be normal hangup */
 							winner->hangupcause = AST_CAUSE_NORMAL_CLEARING;
 							caller->hangupcause = AST_CAUSE_NORMAL_CLEARING;
-							if (option_verbose > 2)
-								ast_verbose( VERBOSE_PREFIX_3 "Starting playback of %s\n", callfromname);
+							ast_verb(3, "Starting playback of %s\n", callfromname);
 							if (dg > 0) {
 								if (!ast_strlen_zero(namerecloc)) {
 									if (!ast_streamfile(winner, callfromname, winner->language)) {
@@ -645,44 +635,35 @@
 							}
 							break;
 						case AST_CONTROL_BUSY:
-							if (option_verbose > 2)
-								ast_verbose( VERBOSE_PREFIX_3 "%s is busy\n", winner->name);
+							ast_verb(3, "%s is busy\n", winner->name);
 							break;
 						case AST_CONTROL_CONGESTION:
-							if (option_verbose > 2)
-								ast_verbose( VERBOSE_PREFIX_3 "%s is circuit-busy\n", winner->name);
+							ast_verb(3, "%s is circuit-busy\n", winner->name);
 							break;
 						case AST_CONTROL_RINGING:
-							if (option_verbose > 2)
-								ast_verbose( VERBOSE_PREFIX_3 "%s is ringing\n", winner->name);
+							ast_verb(3, "%s is ringing\n", winner->name);
 							break;
 						case AST_CONTROL_PROGRESS:
-							if (option_verbose > 2)
-								ast_verbose ( VERBOSE_PREFIX_3 "%s is making progress passing it to %s\n", winner->name, caller->name);
+							ast_verb(3, "%s is making progress passing it to %s\n", winner->name, caller->name);
 							break;
 						case AST_CONTROL_VIDUPDATE:
-							if (option_verbose > 2)
-								ast_verbose ( VERBOSE_PREFIX_3 "%s requested a video update, passing it to %s\n", winner->name, caller->name);
+							ast_verb(3, "%s requested a video update, passing it to %s\n", winner->name, caller->name);
 							break;
 						case AST_CONTROL_PROCEEDING:
-							if (option_verbose > 2)
-								ast_verbose ( VERBOSE_PREFIX_3 "%s is proceeding passing it to %s\n", winner->name,caller->name);
+							ast_verb(3, "%s is proceeding passing it to %s\n", winner->name,caller->name);
 							break;
 						case AST_CONTROL_HOLD:
-							if (option_verbose > 2)
-								ast_verbose(VERBOSE_PREFIX_3 "Call on %s placed on hold\n", winner->name);
+							ast_verb(3, "Call on %s placed on hold\n", winner->name);
 							break;
 						case AST_CONTROL_UNHOLD:
-							if (option_verbose > 2)
-								ast_verbose(VERBOSE_PREFIX_3 "Call on %s left from hold\n", winner->name);
+							ast_verb(3, "Call on %s left from hold\n", winner->name);
 							break;
 						case AST_CONTROL_OFFHOOK:
 						case AST_CONTROL_FLASH:
 							/* Ignore going off hook and flash */
 							break;
 						case -1:
-							if (option_verbose > 2)
-								ast_verbose( VERBOSE_PREFIX_3 "%s stopped sounds\n", winner->name);
+							ast_verb(3, "%s stopped sounds\n", winner->name);
 							break;
 						default:
 							ast_debug(1, "Dunno what to do with control type %d\n", f->subclass);
@@ -727,8 +708,7 @@
 							livechannels--;
 							ast_debug(1, "live channels left %d\n", livechannels);
 							if (!livechannels) {
-								if (option_verbose > 2)
-									ast_verbose(VERBOSE_PREFIX_3 "no live channels left. exiting.\n");
+								ast_verb(3, "no live channels left. exiting.\n");
 								return NULL;
 							}
 						}
@@ -740,8 +720,7 @@
 		}

 	} else {
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "couldn't reach at this number.\n");
+		ast_verb(3, "couldn't reach at this number.\n");
 	}

 	/* --- WAIT FOR WINNER NUMBER END! -----------*/
@@ -809,8 +788,7 @@
 			if (outbound) {
 				ast_set_callerid(outbound, caller->cid.cid_num, caller->cid.cid_name, caller->cid.cid_num);
 				ast_channel_inherit_variables(tpargs->chan, outbound);
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "calling %s\n", dialarg);
+				ast_verb(3, "calling %s\n", dialarg);
 				if (!ast_call(outbound,dialarg,0)) {
 					tmpuser->ochan = outbound;
 					tmpuser->state = 0;
@@ -818,8 +796,7 @@
 					ast_copy_string(tmpuser->dialarg, dialarg, sizeof(dialarg));
 					AST_LIST_INSERT_TAIL(findme_user_list, tmpuser, entry);
 				} else {
-					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "couldn't reach at this number.\n");
+					ast_verb(3, "couldn't reach at this number.\n");
 					if (outbound) {
 						if (!outbound->cdr)
 							outbound->cdr = ast_cdr_alloc();
Index: apps/app_waitforring.c
===================================================================
--- apps/app_waitforring.c	(revision 76704)
+++ apps/app_waitforring.c	(working copy)
@@ -79,8 +79,7 @@
 				break;
 			}
 			if ((f->frametype == AST_FRAME_CONTROL) && (f->subclass == AST_CONTROL_RING)) {
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "Got a ring but still waiting for timeout\n");
+				ast_verb(3, "Got a ring but still waiting for timeout\n");
 			}
 			ast_frfree(f);
 		}
@@ -101,8 +100,7 @@
 					break;
 				}
 				if ((f->frametype == AST_FRAME_CONTROL) && (f->subclass == AST_CONTROL_RING)) {
-					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "Got a ring after the timeout\n");
+					ast_verb(3, "Got a ring after the timeout\n");
 					ast_frfree(f);
 					break;
 				}
Index: apps/app_flash.c
===================================================================
--- apps/app_flash.c	(revision 76704)
+++ apps/app_flash.c	(working copy)
@@ -92,8 +92,7 @@
 					zt_wait_event(chan->fds[0]);
 				}
 				res = ast_safe_sleep(chan, 1000);
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "Flashed channel %s\n", chan->name);
+				ast_verb(3, "Flashed channel %s\n", chan->name);
 			} else
 				ast_log(LOG_WARNING, "Unable to flash channel %s: %s\n", chan->name, strerror(errno));
 		} else
