diff --git a/abstract_jb.c b/abstract_jb.c
index d68d6d47cae94797fa3e72b817223e9a02d208e5..d9b4dc9650ace45b508aa62b5f42cdd9038f3cbc 100644
--- a/abstract_jb.c
+++ b/abstract_jb.c
@@ -32,7 +32,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 
 #include <stdio.h>
 #include <stdlib.h>
-#include <limits.h>
 
 #include "asterisk/frame.h"
 #include "asterisk/channel.h"
diff --git a/apps/app_followme.c b/apps/app_followme.c
index 9355bac6cbfac701d438d3d35bb4e8556c08ec2e..85dda00aad4b02ef63f37ca79449ecb1c4c95699 100644
--- a/apps/app_followme.c
+++ b/apps/app_followme.c
@@ -92,12 +92,12 @@ struct ast_call_followme {
 	unsigned int active;		/*!< Profile is active (1), or disabled (0). */
 	char takecall[20];		/*!< Digit mapping to take a call */
 	char nextindp[20];		/*!< Digit mapping to decline a call */
-	char callfromprompt[AST_CONFIG_MAX_PATH];
-	char norecordingprompt[AST_CONFIG_MAX_PATH];
-	char optionsprompt[AST_CONFIG_MAX_PATH];
-	char plsholdprompt[AST_CONFIG_MAX_PATH];
-	char statusprompt[AST_CONFIG_MAX_PATH];
-	char sorryprompt[AST_CONFIG_MAX_PATH];
+	char callfromprompt[PATH_MAX];
+	char norecordingprompt[PATH_MAX];
+	char optionsprompt[PATH_MAX];
+	char plsholdprompt[PATH_MAX];
+	char statusprompt[PATH_MAX];
+	char sorryprompt[PATH_MAX];
 
 	AST_LIST_HEAD_NOLOCK(numbers, number) numbers;	   /*!< Head of the list of follow-me numbers */
 	AST_LIST_HEAD_NOLOCK(blnumbers, number) blnumbers; /*!< Head of the list of black-listed numbers */
@@ -115,12 +115,12 @@ struct fm_args {
 	struct ast_channel *outbound;
 	char takecall[20];		/*!< Digit mapping to take a call */
 	char nextindp[20];		/*!< Digit mapping to decline a call */
-	char callfromprompt[AST_CONFIG_MAX_PATH];
-	char norecordingprompt[AST_CONFIG_MAX_PATH];
-	char optionsprompt[AST_CONFIG_MAX_PATH];
-	char plsholdprompt[AST_CONFIG_MAX_PATH];
-	char statusprompt[AST_CONFIG_MAX_PATH];
-	char sorryprompt[AST_CONFIG_MAX_PATH];
+	char callfromprompt[PATH_MAX];
+	char norecordingprompt[PATH_MAX];
+	char optionsprompt[PATH_MAX];
+	char plsholdprompt[PATH_MAX];
+	char statusprompt[PATH_MAX];
+	char sorryprompt[PATH_MAX];
 	struct ast_flags followmeflags;
 };
 
@@ -156,12 +156,12 @@ static int featuredigittimeout = 5000;		/*!< Feature Digit Timeout */
 static const char *defaultmoh = "default";    	/*!< Default Music-On-Hold Class */
 
 static char takecall[20] = "1", nextindp[20] = "2";
-static char callfromprompt[AST_CONFIG_MAX_PATH] = "followme/call-from";
-static char norecordingprompt[AST_CONFIG_MAX_PATH] = "followme/no-recording";
-static char optionsprompt[AST_CONFIG_MAX_PATH] = "followme/followme-options";
-static char plsholdprompt[AST_CONFIG_MAX_PATH] = "followme/pls-hold-while-try";
-static char statusprompt[AST_CONFIG_MAX_PATH] = "followme/followme-status";
-static char sorryprompt[AST_CONFIG_MAX_PATH] = "followme/followme-sorry";
+static char callfromprompt[PATH_MAX] = "followme/call-from";
+static char norecordingprompt[PATH_MAX] = "followme/no-recording";
+static char optionsprompt[PATH_MAX] = "followme/followme-options";
+static char plsholdprompt[PATH_MAX] = "followme/pls-hold-while-try";
+static char statusprompt[PATH_MAX] = "followme/followme-status";
+static char sorryprompt[PATH_MAX] = "followme/followme-sorry";
 
 
 static AST_LIST_HEAD_STATIC(followmes, ast_call_followme);
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 3b6796871ad14e65d9f35ff84c296f82af93b802..313f33893c4acbabf8331fd863295239002e6509 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -309,7 +309,7 @@ static char odbc_table[80];
 #define DELETE(a,b,c) (vm_delete(c))
 #endif
 
-static char VM_SPOOL_DIR[AST_CONFIG_MAX_PATH];
+static char VM_SPOOL_DIR[PATH_MAX];
 
 static char ext_pass_cmd[128];
 
@@ -651,8 +651,8 @@ static void vm_change_password(struct ast_vm_user *vmu, const char *newpassword)
 	char inbuf[256];
 	char orig[256];
 	char currcontext[256] ="";
-	char tmpin[AST_CONFIG_MAX_PATH];
-	char tmpout[AST_CONFIG_MAX_PATH];
+	char tmpin[PATH_MAX];
+	char tmpout[PATH_MAX];
 	struct stat statbuf;
 
 	if (!change_password_realtime(vmu, newpassword))
diff --git a/asterisk.c b/asterisk.c
index 84bac6c89cf769c44212e04ea74f613e824cb52b..819d998e6b7e4a40dd74eb9bb3020efa35ac207e 100644
--- a/asterisk.c
+++ b/asterisk.c
@@ -199,26 +199,26 @@ static int ast_el_add_history(char *);
 static int ast_el_read_history(char *);
 static int ast_el_write_history(char *);
 
-char ast_config_AST_CONFIG_DIR[AST_CONFIG_MAX_PATH];
-char ast_config_AST_CONFIG_FILE[AST_CONFIG_MAX_PATH];
-char ast_config_AST_MODULE_DIR[AST_CONFIG_MAX_PATH];
-char ast_config_AST_SPOOL_DIR[AST_CONFIG_MAX_PATH];
-char ast_config_AST_MONITOR_DIR[AST_CONFIG_MAX_PATH];
-char ast_config_AST_VAR_DIR[AST_CONFIG_MAX_PATH];
-char ast_config_AST_DATA_DIR[AST_CONFIG_MAX_PATH];
-char ast_config_AST_LOG_DIR[AST_CONFIG_MAX_PATH];
-char ast_config_AST_AGI_DIR[AST_CONFIG_MAX_PATH];
-char ast_config_AST_DB[AST_CONFIG_MAX_PATH];
-char ast_config_AST_KEY_DIR[AST_CONFIG_MAX_PATH];
-char ast_config_AST_PID[AST_CONFIG_MAX_PATH];
-char ast_config_AST_SOCKET[AST_CONFIG_MAX_PATH];
-char ast_config_AST_RUN_DIR[AST_CONFIG_MAX_PATH];
-char ast_config_AST_RUN_USER[AST_CONFIG_MAX_PATH];
-char ast_config_AST_RUN_GROUP[AST_CONFIG_MAX_PATH];
-char ast_config_AST_CTL_PERMISSIONS[AST_CONFIG_MAX_PATH];
-char ast_config_AST_CTL_OWNER[AST_CONFIG_MAX_PATH] = "\0";
-char ast_config_AST_CTL_GROUP[AST_CONFIG_MAX_PATH] = "\0";
-char ast_config_AST_CTL[AST_CONFIG_MAX_PATH] = "asterisk.ctl";
+char ast_config_AST_CONFIG_DIR[PATH_MAX];
+char ast_config_AST_CONFIG_FILE[PATH_MAX];
+char ast_config_AST_MODULE_DIR[PATH_MAX];
+char ast_config_AST_SPOOL_DIR[PATH_MAX];
+char ast_config_AST_MONITOR_DIR[PATH_MAX];
+char ast_config_AST_VAR_DIR[PATH_MAX];
+char ast_config_AST_DATA_DIR[PATH_MAX];
+char ast_config_AST_LOG_DIR[PATH_MAX];
+char ast_config_AST_AGI_DIR[PATH_MAX];
+char ast_config_AST_DB[PATH_MAX];
+char ast_config_AST_KEY_DIR[PATH_MAX];
+char ast_config_AST_PID[PATH_MAX];
+char ast_config_AST_SOCKET[PATH_MAX];
+char ast_config_AST_RUN_DIR[PATH_MAX];
+char ast_config_AST_RUN_USER[PATH_MAX];
+char ast_config_AST_RUN_GROUP[PATH_MAX];
+char ast_config_AST_CTL_PERMISSIONS[PATH_MAX];
+char ast_config_AST_CTL_OWNER[PATH_MAX] = "\0";
+char ast_config_AST_CTL_GROUP[PATH_MAX] = "\0";
+char ast_config_AST_CTL[PATH_MAX] = "asterisk.ctl";
 char ast_config_AST_SYSTEM_NAME[20] = "";
 
 extern const char *ast_build_hostname;
diff --git a/cdr/cdr_csv.c b/cdr/cdr_csv.c
index c02cdfe71f2465e592758139ef5c9034ce2ee1ae..b1612f4b2d1060c3c4f1de15619c482e6d5f085e 100644
--- a/cdr/cdr_csv.c
+++ b/cdr/cdr_csv.c
@@ -261,7 +261,7 @@ static int build_csv_record(char *buf, size_t bufsize, struct ast_cdr *cdr)
 
 static int writefile(char *s, char *acc)
 {
-	char tmp[AST_CONFIG_MAX_PATH];
+	char tmp[PATH_MAX];
 	FILE *f;
 	if (strchr(acc, '/') || (acc[0] == '.')) {
 		ast_log(LOG_WARNING, "Account code '%s' insecure for writing file\n", acc);
@@ -282,7 +282,7 @@ static int csv_log(struct ast_cdr *cdr)
 {
 	/* Make sure we have a big enough buf */
 	char buf[1024];
-	char csvmaster[AST_CONFIG_MAX_PATH];
+	char csvmaster[PATH_MAX];
 	snprintf(csvmaster, sizeof(csvmaster),"%s/%s/%s", ast_config_AST_LOG_DIR, CSV_LOG_DIR, CSV_MASTER);
 #if 0
 	printf("[CDR] %s ('%s' -> '%s') Dur: %ds Bill: %ds Disp: %s Flags: %s Account: [%s]\n", cdr->channel, cdr->src, cdr->dst, cdr->duration, cdr->billsec, ast_cdr_disp2str(cdr->disposition), ast_cdr_flags2str(cdr->amaflags), cdr->accountcode);
diff --git a/cdr/cdr_custom.c b/cdr/cdr_custom.c
index f540e0a6bfdedbc4d527753db48583a44f45e01f..5d7152b040c20b430bf65b68c0004f2fdc98404a 100644
--- a/cdr/cdr_custom.c
+++ b/cdr/cdr_custom.c
@@ -63,7 +63,7 @@ static char *name = "cdr-custom";
 
 static FILE *mf = NULL;
 
-static char master[AST_CONFIG_MAX_PATH];
+static char master[PATH_MAX];
 static char format[1024]="";
 
 static int load_config(int reload) 
diff --git a/cdr/cdr_radius.c b/cdr/cdr_radius.c
index 450afd6e22ee7a8c36f3e9a7b079a7ab5c36ea0b..66e85ec1cb22a409d9598aabef62e1f6404df839 100644
--- a/cdr/cdr_radius.c
+++ b/cdr/cdr_radius.c
@@ -88,7 +88,7 @@ static char *desc = "RADIUS CDR Backend";
 static char *name = "radius";
 static char *cdr_config = "cdr.conf";
 
-static char radiuscfg[AST_CONFIG_MAX_PATH] = "/etc/radiusclient-ng/radiusclient.conf";
+static char radiuscfg[PATH_MAX] = "/etc/radiusclient-ng/radiusclient.conf";
 
 static struct ast_flags global_flags = { RADIUS_FLAG_USEGMTIME | RADIUS_FLAG_LOGUNIQUEID | RADIUS_FLAG_LOGUSERFIELD };
 
diff --git a/include/asterisk.h b/include/asterisk.h
index 0e2029d35f33b2d2adbb5283246eb68ad07cacfb..a3e5900fdc30b3d9443159114bba910bcbd20679 100644
--- a/include/asterisk.h
+++ b/include/asterisk.h
@@ -22,32 +22,32 @@
 
 #include "asterisk/compat.h"
 
+#include <limits.h>
+
 #define DEFAULT_LANGUAGE "en"
 
 #define DEFAULT_SAMPLE_RATE 8000
 #define DEFAULT_SAMPLES_PER_MS  ((DEFAULT_SAMPLE_RATE)/1000)
 
-#define AST_CONFIG_MAX_PATH 255
-
 /* provided in asterisk.c */
-extern char ast_config_AST_CONFIG_DIR[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_CONFIG_FILE[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_MODULE_DIR[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_SPOOL_DIR[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_MONITOR_DIR[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_VAR_DIR[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_DATA_DIR[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_LOG_DIR[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_AGI_DIR[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_DB[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_KEY_DIR[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_PID[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_SOCKET[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_RUN_DIR[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_CTL_PERMISSIONS[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_CTL_OWNER[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_CTL_GROUP[AST_CONFIG_MAX_PATH];
-extern char ast_config_AST_CTL[AST_CONFIG_MAX_PATH];
+extern char ast_config_AST_CONFIG_DIR[PATH_MAX];
+extern char ast_config_AST_CONFIG_FILE[PATH_MAX];
+extern char ast_config_AST_MODULE_DIR[PATH_MAX];
+extern char ast_config_AST_SPOOL_DIR[PATH_MAX];
+extern char ast_config_AST_MONITOR_DIR[PATH_MAX];
+extern char ast_config_AST_VAR_DIR[PATH_MAX];
+extern char ast_config_AST_DATA_DIR[PATH_MAX];
+extern char ast_config_AST_LOG_DIR[PATH_MAX];
+extern char ast_config_AST_AGI_DIR[PATH_MAX];
+extern char ast_config_AST_DB[PATH_MAX];
+extern char ast_config_AST_KEY_DIR[PATH_MAX];
+extern char ast_config_AST_PID[PATH_MAX];
+extern char ast_config_AST_SOCKET[PATH_MAX];
+extern char ast_config_AST_RUN_DIR[PATH_MAX];
+extern char ast_config_AST_CTL_PERMISSIONS[PATH_MAX];
+extern char ast_config_AST_CTL_OWNER[PATH_MAX];
+extern char ast_config_AST_CTL_GROUP[PATH_MAX];
+extern char ast_config_AST_CTL[PATH_MAX];
 extern char ast_config_AST_SYSTEM_NAME[20];
 
 int ast_set_priority(int);			/*!< Provided by asterisk.c */
diff --git a/logger.c b/logger.c
index 309e13a50d12abc8906238f4701c40a09d66610a..567019dbe493dcb232523dbeda28f1e36fb3f8ca 100644
--- a/logger.c
+++ b/logger.c
@@ -378,8 +378,8 @@ void ast_queue_log(const char *queuename, const char *callid, const char *agent,
 
 int reload_logger(int rotate)
 {
-	char old[AST_CONFIG_MAX_PATH] = "";
-	char new[AST_CONFIG_MAX_PATH];
+	char old[PATH_MAX] = "";
+	char new[PATH_MAX];
 	int event_rotate = rotate, queue_rotate = rotate;
 	struct logchannel *f;
 	FILE *myf;
diff --git a/plc.c b/plc.c
index 5761e3bb97db4fabaf94b919012a9087c738d81e..4c388907e56acb7ef266c68a4ae5195181024574 100644
--- a/plc.c
+++ b/plc.c
@@ -37,7 +37,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include <stdlib.h>
 #include <string.h>
 #include <math.h>
-#include <limits.h>
 
 #include "asterisk/plc.h"