H323PeerElement Class Reference

`#include <peclient.h>`

Inheritance diagram for H323PeerElement:

## Data Structures

class | AliasKey

## Public Types

enum | Error { Confirmed, Rejected, NoResponse, NoServiceRelationship, ServiceRelationshipReestablished }
enum | { LocalServiceRelationshipOrdinal = 0, NoServiceRelationshipOrdinal = 1, RemoteServiceRelationshipOrdinal = 2 }
Public Types inherited from H323_AnnexG
enum | { DefaultUdpPort = 2099, DefaultTcpPort = 2099 }

## Public Member Functions

PSafePtr< H323PeerElementDescriptor > | GetFirstDescriptor (PSafetyMode mode=PSafeReference)
PSafePtr< H323PeerElementServiceRelationship > | GetFirstLocalServiceRelationship (PSafetyMode mode=PSafeReference)
PSafePtr< H323PeerElementServiceRelationship > | GetFirstRemoteServiceRelationship (PSafetyMode mode=PSafeReference)
void | SetLocalName (const PString &name)
PString | GetLocalName () const
void | SetDomainName (const PString &name)
PString | GetDomainName () const
PBoolean | SetOnlyServiceRelationship (const PString &peer, PBoolean keepTrying=true)
PBoolean | AddServiceRelationship (const H323TransportAddress &peer, PBoolean keepTrying=true)
PBoolean | AddServiceRelationship (const H323TransportAddress &peer, OpalGloballyUniqueID &serviceID, PBoolean keepTrying=true)
PBoolean | RemoveServiceRelationship (const OpalGloballyUniqueID &serviceID, int reason=H501_ServiceReleaseReason::e_terminated)
PBoolean | RemoveServiceRelationship (const H323TransportAddress &peer, int reason=H501_ServiceReleaseReason::e_terminated)
PBoolean | RemoveAllServiceRelationships ()
Error | ServiceRequestByAddr (const H323TransportAddress &peer)
Error | ServiceRequestByAddr (const H323TransportAddress &peer, OpalGloballyUniqueID &serviceID)
Error | ServiceRequestByID (OpalGloballyUniqueID &serviceID)
PBoolean | ServiceRelease (const OpalGloballyUniqueID &serviceID, unsigned reason)
PBoolean | AddDescriptor (const OpalGloballyUniqueID &descriptorID, const PStringArray &aliases, const H323TransportAddressArray &transportAddrs, unsigned options=H323PeerElementDescriptor::Protocol_H323, PBoolean now=false)
PBoolean | AddDescriptor (const OpalGloballyUniqueID &descriptorID, const H225_ArrayOf_AliasAddress &aliases, const H323TransportAddressArray &transportAddrs, unsigned options=H323PeerElementDescriptor::Protocol_H323, PBoolean now=false)
PBoolean | AddDescriptor (const OpalGloballyUniqueID &descriptorID, const H225_ArrayOf_AliasAddress &aliases, const H225_ArrayOf_AliasAddress &transportAddr, unsigned options=H323PeerElementDescriptor::Protocol_H323, PBoolean now=false)
PBoolean | AddDescriptor (const OpalGloballyUniqueID &descriptorID, const POrdinalKey &creator, const H225_ArrayOf_AliasAddress &alias, const H225_ArrayOf_AliasAddress &transportAddresses, unsigned options=H323PeerElementDescriptor::Protocol_H323, PBoolean now=false)
PBoolean | AddDescriptor (const OpalGloballyUniqueID &descriptorID, const POrdinalKey &creator, const H501_ArrayOf_AddressTemplate &addressTemplates, const PTime &updateTime, PBoolean now=false)
PBoolean | DeleteDescriptor (const PString &alias, PBoolean now=false)
PBoolean | DeleteDescriptor (const H225_AliasAddress &alias, PBoolean now=false)
PBoolean | DeleteDescriptor (const OpalGloballyUniqueID &descriptorID, PBoolean now=false)
PBoolean | AccessRequest (const PString &searchAlias, PStringArray &destAliases, H323TransportAddress &transportAddress, unsigned options=H323PeerElementDescriptor::Protocol_H323)
PBoolean | AccessRequest (const PString &searchAlias, H225_ArrayOf_AliasAddress &destAliases, H323TransportAddress &transportAddress, unsigned options=H323PeerElementDescriptor::Protocol_H323)
PBoolean | AccessRequest (const H225_AliasAddress &searchAlias, H225_ArrayOf_AliasAddress &destAliases, H323TransportAddress &transportAddress, unsigned options=H323PeerElementDescriptor::Protocol_H323)
PBoolean | AccessRequest (const H225_AliasAddress &alias, H225_ArrayOf_AliasAddress &destAliases, H225_AliasAddress &transportAddress, unsigned options=H323PeerElementDescriptor::Protocol_H323)
PBoolean | UpdateDescriptor (H323PeerElementDescriptor *descriptor)
PBoolean | UpdateDescriptor (H323PeerElementDescriptor *descriptor, H501_UpdateInformation_updateType::Choices updateType)
Error | SendUpdateDescriptorByID (const OpalGloballyUniqueID &serviceID, H323PeerElementDescriptor *descriptor, H501_UpdateInformation_updateType::Choices updateType)
Error | SendUpdateDescriptorByAddr (const H323TransportAddress &peer, H323PeerElementDescriptor *descriptor, H501_UpdateInformation_updateType::Choices updateType)
Error | SendAccessRequestByID (const OpalGloballyUniqueID &peerID, H501PDU &request, H501PDU &confirmPDU)
Error | SendAccessRequestByAddr (const H323TransportAddress &peerAddr, H501PDU &request, H501PDU &confirmPDU)
PBoolean | MakeRequest (H323_AnnexG::Request &request)
virtual void | OnAddServiceRelationship (const H323TransportAddress &)
virtual void | OnRemoveServiceRelationship (const H323TransportAddress &)
virtual void | OnNewDescriptor (const H323PeerElementDescriptor &)
virtual void | OnUpdateDescriptor (const H323PeerElementDescriptor &)
virtual void | OnRemoveDescriptor (const H323PeerElementDescriptor &)
virtual H323Transaction::Response | OnServiceRequest (H501ServiceRequest &info)
virtual H323Transaction::Response | OnDescriptorUpdate (H501DescriptorUpdate &info)
virtual H323Transaction::Response | OnAccessRequest (H501AccessRequest &info)
PBoolean | OnReceiveServiceRequest (const H501PDU &pdu, const H501_ServiceRequest &pduBody)
PBoolean | OnReceiveServiceConfirmation (const H501PDU &pdu, const H501_ServiceConfirmation &pduBody)
PBoolean | OnReceiveDescriptorUpdate (const H501PDU &pdu, const H501_DescriptorUpdate &pduBody)
PBoolean | OnReceiveDescriptorUpdateACK (const H501PDU &pdu, const H501_DescriptorUpdateAck &pduBody)
PBoolean | OnReceiveAccessRequest (const H501PDU &pdu, const H501_AccessRequest &pduBody)
PBoolean | OnReceiveAccessConfirmation (const H501PDU &pdu, const H501_AccessConfirmation &pduBody)
PBoolean | OnReceiveAccessRejection (const H501PDU &pdu, const H501_AccessRejection &pduBody)
Construction
| H323PeerElement (H323EndPoint &endpoint, H323Transport *transport=NULL)
| H323PeerElement (H323EndPoint &endpoint, const H323TransportAddress &addr)
| ~H323PeerElement ()
Overrides from PObject
void | PrintOn (ostream &strm) const
Public Member Functions inherited from H323_AnnexG
void | PrintOn (ostream &strm) const
virtual H323TransactionPDU * | CreateTransactionPDU () const
virtual PBoolean | HandleTransaction (const PASN_Object &rawPDU)
virtual void | OnSendingPDU (PASN_Object &rawPDU)
| H323_AnnexG (H323EndPoint &endpoint, H323Transport *transport)
| H323_AnnexG (H323EndPoint &endpoint, const H323TransportAddress &addr)
| ~H323_AnnexG ()
virtual PBoolean | OnReceiveServiceRejection (const H501PDU &pdu, const H501_ServiceRejection &pduBody)
virtual PBoolean | OnReceiveServiceRelease (const H501PDU &pdu, const H501_ServiceRelease &pduBody)
virtual PBoolean | OnReceiveDescriptorRequest (const H501PDU &pdu, const H501_DescriptorRequest &pduBody)
virtual PBoolean | OnReceiveDescriptorConfirmation (const H501PDU &pdu, const H501_DescriptorConfirmation &pduBody)
virtual PBoolean | OnReceiveDescriptorRejection (const H501PDU &pdu, const H501_DescriptorRejection &pduBody)
virtual PBoolean | OnReceiveDescriptorIDRequest (const H501PDU &pdu, const H501_DescriptorIDRequest &pduBody)
virtual PBoolean | OnReceiveDescriptorIDConfirmation (const H501PDU &pdu, const H501_DescriptorIDConfirmation &pduBody)
virtual PBoolean | OnReceiveDescriptorIDRejection (const H501PDU &pdu, const H501_DescriptorIDRejection &pduBody)
virtual PBoolean | OnReceiveRequestInProgress (const H501PDU &pdu, const H501_RequestInProgress &pduBody)
virtual PBoolean | OnReceiveNonStandardRequest (const H501PDU &pdu, const H501_NonStandardRequest &pduBody)
virtual PBoolean | OnReceiveNonStandardConfirmation (const H501PDU &pdu, const H501_NonStandardConfirmation &pduBody)
virtual PBoolean | OnReceiveNonStandardRejection (const H501PDU &pdu, const H501_NonStandardRejection &pduBody)
virtual PBoolean | OnReceiveUnknownMessageResponse (const H501PDU &pdu, const H501_UnknownMessageResponse &pduBody)
virtual PBoolean | OnReceiveUsageRequest (const H501PDU &pdu, const H501_UsageRequest &pduBody)
virtual PBoolean | OnReceiveUsageConfirmation (const H501PDU &pdu, const H501_UsageConfirmation &pduBody)
virtual PBoolean | OnReceiveUsageIndicationConfirmation (const H501PDU &pdu, const H501_UsageIndicationConfirmation &pduBody)
virtual PBoolean | OnReceiveUsageIndicationRejection (const H501PDU &pdu, const H501_UsageIndicationRejection &pduBody)
virtual PBoolean | OnReceiveUsageRejection (const H501PDU &pdu, const H501_UsageRejection &pduBody)
virtual PBoolean | OnReceiveValidationRequest (const H501PDU &pdu, const H501_ValidationRequest &pduBody)
virtual PBoolean | OnReceiveValidationConfirmation (const H501PDU &pdu, const H501_ValidationConfirmation &pduBody)
virtual PBoolean | OnReceiveValidationRejection (const H501PDU &pdu, const H501_ValidationRejection &pduBody)
virtual PBoolean | OnReceiveAuthenticationRequest (const H501PDU &pdu, const H501_AuthenticationRequest &pduBody)
virtual PBoolean | OnReceiveAuthenticationConfirmation (const H501PDU &pdu, const H501_AuthenticationConfirmation &pduBody)
virtual PBoolean | OnReceiveAuthenticationRejection (const H501PDU &pdu, const H501_AuthenticationRejection &pduBody)
virtual PBoolean | OnReceiveUnknown (const H501PDU &)
Public Member Functions inherited from H323Transactor
| H323Transactor (H323EndPoint &endpoint, H323Transport *transport, WORD localPort, WORD remotePort)
| H323Transactor (H323EndPoint &endpoint, const H323TransportAddress &iface, WORD localPort, WORD remotePort)
| ~H323Transactor ()
void | PrintOn (ostream &strm) const
PBoolean | SetTransport (const H323TransportAddress &iface)
H323TransportAddressArray | GetInterfaceAddresses (bool excludeLocalHost=true)
virtual PBoolean | StartChannel ()
virtual void | StopChannel ()
virtual PBoolean | WritePDU (H323TransactionPDU &pdu)
virtual PBoolean | WriteTo (H323TransactionPDU &pdu, const H323TransportAddressArray &addresses, PBoolean callback=true)
H323EndPoint & | GetEndPoint () const
H323Transport & | GetTransport () const
void | SetCheckResponseCryptoTokens (PBoolean value)
PBoolean | GetCheckResponseCryptoTokens ()

