Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

Q931 Class Reference

#include <q931.h>

List of all members.

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,
  TransferUnrestrictedDigitalWithTones = 17, TransferVideo = 24
}
enum  CauseValues {
  UnknownCauseIE = 0, UnallocatedNumber = 1, NoRouteToNetwork = 2, NoRouteToDestination = 3,
  SendSpecialTone = 4, MisdialledTrunkPrefix = 5, ChannelUnacceptable = 6, CallAwarded = 7,
  Preemption = 8, PreemptionCircuitReserved = 9, 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, CallQueued = 35, NetworkOutOfOrder = 38,
  FrameModeOOS = 39, FrameModeOperational = 40, TemporaryFailure = 41, Congestion = 42,
  AccessInformationDiscarded = 43, RequestedCircuitNotAvailable = 44, PrecedenceCallBlocked = 46, ResourceUnavailable = 47,
  QoSNotAvailable = 49, RequestedFacilityNotSubscribed = 50, OutgoingCallsBarred = 52, OutgoingCallsBarredInCUG = 53,
  IncomingCallsBarred = 54, IncomingCallsBarredInCUG = 55, BearerCapNotAuthorised = 57, BearerCapNotPresentlyAvailable = 58,
  InconsistentOutgoingIE = 62, ServiceOptionNotAvailable = 63, BearerCapNotImplemented = 65, ChannelTypeNotImplemented = 66,
  RequestedFacilityNotImplemented = 69, OnlyRestrictedDigitalBearerCapAvailable = 70, ServiceOrOptionNotImplemented = 79, InvalidCallReference = 81,
  IdentifiedChannelNonExistent = 82, CallIdentifyNotSuspendedCall = 83, CallIdentifyInUse = 84, NoCallSuspended = 85,
  ClearedRequestedCallIdentity = 86, UserNotInCUG = 87, IncompatibleDestination = 88, NonexistentCUG = 90,
  InvalidTransitNetwork = 91, InvalidMessageUnspecified = 95, MandatoryIEMissing = 96, MessageTypeNonexistent = 97,
  MessageNotCompatible = 98, IENonExistantOrNotImplemented = 99, InvalidIEContents = 100, MessageNotCompatibleWithCallState = 101,
  TimerExpiry = 102, ParameterNonexistent = 103, UnrecognisedParamaterDiscarded = 110, 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)
Q931operator= (const Q931 &other)
void BuildFacility (int callRef, BOOL fromDest)
void BuildInformation (int callRef, BOOL fromDest)
void BuildProgress (int callRef, BOOL fromDest, unsigned description, unsigned codingStandard=0, unsigned location=0)
void BuildNotify (int callRef, BOOL fromDest)
void BuildCallProceeding (int callRef)
void BuildSetupAcknowledge (int callRef)
void BuildAlerting (int callRef)
void BuildSetup (int callRef=-1)
void BuildConnect (int callRef)
void BuildConnectAck (int callRef, BOOL fromDest)
void BuildStatus (int callRef, BOOL fromDest)
void BuildStatusEnquiry (int callRef, BOOL fromDest)
void BuildReleaseComplete (int callRef, BOOL fromDest)
BOOL Decode (const PBYTEArray &data)
BOOL Encode (PBYTEArray &data) const
void PrintOn (ostream &strm) const
PString GetMessageTypeName () const
unsigned GetCallReference () const
BOOL IsFromDestination () const
MsgTypes GetMessageType () const
BOOL HasIE (InformationElementCodes ie) const
PBYTEArray GetIE (InformationElementCodes ie) const
void SetIE (InformationElementCodes ie, const PBYTEArray &userData)
void RemoveIE (InformationElementCodes ie)
void SetBearerCapabilities (InformationTransferCapability capability, unsigned transferRate, unsigned codingStandard=0, unsigned userInfoLayer1=5)
BOOL 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)
BOOL 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)
BOOL 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)
BOOL 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)
BOOL 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)
BOOL 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)
BOOL GetChannelIdentification (unsigned *interfaceType=NULL, unsigned *preferredOrExclusive=NULL, int *channelNumber=NULL) const

Static Public Member Functions

