aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2003-08-10 19:36:46 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2003-08-10 19:36:46 +0000
commitb1fb47ef7588be1851202379dd16dc35e5fe51eb (patch)
treeb0aeb21fec79465732ce80e365f7c829a5da3109
parent258d259725565b6bfbe94e18eb1d9aecea64abf1 (diff)
Handle 501 right
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1287 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-xchannels/chan_sip.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 70ea4fd32..86455c321 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -4338,6 +4338,12 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_
} else
p->needdestroy = 1;
break;
+ case 501: /* Not Implemented */
+ if (!strcasecmp(msg, "INVITE"))
+ ast_queue_control(p->owner, AST_CONTROL_CONGESTION, 0);
+ else
+ ast_log(LOG_WARNING, "Host '%s' does not implement '%s'\n", inet_ntoa(p->sa.sin_addr), msg);
+ break;
default:
if ((resp >= 300) && (resp < 700)) {
if ((option_verbose > 2) && (resp != 487))
@@ -4367,7 +4373,6 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_
case 404: /* Not Found */
case 410: /* Gone */
case 500: /* Server error */
- case 501: /* Not Implemented */
if (owner)
ast_queue_control(p->owner, AST_CONTROL_CONGESTION, 0);
break;