From 005e436b5728dd3ba2dea2ec92e49222120d279c Mon Sep 17 00:00:00 2001
From: "Kevin P. Fleming" <kpfleming@digium.com>
Date: Mon, 6 Jun 2005 21:09:59 +0000
Subject: [PATCH] another round of version tag updates, along with 'show
 version files' pattern filtering

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5865 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 asterisk.c                     | 47 +++++++++++++++++++++++++----
 cdr/cdr_csv.c                  |  6 +++-
 cdr/cdr_custom.c               |  6 +++-
 cdr/cdr_manager.c              | 12 +++++---
 cdr/cdr_odbc.c                 | 19 +++++++-----
 cdr/cdr_pgsql.c                | 20 ++++++++-----
 cdr/cdr_sqlite.c               | 14 +++++----
 cdr/cdr_tds.c                  | 19 +++++++-----
 channels/chan_agent.c          | 21 ++++++++-----
 channels/chan_alsa.c           | 27 ++++++++++-------
 channels/chan_features.c       | 22 ++++++++------
 channels/chan_h323.c           |  5 ++++
 channels/chan_iax2.c           |  4 +++
 channels/chan_local.c          | 21 ++++++++-----
 channels/chan_mgcp.c           | 34 +++++++++++----------
 channels/chan_modem.c          | 23 ++++++++------
 channels/chan_modem_aopen.c    |  5 ++++
 channels/chan_modem_bestdata.c |  5 ++++
 channels/chan_modem_i4l.c      |  5 ++++
 channels/chan_nbs.c            | 19 +++++++-----
 channels/chan_oss.c            | 30 +++++++++++--------
 channels/chan_phone.c          | 25 +++++++++-------
 channels/chan_sip.c            | 33 +++++++++++---------
 channels/chan_skinny.c         | 31 +++++++++++--------
 channels/chan_vpb.c            |  6 +++-
 channels/chan_zap.c            | 55 ++++++++++++++++++----------------
 channels/iax2-parser.c         |  5 ++++
 channels/iax2-provision.c      |  4 +++
 28 files changed, 339 insertions(+), 184 deletions(-)

diff --git a/asterisk.c b/asterisk.c
index 91db7d9a5b..00a1b509a0 100755
--- a/asterisk.c
+++ b/asterisk.c
@@ -153,9 +153,9 @@ static int restartnow = 0;
 static pthread_t consolethread = AST_PTHREADT_NULL;
 
 struct file_version {
-	const char *file;
-	const char *version;
 	AST_LIST_ENTRY(file_version) list;
+	const char *file;
+	char *version;
 };
 
 static AST_LIST_HEAD_STATIC(file_versions, file_version);
@@ -163,13 +163,20 @@ static AST_LIST_HEAD_STATIC(file_versions, file_version);
 void ast_register_file_version(const char *file, const char *version)
 {
 	struct file_version *new;
+	char *work;
+	size_t version_length;
 
-	new = calloc(1, sizeof(*new));
+	work = ast_strdupa(version);
+	work = ast_strip(ast_strip_quoted(work, "$", "$"));
+	version_length = strlen(work) + 1;
+
+	new = calloc(1, sizeof(*new) + version_length);
 	if (!new)
 		return;
 
 	new->file = file;
-	new->version = version;
+	new->version = (char *) new + sizeof(*new);
+	memcpy(new->version, work, version_length);
 	AST_LIST_LOCK(&file_versions);
 	AST_LIST_INSERT_HEAD(&file_versions, new, list);
 	AST_LIST_UNLOCK(&file_versions);
@@ -188,6 +195,8 @@ void ast_unregister_file_version(const char *file)
 	}
 	AST_LIST_TRAVERSE_SAFE_END;
 	AST_LIST_UNLOCK(&file_versions);
+	if (find)
+		free(find);
 }
 
 static char show_version_files_help[] = 
