From: Olle Johansson Date: Wed, 4 Jan 2006 13:07:34 +0000 (+0000) Subject: Issue #5824: Adding more SIP to ISDN Cause code conversions. Thanks mguesdon! X-Git-Tag: 1.4.0-beta1~3078 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=72779cd6a03dfd0e34ddeb9932f3c83b3a1afbba;p=thirdparty%2Fasterisk.git Issue #5824: Adding more SIP to ISDN Cause code conversions. Thanks mguesdon! git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7783 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 246b6309de..9d44d0c48e 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -2280,21 +2280,54 @@ static int hangup_sip2cause(int cause) /* Possible values taken from causes.h */ switch(cause) { - case 603: /* Declined */ + case 401: /* Unauthorized */ + return AST_CAUSE_CALL_REJECTED; case 403: /* Not found */ return AST_CAUSE_CALL_REJECTED; case 404: /* Not found */ return AST_CAUSE_UNALLOCATED; + case 405: /* Method not allowed */ + return AST_CAUSE_INTERWORKING; + case 407: /* Proxy authentication required */ + return AST_CAUSE_CALL_REJECTED; case 408: /* No reaction */ return AST_CAUSE_NO_USER_RESPONSE; + case 409: /* Conflict */ + return AST_CAUSE_NORMAL_TEMPORARY_FAILURE; + case 410: /* Gone */ + return AST_CAUSE_UNALLOCATED; + case 411: /* Length required */ + return AST_CAUSE_INTERWORKING; + case 413: /* Request entity too large */ + return AST_CAUSE_INTERWORKING; + case 414: /* Request URI too large */ + return AST_CAUSE_INTERWORKING; + case 415: /* Unsupported media type */ + return AST_CAUSE_INTERWORKING; + case 420: /* Bad extension */ + return AST_CAUSE_NO_ROUTE_DESTINATION; case 480: /* No answer */ return AST_CAUSE_FAILURE; + case 481: /* No answer */ + return AST_CAUSE_INTERWORKING; + case 482: /* Loop detected */ + return AST_CAUSE_INTERWORKING; case 483: /* Too many hops */ return AST_CAUSE_NO_ANSWER; + case 484: /* Address incomplete */ + return AST_CAUSE_INVALID_NUMBER_FORMAT; + case 485: /* Ambigous */ + return AST_CAUSE_UNALLOCATED; case 486: /* Busy everywhere */ return AST_CAUSE_BUSY; + case 487: /* Request terminated */ + return AST_CAUSE_INTERWORKING; case 488: /* No codecs approved */ return AST_CAUSE_BEARERCAPABILITY_NOTAVAIL; + case 491: /* Request pending */ + return AST_CAUSE_INTERWORKING; + case 493: /* Undecipherable */ + return AST_CAUSE_INTERWORKING; case 500: /* Server internal failure */ return AST_CAUSE_FAILURE; case 501: /* Call rejected */ @@ -2303,6 +2336,18 @@ static int hangup_sip2cause(int cause) return AST_CAUSE_DESTINATION_OUT_OF_ORDER; case 503: /* Service unavailable */ return AST_CAUSE_CONGESTION; + case 504: /* Gateway timeout */ + return AST_CAUSE_RECOVERY_ON_TIMER_EXPIRE; + case 505: /* SIP version not supported */ + return AST_CAUSE_INTERWORKING; + case 600: /* Busy everywhere */ + return AST_CAUSE_USER_BUSY; + case 603: /* Decline */ + return AST_CAUSE_CALL_REJECTED; + case 604: /* Does not exist anywhere */ + return AST_CAUSE_UNALLOCATED; + case 606: /* Not acceptable */ + return AST_CAUSE_BEARERCAPABILITY_NOTAVAIL; default: return AST_CAUSE_NORMAL; }