static unsigned GenerateCallReference ()

Protected Member Functions

 PDICTIONARY (InternalInformationElements, POrdinalKey, PBYTEArray)

Protected Attributes

unsigned callReference
BOOL fromDestination
unsigned protocolDiscriminator
MsgTypes messageType
InternalInformationElements informationElements

Friends

ostream & operator<< (ostream &strm, InformationElementCodes ie)
ostream & operator<< (ostream &strm, CauseValues cause)


Detailed Description

This class embodies a Q.931 Protocol Data Unit.


Member Enumeration Documentation

enum Q931::CallStates
 

Enumeration values:
CallState_Null 
CallState_CallInitiated 
CallState_OverlapSending 
CallState_OutgoingCallProceeding 
CallState_CallDelivered 
CallState_CallPresent 
CallState_CallReceived 
CallState_ConnectRequest 
CallState_IncomingCallProceeding 
CallState_Active 
CallState_DisconnectRequest 
CallState_DisconnectIndication 
CallState_SuspendRequest 
CallState_ResumeRequest 
CallState_ReleaseRequest 
CallState_OverlapReceiving 
CallState_ErrorInIE 

enum Q931::CauseValues
 

Enumeration values:
UnknownCauseIE 
UnallocatedNumber 
NoRouteToNetwork 
NoRouteToDestination 
SendSpecialTone 
MisdialledTrunkPrefix 
ChannelUnacceptable 
CallAwarded 
Preemption 
PreemptionCircuitReserved 
NormalCallClearing 
UserBusy 
NoResponse 
NoAnswer 
SubscriberAbsent 
CallRejected 
NumberChanged 
Redirection 
ExchangeRoutingError 
NonSelectedUserClearing 
DestinationOutOfOrder 
InvalidNumberFormat 
FacilityRejected 
StatusEnquiryResponse 
NormalUnspecified 
NoCircuitChannelAvailable 
CallQueued 
NetworkOutOfOrder 
FrameModeOOS 
FrameModeOperational 
TemporaryFailure 
Congestion 
AccessInformationDiscarded 
RequestedCircuitNotAvailable 
PrecedenceCallBlocked 
ResourceUnavailable 
QoSNotAvailable 
RequestedFacilityNotSubscribed 
OutgoingCallsBarred 
OutgoingCallsBarredInCUG 
IncomingCallsBarred 
IncomingCallsBarredInCUG 
BearerCapNotAuthorised 
BearerCapNotPresentlyAvailable 
InconsistentOutgoingIE 
ServiceOptionNotAvailable 
BearerCapNotImplemented 
ChannelTypeNotImplemented 
RequestedFacilityNotImplemented 
OnlyRestrictedDigitalBearerCapAvailable 
ServiceOrOptionNotImplemented 
InvalidCallReference 
IdentifiedChannelNonExistent 
CallIdentifyNotSuspendedCall 
CallIdentifyInUse 
NoCallSuspended 
ClearedRequestedCallIdentity 
UserNotInCUG 
IncompatibleDestination 
NonexistentCUG 
InvalidTransitNetwork 
InvalidMessageUnspecified 
MandatoryIEMissing 
MessageTypeNonexistent 
MessageNotCompatible 
IENonExistantOrNotImplemented 
InvalidIEContents 
MessageNotCompatibleWithCallState 
TimerExpiry 
ParameterNonexistent 
UnrecognisedParamaterDiscarded 
ProtocolErrorUnspecified 
InterworkingUnspecified 
ErrorInCauseIE 

enum Q931::InformationElementCodes
 

Enumeration values:
BearerCapabilityIE 
CauseIE 
ChannelIdentificationIE 
FacilityIE 
ProgressIndicatorIE 
CallStateIE 
DisplayIE 
KeypadIE 
SignalIE 
ConnectedNumberIE 
CallingPartyNumberIE 
CalledPartyNumberIE 
RedirectingNumberIE 
UserUserIE 

enum Q931::InformationTransferCapability
 

Enumeration values:
TransferSpeech 
TransferUnrestrictedDigital 
TransferRestrictedDigital 
Transfer3_1kHzAudio 
TransferUnrestrictedDigitalWithTones 
TransferVideo 