@@ -197,14 +206,42 @@ static char show_version_files_help[] =
 
 static int handle_show_version_files(int fd, int argc, char *argv[])
 {
+#define FORMAT "%-25.25s %-20.20s\n"
 	struct file_version *iterator;
+	regex_t regexbuf;
+	int havepattern = 0;
+
+	switch (argc) {
+	case 5:
+		if (!strcasecmp(argv[3], "like")) {
+			if (regcomp(&regexbuf, argv[4], REG_EXTENDED | REG_NOSUB))
+				return RESULT_SHOWUSAGE;
+			havepattern = 1;
+		} else
+			return RESULT_SHOWUSAGE;
+		break;
+	case 3:
+		break;
+	default:
+		return RESULT_SHOWUSAGE;
+	}
 
+	ast_cli(fd, FORMAT, "File", "Revision");
+	ast_cli(fd, FORMAT, "----", "--------");
 	AST_LIST_LOCK(&file_versions);
 	AST_LIST_TRAVERSE(&file_versions, iterator, list) {
-		ast_cli(fd, "%-25.25s %-20.20s\n", iterator->file, iterator->version);
+		if (havepattern && regexec(&regexbuf, iterator->file, 0, NULL, 0))
+			continue;
+
+		ast_cli(fd, FORMAT, iterator->file, iterator->version);
 	}
 	AST_LIST_UNLOCK(&file_versions);
+
+	if (havepattern)
+		regfree(&regexbuf);
+
 	return RESULT_SUCCESS;
+#undef FORMAT
 }
 
 static char *complete_show_version_files(char *line, char *word, int pos, int state)
diff --git a/cdr/cdr_csv.c b/cdr/cdr_csv.c
index aa95fa1a0f..ec995a675b 100755
--- a/cdr/cdr_csv.c
+++ b/cdr/cdr_csv.c
@@ -15,12 +15,16 @@
  */
 
 #include <sys/types.h>
+
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
 #include "asterisk/channel.h"
 #include "asterisk/cdr.h"
 #include "asterisk/module.h"
 #include "asterisk/logger.h"
 #include "asterisk/utils.h"
-#include "asterisk.h"
 
 #define CSV_LOG_DIR "/cdr-csv"
 #define CSV_MASTER  "/Master.csv"
diff --git a/cdr/cdr_custom.c b/cdr/cdr_custom.c
index cbb6d970b3..e524d71c3e 100755
--- a/cdr/cdr_custom.c
+++ b/cdr/cdr_custom.c
@@ -15,6 +15,11 @@
  */
 
 #include <sys/types.h>
+
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
 #include "asterisk/channel.h"
 #include "asterisk/cdr.h"
 #include "asterisk/module.h"
@@ -22,7 +27,6 @@
 #include "asterisk/pbx.h"
 #include "asterisk/logger.h"
 #include "asterisk/utils.h"
-#include "asterisk.h"
 
 #define CUSTOM_LOG_DIR "/cdr_custom"
 
diff --git a/cdr/cdr_manager.c b/cdr/cdr_manager.c
index 5563582871..c529d05e10 100755
--- a/cdr/cdr_manager.c
+++ b/cdr/cdr_manager.c
@@ -9,6 +9,14 @@
  */
 
 #include <sys/types.h>
+#include <strings.h>
+#include <unistd.h>
+#include <time.h>
+
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
 #include "asterisk/channel.h"
 #include "asterisk/cdr.h"
 #include "asterisk/module.h"
@@ -16,10 +24,6 @@
 #include "asterisk/utils.h"
 #include "asterisk/manager.h"
 #include "asterisk/config.h"
-#include "asterisk.h"
-#include <strings.h>
-#include <unistd.h>
-#include <time.h>
 
 #define DATE_FORMAT 	"%Y-%m-%d %T"
 #define CONF_FILE	"cdr_manager.conf"
diff --git a/cdr/cdr_odbc.c b/cdr/cdr_odbc.c
index b654f6bd6b..feed26a186 100755
--- a/cdr/cdr_odbc.c
+++ b/cdr/cdr_odbc.c
@@ -12,14 +12,6 @@
  */
 
 #include <sys/types.h>
