diff --git a/channels/chan_sip.c b/channels/chan_sip.c index e67f2789e0..5c373bfecc 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -4324,7 +4324,7 @@ static int transmit_response_with_allow(struct sip_pvt *p, char *msg, struct sip static int transmit_response_with_auth(struct sip_pvt *p, char *msg, struct sip_request *req, char *randdata, int reliable, char *header, int stale) { struct sip_request resp; - char tmp[256]; + char tmp[512]; int seqno = 0; if (reliable && (sscanf(get_header(req, "CSeq"), "%d ", &seqno) != 1)) { @@ -4333,7 +4333,7 @@ static int transmit_response_with_auth(struct sip_pvt *p, char *msg, struct sip_ } /* Stale means that they sent us correct authentication, but based it on an old challenge (nonce) */ - snprintf(tmp, sizeof(tmp), "Digest realm=\"%s\", nonce=\"%s\"%s", global_realm, randdata, stale ? ", stale=true" : ""); + snprintf(tmp, sizeof(tmp), "Digest algorithm=MD5, realm=\"%s\", nonce=\"%s\"%s", global_realm, randdata, stale ? ", stale=true" : ""); respprep(&resp, p, msg, req); add_header(&resp, header, tmp); add_header_contentLength(&resp, 0);