## Protected Member Functions

void | Construct ()
Error | SendUpdateDescriptor (H501PDU &pdu, const H323TransportAddress &peer, H323PeerElementDescriptor *descriptor, H501_UpdateInformation_updateType::Choices updateType)
PBoolean | OnRemoteServiceRelationshipDisappeared (OpalGloballyUniqueID &serviceID, const H323TransportAddress &peer)
void | InternalRemoveServiceRelationship (const H323TransportAddress &peer)
H323Transaction::Response | HandleServiceRequest (H501ServiceRequest &info)
virtual H323PeerElementDescriptor * | CreateDescriptor (const OpalGloballyUniqueID &descriptorID)
virtual H323PeerElementServiceRelationship * | CreateServiceRelationship ()
virtual AliasKey * | CreateAliasKey (const H225_AliasAddress &alias, const OpalGloballyUniqueID &id, PINDEX pos, PBoolean wild=false)
void | RemoveDescriptorInformation (const H501_ArrayOf_AddressTemplate &addressTemplates)
| PDECLARE_NOTIFIER (PThread, H323PeerElement, MonitorMain)
| PDECLARE_NOTIFIER (PThread, H323PeerElement, UpdateAllDescriptors)
| PDECLARE_NOTIFIER (PTimer, H323PeerElement, TickleMonitor)
| PDICTIONARY (StringToOrdinalKey, PString, POrdinalKey)
| PSORTED_LIST (AliasKeyList, H225_AliasAddress)
Protected Member Functions inherited from H323_AnnexG
void | Construct ()
Protected Member Functions inherited from H323Transactor
void | Construct ()
unsigned | GetNextSequenceNumber ()
PBoolean | SetUpCallSignalAddresses (H225_ArrayOf_TransportAddress &addresses)
| PDECLARE_NOTIFIER (PThread, H323Transactor, HandleTransactions)
PBoolean | CheckForResponse (unsigned, unsigned, const PASN_Choice *=NULL)
PBoolean | HandleRequestInProgress (const H323TransactionPDU &pdu, unsigned delay)
PBoolean | CheckCryptoTokens (const H323TransactionPDU &pdu, const PASN_Array &clearTokens, unsigned clearOptionalField, const PASN_Array &cryptoTokens, unsigned cryptoOptionalField)
void | AgeResponses ()
PBoolean | SendCachedResponse (const H323TransactionPDU &pdu)

