Index: main/config.c
===================================================================
--- main/config.c	(revision 76707)
+++ main/config.c	(working copy)
@@ -825,20 +825,16 @@
 			ast_log(LOG_WARNING, "'%s' is not a regular file, ignoring\n", fn);
 			continue;
 		}
-		if (option_verbose > 1) {
-			ast_verbose(VERBOSE_PREFIX_2 "Parsing '%s': ", fn);
+		ast_verb(2, "Parsing '%s': ", fn);
 			fflush(stdout);
-		}
 		if (!(f = fopen(fn, "r"))) {
 			ast_debug(1, "No file to parse: %s\n", fn);
-			if (option_verbose > 1)
-				ast_verbose( "Not found (%s)\n", strerror(errno));
+			ast_verb(2, "Not found (%s)\n", strerror(errno));
 			continue;
 		}
 		count++;
 		ast_debug(1, "Parsing %s\n", fn);
-		if (option_verbose > 1)
-			ast_verbose("Found\n");
+		ast_verb(2, "Found\n");
 		while (!feof(f)) {
 			lineno++;
 			if (fgets(buf, sizeof(buf), f)) {
@@ -971,8 +967,7 @@
 #else
 	if ((f = fopen(fn, "w"))) {
 #endif	    
-		if (option_verbose > 1)
-			ast_verbose(VERBOSE_PREFIX_2 "Saving '%s': ", fn);
+		ast_verb(2, "Saving '%s': ", fn);
 		fprintf(f, ";!\n");
 		fprintf(f, ";! Automatically generated configuration file\n");
 		if (strcmp(configfile, fn))
@@ -1024,12 +1019,11 @@
 #endif
 			cat = cat->next;
 		}
-		if ((option_verbose > 1) && !option_debug)
-			ast_verbose("Saved\n");
+		if (!option_debug)
+			ast_verb(2, "Saved\n");
 	} else {
 		ast_debug(1, "Unable to open for writing: %s\n", fn);
-		if (option_verbose > 1)
-			ast_verbose(VERBOSE_PREFIX_2 "Unable to write (%s)", strerror(errno));
+		ast_verb(2, "Unable to write (%s)", strerror(errno));
 		return -1;
 	}
 	fclose(f);
@@ -1078,9 +1072,7 @@
 	}
 	map->next = config_maps;
 
-	if (option_verbose > 1)
-		ast_verbose(VERBOSE_PREFIX_2 "Binding %s to %s/%s/%s\n",
-			    map->name, map->driver, map->database, map->table ? map->table : map->name);
+	ast_verb(2, "Binding %s to %s/%s/%s\n", map->name, map->driver, map->database, map->table ? map->table : map->name);
 
 	config_maps = map;
 	return 0;
Index: main/loader.c
===================================================================
--- main/loader.c	(revision 76707)
+++ main/loader.c	(working copy)
@@ -583,8 +583,7 @@
 		}
 
 		res = 2;
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "Reloading module '%s' (%s)\n", cur->resource, info->description);
+		ast_verb(3, "Reloading module '%s' (%s)\n", cur->resource, info->description);
 		info->reload();
 	}
 	AST_LIST_UNLOCK(&module_list);
@@ -665,13 +664,11 @@
 	switch (res) {
 	case AST_MODULE_LOAD_SUCCESS:
 		if (!ast_fully_booted) {
-			if (option_verbose)
-				ast_verbose("%s => (%s)\n", resource_name, term_color(tmp, mod->info->description, COLOR_BROWN, COLOR_BLACK, sizeof(tmp)));
+			ast_verb(1, "%s => (%s)\n", resource_name, term_color(tmp, mod->info->description, COLOR_BROWN, COLOR_BLACK, sizeof(tmp)));
 			if (ast_opt_console && !option_verbose)
 				ast_verbose( ".");
 		} else {
-			if (option_verbose)
-				ast_verbose(VERBOSE_PREFIX_1 "Loaded %s => (%s)\n", resource_name, mod->info->description);
+			ast_verb(1, "Loaded %s => (%s)\n", resource_name, mod->info->description);
 		}
 
 		mod->flags.running = 1;
@@ -742,8 +739,7 @@
 	/* all embedded modules have registered themselves by now */
 	embedding = 0;
 
-	if (option_verbose)
-		ast_verbose("Asterisk Dynamic Loader Starting:\n");
+	ast_verb(1, "Asterisk Dynamic Loader Starting:\n");
 
 	AST_LIST_HEAD_INIT_NOLOCK(&load_order);
 
Index: main/cdr.c
===================================================================
--- main/cdr.c	(revision 76707)
+++ main/cdr.c	(working copy)
@@ -152,8 +152,7 @@
 	AST_RWLIST_TRAVERSE_SAFE_BEGIN(&be_list, i, list) {
 		if (!strcasecmp(name, i->name)) {
 			AST_RWLIST_REMOVE_CURRENT(&be_list, list);
-			if (option_verbose > 1)
-				ast_verbose(VERBOSE_PREFIX_2 "Unregistered '%s' CDR backend\n", name);
+			ast_verb(2, "Unregistered '%s' CDR backend\n", name);
 			ast_free(i);
 			break;
 		}
Index: main/channel.c
===================================================================
--- main/channel.c	(revision 76707)
+++ main/channel.c	(working copy)
@@ -435,9 +435,7 @@
 
 	ast_debug(1, "Registered handler for '%s' (%s)\n", chan->tech->type, chan->tech->description);
 
-	if (option_verbose > 1)
-		ast_verbose(VERBOSE_PREFIX_2 "Registered channel type '%s' (%s)\n", chan->tech->type,
-			    chan->tech->description);
+	ast_verb(2, "Registered channel type '%s' (%s)\n", chan->tech->type, chan->tech->description);
 
 	AST_RWLIST_UNLOCK(&channels);
 	return 0;
@@ -456,8 +454,7 @@
 		if (chan->tech == tech) {
 			AST_LIST_REMOVE_CURRENT(&backends, list);
 			ast_free(chan);
-			if (option_verbose > 1)
-				ast_verbose(VERBOSE_PREFIX_2 "Unregistered channel type '%s'\n", tech->type);
+			ast_verb(2, "Unregistered channel type '%s'\n", tech->type);
 			break;	
 		}
 	}
@@ -4169,9 +4166,7 @@
 			case AST_BRIDGE_RETRY:
 				continue;
 			default:
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "Native bridging %s and %s ended\n",
-						    c0->name, c1->name);
+				ast_verb(3, "Native bridging %s and %s ended\n", c0->name, c1->name);
 				/* fallthrough */
 			case AST_BRIDGE_FAILED_NOWARN:
 				nativefailed++;
