34 #ifndef OPAL_H323_H323CON_H
35 #define OPAL_H323_H323CON_H
51 #include <ptclib/dtmf.h>
60 class PASN_OctetString;
63 class H225_EndpointType;
64 class H225_TransportAddress;
65 class H225_ArrayOf_PASN_OctetString;
66 class H225_ProtocolIdentifier;
67 class H225_AdmissionRequest;
68 class H225_AdmissionConfirm;
69 class H225_AdmissionReject;
70 class H225_InfoRequestResponse;
71 class H225_DisengageRequest;
72 class H225_FeatureSet;
73 class H225_H245Security;
75 class H245_TerminalCapabilitySet;
76 class H245_TerminalCapabilitySetReject;
77 class H245_OpenLogicalChannel;
78 class H245_OpenLogicalChannelAck;
79 class H245_TransportAddress;
80 class H245_UserInputIndication;
81 class H245_RequestMode;
82 class H245_RequestModeAck;
83 class H245_RequestModeReject;
84 class H245_ModeDescription;
85 class H245_ArrayOf_ModeDescription;
86 class H245_SendTerminalCapabilitySet;
87 class H245_MultiplexCapability;
88 class H245_FlowControlCommand;
89 class H245_MiscellaneousCommand;
90 class H245_MiscellaneousIndication;
91 class H245_JitterIndication;
92 class H245_ArrayOf_GenericParameter;
93 class H245_ArrayOf_GenericInformation;
102 class H235Authenticators;
124 #define OPAL_OPT_Q931_BEARER_CAPS "Q931-Bearer-Caps"
147 const PString & token,
148 const PString & alias,
150 unsigned options = 0,
196 const PString & calleeName,
310 #if OPAL_T38_CAPABILITY
313 virtual bool SwitchFaxMediaStreams(
378 const PString & token,
380 PBoolean answeringCall
552 H225_AdmissionRequest & arq
561 const H225_AdmissionConfirm & acf
570 const H225_AdmissionReject & arj
580 H225_InfoRequestResponse & irr
590 H225_DisengageRequest & drq
619 const PString & forwardParty
629 const PString & remoteParty
665 const PString & remoteParty,
666 const PString & callIdentity = PString::Empty()
675 const PString & primaryCallToken
685 const PString & callIdentity,
703 const PString & token,
704 const PString & identity
721 const int returnError
729 const PString & token
745 unsigned capabilityLevel
753 const PString & token,
754 const PString & identity
791 const unsigned nbOfAddWaitingCalls = 0
823 const PString & callerName,
830 const PString & callerName
844 AnswerCallResponse response
858 const PString & alias,
948 const PString & digits
976 H225_ArrayOf_PASN_OctetString & array
991 const H225_ArrayOf_PASN_OctetString & array
1009 const PASN_Sequence & enclosingPDU,
1010 const H225_TransportAddress & h245Address,
1011 unsigned h245AddressField,
1012 const H225_H245Security & h245Security,
1013 unsigned h245SecurityField
1029 PASN_Sequence & enclosingPDU,
1030 H225_TransportAddress & h245Address,
1031 unsigned h245AddressField,
1032 H225_H245Security & h245Security,
1033 unsigned h245SecurityField
1076 PBoolean readStatus,
1124 const H245_SendTerminalCapabilitySet & pdu
1132 const H245_FlowControlCommand & pdu
1140 const H245_MiscellaneousCommand & pdu
1148 const H245_MiscellaneousIndication & pdu
1156 const H245_JitterIndication & pdu
1163 unsigned subMessage,
1164 const H245_ArrayOf_GenericParameter & params
1171 unsigned logicalChannel,
1179 unsigned logicalChannel,
1187 unsigned logicalChannel,
1188 unsigned symmetryBreaking,
1189 unsigned terminalLabel
1198 unsigned logicalChannel,
1199 unsigned symmetryBreaking,
1200 unsigned terminalLabel
1207 unsigned logicalChannel,
1208 unsigned terminalLabel,
1216 unsigned logicalChannel,
1217 unsigned terminalLabel
1225 unsigned logicalChannel,
1226 unsigned terminalLabel
1233 unsigned logicalChannel,
1234 unsigned terminalLabel
1261 const void * errorData = NULL
1272 H245_TerminalCapabilitySet & pdu
1288 const H245_MultiplexCapability * muxCap,
1289 H245_TerminalCapabilitySetReject & reject
1316 H245_OpenLogicalChannel & ,
1386 PBoolean transmitter,
1419 unsigned channelNumber,
1433 const H245_OpenLogicalChannel & openPDU,
1434 H245_OpenLogicalChannelAck & ackPDU,
1435 unsigned & errorCode,
1455 const H245_OpenLogicalChannel & open,
1456 PBoolean startingFast,
1457 unsigned & errorCode
1498 const H245_H2250LogicalChannelParameters * param
1524 unsigned & errorCode
1585 long bitRateRestriction
1599 int skippedFrameCount,
1600 int additionalBuffer
1656 const PString & value
1685 unsigned duration = 0
1695 const PString & value
1705 const PString & value
1714 unsigned duration = 0,
1715 unsigned logicalChannel = 0,
1716 unsigned rtpTimestamp = 0
1728 const H245_UserInputIndication & pdu
1736 const H245_UserInputIndication & pdu
1776 const PString & newModes
1787 const H245_ArrayOf_ModeDescription & newModes
1793 const H245_RequestMode & pdu,
1794 H245_RequestModeAck & ack,
1795 H245_RequestModeReject & reject,
1796 PINDEX & selectedMode
1806 const H245_ModeDescription & newMode
1814 const H245_RequestModeAck & pdu
1822 const H245_RequestModeReject * pdu
1834 const char * capabilityNames =
"T.38\nT38FaxUDP"
1847 const H225_AdmissionRequest & arq,
1848 H235Authenticators & authenticators
1919 const H225_EndpointType & pdu
1993 const PString & info
2039 const H235DiffieHellman & GetDiffieHellman()
const {
return m_dh; }
2040 H235DiffieHellman & GetDiffieHellman() {
return m_dh; }
2066 const H245_ArrayOf_GenericInformation & info,
2075 H245_ArrayOf_GenericInformation & info,
2092 e_NoMultipleTunnelledH245,
2093 e_BadMasterSlaveConflict,
2094 e_NoUserInputCapability,
2095 e_H224MustBeSession3,
2096 e_NeedTCSAfterNonEmptyTCS,
2097 e_NeedMSDAfterNonEmptyTCS,
2098 e_ForceMaintainConnection
2101 "No-Multiple-Tunnelled-H245",
2102 "Bad-Master-Slave-Conflict",
2103 "No-User-Input-Capability",
2104 "H.224-Must-Be-Session-3",
2105 "Need-TCS-after-Non-Empty-TCS",
2106 "Need-MSD-after-Non-Empty-TCS",
2107 "Force-Maintain-TCP-Connection"
2112 CompatibilityIssues issue
2171 AwaitingGatekeeperAdmission,
2172 AwaitingTransportConnect,
2173 AwaitingSignalConnect,
2174 AwaitingLocalAnswer,
2175 HasExecutedSignalConnect,
2176 EstablishedConnection,
2177 ShuttingDownConnection
2203 if (pdu.HasOptionalField(PDU::e_maintainConnection) && pdu.m_maintainConnection)
2228 FastStartAcknowledged
2268 H235DiffieHellman m_dh;
2270 template <
class PDU>
void SetDiffieHellman(
const PDU & pdu)
2272 if (pdu.HasOptionalField(PDU::e_tokens))
2273 m_dh.FromTokens(pdu.m_tokens);
2283 P_REMOVE_VIRTUAL_VOID(CleanUpOnCallEnd());
2284 P_REMOVE_VIRTUAL_VOID(OnCleared());
2285 P_REMOVE_VIRTUAL_VOID(OnRTPStatistics(
const OpalRTPSession &)
const);
2286 P_REMOVE_VIRTUAL(PBoolean,
OnOpenLogicalChannel(
const H245_OpenLogicalChannel&,H245_OpenLogicalChannelAck&,
unsigned&),
false);
2287 P_REMOVE_VIRTUAL(PBoolean,
OnOpenLogicalChannel(
const H245_OpenLogicalChannel &, H245_OpenLogicalChannelAck &,
unsigned &,
const unsigned &),
false);
2288 P_REMOVE_VIRTUAL_VOID(NatDetection(
const PIPSocket::Address &,
const PIPSocket::Address &));
2289 P_REMOVE_VIRTUAL(PBoolean, OnNatDetected(),
false);
2298 #endif // OPAL_H323_H323CON_H