34 #ifndef OPAL_H323_H323PDU_H 35 #define OPAL_H323_H323PDU_H 45 #include <ptlib/sockets.h> 62 #define H225_PROTOCOL_VERSION 6 63 #define H245_PROTOCOL_VERSION 13 104 const PIPSocket::Address & h245Address,
131 unsigned reason = H225_FacilityReason::e_undefinedReason
217 PBoolean firstAliasOnly =
false 247 bool insertPartyNumbers =
false 257 H225_Setup_UUIE & setup
277 H245_RequestMessage & Build(H245_RequestMessage ::Choices request);
278 H245_ResponseMessage & Build(H245_ResponseMessage ::Choices response);
279 H245_CommandMessage & Build(H245_CommandMessage ::Choices command);
280 H245_IndicationMessage & Build(H245_IndicationMessage::Choices indication);
282 H245_MasterSlaveDetermination & BuildMasterSlaveDetermination(
283 unsigned terminalType,
284 unsigned statusDeterminationNumber
286 H245_MasterSlaveDeterminationAck & BuildMasterSlaveDeterminationAck(
289 H245_MasterSlaveDeterminationReject & BuildMasterSlaveDeterminationReject(
293 H245_TerminalCapabilitySet & BuildTerminalCapabilitySet(
295 unsigned sequenceNumber,
298 H245_TerminalCapabilitySetAck & BuildTerminalCapabilitySetAck(
299 unsigned sequenceNumber
301 H245_TerminalCapabilitySetReject & BuildTerminalCapabilitySetReject(
302 unsigned sequenceNumber,
306 H245_OpenLogicalChannel & BuildOpenLogicalChannel(
307 unsigned forwardLogicalChannelNumber
309 H245_RequestChannelClose & BuildRequestChannelClose(
310 unsigned channelNumber,
313 H245_CloseLogicalChannel & BuildCloseLogicalChannel(
314 unsigned channelNumber
316 H245_OpenLogicalChannelAck & BuildOpenLogicalChannelAck(
317 unsigned channelNumber
319 H245_OpenLogicalChannelReject & BuildOpenLogicalChannelReject(
320 unsigned channelNumber,
323 H245_OpenLogicalChannelConfirm & BuildOpenLogicalChannelConfirm(
324 unsigned channelNumber
326 H245_CloseLogicalChannelAck & BuildCloseLogicalChannelAck(
327 unsigned channelNumber
329 H245_RequestChannelCloseAck & BuildRequestChannelCloseAck(
330 unsigned channelNumber
332 H245_RequestChannelCloseReject & BuildRequestChannelCloseReject(
333 unsigned channelNumber
335 H245_RequestChannelCloseRelease & BuildRequestChannelCloseRelease(
336 unsigned channelNumber
339 H245_RequestMode & BuildRequestMode(
340 unsigned sequenceNumber
342 H245_RequestModeAck & BuildRequestModeAck(
343 unsigned sequenceNumber,
346 H245_RequestModeReject & BuildRequestModeReject(
347 unsigned sequenceNumber,
351 H245_RoundTripDelayRequest & BuildRoundTripDelayRequest(
352 unsigned sequenceNumber
354 H245_RoundTripDelayResponse & BuildRoundTripDelayResponse(
355 unsigned sequenceNumber
358 H245_UserInputIndication & BuildUserInputIndication(
359 const PString & value
361 H245_UserInputIndication & BuildUserInputIndication(
364 unsigned logicalChannel,
365 unsigned rtpTimestamp
368 H245_MiscellaneousCommand & BuildMiscellaneousCommand(
369 unsigned channelNumber,
373 H245_FlowControlCommand & BuildFlowControlCommand(
374 unsigned channelNumber,
378 H245_MiscellaneousIndication & BuildMiscellaneousIndication(
379 unsigned channelNumber,
383 H245_GenericMessage & BuildGenericRequest(
384 const PString & identifier,
387 H245_GenericMessage & BuildGenericResponse(
388 const PString & identifier,
391 H245_GenericMessage & BuildGenericCommand(
392 const PString & identifier,
395 H245_GenericMessage & BuildGenericIndication(
396 const PString & identifier,
400 H245_FunctionNotUnderstood & BuildFunctionNotUnderstood(
404 H245_EndSessionCommand & BuildEndSessionCommand(
421 const H235Authenticators & authenticators
425 virtual PObject * Clone()
const;
428 virtual PASN_Object & GetPDU();
429 virtual PASN_Choice & GetChoice();
430 virtual const PASN_Object & GetPDU()
const;
431 virtual const PASN_Choice & GetChoice()
const;
432 virtual unsigned GetSequenceNumber()
const;
433 virtual unsigned GetRequestInProgressDelay()
const;
435 virtual const char * GetProtocolName()
const;
438 virtual void DeletePDU();
441 H225_GatekeeperRequest & BuildGatekeeperRequest(
unsigned seqNum);
442 H225_GatekeeperConfirm & BuildGatekeeperConfirm(
unsigned seqNum);
443 H225_GatekeeperReject & BuildGatekeeperReject(
unsigned seqNum,
unsigned reason = H225_GatekeeperRejectReason::e_undefinedReason);
444 H225_RegistrationRequest & BuildRegistrationRequest(
unsigned seqNum);
445 H225_RegistrationConfirm & BuildRegistrationConfirm(
unsigned seqNum);
446 H225_RegistrationReject & BuildRegistrationReject(
unsigned seqNum,
unsigned reason = H225_RegistrationRejectReason::e_undefinedReason);
447 H225_UnregistrationRequest & BuildUnregistrationRequest(
unsigned seqNum);
448 H225_UnregistrationConfirm & BuildUnregistrationConfirm(
unsigned seqNum);
449 H225_UnregistrationReject & BuildUnregistrationReject(
unsigned seqNum,
unsigned reason = H225_UnregRejectReason::e_undefinedReason);
450 H225_LocationRequest & BuildLocationRequest(
unsigned seqNum);
451 H225_LocationConfirm & BuildLocationConfirm(
unsigned seqNum);
452 H225_LocationReject & BuildLocationReject(
unsigned seqNum,
unsigned reason = H225_LocationRejectReason::e_undefinedReason);
453 H225_AdmissionRequest & BuildAdmissionRequest(
unsigned seqNum);
454 H225_AdmissionConfirm & BuildAdmissionConfirm(
unsigned seqNum);
455 H225_AdmissionReject & BuildAdmissionReject(
unsigned seqNum,
unsigned reason = H225_AdmissionRejectReason::e_undefinedReason);
456 H225_DisengageRequest & BuildDisengageRequest(
unsigned seqNum);
457 H225_DisengageConfirm & BuildDisengageConfirm(
unsigned seqNum);
458 H225_DisengageReject & BuildDisengageReject(
unsigned seqNum,
unsigned reason = H225_DisengageRejectReason::e_securityDenial);
459 H225_BandwidthRequest & BuildBandwidthRequest(
unsigned seqNum);
460 H225_BandwidthConfirm & BuildBandwidthConfirm(
unsigned seqNum,
unsigned bandwidth = 0);
461 H225_BandwidthReject & BuildBandwidthReject(
unsigned seqNum,
unsigned reason = H225_BandRejectReason::e_undefinedReason);
462 H225_InfoRequest & BuildInfoRequest(
unsigned seqNum,
unsigned callRef = 0,
const OpalGloballyUniqueID *
id = NULL);
463 H225_InfoRequestResponse & BuildInfoRequestResponse(
unsigned seqNum);
464 H225_InfoRequestAck & BuildInfoRequestAck(
unsigned seqNum);
465 H225_InfoRequestNak & BuildInfoRequestNak(
unsigned seqNum,
unsigned reason = H225_InfoRequestNakReason::e_undefinedReason);
466 H225_ServiceControlIndication& BuildServiceControlIndication(
unsigned seqNum,
const OpalGloballyUniqueID *
id = NULL);
467 H225_ServiceControlResponse & BuildServiceControlResponse(
unsigned seqNum);
468 H225_UnknownMessageResponse & BuildUnknownMessageResponse(
unsigned seqNum);
469 H225_RequestInProgress & BuildRequestInProgress(
unsigned seqNum,
unsigned delay);
476 void H323SetAliasAddresses(
const PStringArray & names, H225_ArrayOf_AliasAddress & aliases,
int tag = -1);
477 void H323SetAliasAddresses(
const PStringList & names, H225_ArrayOf_AliasAddress & aliases,
int tag = -1);
491 H225_ReleaseCompleteReason & releaseCompleteReason
497 H245_ArrayOf_RTPPayloadType & rtpPacketizations,
498 PINDEX & packetizationsCount,
503 H245_RTPPayloadType & rtpPacketization,
508 H245_RTPPayloadType & rtpPacketization,
509 const PString & mediaPacketizationString,
514 const H245_RTPPayloadType & rtpPacketization
518 const H245_CapabilityIdentifier & capId
522 H245_CapabilityIdentifier & capId
526 const H245_ArrayOf_GenericParameter & params,
530 const H245_ArrayOf_GenericParameter & params,
534 const H245_ArrayOf_GenericParameter & params,
536 unsigned defValue = 0,
537 H245_ParameterValue::Choices subType = H245_ParameterValue::e_unsignedMin
540 H245_ArrayOf_GenericParameter & params,
544 H245_ArrayOf_GenericParameter & params,
549 H245_ArrayOf_GenericParameter & params,
552 H245_ParameterValue::Choices subType
555 H245_ArrayOf_GenericParameter & params,
557 const PString & value
560 H245_ArrayOf_GenericParameter & params,
562 const PBYTEArray & value
569 const PBYTEArray & rawData,
570 const PASN_Object & pdu,
571 const PASN_Choice & tag1,
575 #define H323TraceDumpPDU(proto, writing, rawData, pdu, tag1, seqNum) 581 #endif // OPAL_H323_H323PDU_H CauseValues
Definition: q931.h:168
void H323SetRTPPacketization(H245_ArrayOf_RTPPayloadType &rtpPacketizations, PINDEX &packetizationsCount, const OpalMediaFormat &mediaFormat, RTP_DataFrame::PayloadTypes payloadType)
void H323SetAliasAddress(const H323TransportAddress &address, H225_AliasAddress &alias)
H323TransportAddressArray(const OpalTransportAddress &address)
Definition: transaddr.h:97
H225_SetupAcknowledge_UUIE & BuildSetupAcknowledge(const H323Connection &connection)
void H323AddGenericParameterBoolean(H245_ArrayOf_GenericParameter ¶ms, unsigned ordinal, bool value)
H225_Alerting_UUIE & BuildAlerting(const H323Connection &connection)
H225_StatusInquiry_UUIE & BuildStatusInquiry(const H323Connection &connection)
bool H323GetGenericParameterBoolean(const H245_ArrayOf_GenericParameter ¶ms, unsigned ordinal)
Definition: transports.h:703
PBoolean Read(H323Transport &transport)
PString H323GetAliasAddressE164(const H225_AliasAddress &alias)
H225_Progress_UUIE & BuildProgress(const H323Connection &connection)
PBoolean GetSourceE164(PString &number) const
void PrintOn(ostream &strm) const
PayloadTypes
Definition: rtp.h:86
H225_Information_UUIE & BuildInformation(const H323Connection &connection)
const H245_ParameterValue * H323GetGenericParameter(const H245_ArrayOf_GenericParameter ¶ms, unsigned ordinal)
H225_Notify_UUIE & BuildNotify(const H323Connection &connection)
H225_ReleaseComplete_UUIE & BuildReleaseComplete(const H323Connection &connection)
void InsertH460Setup(const H323Connection &connection, H225_Setup_UUIE &setup)
PString GetDestinationAlias(PBoolean firstAliasOnly=false) const
PBoolean GetDestinationE164(PString &number) const
Definition: h323pdu.h:414
unsigned GetDistinctiveRing() const
#define H323TraceDumpPDU(proto, writing, rawData, pdu, tag1, seqNum)
Definition: h323pdu.h:575
bool H323SetCapabilityIdentifier(const PString &str, H245_CapabilityIdentifier &capId)
Definition: h323con.h:130
Q931::CauseValues H323TranslateFromCallEndReason(H323Connection::CallEndReason callEndReason, H225_ReleaseCompleteReason &releaseCompleteReason)
H225_Facility_UUIE * BuildFacility(const H323Connection &connection, bool empty, unsigned reason=H225_FacilityReason::e_undefinedReason)
void H323SetAliasAddresses(const H323TransportAddressArray &addresses, H225_ArrayOf_AliasAddress &aliases)
Definition: h323trans.h:51
PString GetSourceAliases(const H323Transport *transport=NULL) const
Q931 & GetQ931()
Definition: h323pdu.h:192
void SetQ931Fields(const H323Connection &connection, bool insertPartyNumbers=false)
const Q931 & GetQ931() const
Definition: h323pdu.h:188
Definition: connection.h:396
Definition: h323pdu.h:272
Q931 q931pdu
Definition: h323pdu.h:264
void H323AddGenericParameterOctets(H245_ArrayOf_GenericParameter ¶ms, unsigned ordinal, const PBYTEArray &value)
PStringArray H323GetAliasAddressStrings(const H225_ArrayOf_AliasAddress &aliases)
void H323AddGenericParameterInteger(H245_ArrayOf_GenericParameter ¶ms, unsigned ordinal, unsigned value, H245_ParameterValue::Choices subType)
PString H323GetCapabilityIdentifier(const H245_CapabilityIdentifier &capId)
unsigned H323GetGenericParameterInteger(const H245_ArrayOf_GenericParameter ¶ms, unsigned ordinal, unsigned defValue=0, H245_ParameterValue::Choices subType=H245_ParameterValue::e_unsignedMin)
H225_Setup_UUIE & BuildSetup(const H323Connection &connection, const H323TransportAddress &destAddr)
void SetQ931(const Q931 &_q931pdu)
Definition: h323pdu.h:196
H225_Status_UUIE & BuildStatus(const H323Connection &connection)
H323Connection::CallEndReason H323TranslateToCallEndReason(Q931::CauseValues cause, unsigned reason)
void H323AddGenericParameterString(H245_ArrayOf_GenericParameter ¶ms, unsigned ordinal, const PString &value)
#define OpalGloballyUniqueID
Definition: guid.h:42
PString H323GetRTPPacketization(const H245_RTPPayloadType &rtpPacketization)
H245_ParameterValue * H323AddGenericParameter(H245_ArrayOf_GenericParameter ¶ms, unsigned ordinal)
void H323GetApplicationInfo(OpalProductInfo &info, const H225_VendorIdentifier &vendor)
PBoolean Write(H323Transport &transport)
H225_Connect_UUIE & BuildConnect(const H323Connection &connection)
Definition: transaddr.h:66
PString H323GetAliasAddressString(const H225_AliasAddress &alias)
Definition: connection.h:312
H225_CallProceeding_UUIE & BuildCallProceeding(const H323Connection &connection)