@@ -4452,10 +4447,7 @@
 	if (ast_moh_start_ptr)
 		return ast_moh_start_ptr(chan, mclass, interpclass);
 
-	if (option_verbose > 2) {
-		ast_verbose(VERBOSE_PREFIX_3 "Music class %s requested but no musiconhold loaded.\n", 
-			mclass ? mclass : (interpclass ? interpclass : "default"));
-	}
+	ast_verb(3, "Music class %s requested but no musiconhold loaded.\n", mclass ? mclass : (interpclass ? interpclass : "default"));
 
 	return 0;
 }
Index: main/manager.c
===================================================================
--- main/manager.c	(revision 76707)
+++ main/manager.c	(working copy)
@@ -1482,11 +1482,8 @@
 		return -1;
 	}
 	s->authenticated = 1;
-	if (option_verbose > 1) {
-		if (manager_displayconnects(s)) {
-			ast_verbose(VERBOSE_PREFIX_2 "%sManager '%s' logged on from %s\n", (s->managerid ? "HTTP " : ""), s->username, ast_inet_ntoa(s->sin.sin_addr));
-		}
-	}
+	if (manager_displayconnects(s))
+		ast_verb(2, "%sManager '%s' logged on from %s\n", (s->managerid ? "HTTP " : ""), s->username, ast_inet_ntoa(s->sin.sin_addr));
 	ast_log(LOG_EVENT, "%sManager '%s' logged on from %s\n", (s->managerid ? "HTTP " : ""), s->username, ast_inet_ntoa(s->sin.sin_addr));
 	astman_send_ack(s, m, "Authentication accepted");
 	return 0;
@@ -2526,16 +2523,12 @@
 	}
 	/* session is over, explain why and terminate */
 	if (s->authenticated) {
-		if (option_verbose > 1) {
 			if (manager_displayconnects(s))
-				ast_verbose(VERBOSE_PREFIX_2 "Manager '%s' logged off from %s\n", s->username, ast_inet_ntoa(s->sin.sin_addr));
-		}
+			ast_verb(2, "Manager '%s' logged off from %s\n", s->username, ast_inet_ntoa(s->sin.sin_addr));
 		ast_log(LOG_EVENT, "Manager '%s' logged off from %s\n", s->username, ast_inet_ntoa(s->sin.sin_addr));
 	} else {
-		if (option_verbose > 1) {
 			if (displayconnects)
-				ast_verbose(VERBOSE_PREFIX_2 "Connect attempt from '%s' unable to authenticate\n", ast_inet_ntoa(s->sin.sin_addr));
-		}
+			ast_verb(2, "Connect attempt from '%s' unable to authenticate\n", ast_inet_ntoa(s->sin.sin_addr));
 		ast_log(LOG_EVENT, "Failed attempt from %s\n", ast_inet_ntoa(s->sin.sin_addr));
 	}
 	destroy_session(s);
@@ -2557,7 +2550,7 @@
 			AST_LIST_REMOVE_CURRENT(&sessions, list);
 			ast_atomic_fetchadd_int(&num_sessions, -1);
 			if (s->authenticated && (option_verbose > 1) && manager_displayconnects(s)) {
-				ast_verbose(VERBOSE_PREFIX_2 "HTTP Manager '%s' timed out from %s\n",
+				ast_verb(2, "HTTP Manager '%s' timed out from %s\n",
 					s->username, ast_inet_ntoa(s->sin.sin_addr));
 			}
 			free_session(s);	/* XXX outside ? */
@@ -2682,8 +2675,7 @@
 			else
 				first_action = cur->next;
 			ast_free(cur);
-			if (option_verbose > 1)
-				ast_verbose(VERBOSE_PREFIX_2 "Manager unregistered action %s\n", action);
+			ast_verb(2, "Manager unregistered action %s\n", action);
 			break;
 		}
 	}
@@ -2723,8 +2715,7 @@
 		first_action = act;
 	act->next = cur;
 
-	if (option_verbose > 1)
-		ast_verbose(VERBOSE_PREFIX_2 "Manager registered action %s\n", act->action);
+	ast_verb(2, "Manager registered action %s\n", act->action);
 	ast_rwlock_unlock(&actionlock);
 	return 0;
 }