-#include "asterisk/config.h"
-#include "asterisk/options.h"
-#include "asterisk/channel.h"
-#include "asterisk/cdr.h"
-#include "asterisk/module.h"
-#include "asterisk/logger.h"
-#include "asterisk.h"
-
 #include <stdio.h>
 #include <string.h>
 
@@ -31,6 +23,17 @@
 #include <sqlext.h>
 #include <sqltypes.h>
 
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
+#include "asterisk/config.h"
+#include "asterisk/options.h"
+#include "asterisk/channel.h"
+#include "asterisk/cdr.h"
+#include "asterisk/module.h"
+#include "asterisk/logger.h"
+
 #define DATE_FORMAT "%Y-%m-%d %T"
 
 static char *desc = "ODBC CDR Backend";
diff --git a/cdr/cdr_pgsql.c b/cdr/cdr_pgsql.c
index 2cff8f3148..7039e72cc1 100755
--- a/cdr/cdr_pgsql.c
+++ b/cdr/cdr_pgsql.c
@@ -15,14 +15,6 @@
  */
 
 #include <sys/types.h>
-#include "asterisk/config.h"
-#include "asterisk/options.h"
-#include "asterisk/channel.h"
-#include "asterisk/cdr.h"
-#include "asterisk/module.h"
-#include "asterisk/logger.h"
-#include "asterisk.h"
-
 #include <stdio.h>
 #include <string.h>
 
@@ -32,6 +24,18 @@
 
 #include <libpq-fe.h>
 
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
+#include "asterisk/config.h"
+#include "asterisk/options.h"
+#include "asterisk/channel.h"
+#include "asterisk/cdr.h"
+#include "asterisk/module.h"
+#include "asterisk/logger.h"
+#include "asterisk.h"
+
 #define DATE_FORMAT "%Y-%m-%d %T"
 
 static char *desc = "PostgreSQL CDR Backend";
diff --git a/cdr/cdr_sqlite.c b/cdr/cdr_sqlite.c
index ec6018cb16..acadb324e9 100755
--- a/cdr/cdr_sqlite.c
+++ b/cdr/cdr_sqlite.c
@@ -14,18 +14,20 @@
  */
 
 #include <sys/types.h>
-#include "asterisk/channel.h"
-#include "asterisk/module.h"
-#include "asterisk/logger.h"
-#include "asterisk/utils.h"
-#include "asterisk.h"
-#include "astconf.h"
 
 #include <unistd.h>
 #include <string.h>
 #include <stdlib.h>
 #include <sqlite.h>
 
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
+#include "asterisk/channel.h"
+#include "asterisk/module.h"
+#include "asterisk/logger.h"
+#include "asterisk/utils.h"
 
 #define LOG_UNIQUEID	0
 #define LOG_USERFIELD	0
