From: Russell Bryant Date: Thu, 13 Jan 2005 04:34:01 +0000 (+0000) Subject: fix message sent on codec mismatch (bug #3306) X-Git-Tag: 1.0.11.1~276 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d1b6552ef77fc7a05b8544c875f96bbddc017b16;p=thirdparty%2Fasterisk.git fix message sent on codec mismatch (bug #3306) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-0@4776 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 184af347d3..a9692ade27 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -2770,7 +2770,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req) ast_getformatname_multiple(s3, slen, p->noncodeccapability)); } if (!p->jointcapability) { - ast_log(LOG_WARNING, "No compatible codecs!\n"); + ast_log(LOG_NOTICE, "No compatible codecs!\n"); return -1; } if (p->owner) { @@ -7385,12 +7385,20 @@ static int handle_request(struct sip_pvt *p, struct sip_request *req, struct soc } } else { if (p && !p->needdestroy) { - ast_log(LOG_NOTICE, "Unable to create/find channel\n"); - if (ignore) - transmit_response(p, "503 Unavailable", req); - else - transmit_response_reliable(p, "503 Unavailable", req, 1); - p->needdestroy = 1; + if (!p->jointcapability) { + if (ignore) + transmit_response(p, "488 Not Acceptable Here", req); + else + transmit_response_reliable(p, "488 Not Acceptable Here", req, 1); + p->needdestroy = 1; + } else { + ast_log(LOG_NOTICE, "Unable to create/find channel\n"); + if (ignore) + transmit_response(p, "503 Unavailable", req); + else + transmit_response_reliable(p, "503 Unavailable", req, 1); + p->needdestroy = 1; + } } } } else if (!strcasecmp(cmd, "REFER")) {