#include <h323ep.h>
Caller Authentication | |
| enum | EPSecurityPolicy { SecNone, SecRequest, SecRequired } |
| virtual H235Authenticators | CreateEPAuthenticators () |
| virtual BOOL | GetEPCredentials (PString &password, PString &username) |
| virtual void | SetEPCredentials (PString password, PString username) |
| virtual void | SetEPSecurityPolicy (EPSecurityPolicy policy) |
| virtual EPSecurityPolicy | GetEPSecurityPolicy () |
| H235AuthenticatorList | GetAuthenticatorList () |
| virtual BOOL | OnCallAuthentication (const PString &username, PString &password) |
Member variable access | |
| enum | TerminalTypes { e_TerminalOnly = 50, e_TerminalAndMC = 70, e_GatewayOnly = 60, e_GatewayAndMC = 80, e_GatewayAndMCWithDataMP = 90, e_GatewayAndMCWithAudioMP = 100, e_GatewayAndMCWithAVMP = 110, e_GatekeeperOnly = 120, e_GatekeeperWithDataMP = 130, e_GatekeeperWithAudioMP = 140, e_GatekeeperWithAVMP = 150, e_MCUOnly = 160, e_MCUWithDataMP = 170, e_MCUWithAudioMP = 180, e_MCUWithAVMP = 190 } |
| virtual void | SetLocalUserName (const PString &name) |
| virtual const PString & | GetLocalUserName () const |
| BOOL | AddAliasName (const PString &name) |
| BOOL | RemoveAliasName (const PString &name) |
| const PStringList & | GetAliasNames () const |
| BOOL | IsFastStartDisabled () const |
| void | DisableFastStart (BOOL mode) |
| BOOL | IsH245TunnelingDisabled () const |
| void | DisableH245Tunneling (BOOL mode) |
| BOOL | IsH245inSetupDisabled () const |
| void | DisableH245inSetup (BOOL mode) |
| BOOL | DetectInBandDTMFDisabled () const |
| void | DisableDetectInBandDTMF (BOOL mode) |
| BOOL | CanDisplayAmountString () const |
| void | SetCanDisplayAmountString (BOOL mode) |
| BOOL | CanEnforceDurationLimit () const |
| void | SetCanEnforceDurationLimit (BOOL mode) |
| unsigned | GetCallIntrusionProtectionLevel () const |
| void | SetCallIntrusionProtectionLevel (unsigned level) |
| virtual void | OnReceivedInitiateReturnError () |
| H323AudioCodec::SilenceDetectionMode | GetSilenceDetectionMode () const |
| void | SetSilenceDetectionMode (H323AudioCodec::SilenceDetectionMode mode) |
| H323Connection::SendUserInputModes | GetSendUserInputMode () const |
| void | SetSendUserInputMode (H323Connection::SendUserInputModes mode) |
| BOOL | CanAutoStartReceiveVideo () const |
| BOOL | CanAutoStartTransmitVideo () const |
| BOOL | CanAutoStartReceiveFax () const |
| BOOL | CanAutoStartTransmitFax () const |
| BOOL | CanAutoCallForward () const |
| const H323ListenerList & | GetListeners () const |
| const H323Capabilities & | GetCapabilities () const |
| TerminalTypes | GetTerminalType () const |
| BOOL | IsTerminal () const |
| BOOL | IsGateway () const |
| BOOL | IsGatekeeper () const |
| BOOL | IsMCU () const |
| unsigned | GetMinAudioJitterDelay () const |
| unsigned | GetMaxAudioJitterDelay () const |
| void | SetAudioJitterDelay (unsigned minDelay, unsigned maxDelay) |
| unsigned | GetInitialBandwidth () const |
| void | SetInitialBandwidth (unsigned bandwidth) |
| virtual BOOL | OnSendFeatureSet (unsigned, H225_FeatureSet &) |
| virtual void | OnReceiveFeatureSet (unsigned, const H225_FeatureSet &) |
| virtual void | LoadBaseFeatureSet () |
| virtual BOOL | HandleUnsolicitedInformation (const H323SignalPDU &pdu) |
| H460_FeatureSet & | GetFeatureSet () |
| BOOL | FeatureSetDisabled () |
| void | FeatureSetDisable () |
| virtual BOOL | OnUnsolicitedInformation (const H323SignalPDU &pdu) |
| virtual BOOL | IsLocalAddress (const PIPSocket::Address &remoteAddress) const |
| virtual void | TranslateTCPAddress (PIPSocket::Address &, const PIPSocket::Address &) |
| void | InternalTranslateTCPAddress (PIPSocket::Address &, const PIPSocket::Address &, const H323Connection *conn=NULL) |
| virtual void | TranslateTCPPort (WORD &, const PIPSocket::Address &) |
| WORD | GetTCPPortBase () const |
| WORD | GetTCPPortMax () const |
| void | SetTCPPorts (unsigned tcpBase, unsigned tcpMax) |
| WORD | GetNextTCPPort () |
| WORD | GetUDPPortBase () const |
| WORD | GetUDPPortMax () const |
| void | SetUDPPorts (unsigned udpBase, unsigned udpMax) |
| WORD | GetNextUDPPort () |
| WORD | GetRtpIpPortBase () const |
| WORD | GetRtpIpPortMax () const |
| void | SetRtpIpPorts (unsigned udpBase, unsigned udpMax) |
| WORD | GetRtpIpPortPair () |
| BYTE | GetRtpIpTypeofService () const |
| void | SetRtpIpTypeofService (unsigned tos) |
| BYTE | GetTcpIpTypeofService () const |
| void | SetTcpIpTypeofService (unsigned tos) |
| const PTimeInterval & | GetSignallingChannelConnectTimeout () const |
| const PTimeInterval & | GetSignallingChannelCallTimeout () const |
| const PTimeInterval & | GetControlChannelStartTimeout () const |
| const PTimeInterval & | GetEndSessionTimeout () const |
| const PTimeInterval & | GetMasterSlaveDeterminationTimeout () const |
| unsigned | GetMasterSlaveDeterminationRetries () const |
| const PTimeInterval & | GetCapabilityExchangeTimeout () const |
| const PTimeInterval & | GetLogicalChannelTimeout () const |
| const PTimeInterval & | GetRequestModeTimeout () const |
| const PTimeInterval & | GetRoundTripDelayTimeout () const |
| const PTimeInterval & | GetRoundTripDelayRate () const |
| BOOL | ShouldClearCallOnRoundTripFail () const |
| const PTimeInterval & | GetNoMediaTimeout () const |
| BOOL | SetNoMediaTimeout (PTimeInterval newInterval) |
| const PTimeInterval & | GetGatekeeperRequestTimeout () const |
| unsigned | GetGatekeeperRequestRetries () const |
| const PTimeInterval & | GetRasRequestTimeout () const |
| unsigned | GetRasRequestRetries () const |
| const PTimeInterval & | GetGatekeeperTimeToLive () const |
| const PString & | GetGkAccessTokenOID () const |
| void | SetGkAccessTokenOID (const PString &token) |
| BOOL | GetSendGRQ () const |
| void | SetSendGRQ (BOOL v) |
| const PTimeInterval & | GetCallTransferT1 () const |
| const PTimeInterval & | GetCallTransferT2 () const |
| const PTimeInterval & | GetCallTransferT3 () const |
| const PTimeInterval & | GetCallTransferT4 () const |
| const PTimeInterval & | GetCallIntrusionT1 () const |
| const PTimeInterval & | GetCallIntrusionT2 () const |
| const PTimeInterval & | GetCallIntrusionT3 () const |
| const PTimeInterval & | GetCallIntrusionT4 () const |
| const PTimeInterval & | GetCallIntrusionT5 () const |
| const PTimeInterval & | GetCallIntrusionT6 () const |
| H323CallIdentityDict & | GetCallIdentityDictionary () |
| unsigned | GetNextH450CallIdentityValue () const |
| PINDEX | GetCleanerThreadStackSize () const |
| PINDEX | GetListenerThreadStackSize () const |
| PINDEX | GetSignallingThreadStackSize () const |
| PINDEX | GetControlThreadStackSize () const |
| PINDEX | GetChannelThreadStackSize () const |
| PINDEX | GetRasThreadStackSize () const |
| PINDEX | GetJitterThreadStackSize () const |
| PThread::Priority | GetChannelThreadPriority () const |
| H323ConnectionDict | GetConnections () |
Connection management | |
| BOOL | StartListener (H323Listener *listener) |
| BOOL | StartListener (const H323TransportAddress &iface) |
| BOOL | StartListeners (const H323TransportAddressArray &ifaces) |
| BOOL | RemoveListener (H323Listener *listener) |
| H323TransportAddressArray | GetInterfaceAddresses (BOOL excludeLocalHost=TRUE, H323Transport *associatedTransport=NULL) |
| H323Connection * | MakeAuthenticatedCall (const PString &remoteParty, const PString &UserName, const PString &Password, PString &token, void *userData=NULL) |
| H323Connection * | MakeCall (const PString &remoteParty, PString &token, void *userData=NULL) |
| H323Connection * | MakeCall (const PString &remoteParty, H323Transport *transport, PString &token, void *userData=NULL) |
| H323Connection * | MakeCallLocked (const PString &remoteParty, PString &token, void *userData=NULL, H323Transport *transport=NULL) |
| virtual H323Connection * | SetupTransfer (const PString &token, const PString &callIdentity, const PString &remoteParty, PString &newToken, void *userData=NULL) |
| void | TransferCall (const PString &token, const PString &remoteParty, const PString &callIdentity=PString::Empty()) |
| void | ConsultationTransfer (const PString &primaryCallToken, const PString &secondaryCallToken) |
| void | HoldCall (const PString &token, BOOL localHold) |
| H323Connection * | IntrudeCall (const PString &remoteParty, PString &token, unsigned capabilityLevel, void *userData=NULL) |
| H323Connection * | IntrudeCall (const PString &remoteParty, H323Transport *transport, PString &token, unsigned capabilityLevel, void *userData=NULL) |
| BOOL | ResolveCallParty (const PString &_remoteParty, PStringList &addresses) |
| BOOL | ParsePartyName (const PString &party, PString &alias, H323TransportAddress &address) |
| virtual BOOL | ClearCall (const PString &token, H323Connection::CallEndReason reason=H323Connection::EndedByLocalUser) |
| virtual void | OnCallClearing (H323Connection *connection, H323Connection::CallEndReason reason) |
| virtual BOOL | ClearCallSynchronous (const PString &token, H323Connection::CallEndReason reason=H323Connection::EndedByLocalUser) |
| virtual BOOL | ClearCallSynchronous (const PString &token, H323Connection::CallEndReason reason, PSyncPoint *sync) |
| virtual void | ClearAllCalls (H323Connection::CallEndReason reason=H323Connection::EndedByLocalUser, BOOL wait=TRUE) |
| virtual BOOL | HasConnection (const PString &token) |
| H323Connection * | FindConnectionWithLock (const PString &token) |
| PStringList | GetAllConnections () |
| virtual BOOL | OnIncomingCall (H323Connection &connection, const H323SignalPDU &setupPDU, H323SignalPDU &alertingPDU) |
| virtual BOOL | OnIncomingCall (H323Connection &connection, const H323SignalPDU &setupPDU, H323SignalPDU &alertingPDU, H323Connection::CallEndReason &reason) |
| virtual BOOL | OnCallTransferInitiate (H323Connection &connection, const PString &remoteParty) |
| virtual BOOL | OnCallTransferIdentify (H323Connection &connection) |
| virtual void | OnSendARQ (H323Connection &conn, H225_AdmissionRequest &arq) |
| virtual void | OnReceivedACF (H323Connection &conn, const H225_AdmissionConfirm &acf) |
| virtual void | OnReceivedARJ (H323Connection &conn, const H225_AdmissionReject &arj) |
| virtual H323Connection::AnswerCallResponse | OnAnswerCall (H323Connection &connection, const PString &callerName, const H323SignalPDU &setupPDU, H323SignalPDU &connectPDU) |
| virtual BOOL | OnAlerting (H323Connection &connection, const H323SignalPDU &alertingPDU, const PString &user) |
| virtual BOOL | OnConnectionForwarded (H323Connection &connection, const PString &forwardParty, const H323SignalPDU &pdu) |
| virtual BOOL | ForwardConnection (H323Connection &connection, const PString &forwardParty, const H323SignalPDU &pdu) |
| virtual void | OnConnectionEstablished (H323Connection &connection, const PString &token) |
| virtual BOOL | IsConnectionEstablished (const PString &token) |
| virtual void | OnConnectionCleared (H323Connection &connection, const PString &token) |
| virtual H323Connection * | OnIncomingConnection (H323Transport *transport, H323SignalPDU &setupPDU) |
| virtual BOOL | OnOutgoingCall (H323Connection &conn, const H323SignalPDU &connectPDU) |
| virtual H323Connection * | CreateConnection (unsigned callReference, void *userData, H323Transport *transport, H323SignalPDU *setupPDU) |
| virtual H323Connection * | CreateConnection (unsigned callReference, void *userData) |
| virtual H323Connection * | CreateConnection (unsigned callReference) |
| virtual void | CleanUpConnections () |
| static PString | BuildConnectionToken (const H323Transport &transport, unsigned callReference, BOOL fromRemote) |
Public Types | |
| enum | { DefaultTcpPort = 1720 } |
Public Member Functions | |
| virtual OpalH224Handler * | CreateH224ProtocolHandler (H323Connection &connection, unsigned sessionID) const |
| virtual OpalH281Handler * | CreateH281ProtocolHandler (OpalH224Handler &h224Handler) const |
Construction | |
| H323EndPoint () | |
| ~H323EndPoint () | |
| virtual void | SetEndpointTypeInfo (H225_EndpointType &info) const |
| virtual void | SetVendorIdentifierInfo (H225_VendorIdentifier &info) const |
| BOOL | SetGatewaySupportedProtocol (H225_ArrayOf_SupportedProtocols &protocols) const |
| virtual BOOL | OnSetGatewayPrefixes (PStringList &prefixes) const |
| virtual void | SetH221NonStandardInfo (H225_H221NonStandard &info) const |
Capabilities | |
| void | AddCapability (H323Capability *capability) |
| PINDEX | SetCapability (PINDEX descriptorNum, PINDEX simultaneous, H323Capability *cap) |
| BOOL | SetVideoFrameSize (H323Capability::CapabilityFrameSize frameSize, int frameUnits=1) |
| PINDEX | AddAllCapabilities (PINDEX descriptorNum, PINDEX simultaneous, const PString &name) |
| void | AddAllUserInputCapabilities (PINDEX descriptorNum, PINDEX simultaneous) |
| void | AddAllExtendedVideoCapabilities (PINDEX descriptorNum, PINDEX simultaneous) |
| void | RemoveCapabilities (const PStringArray &codecNames) |
| void | ReorderCapabilities (const PStringArray &preferenceOrder) |
| H323Capability * | FindCapability (const H245_Capability &cap) const |
| H323Capability * | FindCapability (const H245_DataType &dataType) const |
| H323Capability * | FindCapability (H323Capability::MainTypes mainType, unsigned subType) const |
Gatekeeper management | |
| BOOL | UseGatekeeper (const PString &address=PString::Empty(), const PString &identifier=PString::Empty(), const PString &localAddress=PString::Empty()) |
| BOOL | SetGatekeeper (const PString &address, H323Transport *transport=NULL) |
| BOOL | SetGatekeeperZone (const PString &address, const PString &identifier, H323Transport *transport=NULL) |
| BOOL | LocateGatekeeper (const PString &identifier, H323Transport *transport=NULL) |
| BOOL | DiscoverGatekeeper (H323Transport *transport=NULL) |
| virtual H323Gatekeeper * | CreateGatekeeper (H323Transport *transport) |
| H323Gatekeeper * | GetGatekeeper () const |
| BOOL | IsRegisteredWithGatekeeper () const |
| BOOL | RemoveGatekeeper (int reason=-1) |
| virtual void | SetGatekeeperPassword (const PString &password) |
| virtual const PString & | GetGatekeeperPassword () const |
| virtual BOOL | GatekeeperCheckIP (const H323TransportAddress &oldAddr, H323TransportAddress &newaddress) |
| virtual H235Authenticators | CreateAuthenticators () |
| virtual void | OnAdmissionRequest (H323Connection &connection) |
| virtual void | OnGatekeeperConfirm () |
| virtual void | OnGatekeeperReject () |
| virtual void | OnRegistrationConfirm (const H323TransportAddress &rasAddress) |
| virtual void | OnRegistrationReject () |
| virtual void | OnUnRegisterRequest () |
Logical Channels management | |
| virtual BOOL | OnStartLogicalChannel (H323Connection &connection, H323Channel &channel) |
| virtual void | OnClosedLogicalChannel (H323Connection &connection, const H323Channel &channel) |
| virtual BOOL | OpenAudioChannel (H323Connection &connection, BOOL isEncoding, unsigned bufferSize, H323AudioCodec &codec) |
| virtual BOOL | OpenVideoChannel (H323Connection &connection, BOOL isEncoding, H323VideoCodec &codec) |
| virtual void | OnRTPStatistics (const H323Connection &connection, const RTP_Session &session) const |
| virtual void | OnRTPFinalStatistics (const H323Connection &connection, const RTP_Session &session) const |
Indications | |
| virtual void | OnUserInputString (H323Connection &connection, const PString &value) |
| virtual void | OnUserInputTone (H323Connection &connection, char tone, unsigned duration, unsigned logicalChannel, unsigned rtpTimestamp) |
| virtual void | OnGatekeeperNATDetect (PIPSocket::Address publicAddr, PString &gkIdentifier, H323TransportAddress &gkRouteAddress) |
| virtual void | OnGatekeeperOpenNATDetect (PString &gkIdentifier, H323TransportAddress &gkRouteAddress) |
| virtual BOOL | OnGatekeeperAliases (const H225_ArrayOf_AliasAddress &aliases) |
Service Control | |
| virtual void | OnHTTPServiceControl (unsigned operation, unsigned sessionId, const PString &url) |
| virtual void | OnCallCreditServiceControl (const PString &amount, BOOL mode, const unsigned &durationLimit) |
| virtual void | OnCallCreditServiceControl (const PString &amount, BOOL mode) |
| virtual void | OnServiceControlSession (unsigned type, unsigned sessionid, const H323ServiceControlSession &session, H323Connection *connection) |
| virtual H323ServiceControlSession * | CreateServiceControlSession (const H225_ServiceControlDescriptor &contents) |
Other services | |
| virtual OpalT120Protocol * | CreateT120ProtocolHandler (const H323Connection &connection) const |
| virtual OpalT38Protocol * | CreateT38ProtocolHandler (const H323Connection &connection) const |
Additional call services | |
| virtual BOOL | OnConferenceInvite (BOOL sending, const H323Connection *connection, const H323SignalPDU &setupPDU) |
| virtual BOOL | OnSendCallIndependentSupplementaryService (const H323Connection *connection, H323SignalPDU &pdu) |
| virtual BOOL | OnReceiveCallIndependentSupplementaryService (const H323Connection *connection, const H323SignalPDU &pdu) |
| virtual BOOL | OnNegotiateConferenceCapabilities (const H323SignalPDU &setupPDU) |
Static Public Attributes | |
| static BYTE | defaultT35CountryCode = 9 |
| static BYTE | defaultT35Extension = 0 |
| static WORD | defaultManufacturerCode = 61 |
Protected Member Functions | |
| H323Gatekeeper * | InternalCreateGatekeeper (H323Transport *transport) |
| BOOL | InternalRegisterGatekeeper (H323Gatekeeper *gk, BOOL discovered) |
| H323Connection * | FindConnectionWithoutLocks (const PString &token) |
| virtual H323Connection * | InternalMakeCall (const PString &existingToken, const PString &callIdentity, unsigned capabilityLevel, const PString &remoteParty, H323Transport *transport, PString &token, void *userData) |
Protected Attributes | |
| PStringList | localAliasNames |
| H323AudioCodec::SilenceDetectionMode | defaultSilenceDetection |
| unsigned | minAudioJitterDelay |
| unsigned | maxAudioJitterDelay |
| PString | videoChannelPlayDevice |
| PString | videoChannelRecordDevice |
| BOOL | autoStartReceiveVideo |
| BOOL | autoStartTransmitVideo |
| BOOL | autoStartReceiveFax |
| BOOL | autoStartTransmitFax |
| BOOL | autoCallForward |
| BOOL | disableFastStart |
| BOOL | disableH245Tunneling |
| BOOL | disableH245inSetup |
| BOOL | disableDetectInBandDTMF |
| BOOL | canDisplayAmountString |
| BOOL | canEnforceDurationLimit |
| unsigned | callIntrusionProtectionLevel |
| H323Connection::SendUserInputModes | defaultSendUserInputMode |
| BYTE | rtpIpTypeofService |
| BYTE | tcpIpTypeofService |
| PTimeInterval | signallingChannelConnectTimeout |
| PTimeInterval | signallingChannelCallTimeout |
| PTimeInterval | controlChannelStartTimeout |
| PTimeInterval | endSessionTimeout |
| PTimeInterval | masterSlaveDeterminationTimeout |
| unsigned | masterSlaveDeterminationRetries |
| PTimeInterval | capabilityExchangeTimeout |
| PTimeInterval | logicalChannelTimeout |
| PTimeInterval | requestModeTimeout |
| PTimeInterval | roundTripDelayTimeout |
| PTimeInterval | roundTripDelayRate |
| PTimeInterval | noMediaTimeout |
| PTimeInterval | gatekeeperRequestTimeout |
| unsigned | gatekeeperRequestRetries |
| PTimeInterval | rasRequestTimeout |
| unsigned | rasRequestRetries |
| PTimeInterval | registrationTimeToLive |
| PString | gkAccessTokenOID |
| BOOL | sendGRQ |
| unsigned | initialBandwidth |
| BOOL | clearCallOnRoundTripFail |
| BYTE | t35CountryCode |
| BYTE | t35Extension |
| WORD | manufacturerCode |
| TerminalTypes | terminalType |
| PTimeInterval | callTransferT1 |
| PTimeInterval | callTransferT2 |
| PTimeInterval | callTransferT3 |
| PTimeInterval | callTransferT4 |
| PTimeInterval | callIntrusionT1 |
| PTimeInterval | callIntrusionT2 |
| PTimeInterval | callIntrusionT3 |
| PTimeInterval | callIntrusionT4 |
| PTimeInterval | callIntrusionT5 |
| PTimeInterval | callIntrusionT6 |
| H323CallIdentityDict | secondaryConnectionsActive |
| PAtomicInteger | nextH450CallIdentity |
| PINDEX | cleanerThreadStackSize |
| Next available callIdentity for H450 Transfer operations via consultation. | |
| PINDEX | listenerThreadStackSize |
| PINDEX | signallingThreadStackSize |
| PINDEX | controlThreadStackSize |
| PINDEX | logicalThreadStackSize |
| PINDEX | rasThreadStackSize |
| PINDEX | jitterThreadStackSize |
| PThread::Priority | channelThreadPriority |
| H323ListenerList | listeners |
| H323Capabilities | capabilities |
| H323Gatekeeper * | gatekeeper |
| PString | gatekeeperPassword |
| H323ConnectionDict | connectionsActive |
| PMutex | connectionsMutex |
| PMutex | noMediaMutex |
| PStringSet | connectionsToBeCleaned |
| H323ConnectionsCleaner * | connectionsCleaner |
| PSyncPoint | connectionsAreCleaned |
| PString | EPSecurityUserName |
| PString | EPSecurityPassword |
| Local UserName Authenticated Call. | |
| BOOL | isSecureCall |
| Local Password Authenticated Call. | |
| EPSecurityPolicy | CallAuthPolicy |
| Flag to Specify Call to make is Authenticated. | |
| H235AuthenticatorList | EPAuthList |
| Incoming Call Authentication acceptance level. | |
| H460_FeatureSet | features |
| List of Usernames & Password to check incoming call Against. | |
| BOOL | disableH460 |
Classes | |
| struct | PortInfo |
The main thing this class embodies is the capabilities of the application, that is the codecs and protocols it is capable of.
An application may create a descendent off this class and overide the CreateConnection() function, if they require a descendent of H323Connection to be created. This would be quite likely in most applications.
Definition at line 425 of file h323ep.h.
Endpoint types.
| H323EndPoint::H323EndPoint | ( | ) |
Create a new endpoint.
Definition at line 1054 of file h323ep.cxx.
References H323AudioCodec::AdaptiveSilenceDetection, autoCallForward, autoStartReceiveFax, autoStartReceiveVideo, autoStartTransmitFax, autoStartTransmitVideo, H323EndPoint::PortInfo::base, callIntrusionProtectionLevel, canDisplayAmountString, canEnforceDurationLimit, channelThreadPriority, cleanerThreadStackSize, clearCallOnRoundTripFail, connectionsActive, connectionsCleaner, controlThreadStackSize, H323EndPoint::PortInfo::current, defaultManufacturerCode, defaultSendUserInputMode, defaultSilenceDetection, defaultT35CountryCode, defaultT35Extension, disableDetectInBandDTMF, disableFastStart, disableH245inSetup, disableH245Tunneling, disableH460, e_TerminalOnly, gatekeeper, gatekeeperRequestRetries, initialBandwidth, isSecureCall, jitterThreadStackSize, listenerThreadStackSize, localAliasNames, logicalThreadStackSize, manufacturerCode, masterSlaveDeterminationRetries, H323EndPoint::PortInfo::max, maxAudioJitterDelay, minAudioJitterDelay, rasRequestRetries, rasThreadStackSize, rtpIpTypeofService, SecNone, secondaryConnectionsActive, sendGRQ, H323Connection::SendUserInputAsString, SetEPCredentials(), SetEPSecurityPolicy(), signallingThreadStackSize, t35CountryCode, t35Extension, tcpIpTypeofService, and terminalType.
| H323EndPoint::~H323EndPoint | ( | ) |
Destroy endpoint.
Definition at line 1230 of file h323ep.cxx.
References CleanUpConnections(), ClearAllCalls(), connectionsCleaner, connectionsMutex, listeners, and RemoveGatekeeper().
| void H323EndPoint::SetEndpointTypeInfo | ( | H225_EndpointType & | info | ) | const [virtual] |
Set the endpoint information in H225 PDU's.
Definition at line 1275 of file h323ep.cxx.
References H225_EndpointType::e_gatekeeper, e_GatekeeperOnly, e_GatekeeperWithAudioMP, e_GatekeeperWithAVMP, e_GatekeeperWithDataMP, H225_EndpointType::e_gateway, e_GatewayAndMC, e_GatewayAndMCWithAudioMP, e_GatewayAndMCWithAVMP, e_GatewayAndMCWithDataMP, e_GatewayOnly, H225_EndpointType::e_mcu, e_MCUOnly, e_MCUWithAudioMP, e_MCUWithAVMP, e_MCUWithDataMP, H225_McuInfo::e_protocol, H225_GatewayInfo::e_protocol, H225_EndpointType::e_terminal, e_TerminalAndMC, e_TerminalOnly, H225_EndpointType::e_vendor, H225_EndpointType::m_gateway, H225_EndpointType::m_mc, H225_EndpointType::m_mcu, H225_McuInfo::m_protocol, H225_GatewayInfo::m_protocol, H225_EndpointType::m_vendor, SetGatewaySupportedProtocol(), SetVendorIdentifierInfo(), and terminalType.
Referenced by H323PeerElement::AddDescriptor(), H323Gatekeeper::BuildInfoRequestResponse(), H323Gatekeeper::RegistrationRequest(), H323Connection::SetEndpointTypeInfo(), and H323Gatekeeper::SetupGatekeeperRequest().
| void H323EndPoint::SetVendorIdentifierInfo | ( | H225_VendorIdentifier & | info | ) | const [virtual] |
Set the vendor information in H225 PDU's.
Definition at line 1341 of file h323ep.cxx.
References H225_VendorIdentifier::e_productId, H225_VendorIdentifier::e_versionId, H225_VendorIdentifier::m_productId, H225_VendorIdentifier::m_vendor, H225_VendorIdentifier::m_versionId, and SetH221NonStandardInfo().
Referenced by H323Gatekeeper::RegistrationRequest(), and SetEndpointTypeInfo().
| BOOL H323EndPoint::SetGatewaySupportedProtocol | ( | H225_ArrayOf_SupportedProtocols & | protocols | ) | const |
Set the Gateway supported protocol default always H.323
Definition at line 1311 of file h323ep.cxx.
References H225_SupportedProtocols::e_h323, H225_H323Caps::e_supportedPrefixes, H225_H323Caps::m_supportedPrefixes, and OnSetGatewayPrefixes().
Referenced by SetEndpointTypeInfo().
| BOOL H323EndPoint::OnSetGatewayPrefixes | ( | PStringList & | prefixes | ) | const [virtual] |
Set the gateway prefixes Override this to set the acceptable prefixes to the gatekeeper
Definition at line 1336 of file h323ep.cxx.
Referenced by SetGatewaySupportedProtocol().
| void H323EndPoint::SetH221NonStandardInfo | ( | H225_H221NonStandard & | info | ) | const [virtual] |
Set the H221NonStandard information in H225 PDU's.
Definition at line 1355 of file h323ep.cxx.
References H225_H221NonStandard::m_manufacturerCode, H225_H221NonStandard::m_t35CountryCode, H225_H221NonStandard::m_t35Extension, manufacturerCode, t35CountryCode, and t35Extension.
Referenced by SetVendorIdentifierInfo().
| void H323EndPoint::AddCapability | ( | H323Capability * | capability | ) |
Add a codec to the capabilities table. This will assure that the assignedCapabilityNumber field in the codec is unique for all codecs installed on this endpoint.
If the specific instnace of the capability is already in the table, it is not added again. Ther can be multiple instances of the same capability class however.
| capability | New codec specification |
Definition at line 1382 of file h323ep.cxx.
References H323Capabilities::Add(), and capabilities.
| PINDEX H323EndPoint::SetCapability | ( | PINDEX | descriptorNum, | |
| PINDEX | simultaneous, | |||
| H323Capability * | cap | |||
| ) |
Set the capability descriptor lists. This is three tier set of codecs. The top most level is a list of particular capabilities. Each of these consists of a list of alternatives that can operate simultaneously. The lowest level is a list of codecs that cannot operate together. See H323 section 6.2.8.1 and H245 section 7.2 for details.
If descriptorNum is P_MAX_INDEX, the the next available index in the array of descriptors is used. Similarly if simultaneous is P_MAX_INDEX the the next available SimultaneousCapabilitySet is used. The return value is the index used for the new entry. Note if both are P_MAX_INDEX then the return value is the descriptor index as the simultaneous index must be zero.
Note that the capability specified here is automatically added to the capability table using the AddCapability() function. A specific instance of a capability is only ever added once, so multiple SetCapability() calls with the same H323Capability pointer will only add that capability once.
| descriptorNum | The member of the capabilityDescriptor to add |
| simultaneous | The member of the SimultaneousCapabilitySet to add |
| cap | New capability specification |
Definition at line 1388 of file h323ep.cxx.
References capabilities, and H323Capabilities::SetCapability().
| BOOL H323EndPoint::SetVideoFrameSize | ( | H323Capability::CapabilityFrameSize | frameSize, | |
| int | frameUnits = 1 | |||
| ) |
Set the Video Frame Size. This is used for capabilities that use 1 definition for all Video Frame Sizes. This will remove all capabilities not matching the specified Frame Size and send a message to the remaining video capabilities to set the maximum framesize allowed to the specified value
| PINDEX H323EndPoint::AddAllCapabilities | ( | PINDEX | descriptorNum, | |
| PINDEX | simultaneous, | |||
| const PString & | name | |||
| ) |
Add all matching capabilities in list. All capabilities that match the specified name are added. See the capabilities code for details on the matching algorithm.
| descriptorNum | The member of the capabilityDescriptor to add |
| simultaneous | The member of the SimultaneousCapabilitySet to add |
| name | New capabilities name, if using "known" one. |
Definition at line 1403 of file h323ep.cxx.
References H323Capabilities::AddAllCapabilities(), and capabilities.
| void H323EndPoint::AddAllUserInputCapabilities | ( | PINDEX | descriptorNum, | |
| PINDEX | simultaneous | |||
| ) |
Add all user input capabilities to this endpoints capability table.
| descriptorNum | The member of the capabilityDescriptor to add |
| simultaneous | The member of the SimultaneousCapabilitySet to add |
Definition at line 1411 of file h323ep.cxx.
References H323_UserInputCapability::AddAllCapabilities(), and capabilities.
| void H323EndPoint::AddAllExtendedVideoCapabilities | ( | PINDEX | descriptorNum, | |
| PINDEX | simultaneous | |||
| ) |
Add all Extended Video capabilities to this endpoints capability table.
| descriptorNum | The member of the capabilityDescriptor to add |
| simultaneous | The member of the SimultaneousCapabilitySet to add |
| void H323EndPoint::RemoveCapabilities | ( | const PStringArray & | codecNames | ) |
Remove capabilites in table.
Definition at line 1425 of file h323ep.cxx.
References capabilities, and H323Capabilities::Remove().
| void H323EndPoint::ReorderCapabilities | ( | const PStringArray & | preferenceOrder | ) |
Reorder capabilites in table.
Definition at line 1431 of file h323ep.cxx.
References capabilities, and H323Capabilities::Reorder().
| H323Capability * H323EndPoint::FindCapability | ( | const H245_Capability & | cap | ) | const |
Find a capability that has been registered.
| cap | H245 capability table entry |
Definition at line 1363 of file h323ep.cxx.
References capabilities, and H323Capabilities::FindCapability().
| H323Capability * H323EndPoint::FindCapability | ( | const H245_DataType & | dataType | ) | const |
Find a capability that has been registered.
| dataType | H245 data type of codec |
Definition at line 1369 of file h323ep.cxx.
References capabilities, and H323Capabilities::FindCapability().
| H323Capability * H323EndPoint::FindCapability | ( | H323Capability::MainTypes | mainType, | |
| unsigned | subType | |||
| ) | const |
Find a capability that has been registered.
| mainType | Main type of codec |
| subType | Subtype of codec |
Definition at line 1375 of file h323ep.cxx.
References capabilities, and H323Capabilities::FindCapability().
| BOOL H323EndPoint::UseGatekeeper | ( | const PString & | address = PString::Empty(), |
|
| const PString & | identifier = PString::Empty(), |
|||
| const PString & | localAddress = PString::Empty() | |||
| ) |
Use and register with an explicit gatekeeper. This will call other functions according to the following table:
address identifier function empty empty DiscoverGatekeeper() non-empty empty SetGatekeeper() empty non-empty LocateGatekeeper() non-empty non-empty SetGatekeeperZone()
The localAddress field, if non-empty, indicates the interface on which to look for the gatekeeper. An empty string is equivalent to "ip$*:*" which is any interface or port.
If the endpoint is already registered with a gatekeeper that meets the same criteria then the gatekeeper is not changed, otherwise it is deleted (with unregistration) and new one created and registered to.
| address | Address of gatekeeper to use. |
| identifier | Identifier of gatekeeper to use. |
| localAddress | Local interface to use. |
Definition at line 1437 of file h323ep.cxx.
References H225_RAS::DefaultRasUdpPort, DiscoverGatekeeper(), gatekeeper, H225_RAS::GetIdentifier(), H323Transport::GetLocalAddress(), H323Transport::GetRemoteAddress(), H323Transactor::GetTransport(), H323TransportAddress::IsEquivalent(), LocateGatekeeper(), SetGatekeeper(), and SetGatekeeperZone().
| BOOL H323EndPoint::SetGatekeeper | ( | const PString & | address, | |
| H323Transport * | transport = NULL | |||
| ) |
Select and register with an explicit gatekeeper. This will use the specified transport and a string giving a transport dependent address to locate a specific gatekeeper. The endpoint will register with that gatekeeper and, if successful, set it as the current gatekeeper used by this endpoint.
Note the transport being passed in will be deleted by this function or the H323Gatekeeper object it becomes associated with. Also if transport is NULL then a H323TransportUDP is created.
| address | Address of gatekeeper to use. |
| transport | Transport over which to talk to gatekeeper. |
Definition at line 1483 of file h323ep.cxx.
References H323Gatekeeper::DiscoverByAddress(), InternalCreateGatekeeper(), and InternalRegisterGatekeeper().
Referenced by UseGatekeeper().
| BOOL H323EndPoint::SetGatekeeperZone | ( | const PString & | address, | |
| const PString & | identifier, | |||
| H323Transport * | transport = NULL | |||
| ) |
Select and register with an explicit gatekeeper and zone. This will use the specified transport and a string giving a transport dependent address to locate a specific gatekeeper. The endpoint will register with that gatekeeper and, if successful, set it as the current gatekeeper used by this endpoint.
The gatekeeper identifier is set to the spplied parameter to allow the gatekeeper to either allocate a zone or sub-zone, or refuse to register if the zones do not match.
Note the transport being passed in will be deleted by this function or the H323Gatekeeper object it becomes associated with. Also if transport is NULL then a H323TransportUDP is created.
| address | Address of gatekeeper to use. |
| identifier | Identifier of gatekeeper to use. |
| transport | Transport over which to talk to gatekeeper. |
Definition at line 1490 of file h323ep.cxx.
References H323Gatekeeper::DiscoverByNameAndAddress(), InternalCreateGatekeeper(), and InternalRegisterGatekeeper().
Referenced by UseGatekeeper().
| BOOL H323EndPoint::LocateGatekeeper | ( | const PString & | identifier, | |
| H323Transport * | transport = NULL | |||
| ) |
Locate and select gatekeeper. This function will use the automatic gatekeeper discovery methods to locate the gatekeeper on the particular transport that has the specified gatekeeper identifier name. This is often the "Zone" for the gatekeeper.
Note the transport being passed in will be deleted becomes owned by the H323Gatekeeper created by this function and will be deleted by it. Also if transport is NULL then a H323TransportUDP is created.
| identifier | Identifier of gatekeeper to locate. |
| transport | Transport over which to talk to gatekeeper. |
Definition at line 1499 of file h323ep.cxx.
References H323Gatekeeper::DiscoverByName(), InternalCreateGatekeeper(), and InternalRegisterGatekeeper().
Referenced by UseGatekeeper().
| BOOL H323EndPoint::DiscoverGatekeeper | ( | H323Transport * | transport = NULL |
) |
Discover and select gatekeeper. This function will use the automatic gatekeeper discovery methods to locate the first gatekeeper on a particular transport.
Note the transport being passed in will be deleted becomes owned by the H323Gatekeeper created by this function and will be deleted by it. Also if transport is NULL then a H323TransportUDP is created.
| transport | Transport over which to talk to gatekeeper. |
Definition at line 1506 of file h323ep.cxx.
References H323Gatekeeper::DiscoverAny(), InternalCreateGatekeeper(), and InternalRegisterGatekeeper().
Referenced by UseGatekeeper().
| H323Gatekeeper * H323EndPoint::CreateGatekeeper | ( | H323Transport * | transport | ) | [virtual] |
Create a gatekeeper. This allows the application writer to have the gatekeeper as a descendent of the H323Gatekeeper in order to add functionality to the base capabilities in the library.
The default creates an instance of the H323Gatekeeper class.
| transport | Transport over which gatekeepers communicates. |
Definition at line 1546 of file h323ep.cxx.
Referenced by InternalCreateGatekeeper(), and ParsePartyName().
| H323Gatekeeper* H323EndPoint::GetGatekeeper | ( | ) | const [inline] |
Get the gatekeeper we are registered with.
Definition at line 685 of file h323ep.h.
References gatekeeper.
Referenced by H323Connection::CleanUpOnCallEnd(), H323Connection::HandleSignalPDU(), H323Connection::OnReceivedSignalSetup(), H323Connection::SendSignalSetup(), and H323Connection::WriteSignalPDU().
| BOOL H323EndPoint::IsRegisteredWithGatekeeper | ( | ) | const |
Return if endpoint is registered with gatekeeper.
Definition at line 1552 of file h323ep.cxx.
References gatekeeper, and H323Gatekeeper::IsRegistered().
| BOOL H323EndPoint::RemoveGatekeeper | ( | int | reason = -1 |
) |
Unregister and delete the gatekeeper we are registered with. The return value indicates FALSE if there was an error during the unregistration. However the gatekeeper is still removed and its instance deleted regardless of this error.
| reason | Reason for gatekeeper removal |
Definition at line 1561 of file h323ep.cxx.
References ClearAllCalls(), gatekeeper, H323Gatekeeper::IsRegistered(), and H323Gatekeeper::UnregistrationRequest().
Referenced by InternalCreateGatekeeper(), and ~H323EndPoint().
| void H323EndPoint::SetGatekeeperPassword | ( | const PString & | password | ) | [virtual] |
Set the H.235 password for the gatekeeper.
Definition at line 1580 of file h323ep.cxx.
References H225_UnregRequestReason::e_reregistrationRequired, gatekeeper, gatekeeperPassword, InternalRegisterGatekeeper(), H323Gatekeeper::IsRegistered(), H323Gatekeeper::SetPassword(), and H323Gatekeeper::UnregistrationRequest().
| virtual const PString& H323EndPoint::GetGatekeeperPassword | ( | ) | const [inline, virtual] |
Get the H.235 password for the gatekeeper.
Definition at line 708 of file h323ep.h.
References gatekeeperPassword.
| BOOL H323EndPoint::GatekeeperCheckIP | ( | const H323TransportAddress & | oldAddr, | |
| H323TransportAddress & | newaddress | |||
| ) | [virtual] |
Check the IP of the Gatekeeper on reregistration Use this to check if Gatekeeper IP had changed (used for DDNS type registrations) Default returns FALSE
Definition at line 1592 of file h323ep.cxx.
Referenced by H323Gatekeeper::RegistrationRequest().
| H235Authenticators H323EndPoint::CreateAuthenticators | ( | ) | [virtual] |
Create a list of authenticators for gatekeeper.
Definition at line 1622 of file h323ep.cxx.
References H235Authenticator::AnyApplication, and H235Authenticator::GKAdmission.
Referenced by H323GatekeeperServer::OnDiscovery().
| void H323EndPoint::OnAdmissionRequest | ( | H323Connection & | connection | ) | [virtual] |
Called when sending a Admission Request to the gatekeeper
Definition at line 1598 of file h323ep.cxx.
| void H323EndPoint::OnGatekeeperConfirm | ( | ) | [virtual] |
Called when the gatekeeper sends a GatekeeperConfirm
Definition at line 1602 of file h323ep.cxx.
Referenced by H323Gatekeeper::OnReceiveGatekeeperConfirm().
| void H323EndPoint::OnGatekeeperReject | ( | ) | [virtual] |
Called when the gatekeeper sends a GatekeeperReject
Definition at line 1606 of file h323ep.cxx.
Referenced by H323Gatekeeper::OnReceiveGatekeeperReject().
| void H323EndPoint::OnRegistrationConfirm | ( | const H323TransportAddress & | rasAddress | ) | [virtual] |
Called when the gatekeeper sends a RegistrationConfirm
Definition at line 1610 of file h323ep.cxx.
Referenced by H323Gatekeeper::OnReceiveRegistrationConfirm().
| void H323EndPoint::OnRegistrationReject | ( | ) | [virtual] |
Called when the gatekeeper sends a RegistrationReject
Definition at line 1614 of file h323ep.cxx.
Referenced by H323Gatekeeper::OnReceiveRegistrationReject().
| void H323EndPoint::OnUnRegisterRequest | ( | ) | [virtual] |
Called when Unregistered by Gatekeeper
Definition at line 1618 of file h323ep.cxx.
Referenced by H323Gatekeeper::OnReceiveUnregistrationRequest().
| BOOL H323EndPoint::StartListener | ( | H323Listener * | listener | ) |
Add a listener to the endpoint. This allows for the automatic creating of incoming call connections. An application should use OnConnectionEstablished() to monitor when calls have arrived and been successfully negotiated.
Note if this returns TRUE, then the endpoint is responsible for deleting the H323Listener listener object. If FALSE is returned then the object is not deleted and it is up to the caller to release the memory allocated for the object.
If a listener already exists on the same transport address then it is ignored, but TRUE is still returned. The caller does not need to delete the object.
| listener | Transport dependent listener. |
Definition at line 1772 of file h323ep.cxx.
References H323Listener::GetTransportAddress(), listeners, and H323Listener::Open().
Referenced by StartListener(), and StartListeners().
| BOOL H323EndPoint::StartListener | ( | const H323TransportAddress & | iface | ) |
Add a listener to the endpoint. This allows for the automatic creating of incoming call connections. An application should use OnConnectionEstablished() to monitor when calls have arrived and been successfully negotiated.
If a listener already exists on the same address then it is ignored, but TRUE is still returned.
If the iface string is empty then "*" is assumed which will listen on the standard TCP port on INADDR_ANY.
| iface | Address of interface to listen on. |
Definition at line 1754 of file h323ep.cxx.
References H323TransportAddress::CreateListener(), DefaultTcpPort, and StartListener().
| BOOL H323EndPoint::StartListeners | ( | const H323TransportAddressArray & | ifaces | ) |
Add listeners to the endpoint. Set the collection of listeners which will allow the automatic creating of incoming call connections. An application should use OnConnectionEstablished() to monitor when calls have arrived and been successfully negotiated.
If a listener already exists on the interface specified in the list then it is ignored. If a listener does not yet exist a new one is created and if a listener is running that is not in the list then it is stopped and removed.
If the array is empty then the string "*" is assumed which will listen on the standard TCP port on INADDR_ANY.
Returns TRUE if at least one interface was successfully started.
| ifaces | Interfaces to listen on. |
Definition at line 1724 of file h323ep.cxx.
References listeners, and StartListener().
| BOOL H323EndPoint::RemoveListener | ( | H323Listener * | listener | ) |
Remove a listener from the endpoint. If the listener parameter is NULL then all listeners are removed.
| listener | Transport dependent listener. |
Definition at line 1800 of file h323ep.cxx.
References listeners.
| H323TransportAddressArray H323EndPoint::GetInterfaceAddresses | ( | BOOL | excludeLocalHost = TRUE, |
|
| H323Transport * | associatedTransport = NULL | |||
| ) |
Return a list of the transport addresses for all listeners on this endpoint
| excludeLocalHost | Flag to exclude 127.0.0.1 |
| associatedTransport | Associated transport for precedence and translation |
Definition at line 1813 of file h323ep.cxx.
References listeners.
Referenced by H323Gatekeeper::BuildInfoRequestResponse(), H323Gatekeeper::RegistrationRequest(), H323Transactor::SetUpCallSignalAddresses(), and H323Gatekeeper::UnregistrationRequest().
| H323Connection * H323EndPoint::MakeAuthenticatedCall | ( | const PString & | remoteParty, | |
| const PString & | UserName, | |||
| const PString & | Password, | |||
| PString & | token, | |||
| void * | userData = NULL | |||
| ) |
Make a Authenticated call to a remote party. This Function sets Security Information to be included when calling a EP which requires Authentication
| UserName | * Remote party to call |
| Password | * UserName to Use (Default is LocalPartyName) |
| token | * Password to Use (MUST NOT BE EMPTY) |
| userData | * String to receive token for connection* user data to pass to CreateConnection |
Definition at line 1715 of file h323ep.cxx.
References isSecureCall, MakeCall(), and SetEPCredentials().
| H323Connection * H323EndPoint::MakeCall | ( | const PString & | remoteParty, | |
| PString & | token, | |||
| void * | userData = NULL | |||
| ) |
Make a call to a remote party. An appropriate transport is determined from the remoteParty parameter. The general form for this parameter is [alias@][transport$]host[:port] where the default alias is the same as the host, the default transport is "ip" and the default port is 1720.
This function returns almost immediately with the call occurring in a new background thread. Note that the call could be created and cleared ie OnConnectionCleared is called BEFORE this function returns. It is guaranteed that the token variable is set before OnConnectionCleared called.
Note, the returned pointer to the connection is not locked and may be deleted at any time. This is extremely unlikely immediately after the function is called, but you should not keep this pointer beyond that brief time. The the FindConnectionWithLock() function for future references to the connection object. It is recommended that MakeCallLocked() be usedin instead.
| remoteParty | Remote party to call |
| token | String to receive token for connection |
| userData | user data to pass to CreateConnection |
Definition at line 1819 of file h323ep.cxx.
Referenced by MakeAuthenticatedCall().
| H323Connection * H323EndPoint::MakeCall | ( | const PString & | remoteParty, | |
| H323Transport * | transport, | |||
| PString & | token, | |||
| void * | userData = NULL | |||
| ) |
Make a call to a remote party using the specified transport. The remoteParty may be a hostname, alias or other user name that is to be passed to the transport, if present.
If the transport parameter is NULL the transport is determined from the remoteParty description.
This function returns almost immediately with the call occurring in a new background thread. Note that the call could be created and cleared ie OnConnectionCleared is called BEFORE this function returns. It is guaranteed that the token variable is set before OnConnectionCleared called.
Note, the returned pointer to the connection is not locked and may be deleted at any time. This is extremely unlikely immediately after the function is called, but you should not keep this pointer beyond that brief time. The the FindConnectionWithLock() function for future references to the connection object. It is recommended that MakeCallLocked() be usedin instead.
| remoteParty | Remote party to call |
| transport | Transport to use for call. |
| token | String to receive token for connection |
| userData | user data to pass to CreateConnection |
Definition at line 1827 of file h323ep.cxx.
References InternalMakeCall(), ResolveCallParty(), and H323Connection::Unlock().
| H323Connection * H323EndPoint::MakeCallLocked | ( | const PString & | remoteParty, | |
| PString & | token, | |||
| void * | userData = NULL, |
|||
| H323Transport * | transport = NULL | |||
| ) |
Make a call to a remote party using the specified transport. The remoteParty may be a hostname, alias or other user name that is to be passed to the transport, if present.
If the transport parameter is NULL the transport is determined from the remoteParty description.
This function returns almost immediately with the call occurring in a new background thread. However the call will not progress very far
| remoteParty | Remote party to call |
| token | String to receive token for connection |
| userData | user data to pass to CreateConnection |
| transport | Transport to use for call. |
Definition at line 1857 of file h323ep.cxx.
References InternalMakeCall(), and ResolveCallParty().
| virtual H323Connection* H323EndPoint::SetupTransfer | ( | const PString & | token, | |
| const PString & | callIdentity, | |||
| const PString & | remoteParty, | |||
| PString & | newToken, | |||
| void * | userData = NULL | |||
| ) | [virtual] |
Setup the transfer of an existing call (connection) to a new remote party using H.450.2. This sends a Call Transfer Setup Invoke message from the B-Party (transferred endpoint) to the C-Party (transferred-to endpoint).
If the transport parameter is NULL the transport is determined from the remoteParty description. The general form for this parameter is [alias@][transport$]host[:port] where the default alias is the same as the host, the default transport is "ip" and the default port is 1720.
This function returns almost immediately with the transfer occurring in a new background thread.
Note, the returned pointer to the connection is not locked and may be deleted at any time. This is extremely unlikely immediately after the function is called, but you should not keep this pointer beyond that brief time. The the FindConnectionWithLock() function for future references to the connection object.
This function is declared virtual to allow an application to override the function and get the new call token of the forwarded call.
| token | Existing connection to be transferred |
| callIdentity | Call identity of the secondary call (if it exists) |
| remoteParty | Remote party to transfer the existing call to |
| newToken | String to receive token for the new connection |
| userData | user data to pass to CreateConnection |
Referenced by H4502Handler::OnReceivedCallTransferInitiate().
| void H323EndPoint::TransferCall | ( | const PString & | token, | |
| const PString & | remoteParty, | |||
| const PString & | callIdentity = PString::Empty() | |||
| ) |
Initiate the transfer of an existing call (connection) to a new remote party using H.450.2. This sends a Call Transfer Initiate Invoke message from the A-Party (transferring endpoint) to the B-Party (transferred endpoint).
| token | Existing connection to be transferred |
| remoteParty | Remote party to transfer the existing call to |
| callIdentity | Call Identity of secondary call if present |
Referenced by H4502Handler::OnReceivedIdentifyReturnResult().
| void H323EndPoint::ConsultationTransfer | ( | const PString & | primaryCallToken, | |
| const PString & | secondaryCallToken | |||
| ) |
Transfer the call through consultation so the remote party in the primary call is connected to the called party in the second call using H.450.2. This sends a Call Transfer Identify Invoke message from the A-Party (transferring endpoint) to the C-Party (transferred-to endpoint).
| primaryCallToken | Token of primary call |
| secondaryCallToken | Token of secondary call |
| void H323EndPoint::HoldCall | ( | const PString & | token, | |
| BOOL | localHold | |||
| ) |
Place the call on hold, suspending all media channels (H.450.4) NOTE: Only Local Hold is implemented so far.
| token | Existing connection to be transferred |
| localHold | true for Local Hold, false for Remote Hold |
| H323Connection* H323EndPoint::IntrudeCall | ( | const PString & | remoteParty, | |
| PString & | token, | |||
| unsigned | capabilityLevel, | |||
| void * | userData = NULL | |||
| ) |
Initiate Call intrusion Designed similar to MakeCall function
| remoteParty | Remote party to intrude call |
| token | String to receive token for connection |
| capabilityLevel | Capability level |
| userData | user data to pass to CreateConnection |
| H323Connection* H323EndPoint::IntrudeCall | ( | const PString & | remoteParty, | |
| H323Transport * | transport, | |||
| PString & | token, | |||
| unsigned | capabilityLevel, | |||
| void * | userData = NULL | |||
| ) |
| remoteParty | Remote party to intrude call |
| transport | Transport to use for call. |
| token | String to receive token for connection |
| capabilityLevel | Capability level |
| userData | user data to pass to CreateConnection |
| BOOL H323EndPoint::ResolveCallParty | ( | const PString & | _remoteParty, | |
| PStringList & | addresses | |||
| ) |
Use DNS SRV and ENUM to resolve all the possible addresses a call party can be found. Only effective if not registered with Gatekeeper
Definition at line 2049 of file h323ep.cxx.
References gatekeeper.
Referenced by H323Connection::ForwardCall(), ForwardConnection(), MakeCall(), MakeCallLocked(), and H4502Handler::TransferCall().
| BOOL H323EndPoint::ParsePartyName | ( | const PString & | party, | |
| PString & | alias, | |||
| H323TransportAddress & | address | |||
| ) |
Parse a party address into alias and transport components. An appropriate transport is determined from the remoteParty parameter. The general form for this parameter is [alias@][transport$]host[:port] where the default alias is the same as the host, the default transport is "ip" and the default port is 1720.
| party | Party name string. |
| alias | Parsed alias name |
| address | Parsed transport address |
Definition at line 2115 of file h323ep.cxx.
References CreateGatekeeper(), H323Gatekeeper::DiscoverByAddress(), gatekeeper, and H323Gatekeeper::LocationRequest().
Referenced by H323Connection::ForwardCall(), InternalMakeCall(), and H4502Handler::TransferCall().
| BOOL H323EndPoint::ClearCall | ( | const PString & | token, | |
| H323Connection::CallEndReason | reason = H323Connection::EndedByLocalUser | |||
| ) | [virtual] |
Clear a current connection. This hangs up the connection to a remote endpoint. Note that this function is asynchronous
| token | Token for identifying connection |
| reason | Reason for call clearing |
Definition at line 2437 of file h323ep.cxx.
References ClearCallSynchronous().
Referenced by H323Connection::ClearCall(), H4502Handler::HandleConsultationTransfer(), H45011Handler::OnReceivedCIGetCIPLResult(), H4502Handler::OnReceivedSetupReturnError(), and H4502Handler::OnReceivedSetupReturnResult().
| void H323EndPoint::OnCallClearing | ( | H323Connection * | connection, | |
| H323Connection::CallEndReason | reason | |||
| ) | [virtual] |
Clearing a current connection. A connection is being cleared callback. This can be used for PBX applications to reallocate the line early without waiting for the cleaner thread to clean-up the connection.
| reason | * Connection being Cleared* Reason for call being cleared |
Definition at line 2443 of file h323ep.cxx.
Referenced by ClearCallSynchronous().
| BOOL H323EndPoint::ClearCallSynchronous | ( | const PString & | token, | |
| H323Connection::CallEndReason | reason = H323Connection::EndedByLocalUser | |||
| ) | [virtual] |
Clear a current connection. This hangs up the connection to a remote endpoint. Note that these functions are synchronous
| token | Token for identifying connection |
| reason | Reason for call clearing |
Definition at line 2448 of file h323ep.cxx.
Referenced by ClearCall(), and H323Connection::ClearCallSynchronous().
| BOOL H323EndPoint::ClearCallSynchronous | ( | const PString & | token, | |
| H323Connection::CallEndReason | reason, | |||
| PSyncPoint * | sync | |||
| ) | [virtual] |
| token | Token for identifying connection |
| reason | Reason for call clearing |
Definition at line 2455 of file h323ep.cxx.
References connectionsCleaner, connectionsMutex, connectionsToBeCleaned, FindConnectionWithoutLocks(), H323Connection::GetCallToken(), OnCallClearing(), H323Connection::SetCallEndReason(), and H323ConnectionsCleaner::Signal().
| void H323EndPoint::ClearAllCalls | ( | H323Connection::CallEndReason | reason = H323Connection::EndedByLocalUser, |
|
| BOOL | wait = TRUE | |||
| ) | [virtual] |
Clear all current connections. This hangs up all the connections to remote endpoints. The wait parameter is used to wait for all the calls to be cleared and their memory usage cleaned up before returning. This is typically used in the destructor for your descendant of H323EndPoint.
| reason | Reason for call clearing |
| wait | Flag for wait for calls to e cleared. |
Definition at line 2503 of file h323ep.cxx.
References connectionsActive, connectionsAreCleaned, connectionsCleaner, connectionsMutex, connectionsToBeCleaned, H323Connection::GetCallToken(), H323Connection::SetCallEndReason(), and H323ConnectionsCleaner::Signal().
Referenced by H323Gatekeeper::OnReceiveUnregistrationRequest(), RemoveGatekeeper(), and ~H323EndPoint().
| BOOL H323EndPoint::HasConnection | ( | const PString & | token | ) | [virtual] |
Determine if a connection is active.
| token | Token for identifying connection |
Definition at line 2590 of file h323ep.cxx.
References connectionsMutex, and FindConnectionWithoutLocks().
Referenced by H45011Handler::OnReceivedCallIntrusionForcedRelease().
| H323Connection * H323EndPoint::FindConnectionWithLock | ( | const PString & | token | ) |
Find a connection that uses the specified token. This searches the endpoint for the connection that contains the token as provided by functions such as MakeCall() (as built by the BuildConnectionToken() function). if not found it will then search for the string representation of the CallIdentifier for the connection, and finally try for the string representation of the ConferenceIdentifier.
Note the caller of this function MUSt call the H323Connection::Unlock() function if this function returns a non-NULL pointer. If it does not then a deadlock can occur.
| token | Token to identify connection |
Definition at line 2598 of file h323ep.cxx.
References connectionsMutex, FindConnectionWithoutLocks(), and H323Connection::TryLock().
Referenced by IsConnectionEstablished(), H323Gatekeeper::OnReceiveBandwidthRequest(), H4502Handler::onReceivedAdmissionReject(), H45011Handler::OnReceivedCallIntrusionForcedRelease(), H45011Handler::OnReceivedCIGetCIPLResult(), H4502Handler::OnReceivedIdentifyReturnResult(), H4502Handler::OnReceivedInitiateReturnError(), H323Gatekeeper::OnReceiveDisengageRequest(), H4502Handler::OnReceivedSetupReturnError(), and H323Gatekeeper::OnReceiveInfoRequest().
| PStringList H323EndPoint::GetAllConnections | ( | ) |
Get all calls current on the endpoint.
Definition at line 2657 of file h323ep.cxx.
References connectionsActive, and connectionsMutex.
Referenced by H323Gatekeeper::ClearInfoRequestRate(), H323Gatekeeper::InfoRequestResponse(), H45011Handler::OnReceivedCallIntrusionForcedRelease(), and H323Gatekeeper::OnReceiveInfoRequest().
| BOOL H323EndPoint::OnIncomingCall | ( | H323Connection & | connection, | |
| const H323SignalPDU & | setupPDU, | |||
| H323SignalPDU & | alertingPDU | |||
| ) | [virtual] |
Call back for incoming call. This function is called from the OnReceivedSignalSetup() function before it sends the Alerting PDU. It gives an opportunity for an application to alter the reply before transmission to the other endpoint.
If FALSE is returned the connection is aborted and a Release Complete PDU is sent.
The default behaviour simply returns TRUE.
| connection | Connection that was established |
| setupPDU | Received setup PDU |
| alertingPDU | Alerting PDU to send |
Definition at line 2672 of file h323ep.cxx.
Referenced by H323Connection::OnIncomingCall().
| BOOL H323EndPoint::OnIncomingCall | ( | H323Connection & | connection, | |
| const H323SignalPDU & | setupPDU, | |||
| H323SignalPDU & | alertingPDU, | |||
| H323Connection::CallEndReason & | reason | |||
| ) | [virtual] |
| connection | Connection that was established |
| setupPDU | Received setup PDU |
| alertingPDU | Alerting PDU to send |
| reason | reason for call refusal, if returned false |
Definition at line 2679 of file h323ep.cxx.
References H323Connection::EndedByNoAccept, and H323Connection::OnIncomingCall().
| BOOL H323EndPoint::OnCallTransferInitiate | ( | H323Connection & | connection, | |
| const PString & | remoteParty | |||
| ) | [virtual] |
Handle a connection transfer. This gives the application an opportunity to abort the transfer. The default behaviour just returns TRUE.
| connection | Connection to transfer |
| remoteParty | Party transferring to. |
Definition at line 2688 of file h323ep.cxx.
Referenced by H4502Handler::OnReceivedCallTransferInitiate().
| BOOL H323EndPoint::OnCallTransferIdentify | ( | H323Connection & | connection | ) | [virtual] |
Handle a transfer via consultation. This gives the transferred-to user an opportunity to abort the transfer. The default behaviour just returns TRUE.
| connection | Connection to transfer |
Definition at line 2695 of file h323ep.cxx.
Referenced by H4502Handler::OnReceivedCallTransferIdentify().
| void H323EndPoint::OnSendARQ | ( | H323Connection & | conn, | |
| H225_AdmissionRequest & | arq | |||
| ) | [virtual] |
Callback for ARQ send to a gatekeeper. This allows the endpoint to change or check fields in the ARQ before it is sent.
Definition at line 2700 of file h323ep.cxx.
Referenced by H323Connection::OnSendARQ().
| void H323EndPoint::OnReceivedACF | ( | H323Connection & | conn, | |
| const H225_AdmissionConfirm & | acf | |||
| ) | [virtual] |
Callback for ACF sent back from gatekeeper.
Definition at line 2704 of file h323ep.cxx.
Referenced by H323Connection::OnReceivedACF().
| void H323EndPoint::OnReceivedARJ | ( | H323Connection & | conn, | |
| const H225_AdmissionReject & | arj | |||
| ) | [virtual] |
Callback for ARJ sent back from gatekeeper.
Definition at line 2708 of file h323ep.cxx.
Referenced by H323Connection::OnReceivedARJ().
| virtual H323Connection::AnswerCallResponse H323EndPoint::OnAnswerCall | ( | H323Connection & | connection, | |
| const PString & | callerName, | |||
| const H323SignalPDU & | setupPDU, | |||
| H323SignalPDU & | connectPDU | |||
| ) | [virtual] |
Call back for answering an incoming call. This function is called from the OnReceivedSignalSetup() function before it sends the Connect PDU. It gives an opportunity for an application to alter the reply before transmission to the other endpoint.
It also gives an application time to wait for some event before signalling to the endpoint that the connection is to proceed. For example the user pressing an "Answer call" button.
If AnswerCallDenied is returned the connection is aborted and a Release Complete PDU is sent. If AnswerCallNow is returned then the H.323 protocol proceeds. Finally if AnswerCallPending is returned then the protocol negotiations are paused until the AnsweringCall() function is called.
The default behaviour simply returns AnswerNow.
| connection | Connection that was established |
| callerName | Name of caller |
| setupPDU | Received setup PDU |
| connectPDU | Connect PDU to send. |
Referenced by H323Connection::OnAnswerCall().
| BOOL H323EndPoint::OnAlerting | ( | H323Connection & | connection, | |
| const H323SignalPDU & | alertingPDU, | |||
| const PString & | user | |||
| ) | [virtual] |
Call back for remote party being alerted. This function is called from the SendSignalSetup() function after it receives the optional Alerting PDU from the remote endpoint. That is when the remote "phone" is "ringing".
If FALSE is returned the connection is aborted and a Release Complete PDU is sent.
The default behaviour simply returns TRUE.
| connection | Connection that was established |
| alertingPDU | Received Alerting PDU |
| user | Username of remote endpoint |
Definition at line 2723 of file h323ep.cxx.
Referenced by H323Connection::OnAlerting().
| BOOL H323EndPoint::OnConnectionForwarded | ( | H323Connection & | connection, | |
| const PString & | forwardParty, | |||
| const H323SignalPDU & | pdu | |||
| ) | [virtual] |
A call back function when a connection indicates it is to be forwarded. An H323 application may handle this call back so it can make complicated decisions on if the call forward ius to take place. If it decides to do so it must call MakeCall() and return TRUE.
The default behaviour simply returns FALSE and that the automatic call forwarding should take place. See ForwardConnection()
| connection | Connection to be forwarded |
| forwardParty | Remote party to forward to |
| pdu | Full PDU initiating forwarding |
Definition at line 2732 of file h323ep.cxx.
Referenced by H323Connection::OnReceivedFacility().
| BOOL H323EndPoint::ForwardConnection | ( | H323Connection & | connection, | |
| const PString & | forwardParty, | |||
| const H323SignalPDU & | pdu | |||
| ) | [virtual] |
Forward the call using the same token as the specified connection. Return TRUE if the call is being redirected.
The default behaviour will replace the current call in the endpoints call list using the same token as the call being redirected. Not that even though the same token is being used the actual object is completely mad anew.
| connection | Connection to be forwarded |
| forwardParty | Remote party to forward to |
| pdu | Full PDU initiating forwarding |
Definition at line 2740 of file h323ep.cxx.
References H323Connection::EndedByCallForwarded, H323Connection::GetCallToken(), InternalMakeCall(), ResolveCallParty(), H323Connection::SetCallEndReason(), and H323Connection::Unlock().
Referenced by H323Connection::OnReceivedFacility().
| void H323EndPoint::OnConnectionEstablished | ( | H323Connection & | connection, | |
| const PString & | token | |||
| ) | [virtual] |
A call back function whenever a connection is established. This indicates that a connection to a remote endpoint was established with a control channel and zero or more logical channels.
The default behaviour does nothing.
| connection | Connection that was established |
| token | Token for identifying connection |
Definition at line 2773 of file h323ep.cxx.
Referenced by H323Connection::OnEstablished().
| BOOL H323EndPoint::IsConnectionEstablished | ( | const PString & | token | ) | [virtual] |
Determine if a connection is established.
| token | Token for identifying connection |
Definition at line 2779 of file h323ep.cxx.
References FindConnectionWithLock(), H323Connection::IsEstablished(), and H323Connection::Unlock().
| void H323EndPoint::OnConnectionCleared | ( | H323Connection & | connection, | |
| const PString & | token | |||
| ) | [virtual] |
A call back function whenever a connection is broken. This indicates that a connection to a remote endpoint is no longer available.
The default behaviour does nothing.
| connection | Connection that was established |
| token | Token for identifying connection |
Definition at line 2799 of file h323ep.cxx.
Referenced by H323Connection::OnCleared().
| PString H323EndPoint::BuildConnectionToken | ( | const H323Transport & | transport, | |
| unsigned | callReference, | |||
| BOOL | fromRemote | |||
| ) | [static] |
Build a unique token for the connection. This identifies the call using the Q931 transport host name and the Q931 call reference number.
| transport | Transport for connection |
| callReference | Call reference of Q.931 link |
| fromRemote | Call reference is from remote endpoint |
Definition at line 2805 of file h323ep.cxx.
References H323Transport::GetRemoteAddress().
Referenced by InternalMakeCall(), and OnIncomingConnection().
| H323Connection * H323EndPoint::OnIncomingConnection | ( | H323Transport * | transport, | |
| H323SignalPDU & | setupPDU | |||
| ) | [virtual] |
Handle a new incoming connection. This will examine the setup PDU and either attach the signalling transport to an existing connection that has the same Q.931 call reference, or creates a new connection using CreateConnection().
| transport | Transport for connection |
| setupPDU | Setup PDU |
Definition at line 2822 of file h323ep.cxx.
References H323Connection::AttachSignalChannel(), BuildConnectionToken(), connectionsActive, connectionsMutex, CreateConnection(), Q931::GetCallReference(), and H323SignalPDU::GetQ931().
Referenced by H323Transport::HandleFirstSignallingChannelPDU().
| BOOL H323EndPoint::OnOutgoingCall | ( | H323Connection & | conn, | |
| const H323SignalPDU & | connectPDU | |||
| ) | [virtual] |
Called when an outgoing call connects If FALSE is returned the connection is aborted and a Release Complete PDU is sent.
The default behaviour simply returns TRUE.
Definition at line 2791 of file h323ep.cxx.
Referenced by H323Connection::OnOutgoingCall().
| H323Connection * H323EndPoint::CreateConnection | ( | unsigned | callReference, | |
| void * | userData, | |||
| H323Transport * | transport, | |||
| H323SignalPDU * | setupPDU | |||
| ) | [virtual] |
Create a connection that uses the specified call reference.
| callReference | Call reference to use |
| userData | user data to pass to CreateConnection |
| transport | Transport for connection |
| setupPDU | Setup PDU, NULL if outgoing call |
Definition at line 2852 of file h323ep.cxx.
Referenced by CreateConnection(), InternalMakeCall(), and OnIncomingConnection().
| H323Connection * H323EndPoint::CreateConnection | ( | unsigned | callReference, | |
| void * | userData | |||
| ) | [virtual] |
| callReference | Call reference to use |
| userData | user data to pass to CreateConnection |
Definition at line 2861 of file h323ep.cxx.
References CreateConnection().
| H323Connection * H323EndPoint::CreateConnection | ( | unsigned | callReference | ) | [virtual] |
| void H323EndPoint::CleanUpConnections | ( | ) | [virtual] |
Clean up connections. This function is called from a background thread and checks for closed connections to clean up.
This would not normally be called by an application.
Definition at line 2538 of file h323ep.cxx.
References H323Connection::CleanUpOnCallEnd(), connectionsActive, connectionsAreCleaned, connectionsMutex, connectionsToBeCleaned, and H323Connection::OnCleared().
Referenced by H323ConnectionsCleaner::Main(), and ~H323EndPoint().
| H235Authenticators H323EndPoint::CreateEPAuthenticators | ( | ) | [virtual] |
Create a list of authenticators for Call Authentication. To Create a list of Autheniticators the Endpoint MUST have set EPSecurityPassword (via SetEPCredentials()) and either set CallAuthPolicy (via SetEPSecurityPolicy()) or set isSecureCall to TRUE (via MakeAuthenticatedCall())
Definition at line 1639 of file h323ep.cxx.
References H235Authenticator::AnyApplication, H235Authenticator::EPAuthentication, GetEPCredentials(), GetEPSecurityPolicy(), isSecureCall, SecNone, and SetEPCredentials().
| BOOL H323EndPoint::GetEPCredentials | ( | PString & | password, | |
| PString & | username | |||
| ) | [virtual] |
Retrieve Password and UserName for EPAuthentication NOTE: Returns FALSE is EPSecurityPassword.IsEmpty()
| username | * Password to use for call* Username to use for call |
Definition at line 1667 of file h323ep.cxx.
References EPSecurityPassword, EPSecurityUserName, and GetLocalUserName().
Referenced by CreateEPAuthenticators().
| void H323EndPoint::SetEPCredentials | ( | PString | password, | |
| PString | username | |||
| ) | [virtual] |
Set the Password and UserName for EPAuthentication for Connection
| username | * Password to use for call* Username to use for call |
Definition at line 1683 of file h323ep.cxx.
References EPSecurityPassword, and EPSecurityUserName.
Referenced by CreateEPAuthenticators(), H323EndPoint(), and MakeAuthenticatedCall().
| void H323EndPoint::SetEPSecurityPolicy | ( | EPSecurityPolicy | policy | ) | [virtual] |
Set the EP Security Policy
Definition at line 1689 of file h323ep.cxx.
References CallAuthPolicy.
Referenced by H323EndPoint().
| H323EndPoint::EPSecurityPolicy H323EndPoint::GetEPSecurityPolicy | ( | ) | [virtual] |
Get the EP Security Policy
Definition at line 1694 of file h323ep.cxx.
References CallAuthPolicy.
Referenced by CreateEPAuthenticators(), and H323Connection::OnReceivedSignalSetup().
| H235AuthenticatorList H323EndPoint::GetAuthenticatorList | ( | ) |
Retrieve the List of UserNames/Passwords to be used to Authenticate Incoming Calls.
Definition at line 1699 of file h323ep.cxx.
References EPAuthList.
| BOOL H323EndPoint::OnCallAuthentication | ( | const PString & | username, | |
| PString & | password | |||
| ) | [virtual] |
Call Authentication Call Back This fires for all the Authentication Methods created by CreateEPAuthenticators() The Function Supplies the Name of the Authentication process and the supplied SenderID (Username) and this is then check against EPAuthList to: 1. Check if the username exists and if so 2. Return the password in the clear to validate. Returning FALSE indicates that Authentication Failed failed for that Method..
| password | * UserName of Caller* Password related to caller |
Definition at line 1704 of file h323ep.cxx.
References EPAuthList.
Referenced by H323Connection::OnCallAuthentication().
| virtual BOOL H323EndPoint::OnStartLogicalChannel | ( | H323Connection & | connection, | |
| H323Channel & | channel | |||
| ) | [virtual] |
Call back for opening a logical channel.
The default behaviour simply returns TRUE.
| connection | Connection for the channel |
| channel | Channel being started |
Referenced by H323Connection::OnStartLogicalChannel().
| virtual void H323EndPoint::OnClosedLogicalChannel | ( | H323Connection & | connection, | |
| const H323Channel & | channel | |||
| ) | [virtual] |
Call back for closed a logical channel.
The default behaviour does nothing.
| connection | Connection for the channel |
| channel | Channel being started |
Referenced by H323Connection::OnClosedLogicalChannel().
| virtual BOOL H323EndPoint::OpenAudioChannel | ( | H323Connection & | connection, | |
| BOOL | isEncoding, | |||
| unsigned | bufferSize, | |||
| H323AudioCodec & | codec | |||
| ) | [virtual] |
Open a channel for use by an audio codec. The H323AudioCodec class will use this function to open the channel to read/write PCM data.
The default function creates a PSoundChannel using the member variables soundChannelPlayDevice or soundChannelRecordDevice.
| connection | Connection for the channel |
| isEncoding | Direction of data flow |
| bufferSize | Size of each sound buffer |
| codec | codec that is doing the opening |
Referenced by H323Connection::OpenAudioChannel().
| virtual BOOL H323EndPoint::OpenVideoChannel | ( | H323Connection & | connection, | |
| BOOL | isEncoding, | |||
| H323VideoCodec & | codec | |||
| ) | [virtual] |
Open a channel for use by an video codec. The H323VideoCodec class will use this function to open the channel to read/write image data (which is one frame in a video stream - YUV411 format).
The default function creates a PVideoChannel using the member variables.
| connection | Connection for the channel |
| isEncoding | Direction of data flow |
| codec | codec doing the opening |
Referenced by H323Connection::OpenVideoChannel().
| void H323EndPoint::OnRTPStatistics | ( | const H323Connection & | connection, | |
| const RTP_Session & | session | |||
| ) | const [virtual] |
Callback from the RTP session for statistics monitoring. This is called every so many packets on the transmitter and receiver threads of the RTP session indicating that the statistics have been updated.
The default behaviour does nothing.
| connection | Connection for the channel |
| session | Session with statistics |
Definition at line 2990 of file h323ep.cxx.
Referenced by H323Connection::OnRTPStatistics().
| void H323EndPoint::OnRTPFinalStatistics | ( | const H323Connection & | connection, | |
| const RTP_Session & | session | |||
| ) | const [virtual] |
Callback from the RTP session for statistics monitoring. This is called at the end of the RTP session indicating that the statistics of the call
The default behaviour does nothing.
| connection | Connection for the channel |
| session | Session with statistics |
Definition at line 2995 of file h323ep.cxx.
Referenced by H323Connection::OnRTPFinalStatistics().
| void H323EndPoint::OnUserInputString | ( | H323Connection & | connection, | |
| const PString & | value | |||
| ) | [virtual] |
Call back for remote enpoint has sent user input as a string.
The default behaviour does nothing.
| connection | Connection for the input |
| value | String value of indication |
Definition at line 3001 of file h323ep.cxx.
Referenced by H323Connection::OnUserInputString().
| void H323EndPoint::OnUserInputTone | ( | H323Connection & | connection, | |
| char | tone, | |||
| unsigned | duration, | |||
| unsigned | logicalChannel, | |||
| unsigned | rtpTimestamp | |||
| ) | [virtual] |
Call back for remote enpoint has sent user input.
The default behaviour calls H323Connection::OnUserInputTone().
| connection | Connection for the input |
| tone | DTMF tone code |
| duration | Duration of tone in milliseconds |
| logicalChannel | Logical channel number for RTP sync. |
| rtpTimestamp | RTP timestamp in logical channel sync. |
Definition at line 3007 of file h323ep.cxx.
References H323Connection::OnUserInputString().
Referenced by H323Connection::OnUserInputTone().
| void H323EndPoint::OnGatekeeperNATDetect | ( | PIPSocket::Address | publicAddr, | |
| PString & | gkIdentifier, | |||
| H323TransportAddress & | gkRouteAddress | |||
| ) | [virtual] |
Call back from GK admission confirm to notify the Endpoint it is behind a NAT (GNUGK Gatekeeper) The default does nothing. Override this to notify the user they are behind a NAT.
| publicAddr | Public address as returned by the Gatekeeper |
| gkIdentifier | Identifier at the gatekeeper |
| gkRouteAddress | Gatekeeper Route Address |
Definition at line 3018 of file h323ep.cxx.
Referenced by H323Gatekeeper::OnReceiveRegistrationConfirm().
| void H323EndPoint::OnGatekeeperOpenNATDetect | ( | PString & | gkIdentifier, | |
| H323TransportAddress & | gkRouteAddress | |||
| ) | [virtual] |
Call back from GK admission confirm to notify the Endpoint it is not detected as being NAT (GNUGK Gatekeeper) The default does nothing. Override this to notify the user they are not NAT so they can confirm that it is true.
| gkIdentifier | Identifier at the gatekeeper |
| gkRouteAddress | Gatekeeper Route Address |
Definition at line 3026 of file h323ep.cxx.
Referenced by H323Gatekeeper::OnReceiveRegistrationConfirm().
| BOOL H323EndPoint::OnGatekeeperAliases | ( | const H225_ArrayOf_AliasAddress & | aliases | ) | [virtual] |
Call back for GK assigned aliases returned from the gatekeeper in the RCF. The default returns FALSE which appends the new aliases to the existing alias list. By overriding this function and returning TRUE overrides the default operation
| aliases | Alias List returned from the gatekeeper |
Definition at line 3033 of file h323ep.cxx.
Referenced by H323Gatekeeper::OnReceiveRegistrationConfirm().
| virtual void H323EndPoint::OnHTTPServiceControl | ( | unsigned | operation, | |
| unsigned | sessionId, | |||
| const PString & | url | |||
| ) | [virtual] |
Call back for HTTP based Service Control. An application may override this to use an HTTP link to display call information/CDR's or Billing information.
The default behaviour does nothing.
| operation | Control operation |
| sessionId | Session ID for HTTP page |
| url | URL to use. |
Referenced by H323HTTPServiceControl::OnChange().
| virtual void H323EndPoint::OnCallCreditServiceControl | ( | const PString & | amount, | |
| BOOL | mode, | |||
| const unsigned & | durationLimit | |||
| ) | [virtual] |
Call back for Call Credit Service Control. An application may override this to display call credit Information.
The default behaviour does nothing.
| amount | UTF-8 string for amount, including currency. |
| mode | Flag indicating that calls will debit the account. |
| durationLimit | Duration Limit (used to decrement display) |
Referenced by H323CallCreditServiceControl::OnChange().
| virtual void H323EndPoint::OnCallCreditServiceControl | ( | const PString & | amount, | |
| BOOL | mode | |||
| ) | [virtual] |
Call back for call credit information. An application may override this to display call credit information on registration, or when a call is started.
The canDisplayAmountString member variable must also be set to TRUE for this to operate.
The default behaviour does nothing.
| amount | UTF-8 string for amount, including currency. |
| mode | Flag indicating that calls will debit the account. |
| virtual void H323EndPoint::OnServiceControlSession | ( | unsigned | type, | |
| unsigned | sessionid, | |||
| const H323ServiceControlSession & | session, | |||
| H323Connection * | connection | |||
| ) | [virtual] |
Handle incoming service control session information. Default behaviour calls session.OnChange()
| virtual H323ServiceControlSession* H323EndPoint::CreateServiceControlSession | ( | const H225_ServiceControlDescriptor & | contents | ) | [virtual] |
Create the service control session object.
| virtual OpalT120Protocol* H323EndPoint::CreateT120ProtocolHandler | ( | const H323Connection & | connection | ) | const [virtual] |
Create an instance of the T.120 protocol handler. This is called when the OpenLogicalChannel subsystem requires that a T.120 channel be established.
Note that if the application overrides this it should return a pointer to a heap variable (using new) as it will be automatically deleted when the H323Connection is deleted.
The default behavour returns NULL.
| connection | Connection for which T.120 handler created |
| virtual OpalT38Protocol* H323EndPoint::CreateT38ProtocolHandler | ( | const H323Connection & | connection | ) | const [virtual] |
Create an instance of the T.38 protocol handler. This is called when the OpenLogicalChannel subsystem requires that a T.38 fax channel be established.
Note that if the application overrides this it should return a pointer to a heap variable (using new) as it will be automatically deleted when the H323Connection is deleted.
The default behavour returns NULL.
| connection | Connection for which T.38 handler created |
| virtual OpalH224Handler* H323EndPoint::CreateH224ProtocolHandler | ( | H323Connection & | connection, | |
| unsigned | sessionID | |||
| ) | const [virtual] |
Create an instance of the H.224 protocol handler. This is called when the subsystem requires that a H.224 channel be established.
Note that if the application overrides this it should return a pointer to a heap variable (using new) as it will be automatically deleted when the Connection is deleted.
The default behaviour calls the OpalManager function of the same name.
| virtual OpalH281Handler* H323EndPoint::CreateH281ProtocolHandler | ( | OpalH224Handler & | h224Handler | ) | const [virtual] |
Create an instance of the H.224 protocol handler. This is called when the subsystem requires that a H.224 channel be established.
Note that if the application overrides this it should return a pointer to a heap variable (using new) as it will be automatically deleted when the Connection is deleted.
The default behaviour calls the OpalManager function of the same name
| BOOL H323EndPoint::OnConferenceInvite | ( | BOOL | sending, | |
| const H323Connection * | connection, | |||
| const H323SignalPDU & | setupPDU | |||
| ) | [virtual] |
Called when an endpoint receives a SETUP PDU with a conference goal of "invite"
The default behaviour is to return FALSE, which will close the connection
| sending | direction |
| connection | Connection |
| setupPDU | PDU message |
Definition at line 3091 of file h323ep.cxx.
Referenced by H323SignalPDU::BuildSetup(), and H323Connection::OnReceivedSignalSetup().
| BOOL H323EndPoint::OnSendCallIndependentSupplementaryService | ( | const H323Connection * | connection, | |
| H323SignalPDU & | pdu | |||
| ) | [virtual] |
Called when an endpoint receives a SETUP PDU with a conference goal of "callIndependentSupplementaryService"
The default behaviour is to return FALSE, which will close the connection
| connection | Connection |
| pdu | PDU message |
Definition at line 3098 of file h323ep.cxx.
Referenced by H323SignalPDU::BuildSetup().
| BOOL H323EndPoint::OnReceiveCallIndependentSupplementaryService | ( | const H323Connection * | connection, | |
| const H323SignalPDU & | pdu | |||
| ) | [virtual] |
| connection | Connection |
| pdu | PDU message |
Definition at line 3104 of file h323ep.cxx.
Referenced by H323Connection::OnReceivedSignalSetup().
| BOOL H323EndPoint::OnNegotiateConferenceCapabilities | ( | const H323SignalPDU & | setupPDU | ) | [virtual] |
Called when an endpoint receives a SETUP PDU with a conference goal of "capability_negotiation"
The default behaviour is to return FALSE, which will close the connection
Definition at line 3110 of file h323ep.cxx.
Referenced by H323Connection::OnReceivedSignalSetup().
| void H323EndPoint::SetLocalUserName | ( | const PString & | name | ) | [virtual] |
Set the user name to be used for the local end of any connections. This defaults to the logged in user as obtained from the PProcess::GetUserName() function.
Note that this name is technically the first alias for the endpoint. Additional aliases may be added by the use of the AddAliasName() function, however that list will be cleared when this function is used.
| name | Local name of endpoint (prime alias) |
Definition at line 3146 of file h323ep.cxx.
References localAliasNames.
| virtual const PString& H323EndPoint::GetLocalUserName | ( | ) | const [inline, virtual] |
Get the user name to be used for the local end of any connections. This defaults to the logged in user as obtained from the PProcess::GetUserName() function.
Definition at line 1663 of file h323ep.h.
References localAliasNames.
Referenced by H323PeerElement::Construct(), GetEPCredentials(), and H323Gatekeeper::SetPassword().
| BOOL H323EndPoint::AddAliasName | ( | const PString & | name | ) |
Add an alias name to be used for the local end of any connections. If the alias name already exists in the list then is is not added again.
The list defaults to the value set in the SetLocalUserName() function. Note that calling SetLocalUserName() will clear the alias list.
| name | New alias name to add |
Definition at line 3157 of file h323ep.cxx.
References localAliasNames.
Referenced by H323Gatekeeper::OnReceiveRegistrationConfirm().
| BOOL H323EndPoint::RemoveAliasName | ( | const PString & | name | ) |
Remove an alias name used for the local end of any connections. defaults to an empty list.
| name | New alias namer to add |
Definition at line 3169 of file h323ep.cxx.
References localAliasNames.
Referenced by H323Gatekeeper::OnReceiveRegistrationConfirm().
| const PStringList& H323EndPoint::GetAliasNames | ( | ) | const [inline] |
Get the user name to be used for the local end of any connections. This defaults to the logged in user as obtained from the PProcess::GetUserName() function.
Definition at line 1686 of file h323ep.h.
References localAliasNames.
Referenced by H323Gatekeeper::BuildInfoRequestResponse(), H323Gatekeeper::LocationRequest(), H323Gatekeeper::OnReceiveRegistrationConfirm(), H323Gatekeeper::RegistrationRequest(), H323Gatekeeper::SetupGatekeeperRequest(), and H323Gatekeeper::UnregistrationRequest().
| BOOL H323EndPoint::IsFastStartDisabled | ( | ) | const [inline] |
Get the default fast start mode.
Definition at line 1704 of file h323ep.h.
References disableFastStart.
Referenced by H323Connection::H323Connection().
| void H323EndPoint::DisableFastStart | ( | BOOL | mode | ) | [inline] |
Set the default fast start mode.
| mode | New default mode |
Definition at line 1709 of file h323ep.h.
References disableFastStart.
| BOOL H323EndPoint::IsH245TunnelingDisabled | ( | ) | const [inline] |
Get the default H.245 tunneling mode.
Definition at line 1715 of file h323ep.h.
References disableH245Tunneling.
Referenced by H323Connection::H323Connection().
| void H323EndPoint::DisableH245Tunneling | ( | BOOL | mode | ) | [inline] |
Set the default H.245 tunneling mode.
| mode | New default mode |
Definition at line 1720 of file h323ep.h.
References disableH245Tunneling.
| BOOL H323EndPoint::IsH245inSetupDisabled | ( | ) | const [inline] |
Get the default H.245 tunneling mode.
Definition at line 1726 of file h323ep.h.
References disableH245inSetup.
Referenced by H323Connection::H323Connection().
| void H323EndPoint::DisableH245inSetup | ( | BOOL | mode | ) | [inline] |
Set the default H.245 tunneling mode.
| mode | New default mode |
Definition at line 1731 of file h323ep.h.
References disableH245inSetup.
| BOOL H323EndPoint::DetectInBandDTMFDisabled | ( | ) | const [inline] |
Get the detect in-band DTMF flag.
Definition at line 1737 of file h323ep.h.
References disableDetectInBandDTMF.
Referenced by H323Connection::H323Connection().
| void H323EndPoint::DisableDetectInBandDTMF | ( | BOOL | mode | ) | [inline] |
Set the detect in-band DTMF flag.
| mode | New default mode |
Definition at line 1742 of file h323ep.h.
References disableDetectInBandDTMF.
| BOOL H323EndPoint::CanDisplayAmountString | ( | ) | const [inline] |
Get the flag indicating the endpoint can display an amount string.
Definition at line 1748 of file h323ep.h.
References canDisplayAmountString.
Referenced by H323Gatekeeper::RegistrationRequest().
| void H323EndPoint::SetCanDisplayAmountString | ( | BOOL | mode | ) | [inline] |
Set the flag indicating the endpoint can display an amount string.
| mode | New default mode |
Definition at line 1753 of file h323ep.h.
References canDisplayAmountString.
| BOOL H323EndPoint::CanEnforceDurationLimit | ( | ) | const [inline] |
Get the flag indicating the call will automatically clear after a time.
Definition at line 1759 of file h323ep.h.
References canEnforceDurationLimit.
Referenced by H323Gatekeeper::RegistrationRequest().
| void H323EndPoint::SetCanEnforceDurationLimit | ( | BOOL | mode | ) | [inline] |
Set the flag indicating the call will automatically clear after a time.
| mode | New default mode |
Definition at line 1764 of file h323ep.h.
References canEnforceDurationLimit.
| unsigned H323EndPoint::GetCallIntrusionProtectionLevel | ( | ) | const [inline] |
Get Call Intrusion Protection Level of the end point.
Definition at line 1806 of file h323ep.h.
References callIntrusionProtectionLevel.
Referenced by H323Connection::H323Connection(), and H45011Handler::OnReceivedCallIntrusionGetCIPL().
| void H323EndPoint::SetCallIntrusionProtectionLevel | ( | unsigned | level | ) | [inline] |
Set Call Intrusion Protection Level of the end point.
| level | New level from 0 to 3 |
Definition at line 1810 of file h323ep.h.
References callIntrusionProtectionLevel.
| virtual void H323EndPoint::OnReceivedInitiateReturnError | ( | ) | [virtual] |
Called from H.450 OnReceivedInitiateReturnError
Referenced by H4502Handler::OnReceivedInitiateReturnError().
| H323AudioCodec::SilenceDetectionMode H323EndPoint::GetSilenceDetectionMode | ( | ) | const [inline] |
Get the default silence detection mode.
Definition at line 1871 of file h323ep.h.
References defaultSilenceDetection.
Referenced by H323Channel::GetCodec().
| void H323EndPoint::SetSilenceDetectionMode | ( | H323AudioCodec::SilenceDetectionMode | mode | ) | [inline] |
Set the default silence detection mode.
| mode | New default mode |
Definition at line 1876 of file h323ep.h.
References defaultSilenceDetection.
| H323Connection::SendUserInputModes H323EndPoint::GetSendUserInputMode | ( | ) | const [inline] |
Get the default mode for sending User Input Indications.
Definition at line 1884 of file h323ep.h.
References defaultSendUserInputMode.
Referenced by H323Connection::H323Connection().
| void H323EndPoint::SetSendUserInputMode | ( | H323Connection::SendUserInputModes | mode | ) | [inline] |
Set the default mode for sending User Input Indications.
Definition at line 1888 of file h323ep.h.
References defaultSendUserInputMode.
| BOOL H323EndPoint::CanAutoStartReceiveVideo | ( | ) | const [inline] |
See if should auto-start receive video channels on connection.
Definition at line 1894 of file h323ep.h.
References autoStartReceiveVideo.
Referenced by H323Connection::OnSelectLogicalChannels().
| BOOL H323EndPoint::CanAutoStartTransmitVideo | ( | ) | const [inline] |
See if should auto-start transmit video channels on connection.
Definition at line 1898 of file h323ep.h.
References autoStartTransmitVideo.
Referenced by H323Connection::OnSelectLogicalChannels().
| BOOL H323EndPoint::CanAutoStartReceiveFax | ( | ) | const [inline] |
See if should auto-start receive fax channels on connection.
Definition at line 1906 of file h323ep.h.
References autoStartReceiveFax.
Referenced by H323Connection::OnSelectLogicalChannels().
| BOOL H323EndPoint::CanAutoStartTransmitFax | ( | ) | const [inline] |
See if should auto-start transmit fax channels on connection.
Definition at line 1910 of file h323ep.h.
References autoStartTransmitFax.
Referenced by H323Connection::OnSelectLogicalChannels().
| BOOL H323EndPoint::CanAutoCallForward | ( | ) | const [inline] |
See if should automatically do call forward of connection.
Definition at line 1916 of file h323ep.h.
References autoCallForward.
Referenced by H323Connection::OnReceivedFacility().
| const H323ListenerList& H323EndPoint::GetListeners | ( | ) | const [inline] |
Get the set of listeners (incoming call transports) for this endpoint.
Definition at line 1920 of file h323ep.h.
References listeners.
Referenced by H323GatekeeperServer::TranslateAliasAddressToSignalAddress().
| const H323Capabilities& H323EndPoint::GetCapabilities | ( | ) | const [inline] |
Get the current capability table for this endpoint.
Definition at line 1924 of file h323ep.h.
References capabilities.
| TerminalTypes H323EndPoint::GetTerminalType | ( | ) | const [inline] |
Get the endpoint terminal type.
Definition at line 1948 of file h323ep.h.
References terminalType.
Referenced by H245NegMasterSlaveDetermination::HandleIncoming(), and H245NegMasterSlaveDetermination::Restart().
| BOOL H323EndPoint::IsTerminal | ( | ) | const |
Determine if endpoint is terminal type.
Definition at line 3253 of file h323ep.cxx.
References e_TerminalAndMC, e_TerminalOnly, and terminalType.
| BOOL H323EndPoint::IsGateway | ( | ) | const |
Determine if endpoint is gateway type.
Definition at line 3266 of file h323ep.cxx.
References e_GatewayAndMC, e_GatewayAndMCWithAudioMP, e_GatewayAndMCWithAVMP, e_GatewayAndMCWithDataMP, e_GatewayOnly, and terminalType.
| BOOL H323EndPoint::IsGatekeeper | ( | ) | const |
Determine if endpoint is gatekeeper type.
Definition at line 3282 of file h323ep.cxx.
References e_GatekeeperOnly, e_GatekeeperWithAudioMP, e_GatekeeperWithAVMP, e_GatekeeperWithDataMP, and terminalType.
| BOOL H323EndPoint::IsMCU | ( | ) | const |
Determine if endpoint is gatekeeper type.
Definition at line 3297 of file h323ep.cxx.
References e_MCUOnly, e_MCUWithAudioMP, e_MCUWithAVMP, e_MCUWithDataMP, and terminalType.
| unsigned H323EndPoint::GetMinAudioJitterDelay | ( | ) | const [inline] |
Get the default maximum audio jitter delay parameter. Defaults to 50ms
Definition at line 1970 of file h323ep.h.
References minAudioJitterDelay.
Referenced by H323Connection::H323Connection().
| unsigned H323EndPoint::GetMaxAudioJitterDelay | ( | ) | const [inline] |
Get the default maximum audio delay jitter parameter. Defaults to 250ms.
Definition at line 1975 of file h323ep.h.
References maxAudioJitterDelay.
Referenced by H323Connection::H323Connection().
| void H323EndPoint::SetAudioJitterDelay | ( | unsigned | minDelay, | |
| unsigned | maxDelay | |||
| ) |
Set the maximum audio delay jitter parameter.
| minDelay | New minimum jitter buffer delay in milliseconds |
| maxDelay | New maximum jitter buffer delay in milliseconds |
| unsigned H323EndPoint::GetInitialBandwidth | ( | ) | const [inline] |
Get the initial bandwidth parameter.
Definition at line 1987 of file h323ep.h.
References initialBandwidth.
Referenced by H323Connection::H323Connection().
| void H323EndPoint::SetInitialBandwidth | ( | unsigned | bandwidth | ) | [inline] |
Get the initial bandwidth parameter.
Definition at line 1991 of file h323ep.h.
References initialBandwidth.
| BOOL H323EndPoint::OnSendFeatureSet | ( | unsigned | , | |
| H225_FeatureSet & | ||||
| ) | [virtual] |
Called when an outgoing PDU requires a feature set
Definition at line 3545 of file h323ep.cxx.
References features, and H460_FeatureSet::SendFeature().
Referenced by H323Connection::OnSendFeatureSet(), and H323Gatekeeper::OnSendFeatureSet().
| void H323EndPoint::OnReceiveFeatureSet | ( | unsigned | , | |
| const H225_FeatureSet & | ||||
| ) | [virtual] |
Called when an incoming PDU contains a feature set
Definition at line 3554 of file h323ep.cxx.
References features, and H460_FeatureSet::ReceiveFeature().
Referenced by H323Connection::OnReceiveFeatureSet(), and H323Gatekeeper::OnReceiveFeatureSet().
| void H323EndPoint::LoadBaseFeatureSet | ( | ) | [virtual] |
Load the Base FeatureSet usually called when you initialise the endpoint prior to registering with a gatekeeper.
Definition at line 3561 of file h323ep.cxx.
References H460_FeatureSet::AttachEndPoint(), H460_Feature::FeatureBase, features, and H460_FeatureSet::LoadFeatureSet().
| BOOL H323EndPoint::HandleUnsolicitedInformation | ( | const H323SignalPDU & | pdu | ) | [virtual] |
Handle Unsolicited Information PDU received on the signal listening socket not associated with a connection.
Definition at line 3571 of file h323ep.cxx.
| H460_FeatureSet& H323EndPoint::GetFeatureSet | ( | ) | [inline] |
Get the Endpoint FeatureSet
Definition at line 2014 of file h323ep.h.
References H460_FeatureSet::DeriveNewFeatureSet(), and features.
| BOOL H323EndPoint::FeatureSetDisabled | ( | ) | [inline] |
Is the FeatureSet disabled
Definition at line 2018 of file h323ep.h.
References disableH460.
Referenced by H323Connection::H323Connection(), and H460_FeatureSet::LoadFeatureSet().
| void H323EndPoint::FeatureSetDisable | ( | ) | [inline] |
Disable all FeatureSets. Use this for pre H323v4 interoperability
Definition at line 2022 of file h323ep.h.
References disableH460.
| BOOL H323EndPoint::IsLocalAddress | ( | const PIPSocket::Address & | remoteAddress | ) | const [virtual] |
Determine if the address is "local", ie does not need STUN
Definition at line 3429 of file h323ep.cxx.
Referenced by H323GatekeeperGRQ::H323GatekeeperGRQ(), H323GatekeeperRRQ::H323GatekeeperRRQ(), and H323RegisteredEndPoint::OnFullRegistration().
| virtual void H323EndPoint::TranslateTCPAddress | ( | PIPSocket::Address & | , | |
| const PIPSocket::Address & | ||||
| ) | [inline, virtual] |
Provide TCP address translation hook
Definition at line 2077 of file h323ep.h.
Referenced by InternalTranslateTCPAddress().
| virtual void H323EndPoint::TranslateTCPPort | ( | WORD & | , | |
| const PIPSocket::Address & | ||||
| ) | [inline, virtual] |
Provide TCP Port translation hook
Definition at line 2089 of file h323ep.h.
Referenced by H323TransportUDP::DiscoverGatekeeper(), H323GatekeeperListener::OnDiscovery(), and H323TransportIP::SetUpTransportPDU().
| WORD H323EndPoint::GetTCPPortBase | ( | ) | const [inline] |
Get the TCP port number base for H.245 channels
Definition at line 2096 of file h323ep.h.
References H323EndPoint::PortInfo::base.
Referenced by H323TransportTCP::Connect().
| WORD H323EndPoint::GetTCPPortMax | ( | ) | const [inline] |
Get the TCP port number base for H.245 channels.
Definition at line 2100 of file h323ep.h.
References H323EndPoint::PortInfo::max.
Referenced by H323TransportTCP::Connect().
| void H323EndPoint::SetTCPPorts | ( | unsigned | tcpBase, | |
| unsigned | tcpMax | |||
| ) |
Set the TCP port number base and max for H.245 channels.
Definition at line 3484 of file h323ep.cxx.
References H323EndPoint::PortInfo::Set().
| WORD H323EndPoint::GetNextTCPPort | ( | ) |
Get the next TCP port number for H.245 channels
Definition at line 3490 of file h323ep.cxx.
References H323EndPoint::PortInfo::GetNext().
Referenced by H323TransportTCP::Connect(), and H323TransportTCP::H323TransportTCP().
| WORD H323EndPoint::GetUDPPortBase | ( | ) | const [inline] |
Get the UDP port number base for RAS channels
Definition at line 2112 of file h323ep.h.
References H323EndPoint::PortInfo::base.
Referenced by SetRtpIpPorts(), and SetUDPPorts().
| WORD H323EndPoint::GetUDPPortMax | ( | ) | const [inline] |
Get the UDP port number base for RAS channels.
Definition at line 2116 of file h323ep.h.
References H323EndPoint::PortInfo::max.
Referenced by SetRtpIpPorts(), and SetUDPPorts().
| void H323EndPoint::SetUDPPorts | ( | unsigned | udpBase, | |
| unsigned | udpMax | |||
| ) |
Set the TCP port number base and max for H.245 channels.
Definition at line 3496 of file h323ep.cxx.
References GetRtpIpPortBase(), GetRtpIpPortMax(), GetUDPPortBase(), GetUDPPortMax(), and H323EndPoint::PortInfo::Set().
| WORD H323EndPoint::GetNextUDPPort | ( | ) |
Get the next UDP port number for RAS channels
Definition at line 3506 of file h323ep.cxx.
References H323EndPoint::PortInfo::GetNext().
| WORD H323EndPoint::GetRtpIpPortBase | ( | ) | const [inline] |
Get the UDP port number base for RTP channels.
Definition at line 2128 of file h323ep.h.
References H323EndPoint::PortInfo::base.
Referenced by SetRtpIpPorts(), and SetUDPPorts().
| WORD H323EndPoint::GetRtpIpPortMax | ( | ) | const [inline] |
Get the max UDP port number for RTP channels.
Definition at line 2132 of file h323ep.h.
References H323EndPoint::PortInfo::max.
Referenced by SetRtpIpPorts(), and SetUDPPorts().
| void H323EndPoint::SetRtpIpPorts | ( | unsigned | udpBase, | |
| unsigned | udpMax | |||
| ) |
Set the UDP port number base and max for RTP channels.
Definition at line 3512 of file h323ep.cxx.
References GetRtpIpPortBase(), GetRtpIpPortMax(), GetUDPPortBase(), GetUDPPortMax(), and H323EndPoint::PortInfo::Set().
| WORD H323EndPoint::GetRtpIpPortPair | ( | ) |
Get the UDP port number pair for RTP channels.
Definition at line 3522 of file h323ep.cxx.
References H323EndPoint::PortInfo::GetNext().
Referenced by H323_RTP_UDP::H323_RTP_UDP().
| BYTE H323EndPoint::GetRtpIpTypeofService | ( | ) | const [inline] |
Get the IP Type Of Service byte for RTP channels.
Definition at line 2144 of file h323ep.h.
References rtpIpTypeofService.
Referenced by H323_RTP_UDP::H323_RTP_UDP().
| void H323EndPoint::SetRtpIpTypeofService | ( | unsigned | tos | ) | [inline] |
Set the IP Type Of Service byte for RTP channels.
Definition at line 2148 of file h323ep.h.
References rtpIpTypeofService.
| BYTE H323EndPoint::GetTcpIpTypeofService | ( | ) | const [inline] |
Get the IP Type Of Service byte for TCP channels.
Definition at line 2152 of file h323ep.h.
References tcpIpTypeofService.
Referenced by H323TransportTCP::OnOpen().
| void H323EndPoint::SetTcpIpTypeofService | ( | unsigned | tos | ) | [inline] |
Set the IP Type Of Service byte for TCP channels.
Definition at line 2156 of file h323ep.h.
References tcpIpTypeofService.
| const PTimeInterval& H323EndPoint::GetSignallingChannelConnectTimeout | ( | ) | const [inline] |
Get the default timeout for connecting via TCP
Definition at line 2160 of file h323ep.h.
References signallingChannelConnectTimeout.
Referenced by H323TransportTCP::Connect().
| const PTimeInterval& H323EndPoint::GetSignallingChannelCallTimeout | ( | ) | const [inline] |
Get the default timeout for calling another endpoint.
Definition at line 2164 of file h323ep.h.
References signallingChannelCallTimeout.
Referenced by H323Connection::SendSignalSetup().
| const PTimeInterval& H323EndPoint::GetControlChannelStartTimeout | ( | ) | const [inline] |
Get the default timeout for incoming H.245 connection.
Definition at line 2168 of file h323ep.h.
References controlChannelStartTimeout.
Referenced by H323TransportTCP::AcceptControlChannel().
| const PTimeInterval& H323EndPoint::GetEndSessionTimeout | ( | ) | const [inline] |
Get the default timeout for waiting on an end session.
Definition at line 2172 of file h323ep.h.
References endSessionTimeout.
Referenced by H323Connection::CleanUpOnCallEnd().
| const PTimeInterval& H323EndPoint::GetMasterSlaveDeterminationTimeout | ( | ) | const [inline] |
Get the default timeout for master slave negotiations.
Definition at line 2176 of file h323ep.h.
References masterSlaveDeterminationTimeout.
Referenced by H245NegMasterSlaveDetermination::HandleAck(), H245NegMasterSlaveDetermination::HandleIncoming(), and H245NegMasterSlaveDetermination::Restart().
| unsigned H323EndPoint::GetMasterSlaveDeterminationRetries | ( | ) | const [inline] |
Get the default retries for H245 master slave negotiations.
Definition at line 2180 of file h323ep.h.
References masterSlaveDeterminationRetries.
Referenced by H245NegMasterSlaveDetermination::HandleIncoming(), and H245NegMasterSlaveDetermination::HandleReject().
| const PTimeInterval& H323EndPoint::GetCapabilityExchangeTimeout | ( | ) | const [inline] |
Get the default timeout for H245 capability exchange negotiations.
Definition at line 2184 of file h323ep.h.
References capabilityExchangeTimeout.
Referenced by H245NegTerminalCapabilitySet::Start().
| const PTimeInterval& H323EndPoint::GetLogicalChannelTimeout | ( | ) | const [inline] |
Get the default timeout for H245 logical channel negotiations.
Definition at line 2188 of file h323ep.h.
References logicalChannelTimeout.
Referenced by H245NegLogicalChannel::CloseWhileLocked(), H245NegLogicalChannel::HandleOpen(), H245NegLogicalChannel::HandleRequestClose(), and H245NegLogicalChannel::OpenWhileLocked().
| const PTimeInterval& H323EndPoint::GetRequestModeTimeout | ( | ) | const [inline] |
Get the default timeout for H245 request mode negotiations.
Definition at line 2192 of file h323ep.h.
References logicalChannelTimeout.
Referenced by H245NegRequestMode::StartRequest().
| const PTimeInterval& H323EndPoint::GetRoundTripDelayTimeout | ( | ) | const [inline] |
Get the default timeout for H245 round trip delay negotiations.
Definition at line 2196 of file h323ep.h.
References roundTripDelayTimeout.
Referenced by H245NegRoundTripDelay::StartRequest().
| const PTimeInterval& H323EndPoint::GetRoundTripDelayRate | ( | ) | const [inline] |
Get the default rate H245 round trip delay is calculated by connection.
Definition at line 2200 of file h323ep.h.
References roundTripDelayRate.
Referenced by H323Connection::MonitorCallStatus().
| BOOL H323EndPoint::ShouldClearCallOnRoundTripFail | ( | ) | const [inline] |
Get the flag for clearing a call if the round trip delay calculation fails.
Definition at line 2204 of file h323ep.h.
References clearCallOnRoundTripFail.
Referenced by H323Connection::StartRoundTripDelay().
| const PTimeInterval & H323EndPoint::GetNoMediaTimeout | ( | ) | const |
Get the amount of time with no media that should cause call to clear
Definition at line 3527 of file h323ep.cxx.
References noMediaMutex, and noMediaTimeout.
Referenced by H323Connection::MonitorCallStatus().
| BOOL H323EndPoint::SetNoMediaTimeout | ( | PTimeInterval | newInterval | ) |
Set the amount of time with no media that should cause call to clear
Definition at line 3534 of file h323ep.cxx.
References noMediaMutex, and noMediaTimeout.
| const PTimeInterval& H323EndPoint::GetGatekeeperRequestTimeout | ( | ) | const [inline] |
Get the default timeout for GatekeeperRequest and Gatekeeper discovery.
Definition at line 2216 of file h323ep.h.
References gatekeeperRequestTimeout.
Referenced by H323TransportUDP::DiscoverGatekeeper().
| unsigned H323EndPoint::GetGatekeeperRequestRetries | ( | ) | const [inline] |
Get the default retries for GatekeeperRequest and Gatekeeper discovery.
Definition at line 2220 of file h323ep.h.
References gatekeeperRequestRetries.
Referenced by H323Gatekeeper::StartDiscovery().
| const PTimeInterval& H323EndPoint::GetRasRequestTimeout | ( | ) | const [inline] |
Get the default timeout for RAS protocol transactions.
Definition at line 2224 of file h323ep.h.
References rasRequestTimeout.
Referenced by H323Transactor::Request::Poll().
| unsigned H323EndPoint::GetRasRequestRetries | ( | ) | const [inline] |
Get the default retries for RAS protocol transations.
Definition at line 2228 of file h323ep.h.
References rasRequestRetries.
Referenced by H323Transactor::Request::Poll().
| const PTimeInterval& H323EndPoint::GetGatekeeperTimeToLive | ( | ) | const [inline] |
Get the default time for gatekeeper to reregister. A value of zero disables the keep alive facility.
Definition at line 2233 of file h323ep.h.
References registrationTimeToLive.
Referenced by H323Gatekeeper::RegistrationRequest().
| const PString& H323EndPoint::GetGkAccessTokenOID | ( | ) | const [inline] |
Get the iNow Gatekeeper Access Token OID.
Definition at line 2237 of file h323ep.h.
References gkAccessTokenOID.
| void H323EndPoint::SetGkAccessTokenOID | ( | const PString & | token | ) | [inline] |
Set the iNow Gatekeeper Access Token OID.
Definition at line 2241 of file h323ep.h.
References gkAccessTokenOID.
| BOOL H323EndPoint::GetSendGRQ | ( | ) | const [inline] |
Get flag to indicate whether to send GRQ on gatekeeper registration
Definition at line 2245 of file h323ep.h.
References sendGRQ.
Referenced by H323Gatekeeper::StartDiscovery().
| void H323EndPoint::SetSendGRQ | ( | BOOL | v | ) | [inline] |
| const PTimeInterval& H323EndPoint::GetCallTransferT1 | ( | ) | const [inline] |
Get the default timeout for Call Transfer Timer CT-T1.
Definition at line 2257 of file h323ep.h.
References callTransferT1.
Referenced by H4502Handler::ConsultationTransfer().
| const PTimeInterval& H323EndPoint::GetCallTransferT2 | ( | ) | const [inline] |
Get the default timeout for Call Transfer Timer CT-T2.
Definition at line 2261 of file h323ep.h.
References callTransferT2.
Referenced by H4502Handler::OnReceivedCallTransferIdentify().
| const PTimeInterval& H323EndPoint::GetCallTransferT3 | ( | ) | const [inline] |
Get the default timeout for Call Transfer Timer CT-T3.
Definition at line 2265 of file h323ep.h.
References callTransferT3.
Referenced by H4502Handler::TransferCall().
| const PTimeInterval& H323EndPoint::GetCallTransferT4 | ( | ) | const [inline] |
Get the default timeout for Call Transfer Timer CT-T4.
Definition at line 2269 of file h323ep.h.
References callTransferT4.
Referenced by H4502Handler::AwaitSetupResponse().
| const PTimeInterval& H323EndPoint::GetCallIntrusionT1 | ( | ) | const [inline] |
Get Call Intrusion timers timeout
Definition at line 2272 of file h323ep.h.
References callIntrusionT1.
Referenced by H45011Handler::AttachToSetup().
| H323CallIdentityDict& H323EndPoint::GetCallIdentityDictionary | ( | ) | [inline] |
Get the dictionary of <callIdentities, connections>
Definition at line 2281 of file h323ep.h.
References secondaryConnectionsActive.
Referenced by H4502Handler::HandleConsultationTransfer(), H4502Handler::OnReceivedCallTransferIdentify(), and H4502Handler::OnReceivedCallTransferSetup().
| unsigned H323EndPoint::GetNextH450CallIdentityValue | ( | ) | const [inline] |
Get the next available invoke Id for H450 operations
Definition at line 2285 of file h323ep.h.
References nextH450CallIdentity.
Referenced by H4502Handler::OnReceivedCallTransferIdentify().
| PINDEX H323EndPoint::GetCleanerThreadStackSize | ( | ) | const [inline] |
Get the default stack size of cleaner threads.
Definition at line 2291 of file h323ep.h.
References cleanerThreadStackSize.
| PINDEX H323EndPoint::GetListenerThreadStackSize | ( | ) | const [inline] |
Get the default stack size of listener threads.
Definition at line 2295 of file h323ep.h.
References listenerThreadStackSize.
| PINDEX H323EndPoint::GetSignallingThreadStackSize | ( | ) | const [inline] |
Get the default stack size of signalling channel threads.
Definition at line 2299 of file h323ep.h.
References signallingThreadStackSize.
| PINDEX H323EndPoint::GetControlThreadStackSize | ( | ) | const [inline] |
Get the default stack size of control channel threads.
Definition at line 2303 of file h323ep.h.
References controlThreadStackSize.
| PINDEX H323EndPoint::GetChannelThreadStackSize | ( | ) | const [inline] |
Get the default stack size of logical channel threads.
Definition at line 2307 of file h323ep.h.
References logicalThreadStackSize.
| PINDEX H323EndPoint::GetRasThreadStackSize | ( | ) | const [inline] |
Get the default stack size of RAS channel threads.
Definition at line 2311 of file h323ep.h.
References rasThreadStackSize.
| PINDEX H323EndPoint::GetJitterThreadStackSize | ( | ) | const [inline] |
Get the default stack size of jitter buffer threads.
Definition at line 2315 of file h323ep.h.
References jitterThreadStackSize.
Referenced by H323_RTPChannel::Receive().
| PThread::Priority H323EndPoint::GetChannelThreadPriority | ( | ) | const [inline] |
Get the priority at which channel threads run
Definition at line 2319 of file h323ep.h.
References channelThreadPriority.
| H323Connection * H323EndPoint::InternalMakeCall | ( | const PString & | existingToken, | |
| const PString & | callIdentity, | |||
| unsigned | capabilityLevel, | |||
| const PString & | remoteParty, | |||
| H323Transport * | transport, | |||
| PString & | token, | |||
| void * | userData | |||
| ) | [protected, virtual] |
| callIdentity | Existing connection to be transferred |
| capabilityLevel | Call identity of the secondary call (if it exists) |
| remoteParty | Intrusion capability level |
| transport | Remote party to call |
| token | Transport to use for call. |
| userData | String to use/receive token for connection user data to pass to CreateConnection |
Definition at line 1885 of file h323ep.cxx.
References H323Connection::AttachSignalChannel(), BuildConnectionToken(), connectionsActive, connectionsMutex, connectionsToBeCleaned, CreateConnection(), H323TransportAddress::CreateTransport(), gatekeeper, Q931::GenerateCallReference(), H323Transport::GetRemoteAddress(), H323Transactor::GetTransport(), H323Connection::HandleIntrudeCall(), H323Connection::HandleTransferCall(), H323Connection::IntrudeCall(), H323Connection::Lock(), and ParsePartyName().
Referenced by ForwardConnection(), MakeCall(), and MakeCallLocked().
BYTE H323EndPoint::defaultT35CountryCode = 9 [static] |
default settings H.221 settings
Definition at line 2321 of file h323ep.h.
Referenced by H323EndPoint().
PTimeInterval H323EndPoint::callIntrusionT1 [protected] |
1.5.2