diff --git a/cdr/cdr_tds.c b/cdr/cdr_tds.c
index 59076a25bc..0887b8f5de 100755
--- a/cdr/cdr_tds.c
+++ b/cdr/cdr_tds.c
@@ -35,14 +35,6 @@ CREATE TABLE [dbo].[cdr] (
 */
 
 #include <sys/types.h>
-#include "asterisk/config.h"
-#include "asterisk/options.h"
-#include "asterisk/channel.h"
-#include "asterisk/cdr.h"
-#include "asterisk/module.h"
-#include "asterisk/logger.h"
-#include "asterisk.h"
-
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
@@ -54,6 +46,17 @@ CREATE TABLE [dbo].[cdr] (
 #include <tdsconvert.h>
 #include <ctype.h>
 
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
+#include "asterisk/config.h"
+#include "asterisk/options.h"
+#include "asterisk/channel.h"
+#include "asterisk/cdr.h"
+#include "asterisk/module.h"
+#include "asterisk/logger.h"
+
 #if !defined(TDS_INT_EXIT) 
 #define TDS_PRE_0_62
 #warning "You have older TDS, you should upgrade!"
diff --git a/channels/chan_agent.c b/channels/chan_agent.c
index f537cf4f89..102afb0f99 100755
--- a/channels/chan_agent.c
+++ b/channels/chan_agent.c
@@ -13,6 +13,19 @@
 
 #include <stdio.h>
 #include <string.h>
+#include <sys/socket.h>
+#include <errno.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <netdb.h>
+#include <arpa/inet.h>
+#include <sys/signal.h>
+
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
 #include "asterisk/lock.h"
 #include "asterisk/channel.h"
 #include "asterisk/config.h"
@@ -35,14 +48,6 @@
 #include "asterisk/utils.h"
 #include "asterisk/causes.h"
 #include "asterisk/astdb.h"
-#include <sys/socket.h>
-#include <errno.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <fcntl.h>
-#include <netdb.h>
-#include <arpa/inet.h>
-#include <sys/signal.h>
 
 static const char desc[] = "Agent Proxy Channel";
 static const char channeltype[] = "Agent";
diff --git a/channels/chan_alsa.c b/channels/chan_alsa.c
index 215a55ef09..9f83429206 100755
--- a/channels/chan_alsa.c
+++ b/channels/chan_alsa.c
@@ -9,17 +9,6 @@
  * the GNU General Public License
  */
 
-#include "asterisk/frame.h"
-#include "asterisk/logger.h"
-#include "asterisk/channel.h"
-#include "asterisk/module.h"
-#include "asterisk/options.h"
-#include "asterisk/pbx.h"
-#include "asterisk/config.h"
-#include "asterisk/cli.h"
-#include "asterisk/utils.h"
-#include "asterisk/causes.h"
-#include "asterisk/endian.h"
 #include <unistd.h>
 #include <fcntl.h>
 #include <errno.h>
@@ -33,6 +22,22 @@
 #define ALSA_PCM_NEW_SW_PARAMS_API
 #include <alsa/asoundlib.h>
 
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
+#include "asterisk/frame.h"
+#include "asterisk/logger.h"
+#include "asterisk/channel.h"
+#include "asterisk/module.h"
+#include "asterisk/options.h"
+#include "asterisk/pbx.h"
+#include "asterisk/config.h"
+#include "asterisk/cli.h"
+#include "asterisk/utils.h"
+#include "asterisk/causes.h"
+#include "asterisk/endian.h"
+
 #include "busy.h"
 #include "ringtone.h"
 #include "ring10.h"
diff --git a/channels/chan_features.c b/channels/chan_features.c
index 6a852bc5c1..03bdba7060 100755
--- a/channels/chan_features.c
+++ b/channels/chan_features.c
@@ -13,6 +13,19 @@
 
 #include <stdio.h>
 #include <string.h>
+#include <sys/socket.h>
+#include <errno.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <netdb.h>
+#include <arpa/inet.h>
+#include <sys/signal.h>
+
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
 #include "asterisk/lock.h"
 #include "asterisk/channel.h"
 #include "asterisk/config.h"
@@ -31,15 +44,6 @@
 #include "asterisk/app.h"
 #include "asterisk/musiconhold.h"
 #include "asterisk/manager.h"
-#include <sys/socket.h>
-#include <errno.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <fcntl.h>
-#include <netdb.h>
-#include <arpa/inet.h>
-#include <sys/signal.h>
-
 
 static const char desc[] = "Feature Proxy Channel";
 static const char type[] = "Feature";
diff --git a/channels/chan_h323.c b/channels/chan_h323.c
index f6c9cd5397..a449098597 100755
--- a/channels/chan_h323.c
+++ b/channels/chan_h323.c
@@ -49,6 +49,11 @@
 #ifdef __cplusplus
 extern "C" {
 #endif   
+
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
 #include "asterisk/lock.h"
 #include "asterisk/logger.h"
 #include "asterisk/channel.h"
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index bd64da658a..abb9ef2560 100755
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -11,6 +11,10 @@
  * the GNU General Public License
  */
 
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
 #include "asterisk/lock.h"
 #include "asterisk/frame.h" 
 #include "asterisk/channel.h"
diff --git a/channels/chan_local.c b/channels/chan_local.c
index bc177f6760..e2e54f86cf 100755
--- a/channels/chan_local.c
+++ b/channels/chan_local.c
@@ -13,6 +13,19 @@
 
 #include <stdio.h>
 #include <string.h>
+#include <sys/socket.h>
+#include <errno.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <netdb.h>
+#include <arpa/inet.h>
+#include <sys/signal.h>
+
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
 #include "asterisk/lock.h"
 #include "asterisk/channel.h"
 #include "asterisk/config.h"
@@ -31,14 +44,6 @@
 #include "asterisk/app.h"
 #include "asterisk/musiconhold.h"
 #include "asterisk/manager.h"
-#include <sys/socket.h>
-#include <errno.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <fcntl.h>
-#include <netdb.h>
-#include <arpa/inet.h>
-#include <sys/signal.h>
 
 static const char desc[] = "Local Proxy Channel";
 static const char type[] = "Local";
diff --git a/channels/chan_mgcp.c b/channels/chan_mgcp.c
index acac0653c5..843af438da 100755
--- a/channels/chan_mgcp.c
+++ b/channels/chan_mgcp.c
@@ -55,6 +55,25 @@
 
 #include <stdio.h>
 #include <string.h>
+#include <sys/socket.h>
+#include <sys/ioctl.h>
+#include <net/if.h>
+#include <errno.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <netdb.h>
+#include <arpa/inet.h>
+#include <sys/signal.h>
+#include <signal.h>
+#include <netinet/in_systm.h>
+#include <netinet/ip.h>
+#include <ctype.h>
+
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
 #include "asterisk/lock.h"
 #include "asterisk/channel.h"
 #include "asterisk/config.h"
@@ -77,22 +96,7 @@
 #include "asterisk/musiconhold.h"
 #include "asterisk/utils.h"
 #include "asterisk/causes.h"
-#include <sys/socket.h>
-#include <sys/ioctl.h>
-#include <net/if.h>
-#include <errno.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <fcntl.h>
-#include <netdb.h>
-#include <arpa/inet.h>
-#include <sys/signal.h>
-#include <signal.h>
-#include <netinet/in_systm.h>
-#include <netinet/ip.h>
-
 #include "asterisk/dsp.h"
-#include <ctype.h>
 
 #ifndef IPTOS_MINCOST
 #define IPTOS_MINCOST 0x02
diff --git a/channels/chan_modem.c b/channels/chan_modem.c
index ad80e3e489..c1e61a0bcc 100755
--- a/channels/chan_modem.c
+++ b/channels/chan_modem.c
@@ -13,15 +13,6 @@
 
 #include <stdio.h>
 #include <string.h>
-#include "asterisk/lock.h"
-#include "asterisk/channel.h"
-#include "asterisk/config.h"
-#include "asterisk/logger.h"
-#include "asterisk/module.h"
-#include "asterisk/pbx.h"
-#include "asterisk/options.h"
-#include "asterisk/vmodem.h"
-#include "asterisk/utils.h"
 #include <sys/socket.h>
 #include <sys/time.h>
 #include <errno.h>
@@ -35,6 +26,20 @@
 #include <sys/signal.h>
 #include <ctype.h>
 
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
+#include "asterisk/lock.h"
+#include "asterisk/channel.h"
+#include "asterisk/config.h"
+#include "asterisk/logger.h"
+#include "asterisk/module.h"
+#include "asterisk/pbx.h"
+#include "asterisk/options.h"
+#include "asterisk/vmodem.h"
+#include "asterisk/utils.h"
+
 /* Up to 10 seconds for an echo to arrive */
 #define ECHO_TIMEOUT 10
 
diff --git a/channels/chan_modem_aopen.c b/channels/chan_modem_aopen.c
index c14a8f6d49..ec6a35fcaf 100755
--- a/channels/chan_modem_aopen.c
+++ b/channels/chan_modem_aopen.c
@@ -16,6 +16,11 @@
 #include <string.h>
 #include <stdlib.h>
 #include <errno.h>
+
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
 #include "asterisk/lock.h"
 #include "asterisk/vmodem.h"
 #include "asterisk/module.h"
diff --git a/channels/chan_modem_bestdata.c b/channels/chan_modem_bestdata.c
index aff1d5df98..f1f6a90c92 100755
--- a/channels/chan_modem_bestdata.c
+++ b/channels/chan_modem_bestdata.c
@@ -18,6 +18,11 @@
 #include <stdlib.h>
 #include <errno.h>
 #include <unistd.h>
+
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
 #include "asterisk/lock.h"
 #include "asterisk/vmodem.h"
 #include "asterisk/module.h"
diff --git a/channels/chan_modem_i4l.c b/channels/chan_modem_i4l.c
index 65a28223cb..92cca420aa 100755
--- a/channels/chan_modem_i4l.c
+++ b/channels/chan_modem_i4l.c
@@ -18,6 +18,11 @@
 #include <errno.h>
 #include <unistd.h>
 #include <sys/ioctl.h>
+
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
 #include "asterisk/lock.h"
 #include "asterisk/vmodem.h"
 #include "asterisk/module.h"
diff --git a/channels/chan_nbs.c b/channels/chan_nbs.c
index fb5809cc00..1c7277646d 100755
--- a/channels/chan_nbs.c
+++ b/channels/chan_nbs.c
@@ -13,13 +13,6 @@
 
 #include <stdio.h>
 #include <string.h>
-#include "asterisk/lock.h"
-#include "asterisk/channel.h"
-#include "asterisk/config.h"
-#include "asterisk/logger.h"
-#include "asterisk/module.h"
-#include "asterisk/pbx.h"
-#include "asterisk/options.h"
 #include <sys/socket.h>
 #include <sys/time.h>
 #include <errno.h>
@@ -30,6 +23,18 @@
 #include <sys/ioctl.h>
 #include <nbs.h>
 
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
+#include "asterisk/lock.h"
+#include "asterisk/channel.h"
+#include "asterisk/config.h"
+#include "asterisk/logger.h"
+#include "asterisk/module.h"
+#include "asterisk/pbx.h"
+#include "asterisk/options.h"
+
 static const char desc[] = "Network Broadcast Sound Support";
 static const char type[] = "NBS";
 static const char tdesc[] = "Network Broadcast Sound Driver";
diff --git a/channels/chan_oss.c b/channels/chan_oss.c
index f52da8b73a..2d13446451 100755
--- a/channels/chan_oss.c
+++ b/channels/chan_oss.c
@@ -15,18 +15,6 @@
  * the GNU General Public License
  */
 
-#include "asterisk/lock.h"
-#include "asterisk/frame.h"
-#include "asterisk/logger.h"
-#include "asterisk/channel.h"
-#include "asterisk/module.h"
-#include "asterisk/options.h"
-#include "asterisk/pbx.h"
-#include "asterisk/config.h"
-#include "asterisk/cli.h"
-#include "asterisk/utils.h"
-#include "asterisk/causes.h"
-#include "asterisk/endian.h"
 #include <unistd.h>
 #include <fcntl.h>
 #include <errno.h>
@@ -43,6 +31,24 @@
 #else
 #include <soundcard.h>
 #endif
+
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
+#include "asterisk/lock.h"
+#include "asterisk/frame.h"
+#include "asterisk/logger.h"
+#include "asterisk/channel.h"
+#include "asterisk/module.h"
+#include "asterisk/options.h"
+#include "asterisk/pbx.h"
+#include "asterisk/config.h"
+#include "asterisk/cli.h"
+#include "asterisk/utils.h"
+#include "asterisk/causes.h"
+#include "asterisk/endian.h"
+
 #include "busy.h"
 #include "ringtone.h"
 #include "ring10.h"
diff --git a/channels/chan_phone.c b/channels/chan_phone.c
index dd8aa6501c..513be4e384 100755
--- a/channels/chan_phone.c
+++ b/channels/chan_phone.c
@@ -14,16 +14,6 @@
 #include <stdio.h>
 #include <string.h>
 #include <ctype.h>
-#include "asterisk/lock.h"
-#include "asterisk/channel.h"
-#include "asterisk/config.h"
-#include "asterisk/logger.h"
-#include "asterisk/module.h"
-#include "asterisk/pbx.h"
-#include "asterisk/options.h"
-#include "asterisk/utils.h"
-#include "asterisk/callerid.h"
-#include "asterisk/causes.h"
 #include <sys/socket.h>
 #include <sys/time.h>
 #include <errno.h>
@@ -39,6 +29,21 @@
 # include <linux/compiler.h>
 #endif
 #include <linux/ixjuser.h>
+
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
+#include "asterisk/lock.h"
+#include "asterisk/channel.h"
+#include "asterisk/config.h"
+#include "asterisk/logger.h"
+#include "asterisk/module.h"
+#include "asterisk/pbx.h"
+#include "asterisk/options.h"
+#include "asterisk/utils.h"
+#include "asterisk/callerid.h"
+#include "asterisk/causes.h"
 #include "DialTone.h"
 
 #ifdef QTI_PHONEJACK_TJ_PCI	/* check for the newer quicknet driver v.3.1.0 which has this symbol */
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index e2cd3ac18f..f677d839b3 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -15,6 +15,25 @@
 #include <stdio.h>
 #include <ctype.h>
 #include <string.h>
+#include <sys/socket.h>
+#include <sys/ioctl.h>
+#include <net/if.h>
+#include <errno.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <netdb.h>
+#include <arpa/inet.h>
+#include <signal.h>
+#include <sys/signal.h>
+#include <netinet/in_systm.h>
+#include <netinet/ip.h>
+#include <regex.h>
+
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
 #include "asterisk/lock.h"
 #include "asterisk/channel.h"
 #include "asterisk/config.h"
@@ -45,20 +64,6 @@
 #ifdef OSP_SUPPORT
 #include "asterisk/astosp.h"
 #endif
-#include <sys/socket.h>
-#include <sys/ioctl.h>
-#include <net/if.h>
-#include <errno.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <fcntl.h>
-#include <netdb.h>
-#include <arpa/inet.h>
-#include <signal.h>
-#include <sys/signal.h>
-#include <netinet/in_systm.h>
-#include <netinet/ip.h>
-#include <regex.h>
 
 #ifndef DEFAULT_USERAGENT
 #define DEFAULT_USERAGENT "Asterisk PBX"
diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c
index 2b058dd464..e5fd4c92da 100755
--- a/channels/chan_skinny.c
+++ b/channels/chan_skinny.c
@@ -16,6 +16,24 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <netinet/tcp.h>
+#include <sys/ioctl.h>
+#include <net/if.h>
+#include <errno.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <netdb.h>
+#include <arpa/inet.h>
+#include <sys/signal.h>
+#include <signal.h>
+#include <ctype.h>
+
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
 #include "asterisk/lock.h"
 #include "asterisk/channel.h"
 #include "asterisk/config.h"
@@ -37,20 +55,7 @@
 #include "asterisk/app.h"
 #include "asterisk/musiconhold.h"
 #include "asterisk/utils.h"
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netinet/tcp.h>
-#include <sys/ioctl.h>
-#include <net/if.h>
-#include <errno.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <netdb.h>
-#include <arpa/inet.h>
-#include <sys/signal.h>
-#include <signal.h>
 #include "asterisk/dsp.h"
-#include <ctype.h>
 
 /************************************************************************************/
 /*                         Skinny/Asterisk Protocol Settings                        */
diff --git a/channels/chan_vpb.c b/channels/chan_vpb.c
index ea663228b9..848c2b7620 100755
--- a/channels/chan_vpb.c
+++ b/channels/chan_vpb.c
@@ -22,6 +22,11 @@ extern "C" {
 
 #include <stdio.h>
 #include <string.h>
+
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
 #include "asterisk/lock.h"
 #include "asterisk/utils.h"
 #include "asterisk/channel.h"
@@ -33,7 +38,6 @@ extern "C" {
 #include "asterisk/callerid.h"
 #include "asterisk/dsp.h"
 #include "asterisk/features.h"
-
 }
 
 #include <sys/socket.h>
diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index 14b257cb68..bd72c71814 100755
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -13,32 +13,6 @@
 
 #include <stdio.h>
 #include <string.h>
-#include "asterisk/lock.h"
-#include "asterisk/channel.h"
-#include "asterisk/config.h"
-#include "asterisk/logger.h"
-#include "asterisk/module.h"
-#include "asterisk/pbx.h"
-#include "asterisk/options.h"
-#include "asterisk/file.h"
-#include "asterisk/ulaw.h"
-#include "asterisk/alaw.h"
-#include "asterisk/callerid.h"
-#include "asterisk/adsi.h"
-#include "asterisk/cli.h"
-#include "asterisk/cdr.h"
-#include "asterisk/features.h"
-#include "asterisk/musiconhold.h"
-#include "asterisk/say.h"
-#include "asterisk/tdd.h"
-#include "asterisk/app.h"
-#include "asterisk/dsp.h"
-#include "asterisk/astdb.h"
-#include "asterisk/manager.h"
-#include "asterisk/causes.h"
-#include "asterisk/term.h"
-#include "asterisk/utils.h"
-#include "asterisk/transcap.h"
 #include <sys/signal.h>
 #include <errno.h>
 #include <stdlib.h>
@@ -67,6 +41,35 @@
 
 #include "asterisk.h"
 
+ASTERISK_FILE_VERSION("$Revision$")
+
+#include "asterisk/lock.h"
+#include "asterisk/channel.h"
+#include "asterisk/config.h"
+#include "asterisk/logger.h"
+#include "asterisk/module.h"
+#include "asterisk/pbx.h"
+#include "asterisk/options.h"
+#include "asterisk/file.h"
+#include "asterisk/ulaw.h"
+#include "asterisk/alaw.h"
+#include "asterisk/callerid.h"
+#include "asterisk/adsi.h"
+#include "asterisk/cli.h"
+#include "asterisk/cdr.h"
+#include "asterisk/features.h"
+#include "asterisk/musiconhold.h"
+#include "asterisk/say.h"
+#include "asterisk/tdd.h"
+#include "asterisk/app.h"
+#include "asterisk/dsp.h"
+#include "asterisk/astdb.h"
+#include "asterisk/manager.h"
+#include "asterisk/causes.h"
+#include "asterisk/term.h"
+#include "asterisk/utils.h"
+#include "asterisk/transcap.h"
+
 #ifndef ZT_SIG_EM_E1
 #error "Your zaptel is too old.  please cvs update"
 #endif
diff --git a/channels/iax2-parser.c b/channels/iax2-parser.c
index cb21253875..dddf1349bd 100755
--- a/channels/iax2-parser.c
+++ b/channels/iax2-parser.c
@@ -15,6 +15,11 @@
 #include <sys/socket.h>
 #include <string.h>
 #include <netinet/in.h>
+
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
 #include "asterisk/frame.h"
 #include "asterisk/utils.h"
 #include "asterisk/unaligned.h"
diff --git a/channels/iax2-provision.c b/channels/iax2-provision.c
index f44dcba8c9..143c1b521d 100755
--- a/channels/iax2-provision.c
+++ b/channels/iax2-provision.c
@@ -12,6 +12,10 @@
  *
  */
 
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION("$Revision$")
+
 #include "asterisk/config.h"
 #include "asterisk/logger.h"
 #include "asterisk/cli.h"
-- 
GitLab