@@ -3093,16 +3084,12 @@
 
 	if (process_message(s, &m)) {
 		if (s->authenticated) {
-			if (option_verbose > 1) {
 				if (manager_displayconnects(s))
-					ast_verbose(VERBOSE_PREFIX_2 "HTTP Manager '%s' logged off from %s\n", s->username, ast_inet_ntoa(s->sin.sin_addr));
-			}
+				ast_verb(2, "HTTP Manager '%s' logged off from %s\n", s->username, ast_inet_ntoa(s->sin.sin_addr));
 			ast_log(LOG_EVENT, "HTTP Manager '%s' logged off from %s\n", s->username, ast_inet_ntoa(s->sin.sin_addr));
 		} else {
-			if (option_verbose > 1) {
 				if (displayconnects)
-					ast_verbose(VERBOSE_PREFIX_2 "HTTP Connect attempt from '%s' unable to authenticate\n", ast_inet_ntoa(s->sin.sin_addr));
-			}
+				ast_verb(2, "HTTP Connect attempt from '%s' unable to authenticate\n", ast_inet_ntoa(s->sin.sin_addr));
 			ast_log(LOG_EVENT, "HTTP Failed attempt from %s\n", ast_inet_ntoa(s->sin.sin_addr));
 		}
 		s->needdestroy = 1;
Index: main/app.c
===================================================================
--- main/app.c	(revision 76707)
+++ main/app.c	(working copy)
@@ -205,8 +205,8 @@
 	if (ast_has_voicemail_func)
 		return ast_has_voicemail_func(mailbox, folder);
 
-	if ((option_verbose > 2) && !warned) {
-		ast_verbose(VERBOSE_PREFIX_3 "Message check requested for mailbox %s/folder %s but voicemail not loaded.\n", mailbox, folder ? folder : "INBOX");
+	if (!warned) {
+		ast_verb(3, "Message check requested for mailbox %s/folder %s but voicemail not loaded.\n", mailbox, folder ? folder : "INBOX");
 		warned++;
 	}
 	return 0;
@@ -223,9 +223,9 @@
 	if (ast_inboxcount_func)
 		return ast_inboxcount_func(mailbox, newmsgs, oldmsgs);
 
-	if (!warned && (option_verbose > 2)) {
+	if (!warned) {
 		warned++;
-		ast_verbose(VERBOSE_PREFIX_3 "Message count requested for mailbox %s but voicemail not loaded.\n", mailbox);
+		ast_verb(3, "Message count requested for mailbox %s but voicemail not loaded.\n", mailbox);
 	}
 
 	return 0;
@@ -237,9 +237,9 @@
 	if (ast_messagecount_func)
 		return ast_messagecount_func(context, mailbox, folder);
 
-	if (!warned && (option_verbose > 2)) {
+	if (!warned) {
 		warned++;
-		ast_verbose(VERBOSE_PREFIX_3 "Message count requested for mailbox %s@%s/%s but voicemail not loaded.\n", mailbox, context, folder);
+		ast_verb(3, "Message count requested for mailbox %s@%s/%s but voicemail not loaded.\n", mailbox, context, folder);
 	}
 
 	return 0;
@@ -454,13 +454,13 @@
 			else if (end || offset < 0) {
 				if (offset == -8) 
 					offset = 0;
-				ast_verbose(VERBOSE_PREFIX_3 "ControlPlayback seek to offset %ld from end\n", offset);
+				ast_verb(3, "ControlPlayback seek to offset %ld from end\n", offset);
 
 				ast_seekstream(chan->stream, offset, SEEK_END);
 				end = NULL;
 				offset = 0;
 			} else if (offset) {
-				ast_verbose(VERBOSE_PREFIX_3 "ControlPlayback seek to offset %ld\n", offset);
+				ast_verb(3, "ControlPlayback seek to offset %ld\n", offset);
 				ast_seekstream(chan->stream, offset, SEEK_SET);
 				offset = 0;
 			};
@@ -615,8 +615,7 @@
 	end = start = time(NULL);  /* pre-initialize end to be same as start in case we never get into loop */
 	for (x = 0; x < fmtcnt; x++) {
 		others[x] = ast_writefile(prepend ? prependfile : recordfile, sfmt[x], comment, O_TRUNC, 0, AST_FILE_MODE);
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "x=%d, open writing:  %s format: %s, %p\n", x, prepend ? prependfile : recordfile, sfmt[x], others[x]);
+		ast_verb(3, "x=%d, open writing:  %s format: %s, %p\n", x, prepend ? prependfile : recordfile, sfmt[x], others[x]);
 
 		if (!others[x])
 			break;
@@ -691,8 +690,7 @@
 
 					if (totalsilence > maxsilence) {
 						/* Ended happily with silence */
-						if (option_verbose > 2)
-							ast_verbose( VERBOSE_PREFIX_3 "Recording automatically stopped after a silence of %d seconds\n", totalsilence/1000);
+						ast_verb(3, "Recording automatically stopped after a silence of %d seconds\n", totalsilence/1000);
 						res = 'S';
 						outmsg = 2;
 						break;
@@ -709,22 +707,19 @@
 			} else if (f->frametype == AST_FRAME_DTMF) {
 				if (prepend) {
 				/* stop recording with any digit */
-					if (option_verbose > 2) 
-						ast_verbose(VERBOSE_PREFIX_3 "User ended message by pressing %c\n", f->subclass);
+					ast_verb(3, "User ended message by pressing %c\n", f->subclass);
 					res = 't';
 					outmsg = 2;
 					break;
 				}
 				if (strchr(acceptdtmf, f->subclass)) {
-					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "User ended message by pressing %c\n", f->subclass);
+					ast_verb(3, "User ended message by pressing %c\n", f->subclass);
 					res = f->subclass;
 					outmsg = 2;
 					break;
 				}
 				if (strchr(canceldtmf, f->subclass)) {
-					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "User cancelled message by pressing %c\n", f->subclass);
+					ast_verb(3, "User cancelled message by pressing %c\n", f->subclass);
 					res = f->subclass;
 					outmsg = 0;
 					break;
@@ -733,8 +728,7 @@
 			if (maxtime) {
 				end = time(NULL);
 				if (maxtime < (end - start)) {
-					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "Took too long, cutting it short...\n");
+					ast_verb(3, "Took too long, cutting it short...\n");
 					res = 't';
 					outmsg = 2;
 					break;
@@ -743,8 +737,7 @@
 			ast_frfree(f);
 		}
 		if (!f) {
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "User hung up\n");
+			ast_verb(3, "User hung up\n");
 			res = -1;
 			outmsg = 1;
 		} else {
@@ -792,8 +785,7 @@
 			ast_closestream(others[x]);
 			ast_closestream(realfiles[x]);
 			ast_filerename(prependfile, recordfile, sfmt[x]);
-			if (option_verbose > 3)
-				ast_verbose(VERBOSE_PREFIX_4 "Recording Format: sfmts=%s, prependfile %s, recordfile %s\n", sfmt[x], prependfile, recordfile);
+			ast_verb(4, "Recording Format: sfmts=%s, prependfile %s, recordfile %s\n", sfmt[x], prependfile, recordfile);
 			ast_filedelete(prependfile, sfmt[x]);
 		}
 	}
@@ -1127,16 +1119,16 @@
 			}
 		case '2':
 			/* Review */
-			ast_verbose(VERBOSE_PREFIX_3 "Reviewing the recording\n");
+			ast_verb(3, "Reviewing the recording\n");
 			cmd = ast_stream_and_wait(chan, recordfile, AST_DIGIT_ANY);
 			break;
 		case '3':
 			message_exists = 0;
 			/* Record */
 			if (recorded == 1)
-				ast_verbose(VERBOSE_PREFIX_3 "Re-recording\n");
+				ast_verb(3, "Re-recording\n");
 			else	
-				ast_verbose(VERBOSE_PREFIX_3 "Recording\n");
+				ast_verb(3, "Recording\n");
 			recorded = 1;
 			cmd = ast_play_and_record(chan, playfile, recordfile, maxtime, fmt, duration, silencethreshold, maxsilence, path);
 			if (cmd == -1) {
Index: main/image.c
===================================================================
--- main/image.c	(revision 76707)
+++ main/image.c	(working copy)
@@ -51,8 +51,7 @@
 
 int ast_image_register(struct ast_imager *img)
 {
-	if (option_verbose > 1)
-		ast_verbose(VERBOSE_PREFIX_2 "Registered format '%s' (%s)\n", img->name, img->desc);
+	ast_verb(2, "Registered format '%s' (%s)\n", img->name, img->desc);
 	AST_RWLIST_WRLOCK(&imagers);
 	AST_RWLIST_INSERT_HEAD(&imagers, img, list);
 	AST_RWLIST_UNLOCK(&imagers);
@@ -72,8 +71,8 @@
 	}
 	AST_RWLIST_TRAVERSE_SAFE_END
 	AST_RWLIST_UNLOCK(&imagers);
-	if (i && (option_verbose > 1))
-		ast_verbose(VERBOSE_PREFIX_2 "Unregistered format '%s' (%s)\n", img->name, img->desc);
+	if (i)
+		ast_verb(2, "Unregistered format '%s' (%s)\n", img->name, img->desc);
 }
 
 int ast_supports_images(struct ast_channel *chan)
Index: main/translate.c
===================================================================
--- main/translate.c	(revision 76707)
+++ main/translate.c	(working copy)
@@ -626,13 +626,11 @@
   
 	calc_cost(t, 1);
 
-	if (option_verbose > 1) {
 		char tmp[80];
 
-		ast_verbose(VERBOSE_PREFIX_2 "Registered translator '%s' from format %s to %s, cost %d\n",
+	ast_verb(2, "Registered translator '%s' from format %s to %s, cost %d\n",
 			    term_color(tmp, t->name, COLOR_MAGENTA, COLOR_BLACK, sizeof(tmp)),
 			    ast_getformatname(1 << t->srcfmt), ast_getformatname(1 << t->dstfmt), t->cost);
-	}
 
 	if (!added_cli) {
 		ast_cli_register_multiple(cli_translate, sizeof(cli_translate) / sizeof(struct ast_cli_entry));
@@ -676,8 +674,7 @@
 	AST_RWLIST_TRAVERSE_SAFE_BEGIN(&translators, u, list) {
 		if (u == t) {
 			AST_RWLIST_REMOVE_CURRENT(&translators, list);
-			if (option_verbose > 1)
-				ast_verbose(VERBOSE_PREFIX_2 "Unregistered translator '%s' from format %s to %s\n", term_color(tmp, t->name, COLOR_MAGENTA, COLOR_BLACK, sizeof(tmp)), ast_getformatname(1 << t->srcfmt), ast_getformatname(1 << t->dstfmt));
+			ast_verb(2, "Unregistered translator '%s' from format %s to %s\n", term_color(tmp, t->name, COLOR_MAGENTA, COLOR_BLACK, sizeof(tmp)), ast_getformatname(1 << t->srcfmt), ast_getformatname(1 << t->dstfmt));
 			found = 1;
 			break;
 		}
Index: main/rtp.c
===================================================================
--- main/rtp.c	(revision 76707)
+++ main/rtp.c	(working copy)
@@ -3748,12 +3748,10 @@
 			return AST_BRIDGE_FAILED_NOWARN;
 		}
 
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "Packet2Packet bridging %s and %s\n", c0->name, c1->name);
+		ast_verb(3, "Packet2Packet bridging %s and %s\n", c0->name, c1->name);
 		res = bridge_p2p_loop(c0, c1, p0, p1, timeoutms, flags, fo, rc, pvt0, pvt1);
 	} else {
-		if (option_verbose > 2) 
-			ast_verbose(VERBOSE_PREFIX_3 "Native bridging %s and %s\n", c0->name, c1->name);
+		ast_verb(3, "Native bridging %s and %s\n", c0->name, c1->name);
 		res = bridge_native_loop(c0, c1, p0, p1, vp0, vp1, tp0, tp1, pr0, pr1, codec0, codec1, timeoutms, flags, fo, rc, pvt0, pvt1);
 	}
 
@@ -4033,8 +4031,7 @@
 		rtpstart = 5000;
 		rtpend = 31000;
 	}
