From da03cdd174465af1429358bef0a72c365932b3ee Mon Sep 17 00:00:00 2001 From: Tilghman Lesher Date: Tue, 8 Jul 2008 20:30:29 +0000 Subject: Merged revisions 129149 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r129149 | tilghman | 2008-07-08 15:27:47 -0500 (Tue, 08 Jul 2008) | 8 lines Cause SIP to return a 480 instead of a 404 when a sip peer exists, but is not registered. (closes issue #12885) Reported by: ibc Patches: 20080701__bug12885__2.diff.txt uploaded by Corydon76 (license 14) Tested by: ibc ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@129152 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_dial.c | 1 + channels/chan_sip.c | 1 + include/asterisk/causes.h | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/app_dial.c b/apps/app_dial.c index 370ac711b..fa56184c5 100644 --- a/apps/app_dial.c +++ b/apps/app_dial.c @@ -387,6 +387,7 @@ static void handle_cause(int cause, struct cause_args *num) num->congestion++; break; + case AST_CAUSE_NO_ROUTE_DESTINATION: case AST_CAUSE_UNREGISTERED: if (cdr) ast_cdr_failed(cdr); diff --git a/channels/chan_sip.c b/channels/chan_sip.c index bdaefc0f2..c98bcb97b 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -4838,6 +4838,7 @@ static const char *hangup_cause2sip(int cause) case AST_CAUSE_NO_USER_RESPONSE: /* 18 */ return "408 Request Timeout"; case AST_CAUSE_NO_ANSWER: /* 19 */ + case AST_CAUSE_UNREGISTERED: /* 20 */ return "480 Temporarily unavailable"; case AST_CAUSE_CALL_REJECTED: /* 21 */ return "403 Forbidden"; diff --git a/include/asterisk/causes.h b/include/asterisk/causes.h index fb4f3c115..7e83ec530 100644 --- a/include/asterisk/causes.h +++ b/include/asterisk/causes.h @@ -99,6 +99,7 @@ For more information: #define AST_CAUSE_USER_BUSY 17 #define AST_CAUSE_NO_USER_RESPONSE 18 #define AST_CAUSE_NO_ANSWER 19 +#define AST_CAUSE_SUBSCRIBER_ABSENT 20 #define AST_CAUSE_CALL_REJECTED 21 #define AST_CAUSE_NUMBER_CHANGED 22 #define AST_CAUSE_DESTINATION_OUT_OF_ORDER 27 @@ -141,7 +142,7 @@ For more information: #define AST_CAUSE_NORMAL AST_CAUSE_NORMAL_CLEARING #define AST_CAUSE_NOANSWER AST_CAUSE_NO_ANSWER #define AST_CAUSE_CONGESTION AST_CAUSE_NORMAL_CIRCUIT_CONGESTION -#define AST_CAUSE_UNREGISTERED AST_CAUSE_NO_ROUTE_DESTINATION +#define AST_CAUSE_UNREGISTERED AST_CAUSE_SUBSCRIBER_ABSENT #define AST_CAUSE_NOTDEFINED 0 #define AST_CAUSE_NOSUCHDRIVER AST_CAUSE_CHAN_NOT_IMPLEMENTED /*@{ */ -- cgit v1.2.3