h323pdu.h
Go to the documentation of this file.
/*
* h323pdu.h
*
* H.323 protocol handler
*
* Open H323 Library
*
* Copyright (c) 1998-2001 Equivalence Pty. 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 H323 Library.
*
* The Initial Developer of the Original Code is Equivalence Pty. Ltd.
*
* Portions of this code were written with the assisance of funding from
* Vovida Networks, Inc. http://www.vovida.com.
*
* Contributor(s): ______________________________________.
*
* $Revision: 27367 $
* $Author: rjongbloed $
* $Date: 2012-03-29 02:32:25 -0500 (Thu, 29 Mar 2012) $
*/
#ifndef OPAL_H323_H323PDU_H
#define OPAL_H323_H323PDU_H
#ifdef P_USE_PRAGMA
#pragma interface
#endif
#include <opal/buildopts.h>
#if OPAL_H323
#include <ptlib/sockets.h>
#include <h323/h323con.h>
#include <h323/transaddr.h>
#include <h323/q931.h>
#include <h323/h235auth.h>
#include <h323/h323trans.h>
#include <rtp/rtp.h>
#include <asn/h225.h>
#include <asn/h245.h>
class H323Connection;
class H323TransportAddress;
class H225_RAS;
class OpalGloballyUniqueID;
#define H225_PROTOCOL_VERSION 6
#define H245_PROTOCOL_VERSION 13
class H323SignalPDU : public H225_H323_UserInformation
{
PCLASSINFO(H323SignalPDU, H225_H323_UserInformation);
public:
H323SignalPDU();
H225_Setup_UUIE & BuildSetup(
const H323Connection & connection,
const H323TransportAddress & destAddr
);
H225_CallProceeding_UUIE & BuildCallProceeding(
const H323Connection & connection
);
H225_Connect_UUIE & BuildConnect(
const H323Connection & connection
);
H225_Connect_UUIE & BuildConnect(
const H323Connection & connection,
const PIPSocket::Address & h245Address,
WORD port
);
H225_Alerting_UUIE & BuildAlerting(
const H323Connection & connection
);
H225_Information_UUIE & BuildInformation(
const H323Connection & connection
);
H225_ReleaseComplete_UUIE & BuildReleaseComplete(
const H323Connection & connection
);
H225_Facility_UUIE * BuildFacility(
const H323Connection & connection,
bool empty,
unsigned reason = H225_FacilityReason::e_undefinedReason
);
H225_Progress_UUIE & BuildProgress(
const H323Connection & connection
);
H225_Status_UUIE & BuildStatus(
const H323Connection & connection
);
H225_StatusInquiry_UUIE & BuildStatusInquiry(
const H323Connection & connection
);
H225_SetupAcknowledge_UUIE & BuildSetupAcknowledge(
const H323Connection & connection
);
H225_Notify_UUIE & BuildNotify(
const H323Connection & connection
);
void PrintOn(
ostream & strm
) const;
PBoolean Read(
H323Transport & transport
);
PBoolean Write(
H323Transport & transport
);
const Q931 & GetQ931() const { return q931pdu; }
Q931 & GetQ931() { return q931pdu; }
void SetQ931(const Q931 & _q931pdu) { q931pdu = _q931pdu; }
void BuildQ931();
PString GetSourceAliases(
const H323Transport * transport = NULL
) const;
PString GetDestinationAlias(
PBoolean firstAliasOnly = false
) const;
PBoolean GetSourceE164(
PString & number
) const;
PBoolean GetDestinationE164(
PString & number
) const;
unsigned GetDistinctiveRing() const;
void SetQ931Fields(
const H323Connection & connection,
bool insertPartyNumbers = false
);
#ifdef OPAL_H460
void InsertH460Setup(
const H323Connection & connection,
H225_Setup_UUIE & setup
);
#endif
protected:
// Even though we generally deal with the H323 protocol (H225) it is
// actually contained within a field of the Q931 protocol.
Q931 q931pdu;
};
class H323ControlPDU : public H245_MultimediaSystemControlMessage
{
PCLASSINFO(H323ControlPDU, H245_MultimediaSystemControlMessage);
public:
H245_RequestMessage & Build(H245_RequestMessage ::Choices request);
H245_ResponseMessage & Build(H245_ResponseMessage ::Choices response);
H245_CommandMessage & Build(H245_CommandMessage ::Choices command);
H245_IndicationMessage & Build(H245_IndicationMessage::Choices indication);
H245_MasterSlaveDetermination & BuildMasterSlaveDetermination(
unsigned terminalType,
unsigned statusDeterminationNumber
);
H245_MasterSlaveDeterminationAck & BuildMasterSlaveDeterminationAck(
PBoolean isMaster
);
H245_MasterSlaveDeterminationReject & BuildMasterSlaveDeterminationReject(
unsigned cause
);
H245_TerminalCapabilitySet & BuildTerminalCapabilitySet(
const H323Connection & connection,
unsigned sequenceNumber,
PBoolean empty
);
H245_TerminalCapabilitySetAck & BuildTerminalCapabilitySetAck(
unsigned sequenceNumber
);
H245_TerminalCapabilitySetReject & BuildTerminalCapabilitySetReject(
unsigned sequenceNumber,
unsigned cause
);
H245_OpenLogicalChannel & BuildOpenLogicalChannel(
unsigned forwardLogicalChannelNumber
);
H245_RequestChannelClose & BuildRequestChannelClose(
unsigned channelNumber,
unsigned reason
);
H245_CloseLogicalChannel & BuildCloseLogicalChannel(
unsigned channelNumber
);
H245_OpenLogicalChannelAck & BuildOpenLogicalChannelAck(
unsigned channelNumber
);
H245_OpenLogicalChannelReject & BuildOpenLogicalChannelReject(
unsigned channelNumber,
unsigned cause
);
H245_OpenLogicalChannelConfirm & BuildOpenLogicalChannelConfirm(
unsigned channelNumber
);
H245_CloseLogicalChannelAck & BuildCloseLogicalChannelAck(
unsigned channelNumber
);
H245_RequestChannelCloseAck & BuildRequestChannelCloseAck(
unsigned channelNumber
);
H245_RequestChannelCloseReject & BuildRequestChannelCloseReject(
unsigned channelNumber
);
H245_RequestChannelCloseRelease & BuildRequestChannelCloseRelease(
unsigned channelNumber
);
H245_RequestMode & BuildRequestMode(
unsigned sequenceNumber
);
H245_RequestModeAck & BuildRequestModeAck(
unsigned sequenceNumber,
unsigned response
);
H245_RequestModeReject & BuildRequestModeReject(
unsigned sequenceNumber,
unsigned cause
);
H245_RoundTripDelayRequest & BuildRoundTripDelayRequest(
unsigned sequenceNumber
);
H245_RoundTripDelayResponse & BuildRoundTripDelayResponse(
unsigned sequenceNumber
);
H245_UserInputIndication & BuildUserInputIndication(
const PString & value
);
H245_UserInputIndication & BuildUserInputIndication(
char tone,
unsigned duration,
unsigned logicalChannel,
unsigned rtpTimestamp
);
H245_MiscellaneousCommand & BuildMiscellaneousCommand(
unsigned channelNumber,
unsigned type
);
H245_FlowControlCommand & BuildFlowControlCommand(
unsigned channelNumber,
unsigned maxBitRate
);
H245_MiscellaneousIndication & BuildMiscellaneousIndication(
unsigned channelNumber,
unsigned type
);
H245_GenericMessage & BuildGenericRequest(
const PString & identifier,
unsigned subMsgId
);
H245_GenericMessage & BuildGenericResponse(
const PString & identifier,
unsigned subMsgId
);
H245_GenericMessage & BuildGenericCommand(
const PString & identifier,
unsigned subMsgId
);
H245_GenericMessage & BuildGenericIndication(
const PString & identifier,
unsigned subMsgId
);
H245_FunctionNotUnderstood & BuildFunctionNotUnderstood(
const H323ControlPDU & pdu
);
H245_EndSessionCommand & BuildEndSessionCommand(
unsigned reason
);
};
class H323RasPDU : public H225_RasMessage, public H323TransactionPDU
{
PCLASSINFO(H323RasPDU, H225_RasMessage);
public:
H323RasPDU();
H323RasPDU(
const H235Authenticators & authenticators
);
// overrides from PObject
virtual PObject * Clone() const;
// overrides from H323TransactionPDU
virtual PASN_Object & GetPDU();
virtual PASN_Choice & GetChoice();
virtual const PASN_Object & GetPDU() const;
virtual const PASN_Choice & GetChoice() const;
virtual unsigned GetSequenceNumber() const;
virtual unsigned GetRequestInProgressDelay() const;
#if PTRACING
virtual const char * GetProtocolName() const;
#endif
virtual H323TransactionPDU * ClonePDU() const;
virtual void DeletePDU();
// new functions
H225_GatekeeperRequest & BuildGatekeeperRequest(unsigned seqNum);
H225_GatekeeperConfirm & BuildGatekeeperConfirm(unsigned seqNum);
H225_GatekeeperReject & BuildGatekeeperReject(unsigned seqNum, unsigned reason = H225_GatekeeperRejectReason::e_undefinedReason);
H225_RegistrationRequest & BuildRegistrationRequest(unsigned seqNum);
H225_RegistrationConfirm & BuildRegistrationConfirm(unsigned seqNum);
H225_RegistrationReject & BuildRegistrationReject(unsigned seqNum, unsigned reason = H225_RegistrationRejectReason::e_undefinedReason);
H225_UnregistrationRequest & BuildUnregistrationRequest(unsigned seqNum);
H225_UnregistrationConfirm & BuildUnregistrationConfirm(unsigned seqNum);
H225_UnregistrationReject & BuildUnregistrationReject(unsigned seqNum, unsigned reason = H225_UnregRejectReason::e_undefinedReason);
H225_LocationRequest & BuildLocationRequest(unsigned seqNum);
H225_LocationConfirm & BuildLocationConfirm(unsigned seqNum);
H225_LocationReject & BuildLocationReject(unsigned seqNum, unsigned reason = H225_LocationRejectReason::e_undefinedReason);
H225_AdmissionRequest & BuildAdmissionRequest(unsigned seqNum);
H225_AdmissionConfirm & BuildAdmissionConfirm(unsigned seqNum);
H225_AdmissionReject & BuildAdmissionReject(unsigned seqNum, unsigned reason = H225_AdmissionRejectReason::e_undefinedReason);
H225_DisengageRequest & BuildDisengageRequest(unsigned seqNum);
H225_DisengageConfirm & BuildDisengageConfirm(unsigned seqNum);
H225_DisengageReject & BuildDisengageReject(unsigned seqNum, unsigned reason = H225_DisengageRejectReason::e_securityDenial);
H225_BandwidthRequest & BuildBandwidthRequest(unsigned seqNum);
H225_BandwidthConfirm & BuildBandwidthConfirm(unsigned seqNum, unsigned bandwidth = 0);
H225_BandwidthReject & BuildBandwidthReject(unsigned seqNum, unsigned reason = H225_BandRejectReason::e_undefinedReason);
H225_InfoRequest & BuildInfoRequest(unsigned seqNum, unsigned callRef = 0, const OpalGloballyUniqueID * id = NULL);
H225_InfoRequestResponse & BuildInfoRequestResponse(unsigned seqNum);
H225_InfoRequestAck & BuildInfoRequestAck(unsigned seqNum);
H225_InfoRequestNak & BuildInfoRequestNak(unsigned seqNum, unsigned reason = H225_InfoRequestNakReason::e_undefinedReason);
H225_ServiceControlIndication& BuildServiceControlIndication(unsigned seqNum, const OpalGloballyUniqueID * id = NULL);
H225_ServiceControlResponse & BuildServiceControlResponse(unsigned seqNum);
H225_UnknownMessageResponse & BuildUnknownMessageResponse(unsigned seqNum);
H225_RequestInProgress & BuildRequestInProgress(unsigned seqNum, unsigned delay);
};
void H323SetAliasAddresses(const H323TransportAddressArray & addresses, H225_ArrayOf_AliasAddress & aliases);
void H323SetAliasAddresses(const PStringArray & names, H225_ArrayOf_AliasAddress & aliases, int tag = -1);
void H323SetAliasAddresses(const PStringList & names, H225_ArrayOf_AliasAddress & aliases, int tag = -1);
void H323SetAliasAddress(const H323TransportAddress & address, H225_AliasAddress & alias);
void H323SetAliasAddress(const PString & name, H225_AliasAddress & alias, int tag = -1);
PStringArray H323GetAliasAddressStrings(const H225_ArrayOf_AliasAddress & aliases);
PString H323GetAliasAddressString(const H225_AliasAddress & alias);
PString H323GetAliasAddressE164(const H225_AliasAddress & alias);
PString H323GetAliasAddressE164(const H225_ArrayOf_AliasAddress & aliases);
H323Connection::CallEndReason H323TranslateToCallEndReason(
Q931::CauseValues cause,
unsigned reason
);
Q931::CauseValues H323TranslateFromCallEndReason(
H323Connection::CallEndReason callEndReason,
H225_ReleaseCompleteReason & releaseCompleteReason
);
void H323GetApplicationInfo(OpalProductInfo & info, const H225_VendorIdentifier & vendor);
void H323SetRTPPacketization(
H245_ArrayOf_RTPPayloadType & rtpPacketizations,
PINDEX & packetizationsCount,
const OpalMediaFormat & mediaFormat,
RTP_DataFrame::PayloadTypes payloadType
);
bool H323SetRTPPacketization(
H245_RTPPayloadType & rtpPacketization,
const OpalMediaFormat & mediaFormat,
RTP_DataFrame::PayloadTypes payloadType
);
bool H323SetRTPPacketization(
H245_RTPPayloadType & rtpPacketization,
const PString & mediaPacketizationString,
const OpalMediaFormat & mediaFormat,
RTP_DataFrame::PayloadTypes payloadType
);
PString H323GetRTPPacketization(
const H245_RTPPayloadType & rtpPacketization
);
PString H323GetCapabilityIdentifier(
const H245_CapabilityIdentifier & capId
);
bool H323SetCapabilityIdentifier(
const PString & str,
H245_CapabilityIdentifier & capId
);
const H245_ParameterValue * H323GetGenericParameter(
const H245_ArrayOf_GenericParameter & params,
unsigned ordinal
);
bool H323GetGenericParameterBoolean(
const H245_ArrayOf_GenericParameter & params,
unsigned ordinal
);
unsigned H323GetGenericParameterInteger(
const H245_ArrayOf_GenericParameter & params,
unsigned ordinal,
unsigned defValue = 0,
H245_ParameterValue::Choices subType = H245_ParameterValue::e_unsignedMin
);
H245_ParameterValue * H323AddGenericParameter(
H245_ArrayOf_GenericParameter & params,
unsigned ordinal
);
void H323AddGenericParameterBoolean(
H245_ArrayOf_GenericParameter & params,
unsigned ordinal,
bool value
);
void H323AddGenericParameterInteger(
H245_ArrayOf_GenericParameter & params,
unsigned ordinal,
unsigned value,
H245_ParameterValue::Choices subType
);
void H323AddGenericParameterString(
H245_ArrayOf_GenericParameter & params,
unsigned ordinal,
const PString & value
);
void H323AddGenericParameterOctets(
H245_ArrayOf_GenericParameter & params,
unsigned ordinal,
const PBYTEArray & value
);
#if PTRACING
void H323TraceDumpPDU(
const char * proto,
PBoolean writing,
const PBYTEArray & rawData,
const PASN_Object & pdu,
const PASN_Choice & tag1,
unsigned seqNum
);
#else
#define H323TraceDumpPDU(proto, writing, rawData, pdu, tag1, seqNum)
#endif
#endif // OPAL_H323
#endif // OPAL_H323_H323PDU_H
Q931::CauseValues
CauseValues
Definition: q931.h:168
H323RasPDU::GetChoice
virtual PASN_Choice & GetChoice()
H323ControlPDU::BuildRequestModeReject
H245_RequestModeReject & BuildRequestModeReject(unsigned sequenceNumber, unsigned cause)
H323RasPDU::BuildServiceControlIndication
H225_ServiceControlIndication & BuildServiceControlIndication(unsigned seqNum, const OpalGloballyUniqueID *id=NULL)
H323RasPDU::BuildUnknownMessageResponse
H225_UnknownMessageResponse & BuildUnknownMessageResponse(unsigned seqNum)
H323SetRTPPacketization
void H323SetRTPPacketization(H245_ArrayOf_RTPPayloadType &rtpPacketizations, PINDEX &packetizationsCount, const OpalMediaFormat &mediaFormat, RTP_DataFrame::PayloadTypes payloadType)
H323RasPDU::GetRequestInProgressDelay
virtual unsigned GetRequestInProgressDelay() const
H323RasPDU::BuildBandwidthReject
H225_BandwidthReject & BuildBandwidthReject(unsigned seqNum, unsigned reason=H225_BandRejectReason::e_undefinedReason)
H323RasPDU::BuildRegistrationReject
H225_RegistrationReject & BuildRegistrationReject(unsigned seqNum, unsigned reason=H225_RegistrationRejectReason::e_undefinedReason)
H225_RAS
Definition: h225ras.h:96
H323SetAliasAddress
void H323SetAliasAddress(const H323TransportAddress &address, H225_AliasAddress &alias)
H323ControlPDU::BuildRequestChannelCloseAck
H245_RequestChannelCloseAck & BuildRequestChannelCloseAck(unsigned channelNumber)
H323RasPDU::BuildLocationConfirm
H225_LocationConfirm & BuildLocationConfirm(unsigned seqNum)
H323ControlPDU::BuildEndSessionCommand
H245_EndSessionCommand & BuildEndSessionCommand(unsigned reason)
H323TransportAddressArray
H323TransportAddressArray(const OpalTransportAddress &address)
Definition: transaddr.h:97
H323RasPDU::BuildLocationReject
H225_LocationReject & BuildLocationReject(unsigned seqNum, unsigned reason=H225_LocationRejectReason::e_undefinedReason)
H323RasPDU::H323RasPDU
H323RasPDU()
H323SignalPDU::H323SignalPDU
H323SignalPDU()
H323SignalPDU::BuildSetupAcknowledge
H225_SetupAcknowledge_UUIE & BuildSetupAcknowledge(const H323Connection &connection)
H323AddGenericParameterBoolean
void H323AddGenericParameterBoolean(H245_ArrayOf_GenericParameter &params, unsigned ordinal, bool value)
H323SignalPDU::BuildAlerting
H225_Alerting_UUIE & BuildAlerting(const H323Connection &connection)
H323SignalPDU
Definition: h323pdu.h:70
buildopts.h
H323SignalPDU::BuildStatusInquiry
H225_StatusInquiry_UUIE & BuildStatusInquiry(const H323Connection &connection)
H323ControlPDU::BuildRequestMode
H245_RequestMode & BuildRequestMode(unsigned sequenceNumber)
H323ControlPDU::BuildOpenLogicalChannelConfirm
H245_OpenLogicalChannelConfirm & BuildOpenLogicalChannelConfirm(unsigned channelNumber)
H323RasPDU::BuildBandwidthConfirm
H225_BandwidthConfirm & BuildBandwidthConfirm(unsigned seqNum, unsigned bandwidth=0)
H323ControlPDU::BuildFlowControlCommand
H245_FlowControlCommand & BuildFlowControlCommand(unsigned channelNumber, unsigned maxBitRate)
H323GetGenericParameterBoolean
bool H323GetGenericParameterBoolean(const H245_ArrayOf_GenericParameter &params, unsigned ordinal)
H323ControlPDU::BuildCloseLogicalChannelAck
H245_CloseLogicalChannelAck & BuildCloseLogicalChannelAck(unsigned channelNumber)
H323RasPDU::BuildAdmissionReject
H225_AdmissionReject & BuildAdmissionReject(unsigned seqNum, unsigned reason=H225_AdmissionRejectReason::e_undefinedReason)
OpalTransport
Definition: transports.h:703
H323SignalPDU::Read
PBoolean Read(H323Transport &transport)
H323RasPDU::BuildDisengageConfirm
H225_DisengageConfirm & BuildDisengageConfirm(unsigned seqNum)
H323ControlPDU::BuildMasterSlaveDeterminationReject
H245_MasterSlaveDeterminationReject & BuildMasterSlaveDeterminationReject(unsigned cause)
H323RasPDU::BuildInfoRequestAck
H225_InfoRequestAck & BuildInfoRequestAck(unsigned seqNum)
H323GetAliasAddressE164
PString H323GetAliasAddressE164(const H225_AliasAddress &alias)
H323RasPDU::BuildGatekeeperConfirm
H225_GatekeeperConfirm & BuildGatekeeperConfirm(unsigned seqNum)
H323RasPDU::BuildAdmissionRequest
H225_AdmissionRequest & BuildAdmissionRequest(unsigned seqNum)
H323ControlPDU::BuildMasterSlaveDeterminationAck
H245_MasterSlaveDeterminationAck & BuildMasterSlaveDeterminationAck(PBoolean isMaster)
H323ControlPDU::BuildMiscellaneousIndication
H245_MiscellaneousIndication & BuildMiscellaneousIndication(unsigned channelNumber, unsigned type)
Q931
Definition: q931.h:44
H323ControlPDU::BuildUserInputIndication
H245_UserInputIndication & BuildUserInputIndication(const PString &value)
H323TransactionPDU::authenticators
H235Authenticators authenticators
Definition: h323trans.h:94
H323SignalPDU::BuildProgress
H225_Progress_UUIE & BuildProgress(const H323Connection &connection)
H323SignalPDU::GetSourceE164
PBoolean GetSourceE164(PString &number) const
h323trans.h
H323SignalPDU::PrintOn
void PrintOn(ostream &strm) const
H323ControlPDU::BuildTerminalCapabilitySetAck
H245_TerminalCapabilitySetAck & BuildTerminalCapabilitySetAck(unsigned sequenceNumber)
H323SignalPDU::BuildQ931
void BuildQ931()
H323RasPDU::BuildRegistrationRequest
H225_RegistrationRequest & BuildRegistrationRequest(unsigned seqNum)
H323RasPDU::BuildInfoRequestNak
H225_InfoRequestNak & BuildInfoRequestNak(unsigned seqNum, unsigned reason=H225_InfoRequestNakReason::e_undefinedReason)
H323ControlPDU::BuildCloseLogicalChannel
H245_CloseLogicalChannel & BuildCloseLogicalChannel(unsigned channelNumber)
H323RasPDU::ClonePDU
virtual H323TransactionPDU * ClonePDU() const
RTP_DataFrame::PayloadTypes
PayloadTypes
Definition: rtp.h:86
H323SignalPDU::BuildInformation
H225_Information_UUIE & BuildInformation(const H323Connection &connection)
H323RasPDU::BuildBandwidthRequest
H225_BandwidthRequest & BuildBandwidthRequest(unsigned seqNum)
H323RasPDU::GetPDU
virtual PASN_Object & GetPDU()
H323RasPDU::BuildInfoRequest
H225_InfoRequest & BuildInfoRequest(unsigned seqNum, unsigned callRef=0, const OpalGloballyUniqueID *id=NULL)
H323ControlPDU::BuildRoundTripDelayRequest
H245_RoundTripDelayRequest & BuildRoundTripDelayRequest(unsigned sequenceNumber)
H323ControlPDU::BuildGenericRequest
H245_GenericMessage & BuildGenericRequest(const PString &identifier, unsigned subMsgId)
H323GetGenericParameter
const H245_ParameterValue * H323GetGenericParameter(const H245_ArrayOf_GenericParameter &params, unsigned ordinal)
H323SignalPDU::BuildNotify
H225_Notify_UUIE & BuildNotify(const H323Connection &connection)
H323SignalPDU::BuildReleaseComplete
H225_ReleaseComplete_UUIE & BuildReleaseComplete(const H323Connection &connection)
H323ControlPDU::BuildTerminalCapabilitySet
H245_TerminalCapabilitySet & BuildTerminalCapabilitySet(const H323Connection &connection, unsigned sequenceNumber, PBoolean empty)
H323ControlPDU::BuildOpenLogicalChannel
H245_OpenLogicalChannel & BuildOpenLogicalChannel(unsigned forwardLogicalChannelNumber)
H323SignalPDU::InsertH460Setup
void InsertH460Setup(const H323Connection &connection, H225_Setup_UUIE &setup)
H323SignalPDU::GetDestinationAlias
PString GetDestinationAlias(PBoolean firstAliasOnly=false) const
H323RasPDU::BuildUnregistrationConfirm
H225_UnregistrationConfirm & BuildUnregistrationConfirm(unsigned seqNum)
OpalMediaFormat
Definition: mediafmt.h:724
H323SignalPDU::GetDestinationE164
PBoolean GetDestinationE164(PString &number) const
h235auth.h
H323ControlPDU::BuildRequestModeAck
H245_RequestModeAck & BuildRequestModeAck(unsigned sequenceNumber, unsigned response)
H323RasPDU::BuildUnregistrationReject
H225_UnregistrationReject & BuildUnregistrationReject(unsigned seqNum, unsigned reason=H225_UnregRejectReason::e_undefinedReason)
H323ControlPDU::Build
H245_RequestMessage & Build(H245_RequestMessage::Choices request)
H323RasPDU
Definition: h323pdu.h:414
H323SignalPDU::GetDistinctiveRing
unsigned GetDistinctiveRing() const
H323RasPDU::BuildLocationRequest
H225_LocationRequest & BuildLocationRequest(unsigned seqNum)
H323TraceDumpPDU
#define H323TraceDumpPDU(proto, writing, rawData, pdu, tag1, seqNum)
Definition: h323pdu.h:575
H323SetCapabilityIdentifier
bool H323SetCapabilityIdentifier(const PString &str, H245_CapabilityIdentifier &capId)
H323Connection
Definition: h323con.h:130
H323ControlPDU::BuildOpenLogicalChannelReject
H245_OpenLogicalChannelReject & BuildOpenLogicalChannelReject(unsigned channelNumber, unsigned cause)
H323RasPDU::BuildGatekeeperRequest
H225_GatekeeperRequest & BuildGatekeeperRequest(unsigned seqNum)
H323RasPDU::DeletePDU
virtual void DeletePDU()
H323TranslateFromCallEndReason
Q931::CauseValues H323TranslateFromCallEndReason(H323Connection::CallEndReason callEndReason, H225_ReleaseCompleteReason &releaseCompleteReason)
H323RasPDU::GetSequenceNumber
virtual unsigned GetSequenceNumber() const
H323RasPDU::BuildUnregistrationRequest
H225_UnregistrationRequest & BuildUnregistrationRequest(unsigned seqNum)
H323ControlPDU::BuildTerminalCapabilitySetReject
H245_TerminalCapabilitySetReject & BuildTerminalCapabilitySetReject(unsigned sequenceNumber, unsigned cause)
H323ControlPDU::BuildRequestChannelCloseRelease
H245_RequestChannelCloseRelease & BuildRequestChannelCloseRelease(unsigned channelNumber)
H323ControlPDU::BuildRequestChannelClose
H245_RequestChannelClose & BuildRequestChannelClose(unsigned channelNumber, unsigned reason)
H323ControlPDU::BuildMasterSlaveDetermination
H245_MasterSlaveDetermination & BuildMasterSlaveDetermination(unsigned terminalType, unsigned statusDeterminationNumber)
H323SignalPDU::BuildFacility
H225_Facility_UUIE * BuildFacility(const H323Connection &connection, bool empty, unsigned reason=H225_FacilityReason::e_undefinedReason)
H323SetAliasAddresses
void H323SetAliasAddresses(const H323TransportAddressArray &addresses, H225_ArrayOf_AliasAddress &aliases)
H323TransactionPDU
Definition: h323trans.h:51
H323SignalPDU::GetSourceAliases
PString GetSourceAliases(const H323Transport *transport=NULL) const
H323SignalPDU::GetQ931
Q931 & GetQ931()
Definition: h323pdu.h:192
H323SignalPDU::SetQ931Fields
void SetQ931Fields(const H323Connection &connection, bool insertPartyNumbers=false)
H323SignalPDU::GetQ931
const Q931 & GetQ931() const
Definition: h323pdu.h:188
OpalConnection::CallEndReason
Definition: connection.h:396
H323ControlPDU::BuildRequestChannelCloseReject
H245_RequestChannelCloseReject & BuildRequestChannelCloseReject(unsigned channelNumber)
H323ControlPDU
Definition: h323pdu.h:272
H323SignalPDU::q931pdu
Q931 q931pdu
Definition: h323pdu.h:264
H323ControlPDU::BuildFunctionNotUnderstood
H245_FunctionNotUnderstood & BuildFunctionNotUnderstood(const H323ControlPDU &pdu)
q931.h
H323AddGenericParameterOctets
void H323AddGenericParameterOctets(H245_ArrayOf_GenericParameter &params, unsigned ordinal, const PBYTEArray &value)
H323GetAliasAddressStrings
PStringArray H323GetAliasAddressStrings(const H225_ArrayOf_AliasAddress &aliases)
H323AddGenericParameterInteger
void H323AddGenericParameterInteger(H245_ArrayOf_GenericParameter &params, unsigned ordinal, unsigned value, H245_ParameterValue::Choices subType)
H323RasPDU::BuildDisengageRequest
H225_DisengageRequest & BuildDisengageRequest(unsigned seqNum)
H323GetCapabilityIdentifier
PString H323GetCapabilityIdentifier(const H245_CapabilityIdentifier &capId)
H323ControlPDU::BuildGenericCommand
H245_GenericMessage & BuildGenericCommand(const PString &identifier, unsigned subMsgId)
H323GetGenericParameterInteger
unsigned H323GetGenericParameterInteger(const H245_ArrayOf_GenericParameter &params, unsigned ordinal, unsigned defValue=0, H245_ParameterValue::Choices subType=H245_ParameterValue::e_unsignedMin)
H323SignalPDU::BuildSetup
H225_Setup_UUIE & BuildSetup(const H323Connection &connection, const H323TransportAddress &destAddr)
h323con.h
H323SignalPDU::SetQ931
void SetQ931(const Q931 &_q931pdu)
Definition: h323pdu.h:196
transaddr.h
H323SignalPDU::BuildStatus
H225_Status_UUIE & BuildStatus(const H323Connection &connection)
H323TranslateToCallEndReason
H323Connection::CallEndReason H323TranslateToCallEndReason(Q931::CauseValues cause, unsigned reason)
H323RasPDU::BuildServiceControlResponse
H225_ServiceControlResponse & BuildServiceControlResponse(unsigned seqNum)
H323RasPDU::BuildRequestInProgress
H225_RequestInProgress & BuildRequestInProgress(unsigned seqNum, unsigned delay)
H323ControlPDU::BuildRoundTripDelayResponse
H245_RoundTripDelayResponse & BuildRoundTripDelayResponse(unsigned sequenceNumber)
H323AddGenericParameterString
void H323AddGenericParameterString(H245_ArrayOf_GenericParameter &params, unsigned ordinal, const PString &value)
H323RasPDU::BuildDisengageReject
H225_DisengageReject & BuildDisengageReject(unsigned seqNum, unsigned reason=H225_DisengageRejectReason::e_securityDenial)
rtp.h
OpalGloballyUniqueID
#define OpalGloballyUniqueID
Definition: guid.h:42
H323ControlPDU::BuildGenericIndication
H245_GenericMessage & BuildGenericIndication(const PString &identifier, unsigned subMsgId)
H323GetRTPPacketization
PString H323GetRTPPacketization(const H245_RTPPayloadType &rtpPacketization)
H323AddGenericParameter
H245_ParameterValue * H323AddGenericParameter(H245_ArrayOf_GenericParameter &params, unsigned ordinal)
H323GetApplicationInfo
void H323GetApplicationInfo(OpalProductInfo &info, const H225_VendorIdentifier &vendor)
H323RasPDU::Clone
virtual PObject * Clone() const
H323RasPDU::BuildAdmissionConfirm
H225_AdmissionConfirm & BuildAdmissionConfirm(unsigned seqNum)
H323SignalPDU::Write
PBoolean Write(H323Transport &transport)
H323SignalPDU::BuildConnect
H225_Connect_UUIE & BuildConnect(const H323Connection &connection)
H323ControlPDU::BuildOpenLogicalChannelAck
H245_OpenLogicalChannelAck & BuildOpenLogicalChannelAck(unsigned channelNumber)
H323TransportAddress
Definition: transaddr.h:66
H323ControlPDU::BuildGenericResponse
H245_GenericMessage & BuildGenericResponse(const PString &identifier, unsigned subMsgId)
H323RasPDU::BuildInfoRequestResponse
H225_InfoRequestResponse & BuildInfoRequestResponse(unsigned seqNum)
H323ControlPDU::BuildMiscellaneousCommand
H245_MiscellaneousCommand & BuildMiscellaneousCommand(unsigned channelNumber, unsigned type)
H323RasPDU::BuildGatekeeperReject
H225_GatekeeperReject & BuildGatekeeperReject(unsigned seqNum, unsigned reason=H225_GatekeeperRejectReason::e_undefinedReason)
H323GetAliasAddressString
PString H323GetAliasAddressString(const H225_AliasAddress &alias)
OpalProductInfo
Definition: connection.h:312
H323RasPDU::BuildRegistrationConfirm
H225_RegistrationConfirm & BuildRegistrationConfirm(unsigned seqNum)
H323SignalPDU::BuildCallProceeding
H225_CallProceeding_UUIE & BuildCallProceeding(const H323Connection &connection)