## Protected Attributes

PMutex | localNameMutex
PString | localIdentifier
PString | domainName
PSemaphore | requestMutex
PThread * | monitor
PBoolean | monitorStop
PSyncPoint | monitorTickle
PMutex | basePeerOrdinalMutex
PINDEX | basePeerOrdinal
PSafeSortedList< H323PeerElementServiceRelationship > | localServiceRelationships
PMutex | localPeerListMutex
POrdinalSet | localServiceOrdinals
PMutex | remotePeerListMutex
PSafeSortedList< H323PeerElementServiceRelationship > | remoteServiceRelationships
PStringToString | remotePeerAddrToServiceID
StringToOrdinalKey | remotePeerAddrToOrdinalKey
PSafeSortedList< H323PeerElementDescriptor > | descriptors
PMutex | aliasMutex
AliasKeyList | transportAddressToDescriptorID
AliasKeyList | specificAliasToDescriptorID
AliasKeyList | wildcardAliasToDescriptorID
Protected Attributes inherited from H323Transactor
H323EndPoint & | endpoint
WORD | defaultLocalPort
WORD | defaultRemotePort
H323Transport * | transport
PBoolean | checkResponseCryptoTokens
unsigned | nextSequenceNumber
PMutex | nextSequenceNumberMutex
PDictionary< POrdinalKey, Request > | requests
PMutex | requestsMutex
Request * | lastRequest
PMutex | pduWriteMutex
PSortedList< Response > | responses