-	if (option_verbose > 1)
-		ast_verbose(VERBOSE_PREFIX_2 "RTP Allocating from port range %d -> %d\n", rtpstart, rtpend);
+	ast_verb(2, "RTP Allocating from port range %d -> %d\n", rtpstart, rtpend);
 	return 0;
 }
 
Index: main/abstract_jb.c
===================================================================
--- main/abstract_jb.c	(revision 76707)
+++ main/abstract_jb.c	(working copy)
@@ -511,8 +511,7 @@
 				now, frr->ts, frr->len);
 	}
 
-	if (option_verbose > 2) 
-		ast_verbose(VERBOSE_PREFIX_3 "%s jitterbuffer created on channel %s\n", jbimpl->name, chan->name);
+	ast_verb(3, "%s jitterbuffer created on channel %s\n", jbimpl->name, chan->name);
 	
 	/* Free the frame if it has not been queued in the jb */
 	if (res != JB_IMPL_OK)
@@ -545,8 +544,7 @@
 		
 		ast_clear_flag(jb, JB_CREATED);
 
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "%s jitterbuffer destroyed on channel %s\n", jbimpl->name, chan->name);
+		ast_verb(3, "%s jitterbuffer destroyed on channel %s\n", jbimpl->name, chan->name);
 	}
 }
 
