diff --git a/main/abstract_jb.c b/main/abstract_jb.c
index 083ff9efb683956e3c42ae4b20fe94f6ccd44ebe..03dd0226c0693094408d02eaf3489438e6c82d13 100644
--- a/main/abstract_jb.c
+++ b/main/abstract_jb.c
@@ -934,7 +934,7 @@ static struct timeval jitterbuffer_frame_get_ntp_timestamp(const struct jb_strea
 		timestamp_diff = (frame->ts * (rate / 1000)) - stream_sync->timestamp;
 	} else {
 		/* Video is special - internally we reference it as 1000 to preserve the RTP timestamp but
-		 * it is actualy 90000, this is why we can just directly subtract the timestamp.
+		 * it is actually 90000, this is why we can just directly subtract the timestamp.
 		 */
 		rate = 90000;
 		timestamp_diff = frame->ts - stream_sync->timestamp;
diff --git a/main/aoc.c b/main/aoc.c
index 64f3c1d2bfcedad47002faf61e0da3b46f61ffb4..8969ac8cf2a384488862da2a013b90bf2000e03f 100644
--- a/main/aoc.c
+++ b/main/aoc.c
@@ -1407,7 +1407,7 @@ static void aoc_time_str(struct ast_str **msg, const char *prefix, const char *n
  * \param msg Event message string being built.
  * \param prefix Prefix to add to the amount lines.
  * \param amount Data to convert.
- * \param multipler to convert
+ * \param multiplier to convert
  *
  * \return Nothing
  */
diff --git a/main/asterisk.c b/main/asterisk.c
index f39cd90e9e9660375184b788ada8890035a09bf7..eaf2d7d56b9d3247c39ccbea6e5a7115b408289d 100644
--- a/main/asterisk.c
+++ b/main/asterisk.c
@@ -4166,7 +4166,7 @@ static void asterisk_daemon(int isroot, const char *runuser, const char *rungrou
 	 */
 	check_init(ast_media_cache_init(), "Media Cache");
 
-	/* loads the cli_permissoins.conf file needed to implement cli restrictions. */
+	/* loads the cli_permissions.conf file needed to implement cli restrictions. */
 	ast_cli_perms_init(0);
 
 	ast_stun_init();
diff --git a/main/astfd.c b/main/astfd.c
index 83228039eae4d95667e3385ea00917bf1380d1b3..78efe116ae3d9e990c444a2fe0056eabe9ecc734 100644
--- a/main/astfd.c
+++ b/main/astfd.c
@@ -300,7 +300,7 @@ int __ast_fdleak_dup2(int oldfd, int newfd, const char *file, int line, const ch
 	}
 	/* On success, newfd will be closed automatically if it was already
 	 * open. We don't need to mention anything about that, we're updating
-	 * the value anway. */
+	 * the value anyway. */
 	STORE_COMMON(res, "dup2", "%d,%d", oldfd, newfd); /* res == newfd */
 	return res;
 }
diff --git a/main/astmm.c b/main/astmm.c
index cb45a0375c9981892cfcceb21859093f6c8143b2..7cb50e343ef8be67906ac2b1f21f3ed3d9ddcce5 100644
--- a/main/astmm.c
+++ b/main/astmm.c
@@ -119,7 +119,7 @@ struct ast_region {
 	 *
 	 * \note Must be right before data[].
 	 *
-	 * \note Padding between fence and data[] is irrelevent because
+	 * \note Padding between fence and data[] is irrelevant because
 	 * data[] is used to fill in the lower fence check value and not
 	 * the fence member.  The fence member is to ensure that there
 	 * is space reserved for the fence check value.
@@ -1502,7 +1502,7 @@ static void mm_atexit_final(void)
 	freed_regions_flush(&whales);
 	freed_regions_flush(&minnows);
 
-	/* Peform atexit allocation dumps. */
+	/* Perform atexit allocation dumps. */
 	if (atexit_list || atexit_summary) {
 		ast_mutex_lock(&reglock);
 		mm_atexit_dump();
diff --git a/main/astobj2_container.c b/main/astobj2_container.c
index 0b580e6389f76a2c51dc908961bae13bddea4a8a..6437844b462ad99470cbca619ad1f75faa7b0ba2 100644
--- a/main/astobj2_container.c
+++ b/main/astobj2_container.c
@@ -864,7 +864,7 @@ int ao2_container_check(struct ao2_container *self, enum search_flags flags)
 	}
 #if defined(AO2_DEBUG)
 	if (!self->v_table->integrity) {
-		/* No ingetrigy check available.  Assume container is ok. */
+		/* No integrity check available.  Assume container is ok. */
 		return 0;
 	}
 
diff --git a/main/astobj2_container_private.h b/main/astobj2_container_private.h
index 3651ca41f3fd18da049b4539fb8e3887e6affe04..daa808b3c2a8c4330ff6ea5335fa391acf3e24b0 100644
--- a/main/astobj2_container_private.h
+++ b/main/astobj2_container_private.h
@@ -254,7 +254,7 @@ struct ao2_container_methods {
 #if defined(AO2_DEBUG)
 	/*! Increment the container linked object statistic. */
 	ao2_link_node_stat_fn link_stat;
-	/*! Deccrement the container linked object statistic. */
+	/*! Decrement the container linked object statistic. */
 	ao2_unlink_node_stat_fn unlink_stat;
 	/*! Display container contents. (Method for debug purposes) */
 	ao2_container_display dump;
diff --git a/main/astobj2_rbtree.c b/main/astobj2_rbtree.c
index d7c76e676da1256bb52a836ce7ef2b40502ac271..855f6756c523f26195464387366d54cafe3a8cfa 100644
--- a/main/astobj2_rbtree.c
+++ b/main/astobj2_rbtree.c
@@ -1143,7 +1143,7 @@ static enum ao2_container_insert rb_ao2_insert_node(struct ao2_container_rbtree
 		break;
 	}
 
-	/* Node is a dupliate */
+	/* Node is a duplicate */
 	switch (options & AO2_CONTAINER_ALLOC_OPT_DUPS_MASK) {
 	default:
 	case AO2_CONTAINER_ALLOC_OPT_DUPS_ALLOW:
diff --git a/main/audiohook.c b/main/audiohook.c
index ed16897be05de03e398b5688d74f025a6bcd9aaf..fc901aad90c15f1271f101f7bbcc3de6981794d6 100644
--- a/main/audiohook.c
+++ b/main/audiohook.c
@@ -610,7 +610,7 @@ void ast_audiohook_detach_list(struct ast_audiohook_list *audiohook_list)
 		ast_audiohook_update_status(audiohook, AST_AUDIOHOOK_STATUS_DONE);
 	}
 
-	/* Drop any manipulaters */
+	/* Drop any manipulators */
 	while ((audiohook = AST_LIST_REMOVE_HEAD(&audiohook_list->manipulate_list, list))) {
 		ast_audiohook_update_status(audiohook, AST_AUDIOHOOK_STATUS_DONE);
 		audiohook->manipulate_callback(audiohook, NULL, NULL, 0);
diff --git a/main/bridge.c b/main/bridge.c
index 05380085d3d36a7dbdd405ba2274a97fbf0c54e4..13f1ed12cb035d4e3b578697ebf220f12818509d 100644
--- a/main/bridge.c
+++ b/main/bridge.c
@@ -3068,7 +3068,7 @@ void ast_bridge_merge_inhibit(struct ast_bridge *bridge, int request)
 int ast_bridge_suspend(struct ast_bridge *bridge, struct ast_channel *chan)
 {
 	struct ast_bridge_channel *bridge_channel;
-/* XXX ASTERISK-21271 the case of a disolved bridge while channel is suspended is not handled. */
+/* XXX ASTERISK-21271 the case of a dissolved bridge while channel is suspended is not handled. */
 /* XXX ASTERISK-21271 suspend/unsuspend needs to be rethought. The caller must block until it has successfully suspended the channel for temporary control. */
 /* XXX ASTERISK-21271 external suspend/unsuspend needs to be eliminated. The channel may be playing a file at the time and stealing it then is not good. */
 
@@ -3089,7 +3089,7 @@ int ast_bridge_suspend(struct ast_bridge *bridge, struct ast_channel *chan)
 int ast_bridge_unsuspend(struct ast_bridge *bridge, struct ast_channel *chan)
 {
 	struct ast_bridge_channel *bridge_channel;
-/* XXX ASTERISK-21271 the case of a disolved bridge while channel is suspended is not handled. */
+/* XXX ASTERISK-21271 the case of a dissolved bridge while channel is suspended is not handled. */
 
 	ast_bridge_lock(bridge);
 
diff --git a/main/bridge_basic.c b/main/bridge_basic.c
index 72ea71447cb1598305fef40f71b50cde73acd02c..4a691b747f4aee7eaa722c07c6f7ede937a763a8 100644
--- a/main/bridge_basic.c
+++ b/main/bridge_basic.c
@@ -798,7 +798,7 @@ enum attended_transfer_state {
 	 * 2) TRANSFER_BLOND: Transferer hangs up or presses DTMF swap sequence
 	 * and configured atxferdropcall setting is yes.
 	 * 3) TRANSFER_BLOND_NONFINAL: Transferer hangs up or presses DTMF swap
-	 * sequence and configured atxferdroppcall setting is no.
+	 * sequence and configured atxferdropcall setting is no.
 	 * 4) TRANSFER_CONSULTING: Transfer target answers the call.
 	 * 5) TRANSFER_REBRIDGE: Transfer target hangs up, call to transfer target
 	 * times out, or transferer presses DTMF abort sequence.
@@ -832,7 +832,7 @@ enum attended_transfer_state {
 	 * 2) TRANSFER_BLOND: Transferer hangs up or presses DTMF swap sequence
 	 * and configured atxferdropcall setting is yes.
 	 * 3) TRANSFER_BLOND_NONFINAL: Transferer hangs up or presses DTMF swap
-	 * sequence and configured atxferdroppcall setting is no.
+	 * sequence and configured atxferdropcall setting is no.
 	 * 4) TRANSFER_DOUBLECHECKING: Transfer target answers the call
 	 * 5) TRANSFER_RESUME: Transfer target hangs up, call to transfer target
 	 * times out, or transferer presses DTMF abort sequence.
@@ -2444,7 +2444,7 @@ static void common_recall_channel_setup(struct ast_channel *recall, struct ast_c
 
 	/*
 	 * Stage a snapshot to ensure that a snapshot is always done
-	 * on the recall channel so earler COLP and CLID setup will
+	 * on the recall channel so earlier COLP and CLID setup will
 	 * get published.
 	 */
 	ast_channel_stage_snapshot(recall);
@@ -3473,7 +3473,7 @@ static int feature_blind_transfer(struct ast_bridge_channel *bridge_channel, voi
 	char xfer_exten[AST_MAX_EXTENSION] = "";
 	struct ast_bridge_features_blind_transfer *blind_transfer = hook_pvt;
 	const char *xfer_context;
-	char *goto_on_blindxfr;
+	char *goto_on_blindxfer;
 
 	ast_verb(3, "Channel %s: Started DTMF blind transfer.\n",
 		ast_channel_name(bridge_channel->chan));
@@ -3483,7 +3483,7 @@ static int feature_blind_transfer(struct ast_bridge_channel *bridge_channel, voi
 	ast_channel_lock(bridge_channel->chan);
 	xfer_context = ast_strdupa(get_transfer_context(bridge_channel->chan,
 		blind_transfer ? blind_transfer->context : NULL));
-	goto_on_blindxfr = ast_strdupa(S_OR(pbx_builtin_getvar_helper(bridge_channel->chan,
+	goto_on_blindxfer = ast_strdupa(S_OR(pbx_builtin_getvar_helper(bridge_channel->chan,
 		"GOTO_ON_BLINDXFR"), ""));
 	ast_channel_unlock(bridge_channel->chan);
 
@@ -3496,13 +3496,13 @@ static int feature_blind_transfer(struct ast_bridge_channel *bridge_channel, voi
 	ast_debug(1, "Channel %s: Blind transfer target '%s@%s'\n",
 		ast_channel_name(bridge_channel->chan), xfer_exten, xfer_context);
 
-	if (!ast_strlen_zero(goto_on_blindxfr)) {
+	if (!ast_strlen_zero(goto_on_blindxfer)) {
 		const char *chan_context;
 		const char *chan_exten;
 		int chan_priority;
 
 		ast_debug(1, "Channel %s: After transfer, transferrer goes to %s\n",
-			ast_channel_name(bridge_channel->chan), goto_on_blindxfr);
+			ast_channel_name(bridge_channel->chan), goto_on_blindxfer);
 
 		ast_channel_lock(bridge_channel->chan);
 		chan_context = ast_strdupa(ast_channel_context(bridge_channel->chan));
@@ -3510,12 +3510,12 @@ static int feature_blind_transfer(struct ast_bridge_channel *bridge_channel, voi
 		chan_priority = ast_channel_priority(bridge_channel->chan);
 		ast_channel_unlock(bridge_channel->chan);
 		ast_bridge_set_after_go_on(bridge_channel->chan,
-			chan_context, chan_exten, chan_priority, goto_on_blindxfr);
+			chan_context, chan_exten, chan_priority, goto_on_blindxfer);
 	}
 
 	if (ast_bridge_transfer_blind(0, bridge_channel->chan, xfer_exten, xfer_context,
 		blind_transfer_cb, bridge_channel->chan) != AST_BRIDGE_TRANSFER_SUCCESS
-		&& !ast_strlen_zero(goto_on_blindxfr)) {
+		&& !ast_strlen_zero(goto_on_blindxfer)) {
 		ast_bridge_discard_after_goto(bridge_channel->chan);
 	}
 
diff --git a/main/bridge_channel.c b/main/bridge_channel.c
index 7e058af3c06ae2953fc1c5a2bfabd06d8ce1a06a..608db61d5ae8cad22ae1039cdd276e12d5eb7a57 100644
--- a/main/bridge_channel.c
+++ b/main/bridge_channel.c
@@ -133,7 +133,7 @@ static void bridge_sync_init(struct bridge_sync *sync_struct, unsigned int id)
 }
 
 /*!
- * \brief Clean up a syncrhonization bridge object.
+ * \brief Clean up a synchronization bridge object.
  *
  * This frees fields within the synchronization object and removes
  * it from the list of active synchronization objects.
diff --git a/main/bucket.c b/main/bucket.c
index 3e869962124d57149530b0160a403fd27df5b326..01934f328ac5ea58533523747435ef244779aa27 100644
--- a/main/bucket.c
+++ b/main/bucket.c
@@ -731,7 +731,7 @@ int ast_bucket_file_create(struct ast_bucket_file *file)
 static int bucket_copy(const char *infile, const char *outfile)
 {
 	int ifd, ofd, len;
-	char buf[4096];	/* XXX make it lerger. */
+	char buf[4096];	/* XXX make it larger. */
 
 	if ((ifd = open(infile, O_RDONLY)) < 0) {
 		ast_log(LOG_WARNING, "Unable to open %s in read-only mode, error: %s\n", infile, strerror(errno));
diff --git a/main/callerid.c b/main/callerid.c
index 6c4e5cf04d81e0077c405ab8a472bcb3fc57e8f8..4d6186b3bccd4c93cea95b2cf6bf5cb8e45f24e3 100644
--- a/main/callerid.c
+++ b/main/callerid.c
@@ -577,7 +577,7 @@ int callerid_feed(struct callerid_state *cid, unsigned char *ubuf, int len, stru
 					continue;
 				}
 				/*
-				 * We can tollerate an error on the checksum character since the
+				 * We can tolerate an error on the checksum character since the
 				 * checksum character is the last character in the message and
 				 * it validates the message.
 				 *
diff --git a/main/ccss.c b/main/ccss.c
index 553897baf05de191e3200fca1c701b66260e82cd..222e8cb8b4ec84aeec76641b6b04decf7ed8e7fc 100644
--- a/main/ccss.c
+++ b/main/ccss.c
@@ -229,7 +229,7 @@ struct cc_control_payload {
 	 * and "SIP"
 	 *
 	 * \note This really should be an array of characters in case this payload
-	 * is sent accross an IAX2 link.  However, this would not make too much sense
+	 * is sent across an IAX2 link.  However, this would not make too much sense
 	 * given this type may not be recognized by the other end.
 	 * Protection may be necessary to prevent it from being transmitted.
 	 *
@@ -1354,7 +1354,7 @@ struct generic_monitor_instance_list {
 	 * for recall. If a CCNR request comes in, then we will
 	 * have to mark the list as unfit for recall since this
 	 * is a clear indicator that the person at the monitored
-	 * device has gone away and is actuall not fit to be
+	 * device has gone away and is actually not fit to be
 	 * recalled
 	 */
 	int fit_for_recall;
@@ -2660,7 +2660,7 @@ struct cc_generic_agent_pvt {
 	 * Context dialed
 	 *
 	 * The original context dialed. This is used
-	 * so that when performaing a recall, we can
+	 * so that when performing a recall, we can
 	 * call into the proper context
 	 */
 	char context[AST_CHANNEL_NAME];
diff --git a/main/channel.c b/main/channel.c
index 9239630fe76d59dc57e0dfa78b907d2f05c1212a..30f66d4f62a6f5d222afeaf529963ac51c92b859 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -2869,7 +2869,7 @@ static inline int should_trigger_dtmf_emulating(struct ast_channel *chan)
 			ast_tvdiff_ms(ast_tvnow(), *ast_channel_dtmf_tv(chan)) < 2*AST_MIN_DTMF_GAP) {
 		/*
 		 * We're not in the middle of a digit, but it hasn't been long enough
-		 * since the last digit, so we'll have to trigger DTMF furtheron.
+		 * since the last digit, so we'll have to trigger DTMF further on.
 		 * Using 2 times AST_MIN_DTMF_GAP to trigger readq reading for possible
 		 * buffered next dtmf event
 		 */
@@ -3587,7 +3587,7 @@ static struct ast_frame *__ast_read(struct ast_channel *chan, int dropaudio, int
 		switch (res) {
 		case AST_TIMING_EVENT_EXPIRED:
 			if (ast_timer_ack(ast_channel_timer(chan), 1) < 0) {
-				ast_log(LOG_ERROR, "Failed to acknoweldge timer in ast_read\n");
+				ast_log(LOG_ERROR, "Failed to acknowledge timer in ast_read\n");
 				goto done;
 			}
 
@@ -3618,7 +3618,7 @@ static struct ast_frame *__ast_read(struct ast_channel *chan, int dropaudio, int
 					break;
 				}
 			} else if (trigger_dtmf_emulating) {
-				/* generate null frame to trigger dtmf emualating */
+				/* generate null frame to trigger dtmf emulating */
 				f = &ast_null_frame;
 				break;
 			} else {
@@ -6942,7 +6942,7 @@ static void channel_do_masquerade(struct ast_channel *original, struct ast_chann
 	ast_channel_unlock(original);
 	ast_indicate(original, -1);
 
-	/* Start the masquerade channel contents rearangement. */
+	/* Start the masquerade channel contents rearrangement. */
 	ast_channel_lock_both(original, clonechan);
 
 	ast_debug(1, "Actually Masquerading %s(%u) into the structure of %s(%u)\n",
diff --git a/main/channel_internal_api.c b/main/channel_internal_api.c
index a84534aabf22c250a203d2579844454edc2c1224..a50d60096c078e3a84d903586e4d4c75ad6a2aa0 100644
--- a/main/channel_internal_api.c
+++ b/main/channel_internal_api.c
@@ -214,7 +214,7 @@ struct ast_channel {
 	char dtmf_digit_to_emulate;			/*!< Digit being emulated */
 	char sending_dtmf_digit;			/*!< Digit this channel is currently sending out. (zero if not sending) */
 	struct timeval sending_dtmf_tv;		/*!< The time this channel started sending the current digit. (Invalid if sending_dtmf_digit is zero.) */
-	struct stasis_topic *topic;		/*!< Topic for trhis channel */
+	struct stasis_topic *topic;		/*!< Topic for this channel */
 	struct stasis_forward *channel_forward; /*!< Subscription for event forwarding to all channel topic */
 	struct stasis_forward *endpoint_forward;	/*!< Subscription for event forwarding to endpoint's topic */
 	struct ast_stream_topology *stream_topology; /*!< Stream topology */
diff --git a/main/config.c b/main/config.c
index d5dd93c4fd8e97d3d002d8d0eeafd51a6048aa03..46f05aaf163f0c696600d639ada86e44fbfe459c 100644
--- a/main/config.c
+++ b/main/config.c
@@ -1836,7 +1836,7 @@ static int process_text_line(struct ast_config *cfg, struct ast_category **cat,
 						if (newcat) {
 							ast_category_destroy(newcat);
 						}
-						ast_log(LOG_ERROR, "Inheritence requested, but allocation failed\n");
+						ast_log(LOG_ERROR, "Inheritance requested, but allocation failed\n");
 						return -1;
 					}
 				}
@@ -3730,7 +3730,7 @@ int32_done:
 			error = 1;
 			goto uint32_done;
 		}
-		/* strtoul will happilly and silently negate negative numbers */
+		/* strtoul will happily and silently negate negative numbers */
 		arg = ast_skip_blanks(arg);
 		if (*arg == '-') {
 			error = 1;
diff --git a/main/dns.c b/main/dns.c
index 9cf0cf41ded573c3b0e48c6981ee4af4cc70d5d7..c69a9b1d189c1ef6a1355e651ea5c86b5a897e4e 100644
--- a/main/dns.c
+++ b/main/dns.c
@@ -127,7 +127,7 @@ typedef struct {
 			/* fields in third byte */
 	unsigned	qr:1;           /*!< response flag */
 	unsigned	opcode:4;       /*!< purpose of message */
-	unsigned	aa:1;           /*!< authoritive answer */
+	unsigned	aa:1;           /*!< authoritative answer */
 	unsigned	tc:1;           /*!< truncated message */
 	unsigned	rd:1;           /*!< recursion desired */
 			/* fields in fourth byte */
@@ -141,7 +141,7 @@ typedef struct {
 			/* fields in third byte */
 	unsigned	rd:1;           /*!< recursion desired */
 	unsigned	tc:1;           /*!< truncated message */
-	unsigned	aa:1;           /*!< authoritive answer */
+	unsigned	aa:1;           /*!< authoritative answer */
 	unsigned	opcode:4;       /*!< purpose of message */
 	unsigned	qr:1;           /*!< response flag */
 			/* fields in fourth byte */
diff --git a/main/dnsmgr.c b/main/dnsmgr.c
index db13b1d23e7e980f8985b79e89dc722131dbebb5..bcde08251eaa9724dd2c036e6e48f900c74c9e05 100644
--- a/main/dnsmgr.c
+++ b/main/dnsmgr.c
@@ -340,7 +340,7 @@ static char *handle_cli_refresh(struct ast_cli_entry *e, int cmd, struct ast_cli
 		e->command = "dnsmgr refresh";
 		e->usage =
 			"Usage: dnsmgr refresh [pattern]\n"
-			"       Peforms an immediate refresh of the managed DNS entries.\n"
+			"       Performs an immediate refresh of the managed DNS entries.\n"
 			"       Optional regular expression pattern is used to filter the entries to refresh.\n";
 		return NULL;
 	case CLI_GENERATE:
diff --git a/main/dsp.c b/main/dsp.c
index 106ee9b262e0ccaaf1d8c43cb6de4676ce6cdf98..33f3b68ac5d31ac517a75ad8299dafc1bfd705fe 100644
--- a/main/dsp.c
+++ b/main/dsp.c
@@ -467,7 +467,7 @@ static void ast_tone_detect_init(tone_detect_state_t *s, int freq, int duration,
 
 	periods_in_block = s->block_size * freq / sample_rate;
 
-	/* Make sure we will have at least 5 periods at target frequency for analisys.
+	/* Make sure we will have at least 5 periods at target frequency for analysis.
 	   This may make block larger than expected packet and will make squelching impossible
 	   but at least we will be detecting the tone */
 	if (periods_in_block < 5) {
diff --git a/main/enum.c b/main/enum.c
index 45917ffaa21033f789d6d90551971f668c58a1db..15451c270f7e95590839bfdac4bbda806ecb5def 100644
--- a/main/enum.c
+++ b/main/enum.c
@@ -507,7 +507,7 @@ static int parse_naptr(unsigned char *dst, int dstsize, char *tech, int techsize
 	}
 
 	/* Make the regex case-insensitive if the 'i' flag is present. This assumes you
-	 * aren't using 'i' as a delimiter which, altough dubious, does not appear to be
+	 * aren't using 'i' as a delimiter which, although dubious, does not appear to be
 	 * explicitly non-compliant */
 	if (regexp[regexp_len - 1] == 'i') {
 		re_flags |= REG_ICASE;
@@ -557,7 +557,7 @@ static int parse_naptr(unsigned char *dst, int dstsize, char *tech, int techsize
 				ast_log(LOG_WARNING, "Error during regex substitution. Invalid pmatch index.\n");
 				return -1;
 			}
-			/* pmatch len is 10. we are garanteed a single char 0-9 is a valid index */
+			/* pmatch len is 10. we are guaranteed a single char 0-9 is a valid index */
 			size = pmatch[matchindex].rm_eo - pmatch[matchindex].rm_so;
 			if (size > d_len) {
 				ast_log(LOG_WARNING, "Not enough space during NAPTR regex substitution.\n");
@@ -682,7 +682,7 @@ int ast_get_enum(struct ast_channel *chan, const char *number, char *dst, int ds
  * The "number" parameter includes a leading '+' if it's a full E.164 number (and not ISN)
  * We need to preserve that as the regex inside NAPTRs expect the +.
  *
- * But for the domain generation, the '+' is a nuissance, so we get rid of it.
+ * But for the domain generation, the '+' is a nuisance, so we get rid of it.
 */
 	ast_copy_string(naptrinput, number[0] == 'n' ? number + 1 : number, sizeof(naptrinput));
 	if (number[0] == '+') {
diff --git a/main/features_config.c b/main/features_config.c
index c74d8499fbef39a0203e86d407ec943c6e90077c..50ca69b4a43ae4a74336aba477c7d555c0b53cfe 100644
--- a/main/features_config.c
+++ b/main/features_config.c
@@ -726,7 +726,7 @@ static struct ao2_container *applicationmap_alloc(int replace_duplicates)
  * need to allocate these structures because they are not used.
  *
  * \param allocate_applicationmap See previous explanation
- * \retval NULL Failed to alloate configuration
+ * \retval NULL Failed to allocate configuration
  * \retval non-NULL Allocated configuration
  */
 static struct features_config *__features_config_alloc(int allocate_applicationmap)
@@ -817,7 +817,7 @@ static void features_copy(struct features_config *dest, const struct features_co
 
 	/* applicationmap and featuregroups are purposely not copied. A channel's applicationmap
 	 * is produced on the fly when ast_get_chan_applicationmap() is called
-	 * NOTE: This does not apply to the global cfg->applicationmap and cfg->featuresgroups
+	 * NOTE: This does not apply to the global cfg->applicationmap and cfg->featuregroups
 	 */
 }
 
diff --git a/main/file.c b/main/file.c
index 61f64d29840f477dff9514c0ed2e62e7eafb96e8..a16b6dd2b0178ea895922f6f01791ca50d9965ea 100644
--- a/main/file.c
+++ b/main/file.c
@@ -271,7 +271,7 @@ int ast_writestream(struct ast_filestream *fs, struct ast_frame *f)
 static int copy(const char *infile, const char *outfile)
 {
 	int ifd, ofd, len;
-	char buf[4096];	/* XXX make it lerger. */
+	char buf[4096];	/* XXX make it larger. */
 
 	if ((ifd = open(infile, O_RDONLY)) < 0) {
 		ast_log(LOG_WARNING, "Unable to open %s in read-only mode\n", infile);
diff --git a/main/fskmodem_float.c b/main/fskmodem_float.c
index 5891191e6f36206c016f0a8da62ae6db642b658e..d0f54c086a467a0c3b9f38712f5c5e6773c1231f 100644
--- a/main/fskmodem_float.c
+++ b/main/fskmodem_float.c
@@ -351,7 +351,7 @@ getbyte:
 
 	/* And finally we return  */
 	/* Bit 8 : Parity error */
-	/* Bit 9 : Framming error*/
+	/* Bit 9 : Framing error*/
 
 	*outbyte = a;
 	fskd->state = STATE_SEARCH_STARTBIT;
diff --git a/main/fskmodem_int.c b/main/fskmodem_int.c
index 5c7f8ecf2cc0454e61c403abd3673e19c3967aa7..e0a46c8f600321b7a992c1c8912d41697d918edc 100644
--- a/main/fskmodem_int.c
+++ b/main/fskmodem_int.c
@@ -356,7 +356,7 @@ getbyte:
 
 	/* And finally we return
 	 * Bit 8 : Parity error
-	 * Bit 9 : Framming error
+	 * Bit 9 : Framing error
 	*/
 
 	*outbyte = a;
diff --git a/main/io.c b/main/io.c
index ed455df977fceee34fc6ebcc76ee41844df7adc1..0ff49ccdc3b85b9b50fb5c06422ec366d523aa16 100644
--- a/main/io.c
+++ b/main/io.c
@@ -18,7 +18,7 @@
 
 /*! \file
  *
- * \brief I/O Managment (Derived from Cheops-NG)
+ * \brief I/O Management (Derived from Cheops-NG)
  *
  * \author Mark Spencer <markster@digium.com>
  */
diff --git a/main/manager.c b/main/manager.c
index fc99c9635027d1c6829e93a72a134a6e88c00622..a895e3ffff91f153e1ccbd1a7f0cacfe75f4e6b6 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -111,7 +111,7 @@
 			<xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" />
 		</syntax>
 		<description>
-			<para>A 'Ping' action will ellicit a 'Pong' response. Used to keep the
+			<para>A 'Ping' action will elicit a 'Pong' response. Used to keep the
 			manager connection open.</para>
 		</description>
 	</manager>
@@ -931,7 +931,7 @@
 			</parameter>
 		</syntax>
 		<description>
-			<para>This action will ellicit a <literal>Success</literal> response. Whenever
+			<para>This action will elicit a <literal>Success</literal> response. Whenever
 			a manager event is queued. Once WaitEvent has been called on an HTTP manager
 			session, events will be generated and queued.</para>
 		</description>
@@ -7946,7 +7946,7 @@ static int generic_http_callback(struct ast_tcptls_session_instance *ser,
 		/*!
 		 * \note There is approximately a 1 in 1.8E19 chance that the following
 		 * calculation will produce 0, which is an invalid ID, but due to the
-		 * properties of the rand() function (and the constantcy of s), that
+		 * properties of the rand() function (and the constancy of s), that
 		 * won't happen twice in a row.
 		 */
 		while ((session->managerid = ast_random() ^ (unsigned long) session) == 0) {
diff --git a/main/pbx.c b/main/pbx.c
index 0cae9b83f89849ff591d34cd7ea34c5fb27ecfb9..224f8479d9b10723c9c9d2baf185fa03b83b8652 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -1045,7 +1045,7 @@ static void pbx_destroy(struct ast_pbx *p)
  *   Hope the limit on stack depth won't be a problem... this routine should
  *   be pretty lean as far a stack usage goes. Any non-match terminates the recursion down a branch.
  *
- *   In the above example, with the number "3077549999" as the pattern, the traversor could match extensions a, b and d.  All are
+ *   In the above example, with the number "3077549999" as the pattern, the traverser could match extensions a, b and d.  All are
  *   of length 10; they have total specificities of  24580, 10246, and 25090, respectively, not that this matters
  *   at all. (b) wins purely because the first character "3" is much more specific (lower specificity) than "N". I have
  *   left the specificity totals in the code as an artifact; at some point, I will strip it out.
@@ -1914,7 +1914,7 @@ static int ext_cmp_exten(const char *left, const char *right)
  *		and MATCHMORE. Only allowed at the end of a pattern.
  *		In the core routine, ! causes a match with a return code of 2.
  *		In turn, depending on the search mode: (XXX check if it is implemented)
- *		- E_MATCH retuns 1 (does match)
+ *		- E_MATCH returns 1 (does match)
  *		- E_MATCHMORE returns 0 (no match)
  *		- E_CANMATCH returns 1 (does match)
  *
@@ -4010,7 +4010,7 @@ static int ast_add_hint(struct ast_exten *e)
 	}
 	hint_new->exten = e;
 	if (strstr(e->app, "${") && e->exten[0] == '_') {
-		/* The hint is dynamic and hasn't been evaluted yet */
+		/* The hint is dynamic and hasn't been evaluated yet */
 		hint_new->laststate = AST_DEVICE_INVALID;
 		hint_new->last_presence_state = AST_PRESENCE_INVALID;
 	} else {
@@ -4691,7 +4691,7 @@ static void destroy_exten(struct ast_exten *e)
 
 static void *pbx_thread(void *data)
 {
-	/* Oh joyeous kernel, we're a new thread, with nothing to do but
+	/* Oh joyous kernel, we're a new thread, with nothing to do but
 	   answer this channel and get it going.
 	*/
 	/* NOTE:
@@ -4891,7 +4891,7 @@ int ast_context_remove_include2(struct ast_context *con, const char *include, co
 }
 
 /*!
- * \note This function locks contexts list by &conlist, search for the rigt context
+ * \note This function locks contexts list by &conlist, search for the right context
  * structure, leave context list locked and call ast_context_remove_switch2
  * which removes switch, unlock contexts list and return ...
  */
@@ -6608,7 +6608,7 @@ void ast_merge_contexts_and_delete(struct ast_context **extcontexts, struct ast_
 		if (!hint) {
 			/*
 			 * Notify watchers of this removed hint later when we aren't
-			 * encumberd by so many locks.
+			 * encumbered by so many locks.
 			 */
 			AST_LIST_INSERT_HEAD(&hints_removed, saved_hint, list);
 		} else {
@@ -7353,7 +7353,7 @@ static int ast_add_extension2_lockopt(struct ast_context *con,
 		return -1;
 	}
 
-	/* If we are adding a hint evalulate in variables and global variables */
+	/* If we are adding a hint evaluate in variables and global variables */
 	if (priority == PRIORITY_HINT && strstr(application, "${") && extension[0] != '_') {
 		int inhibited;
 		struct ast_channel *c = ast_dummy_channel_alloc();
diff --git a/main/pbx_functions.c b/main/pbx_functions.c
index bb3c663583f6a0caa6373efadba8653027d84b46..08cc191f5faa5ecede5217987b5422f93da8a65e 100644
--- a/main/pbx_functions.c
+++ b/main/pbx_functions.c
@@ -144,7 +144,7 @@ static char *handle_show_function(struct ast_cli_entry *e, int cmd, struct ast_c
 {
 	struct ast_custom_function *acf;
 	/* Maximum number of characters added by terminal coloring is 22 */
-	char infotitle[64 + AST_MAX_APP + 22], syntitle[40], destitle[40], argtitle[40], seealsotitle[40];
+	char infotitle[64 + AST_MAX_APP + 22], syntitle[40], desctitle[40], argtitle[40], seealsotitle[40];
 	char info[64 + AST_MAX_APP], *synopsis = NULL, *description = NULL, *seealso = NULL;
 	char stxtitle[40], *syntax = NULL, *arguments = NULL;
 	int syntax_size, description_size, synopsis_size, arguments_size, seealso_size;
@@ -181,7 +181,7 @@ static char *handle_show_function(struct ast_cli_entry *e, int cmd, struct ast_c
 	snprintf(info, sizeof(info), "\n  -= Info about function '%s' =- \n\n", acf->name);
 	term_color(infotitle, info, COLOR_MAGENTA, 0, sizeof(infotitle));
 	term_color(syntitle, "[Synopsis]\n", COLOR_MAGENTA, 0, 40);
-	term_color(destitle, "[Description]\n", COLOR_MAGENTA, 0, 40);
+	term_color(desctitle, "[Description]\n", COLOR_MAGENTA, 0, 40);
 	term_color(stxtitle, "[Syntax]\n", COLOR_MAGENTA, 0, 40);
 	term_color(argtitle, "[Arguments]\n", COLOR_MAGENTA, 0, 40);
 	term_color(seealsotitle, "[See Also]\n", COLOR_MAGENTA, 0, 40);
@@ -225,7 +225,7 @@ static char *handle_show_function(struct ast_cli_entry *e, int cmd, struct ast_c
 	}
 
 	ast_cli(a->fd, "%s%s%s\n\n%s%s\n\n%s%s\n\n%s%s\n\n%s%s\n",
-			infotitle, syntitle, synopsis, destitle, description,
+			infotitle, syntitle, synopsis, desctitle, description,
 			stxtitle, syntax, argtitle, arguments, seealsotitle, seealso);
 
 	ast_free(arguments);
diff --git a/main/say.c b/main/say.c
index af82eb2d2efa3c9fc31f3a4728c2fb0dc49e72eb..41bd87a1e327329c2c0f32c7da62a870ba4133ee 100644
--- a/main/say.c
+++ b/main/say.c
@@ -929,18 +929,18 @@ static int exp10_int(int power)
  * - 3,4,...,20
  * - 30,40,...,90
  *
- * - hundereds - 100 - sto, 200 - 2ste, 300,400 3,4sta, 500,600,...,900 5,6,...9set
+ * - hundreds - 100 - sto, 200 - 2ste, 300,400 3,4sta, 500,600,...,900 5,6,...9set
  *
  * for each number 10^(3n + 3) exist 3 files represented as:
- *		1 tousand = jeden tisic = 1_E3
- *		2,3,4 tousands = dva,tri,ctyri tisice = 2-3_E3
- *		5,6,... tousands = pet,sest,... tisic = 5_E3
+ *		1 thousand = jeden tisic = 1_E3
+ *		2,3,4 thousands = dva,tri,ctyri tisice = 2-3_E3
+ *		5,6,... thousands = pet,sest,... tisic = 5_E3
  *
  *		million = _E6
  *		miliard = _E9
  *		etc...
  *
- * tousand, milion are  gender male, so 1 and 2 is 1m 2m
+ * thousand, milion are  gender male, so 1 and 2 is 1m 2m
  * miliard is gender female, so 1 and 2 is 1w 2w
  */
 static int ast_say_number_full_cs(struct ast_channel *chan, int num, const char *ints, const char *language, const char *options, int audiofd, int ctrlfd)
@@ -949,7 +949,7 @@ static int ast_say_number_full_cs(struct ast_channel *chan, int num, const char
 	int playh = 0;
 	char fn[256] = "";
 
-	int hundered = 0;
+	int hundred = 0;
 	int left = 0;
 	int length = 0;
 
@@ -980,22 +980,22 @@ static int ast_say_number_full_cs(struct ast_channel *chan, int num, const char
 			snprintf(fn, sizeof(fn), "digits/%d", (num /10) * 10);
 			num %= 10;
 		} else if (num < 1000) {
-			hundered = num / 100;
-			if ( hundered == 1 ) {
+			hundred = num / 100;
+			if ( hundred == 1 ) {
 				ast_copy_string(fn, "digits/1sto", sizeof(fn));
-			} else if ( hundered == 2 ) {
+			} else if ( hundred == 2 ) {
 				ast_copy_string(fn, "digits/2ste", sizeof(fn));
 			} else {
-				res = ast_say_number_full_cs(chan, hundered, ints, language, options, audiofd, ctrlfd);
+				res = ast_say_number_full_cs(chan, hundred, ints, language, options, audiofd, ctrlfd);
 				if (res)
 					return res;
-				if (hundered == 3 || hundered == 4) {
+				if (hundred == 3 || hundred == 4) {
 					ast_copy_string(fn, "digits/sta", sizeof(fn));
-				} else if ( hundered > 4 ) {
+				} else if ( hundred > 4 ) {
 					ast_copy_string(fn, "digits/set", sizeof(fn));
 				}
 			}
-			num -= (hundered * 100);
+			num -= (hundred * 100);
 		} else { /* num > 1000 */
 			length = (int)log10(num)+1;
 			while ( (length % 3 ) != 1 ) {
@@ -1014,7 +1014,7 @@ static int ast_say_number_full_cs(struct ast_channel *chan, int num, const char
 				if (res)
 					return res;
 			}
-			if ( left >= 5 ) { /* >= 5 have the same declesion */
+			if ( left >= 5 ) { /* >= 5 have the same declension */
 				snprintf(fn, sizeof(fn), "digits/5_E%d", length - 1);
 			} else if ( left >= 2 && left <= 4 ) {
 				snprintf(fn, sizeof(fn), "digits/2-4_E%d", length - 1);
@@ -1952,7 +1952,7 @@ static int ast_say_number_full_it(struct ast_channel *chan, int num, const char
 		Like english, numbers up to 20 are a single 'word', and others
 		compound, but with exceptions.
 		For example 21 is not twenty-one, but there is a single word in 'it'.
-		Idem for 28 (ie when a the 2nd part of a compund number
+		Idem for 28 (ie when a the 2nd part of a compound number
 		starts with a vowel)
 
 		There are exceptions also for hundred, thousand and million.
@@ -5494,7 +5494,7 @@ int ast_say_date_with_format_he(struct ast_channel *chan, time_t t, const char *
 				* ast_say_number_full_he mean, but it seems
 				* safe to pass -1 there.
 				*
-				* At least in one of the pathes :-(
+				* At least in one of the paths :-(
 				*/
 				res = ast_say_number_full_he(chan, tm.tm_mday, ints, lang, "m", -1, -1);
 				break;
@@ -5502,7 +5502,7 @@ int ast_say_date_with_format_he(struct ast_channel *chan, time_t t, const char *
 				res = ast_say_number_full_he(chan, tm.tm_year + 1900, ints, lang, "f", -1, -1);
 				break;
 			case 'I':
-			case 'l': /* 12-Hour -> we do not support 12 hour based langauges in Hebrew */
+			case 'l': /* 12-Hour -> we do not support 12 hour based languages in Hebrew */
 			case 'H':
 			case 'k': /* 24-Hour */
 				res = ast_say_number_full_he(chan, tm.tm_hour, ints, lang, "f", -1, -1);
@@ -8182,7 +8182,7 @@ static int gr_say_number_female(int num, struct ast_channel *chan, const char *i
 				 and digits/hundred-100 to utter "ekaton"
  ->	digits/hundred-[100...1000] :: A pronunciation of  hundreds from 100 to 1000 e.g 400 =
 				 "terakosia". Here again we use hundreds/1000 for "xilia"
-				 and digits/thousnds for "xiliades"
+				 and digits/thousands for "xiliades"
 */
 static int ast_say_number_full_gr(struct ast_channel *chan, int num, const char *ints, const char *language, int audiofd, int ctrlfd)
 {
@@ -8404,7 +8404,7 @@ int ast_say_date_ja(struct ast_channel *chan, time_t t, const char *ints, const
  * A list of the files that you need to create
  * - digits/female/1..4 : "Mia, dyo , treis, tesseris "
  * - digits/kai : "KAI"
- * - didgits : "h wra"
+ * - digits : "h wra"
  * - digits/p-m : "meta meshmbrias"
  * - digits/a-m : "pro meshmbrias"
  */
@@ -9660,7 +9660,7 @@ static const char *counted_noun_ending_en(int num)
  * They are the genative singular which we represent with the suffix "x1" and
  * the genative plural which we represent with the suffix "x2". The base names
  * of the soundfiles remain in English. For example:
- *  - 1 degree (soudfile says "gradus")
+ *  - 1 degree (soundfile says "gradus")
  *  - 2 degreex1 (soundfile says "gradusa")
  *  - 5 degreex2 (soundfile says "gradusov")
  */
diff --git a/main/smoother.c b/main/smoother.c
index 5c58f83417b0458cc72d56d49bc234110be5f897..ba45af4542aaf994a56922f1d7b5ac1aee0aac32 100644
--- a/main/smoother.c
+++ b/main/smoother.c
@@ -205,7 +205,7 @@ struct ast_frame *ast_smoother_read(struct ast_smoother *s)
 	/* Move remaining data to the front if applicable */
 	if (s->len) {
 		/* In principle this should all be fine because if we are sending
-		   G.729 VAD, the next timestamp will take over anyawy */
+		   G.729 VAD, the next timestamp will take over anyway */
 		memmove(s->data, s->data + len, s->len);
 		if (!ast_tvzero(s->delivery)) {
 			/* If we have delivery time, increment it, otherwise, leave it at 0 */
diff --git a/main/stasis_cache.c b/main/stasis_cache.c
index 51b2c5a28ca93e847f8ca5c7463c172a91628cb1..9c8f8e76bf07d44b2e75a42b4d0240771b2100ae 100644
--- a/main/stasis_cache.c
+++ b/main/stasis_cache.c
@@ -463,7 +463,7 @@ static struct stasis_message *cache_remove(struct ao2_container *entries, struct
  *
  * \return Previous stasis entry snapshot.
  */
-static struct stasis_message *cache_udpate(struct stasis_cache_entry *cached_entry, const struct ast_eid *eid, struct stasis_message *new_snapshot)
+static struct stasis_message *cache_update(struct stasis_cache_entry *cached_entry, const struct ast_eid *eid, struct stasis_message *new_snapshot)
 {
 	struct stasis_message *old_snapshot;
 	int is_remote;
@@ -528,7 +528,7 @@ static struct cache_put_snapshots cache_put(struct stasis_cache *cache,
 		}
 	} else if (cached_entry) {
 		/* Update snapshot in cache */
-		snapshots.old = cache_udpate(cached_entry, eid, new_snapshot);
+		snapshots.old = cache_update(cached_entry, eid, new_snapshot);
 	} else {
 		/* Insert into the cache */
 		cached_entry = cache_entry_create(type, id, new_snapshot);
diff --git a/main/stdtime/localtime.c b/main/stdtime/localtime.c
index 5134ec2b937bc3438c73c2ce03e513e9ff247fce..b1fddee3bd3f77ce92419fb38283181cf9a5e275 100644
--- a/main/stdtime/localtime.c
+++ b/main/stdtime/localtime.c
@@ -452,7 +452,7 @@ static void add_notify(struct state *sp, const char *path)
 static int queue_fd = -1;
 
 /*
- * static struct state *psx_sp and associated code will guard againt
+ * static struct state *psx_sp and associated code will guard against
  * add_notify() called repeatedly for /usr/share/zoneinfo/posixrules
  * without zonelist check as a result of some errors
  * (any code where tzparse() is called if tzload() fails --
diff --git a/main/stun.c b/main/stun.c
index 7a8e0e5f4a231d0c9e9ff9d5645e16d6845f4e37..8007f3a3ed647c4b23b2f99ae313ab8354302e2e 100644
--- a/main/stun.c
+++ b/main/stun.c
@@ -269,7 +269,7 @@ static int stun_send(int s, struct sockaddr_in *dst, struct stun_header *resp)
 
 /*!
  * \internal
- * \brief Compare the STUN tranaction IDs.
+ * \brief Compare the STUN transaction IDs.
  *
  * \param left Transaction ID.
  * \param right Transaction ID.
diff --git a/main/threadpool.c b/main/threadpool.c
index 56fbb2c33c154373ae55aa1897996ab1ec898d4f..c40cb9a5063d8f165e241f4344cfabfb7d694f3e 100644
--- a/main/threadpool.c
+++ b/main/threadpool.c
@@ -43,7 +43,7 @@ struct ast_threadpool {
 	struct ao2_container *active_threads;
 	/*!
 	 * \brief The container of idle threads.
-	 * Idle threads are those that are currenly waiting to run tasks
+	 * Idle threads are those that are currently waiting to run tasks
 	 */
 	struct ao2_container *idle_threads;
 	/*!
diff --git a/main/time.c b/main/time.c
index b2a7868b3d528246043f67308f81d7bf0abb1f94..266c5cfc0f13c0ca119e94a1887746893f549af6 100644
--- a/main/time.c
+++ b/main/time.c
@@ -97,7 +97,7 @@ struct timeval ast_time_create(ast_time_t sec, ast_suseconds_t usec)
 }
 
 /*!
- * \brief Create a timeval first onverting the given microsecond value
+ * \brief Create a timeval first converting the given microsecond value
  *        into seconds and microseconds
  *
  * \param usec microsecond value
diff --git a/main/translate.c b/main/translate.c
index 27e73f6d60b5dc1bbde86e6e1049bc6b1bc0e9ee..ecde4340b160901932081cfe885ba713bc67df05 100644
--- a/main/translate.c
+++ b/main/translate.c
@@ -65,7 +65,7 @@ struct translator_path {
 /*!
  * \brief a matrix that, for any pair of supported formats,
  * indicates the total cost of translation and the first step.
- * The full path can be reconstricted iterating on the matrix
+ * The full path can be reconstructed iterating on the matrix
  * until step->dstfmt == desired_format.
  *
  * Array indexes are 'src' and 'dest', in that order.
diff --git a/main/udptl.c b/main/udptl.c
index 555ae696feb9a662a3a8d25db31fff5a7dc6b8eb..7a0aa841d6824f7b79da9f28d233f68522aa3f5c 100644
--- a/main/udptl.c
+++ b/main/udptl.c
@@ -694,7 +694,7 @@ static int udptl_build_packet(struct ast_udptl *s, uint8_t *buf, unsigned int bu
 		}
 		/* Encode the error recovery type */
 		buf[len++] = 0x80;
-		/* Span is defined as an inconstrained integer, which it dumb. It will only
+		/* Span is defined as an unconstrained integer, which it dumb. It will only
 		   ever be a small value. Treat it as such. */
 		buf[len++] = 1;
 		buf[len++] = span;
diff --git a/main/utils.c b/main/utils.c
index c6e71d9fd26f315e6ef41544aa6f94b97c79f290..f4a026d4207ce54ec22f1f5f9fa328451b803dd7 100644
--- a/main/utils.c
+++ b/main/utils.c
@@ -1215,11 +1215,11 @@ static void append_lock_information(struct ast_str **str, struct thr_lock_info *
     with for this lock?
 
 	To answer such questions, just call this routine before you would normally try
-	to aquire a lock. It doesn't do anything if the lock is not acquired. If the
+	to acquire a lock. It doesn't do anything if the lock is not acquired. If the
 	lock is taken, it will publish a line or two to the console via ast_log().
 
 	Sometimes, the lock message is pretty uninformative. For instance, you might
-	find that the lock is being aquired deep within the astobj2 code; this tells
+	find that the lock is being acquired deep within the astobj2 code; this tells
 	you little about higher level routines that call the astobj2 routines.
 	But, using gdb, you can set a break at the ast_log below, and for that
 	breakpoint, you can set the commands:
@@ -2454,7 +2454,7 @@ int ast_parse_digest(const char *digest, struct ast_http_digest *d, int request,
 			if (i->field) {
 				ast_string_field_ptr_set(d, i->field, src);
 			} else {
-				/* Special cases that require additional procesing */
+				/* Special cases that require additional processing */
 				if (!strcasecmp(i->key, "algorithm=")) {
 					if (strcasecmp(src, "MD5")) {
 						ast_log(LOG_WARNING, "Digest algorithm: \"%s\" not supported.\n", src);