## Detailed Description

This class embodies the an H.323 AnnexG server/client

## Member Enumeration Documentation

anonymous enum

Enumerator
LocalServiceRelationshipOrdinal |
NoServiceRelationshipOrdinal |
RemoteServiceRelationshipOrdinal |

enum H323PeerElement::Error

Enumerator
Confirmed |
Rejected |
NoResponse |
NoServiceRelationship |
ServiceRelationshipReestablished |

## Constructor & Destructor Documentation

H323PeerElement::H323PeerElement | ( | H323EndPoint & | endpoint,
|  | H323Transport * | transport = `NULL`
| ) |  |

Create a new client.

Parameters

  endpoint | Endpoint gatekeeper is associated with.

H323PeerElement::H323PeerElement | ( | H323EndPoint & | endpoint,
|  | const H323TransportAddress & | addr
| ) |  |

Parameters

  endpoint | Endpoint gatekeeper is associated with.

H323PeerElement::~H323PeerElement | ( |  | ) |

Destroy client.

## Member Function Documentation

PBoolean H323PeerElement::AccessRequest | ( | const PString & | searchAlias,
|  | PStringArray & | destAliases,
|  | H323TransportAddress & | transportAddress,
|  | unsigned | options = `H323PeerElementDescriptor::Protocol_H323`
| ) |  |