Index: main/udptl.c
===================================================================
--- main/udptl.c	(revision 76707)
+++ main/udptl.c	(working copy)
@@ -702,8 +702,7 @@
 	}
 
 	if (udptl_debug_test_addr(&sin)) {
-		if (option_verbose)
-			ast_verbose("Got UDPTL packet from %s:%d (type %d, seq %d, len %d)\n",
+		ast_verb(1, "Got UDPTL packet from %s:%d (type %d, seq %d, len %d)\n",
 				ast_inet_ntoa(sin.sin_addr), ntohs(sin.sin_port), 0, seqno, res);
 	}
 #if 0
@@ -1256,8 +1255,7 @@
 		udptlstart = 4500;
 		udptlend = 4999;
 	}
-	if (option_verbose > 1)
-		ast_verbose(VERBOSE_PREFIX_2 "UDPTL allocating from port range %d -> %d\n", udptlstart, udptlend);
+	ast_verb(2, "UDPTL allocating from port range %d -> %d\n", udptlstart, udptlend);
 }
 
 void ast_udptl_init(void)
Index: main/say.c
===================================================================
--- main/say.c	(revision 76707)
+++ main/say.c	(working copy)
@@ -1234,7 +1234,7 @@
 	int state = 0; /* no need to save anything */
 	int mf = 1;    /* +1 = Masculin; -1 = Feminin */
 	char fn[SAY_NUM_BUF_SIZE] = "";
-	ast_verbose(VERBOSE_PREFIX_3 "ast_say_digits_full: started. "
+	ast_verb(3, "ast_say_digits_full: started. "
 		"num: %d, options=\"%s\"\n",
 		num, options
 	);
@@ -1253,7 +1253,7 @@
 		 * state==0 is the normal mode and it means that we continue
 		 * to check if the number num has yet anything left.
 		 */
-		ast_verbose(VERBOSE_PREFIX_3 "ast_say_digits_full: num: %d, "
+		ast_verb(3, "ast_say_digits_full: num: %d, "
 			"state=%d, options=\"%s\", mf=%d\n",
 			num, state, options, mf
 		);
Index: main/indications.c
===================================================================
--- main/indications.c	(revision 76707)
+++ main/indications.c	(working copy)
@@ -369,8 +369,7 @@
 	if (!country || !(zone = ast_get_indication_zone(country)))
 		return 1;
 	
-	if (option_verbose > 2)
-		ast_verbose(VERBOSE_PREFIX_3 "Setting default indication country to '%s'\n", country);
+	ast_verb(3, "Setting default indication country to '%s'\n", country);
 
 	/* Protect the current tonezone using the tone_zones lock as well */
 	AST_RWLIST_WRLOCK(&tone_zones);
@@ -494,8 +493,7 @@
 	/* It's all over. */
 	AST_RWLIST_UNLOCK(&tone_zones);
 
-	if (option_verbose > 2)
-		ast_verbose(VERBOSE_PREFIX_3 "Registered indication country '%s'\n", zone->country);
+	ast_verb(3, "Registered indication country '%s'\n", zone->country);
 
 	return 0;
 }
@@ -518,8 +516,7 @@
 		}
 		/* Remove from the list */
 		AST_RWLIST_REMOVE_CURRENT(&tone_zones, list);
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "Unregistered indication country '%s'\n", tz->country);
+		ast_verb(3, "Unregistered indication country '%s'\n", tz->country);
 		free_zone(tz);
 		res = 0;
 	}
