#include <q931.h>
Public Types | |
enum | MsgTypes { NationalEscapeMsg = 0x00, AlertingMsg = 0x01, CallProceedingMsg = 0x02, ConnectMsg = 0x07, ConnectAckMsg = 0x0f, ProgressMsg = 0x03, SetupMsg = 0x05, SetupAckMsg = 0x0d, ResumeMsg = 0x26, ResumeAckMsg = 0x2e, ResumeRejectMsg = 0x22, SuspendMsg = 0x25, SuspendAckMsg = 0x2d, SuspendRejectMsg = 0x21, UserInformationMsg = 0x20, DisconnectMsg = 0x45, ReleaseMsg = 0x4d, ReleaseCompleteMsg = 0x5a, RestartMsg = 0x46, RestartAckMsg = 0x4e, SegmentMsg = 0x60, CongestionCtrlMsg = 0x79, InformationMsg = 0x7b, NotifyMsg = 0x6e, StatusMsg = 0x7d, StatusEnquiryMsg = 0x75, FacilityMsg = 0x62 } |
enum | InformationElementCodes { BearerCapabilityIE = 0x04, CauseIE = 0x08, ChannelIdentificationIE = 0x18, FacilityIE = 0x1c, ProgressIndicatorIE = 0x1e, CallStateIE = 0x14, DisplayIE = 0x28, KeypadIE = 0x2c, SignalIE = 0x34, ConnectedNumberIE = 0x4c, CallingPartyNumberIE = 0x6c, CalledPartyNumberIE = 0x70, RedirectingNumberIE = 0x74, UserUserIE = 0x7e } |
enum | InformationTransferCapability { TransferSpeech, TransferUnrestrictedDigital = 8, TransferRestrictedDigital = 9, Transfer3_1kHzAudio = 16, TrasnferUnrestrictedDigitalWithTones = 17, TransferVideo = 24 } |
enum | CauseValues { UnknownCauseIE = 0, UnallocatedNumber = 1, NoRouteToNetwork = 2, NoRouteToDestination = 3, SendSpecialTone = 4, MisdialledTrunkPrefix = 5, ChannelUnacceptable = 6, NormalCallClearing = 16, UserBusy = 17, NoResponse = 18, NoAnswer = 19, SubscriberAbsent = 20, CallRejected = 21, NumberChanged = 22, Redirection = 23, ExchangeRoutingError = 25, NonSelectedUserClearing = 26, DestinationOutOfOrder = 27, InvalidNumberFormat = 28, FacilityRejected = 29, StatusEnquiryResponse = 30, NormalUnspecified = 31, NoCircuitChannelAvailable = 34, NetworkOutOfOrder = 38, TemporaryFailure = 41, Congestion = 42, RequestedCircuitNotAvailable = 44, ResourceUnavailable = 47, ServiceOptionNotAvailable = 63, InvalidCallReference = 81, ClearedRequestedCallIdentity = 86, IncompatibleDestination = 88, IENonExistantOrNotImplemented = 99, TimerExpiry = 102, ProtocolErrorUnspecified = 111, InterworkingUnspecified = 127, ErrorInCauseIE = 0x100 } |
enum | CallStates { CallState_Null = 0, CallState_CallInitiated = 1, CallState_OverlapSending = 2, CallState_OutgoingCallProceeding = 3, CallState_CallDelivered = 4, CallState_CallPresent = 6, CallState_CallReceived = 7, CallState_ConnectRequest = 8, CallState_IncomingCallProceeding = 9, CallState_Active = 10, CallState_DisconnectRequest = 11, CallState_DisconnectIndication = 12, CallState_SuspendRequest = 15, CallState_ResumeRequest = 17, CallState_ReleaseRequest = 19, CallState_OverlapReceiving = 25, CallState_ErrorInIE = 0x100 } |
enum | SignalInfo { SignalDialToneOn, SignalRingBackToneOn, SignalInterceptToneOn, SignalNetworkCongestionToneOn, SignalBusyToneOn, SignalConfirmToneOn, SignalAnswerToneOn, SignalCallWaitingTone, SignalOffhookWarningTone, SignalPreemptionToneOn, SignalTonesOff = 0x3f, SignalAlertingPattern0 = 0x40, SignalAlertingPattern1, SignalAlertingPattern2, SignalAlertingPattern3, SignalAlertingPattern4, SignalAlertingPattern5, SignalAlertingPattern6, SignalAlertingPattern7, SignalAlertingOff = 0x4f, SignalErrorInIE = 0x100 } |
enum | ProgressIndication { ProgressNotEndToEndISDN = 1, ProgressDestinationNonISDN = 2, ProgressOriginNotISDN = 3, ProgressReturnedToISDN = 4, ProgressServiceChange = 5, ProgressInbandInformationAvailable = 8 } |
enum | NumberingPlanCodes { UnknownPlan = 0x00, ISDNPlan = 0x01, DataPlan = 0x03, TelexPlan = 0x04, NationalStandardPlan = 0x08, PrivatePlan = 0x09, ReservedPlan = 0x0f } |
enum | TypeOfNumberCodes { UnknownType = 0x00, InternationalType = 0x01, NationalType = 0x02, NetworkSpecificType = 0x03, SubscriberType = 0x04, AbbreviatedType = 0x06, ReservedType = 0x07 } |
Public Member Functions | |
Q931 () | |
Q931 (const Q931 &other) | |
Q931 & | operator= (const Q931 &other) |
void | BuildFacility (int callRef, PBoolean fromDest) |
void | BuildInformation (int callRef, PBoolean fromDest) |
void | BuildProgress (int callRef, PBoolean fromDest, unsigned description, unsigned codingStandard=0, unsigned location=0) |
void | BuildNotify (int callRef, PBoolean fromDest) |
void | BuildCallProceeding (int callRef) |
void | BuildSetupAcknowledge (int callRef) |
void | BuildAlerting (int callRef) |
void | BuildSetup (int callRef=-1) |
void | BuildConnect (int callRef) |
void | BuildStatus (int callRef, PBoolean fromDest) |
void | BuildStatusEnquiry (int callRef, PBoolean fromDest) |
void | BuildReleaseComplete (int callRef, PBoolean fromDest) |
PBoolean | Decode (const PBYTEArray &data) |
PBoolean | Encode (PBYTEArray &data) const |
void | PrintOn (ostream &strm) const |
PString | GetMessageTypeName () const |
unsigned | GetCallReference () const |
PBoolean | IsFromDestination () const |
MsgTypes | GetMessageType () const |
PBoolean | HasIE (InformationElementCodes ie) const |
PBYTEArray | GetIE (InformationElementCodes ie, PINDEX idx=0) const |
void | SetIE (InformationElementCodes ie, const PBYTEArray &userData, bool append=FALSE) |
void | RemoveIE (InformationElementCodes ie) |
void | SetBearerCapabilities (InformationTransferCapability capability, unsigned transferRate, unsigned codingStandard=0, unsigned userInfoLayer1=5) |
PBoolean | GetBearerCapabilities (InformationTransferCapability &capability, unsigned &transferRate, unsigned *codingStandard=NULL, unsigned *userInfoLayer1=NULL) |
void | SetCause (CauseValues value, unsigned standard=0, unsigned location=0) |
CauseValues | GetCause (unsigned *standard=NULL, unsigned *location=NULL) const |
void | SetCallState (CallStates value, unsigned standard=0) |
CallStates | GetCallState (unsigned *standard=NULL) const |
void | SetSignalInfo (SignalInfo value) |
SignalInfo | GetSignalInfo () const |
void | SetKeypad (const PString &digits) |
PString | GetKeypad () const |
void | SetProgressIndicator (unsigned description, unsigned codingStandard=0, unsigned location=0) |
PBoolean | GetProgressIndicator (unsigned &description, unsigned *codingStandard=NULL, unsigned *location=NULL) const |
void | SetDisplayName (const PString &name) |
PString | GetDisplayName () const |
void | SetCallingPartyNumber (const PString &number, unsigned plan=1, unsigned type=0, int presentation=-1, int screening=-1) |
PBoolean | GetCallingPartyNumber (PString &number, unsigned *plan=NULL, unsigned *type=NULL, unsigned *presentation=NULL, unsigned *screening=NULL, unsigned defPresentation=0, unsigned defScreening=0) const |
void | SetCalledPartyNumber (const PString &number, unsigned plan=1, unsigned type=0) |
PBoolean | GetCalledPartyNumber (PString &number, unsigned *plan=NULL, unsigned *type=NULL) const |
void | SetRedirectingNumber (const PString &number, unsigned plan=1, unsigned type=0, int presentation=-1, int screening=-1, int reason=-1) |
PBoolean | GetRedirectingNumber (PString &number, unsigned *plan=NULL, unsigned *type=NULL, unsigned *presentation=NULL, unsigned *screening=NULL, unsigned *reason=NULL, unsigned defPresentation=0, unsigned defScreening=0, unsigned defReason=0) const |
void | SetConnectedNumber (const PString &number, unsigned plan=1, unsigned type=0, int presentation=-1, int screening=-1, int reason=-1) |
PBoolean | GetConnectedNumber (PString &number, unsigned *plan=NULL, unsigned *type=NULL, unsigned *presentation=NULL, unsigned *screening=NULL, unsigned *reason=NULL, unsigned defPresentation=0, unsigned defScreening=0, unsigned defReason=0) const |
void | SetChannelIdentification (unsigned interfaceType=0, unsigned preferredOrExclusive=0, int channelNumber=1) |
PBoolean | GetChannelIdentification (unsigned *interfaceType=NULL, unsigned *preferredOrExclusive=NULL, int *channelNumber=NULL) const |
Static Public Member Functions | |
static unsigned | GenerateCallReference () |
Protected Member Functions | |
PARRAY (InternalInformationElement, PBYTEArray) | |
PDICTIONARY (InternalInformationElements, POrdinalKey, InternalInformationElement) | |
Protected Attributes | |
unsigned | callReference |
PBoolean | fromDestination |
unsigned | protocolDiscriminator |
MsgTypes | messageType |
InternalInformationElements | informationElements |
Friends | |
ostream & | operator<< (ostream &strm, InformationElementCodes ie) |
ostream & | operator<< (ostream &strm, CauseValues cause) |
enum Q931::MsgTypes |
enum Q931::CauseValues |
enum Q931::CallStates |
enum Q931::SignalInfo |
Q931::Q931 | ( | ) |
Q931::Q931 | ( | const Q931 & | other | ) |
void Q931::BuildFacility | ( | int | callRef, | |
PBoolean | fromDest | |||
) |
void Q931::BuildInformation | ( | int | callRef, | |
PBoolean | fromDest | |||
) |
void Q931::BuildProgress | ( | int | callRef, | |
PBoolean | fromDest, | |||
unsigned | description, | |||
unsigned | codingStandard = 0 , |
|||
unsigned | location = 0 | |||
) |
void Q931::BuildNotify | ( | int | callRef, | |
PBoolean | fromDest | |||
) |
void Q931::BuildCallProceeding | ( | int | callRef | ) |
void Q931::BuildSetupAcknowledge | ( | int | callRef | ) |
void Q931::BuildAlerting | ( | int | callRef | ) |
void Q931::BuildSetup | ( | int | callRef = -1 |
) |
void Q931::BuildConnect | ( | int | callRef | ) |
void Q931::BuildStatus | ( | int | callRef, | |
PBoolean | fromDest | |||
) |
void Q931::BuildStatusEnquiry | ( | int | callRef, | |
PBoolean | fromDest | |||
) |
void Q931::BuildReleaseComplete | ( | int | callRef, | |
PBoolean | fromDest | |||
) |
PBoolean Q931::Decode | ( | const PBYTEArray & | data | ) |
PBoolean Q931::Encode | ( | PBYTEArray & | data | ) | const |
void Q931::PrintOn | ( | ostream & | strm | ) | const |
PString Q931::GetMessageTypeName | ( | ) | const |
static unsigned Q931::GenerateCallReference | ( | ) | [static] |
unsigned Q931::GetCallReference | ( | ) | const [inline] |
PBoolean Q931::IsFromDestination | ( | ) | const [inline] |
MsgTypes Q931::GetMessageType | ( | ) | const [inline] |
PBoolean Q931::HasIE | ( | InformationElementCodes | ie | ) | const |
PBYTEArray Q931::GetIE | ( | InformationElementCodes | ie, | |
PINDEX | idx = 0 | |||
) | const |
void Q931::SetIE | ( | InformationElementCodes | ie, | |
const PBYTEArray & | userData, | |||
bool | append = FALSE | |||
) |
void Q931::RemoveIE | ( | InformationElementCodes | ie | ) |
void Q931::SetBearerCapabilities | ( | InformationTransferCapability | capability, | |
unsigned | transferRate, | |||
unsigned | codingStandard = 0 , |
|||
unsigned | userInfoLayer1 = 5 | |||
) |
transferRate | Number of 64k B channels |
codingStandard | 0 = ITU-T standardized coding |
userInfoLayer1 | 5 = Recommendations H.221 and H.242 |
PBoolean Q931::GetBearerCapabilities | ( | InformationTransferCapability & | capability, | |
unsigned & | transferRate, | |||
unsigned * | codingStandard = NULL , |
|||
unsigned * | userInfoLayer1 = NULL | |||
) |
transferRate | Number of 64k B channels |
void Q931::SetCause | ( | CauseValues | value, | |
unsigned | standard = 0 , |
|||
unsigned | location = 0 | |||
) |
standard | 0 = ITU-T standardized coding |
location | 0 = User |
CauseValues Q931::GetCause | ( | unsigned * | standard = NULL , |
|
unsigned * | location = NULL | |||
) | const |
standard | 0 = ITU-T standardized coding |
location | 0 = User |
void Q931::SetCallState | ( | CallStates | value, | |
unsigned | standard = 0 | |||
) |
standard | 0 = ITU-T standardized coding |
CallStates Q931::GetCallState | ( | unsigned * | standard = NULL |
) | const |
standard | 0 = ITU-T standardized coding |
void Q931::SetSignalInfo | ( | SignalInfo | value | ) |
SignalInfo Q931::GetSignalInfo | ( | ) | const |
void Q931::SetKeypad | ( | const PString & | digits | ) |
PString Q931::GetKeypad | ( | ) | const |
void Q931::SetProgressIndicator | ( | unsigned | description, | |
unsigned | codingStandard = 0 , |
|||
unsigned | location = 0 | |||
) |
PBoolean Q931::GetProgressIndicator | ( | unsigned & | description, | |
unsigned * | codingStandard = NULL , |
|||
unsigned * | location = NULL | |||
) | const |
void Q931::SetDisplayName | ( | const PString & | name | ) |
PString Q931::GetDisplayName | ( | ) | const |
void Q931::SetCallingPartyNumber | ( | const PString & | number, | |
unsigned | plan = 1 , |
|||
unsigned | type = 0 , |
|||
int | presentation = -1 , |
|||
int | screening = -1 | |||
) |
number | Number string |
plan | 1 = ISDN/Telephony numbering system |
type | 0 = Unknown number type |
presentation | 0 = presentation allowed, -1 = no octet3a |
screening | 0 = user provided, not screened |
PBoolean Q931::GetCallingPartyNumber | ( | PString & | number, | |
unsigned * | plan = NULL , |
|||
unsigned * | type = NULL , |
|||
unsigned * | presentation = NULL , |
|||
unsigned * | screening = NULL , |
|||
unsigned | defPresentation = 0 , |
|||
unsigned | defScreening = 0 | |||
) | const |
number | Number string |
plan | ISDN/Telephony numbering system |
type | Number type |
presentation | Presentation indicator |
screening | Screening indicator |
defPresentation | Default value if octet3a not present |
defScreening | Default value if octet3a not present |
void Q931::SetCalledPartyNumber | ( | const PString & | number, | |
unsigned | plan = 1 , |
|||
unsigned | type = 0 | |||
) |
number | Number string |
plan | 1 = ISDN/Telephony numbering system |
type | 0 = Unknown number type |
PBoolean Q931::GetCalledPartyNumber | ( | PString & | number, | |
unsigned * | plan = NULL , |
|||
unsigned * | type = NULL | |||
) | const |
number | Number string |
plan | ISDN/Telephony numbering system |
type | Number type |
void Q931::SetRedirectingNumber | ( | const PString & | number, | |
unsigned | plan = 1 , |
|||
unsigned | type = 0 , |
|||
int | presentation = -1 , |
|||
int | screening = -1 , |
|||
int | reason = -1 | |||
) |
number | Number string |
plan | 1 = ISDN/Telephony numbering system |
type | 0 = Unknown number type |
presentation | 0 = presentation allowed, -1 = no octet3a |
screening | 0 = user provided, not screened |
reason | 0 = Unknown reason , -1 = no octet 3b |
PBoolean Q931::GetRedirectingNumber | ( | PString & | number, | |
unsigned * | plan = NULL , |
|||
unsigned * | type = NULL , |
|||
unsigned * | presentation = NULL , |
|||
unsigned * | screening = NULL , |
|||
unsigned * | reason = NULL , |
|||
unsigned | defPresentation = 0 , |
|||
unsigned | defScreening = 0 , |
|||
unsigned | defReason = 0 | |||
) | const |
number | Number string |
plan | ISDN/Telephony numbering system |
type | Number type |
presentation | Presentation indicator |
screening | Screening indicator |
reason | Reason for redirection |
defPresentation | Default value if octet3a not present |
defScreening | Default value if octet3a not present |
defReason | Default value if octet 3b not present |
void Q931::SetConnectedNumber | ( | const PString & | number, | |
unsigned | plan = 1 , |
|||
unsigned | type = 0 , |
|||
int | presentation = -1 , |
|||
int | screening = -1 , |
|||
int | reason = -1 | |||
) |
number | Number string |
plan | 1 = ISDN/Telephony numbering system |
type | 0 = Unknown number type |
presentation | 0 = presentation allowed, -1 = no octet3a |
screening | 0 = user provided, not screened |
reason | 0 = Unknown reason , -1 = no octet 3b |
PBoolean Q931::GetConnectedNumber | ( | PString & | number, | |
unsigned * | plan = NULL , |
|||
unsigned * | type = NULL , |
|||
unsigned * | presentation = NULL , |
|||
unsigned * | screening = NULL , |
|||
unsigned * | reason = NULL , |
|||
unsigned | defPresentation = 0 , |
|||
unsigned | defScreening = 0 , |
|||
unsigned | defReason = 0 | |||
) | const |
number | Number string |
plan | ISDN/Telephony numbering system |
type | Number type |
presentation | Presentation indicator |
screening | Screening indicator |
reason | Reason for redirection |
defPresentation | Default value if octet3a not present |
defScreening | Default value if octet3a not present |
defReason | Default value if octet 3b not present |
void Q931::SetChannelIdentification | ( | unsigned | interfaceType = 0 , |
|
unsigned | preferredOrExclusive = 0 , |
|||
int | channelNumber = 1 | |||
) |
Set the limitations to ChannelIdentification.
interfaceType | 0 = basic, 1 = other (e.g. primary) |
preferredOrExclusive | 0 = preferred, 1 = exclusive |
channelNumber | -1 = any, 0 = none/D, 1 = channel 1/B1, etc. 1-15,17-31 |
PBoolean Q931::GetChannelIdentification | ( | unsigned * | interfaceType = NULL , |
|
unsigned * | preferredOrExclusive = NULL , |
|||
int * | channelNumber = NULL | |||
) | const |
Get the limitations to ChannelIdentification.
interfaceType | Interface type |
preferredOrExclusive | Channel negotiation preference |
channelNumber | Channel number |
Q931::PARRAY | ( | InternalInformationElement | , | |
PBYTEArray | ||||
) | [protected] |
Q931::PDICTIONARY | ( | InternalInformationElements | , | |
POrdinalKey | , | |||
InternalInformationElement | ||||
) | [protected] |
ostream& operator<< | ( | ostream & | strm, | |
InformationElementCodes | ie | |||
) | [friend] |
ostream& operator<< | ( | ostream & | strm, | |
CauseValues | cause | |||
) | [friend] |
unsigned Q931::callReference [protected] |
PBoolean Q931::fromDestination [protected] |
unsigned Q931::protocolDiscriminator [protected] |
MsgTypes Q931::messageType [protected] |
InternalInformationElements Q931::informationElements [protected] |