Request access to an alias

PBoolean H323PeerElement::AccessRequest | ( | const PString & | searchAlias,
|  | H225_ArrayOf_AliasAddress & | destAliases,
|  | H323TransportAddress & | transportAddress,
|  | unsigned | options = `H323PeerElementDescriptor::Protocol_H323`
| ) |  |

PBoolean H323PeerElement::AccessRequest | ( | const H225_AliasAddress & | searchAlias,
|  | H225_ArrayOf_AliasAddress & | destAliases,
|  | H323TransportAddress & | transportAddress,
|  | unsigned | options = `H323PeerElementDescriptor::Protocol_H323`
| ) |  |

PBoolean H323PeerElement::AccessRequest | ( | const H225_AliasAddress & | alias,
|  | H225_ArrayOf_AliasAddress & | destAliases,
|  | H225_AliasAddress & | transportAddress,
|  | unsigned | options = `H323PeerElementDescriptor::Protocol_H323`
| ) |  |

PBoolean H323PeerElement::AddDescriptor | ( | const OpalGloballyUniqueID & | descriptorID,
|  | const PStringArray & | aliases,
|  | const H323TransportAddressArray & | transportAddrs,
|  | unsigned | options = `H323PeerElementDescriptor::Protocol_H323`,
|  | PBoolean | now = `false`
| ) |  |

PBoolean H323PeerElement::AddDescriptor | ( | const OpalGloballyUniqueID & | descriptorID,
|  | const H225_ArrayOf_AliasAddress & | aliases,
|  | const H323TransportAddressArray & | transportAddrs,
|  | unsigned | options = `H323PeerElementDescriptor::Protocol_H323`,
|  | PBoolean | now = `false`
| ) |  |

PBoolean H323PeerElement::AddDescriptor | ( | const OpalGloballyUniqueID & | descriptorID,
|  | const H225_ArrayOf_AliasAddress & | aliases,
|  | const H225_ArrayOf_AliasAddress & | transportAddr,
|  | unsigned | options = `H323PeerElementDescriptor::Protocol_H323`,
|  | PBoolean | now = `false`
| ) |  |

