# Q931 Class Reference

`#include <q931.h>`

## Public Types

| 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
| 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
| TransferSpeech
| TransferUnrestrictedDigital = 8
| TransferRestrictedDigital = 9
| Transfer3_1kHzAudio = 16
| TrasnferUnrestrictedDigitalWithTones = 17
| TransferVideo = 24
| 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
| 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
| 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
| ProgressNotEndToEndISDN = 1
| ProgressDestinationNonISDN = 2
| ProgressOriginNotISDN = 3
| ProgressReturnedToISDN = 4
| ProgressServiceChange = 5
| ProgressInbandInformationAvailable = 8
| UnknownPlan = 0x00
| ISDNPlan = 0x01
| DataPlan = 0x03
| TelexPlan = 0x04
| NationalStandardPlan = 0x08
| PrivatePlan = 0x09
| ReservedPlan = 0x0f
| UnknownType = 0x00
| InternationalType = 0x01
| NationalType = 0x02
| NetworkSpecificType = 0x03
| SubscriberType = 0x04
| AbbreviatedType = 0x06
| ReservedType = 0x07

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)
void | SetBearerCapabilities (const PString &caps)
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)

## Detailed Description

This class embodies a Q.931 Protocol Data Unit.

## Member Enumeration Documentation

enum Q931::CallStates

Enumerator:

  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

Enumerator:

  UnknownCauseIE |
  UnallocatedNumber |
  NoRouteToNetwork |
  NoRouteToDestination |
  SendSpecialTone |
  MisdialledTrunkPrefix |
  ChannelUnacceptable |
  NormalCallClearing |
  UserBusy |
  NoResponse |
  NoAnswer |
  SubscriberAbsent |
  CallRejected |
  NumberChanged |
  Redirection |
  ExchangeRoutingError |
  NonSelectedUserClearing |
  DestinationOutOfOrder |
  InvalidNumberFormat |
  FacilityRejected |
  StatusEnquiryResponse |
  NormalUnspecified |
  NoCircuitChannelAvailable |
  NetworkOutOfOrder |
  TemporaryFailure |
  Congestion |
  RequestedCircuitNotAvailable |
  ResourceUnavailable |
  ServiceOptionNotAvailable |
  InvalidCallReference |
  ClearedRequestedCallIdentity |
  IncompatibleDestination |
  IENonExistantOrNotImplemented |
  TimerExpiry |
  ProtocolErrorUnspecified |
  InterworkingUnspecified |
  ErrorInCauseIE |

enum Q931::InformationElementCodes

Enumerator:

  BearerCapabilityIE |
  CauseIE |
  ChannelIdentificationIE |
  FacilityIE |
  ProgressIndicatorIE |
  CallStateIE |
  DisplayIE |
  KeypadIE |
  SignalIE |
  ConnectedNumberIE |
  CallingPartyNumberIE |
  CalledPartyNumberIE |
  RedirectingNumberIE |
  UserUserIE |

enum Q931::InformationTransferCapability

Enumerator:

  TransferSpeech |
  TransferUnrestrictedDigital |
  TransferRestrictedDigital |
  Transfer3_1kHzAudio |
  TrasnferUnrestrictedDigitalWithTones |
  TransferVideo |

enum Q931::MsgTypes

Enumerator:

  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

Enumerator:

  UnknownPlan |
  ISDNPlan |
  DataPlan |
  TelexPlan |
  NationalStandardPlan |
  PrivatePlan |
  ReservedPlan |

enum Q931::ProgressIndication

Enumerator:

  ProgressNotEndToEndISDN |
  ProgressDestinationNonISDN |
  ProgressOriginNotISDN |
  ProgressReturnedToISDN |
  ProgressServiceChange |
  ProgressInbandInformationAvailable |

enum Q931::SignalInfo

Enumerator:

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

enum Q931::TypeOfNumberCodes

Enumerator:

  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::BuildFacility | ( | int | callRef,
|  | PBoolean | fromDest |
| ) |  |  |

void Q931::BuildInformation | ( | int | callRef,
|  | PBoolean | fromDest |
| ) |  |  |

void Q931::BuildNotify | ( | int | callRef,
|  | PBoolean | fromDest |
| ) |  |  |

void Q931::BuildProgress | ( | int | callRef,
|  | PBoolean | fromDest,
|  | unsigned | description,
|  | unsigned | codingStandard = `0`,
|  | unsigned | location = `0` |
| ) |  |  |

void Q931::BuildReleaseComplete | ( | int | callRef,
|  | PBoolean | fromDest |
| ) |  |  |

void Q931::BuildSetup | ( | int | callRef = `-1` | ) |

void Q931::BuildSetupAcknowledge | ( | int | callRef | ) |

void Q931::BuildStatus | ( | int | callRef,
|  | PBoolean | fromDest |
| ) |  |  |

void Q931::BuildStatusEnquiry | ( | int | callRef,
|  | PBoolean | fromDest |
| ) |  |  |

PBoolean Q931::Decode | ( | const PBYTEArray & | data | ) |

PBoolean Q931::Encode | ( | PBYTEArray & | data | ) | const

static unsigned Q931::GenerateCallReference | ( |  | ) | `[static]`

PBoolean Q931::GetBearerCapabilities | ( | InformationTransferCapability & | capability,
|  | unsigned & | transferRate,
|  | unsigned * | codingStandard = `NULL`,
|  | unsigned * | userInfoLayer1 = `NULL` |
| ) |  |  |

Parameters:

  capability | Bearer cability enum
  transferRate | Number of 64k B channels
  codingStandard | 0 = ITU-T standardized coding
  userInfoLayer1 | 5 = Recommendations H.221 and H.242