Index: main/dial.c
===================================================================
--- main/dial.c	(revision 76707)
+++ main/dial.c	(working copy)
@@ -284,8 +284,7 @@
 			channel->owner = NULL;
 		} else {
 			success++;
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "Called %s\n", numsubst);
+			ast_verb(3, "Called %s\n", numsubst);
 		}
 	}
 
@@ -320,56 +319,47 @@
 	if (fr->frametype == AST_FRAME_CONTROL) {
 		switch (fr->subclass) {
 		case AST_CONTROL_ANSWER:
-			if (option_verbose > 2)
-				ast_verbose( VERBOSE_PREFIX_3 "%s answered %s\n", channel->owner->name, chan->name);
+			ast_verb(3, "%s answered %s\n", channel->owner->name, chan->name);
 			AST_LIST_REMOVE(&dial->channels, channel, list);
 			AST_LIST_INSERT_HEAD(&dial->channels, channel, list);
 			set_state(dial, AST_DIAL_RESULT_ANSWERED);
 			break;
 		case AST_CONTROL_BUSY:
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "%s is busy\n", channel->owner->name);
+			ast_verb(3, "%s is busy\n", channel->owner->name);
 			ast_hangup(channel->owner);
 			channel->owner = NULL;
 			break;
 		case AST_CONTROL_CONGESTION:
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "%s is circuit-busy\n", channel->owner->name);
+			ast_verb(3, "%s is circuit-busy\n", channel->owner->name);
 			ast_hangup(channel->owner);
 			channel->owner = NULL;
 			break;
 		case AST_CONTROL_RINGING:
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "%s is ringing\n", channel->owner->name);
+			ast_verb(3, "%s is ringing\n", channel->owner->name);
 			if (!dial->options[AST_DIAL_OPTION_MUSIC])
 				ast_indicate(chan, AST_CONTROL_RINGING);
 			set_state(dial, AST_DIAL_RESULT_RINGING);
 			break;
 		case AST_CONTROL_PROGRESS:
-			if (option_verbose > 2)
-				ast_verbose (VERBOSE_PREFIX_3 "%s is making progress, passing it to %s\n", channel->owner->name, chan->name);
+			ast_verb(3, "%s is making progress, passing it to %s\n", channel->owner->name, chan->name);
 			ast_indicate(chan, AST_CONTROL_PROGRESS);
 			set_state(dial, AST_DIAL_RESULT_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", channel->owner->name, chan->name);
+			ast_verb(3, "%s requested a video update, passing it to %s\n", channel->owner->name, chan->name);
 			ast_indicate(chan, 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", channel->owner->name, chan->name);
+			ast_verb(3, "%s is proceeding, passing it to %s\n", channel->owner->name, chan->name);
 			ast_indicate(chan, AST_CONTROL_PROCEEDING);
 			set_state(dial, AST_DIAL_RESULT_PROCEEDING);
 			break;
 		case AST_CONTROL_HOLD:
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "Call on %s placed on hold\n", chan->name);
+			ast_verb(3, "Call on %s placed on hold\n", chan->name);
 			ast_indicate(chan, AST_CONTROL_HOLD);
 			break;
 		case AST_CONTROL_UNHOLD:
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3 "Call on %s left from hold\n", chan->name);
+			ast_verb(3, "Call on %s left from hold\n", chan->name);
 			ast_indicate(chan, AST_CONTROL_UNHOLD);
 			break;
 		case AST_CONTROL_OFFHOOK:
@@ -396,37 +386,31 @@
 
 	switch (fr->subclass) {
 	case AST_CONTROL_ANSWER:
-		if (option_verbose > 2)
-			ast_verbose( VERBOSE_PREFIX_3 "%s answered\n", channel->owner->name);
+		ast_verb(3, "%s answered\n", channel->owner->name);
 		AST_LIST_REMOVE(&dial->channels, channel, list);
 		AST_LIST_INSERT_HEAD(&dial->channels, channel, list);
 		set_state(dial, AST_DIAL_RESULT_ANSWERED);
 		break;
 	case AST_CONTROL_BUSY:
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "%s is busy\n", channel->owner->name);
+		ast_verb(3, "%s is busy\n", channel->owner->name);
 		ast_hangup(channel->owner);
 		channel->owner = NULL;
 		break;
 	case AST_CONTROL_CONGESTION:
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "%s is circuit-busy\n", channel->owner->name);
+		ast_verb(3, "%s is circuit-busy\n", channel->owner->name);
 		ast_hangup(channel->owner);
 		channel->owner = NULL;
 		break;
 	case AST_CONTROL_RINGING:
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "%s is ringing\n", channel->owner->name);
+		ast_verb(3, "%s is ringing\n", channel->owner->name);
 		set_state(dial, AST_DIAL_RESULT_RINGING);
 		break;
 	case AST_CONTROL_PROGRESS:
-		if (option_verbose > 2)
-			ast_verbose (VERBOSE_PREFIX_3 "%s is making progress\n", channel->owner->name);
+		ast_verb(3, "%s is making progress\n", channel->owner->name);
 		set_state(dial, AST_DIAL_RESULT_PROGRESS);
 		break;
 	case AST_CONTROL_PROCEEDING:
-		if (option_verbose > 2)
-			ast_verbose (VERBOSE_PREFIX_3 "%s is proceeding\n", channel->owner->name);
+		ast_verb(3, "%s is proceeding\n", channel->owner->name);
 		set_state(dial, AST_DIAL_RESULT_PROCEEDING);
 		break;
 	default:
Index: main/dnsmgr.c
===================================================================
--- main/dnsmgr.c	(revision 76707)
+++ main/dnsmgr.c	(working copy)
@@ -113,8 +113,7 @@
 	AST_RWLIST_WRLOCK(&entry_list);
 	AST_RWLIST_REMOVE(&entry_list, entry, list);
 	AST_RWLIST_UNLOCK(&entry_list);
-	if (option_verbose > 3)
-		ast_verbose(VERBOSE_PREFIX_4 "removing dns manager for '%s'\n", entry->name);
+	ast_verb(4, "removing dns manager for '%s'\n", entry->name);
 
 	ast_mutex_destroy(&entry->lock);
 	ast_free(entry);
@@ -131,8 +130,7 @@
 	if (*dnsmgr && !strcasecmp((*dnsmgr)->name, name))
 		return 0;
 
-	if (option_verbose > 3)
-		ast_verbose(VERBOSE_PREFIX_4 "doing dnsmgr_lookup for '%s'\n", name);
+	ast_verb(4, "doing dnsmgr_lookup for '%s'\n", name);
 
 	/* if it's actually an IP address and not a name,
 	   there's no need for a managed lookup */
@@ -147,8 +145,7 @@
 	if (!enabled)
 		return 0;
 	
-	if (option_verbose > 2)
-		ast_verbose(VERBOSE_PREFIX_2 "adding dns manager for '%s'\n", name);
+	ast_verb(3, "adding dns manager for '%s'\n", name);
 	*dnsmgr = ast_dnsmgr_get(name, result);
 	return !*dnsmgr;
 }
@@ -166,8 +163,8 @@
 	int changed = 0;
         
 	ast_mutex_lock(&entry->lock);
-	if (verbose && (option_verbose > 2))
-		ast_verbose(VERBOSE_PREFIX_2 "refreshing '%s'\n", entry->name);
+	if (verbose)
+		ast_verb(3, "refreshing '%s'\n", entry->name);
 
 	if ((hp = ast_gethostbyname(entry->name, &ahp))) {
 		/* check to see if it has changed, do callback if requested (where de callback is defined ????) */
@@ -232,8 +229,7 @@
 		return -1;
 	}
 
-	if (option_verbose > 2)
-		ast_verbose(VERBOSE_PREFIX_2 "Refreshing DNS lookups.\n");
+	ast_verb(3, "Refreshing DNS lookups.\n");
 	AST_RWLIST_RDLOCK(info->entries);
 	AST_RWLIST_TRAVERSE(info->entries, entry, list) {
 		if (info->regex_present && regexec(&info->filter, entry->name, 0, NULL, 0))
Index: main/srv.c
===================================================================
--- main/srv.c	(revision 76707)
+++ main/srv.c	(working copy)
@@ -82,8 +82,7 @@
 		return -1;
 	}
 	if (res && strcmp(repl, ".")) {
-		if (option_verbose > 3)
-			ast_verbose( VERBOSE_PREFIX_3 "parse_srv: SRV mapped to host %s, port %d\n", repl, ntohs(srv->portnum));
+		ast_verb(3, "parse_srv: SRV mapped to host %s, port %d\n", repl, ntohs(srv->portnum));
 		if (host) {
 			ast_copy_string(host, repl, hostlen);
 			host[hostlen-1] = '\0';
Index: main/file.c
===================================================================
--- main/file.c	(revision 76707)
+++ main/file.c	(working copy)
@@ -97,8 +97,7 @@
 
 	AST_RWLIST_INSERT_HEAD(&formats, tmp, list);
 	AST_RWLIST_UNLOCK(&formats);
-	if (option_verbose > 1)
-		ast_verbose( VERBOSE_PREFIX_2 "Registered file format %s, extension(s) %s\n", f->name, f->exts);
+	ast_verb(2, "Registered file format %s, extension(s) %s\n", f->name, f->exts);
 
 	return 0;
 }
@@ -119,10 +118,9 @@
 	AST_RWLIST_TRAVERSE_SAFE_END
 	AST_RWLIST_UNLOCK(&formats);
 
-	if (!res) {
-		if (option_verbose > 1)
-			ast_verbose( VERBOSE_PREFIX_2 "Unregistered format %s\n", name);
-	} else
+	if (!res)
+		ast_verb(2, "Unregistered format %s\n", name);
+	else
 		ast_log(LOG_WARNING, "Tried to unregister format %s, already unregistered\n", name);
 
 	return res;
@@ -797,8 +795,7 @@
 		ast_playstream(fs);
 		if (vfs)
 			ast_playstream(vfs);
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "<%s> Playing '%s.%s' (language '%s')\n", chan->name, filename, ast_getformatname(chan->writeformat), preflang ? preflang : "default");
+		ast_verb(3, "<%s> Playing '%s.%s' (language '%s')\n", chan->name, filename, ast_getformatname(chan->writeformat), preflang ? preflang : "default");
 
 		return 0;
 	}
Index: pbx/pbx_gtkconsole.c
===================================================================
--- pbx/pbx_gtkconsole.c	(revision 76707)
+++ pbx/pbx_gtkconsole.c	(working copy)
@@ -313,8 +313,7 @@
 	ast_update_use_count();
 	ast_unregister_verbose(verboser);
 	ast_unload_resource("pbx_gtkconsole", 0);