enum Q931::MsgTypes
 

Enumeration values:
NationalEscapeMsg 
AlertingMsg 
CallProceedingMsg 
ConnectMsg 
ConnectAckMsg 
ProgressMsg 
SetupMsg 
SetupAckMsg 
ResumeMsg 
ResumeAckMsg 
ResumeRejectMsg 
SuspendMsg 
SuspendAckMsg 
SuspendRejectMsg 
UserInformationMsg 
DisconnectMsg 
ReleaseMsg 
ReleaseCompleteMsg 
RestartMsg 
RestartAckMsg 
SegmentMsg 
CongestionCtrlMsg 
InformationMsg 
NotifyMsg 
StatusMsg 
StatusEnquiryMsg 
FacilityMsg 

enum Q931::NumberingPlanCodes
 

Enumeration values:
UnknownPlan 
ISDNPlan 
DataPlan 
TelexPlan 
NationalStandardPlan 
PrivatePlan 
ReservedPlan 

enum Q931::ProgressIndication
 

Enumeration values:
ProgressNotEndToEndISDN 
ProgressDestinationNonISDN 
ProgressOriginNotISDN 
ProgressReturnedToISDN 
ProgressServiceChange 
ProgressInbandInformationAvailable 

enum Q931::SignalInfo
 

Enumeration values:
SignalDialToneOn 
SignalRingBackToneOn 
SignalInterceptToneOn 
SignalNetworkCongestionToneOn 
SignalBusyToneOn 
SignalConfirmToneOn 
SignalAnswerToneOn 
SignalCallWaitingTone 
SignalOffhookWarningTone 
SignalPreemptionToneOn 
SignalTonesOff 
SignalAlertingPattern0 
SignalAlertingPattern1 
SignalAlertingPattern2 
SignalAlertingPattern3 
SignalAlertingPattern4 
SignalAlertingPattern5 
SignalAlertingPattern6 
SignalAlertingPattern7 
SignalAlertingOff 
SignalErrorInIE 

enum Q931::TypeOfNumberCodes
 

Enumeration values:
UnknownType 
InternationalType 
NationalType 
NetworkSpecificType 
SubscriberType 
AbbreviatedType 
ReservedType 


Constructor & Destructor Documentation

Q931::Q931  ) 
 

Q931::Q931 const Q931 other  ) 
 


Member Function Documentation

void Q931::BuildAlerting int  callRef  ) 
 

void Q931::BuildCallProceeding int  callRef  ) 
 

void Q931::BuildConnect int  callRef  ) 
 

void Q931::BuildConnectAck int  callRef,
BOOL  fromDest
 

void Q931::BuildFacility int  callRef,
BOOL  fromDest
 

void Q931::BuildInformation int  callRef,
BOOL  fromDest
 

void Q931::BuildNotify int  callRef,
BOOL  fromDest
 

void Q931::BuildProgress int  callRef,
BOOL  fromDest,
unsigned  description,
unsigned  codingStandard = 0,
unsigned  location = 0
 

void Q931::BuildReleaseComplete int  callRef,
BOOL  fromDest
 

void Q931::BuildSetup int  callRef = -1  ) 
 

void Q931::BuildSetupAcknowledge int  callRef  ) 
 

void Q931::BuildStatus int  callRef,
BOOL  fromDest
 

void Q931::BuildStatusEnquiry int  callRef,
BOOL  fromDest
 

BOOL Q931::Decode const PBYTEArray &  data  ) 
 

BOOL Q931::Encode PBYTEArray &  data  )  const
 

static unsigned Q931::GenerateCallReference  )  [static]
 

BOOL Q931::GetBearerCapabilities InformationTransferCapability capability,
unsigned &  transferRate,
unsigned *  codingStandard = NULL,
unsigned *  userInfoLayer1 = NULL
 

BOOL Q931::GetCalledPartyNumber PString &  number,
unsigned *  plan = NULL,
unsigned *  type = NULL
const
 

