34 #ifndef OPAL_H323_H323CON_H
35 #define OPAL_H323_H323CON_H
49 #include <ptclib/dtmf.h>
58 class PASN_OctetString;
60 class H225_EndpointType;
61 class H225_TransportAddress;
62 class H225_ArrayOf_PASN_OctetString;
63 class H225_ProtocolIdentifier;
64 class H225_AdmissionRequest;
65 class H225_AdmissionConfirm;
66 class H225_AdmissionReject;
67 class H225_InfoRequestResponse;
68 class H225_DisengageRequest;
69 class H225_FeatureSet;
71 class H245_TerminalCapabilitySet;
72 class H245_TerminalCapabilitySetReject;
73 class H245_OpenLogicalChannel;
74 class H245_OpenLogicalChannelAck;
75 class H245_TransportAddress;
76 class H245_UserInputIndication;
77 class H245_RequestMode;
78 class H245_RequestModeAck;
79 class H245_RequestModeReject;
80 class H245_ModeDescription;
81 class H245_ArrayOf_ModeDescription;
82 class H245_SendTerminalCapabilitySet;
83 class H245_MultiplexCapability;
84 class H245_FlowControlCommand;
85 class H245_MiscellaneousCommand;
86 class H245_MiscellaneousIndication;
87 class H245_JitterIndication;
88 class H245_ArrayOf_GenericParameter;
89 class H245_ArrayOf_GenericInformation;
98 class H235Authenticators;
122 #define OPAL_OPT_Q931_BEARER_CAPS "Q931-Bearer-Caps"
145 const PString & token,
146 const PString & alias,
148 unsigned options = 0,
194 const PString & calleeName,
302 #if OPAL_T38_CAPABILITY
305 virtual bool SwitchFaxMediaStreams(
369 const PString & token,
371 PBoolean answeringCall
543 H225_AdmissionRequest & arq
552 const H225_AdmissionConfirm & acf
561 const H225_AdmissionReject & arj
571 H225_InfoRequestResponse & irr
581 H225_DisengageRequest & drq
610 const PString & forwardParty
620 const PString & remoteParty
650 const PString & remoteParty,
651 const PString & callIdentity = PString::Empty()
660 const PString & primaryCallToken
670 const PString & callIdentity,
688 const PString & token,
689 const PString & identity
706 const int returnError
714 const PString & token
730 unsigned capabilityLevel
738 const PString & token,
739 const PString & identity
776 const unsigned nbOfAddWaitingCalls = 0
808 const PString & callerName,
815 const PString & callerName
829 AnswerCallResponse response
843 const PString & alias,
933 const PString & digits
961 H225_ArrayOf_PASN_OctetString & array
976 const H225_ArrayOf_PASN_OctetString & array
994 const H225_TransportAddress & h245Address
1010 H225_TransportAddress & h245Address
1053 PBoolean readStatus,
1101 const H245_SendTerminalCapabilitySet & pdu
1109 const H245_FlowControlCommand & pdu
1117 const H245_MiscellaneousCommand & pdu
1125 const H245_MiscellaneousIndication & pdu
1133 const H245_JitterIndication & pdu
1140 unsigned subMessage,
1141 const H245_ArrayOf_GenericParameter & params
1148 unsigned logicalChannel,
1156 unsigned logicalChannel,
1164 unsigned logicalChannel,
1165 unsigned symmetryBreaking,
1166 unsigned terminalLabel
1175 unsigned logicalChannel,
1176 unsigned symmetryBreaking,
1177 unsigned terminalLabel
1184 unsigned logicalChannel,
1185 unsigned terminalLabel,
1193 unsigned logicalChannel,
1194 unsigned terminalLabel
1202 unsigned logicalChannel,
1203 unsigned terminalLabel
1210 unsigned logicalChannel,
1211 unsigned terminalLabel
1238 const void * errorData = NULL
1249 H245_TerminalCapabilitySet & pdu
1265 const H245_MultiplexCapability * muxCap,
1266 H245_TerminalCapabilitySetReject & reject
1293 H245_OpenLogicalChannel & ,
1363 PBoolean transmitter,
1396 unsigned channelNumber,
1410 const H245_OpenLogicalChannel & openPDU,
1411 H245_OpenLogicalChannelAck & ackPDU,
1412 unsigned & errorCode,
1432 const H245_OpenLogicalChannel & open,
1433 PBoolean startingFast,
1434 unsigned & errorCode
1475 const H245_H2250LogicalChannelParameters * param
1501 unsigned & errorCode
1562 long bitRateRestriction
1576 int skippedFrameCount,
1577 int additionalBuffer
1633 const PString & value
1662 unsigned duration = 0
1672 const PString & value
1682 const PString & value
1691 unsigned duration = 0,
1692 unsigned logicalChannel = 0,
1693 unsigned rtpTimestamp = 0
1705 const H245_UserInputIndication & pdu
1713 const H245_UserInputIndication & pdu
1731 const PIPSocket::Address & localAddr,
1732 const PIPSocket::Address & peerAddr,
1733 const PIPSocket::Address & signalAddr
1754 const PString & newModes
1765 const H245_ArrayOf_ModeDescription & newModes
1771 const H245_RequestMode & pdu,
1772 H245_RequestModeAck & ack,
1773 H245_RequestModeReject & reject,
1774 PINDEX & selectedMode
1784 const H245_ModeDescription & newMode
1792 const H245_RequestModeAck & pdu
1800 const H245_RequestModeReject * pdu
1812 const char * capabilityNames =
"T.38\nT38FaxUDP"
1825 const H225_AdmissionRequest & arq,
1826 H235Authenticators & authenticators
1897 const H225_EndpointType & pdu
1971 const PString & info
2046 const H245_ArrayOf_GenericInformation & alternate
2053 const unsigned & sessionID,
2054 H245_ArrayOf_GenericInformation & gen,
2060 virtual PUDPSocket * GetNatSocket(
unsigned session, PBoolean rtp);
2064 virtual void SetRTPNAT(
unsigned sessionid, PUDPSocket * _rtp, PUDPSocket * _rtcp);
2071 class SessionInformation :
public PObject
2078 unsigned GetSessionID()
const;
2082 const PString & GetCUI();
2086 PString m_callToken;
2087 unsigned m_sessionID;
2091 SessionInformation * BuildSessionInformation(
unsigned sessionID)
const;
2098 #endif // OPAL_H460_NAT
2180 AwaitingGatekeeperAdmission,
2181 AwaitingTransportConnect,
2182 AwaitingSignalConnect,
2183 AwaitingLocalAnswer,
2184 HasExecutedSignalConnect,
2185 EstablishedConnection,
2186 ShuttingDownConnection
2222 FastStartAcknowledged
2274 PMutex NATSocketMutex;
2275 std::map<unsigned, NAT_Sockets> m_NATSockets;
2276 #endif // OPAL_H460_NAT
2279 P_REMOVE_VIRTUAL_VOID(CleanUpOnCallEnd());
2280 P_REMOVE_VIRTUAL_VOID(OnCleared());
2281 P_REMOVE_VIRTUAL_VOID(OnRTPStatistics(
const OpalRTPSession &)
const);
2282 P_REMOVE_VIRTUAL(PBoolean,
OnOpenLogicalChannel(
const H245_OpenLogicalChannel&,H245_OpenLogicalChannelAck&,
unsigned&),
false);
2283 P_REMOVE_VIRTUAL(PBoolean,
OnOpenLogicalChannel(
const H245_OpenLogicalChannel &, H245_OpenLogicalChannelAck &,
unsigned &,
const unsigned &),
false);
2284 P_REMOVE_VIRTUAL_VOID(NatDetection(
const PIPSocket::Address &,
const PIPSocket::Address &));
2285 P_REMOVE_VIRTUAL(PBoolean, OnNatDetected(),
false);
2294 #endif // OPAL_H323_H323CON_H