Call End Causes

From Yate Documentation
Jump to: navigation, search

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 specific numeric value.


Call end causes and errors

To provide protocol independence Yate translates the 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 codes in IAX, only textual messages sent with the REJECT or HANGUP packet.

See also

Personal tools