OPAL
Version 3.14.3
|
#include <peclient.h>
Data Structures | |
class | AliasKey |
Public Types | |
enum | Error { Confirmed, Rejected, NoResponse, NoServiceRelationship, ServiceRelationshipReestablished } |
enum | { LocalServiceRelationshipOrdinal = 0, NoServiceRelationshipOrdinal = 1, RemoteServiceRelationshipOrdinal = 2 } |
![]() | |
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 |
![]() | |
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 &) |
![]() | |
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) |
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) | |
![]() | |
void | Construct () |
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 |
This class embodies the an H.323 AnnexG server/client
anonymous enum |
H323PeerElement::H323PeerElement | ( | H323EndPoint & | endpoint, |
H323Transport * | transport = NULL |
||
) |
Create a new client.
endpoint | Endpoint gatekeeper is associated with. |
H323PeerElement::H323PeerElement | ( | H323EndPoint & | endpoint, |
const H323TransportAddress & | addr | ||
) |
endpoint | Endpoint gatekeeper is associated with. |
H323PeerElement::~H323PeerElement | ( | ) |
Destroy client.
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 |
||
) |
|
protected |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
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 |
|
inline |
References descriptors.
|
inline |
References localServiceRelationships.
|
inline |
References remoteServiceRelationships.
PString H323PeerElement::GetLocalName | ( | ) | const |
|
protected |
|
protected |
|
virtual |
Reimplemented from H323Transactor.
|
virtual |
|
inlinevirtual |
|
virtual |
|
inlinevirtual |
|
virtual |
Reimplemented from H323_AnnexG.
|
virtual |
Reimplemented from H323_AnnexG.
|
virtual |
Reimplemented from H323_AnnexG.
|
virtual |
Reimplemented from H323_AnnexG.
|
virtual |
Reimplemented from H323_AnnexG.
|
virtual |
Reimplemented from H323_AnnexG.
|
virtual |
Reimplemented from H323_AnnexG.
|
protected |
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
|
inlinevirtual |
|
protected |
|
protected |
|
protected |
|
protected |
void H323PeerElement::PrintOn | ( | ostream & | strm | ) | const |
Print the name of the peer element.
strm | Stream to print to. |
|
protected |
PBoolean H323PeerElement::RemoveAllServiceRelationships | ( | ) |
|
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 | ||
) |
|
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 | ||
) |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by GetFirstDescriptor().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by GetFirstLocalServiceRelationship().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by GetFirstRemoteServiceRelationship().
|
protected |
|
protected |
|
protected |
|
protected |