-	if (option_verbose > 1)
-		ast_verbose(VERBOSE_PREFIX_2 "GTK Console Monitor Exiting\n");
+	ast_verb(2, "GTK Console Monitor Exiting\n");
 	/* XXX Trying to quit after calling this makes asterisk segfault XXX */
 }
 
@@ -488,15 +487,14 @@
 		if (!show_console()) {
 			inuse++;
 			ast_update_use_count();
-			if (option_verbose > 1)
-				ast_verbose( VERBOSE_PREFIX_2 "Launched GTK Console monitor\n");		
+			ast_verb(2, "Launched GTK Console monitor\n");
 		} else
 			ast_log(LOG_WARNING, "Unable to start GTK console\n");
 	} else {
 		if (option_debug)
 			ast_log(LOG_DEBUG, "Unable to start GTK console monitor -- ignoring\n");
-		else if (option_verbose > 1)
-			ast_verbose( VERBOSE_PREFIX_2 "GTK is not available -- skipping monitor\n");
+		else
+			ast_verb(2, "GTK is not available -- skipping monitor\n");
 	}
 	return 0;
 }
Index: pbx/pbx_spool.c
===================================================================
--- pbx/pbx_spool.c	(revision 76707)
+++ pbx/pbx_spool.c	(working copy)
@@ -329,12 +329,10 @@
 	struct outgoing *o = data;
 	int res, reason;
 	if (!ast_strlen_zero(o->app)) {
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "Attempting call on %s/%s for application %s(%s) (Retry %d)\n", o->tech, o->dest, o->app, o->data, o->retries);
+		ast_verb(3, "Attempting call on %s/%s for application %s(%s) (Retry %d)\n", o->tech, o->dest, o->app, o->data, o->retries);
 		res = ast_pbx_outgoing_app(o->tech, AST_FORMAT_SLINEAR, o->dest, o->waittime * 1000, o->app, o->data, &reason, 2 /* wait to finish */, o->cid_num, o->cid_name, o->vars, o->account, NULL);
 	} else {
-		if (option_verbose > 2)
-			ast_verbose(VERBOSE_PREFIX_3 "Attempting call on %s/%s for %s@%s:%d (Retry %d)\n", o->tech, o->dest, o->exten, o->context,o->priority, o->retries);
+		ast_verb(3, "Attempting call on %s/%s for %s@%s:%d (Retry %d)\n", o->tech, o->dest, o->exten, o->context,o->priority, o->retries);
 		res = ast_pbx_outgoing_exten(o->tech, AST_FORMAT_SLINEAR, o->dest, o->waittime * 1000, o->context, o->exten, o->priority, &reason, 2 /* wait to finish */, o->cid_num, o->cid_name, o->vars, o->account, NULL);
 	}
 	if (res) {
Index: pbx/pbx_realtime.c
===================================================================
--- pbx/pbx_realtime.c	(revision 76707)
+++ pbx/pbx_realtime.c	(working copy)
@@ -198,8 +198,7 @@
 
 				if(!ast_strlen_zero(tmp))
 					pbx_substitute_variables_helper(chan, tmp, appdata, sizeof(appdata) - 1);
-				if (option_verbose > 2)
-					ast_verbose( VERBOSE_PREFIX_3 "Executing %s(\"%s\", \"%s\")\n",
+				ast_verb(3, "Executing %s(\"%s\", \"%s\")\n",
 						 term_color(tmp1, app, COLOR_BRCYAN, 0, sizeof(tmp1)),
 						 term_color(tmp2, chan->name, COLOR_BRMAGENTA, 0, sizeof(tmp2)),
 						 term_color(tmp3, S_OR(appdata, ""), COLOR_BRMAGENTA, 0, sizeof(tmp3)));
Index: pbx/pbx_dundi.c
===================================================================
--- pbx/pbx_dundi.c	(revision 76707)
+++ pbx/pbx_dundi.c	(working copy)
@@ -1634,11 +1634,9 @@
 					ntohs(trans->addr.sin_port), expire);
 				ast_db_put("dundi/dpeers", dundi_eid_to_str_short(eid_str, sizeof(eid_str), &peer->eid), data);
 				if (inaddrcmp(&peer->addr, &trans->addr)) {
-					if (option_verbose > 2) {
-						ast_verbose(VERBOSE_PREFIX_3 "Registered DUNDi peer '%s' at '%s:%d'\n", 
+					ast_verb(3, "Registered DUNDi peer '%s' at '%s:%d'\n",
 							dundi_eid_to_str(eid_str, sizeof(eid_str), &peer->eid), 
 							ast_inet_ntoa(trans->addr.sin_addr), ntohs(trans->addr.sin_port));
-					}
 					needqual = 1;
 				}
 					
@@ -4796,10 +4794,7 @@
 	ast_custom_function_register(&dundi_query_function);
 	ast_custom_function_register(&dundi_result_function);
 	
-	if (option_verbose > 1) {
-		ast_verbose(VERBOSE_PREFIX_2 "DUNDi Ready and Listening on %s port %d\n", 
-			ast_inet_ntoa(sin.sin_addr), ntohs(sin.sin_port));
-	}
+	ast_verb(2, "DUNDi Ready and Listening on %s port %d\n", ast_inet_ntoa(sin.sin_addr), ntohs(sin.sin_port));
 
 	return AST_MODULE_LOAD_SUCCESS;
 }
