Gateway ISDN Cause/SIP Response map
ISDN cause codes are used to indicate why the call has been terminated. In SIP these indications are coded in so called SIP responses. There is special attention needed to properly define the mapping of sip responses and isdn causes.
Since Version 1.13rc6, berofix supports editing of the translation of ISDN causes to SIP response Codes and vice versa via the Cause Map that can be found in the beroFix GUI under Preferences->Causes map
There are 127 ISDN cause codes that can be sent or received. There are numerous SIP response codes that can be transmitted. The following tables contain the ISDN cause codes and some of the major SIP response.
ISDN cause codes
Cause Number | English text | German text | |
0 | "<No cause>" | "<Kein Grund>" | |
1 | "Unallocated number" | "Nummer nicht vergeben" | |
2 | "No route to transit network" | "Keine Verbindung zum Netz" | |
3 | "No route to destination" | "Zielnummer nicht erreichbar" | |
4 | "<Listen to announcement...>" | "<Ansage hoeren...>" | |
5 | "Misdialed trunk prefix." | "Falscher Carrier-Code" | |
6 | "Channel unacceptable" | "Kanal nicht akzeptiert" | |
8 | "Preemption" | "Vorkauf" | |
9 | "Preemption - circuit reserved" | "Vorkauf - Gasse reserviert" | |
16 | "Normal call clearing" | "Normaler Verbindungsabbau" | |
17 | "User busy" | "Teilnehmer besetzt" | |
18 | "No user responding" | "Teilnehmer antwortet nicht" | |
19 | "No answer from user" | "Teilnehmer nimmt nicht ab" | |
20 | "Subscriber absent" | "Teilnehmer nicht anwesend" | |
21 | "Call rejected" | "Gespraech abgewiesen" | |
22 | "Number changed" | "Rufnummer hat sich geaendert" | |
26 | "Non-selected user clearing" | "Gespraech woanders angenommen" | |
27 | "Destination out of order" | "Gegenstelle ausser Betrieb" | |
28 | "Invalid number (incomplete)" | "Fehlerhafte Nummer (n. komplett)" | |
29 | "Facility rejected" | "Funktion nicht verfuegbar" | |
31 | "Normal, unspecified or Network Ressource Unavailable (like 34)." | "Normal, unspezifisch, oder wie cause:34" | |
34 | "No circuit/channel available" | "Keine Gasse/Kanal verfuegbar" | |
41 | "Temporary failure" | "Vorruebergehende Fehlfunktion" | |
42 | "Switchting equipment congestion" | "Vermittlungstelle ueberlastet" | |
43 | "Access informationen discarded" | "Zugriffsinformationen geloescht" | |
44 | "No requested circuit/channel" | "Keine angeforderte Gasse/Kanal" | |
46 | "Precedence call blocked" | "Vorverkaufanruf gesperrt" | |
47 | "Resource unavailable, unspecified" | "" | |
49 | "Quality of service not available" | "Qualitaetsmerkmal nicht verfuegbar" | |
50 | "Requested facility not subscribed" | "Funktion nicht freigeschaltet" | |
53 | "Outgoing calls barred within CUG" | "CUG erlaubt keine gehenden Rufe" | |
55 | "Incoming calls barred within CUG" | "CUG erlaubt keine kommenden Rufe" | |
57 | "Bearer capability not authorized" | "Verbindungseigenschaft verboten" | |
58 | "Bearer capability not present" | "Verb.eigenschaft n. verfuegbar" | |
63 | "Service or option not available" | "Dienst oder Merkmal nicht verf." | |
65 | "Bearer capability not implement." | "Verb.eigenschaft nicht unterstue." | |
66 | "Channel type not implemented" | "Kanalart nicht unterstuetzt" | |
69 | "Requested facility not implement." | "Funktion nicht unterstuetzt" | |
70 | "restricted digital informat. only" | "Nur eingeschraenkte digitale inf." | |
79 | "Service or option not implemented" | "Dienst oder Merkmal n. unterstue." | |
81 | "Invalid call reference value" | "Falsche call reference" | |
82 | "Identified channel does not exist" | "Erkannter Kanal existiert nicht" | |
83 | "No suspended call with this id" | "Kein geparktes Gespr. f. diese ID" | |
84 | "Call identity in use" | "ID in gebrauch" | |
85 | "No call suspended" | "Kein geparktes Gespraech" | |
86 | "Suspended call has been cleared" | "Geparktes Gespraech wurde beendet" | |
87 | "User not member of CUG" | "Teilnehmer nicht in der CUG" | |
88 | "Incompatibel destination" | "Gegenstelle nicht kompatibel" | |
89 | "" | "" | |
90 | "Non-existent CUG" | "CUG existiert nicht" | |
91 | "Invalid transit network selection" | "Falscher Carrier-Code" | |
95 | "Invalid message, unspecified" | "Fehlerhafte Daten, unbekannt" | |
96 | "Information element missing" | "Information wird vermisst" | |
97 | "Message type non-existent" | "Message exisitiert nicht" | |
98 | "Message not compatible with state" | "Message nicht komatibel" | |
99 | "Information element not impl." | "Information nicht implementiert" | |
100 | "Invalid info element contents" | "Fehlerhafterhafte Information" | |
101 | "Message not compatible with state" | "Message not kompatibel" | |
102 | "Recovery on timer expiry" | "Fehler durch Zeitueberschreitung" | |
103 | "Parameter non-existent" | "Parameter fehlt" | |
111 | "Protocol error, unspecified" | "Protokollfehler, unbekannt" | |
127 | "Interworking, unspecified" | "Zusammenspiel, unbekannt" |
SIP responses
SIP response codes, class 1: Provisional messages
These are sent within a SIP dialogue
* 100 Trying * 180 Ringing * 181 Call Is Being Forwarded * 182 Queued * 183 Session Progress
SIP Response codes: 2xx class
The 2xx class of responses indicates a success
* 200 OK * 202 accepted: Used for referrals
SIP response codes, class 3xx
The 3xx class of responses indicates a redirection of the call
* 300 Multiple Choices * 301 Moved Permanently * 302 Moved Temporarily * 305 Use Proxy * 380 Alternative Service
SIP responses, class 4: Request failures
* 400 Bad Request * 401 Unauthorized: Used only by registrars. Proxys should use proxy authorization 407 * 402 Payment Required (Reserved for future use) * 403 Forbidden * 404 Not Found: User not found * 405 Method Not Allowed * 406 Not Acceptable * 407 Proxy Authentication Required * 408 Request Timeout: Couldn't find the user in time * 409 Conflict * 410 Gone: The user existed once, but is not available here any more. * 413 Request Entity Too Large * 414 Request-URI Too Long * 415 Unsupported Media Type * 416 Unsupported URI Scheme * 420 Bad Extension: Bad SIP Protocol Extension used, not understood by the server * 421 Extension Required * 422 Session Interval Too Small * 423 Interval Too Brief * 480 Temporarily Unavailable * 481 Call/Transaction Does Not Exist * 482 Loop Detected * 483 Too Many Hops * 484 Address Incomplete * 485 Ambiguous * 486 Busy Here * 487 Request Terminated * 488 Not Acceptable Here * 491 Request Pending * 493 Undecipherable: Could not decrypt S/MIME body part
SIP responses, class 5: Server failures
* 500 Server Internal Error * 501 Not Implemented: The SIP request method is not implemented here * 502 Bad Gateway * 503 Service Unavailable * 504 Server Time-out * 505 Version Not Supported: The server does not support this version of the SIP protocol * 513 Message Too Large
SIP response codes, class 6: Global failures
* 600 Busy Everywhere * 603 Decline * 604 Does Not Exist Anywhere * 606 Not Acceptable
Cause Map
The beroFix cause map can be configured via the Webgui at "Preferences->Causes map". There are 2 buttons:
Load Defaults restores the default causes map save saves the edited causes map, after save there is an orange activate, which will destroy current running calls.
Besides the SIP and ISDN Call Termination reasons, berofix has a few internal causes to reject incoming calls. If for example no Dialplan Entry would not match berofix has an internal cause for that. The Internal causes start with 900+X.
berofix internal causes
901 means no channel processing resources are left to establish a call 902 means no isdn channels are free to establish a call 903 means no general resources are free to establish a call 904 means no match in isgw dialplan was found 905 means the outgoing ISDN Number would contain non-digit characters 906 means No free ISDN channels (ports are down) 907 means No free ANALOG ports 908 means No free ANALOG ports (ports are down) 910 means No free GSM ports
The causes map has one line for each Call-Termination direction. Each line contains TAB separated values, in the structure
Cause Map Structure
<FROM> TAB <TO> TAB <cause/response from TO> TAB <cause/response to FROM> TAB <optional Text for FROM>
So for example if the Call Setup was initiated by the ISDN Side and sent to the SIP side and the SIP Side was busy (indicated by 486) berofix should transmit a cause 17 to ISDN (indicating the busy). This line would look like:
ISDN SIP 486 17
NOTE: Each line is TAB seperated.
If for example the call was initiated by the SIP Side and the ISDN Side terminated the call with a cause 1 (meaning Unallocated number) berofix should respond a 404 (Not Found) to the SIP side the proper cause map would look like:
SIP ISDN 1 404 Unallocated number
The default cause map looks like:
Default Cause Map
;VERSION=4 ;900 incauses are isgw internal causes ;901 means no channel processing resources are left to establish a call ;902 means no isdn channels are free to establish a call ;903 means no general resources are free to establish a call ;904 means no match in isgw dialplan was found ;905 means the outgoing ISDN Number would contain non-digit characters ;906 means no isdn channels are free to establish a call and some ports are down ;907 means no free analog ports found ;908 means no free analog ports found and some ports are down ;910 means no free gsm ports found ;9000 sip any answer timeout ;9180 sip 180 response timeout ;9183 sip 183 response timeout ;9200 sip 200 response timeout ;FROM describes where the request is coming from which is to be rejected ;use 5 tab separated columns when request is coming from sip ;use 4 tab separated columns when request is coming from isdn ;FROM TO INCAUSE OUTCAUSE OUTTEXT SIP ISGW 901 503 No channel processing resources SIP ISGW 902 503 No free ISDN channels SIP ISGW 903 503 No resources SIP ISGW 904 404 Number not in dialplan SIP ISGW 905 603 Invalid number SIP ISGW 906 503 No free ISDN channels (ports are down) SIP ISGW 907 503 No free ANALOG ports SIP ISGW 908 503 No free ANALOG ports (ports are down) SIP ISGW 910 503 No free GSM ports SIP ISDN 1 404 Unallocated number SIP ISDN 2 404 No Route to Network SIP ISDN 3 404 No Route To Destination SIP ISDN 17 486 User busy SIP ISDN 18 408 Request Timeout SIP ISDN 19 480 Temporarily Unavailable SIP ISDN 20 480 Temporarily Unavailable SIP ISDN 21 603 Forbidden SIP ISDN 22 410 Gone SIP ISDN 23 410 Gone SIP ISDN 26 404 Not Found SIP ISDN 27 502 Bad Gateway SIP ISDN 28 484 Address Incomplete SIP ISDN 29 510 Not Implemented SIP ISDN 31 480 Temporarily Unavailable Resource Unavailable SIP ISDN 34 503 Service Unavailable SIP ISDN 38 503 Service Unavailable SIP ISDN 41 503 Service Unavailable SIP ISDN 42 503 Service Unavailable SIP ISDN 47 503 Service Unavailable Service or Option not available SIP ISDN 55 403 Forbidden SIP ISDN 57 403 Forbidden SIP ISDN 58 503 Service Unavailable SIP ISDN 65 488 Not Acceptable Here SIP ISDN 70 488 Not Acceptable Here SIP ISDN 79 501 Not Implemented SIP ISDN 87 403 Forbidden SIP ISDN 88 503 Service Unavailable SIP ISDN 102 504 Gateway Timeout SIP ISDN 111 504 Server internal error Interworking SIP ISDN 127 500 Server Internal Error SIP ISDN ANY 486 Busy here ISDN ISGW 901 17 ISDN ISGW 902 34 ISDN ISGW 903 17 ISDN ISGW 904 1 ISDN ISGW 906 34 ISDN SIP 400 41 ISDN SIP 401 21 ISDN SIP 402 21 ISDN SIP 403 21 ISDN SIP 404 1 ISDN SIP 405 63 ISDN SIP 406 79 ISDN SIP 407 21 ISDN SIP 408 102 ISDN SIP 410 22 ISDN SIP 413 127 ISDN SIP 414 127 ISDN SIP 415 79 ISDN SIP 416 127 ISDN SIP 421 127 ISDN SIP 423 127 ISDN SIP 480 18 ISDN SIP 481 41 ISDN SIP 482 25 ISDN SIP 483 25 ISDN SIP 484 28 ISDN SIP 485 1 ISDN SIP 486 17 ISDN SIP 500 41 ISDN SIP 501 79 ISDN SIP 502 38 ISDN SIP 503 41 ISDN SIP 504 102 ISDN SIP 505 127 ISDN SIP 513 127 ISDN SIP 600 17 ISDN SIP 603 21 ISDN SIP 604 1 ISDN SIP ANY 17
The file can be downloaded here: isgw.causes
If you need scheduled remote assistance, you can request our on-demand support services: https://www.beronet.com/support