Call End Causes
(→Call end causes and errors) |
|||
Line 5: | Line 5: | ||
To provide protocol independence Yate translates these cause codes in keywords that attempt to be protocol agnostic. When the keyword is translated back into protocol specific codes hopefully an adequate translation is choosen. | To provide protocol independence Yate translates these cause codes in keywords that attempt to be protocol agnostic. When the keyword is translated back into protocol specific codes hopefully an adequate translation is choosen. | ||
− | Many of the cause codes are protocol specific and have no equivalent in other protocols. For telephony the most important encoding is | + | Many of the cause codes are protocol specific and have no equivalent in other protocols. For telephony the most important encoding is [http://www.itu.int/rec/T-REC-Q.850/e Q.850] defining cause and location codes for ISDN. |
You should also note that some of these call termination codes are not errors but part of normal operation of one or another protocol. Some of these codes are also used for operations after the call is established. | You should also note that some of these call termination codes are not errors but part of normal operation of one or another protocol. Some of these codes are also used for operations after the call is established. |
Revision as of 17:02, 4 October 2012
Contents |
Call end causes and errors
A telephone call can fail or end abnormally. To express the cause of a call end each protocol has its own way of encoding it, usually by a protocol spcific numeric value.
To provide protocol independence Yate translates these cause codes in keywords that attempt to be protocol agnostic. When the keyword is translated back into protocol specific codes hopefully an adequate translation is choosen.
Many of the cause codes are protocol specific and have no equivalent in other protocols. For telephony the most important encoding is Q.850 defining cause and location codes for ISDN.
You should also note that some of these call termination codes are not errors but part of normal operation of one or another protocol. Some of these codes are also used for operations after the call is established.
Keyword | SIP | H.323 | IAX | ISDN | SS7 | Description | Default Error in |
---|---|---|---|---|---|---|---|
Call initiation | |||||||
noroute | 404 | 3 | ? | ? | ? | No route to destination could be found | routing |
noconn | 503 | 34 | ? | ? | ? | Could not connect to outgoing channel or network | call.execute |
noauth | 401 | 21 | ? | ? | ? | Caller is not authenticated | |
nomedia | 415 | 65 | ? | ? | ? | Failed to negotiate media channel | |
noanswer | 487 | 19 | ? | ? | ? | Called party did not answer | |
busy | 486 | 17 | ? | ? | ? | Called party is busy | |
congestion | 480 | 42 | ? | ? | ? | Temporary network congestion | |
offline | 404 | 44 | ? | ? | ? | Called party or network is offline | |
rejected | 406 | 31 | ? | ? | ? | Call rejected by called party or network | |
forbidden | 403 | 47 | ? | ? | ? | Call is not authorized | |
incomplete | 484 | 1 | ? | ? | ? | Called party number or address is incomplete | |
looping | 483 | 98 | ? | ? | ? | Call loop detected | |
failure | 500 | 127 | ? | ? | ? | Generic local server or interoperation failure | |
During the call | |||||||
timeout | BYE | 102 | ? | ? | ? | Call duration exceeded limit | |
nocall | 481 | 100 | ? | ? | ? | Referenced call could not be found on server | |
pending | 491 | 111 | ? | ? | ? | Another operation is in progress on the same call |
SIP specifics
After the INVITE completes successfully the codes are sent in the Reason: header of the BYE transaction.
H.323 specifics
The H.323 protocol stack has several ways of sending codes at different layers. Not always a Q.850 code is available - for example if the TCP/IP communication cannot be established.
IAX specifics
There are no cause cods in IAX, only textual messages sent with the REJECT or HANGUP packet.