BeroFix ISDN Cause/SIP Response map

From berofix - professional SIP gateway
Jump to: navigation, search

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 NumberEnglish textGerman 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