IAX2IeCauseCode Class Reference

`#include <causecode.h>`

Inheritance diagram for IAX2IeCauseCode:

## Public Types

enum

CauseCodes {
Unallocated = 1, NoRouteTransitNet = 2, NoRouteDestination = 3, ChannelUnacceptable = 6,
CallAwardedDelivered = 7, NormalClearing = 16, UserBusy = 17, NoUserResponse = 18,
NoAnswer = 19, CallRejected = 21, NumberChanged = 22, DestinationOutOfOrder = 27,
InvalidNumberFormat = 28, FacilityRejected = 29, ResponseToStatusEnquiry = 30, NormalUnspecified = 31,
NormalCircuitCongestion = 34, NetworkOutOfOrder = 38, NormalTemporaryFailure = 41, SwitchCongestion = 42,
AccessInfoDiscarded = 43, RequestedChanUnavail = 44, PreEmpted = 45, FacilityNotSubscribed = 50,
OutgoingCallBarred = 52, IncomingCallBarred = 54, BearerCapabilityNotauth = 57, BearerCapabilityNotAvail = 58,
BearerCapabilityNotimpl = 65, ChanNotImplemented = 66, FacilityNotImplemented = 69, InvalidCallReference = 81,
IncompatibleDestination = 88, InvalidMsgUnspecified = 95, MandatoryIeMissing = 96, MessageTypeNonexist = 97,
WrongMessage = 98, IeNonexist = 99, InvalidIeContents = 100, WrpngCallState = 101,
RecoveryOnTimerExpire = 102, MandatoryIeLengthError = 103, ProtocolError = 111, Interworking = 127,
Busy = UserBusy, Failure = NetworkOutOfOrder, Normal = NormalClearing, Congestion = NormalCircuitCongestion,
Unregistered = NoRouteDestination, NotDefined = 0, NoSuchDriver = ChanNotImplemented
}

Public Types inherited from IAX2Ie

enum

IAX2IeTypeCode {
ie_calledNumber = 1, ie_callingNumber = 2, ie_callingAni = 3, ie_callingName = 4,
ie_calledContext = 5, ie_userName = 6, ie_password = 7, ie_capability = 8,
ie_format = 9, ie_language = 10, ie_version = 11, ie_adsicpe = 12,
ie_dnid = 13, ie_authMethods = 14, ie_challenge = 15, ie_md5Result = 16,
ie_rsaResult = 17, ie_apparentAddr = 18, ie_refresh = 19, ie_dpStatus = 20,
ie_callNo = 21, ie_cause = 22, ie_iaxUnknown = 23, ie_msgCount = 24,
ie_autoAnswer = 25, ie_musicOnHold = 26, ie_transferId = 27, ie_rdnis = 28,
ie_provisioning = 29, ie_aesProvisioning = 30, ie_dateTime = 31, ie_deviceType = 32,
ie_serviceIdent = 33, ie_firmwareVer = 34, ie_fwBlockDesc = 35, ie_fwBlockData = 36,
ie_provVer = 37, ie_callingPres = 38, ie_callingTon = 39, ie_callingTns = 40,
ie_samplingRate = 41, ie_causeCode = 42, ie_encryption = 43, ie_encKey = 44,
ie_codecPrefs = 45, ie_recJitter = 46, ie_recLoss = 47, ie_recPackets = 48,
ie_recDelay = 49, ie_recDropped = 50, ie_recOoo = 51, ie_variable = 52,
ie_ospToken = 53, ie_callToken = 54, ie_capability2 = 55, ie_format2 = 56,
ie_countEntries
}

## Public Member Functions

| IAX2IeCauseCode (BYTE length, BYTE *srcData)
| IAX2IeCauseCode (BYTE newValue)
virtual BYTE | GetKeyValue () const
void | PrintOn (ostream &str) const
virtual void | StoreDataIn (IAX2IeData &res)
Public Member Functions inherited from IAX2Ie
| IAX2Ie ()
virtual | ~IAX2Ie ()
virtual PBoolean | IsValid ()
int | GetBinarySize ()
void | SetData (int &)
int | ReadData ()
void | WriteBinary (void *data, PINDEX &writeIndex)

## Additional Inherited Members

Static Public Member Functions inherited from IAX2Ie
static IAX2Ie * | BuildInformationElement (BYTE _typeCode, BYTE length, BYTE *srcData)
Protected Member Functions inherited from IAX2IeByte
virtual void | WriteBinary (BYTE *data)
Protected Attributes inherited from IAX2IeByte
BYTE | dataValue
Protected Attributes inherited from IAX2Ie
PBoolean | validData

## Detailed Description

An Information Element that contains the hangup cause code

## Member Enumeration Documentation

enum IAX2IeCauseCode::CauseCodes

Enums to specify why this call failed

Enumerator
Unallocated |
NoRouteTransitNet |
NoRouteDestination |
ChannelUnacceptable |
CallAwardedDelivered |
NormalClearing |
UserBusy |
NoUserResponse |
NoAnswer |
CallRejected |
NumberChanged |
DestinationOutOfOrder |
InvalidNumberFormat |
FacilityRejected |
ResponseToStatusEnquiry |
NormalUnspecified |
NormalCircuitCongestion |
NetworkOutOfOrder |
NormalTemporaryFailure |
SwitchCongestion |
AccessInfoDiscarded |
RequestedChanUnavail |
PreEmpted |
FacilityNotSubscribed |
OutgoingCallBarred |
IncomingCallBarred |
BearerCapabilityNotauth |
BearerCapabilityNotAvail | No agreement on a common codec to use. Happens at call setup.
BearerCapabilityNotimpl |
ChanNotImplemented |
FacilityNotImplemented |
InvalidCallReference |
IncompatibleDestination |
InvalidMsgUnspecified |
MandatoryIeMissing |
MessageTypeNonexist |
WrongMessage |
IeNonexist |
InvalidIeContents |
WrpngCallState |
RecoveryOnTimerExpire |
MandatoryIeLengthError |
ProtocolError |
Interworking |
Busy |
Failure |
Normal |
Congestion |
Unregistered |
NotDefined |
NoSuchDriver |

## Constructor & Destructor Documentation

IAX2IeCauseCode::IAX2IeCauseCode | ( | BYTE | length,
|  | BYTE * | srcData
| ) |  |

inline

Constructor from data read from the network.

Contents are undefined if the network data is bogus/invalid

IAX2IeCauseCode::IAX2IeCauseCode | ( | BYTE | newValue | ) |

inline

Construct with a predefined value (Typically used prior to transmission)

## Member Function Documentation

virtual BYTE IAX2IeCauseCode::GetKeyValue | ( |  | ) | const

inline virtual

Get the key value for this particular Information Element class

Reimplemented from IAX2Ie.

References IAX2Ie::ie_causeCode.

void IAX2IeCauseCode::PrintOn | ( | ostream & | str | ) | const

virtual

print this class (nicely) to the designated stream

Reimplemented from IAX2IeByte.

virtual void IAX2IeCauseCode::StoreDataIn | ( | IAX2IeData & | res | ) |

inline virtual

Take the data from this Ie, and copy it into the IeData structure. This is done on processing an incoming frame which contains Ie in the data section.

Reimplemented from IAX2Ie.

References IAX2IeData::causeCode, and IAX2IeByte::dataValue.

The documentation for this class was generated from the following file:

- causecode.h