diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index edaf09b4de00acf70ba97f3dc5f317132f4b28c0..8a55057d9a84101912f7503822052e6a0d314008 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -176,6 +176,7 @@ static int videosupport = 0;
 
 static int globaldtmfmode = SIP_DTMF_RFC2833;
 static char globalmusicclass[MAX_LANGUAGE] = "";	/* Global music on hold class */
+static char global_realm[AST_MAX_EXTENSION] = "asterisk"; 	/* Default realm */
 
 /* Expire slowly */
 static int expiry = 900;
@@ -2743,7 +2744,7 @@ static int transmit_response_with_auth(struct sip_pvt *p, char *msg, struct sip_
 		ast_log(LOG_WARNING, "Unable to determine sequence number from '%s'\n", get_header(req, "CSeq"));
 		return -1;
 	}
-	snprintf(tmp, sizeof(tmp), "Digest realm=\"asterisk\", nonce=\"%s\"", randdata);
+	snprintf(tmp, sizeof(tmp), "Digest realm=\"%s\", nonce=\"%s\"", global_realm, randdata);
 	respprep(&resp, p, msg, req);
 	add_header(&resp, "Proxy-Authenticate", tmp);
 	add_header(&resp, "Content-Length", "0");
@@ -3938,7 +3939,7 @@ static int check_auth(struct sip_pvt *p, struct sip_request *req, char *randdata
 			if (c)
 				c++;
 		}
-		snprintf(a1, sizeof(a1), "%s:%s:%s", username, "asterisk", secret);
+		snprintf(a1, sizeof(a1), "%s:%s:%s", username, global_realm, secret);
 		if(!ast_strlen_zero(resp_uri))
 			snprintf(a2, sizeof(a2), "%s:%s", method, resp_uri);
 		else
@@ -6843,6 +6844,7 @@ static int reload_config(void)
 	strncpy(context, "default", sizeof(context) - 1);
 	strcpy(language, "");
 	strcpy(fromdomain, "");
+	strncpy(global_realm, "asterisk", sizeof(global_realm) - 1);
 	globalcanreinvite = REINVITE_INVITE;
 	videosupport = 0;
 	relaxdtmf = 0;
@@ -6852,6 +6854,8 @@ static int reload_config(void)
 		/* Create the interface list */
 		if (!strcasecmp(v->name, "context")) {
 			strncpy(context, v->value, sizeof(context)-1);
+		} else if (!strcasecmp(v->name, "realm")) {
+			strncpy(global_realm, v->value, sizeof(global_realm)-1);
 		} else if (!strcasecmp(v->name, "relaxdtmf")) {
 			relaxdtmf = ast_true(v->value);
 		} else if (!strcasecmp(v->name, "dtmfmode")) {
diff --git a/configs/sip.conf.sample b/configs/sip.conf.sample
index 773f3719f108ce2b3bf657d8f93b1594202888fe..d87f090bf0543cd96533436a899c482e1ea1596b 100755
--- a/configs/sip.conf.sample
+++ b/configs/sip.conf.sample
@@ -32,6 +32,7 @@ context = default		; Default context for incoming calls
 ;tos=lowdelay			; IP QoS parameter, either keyword or value
 				; like tos=184
 ;maxexpirey=3600		; Max length of incoming registration we allow
+;realm=asterisk			; Our global authentication realm
 ;defaultexpirey=120		; Default length of incoming/outoing registration
 ;notifymimetype=text/plain	; Allow overriding of mime type in NOTIFY
 ;videosupport=yes		; Turn on support for SIP video