causecode.h
Go to the documentation of this file.
/*
*
* Inter Asterisk Exchange 2
*
* Open Phone Abstraction Library (OPAL)
*
* List of the defines which enumerate the reason why calls end.
*
* Copyright (c) 2005 Indranet Technologies Ltd.
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Open Phone Abstraction Library.
*
* The Initial Developer of the Original Code is Indranet Technologies Ltd.
*
* The author of this code is Derek J Smithies
*
* $Revision: 24606 $
* $Author: dereksmithies $
* $Date: 2010-07-28 22:51:05 -0500 (Wed, 28 Jul 2010) $
*/
#ifndef OPAL_IAX2_CAUSECODE_H
#define OPAL_IAX2_CAUSECODE_H
#include <opal/buildopts.h>
#if OPAL_IAX2
#include <iax2/ies.h>
class IAX2IeCauseCode : public IAX2IeByte
{
PCLASSINFO(IAX2IeCauseCode, IAX2IeByte);
public:
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,
/* Special Asterisk aliases */
Busy = UserBusy,
Failure = NetworkOutOfOrder,
Normal = NormalClearing,
Congestion = NormalCircuitCongestion,
Unregistered = NoRouteDestination,
NotDefined = 0,
NoSuchDriver = ChanNotImplemented,
};
IAX2IeCauseCode(BYTE length, BYTE *srcData) : IAX2IeByte(length, srcData) { };
IAX2IeCauseCode(BYTE newValue) : IAX2IeByte(newValue) { }
virtual BYTE GetKeyValue() const { return ie_causeCode; }
void PrintOn(ostream & str) const;
virtual void StoreDataIn(IAX2IeData &res) { res.causeCode = dataValue; }
};
#endif // OPAL_IAX2
#endif // OPAL_IAX2_CAUSECODE_H
/* The comment below is magic for those who use emacs to edit this file.
* With the comment below, the tab key does auto indent to 2 spaces.
*
* Local Variables:
* mode:c
* c-basic-offset:2
* End:
*/
IAX2IeCauseCode::NetworkOutOfOrder
Definition: causecode.h:66
IAX2IeCauseCode::Interworking
Definition: causecode.h:92
IAX2IeCauseCode::Failure
Definition: causecode.h:96
IAX2IeCauseCode::NoRouteDestination
Definition: causecode.h:51
IAX2IeCauseCode::CallRejected
Definition: causecode.h:58
IAX2IeCauseCode::UserBusy
Definition: causecode.h:55
IAX2IeCauseCode::ChannelUnacceptable
Definition: causecode.h:52
IAX2IeCauseCode::NoUserResponse
Definition: causecode.h:56
buildopts.h
IAX2IeCauseCode::InvalidMsgUnspecified
Definition: causecode.h:82
IAX2IeCauseCode::NormalClearing
Definition: causecode.h:54
IAX2IeCauseCode::WrpngCallState
Definition: causecode.h:88
IAX2IeCauseCode::InvalidIeContents
Definition: causecode.h:87
IAX2IeCauseCode::NormalCircuitCongestion
Definition: causecode.h:65
IAX2IeCauseCode::Congestion
Definition: causecode.h:98
IAX2IeCauseCode::NormalUnspecified
Definition: causecode.h:64
IAX2IeByte
Definition: ies.h:239
IAX2IeCauseCode::CallAwardedDelivered
Definition: causecode.h:53
IAX2IeCauseCode::Unallocated
Definition: causecode.h:49
IAX2IeCauseCode::PreEmpted
Definition: causecode.h:71
IAX2IeCauseCode::FacilityRejected
Definition: causecode.h:62
IAX2IeCauseCode::MandatoryIeLengthError
Definition: causecode.h:90
IAX2IeCauseCode::InvalidNumberFormat
Definition: causecode.h:61
IAX2IeCauseCode::NoRouteTransitNet
Definition: causecode.h:50
IAX2IeCauseCode::ProtocolError
Definition: causecode.h:91
IAX2IeCauseCode::DestinationOutOfOrder
Definition: causecode.h:60
IAX2IeCauseCode::Unregistered
Definition: causecode.h:99
IAX2IeCauseCode::FacilityNotImplemented
Definition: causecode.h:79
IAX2Ie::ie_causeCode
Definition: ies.h:102
IAX2IeCauseCode::StoreDataIn
virtual void StoreDataIn(IAX2IeData &res)
Definition: causecode.h:120
IAX2IeCauseCode::IeNonexist
Definition: causecode.h:86
IAX2IeData
Definition: iedata.h:55
IAX2IeCauseCode::WrongMessage
Definition: causecode.h:85
IAX2IeCauseCode::ResponseToStatusEnquiry
Definition: causecode.h:63
IAX2IeCauseCode::FacilityNotSubscribed
Definition: causecode.h:72
IAX2IeData::causeCode
BYTE causeCode
Definition: iedata.h:101
IAX2IeCauseCode::MandatoryIeMissing
Definition: causecode.h:83
IAX2IeCauseCode::IAX2IeCauseCode
IAX2IeCauseCode(BYTE newValue)
Definition: causecode.h:110
IAX2IeCauseCode::IAX2IeCauseCode
IAX2IeCauseCode(BYTE length, BYTE *srcData)
Definition: causecode.h:107
IAX2IeCauseCode::BearerCapabilityNotauth
Definition: causecode.h:75
IAX2IeCauseCode::BearerCapabilityNotAvail
Definition: causecode.h:76
IAX2IeCauseCode::RecoveryOnTimerExpire
Definition: causecode.h:89
IAX2IeCauseCode::MessageTypeNonexist
Definition: causecode.h:84
IAX2IeCauseCode::NormalTemporaryFailure
Definition: causecode.h:67
IAX2IeCauseCode::NoSuchDriver
Definition: causecode.h:101
IAX2IeCauseCode
Definition: causecode.h:43
IAX2IeCauseCode::AccessInfoDiscarded
Definition: causecode.h:69
IAX2IeCauseCode::NotDefined
Definition: causecode.h:100
IAX2IeCauseCode::NoAnswer
Definition: causecode.h:57
IAX2IeCauseCode::CauseCodes
CauseCodes
Definition: causecode.h:48
IAX2IeCauseCode::GetKeyValue
virtual BYTE GetKeyValue() const
Definition: causecode.h:113
IAX2IeCauseCode::InvalidCallReference
Definition: causecode.h:80
IAX2IeCauseCode::BearerCapabilityNotimpl
Definition: causecode.h:77
IAX2IeCauseCode::Normal
Definition: causecode.h:97
IAX2IeCauseCode::IncompatibleDestination
Definition: causecode.h:81
IAX2IeByte::dataValue
BYTE dataValue
Definition: ies.h:278
IAX2IeCauseCode::RequestedChanUnavail
Definition: causecode.h:70
IAX2IeCauseCode::PrintOn
void PrintOn(ostream &str) const
IAX2IeCauseCode::SwitchCongestion
Definition: causecode.h:68
IAX2IeCauseCode::IncomingCallBarred
Definition: causecode.h:74
IAX2IeCauseCode::Busy
Definition: causecode.h:95
ies.h
IAX2IeCauseCode::NumberChanged
Definition: causecode.h:59
IAX2IeCauseCode::OutgoingCallBarred
Definition: causecode.h:73
IAX2IeCauseCode::ChanNotImplemented
Definition: causecode.h:78