PBoolean H323PeerElement::AddDescriptor | ( | const OpalGloballyUniqueID & | descriptorID,
|  | const POrdinalKey & | creator,
|  | const H225_ArrayOf_AliasAddress & | alias,
|  | const H225_ArrayOf_AliasAddress & | transportAddresses,
|  | unsigned | options = `H323PeerElementDescriptor::Protocol_H323`,
|  | PBoolean | now = `false`
| ) |  |

PBoolean H323PeerElement::AddDescriptor | ( | const OpalGloballyUniqueID & | descriptorID,
|  | const POrdinalKey & | creator,
|  | const H501_ArrayOf_AddressTemplate & | addressTemplates,
|  | const PTime & | updateTime,
|  | PBoolean | now = `false`
| ) |  |

PBoolean H323PeerElement::AddServiceRelationship | ( | const H323TransportAddress & | peer,
|  | PBoolean | keepTrying = `true`
| ) |  |

PBoolean H323PeerElement::AddServiceRelationship | ( | const H323TransportAddress & | peer,
|  | OpalGloballyUniqueID & | serviceID,
|  | PBoolean | keepTrying = `true`
| ) |  |

void H323PeerElement::Construct | ( |  | ) |

protected

virtual AliasKey* H323PeerElement::CreateAliasKey | ( | const H225_AliasAddress & | alias,
|  | const OpalGloballyUniqueID & | id,
|  | PINDEX | pos,
|  | PBoolean | wild = `false`
| ) |  |

protected virtual

virtual H323PeerElementDescriptor* H323PeerElement::CreateDescriptor | ( | const OpalGloballyUniqueID & | descriptorID | ) |

protected virtual

virtual H323PeerElementServiceRelationship* H323PeerElement::CreateServiceRelationship | ( |  | ) |

protected virtual

PBoolean H323PeerElement::DeleteDescriptor | ( | const PString & | alias,
|  | PBoolean | now = `false`
| ) |  |

Remove a descriptor from the local table

PBoolean H323PeerElement::DeleteDescriptor | ( | const H225_AliasAddress & | alias,
|  | PBoolean | now = `false`
| ) |  |

PBoolean H323PeerElement::DeleteDescriptor | ( | const OpalGloballyUniqueID & | descriptorID,
|  | PBoolean | now = `false`
| ) |  |

PString H323PeerElement::GetDomainName | ( |  | ) | const

PSafePtr<H323PeerElementDescriptor> H323PeerElement::GetFirstDescriptor | ( | PSafetyMode | mode = `PSafeReference` | ) |

inline

References descriptors.

PSafePtr<H323PeerElementServiceRelationship> H323PeerElement::GetFirstLocalServiceRelationship | ( | PSafetyMode | mode = `PSafeReference` | ) |

inline

References localServiceRelationships.

PSafePtr<H323PeerElementServiceRelationship> H323PeerElement::GetFirstRemoteServiceRelationship | ( | PSafetyMode | mode = `PSafeReference` | ) |

inline

References remoteServiceRelationships.

PString H323PeerElement::GetLocalName | ( |  | ) | const

H323Transaction::Response H323PeerElement::HandleServiceRequest | ( | H501ServiceRequest & | info | ) |

protected

void H323PeerElement::InternalRemoveServiceRelationship | ( | const H323TransportAddress & | peer | ) |

protected

PBoolean H323PeerElement::MakeRequest | ( | H323_AnnexG::Request & | request | ) |

virtual

Reimplemented from H323Transactor.

virtual H323Transaction::Response H323PeerElement::OnAccessRequest | ( | H501AccessRequest & | info | ) |

virtual

virtual void H323PeerElement::OnAddServiceRelationship | ( | const H323TransportAddress & |  | ) |

inline virtual

virtual H323Transaction::Response H323PeerElement::OnDescriptorUpdate | ( | H501DescriptorUpdate & | info | ) |

virtual

virtual void H323PeerElement::OnNewDescriptor | ( | const H323PeerElementDescriptor & |  | ) |

inline virtual

PBoolean H323PeerElement::OnReceiveAccessConfirmation | ( | const H501PDU & | pdu,
|  | const H501_AccessConfirmation & | pduBody
| ) |  |