BOOL Q931::GetCallingPartyNumber PString &  number,
unsigned *  plan = NULL,
unsigned *  type = NULL,
unsigned *  presentation = NULL,
unsigned *  screening = NULL,
unsigned  defPresentation = 0,
unsigned  defScreening = 0
const
 

unsigned Q931::GetCallReference  )  const [inline]
 

CallStates Q931::GetCallState unsigned *  standard = NULL  )  const
 

CauseValues Q931::GetCause unsigned *  standard = NULL,
unsigned *  location = NULL
const
 

BOOL Q931::GetChannelIdentification unsigned *  interfaceType = NULL,
unsigned *  preferredOrExclusive = NULL,
int *  channelNumber = NULL
const
 

Get the limitations to ChannelIdentification.

BOOL 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
 

PString Q931::GetDisplayName  )  const
 

PBYTEArray Q931::GetIE InformationElementCodes  ie  )  const
 

PString Q931::GetKeypad  )  const
 

MsgTypes Q931::GetMessageType  )  const [inline]
 

PString Q931::GetMessageTypeName  )  const
 

BOOL Q931::GetProgressIndicator unsigned &  description,
unsigned *  codingStandard = NULL,
unsigned *  location = NULL
const
 

BOOL 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
 

SignalInfo Q931::GetSignalInfo  )  const
 

BOOL Q931::HasIE InformationElementCodes  ie  )  const
 

BOOL Q931::IsFromDestination  )  const [inline]
 

Q931& Q931::operator= const Q931 other  ) 
 

Q931::PDICTIONARY InternalInformationElements  ,
POrdinalKey  ,
PBYTEArray 
[protected]
 

void Q931::PrintOn ostream &  strm  )  const
 

void Q931::RemoveIE InformationElementCodes  ie  ) 
 

void Q931::SetBearerCapabilities InformationTransferCapability  capability,
unsigned  transferRate,
unsigned  codingStandard = 0,
unsigned  userInfoLayer1 = 5
 

void Q931::SetCalledPartyNumber const PString &  number,
unsigned  plan = 1,
unsigned  type = 0
 

void Q931::SetCallingPartyNumber const PString &  number,
unsigned  plan = 1,
unsigned  type = 0,
int  presentation = -1,
int  screening = -1
 

void Q931::SetCallState CallStates  value,
unsigned  standard = 0
 

void Q931::SetCause CauseValues  value,
unsigned  standard = 0,
unsigned  location = 0
 

void Q931::SetChannelIdentification unsigned  interfaceType = 0,
unsigned  preferredOrExclusive = 0,
int  channelNumber = 1
 

Set the limitations to ChannelIdentification.

  • the interface identifier cannot be specified
  • channel in PRI can only be indicated by number and cannot be indicated by map
  • one and only one channel can be indicated
  • the coding standard is always ITU Q.931

void Q931::SetConnectedNumber const PString &  number,
unsigned  plan = 1,
unsigned  type = 0,
int  presentation = -1,
int  screening = -1,
int  reason = -1
 

void Q931::SetDisplayName const PString &  name  ) 
 

void Q931::SetIE InformationElementCodes  ie,
const PBYTEArray &  userData
 

void Q931::SetKeypad const PString &  digits  ) 
 

void Q931::SetProgressIndicator unsigned  description,
unsigned  codingStandard = 0,
unsigned  location = 0
 

void Q931::SetRedirectingNumber const PString &  number,
unsigned  plan = 1,
unsigned  type = 0,
int  presentation = -1,
int  screening = -1,
int  reason = -1
 

void Q931::SetSignalInfo SignalInfo  value  ) 
 


Friends And Related Function Documentation

ostream& operator<< ostream &  strm,
CauseValues  cause
[friend]
 

ostream& operator<< ostream &  strm,
InformationElementCodes  ie
[friend]
 


Member Data Documentation

unsigned Q931::callReference [protected]
 

BOOL Q931::fromDestination [protected]
 

InternalInformationElements Q931::informationElements [protected]
 

MsgTypes Q931::messageType [protected]
 

unsigned Q931::protocolDiscriminator [protected]
 


The documentation for this class was generated from the following file:
Generated on Sat Mar 5 15:00:03 2005 for OpenH323 by  doxygen 1.4.1