diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-01-10 19:58:35 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-01-10 19:58:35 +0000 |
commit | fa146f6d7687b0df108a0198e97f539f9c1351f4 (patch) | |
tree | c843430c934347029f59352c3ff2a00c4d62bae7 /channels/chan_sip.c | |
parent | c47ebe99cf8fd8835013ad794239327a6406af97 (diff) |
Send "not compatible here" instead of "unavailable" on codec mismatch (bug #3306)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4749 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_sip.c')
-rwxr-xr-x | channels/chan_sip.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 62b5c509e..d2ed0ddeb 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -2790,7 +2790,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) { @@ -7778,12 +7778,20 @@ static int handle_request(struct sip_pvt *p, struct sip_request *req, struct soc } } else { if (p && !ast_test_flag(p, SIP_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); - ast_set_flag(p, SIP_NEEDDESTROY); + if (!p->jointcapability) { + if (ignore) + transmit_response(p, "488 Not Acceptable Here", req); + else + transmit_response_reliable(p, "488 Not Acceptable Here", req, 1); + ast_set_flag(p, SIP_NEEDDESTROY); + } 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); + ast_set_flag(p, SIP_NEEDDESTROY); + } } } } else if (!strcasecmp(cmd, "REFER")) { |