virtual

Reimplemented from H323_AnnexG.

PBoolean H323PeerElement::OnReceiveAccessRejection | ( | const H501PDU & | pdu,
|  | const H501_AccessRejection & | pduBody
| ) |  |

virtual

Reimplemented from H323_AnnexG.

PBoolean H323PeerElement::OnReceiveAccessRequest | ( | const H501PDU & | pdu,
|  | const H501_AccessRequest & | pduBody
| ) |  |

virtual

Reimplemented from H323_AnnexG.

PBoolean H323PeerElement::OnReceiveDescriptorUpdate | ( | const H501PDU & | pdu,
|  | const H501_DescriptorUpdate & | pduBody
| ) |  |

virtual

Reimplemented from H323_AnnexG.

PBoolean H323PeerElement::OnReceiveDescriptorUpdateACK | ( | const H501PDU & | pdu,
|  | const H501_DescriptorUpdateAck & | pduBody
| ) |  |

virtual

Reimplemented from H323_AnnexG.

PBoolean H323PeerElement::OnReceiveServiceConfirmation | ( | const H501PDU & | pdu,
|  | const H501_ServiceConfirmation & | pduBody
| ) |  |

virtual

Reimplemented from H323_AnnexG.

PBoolean H323PeerElement::OnReceiveServiceRequest | ( | const H501PDU & | pdu,
|  | const H501_ServiceRequest & | pduBody
| ) |  |

virtual

Reimplemented from H323_AnnexG.

PBoolean H323PeerElement::OnRemoteServiceRelationshipDisappeared | ( | OpalGloballyUniqueID & | serviceID,
|  | const H323TransportAddress & | peer
| ) |  |

protected

virtual void H323PeerElement::OnRemoveDescriptor | ( | const H323PeerElementDescriptor & |  | ) |

inline virtual

virtual void H323PeerElement::OnRemoveServiceRelationship | ( | const H323TransportAddress & |  | ) |

inline virtual

virtual H323Transaction::Response H323PeerElement::OnServiceRequest | ( | H501ServiceRequest & | info | ) |

virtual

virtual void H323PeerElement::OnUpdateDescriptor | ( | const H323PeerElementDescriptor & |  | ) |

inline virtual

H323PeerElement::PDECLARE_NOTIFIER | ( | PThread | ,
|  | H323PeerElement | ,
|  | MonitorMain |
| ) |  |

protected

H323PeerElement::PDECLARE_NOTIFIER | ( | PThread | ,
|  | H323PeerElement | ,
|  | UpdateAllDescriptors |
| ) |  |

protected

H323PeerElement::PDECLARE_NOTIFIER | ( | PTimer | ,
|  | H323PeerElement | ,
|  | TickleMonitor |
| ) |  |

protected

H323PeerElement::PDICTIONARY | ( | StringToOrdinalKey | ,
|  | PString | ,
|  | POrdinalKey |
| ) |  |

protected

void H323PeerElement::PrintOn | ( | ostream & | strm | ) | const

Print the name of the peer element.

Parameters

  strm | Stream to print to.

H323PeerElement::PSORTED_LIST | ( | AliasKeyList | ,
|  | H225_AliasAddress |
| ) |  |

protected

PBoolean H323PeerElement::RemoveAllServiceRelationships | ( |  | ) |

void H323PeerElement::RemoveDescriptorInformation | ( | const H501_ArrayOf_AddressTemplate & | addressTemplates | ) |

protected

PBoolean H323PeerElement::RemoveServiceRelationship | ( | const OpalGloballyUniqueID & | serviceID,
|  | int | reason = `H501_ServiceReleaseReason::e_terminated`
| ) |  |

PBoolean H323PeerElement::RemoveServiceRelationship | ( | const H323TransportAddress & | peer,
|  | int | reason = `H501_ServiceReleaseReason::e_terminated`
| ) |  |

Error H323PeerElement::SendAccessRequestByAddr | ( | const H323TransportAddress & | peerAddr,
|  | H501PDU & | request,
|  | H501PDU & | confirmPDU
| ) |  |

