#include <h323ep.h>
Inheritance diagram for H323EndPoint:
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 |
PBoolean | AddAliasName (const PString &name) |
PBoolean | RemoveAliasName (const PString &name) |
const PStringList & | GetAliasNames () const |
const PStringList & | GetAliasNamePatterns () const |
PBoolean | AddAliasNamePattern (const PString &pattern) |
const PString & | GetDefaultILSServer () const |
void | SetDefaultILSServer (const PString &server) |
PBoolean | IsFastStartDisabled () const |
void | DisableFastStart (PBoolean mode) |
PBoolean | IsH245TunnelingDisabled () const |
void | DisableH245Tunneling (PBoolean mode) |
PBoolean | IsH245inSetupDisabled () const |
void | DisableH245inSetup (PBoolean mode) |
PBoolean | IsH245Disabled () const |
void | DisableH245 (PBoolean bH245Disabled) |
PBoolean | CanDisplayAmountString () const |
void | SetCanDisplayAmountString (PBoolean mode) |
PBoolean | CanEnforceDurationLimit () const |
void | SetCanEnforceDurationLimit (PBoolean mode) |
virtual void | OnReceivedInitiateReturnError () |
PBoolean | CanAutoCallForward () const |
const H323Capabilities & | GetCapabilities () const |
TerminalTypes | GetTerminalType () const |
PBoolean | IsTerminal () const |
PBoolean | IsGateway () const |
PBoolean | IsGatekeeper () const |
PBoolean | IsMCU () const |
unsigned | GetMinAudioJitterDelay () const |
unsigned | GetMaxAudioJitterDelay () const |
void | SetAudioJitterDelay (unsigned minDelay, unsigned maxDelay) |
unsigned | GetInitialBandwidth () const |
void | SetInitialBandwidth (unsigned bandwidth) |
virtual PBoolean | OnSendFeatureSet (unsigned, H225_FeatureSet &) |
virtual void | OnReceiveFeatureSet (unsigned, const H225_FeatureSet &) |
virtual void | LoadBaseFeatureSet () |
virtual bool | OnFeatureInstance (int instType, const PString &identifer) |
virtual PBoolean | IsLocalAddress (const PIPSocket::Address &remoteAddress) const |
virtual void | TranslateTCPAddress (PIPSocket::Address &localAddr, const PIPSocket::Address &remoteAddr) |
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) |
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 |
PBoolean | ShouldClearCallOnRoundTripFail () const |
const PTimeInterval & | GetNoMediaTimeout () const |
PBoolean | SetNoMediaTimeout (const PTimeInterval &newInterval) |
const PTimeInterval & | GetGatekeeperRequestTimeout () const |
unsigned | GetGatekeeperRequestRetries () const |
const PTimeInterval & | GetRasRequestTimeout () const |
unsigned | GetRasRequestRetries () const |
const PTimeInterval & | GetGatekeeperTimeToLive () const |
void | SetGatekeeperTimeToLive (const PTimeInterval &ttl) |
const PString & | GetGkAccessTokenOID () const |
void | SetGkAccessTokenOID (const PString &token) |
PBoolean | GetSendGRQ () const |
void | SetSendGRQ (PBoolean 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 () |
PString | GetDefaultTransport () const |
Public Types | |
enum | { DefaultTcpSignalPort = 1720 } |
Public Member Functions | |
Overrides from OpalEndPoint | |
virtual void | ShutDown () |
virtual PBoolean | MakeConnection (OpalCall &call, const PString &party, void *userData=NULL, unsigned int options=NULL, OpalConnection::StringOptions *stringOptions=NULL) |
Set up functions | |
virtual void | SetEndpointTypeInfo (H225_EndpointType &info) const |
virtual void | SetVendorIdentifierInfo (H225_VendorIdentifier &info) const |
virtual void | SetH221NonStandardInfo (H225_H221NonStandard &info) const |
Capabilities | |
void | AddCapability (H323Capability *capability) |
PINDEX | SetCapability (PINDEX descriptorNum, PINDEX simultaneous, H323Capability *cap) |
PINDEX | AddAllCapabilities (PINDEX descriptorNum, PINDEX simultaneous, const PString &name) |
void | AddAllUserInputCapabilities (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 | |
PBoolean | UseGatekeeper (const PString &address=PString::Empty(), const PString &identifier=PString::Empty(), const PString &localAddress=PString::Empty()) |
PBoolean | SetGatekeeper (const PString &address, H323Transport *transport=NULL) |
PBoolean | SetGatekeeperZone (const PString &address, const PString &identifier, H323Transport *transport=NULL) |
PBoolean | LocateGatekeeper (const PString &identifier, H323Transport *transport=NULL) |
PBoolean | DiscoverGatekeeper (H323Transport *transport=NULL) |
virtual H323Gatekeeper * | CreateGatekeeper (H323Transport *transport) |
H323Gatekeeper * | GetGatekeeper () const |
PBoolean | IsRegisteredWithGatekeeper () const |
PBoolean | RemoveGatekeeper (int reason=-1) |
virtual void | SetGatekeeperPassword (const PString &password, const PString &username=PString::Empty()) |
virtual const PString & | GetGatekeeperUsername () const |
virtual const PString & | GetGatekeeperPassword () const |
virtual H235Authenticators | CreateAuthenticators () |
virtual void | OnGatekeeperConfirm () |
virtual void | OnGatekeeperReject () |
virtual void | OnRegistrationConfirm () |
virtual void | OnRegistrationReject () |
Connection management | |
virtual PBoolean | NewIncomingConnection (OpalTransport *transport) |
virtual H323Connection * | CreateConnection (OpalCall &call, const PString &token, void *userData, OpalTransport &transport, const PString &alias, const H323TransportAddress &address, H323SignalPDU *setupPDU, unsigned options=0, OpalConnection::StringOptions *stringOptions=NULL) |
virtual PBoolean | SetupTransfer (const PString &token, const PString &callIdentity, const PString &remoteParty, 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, PBoolean localHold) |
PBoolean | IntrudeCall (const PString &remoteParty, unsigned capabilityLevel, void *userData=NULL) |
PBoolean | ParsePartyName (const PString &party, PString &alias, H323TransportAddress &address) |
PSafePtr< H323Connection > | FindConnectionWithLock (const PString &token, PSafetyMode mode=PSafeReadWrite) |
virtual PBoolean | OnSendSignalSetup (H323Connection &connection, H323SignalPDU &setupPDU) |
virtual PBoolean | OnSendCallProceeding (H323Connection &connection, H323SignalPDU &callProceedingPDU) |
virtual PBoolean | OnSendConnect (H323Connection &connection, H323SignalPDU &connectPDU) |
virtual PBoolean | OnIncomingCall (H323Connection &connection, const H323SignalPDU &setupPDU, H323SignalPDU &alertingPDU) |
virtual PBoolean | OnOutgoingCall (H323Connection &conn, const H323SignalPDU &connectPDU) |
virtual PBoolean | OnCallTransferInitiate (H323Connection &connection, const PString &remoteParty) |
virtual PBoolean | OnCallTransferIdentify (H323Connection &connection) |
virtual void | OnSendARQ (H323Connection &conn, H225_AdmissionRequest &arq) |
virtual OpalConnection::AnswerCallResponse | OnAnswerCall (H323Connection &connection, const PString &callerName, const H323SignalPDU &setupPDU, H323SignalPDU &connectPDU, H323SignalPDU &progressPDU) |
virtual OpalConnection::AnswerCallResponse | OnAnswerCall (OpalConnection &connection, const PString &caller) |
virtual PBoolean | OnAlerting (H323Connection &connection, const H323SignalPDU &alertingPDU, const PString &user) |
virtual PBoolean | OnSendAlerting (H323Connection &connection, H323SignalPDU &alerting, const PString &calleeName, PBoolean withMedia) |
virtual PBoolean | OnSentAlerting (H323Connection &connection) |
virtual PBoolean | OnConnectionForwarded (H323Connection &connection, const PString &forwardParty, const H323SignalPDU &pdu) |
virtual PBoolean | ForwardConnection (H323Connection &connection, const PString &forwardParty, const H323SignalPDU &pdu) |
virtual void | OnConnectionEstablished (H323Connection &connection, const PString &token) |
virtual PBoolean | IsConnectionEstablished (const PString &token) |
virtual void | OnConnectionCleared (H323Connection &connection, const PString &token) |
Logical Channels management | |
virtual PBoolean | OnStartLogicalChannel (H323Connection &connection, H323Channel &channel) |
virtual void | OnClosedLogicalChannel (H323Connection &connection, const H323Channel &channel) |
virtual void | OnRTPStatistics (const H323Connection &connection, const RTP_Session &session) const |
virtual void | OnGatekeeperNATDetect (PIPSocket::Address publicAddr, PString &gkIdentifier, H323TransportAddress &gkRouteAddress) |
Service Control | |
virtual void | OnHTTPServiceControl (unsigned operation, unsigned sessionId, const PString &url) |
virtual void | OnCallCreditServiceControl (const PString &amount, PBoolean mode) |
virtual void | OnServiceControlSession (unsigned type, unsigned sessionid, const H323ServiceControlSession &session, H323Connection *connection) |
virtual H323ServiceControlSession * | CreateServiceControlSession (const H225_ServiceControlDescriptor &contents) |
Additional call services | |
virtual PBoolean | OnConferenceInvite (const H323SignalPDU &setupPDU) |
virtual PBoolean | OnCallIndependentSupplementaryService (const H323SignalPDU &setupPDU) |
virtual PBoolean | OnNegotiateConferenceCapabilities (const H323SignalPDU &setupPDU) |
Protected Member Functions | |
bool | InternalCreateGatekeeper (H323Transport *transport) |
PBoolean | InternalMakeCall (OpalCall &call, const PString &existingToken, const PString &callIdentity, unsigned capabilityLevel, const PString &remoteParty, void *userData, unsigned int options=0, OpalConnection::StringOptions *stringOptions=NULL) |
Protected Attributes | |
PStringList | localAliasNames |
PStringList | localAliasPatterns |
PBoolean | autoStartReceiveFax |
PBoolean | autoStartTransmitFax |
PBoolean | isH224Enabled |
PBoolean | autoCallForward |
PBoolean | disableFastStart |
PBoolean | disableH245Tunneling |
PBoolean | disableH245inSetup |
PBoolean | m_bH245Disabled |
PBoolean | canDisplayAmountString |
PBoolean | canEnforceDurationLimit |
TerminalTypes | terminalType |
PBoolean | clearCallOnRoundTripFail |
PTimeInterval | signallingChannelCallTimeout |
PTimeInterval | controlChannelStartTimeout |
PTimeInterval | endSessionTimeout |
PTimeInterval | masterSlaveDeterminationTimeout |
unsigned | masterSlaveDeterminationRetries |
PTimeInterval | capabilityExchangeTimeout |
PTimeInterval | logicalChannelTimeout |
PTimeInterval | requestModeTimeout |
PTimeInterval | roundTripDelayTimeout |
PTimeInterval | roundTripDelayRate |
PTimeInterval | gatekeeperRequestTimeout |
unsigned | gatekeeperRequestRetries |
PTimeInterval | rasRequestTimeout |
unsigned | rasRequestRetries |
PTimeInterval | registrationTimeToLive |
PString | gkAccessTokenOID |
PBoolean | sendGRQ |
PTimeInterval | callTransferT1 |
PTimeInterval | callTransferT2 |
PTimeInterval | callTransferT3 |
PTimeInterval | callTransferT4 |
PTimeInterval | callIntrusionT1 |
PTimeInterval | callIntrusionT2 |
PTimeInterval | callIntrusionT3 |
PTimeInterval | callIntrusionT4 |
PTimeInterval | callIntrusionT5 |
PTimeInterval | callIntrusionT6 |
H323Capabilities | capabilities |
H323Gatekeeper * | gatekeeper |
PString | gatekeeperUsername |
PString | gatekeeperPassword |
H323CallIdentityDict | secondaryConnectionsActive |
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.
Endpoint types.
H323EndPoint::H323EndPoint | ( | OpalManager & | manager | ) |
Create a new endpoint.
H323EndPoint::~H323EndPoint | ( | ) |
Destroy endpoint.
H323EndPoint::H323EndPoint | ( | OpalManager & | manager | ) |
Create a new endpoint.
H323EndPoint::~H323EndPoint | ( | ) |
Destroy endpoint.
virtual void H323EndPoint::ShutDown | ( | ) | [virtual] |
Shut down the endpoint, this is called by the OpalManager just before destroying the object and can be handy to make sure some things are stopped before the vtable gets clobbered.
Reimplemented from OpalEndPoint.
virtual PBoolean H323EndPoint::MakeConnection | ( | OpalCall & | call, | |
const PString & | party, | |||
void * | userData = NULL , |
|||
unsigned int | options = NULL , |
|||
OpalConnection::StringOptions * | stringOptions = NULL | |||
) | [virtual] |
Set up a connection to a remote party. This is called from the OpalManager::SetUpConnection() function once it has determined that this is the endpoint for the protocol.
The general form for this party parameter is:
[proto:][alias@][transport$]address[:port]
where the various fields will have meanings specific to the endpoint type. For example, with H.323 it could be "h323:Fred@site.com" which indicates a user Fred at gatekeeper size.com. Whereas for the PSTN endpoint it could be "pstn:5551234" which is to call 5551234 on the first available PSTN line.
The proto field is optional when passed to a specific endpoint. If it is present, however, it must agree with the endpoints protocol name or PFalse is returned.
This function usually returns almost immediately with the connection continuing to occur in a new background thread.
If PFalse is returned then the connection could not be established. For example if a PSTN endpoint is used and the assiciated line is engaged then it may return immediately. Returning a non-NULL value does not mean that the connection will succeed, only that an attempt is being made.
The default behaviour is pure.
call | Owner of connection |
party | Remote party to call |
userData | Arbitrary data to pass to connection |
options | options to pass to conneciton |
Implements OpalEndPoint.
virtual void H323EndPoint::SetEndpointTypeInfo | ( | H225_EndpointType & | info | ) | const [virtual] |
Set the endpoint information in H225 PDU's.
virtual void H323EndPoint::SetVendorIdentifierInfo | ( | H225_VendorIdentifier & | info | ) | const [virtual] |
Set the vendor information in H225 PDU's.
virtual void H323EndPoint::SetH221NonStandardInfo | ( | H225_H221NonStandard & | info | ) | const [virtual] |
Set the H221NonStandard information in H225 PDU's.
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 |
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 |
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. |
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 |
void H323EndPoint::RemoveCapabilities | ( | const PStringArray & | codecNames | ) |
Remove capabilites in table.
void H323EndPoint::ReorderCapabilities | ( | const PStringArray & | preferenceOrder | ) |
Reorder capabilites in table.
H323Capability* H323EndPoint::FindCapability | ( | const H245_Capability & | cap | ) | const |
Find a capability that has been registered.
cap | H245 capability table entry |
H323Capability* H323EndPoint::FindCapability | ( | const H245_DataType & | dataType | ) | const |
Find a capability that has been registered.
dataType | H245 data type of codec |
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 |
PBoolean 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. |
PBoolean 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. |
PBoolean 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. |
PBoolean 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. |
PBoolean 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. |
virtual 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. |
H323Gatekeeper* H323EndPoint::GetGatekeeper | ( | ) | const [inline] |
Get the gatekeeper we are registered with.
PBoolean H323EndPoint::IsRegisteredWithGatekeeper | ( | ) | const |
Return if endpoint is registered with gatekeeper.
PBoolean H323EndPoint::RemoveGatekeeper | ( | int | reason = -1 |
) |
Unregister and delete the gatekeeper we are registered with. The return value indicates PFalse 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 |
virtual void H323EndPoint::SetGatekeeperPassword | ( | const PString & | password, | |
const PString & | username = PString::Empty() | |||
) | [virtual] |
Set the H.235 password for the gatekeeper.
virtual const PString& H323EndPoint::GetGatekeeperUsername | ( | ) | const [inline, virtual] |
Get the H.235 username for the gatekeeper.
virtual const PString& H323EndPoint::GetGatekeeperPassword | ( | ) | const [inline, virtual] |
Get the H.235 password for the gatekeeper.
virtual H235Authenticators H323EndPoint::CreateAuthenticators | ( | ) | [virtual] |
Create a list of authenticators for gatekeeper.
virtual void H323EndPoint::OnGatekeeperConfirm | ( | ) | [virtual] |
Called when the gatekeeper sends a GatekeeperConfirm
virtual void H323EndPoint::OnGatekeeperReject | ( | ) | [virtual] |
Called when the gatekeeper sends a GatekeeperReject
virtual void H323EndPoint::OnRegistrationConfirm | ( | ) | [virtual] |
Called when the gatekeeper sends a RegistrationConfirm
virtual void H323EndPoint::OnRegistrationReject | ( | ) | [virtual] |
Called when the gatekeeper sends a RegistrationReject
virtual PBoolean H323EndPoint::NewIncomingConnection | ( | OpalTransport * | transport | ) | [virtual] |
Handle new incoming connetion from listener.
transport | Transport connection came in on |
Reimplemented from OpalEndPoint.
virtual H323Connection* H323EndPoint::CreateConnection | ( | OpalCall & | call, | |
const PString & | token, | |||
void * | userData, | |||
OpalTransport & | transport, | |||
const PString & | alias, | |||
const H323TransportAddress & | address, | |||
H323SignalPDU * | setupPDU, | |||
unsigned | options = 0 , |
|||
OpalConnection::StringOptions * | stringOptions = NULL | |||
) | [virtual] |
Create a connection that uses the specified call.
call | Call object to attach the connection to |
token | Call token for new connection |
userData | Arbitrary user data from MakeConnection |
transport | Transport for connection |
alias | Alias for outgoing call |
address | Address for outgoing call |
setupPDU | Setup PDU for incoming call |
stringOptions | complex string options |
virtual PBoolean H323EndPoint::SetupTransfer | ( | const PString & | token, | |
const PString & | callIdentity, | |||
const PString & | remoteParty, | |||
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.
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 |
userData | user data to pass to CreateConnection |
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 |
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, | |
PBoolean | 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 |
PBoolean H323EndPoint::IntrudeCall | ( | const PString & | remoteParty, | |
unsigned | capabilityLevel, | |||
void * | userData = NULL | |||
) |
Initiate Call intrusion Designed similar to MakeCall function
remoteParty | Remote party to intrude call |
capabilityLevel | Capability level |
userData | user data to pass to CreateConnection |
PBoolean 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 |
PSafePtr<H323Connection> H323EndPoint::FindConnectionWithLock | ( | const PString & | token, | |
PSafetyMode | mode = PSafeReadWrite | |||
) |
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(). 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 |
virtual PBoolean H323EndPoint::OnSendSignalSetup | ( | H323Connection & | connection, | |
H323SignalPDU & | setupPDU | |||
) | [virtual] |
OnSendSignalSetup is a hook for the appliation to attach H450 info in setup, for instance, H450.7 Activate or Deactivate
connection | the connection associated to the setup | |
pduSetup | the setup message to modify |
virtual PBoolean H323EndPoint::OnSendCallProceeding | ( | H323Connection & | connection, | |
H323SignalPDU & | callProceedingPDU | |||
) | [virtual] |
Adjust call proceeding PDU being sent. This function is called from the OnReceivedSignalSetup() function before it sends the Call Proceeding PDU. It gives an opportunity for an application to alter the request before transmission to the other endpoint. If this function returns PFalse then the Call Proceeding PDU is not sent at all.
The default behaviour simply returns PTrue.
connection | the connection associated to the call proceeding | |
callProceedingPDU | the call processding to modify |
virtual PBoolean H323EndPoint::OnSendConnect | ( | H323Connection & | connection, | |
H323SignalPDU & | connectPDU | |||
) | [virtual] |
Adjust call connect PDU being sent. This function is called from the H323Connection::SetConnected function before it sends the connect PDU. It gives an opportunity for an application to alter the request before transmission to the other endpoint. If this function returns PFalse then the connect PDU is not sent at all.
The default behaviour simply returns PTrue.
connection | the connection associated to the connect | |
connectPDU | the connect to modify |
virtual PBoolean 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 PFalse is returned the connection is aborted and a Release Complete PDU is sent.
The default behaviour simply returns PTrue.
connection | Connection that was established |
setupPDU | Received setup PDU |
alertingPDU | Alerting PDU to send |
virtual PBoolean H323EndPoint::OnOutgoingCall | ( | H323Connection & | conn, | |
const H323SignalPDU & | connectPDU | |||
) | [virtual] |
Called when an outgoing call connects If PFalse is returned the connection is aborted and a Release Complete PDU is sent.
The default behaviour simply returns PTrue.
virtual PBoolean 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 PTrue.
connection | Connection to transfer |
remoteParty | Party transferring to. |
virtual PBoolean 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 PTrue.
connection | Connection to transfer |
virtual 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.
virtual OpalConnection::AnswerCallResponse H323EndPoint::OnAnswerCall | ( | H323Connection & | connection, | |
const PString & | callerName, | |||
const H323SignalPDU & | setupPDU, | |||
H323SignalPDU & | connectPDU, | |||
H323SignalPDU & | progressPDU | |||
) | [virtual] |
Call back for answering an incoming call. This function is a H.323 specific version of OpalEndPoint::OnAnswerCall that contains additional information that applies only to H.323.
By default this calls OpalEndPoint::OnAnswerCall, which returns
connection | Connection that was established |
callerName | Name of caller |
setupPDU | Received setup PDU |
connectPDU | Connect PDU to send. |
progressPDU | Progress PDU to send. |
virtual OpalConnection::AnswerCallResponse H323EndPoint::OnAnswerCall | ( | OpalConnection & | connection, | |
const PString & | caller | |||
) | [virtual] |
Call back for answering an incoming call. This function is called after the connection has been acknowledged but before the connection is established
This gives the 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 the connetion specific end call PDU is sent. If AnswerCallNow is returned then the connection proceeding, Finally if AnswerCallPending is returned then the protocol negotiations are paused until the AnsweringCall() function is called.
The default behaviour simply returns AnswerNow.
Reimplemented from OpalEndPoint.
virtual PBoolean 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 PFalse is returned the connection is aborted and a Release Complete PDU is sent.
The default behaviour simply returns PTrue.
connection | Connection that was established |
alertingPDU | Received Alerting PDU |
user | Username of remote endpoint |
virtual PBoolean H323EndPoint::OnSendAlerting | ( | H323Connection & | connection, | |
H323SignalPDU & | alerting, | |||
const PString & | calleeName, | |||
PBoolean | withMedia | |||
) | [virtual] |
A call back function when the alerting is about to be sent, can be used by the application to alter the alerting Pdu
connection | onnection that was established |
alerting | Alerting PDU to modify |
calleeName | Name of endpoint being alerted. |
withMedia | Open media with alerting |
virtual PBoolean H323EndPoint::OnSentAlerting | ( | H323Connection & | connection | ) | [virtual] |
A call back function when the alerting has been sent, can be used by the application to send the connect as soon as the alerting has been sent.
virtual PBoolean 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 PTrue.
The default behaviour simply returns PFalse 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 |
virtual PBoolean H323EndPoint::ForwardConnection | ( | H323Connection & | connection, | |
const PString & | forwardParty, | |||
const H323SignalPDU & | pdu | |||
) | [virtual] |
Forward the call using the same token as the specified connection. Return PTrue 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 |
virtual 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 |
virtual PBoolean H323EndPoint::IsConnectionEstablished | ( | const PString & | token | ) | [virtual] |
Determine if a connection is established.
token | Token for identifying connection |
virtual 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 |
virtual PBoolean H323EndPoint::OnStartLogicalChannel | ( | H323Connection & | connection, | |
H323Channel & | channel | |||
) | [virtual] |
Call back for opening a logical channel.
The default behaviour simply returns PTrue.
connection | Connection for the channel |
channel | Channel being started |
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 |
virtual 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 |
virtual 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.
gkIdentifier | > Public address as returned by the Gatekeeper |
gkRouteAddress | > Identifier at the gatekeeper> Gatekeeper Route Address |
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 based channel using a resource designated by the session ID. For example the session ID can correspond to a browser window and the
The default behaviour does nothing.
operation | Control operation |
sessionId | Session ID for HTTP page |
url | URL to use. |
virtual void H323EndPoint::OnCallCreditServiceControl | ( | const PString & | amount, | |
PBoolean | 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 PTrue 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 PBoolean H323EndPoint::OnConferenceInvite | ( | const H323SignalPDU & | setupPDU | ) | [virtual] |
Called when an endpoint receives a SETUP PDU with a conference goal of "invite"
The default behaviour is to return PFalse, which will close the connection
virtual PBoolean H323EndPoint::OnCallIndependentSupplementaryService | ( | const H323SignalPDU & | setupPDU | ) | [virtual] |
Called when an endpoint receives a SETUP PDU with a conference goal of "callIndependentSupplementaryService"
The default behaviour is to return PFalse, which will close the connection
virtual PBoolean 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 PFalse, which will close the connection
virtual 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) |
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.
PBoolean 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 |
PBoolean 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 |
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.
const PStringList& H323EndPoint::GetAliasNamePatterns | ( | ) | const [inline] |
Get the alias patterns, might be used in terminalAliasPattern.
PBoolean H323EndPoint::AddAliasNamePattern | ( | const PString & | pattern | ) |
Add an alias name pattern to localAliasPatterns. If the pattern already exists in the list then is is not added again.
const PString& H323EndPoint::GetDefaultILSServer | ( | ) | const [inline] |
Get the default ILS server to use for user lookup.
void H323EndPoint::SetDefaultILSServer | ( | const PString & | server | ) | [inline] |
Set the default ILS server to use for user lookup.
PBoolean H323EndPoint::IsFastStartDisabled | ( | ) | const [inline] |
Get the default fast start mode.
void H323EndPoint::DisableFastStart | ( | PBoolean | mode | ) | [inline] |
Set the default fast start mode.
mode | New default mode |
PBoolean H323EndPoint::IsH245TunnelingDisabled | ( | ) | const [inline] |
Get the default H.245 tunneling mode.
void H323EndPoint::DisableH245Tunneling | ( | PBoolean | mode | ) | [inline] |
Set the default H.245 tunneling mode.
mode | New default mode |
PBoolean H323EndPoint::IsH245inSetupDisabled | ( | ) | const [inline] |
Get the default H.245 tunneling mode.
void H323EndPoint::DisableH245inSetup | ( | PBoolean | mode | ) | [inline] |
Set the default H.245 tunneling mode.
mode | New default mode |
PBoolean H323EndPoint::IsH245Disabled | ( | ) | const [inline] |
find out if h245 is disabled or enabled
void H323EndPoint::DisableH245 | ( | PBoolean | bH245Disabled | ) | [inline] |
Disable/Enable H.245, used at least for h450.7 calls
bH245Disabled | PTrue if h245 has to be disabled |
PBoolean H323EndPoint::CanDisplayAmountString | ( | ) | const [inline] |
Get the flag indicating the endpoint can display an amount string.
void H323EndPoint::SetCanDisplayAmountString | ( | PBoolean | mode | ) | [inline] |
Set the flag indicating the endpoint can display an amount string.
mode | New default mode |
PBoolean H323EndPoint::CanEnforceDurationLimit | ( | ) | const [inline] |
Get the flag indicating the call will automatically clear after a time.
void H323EndPoint::SetCanEnforceDurationLimit | ( | PBoolean | mode | ) | [inline] |
Set the flag indicating the call will automatically clear after a time.
mode | New default mode |
virtual void H323EndPoint::OnReceivedInitiateReturnError | ( | ) | [virtual] |
Called from H.450 OnReceivedInitiateReturnError
PBoolean H323EndPoint::CanAutoCallForward | ( | ) | const [inline] |
See if should automatically do call forward of connection.
const H323Capabilities& H323EndPoint::GetCapabilities | ( | ) | const |
Get the current capability table for this endpoint.
TerminalTypes H323EndPoint::GetTerminalType | ( | ) | const [inline] |
Get the endpoint terminal type.
PBoolean H323EndPoint::IsTerminal | ( | ) | const |
Determine if endpoint is terminal type.
PBoolean H323EndPoint::IsGateway | ( | ) | const |
Determine if endpoint is gateway type.
PBoolean H323EndPoint::IsGatekeeper | ( | ) | const |
Determine if endpoint is gatekeeper type.
PBoolean H323EndPoint::IsMCU | ( | ) | const |
Determine if endpoint is gatekeeper type.
unsigned H323EndPoint::GetMinAudioJitterDelay | ( | ) | const [inline] |
Get the default maximum audio jitter delay parameter. Defaults to 50ms
unsigned H323EndPoint::GetMaxAudioJitterDelay | ( | ) | const [inline] |
Get the default maximum audio delay jitter parameter. Defaults to 250ms.
void H323EndPoint::SetAudioJitterDelay | ( | unsigned | minDelay, | |
unsigned | maxDelay | |||
) | [inline] |
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.
Reimplemented from OpalEndPoint.
void H323EndPoint::SetInitialBandwidth | ( | unsigned | bandwidth | ) | [inline] |
Get the initial bandwidth parameter.
Reimplemented from OpalEndPoint.
virtual PBoolean H323EndPoint::OnSendFeatureSet | ( | unsigned | , | |
H225_FeatureSet & | ||||
) | [virtual] |
Called when an outgoing PDU requires a feature set
virtual void H323EndPoint::OnReceiveFeatureSet | ( | unsigned | , | |
const H225_FeatureSet & | ||||
) | [virtual] |
Called when an incoming PDU contains a feature set
virtual void H323EndPoint::LoadBaseFeatureSet | ( | ) | [virtual] |
Load the Base FeatureSet usually called when you initialise the endpoint prior to registering with a gatekeeper.
virtual bool H323EndPoint::OnFeatureInstance | ( | int | instType, | |
const PString & | identifer | |||
) | [virtual] |
Callback when creating Feature Instance. This can be used to disable features on a case by case basis by returning FALSE Default returns TRUE
virtual PBoolean H323EndPoint::IsLocalAddress | ( | const PIPSocket::Address & | remoteAddress | ) | const [inline, virtual] |
Determine if the address is "local", ie does not need STUN
virtual void H323EndPoint::TranslateTCPAddress | ( | PIPSocket::Address & | localAddr, | |
const PIPSocket::Address & | remoteAddr | |||
) | [virtual] |
Provide TCP address translation hook
WORD H323EndPoint::GetTCPPortBase | ( | ) | const [inline] |
Get the TCP port number base for H.245 channels
WORD H323EndPoint::GetTCPPortMax | ( | ) | const [inline] |
Get the TCP port number base for H.245 channels.
void H323EndPoint::SetTCPPorts | ( | unsigned | tcpBase, | |
unsigned | tcpMax | |||
) | [inline] |
Set the TCP port number base and max for H.245 channels.
WORD H323EndPoint::GetNextTCPPort | ( | ) | [inline] |
Get the next TCP port number for H.245 channels
WORD H323EndPoint::GetUDPPortBase | ( | ) | const [inline] |
Get the UDP port number base for RAS channels
WORD H323EndPoint::GetUDPPortMax | ( | ) | const [inline] |
Get the UDP port number base for RAS channels.
void H323EndPoint::SetUDPPorts | ( | unsigned | udpBase, | |
unsigned | udpMax | |||
) | [inline] |
Set the TCP port number base and max for H.245 channels.
WORD H323EndPoint::GetNextUDPPort | ( | ) | [inline] |
Get the next UDP port number for RAS channels
WORD H323EndPoint::GetRtpIpPortBase | ( | ) | const [inline] |
Get the UDP port number base for RTP channels.
WORD H323EndPoint::GetRtpIpPortMax | ( | ) | const [inline] |
Get the max UDP port number for RTP channels.
void H323EndPoint::SetRtpIpPorts | ( | unsigned | udpBase, | |
unsigned | udpMax | |||
) | [inline] |
Set the UDP port number base and max for RTP channels.
WORD H323EndPoint::GetRtpIpPortPair | ( | ) | [inline] |
Get the UDP port number pair for RTP channels.
BYTE H323EndPoint::GetRtpIpTypeofService | ( | ) | const [inline] |
Get the IP Type Of Service byte for RTP channels.
void H323EndPoint::SetRtpIpTypeofService | ( | unsigned | tos | ) | [inline] |
Set the IP Type Of Service byte for RTP channels.
const PTimeInterval& H323EndPoint::GetSignallingChannelCallTimeout | ( | ) | const [inline] |
Get the default timeout for calling another endpoint.
const PTimeInterval& H323EndPoint::GetControlChannelStartTimeout | ( | ) | const [inline] |
Get the default timeout for incoming H.245 connection.
const PTimeInterval& H323EndPoint::GetEndSessionTimeout | ( | ) | const [inline] |
Get the default timeout for waiting on an end session.
const PTimeInterval& H323EndPoint::GetMasterSlaveDeterminationTimeout | ( | ) | const [inline] |
Get the default timeout for master slave negotiations.
unsigned H323EndPoint::GetMasterSlaveDeterminationRetries | ( | ) | const [inline] |
Get the default retries for H245 master slave negotiations.
const PTimeInterval& H323EndPoint::GetCapabilityExchangeTimeout | ( | ) | const [inline] |
Get the default timeout for H245 capability exchange negotiations.
const PTimeInterval& H323EndPoint::GetLogicalChannelTimeout | ( | ) | const [inline] |
Get the default timeout for H245 logical channel negotiations.
const PTimeInterval& H323EndPoint::GetRequestModeTimeout | ( | ) | const [inline] |
Get the default timeout for H245 request mode negotiations.
const PTimeInterval& H323EndPoint::GetRoundTripDelayTimeout | ( | ) | const [inline] |
Get the default timeout for H245 round trip delay negotiations.
const PTimeInterval& H323EndPoint::GetRoundTripDelayRate | ( | ) | const [inline] |
Get the default rate H245 round trip delay is calculated by connection.
PBoolean H323EndPoint::ShouldClearCallOnRoundTripFail | ( | ) | const [inline] |
Get the flag for clearing a call if the round trip delay calculation fails.
const PTimeInterval& H323EndPoint::GetNoMediaTimeout | ( | ) | const [inline] |
Get the amount of time with no media that should cause call to clear
PBoolean H323EndPoint::SetNoMediaTimeout | ( | const PTimeInterval & | newInterval | ) | [inline] |
Set the amount of time with no media that should cause call to clear
newInterval | New timeout for media |
const PTimeInterval& H323EndPoint::GetGatekeeperRequestTimeout | ( | ) | const [inline] |
Get the default timeout for GatekeeperRequest and Gatekeeper discovery.
unsigned H323EndPoint::GetGatekeeperRequestRetries | ( | ) | const [inline] |
Get the default retries for GatekeeperRequest and Gatekeeper discovery.
const PTimeInterval& H323EndPoint::GetRasRequestTimeout | ( | ) | const [inline] |
Get the default timeout for RAS protocol transactions.
unsigned H323EndPoint::GetRasRequestRetries | ( | ) | const [inline] |
Get the default retries for RAS protocol transations.
const PTimeInterval& H323EndPoint::GetGatekeeperTimeToLive | ( | ) | const [inline] |
Get the default time for gatekeeper to reregister. A value of zero disables the keep alive facility.
void H323EndPoint::SetGatekeeperTimeToLive | ( | const PTimeInterval & | ttl | ) | [inline] |
Set the default time for gatekeeper to reregister. A value of zero disables the keep alive facility.
const PString& H323EndPoint::GetGkAccessTokenOID | ( | ) | const [inline] |
Get the iNow Gatekeeper Access Token OID.
void H323EndPoint::SetGkAccessTokenOID | ( | const PString & | token | ) | [inline] |
Set the iNow Gatekeeper Access Token OID.
PBoolean H323EndPoint::GetSendGRQ | ( | ) | const [inline] |
Get flag to indicate whether to send GRQ on gatekeeper registration
void H323EndPoint::SetSendGRQ | ( | PBoolean | v | ) | [inline] |
Sent flag to indicate whether to send GRQ on gatekeeper registration
const PTimeInterval& H323EndPoint::GetCallTransferT1 | ( | ) | const [inline] |
Get the default timeout for Call Transfer Timer CT-T1.
const PTimeInterval& H323EndPoint::GetCallTransferT2 | ( | ) | const [inline] |
Get the default timeout for Call Transfer Timer CT-T2.
const PTimeInterval& H323EndPoint::GetCallTransferT3 | ( | ) | const [inline] |
Get the default timeout for Call Transfer Timer CT-T3.
const PTimeInterval& H323EndPoint::GetCallTransferT4 | ( | ) | const [inline] |
Get the default timeout for Call Transfer Timer CT-T4.
const PTimeInterval& H323EndPoint::GetCallIntrusionT1 | ( | ) | const [inline] |
Get Call Intrusion timers timeout
const PTimeInterval& H323EndPoint::GetCallIntrusionT2 | ( | ) | const [inline] |
const PTimeInterval& H323EndPoint::GetCallIntrusionT3 | ( | ) | const [inline] |
const PTimeInterval& H323EndPoint::GetCallIntrusionT4 | ( | ) | const [inline] |
const PTimeInterval& H323EndPoint::GetCallIntrusionT5 | ( | ) | const [inline] |
const PTimeInterval& H323EndPoint::GetCallIntrusionT6 | ( | ) | const [inline] |
H323CallIdentityDict& H323EndPoint::GetCallIdentityDictionary | ( | ) | [inline] |
Get the dictionary of <callIdentities, connections>
PString H323EndPoint::GetDefaultTransport | ( | ) | const [virtual] |
Get the next available invoke Id for H450 operations
Reimplemented from OpalEndPoint.
bool H323EndPoint::InternalCreateGatekeeper | ( | H323Transport * | transport | ) | [protected] |
PBoolean H323EndPoint::InternalMakeCall | ( | OpalCall & | call, | |
const PString & | existingToken, | |||
const PString & | callIdentity, | |||
unsigned | capabilityLevel, | |||
const PString & | remoteParty, | |||
void * | userData, | |||
unsigned int | options = 0 , |
|||
OpalConnection::StringOptions * | stringOptions = NULL | |||
) | [protected] |
existingToken | Existing connection to be transferred |
callIdentity | Call identity of the secondary call (if it exists) |
capabilityLevel | Intrusion capability level |
remoteParty | Remote party to call |
userData | user data to pass to CreateConnection |
options | options to pass to connection |
stringOptions | complex string options |
PStringList H323EndPoint::localAliasNames [protected] |
PStringList H323EndPoint::localAliasPatterns [protected] |
PBoolean H323EndPoint::autoStartReceiveFax [protected] |
PBoolean H323EndPoint::autoStartTransmitFax [protected] |
PBoolean H323EndPoint::isH224Enabled [protected] |
PBoolean H323EndPoint::autoCallForward [protected] |
PBoolean H323EndPoint::disableFastStart [protected] |
PBoolean H323EndPoint::disableH245Tunneling [protected] |
PBoolean H323EndPoint::disableH245inSetup [protected] |
PBoolean H323EndPoint::m_bH245Disabled [protected] |
PBoolean H323EndPoint::canDisplayAmountString [protected] |
PBoolean H323EndPoint::canEnforceDurationLimit [protected] |
TerminalTypes H323EndPoint::terminalType [protected] |
PBoolean H323EndPoint::clearCallOnRoundTripFail [protected] |
PTimeInterval H323EndPoint::signallingChannelCallTimeout [protected] |
PTimeInterval H323EndPoint::controlChannelStartTimeout [protected] |
PTimeInterval H323EndPoint::endSessionTimeout [protected] |
PTimeInterval H323EndPoint::masterSlaveDeterminationTimeout [protected] |
unsigned H323EndPoint::masterSlaveDeterminationRetries [protected] |
PTimeInterval H323EndPoint::capabilityExchangeTimeout [protected] |
PTimeInterval H323EndPoint::logicalChannelTimeout [protected] |
PTimeInterval H323EndPoint::requestModeTimeout [protected] |
PTimeInterval H323EndPoint::roundTripDelayTimeout [protected] |
PTimeInterval H323EndPoint::roundTripDelayRate [protected] |
PTimeInterval H323EndPoint::gatekeeperRequestTimeout [protected] |
unsigned H323EndPoint::gatekeeperRequestRetries [protected] |
PTimeInterval H323EndPoint::rasRequestTimeout [protected] |
unsigned H323EndPoint::rasRequestRetries [protected] |
PTimeInterval H323EndPoint::registrationTimeToLive [protected] |
PString H323EndPoint::gkAccessTokenOID [protected] |
PBoolean H323EndPoint::sendGRQ [protected] |
PTimeInterval H323EndPoint::callTransferT1 [protected] |
PTimeInterval H323EndPoint::callTransferT2 [protected] |
PTimeInterval H323EndPoint::callTransferT3 [protected] |
PTimeInterval H323EndPoint::callTransferT4 [protected] |
PTimeInterval H323EndPoint::callIntrusionT1 [protected] |
Call Intrusion Timers
PTimeInterval H323EndPoint::callIntrusionT2 [protected] |
PTimeInterval H323EndPoint::callIntrusionT3 [protected] |
PTimeInterval H323EndPoint::callIntrusionT4 [protected] |
PTimeInterval H323EndPoint::callIntrusionT5 [protected] |
PTimeInterval H323EndPoint::callIntrusionT6 [protected] |
H323Capabilities H323EndPoint::capabilities [mutable, protected] |
H323Gatekeeper* H323EndPoint::gatekeeper [protected] |
PString H323EndPoint::gatekeeperUsername [protected] |
PString H323EndPoint::gatekeeperPassword [protected] |
H323CallIdentityDict H323EndPoint::secondaryConnectionsActive [protected] |