34 #ifndef OPAL_H323_H323CON_H
35 #define OPAL_H323_H323CON_H
49 #include <ptclib/dtmf.h>
58 class PASN_OctetString;
61 class H225_EndpointType;
62 class H225_TransportAddress;
63 class H225_ArrayOf_PASN_OctetString;
64 class H225_ProtocolIdentifier;
65 class H225_AdmissionRequest;
66 class H225_AdmissionConfirm;
67 class H225_AdmissionReject;
68 class H225_InfoRequestResponse;
69 class H225_DisengageRequest;
70 class H225_FeatureSet;
71 class H225_H245Security;
73 class H245_TerminalCapabilitySet;
74 class H245_TerminalCapabilitySetReject;
75 class H245_OpenLogicalChannel;
76 class H245_OpenLogicalChannelAck;
77 class H245_TransportAddress;
78 class H245_UserInputIndication;
79 class H245_RequestMode;
80 class H245_RequestModeAck;
81 class H245_RequestModeReject;
82 class H245_ModeDescription;
83 class H245_ArrayOf_ModeDescription;
84 class H245_SendTerminalCapabilitySet;
85 class H245_MultiplexCapability;
86 class H245_FlowControlCommand;
87 class H245_MiscellaneousCommand;
88 class H245_MiscellaneousIndication;
89 class H245_JitterIndication;
90 class H245_ArrayOf_GenericParameter;
91 class H245_ArrayOf_GenericInformation;
100 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,
304 #if OPAL_T38_CAPABILITY
307 virtual bool SwitchFaxMediaStreams(
371 const PString & token,
373 PBoolean answeringCall
545 H225_AdmissionRequest & arq
554 const H225_AdmissionConfirm & acf
563 const H225_AdmissionReject & arj
573 H225_InfoRequestResponse & irr
583 H225_DisengageRequest & drq
612 const PString & forwardParty
622 const PString & remoteParty
652 const PString & remoteParty,
653 const PString & callIdentity = PString::Empty()
662 const PString & primaryCallToken
672 const PString & callIdentity,
690 const PString & token,
691 const PString & identity
708 const int returnError
716 const PString & token
732 unsigned capabilityLevel
740 const PString & token,
741 const PString & identity
778 const unsigned nbOfAddWaitingCalls = 0
810 const PString & callerName,
817 const PString & callerName
831 AnswerCallResponse response
845 const PString & alias,
935 const PString & digits
963 H225_ArrayOf_PASN_OctetString & array
978 const H225_ArrayOf_PASN_OctetString & array
996 const PASN_Sequence & enclosingPDU,
997 const H225_TransportAddress & h245Address,
998 unsigned h245AddressField,
999 const H225_H245Security & h245Security,
1000 unsigned h245SecurityField
1016 PASN_Sequence & enclosingPDU,
1017 H225_TransportAddress & h245Address,
1018 unsigned h245AddressField,
1019 H225_H245Security & h245Security,
1020 unsigned h245SecurityField
1063 PBoolean readStatus,
1111 const H245_SendTerminalCapabilitySet & pdu
1119 const H245_FlowControlCommand & pdu
1127 const H245_MiscellaneousCommand & pdu
1135 const H245_MiscellaneousIndication & pdu
1143 const H245_JitterIndication & pdu
1150 unsigned subMessage,
1151 const H245_ArrayOf_GenericParameter & params
1158 unsigned logicalChannel,
1166 unsigned logicalChannel,
1174 unsigned logicalChannel,
1175 unsigned symmetryBreaking,
1176 unsigned terminalLabel
1185 unsigned logicalChannel,
1186 unsigned symmetryBreaking,
1187 unsigned terminalLabel
1194 unsigned logicalChannel,
1195 unsigned terminalLabel,
1203 unsigned logicalChannel,
1204 unsigned terminalLabel
1212 unsigned logicalChannel,
1213 unsigned terminalLabel
1220 unsigned logicalChannel,
1221 unsigned terminalLabel
1248 const void * errorData = NULL
1259 H245_TerminalCapabilitySet & pdu
1275 const H245_MultiplexCapability * muxCap,
1276 H245_TerminalCapabilitySetReject & reject
1303 H245_OpenLogicalChannel & ,
1373 PBoolean transmitter,
1406 unsigned channelNumber,
1420 const H245_OpenLogicalChannel & openPDU,
1421 H245_OpenLogicalChannelAck & ackPDU,
1422 unsigned & errorCode,
1442 const H245_OpenLogicalChannel & open,
1443 PBoolean startingFast,
1444 unsigned & errorCode
1485 const H245_H2250LogicalChannelParameters * param
1511 unsigned & errorCode
1572 long bitRateRestriction
1586 int skippedFrameCount,
1587 int additionalBuffer
1643 const PString & value
1672 unsigned duration = 0
1682 const PString & value
1692 const PString & value
1701 unsigned duration = 0,
1702 unsigned logicalChannel = 0,
1703 unsigned rtpTimestamp = 0
1715 const H245_UserInputIndication & pdu
1723 const H245_UserInputIndication & pdu
1741 const PIPSocket::Address & localAddr,
1742 const PIPSocket::Address & peerAddr,
1743 const PIPSocket::Address & signalAddr
1764 const PString & newModes
1775 const H245_ArrayOf_ModeDescription & newModes
1781 const H245_RequestMode & pdu,
1782 H245_RequestModeAck & ack,
1783 H245_RequestModeReject & reject,
1784 PINDEX & selectedMode
1794 const H245_ModeDescription & newMode
1802 const H245_RequestModeAck & pdu
1810 const H245_RequestModeReject * pdu
1822 const char * capabilityNames =
"T.38\nT38FaxUDP"
1835 const H225_AdmissionRequest & arq,
1836 H235Authenticators & authenticators
1907 const H225_EndpointType & pdu
1981 const PString & info
2056 const H245_ArrayOf_GenericInformation & alternate
2063 const unsigned & sessionID,
2064 H245_ArrayOf_GenericInformation & gen,
2070 virtual PUDPSocket * GetNatSocket(
unsigned session, PBoolean rtp);
2074 virtual void SetRTPNAT(
unsigned sessionid, PUDPSocket * _rtp, PUDPSocket * _rtcp);
2081 class SessionInformation :
public PObject
2088 unsigned GetSessionID()
const;
2092 const PString & GetCUI();
2096 PString m_callToken;
2097 unsigned m_sessionID;
2101 SessionInformation * BuildSessionInformation(
unsigned sessionID)
const;
2108 #endif // OPAL_H460_NAT
2189 AwaitingGatekeeperAdmission,
2190 AwaitingTransportConnect,
2191 AwaitingSignalConnect,
2192 AwaitingLocalAnswer,
2193 HasExecutedSignalConnect,
2194 EstablishedConnection,
2195 ShuttingDownConnection
2231 FastStartAcknowledged
2283 PMutex NATSocketMutex;
2284 std::map<unsigned, NAT_Sockets> m_NATSockets;
2285 #endif // OPAL_H460_NAT
2288 P_REMOVE_VIRTUAL_VOID(CleanUpOnCallEnd());
2289 P_REMOVE_VIRTUAL_VOID(OnCleared());
2290 P_REMOVE_VIRTUAL_VOID(OnRTPStatistics(
const OpalRTPSession &)
const);
2291 P_REMOVE_VIRTUAL(PBoolean,
OnOpenLogicalChannel(
const H245_OpenLogicalChannel&,H245_OpenLogicalChannelAck&,
unsigned&),
false);
2292 P_REMOVE_VIRTUAL(PBoolean,
OnOpenLogicalChannel(
const H245_OpenLogicalChannel &, H245_OpenLogicalChannelAck &,
unsigned &,
const unsigned &),
false);
2293 P_REMOVE_VIRTUAL_VOID(NatDetection(
const PIPSocket::Address &,
const PIPSocket::Address &));
2294 P_REMOVE_VIRTUAL(PBoolean, OnNatDetected(),
false);
2303 #endif // OPAL_H323_H323CON_H