diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index d7f79cef238c51c27b4ad6b494734131ee053be8..a3f6e0ec6f0445e6324f545fdd04f381b25c9a44 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -4694,7 +4694,7 @@ static int sip_no_debug(int fd, int argc, char *argv[])
 static int reply_digest(struct sip_pvt *p, struct sip_request *req, char *header, char *respheader, char *digest, int digest_len);
 
 static int do_register_auth(struct sip_pvt *p, struct sip_request *req, char *header, char *respheader) {
-	char digest[256];
+	char digest[1024];
 	p->authtries++;
 	memset(digest,0,sizeof(digest));
 	if (reply_digest(p,req, header, "REGISTER", digest, sizeof(digest))) {
@@ -4705,7 +4705,7 @@ static int do_register_auth(struct sip_pvt *p, struct sip_request *req, char *he
 }
 
 static int do_proxy_auth(struct sip_pvt *p, struct sip_request *req, char *header, char *respheader, char *msg, int init) {
-	char digest[256];
+	char digest[1024];
 	p->authtries++;
 	memset(digest,0,sizeof(digest));
 	if (reply_digest(p,req, "Proxy-Authenticate", msg, digest, sizeof(digest) )) {
@@ -4717,7 +4717,7 @@ static int do_proxy_auth(struct sip_pvt *p, struct sip_request *req, char *heade
 
 static int reply_digest(struct sip_pvt *p, struct sip_request *req, char *header, char *orig_header, char *digest, int digest_len) {
 
-	char tmp[256] = "";
+	char tmp[512] = "";
 	char *realm = "";
 	char *nonce = "";
 	char *domain = "";
diff --git a/include/asterisk/lock.h b/include/asterisk/lock.h
index 49636759cd6bdb865bcedaf41651bde44406b65f..aba263c09fc87ed5b3d282ad44bf50ef1888c3c7 100755
--- a/include/asterisk/lock.h
+++ b/include/asterisk/lock.h
@@ -32,12 +32,12 @@
 
 // #define AST_MUTEX_INITIALIZER      PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
 // #define AST_MUTEX_KIND             PTHREAD_MUTEX_RECURSIVE_NP
-#ifdef PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
-#define AST_MUTEX_INITIALIZER         { PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP, NULL, 0, NULL, 0 }
-#else
 #ifdef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
 #define AST_MUTEX_INITIALIZER         { PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP, NULL, 0, NULL, 0 }
 #else
+#ifdef PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
+#define AST_MUTEX_INITIALIZER         { PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP, NULL, 0, NULL, 0 }
+#else
 #define AST_MUTEX_INITIALIZER         { PTHREAD_MUTEX_INITIALIZER, NULL, 0, NULL, 0 }
 #endif
 #endif