Error H323PeerElement::SendAccessRequestByID | ( | const OpalGloballyUniqueID & | peerID,
|  | H501PDU & | request,
|  | H501PDU & | confirmPDU
| ) |  |

Error H323PeerElement::SendUpdateDescriptor | ( | H501PDU & | pdu,
|  | const H323TransportAddress & | peer,
|  | H323PeerElementDescriptor * | descriptor,
|  | H501_UpdateInformation_updateType::Choices | updateType
| ) |  |

protected

Error H323PeerElement::SendUpdateDescriptorByAddr | ( | const H323TransportAddress & | peer,
|  | H323PeerElementDescriptor * | descriptor,
|  | H501_UpdateInformation_updateType::Choices | updateType
| ) |  |

Error H323PeerElement::SendUpdateDescriptorByID | ( | const OpalGloballyUniqueID & | serviceID,
|  | H323PeerElementDescriptor * | descriptor,
|  | H501_UpdateInformation_updateType::Choices | updateType
| ) |  |

PBoolean H323PeerElement::ServiceRelease | ( | const OpalGloballyUniqueID & | serviceID,
|  | unsigned | reason
| ) |  |

Send a service release

Error H323PeerElement::ServiceRequestByAddr | ( | const H323TransportAddress & | peer | ) |

Error H323PeerElement::ServiceRequestByAddr | ( | const H323TransportAddress & | peer,
|  | OpalGloballyUniqueID & | serviceID
| ) |  |

Error H323PeerElement::ServiceRequestByID | ( | OpalGloballyUniqueID & | serviceID | ) |

void H323PeerElement::SetDomainName | ( | const PString & | name | ) |

void H323PeerElement::SetLocalName | ( | const PString & | name | ) |

PBoolean H323PeerElement::SetOnlyServiceRelationship | ( | const PString & | peer,
|  | PBoolean | keepTrying = `true`
| ) |  |

Send a service request

PBoolean H323PeerElement::UpdateDescriptor | ( | H323PeerElementDescriptor * | descriptor | ) |

PBoolean H323PeerElement::UpdateDescriptor | ( | H323PeerElementDescriptor * | descriptor,
|  | H501_UpdateInformation_updateType::Choices | updateType
| ) |  |

## Field Documentation

PMutex H323PeerElement::aliasMutex

protected

PINDEX H323PeerElement::basePeerOrdinal

protected

PMutex H323PeerElement::basePeerOrdinalMutex

protected

PSafeSortedList<H323PeerElementDescriptor> H323PeerElement::descriptors

protected

Referenced by GetFirstDescriptor().

PString H323PeerElement::domainName

protected

PString H323PeerElement::localIdentifier

protected

PMutex H323PeerElement::localNameMutex

protected

PMutex H323PeerElement::localPeerListMutex

protected

POrdinalSet H323PeerElement::localServiceOrdinals

protected

PSafeSortedList<H323PeerElementServiceRelationship> H323PeerElement::localServiceRelationships

protected

Referenced by GetFirstLocalServiceRelationship().

PThread* H323PeerElement::monitor

protected

PBoolean H323PeerElement::monitorStop

protected

PSyncPoint H323PeerElement::monitorTickle

protected

StringToOrdinalKey H323PeerElement::remotePeerAddrToOrdinalKey

protected

PStringToString H323PeerElement::remotePeerAddrToServiceID

protected

PMutex H323PeerElement::remotePeerListMutex

protected

PSafeSortedList<H323PeerElementServiceRelationship> H323PeerElement::remoteServiceRelationships

protected

Referenced by GetFirstRemoteServiceRelationship().

PSemaphore H323PeerElement::requestMutex

protected

AliasKeyList H323PeerElement::specificAliasToDescriptorID

protected

AliasKeyList H323PeerElement::transportAddressToDescriptorID

protected

AliasKeyList H323PeerElement::wildcardAliasToDescriptorID

protected

The documentation for this class was generated from the following file:

- peclient.h