PBoolean Q931::GetCalledPartyNumber | ( | PString & | number,
|  | unsigned * | plan = `NULL`,
|  | unsigned * | type = `NULL` |
| ) |  |  | const

Parameters:

  number | Number string
  plan | ISDN/Telephony numbering system
  type | Number type

PBoolean Q931::GetCallingPartyNumber | ( | PString & | number,
|  | unsigned * | plan = `NULL`,
|  | unsigned * | type = `NULL`,
|  | unsigned * | presentation = `NULL`,
|  | unsigned * | screening = `NULL`,
|  | unsigned | defPresentation = `0`,
|  | unsigned | defScreening = `0` |
| ) |  |  | const

Parameters:

  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

unsigned Q931::GetCallReference | ( |  | ) | const`[inline]`

CallStates Q931::GetCallState | ( | unsigned * | standard = `NULL` | ) | const

Parameters:

  standard | 0 = ITU-T standardized coding

CauseValues Q931::GetCause | ( | unsigned * | standard = `NULL`,
|  | unsigned * | location = `NULL` |
| ) |  |  | const

Parameters:

  standard | 0 = ITU-T standardized coding
  location | 0 = User

PBoolean Q931::GetChannelIdentification | ( | unsigned * | interfaceType = `NULL`,
|  | unsigned * | preferredOrExclusive = `NULL`,
|  | int * | channelNumber = `NULL` |
| ) |  |  | const

Get the limitations to ChannelIdentification.

Parameters:

  interfaceType | Interface type
  preferredOrExclusive | Channel negotiation preference
  channelNumber | Channel number

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

Parameters:

  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

PString Q931::GetDisplayName | ( |  | ) | const

PBYTEArray Q931::GetIE | ( | InformationElementCodes | ie,
|  | PINDEX | idx = `0` |
| ) |  |  | const

PString Q931::GetKeypad | ( |  | ) | const

MsgTypes Q931::GetMessageType | ( |  | ) | const`[inline]`

PString Q931::GetMessageTypeName | ( |  | ) | const

PBoolean Q931::GetProgressIndicator | ( | unsigned & | description,
|  | unsigned * | codingStandard = `NULL`,
|  | unsigned * | location = `NULL` |
| ) |  |  | const

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

Parameters:

  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

SignalInfo Q931::GetSignalInfo | ( |  | ) | const

PBoolean Q931::HasIE | ( | InformationElementCodes | ie | ) | const

PBoolean Q931::IsFromDestination | ( |  | ) | const`[inline]`

Q931& Q931::operator= | ( | const Q931 & | other | ) |

Q931::PARRAY | ( | InternalInformationElement | ,
|  | PBYTEArray |  |
| ) |  |  | `[protected]`

Q931::PDICTIONARY | ( | InternalInformationElements | ,
|  | POrdinalKey | ,
|  | InternalInformationElement |  |
| ) |  |  | `[protected]`

void Q931::PrintOn | ( | ostream & | strm | ) | const

void Q931::RemoveIE | ( | InformationElementCodes | ie | ) |

void Q931::SetBearerCapabilities | ( | const PString & | caps | ) |

Parameters:

  caps | String of comma separated integers or hex for all cap bytes

void Q931::SetBearerCapabilities | ( | InformationTransferCapability | capability,
|  | unsigned | transferRate,
|  | unsigned | codingStandard = `0`,
|  | unsigned | userInfoLayer1 = `5` |
| ) |  |  |

Parameters:

  capability | Bearer cability enum
  transferRate | Number of 64k B channels
  codingStandard | 0 = ITU-T standardized coding
  userInfoLayer1 | 5 = Recommendations H.221 and H.242

void Q931::SetCalledPartyNumber | ( | const PString & | number,
|  | unsigned | plan = `1`,
|  | unsigned | type = `0` |
| ) |  |  |

Parameters:

  number | Number string
  plan | 1 = ISDN/Telephony numbering system
  type | 0 = Unknown number type

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

Parameters:

  number | Number string
  plan | 1 = ISDN/Telephony numbering system, see Q.931 Table 4-11 for more
  type | 0 = Unknown number type
  presentation | 0 = presentation allowed, 1 = presentation restricted, -1 = no octet3a
  screening | 0 = user provided, not screened, -1 = no octet3a

void Q931::SetCallState | ( | CallStates | value,
|  | unsigned | standard = `0` |
| ) |  |  |

Parameters:

  value | Call state code
  standard | 0 = ITU-T standardized coding

void Q931::SetCause | ( | CauseValues | value,
|  | unsigned | standard = `0`,
|  | unsigned | location = `0` |
| ) |  |  |

Parameters:

  value | Cause code
  standard | 0 = ITU-T standardized coding
  location | 0 = User

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

Parameters:

  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

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

Parameters:

  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

void Q931::SetDisplayName | ( | const PString & | name | ) |

void Q931::SetIE | ( | InformationElementCodes | ie,
|  | const PBYTEArray & | userData,
|  | bool | append = `FALSE` |
| ) |  |  |

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` |
| ) |  |  |

Parameters:

  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

void Q931::SetSignalInfo | ( | SignalInfo | value | ) |

## Friends And Related Function Documentation

ostream& operator<< | ( | ostream & | strm,
|  | CauseValues | cause |
| ) |  |  | `[friend]`

ostream& operator<< | ( | ostream & | strm,
|  | InformationElementCodes | ie |
| ) |  |  | `[friend]`

## Field Documentation

unsigned Q931::callReference `[protected]`

PBoolean 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:

- q931.h