30 #ifndef OPAL_H323_GKSERVER_H
31 #define OPAL_H323_GKSERVER_H
41 #include <ptlib/safecoll.h>
53 class H225_AliasAddress;
54 class H225_EndpointIdentifier;
55 class H225_GatekeeperIdentifier;
56 class H225_ArrayOf_TransportAddress;
57 class H225_GatekeeperIdentifier;
58 class H225_EndpointIdentifier;
59 class H225_InfoRequestResponse_perCallInfo_subtype;
60 class H225_RasUsageInformation;
86 unsigned sequenceNumber,
121 virtual const char *
GetName()
const;
134 H225_GatekeeperRequest &
grq;
135 H225_GatekeeperConfirm &
gcf;
136 H225_GatekeeperReject &
grj;
153 virtual const char *
GetName()
const;
165 H225_RegistrationRequest &
rrq;
166 H225_RegistrationConfirm &
rcf;
167 H225_RegistrationReject &
rrj;
184 virtual const char *
GetName()
const;
196 H225_UnregistrationRequest &
urq;
197 H225_UnregistrationConfirm &
ucf;
198 H225_UnregistrationReject &
urj;
215 virtual const char *
GetName()
const;
227 H225_AdmissionRequest &
arq;
228 H225_AdmissionConfirm &
acf;
229 H225_AdmissionReject &
arj;
248 virtual const char *
GetName()
const;
260 H225_DisengageRequest &
drq;
261 H225_DisengageConfirm &
dcf;
262 H225_DisengageReject &
drj;
279 virtual const char *
GetName()
const;
291 H225_BandwidthRequest &
brq;
292 H225_BandwidthConfirm &
bcf;
293 H225_BandwidthReject &
brj;
310 virtual const char *
GetName()
const;
322 H225_LocationRequest &
lrq;
323 H225_LocationConfirm &
lcf;
324 H225_LocationReject &
lrj;
341 virtual const char *
GetName()
const;
353 H225_InfoRequestResponse &
irr;
442 H225_InfoRequestResponse_perCallInfo_subtype & call
499 H225_ArrayOf_ServiceControlSession & serviceControl
516 const H225_AliasAddress & alias,
517 H225_ArrayOf_AliasAddress & aliases,
519 PBoolean & isGkRouted
551 void SetUsageInfo(
const H225_RasUsageInformation & usage);
749 H225_ArrayOf_ServiceControlSession & serviceControl
758 const PString & password,
759 const PString & username = PString::Empty()
815 const PString & alias
816 ) {
return m_aliases.GetStringsIndex(alias) != P_MAX_INDEX; }
826 )
const {
if (idx <
m_aliases.GetSize())
return m_aliases[idx];
return PString::Empty(); }
834 const PString & alias
898 H225_ArrayOf_AliasAddress & aliases,
899 H225_EndpointType & terminalType,
900 H225_ArrayOf_AliasAddress & transportAddresses
1227 const PString & identifier,
1228 PSafetyMode mode = PSafeReference
1234 const H225_ArrayOf_TransportAddress & addresses,
1235 PSafetyMode mode = PSafeReference
1242 PSafetyMode mode = PSafeReference
1248 const H225_AliasAddress & alias,
1249 PSafetyMode mode = PSafeReadWrite
1255 const PString & alias,
1256 PSafetyMode mode = PSafeReference
1262 const PString & alias,
1263 PSafetyMode mode = PSafeReference
1269 const PString & prefix,
1270 PSafetyMode mode = PSafeReference
1276 PSafetyMode mode = PSafeReference
1277 ) {
return PSafePtr<H323RegisteredEndPoint>(
m_byIdentifier, mode); }
1338 virtual PSafePtr<H323GatekeeperCall>
FindCall(
1339 const PString & description,
1340 PSafetyMode mode = PSafeReference
1345 virtual PSafePtr<H323GatekeeperCall>
FindCall(
1347 PBoolean answeringCall,
1348 PSafetyMode mode = PSafeReference
1353 virtual PSafePtr<H323GatekeeperCall>
FindCall(
1356 PSafetyMode mode = PSafeReference
1362 PSafetyMode mode = PSafeReference
1363 ) {
return PSafePtr<H323GatekeeperCall>(
m_activeCalls, mode); }
1391 const H225_AliasAddress & alias,
1392 H225_ArrayOf_AliasAddress & aliases,
1394 PBoolean & isGkRouted,
1418 const H225_AliasAddress & alias,
1436 const H225_AdmissionRequest & arq,
1454 const H225_AdmissionRequest & arq,
1455 const H225_AliasAddress & alias
1472 const H225_AdmissionRequest & arq,
1473 const PString & alias
1482 unsigned newBandwidth,
1483 unsigned oldBandwidth = 0
1500 H235Authenticators & authenticators
1509 const PString & alias,
1514 const PString & alias,
1518 const PString & alias,
1519 const PString & password
1554 bool append =
false,
1555 bool keepTrying =
true
1573 bool adjustListeners =
true
1704 const PString & alias
1710 H225_ArrayOf_AliasAddress & ,
1711 H225_EndpointType & ,
1712 H225_ArrayOf_AliasAddress &
1719 virtual PString
AllocateAlias(H225_RegistrationRequest & rrq);
1801 #endif // OPAL_H323_GKSERVER_H
bool IsRequiredH235() const
Definition: gkserver.h:1665
bool m_requireH235
Definition: gkserver.h:1750
unsigned GetTimeToLive() const
Definition: gkserver.h:1600
Definition: gkserver.h:143
H225_DisengageConfirm & dcf
Definition: gkserver.h:261
Definition: gkserver.h:300
PSortedStringList m_byVoicePrefix
Definition: gkserver.h:1781
virtual PBoolean GetUsersPassword(const PString &alias, PString &password, H323RegisteredEndPoint ®isteredEndpoint) const
Definition: peclient.h:244
unsigned m_h225Version
Definition: gkserver.h:920
void SetMinAliasToAllocate(unsigned v)
Definition: gkserver.h:1620
virtual H323GatekeeperRequest::Response OnInfoResponse(H323GatekeeperIRR &request)
unsigned GetUsedBandwidth() const
Definition: gkserver.h:1586
Definition: gkserver.h:174
unsigned m_defaultTimeToLive
Definition: gkserver.h:1736
bool m_canDisplayAmountString
Definition: gkserver.h:918
virtual PBoolean OnSendFeatureSet(H460_MessageType pduType, H225_FeatureSet &features) const
virtual unsigned GetRegisteredEndPointRejectTag() const
virtual H235Authenticator::ValidationResult ValidatePDU() const
const PTime & GetCallStartTime() const
Definition: gkserver.h:543
PINDEX GetCallCount() const
Definition: gkserver.h:634
H323GatekeeperLRQ(H323GatekeeperListener &listener, const H323RasPDU &pdu)
virtual PBoolean RemoveEndPoint(H323RegisteredEndPoint *ep)
void SetDisengageOnHearbeatFail(bool v)
Definition: gkserver.h:1656
H323TransportAddress GetRASAddress(PINDEX idx) const
Definition: gkserver.h:787
bool m_disengageOnHearbeatFail
Definition: gkserver.h:1751
Definition: gkserver.h:373
virtual unsigned GetSecurityRejectTag() const
bool m_drqReceived
Definition: gkserver.h:571
unsigned m_minAliasToAllocate
Definition: gkserver.h:1739
PString GetName(const OpalMediaType &mediaType)
virtual unsigned GetGatekeeperRejectTag() const
virtual void SetRejectReason(unsigned reasonCode)
virtual unsigned GetGatekeeperRejectTag() const
virtual PBoolean SendServiceControlSession(const H323ServiceControlSession &session)
OpalGloballyUniqueID m_conferenceIdentifier
Definition: gkserver.h:560
H323PeerElement * m_peerElement
Definition: gkserver.h:1765
virtual PBoolean OnSendDescriptorForEndpoint(H225_ArrayOf_AliasAddress &aliases, H225_EndpointType &terminalType, H225_ArrayOf_AliasAddress &transportAddresses)
bool m_canHaveDuplicateAlias
Definition: gkserver.h:1742
PINDEX GetAliasCount() const
Definition: gkserver.h:820
void PrintOn(ostream &strm) const
void RemoveAlias(H323RegisteredEndPoint &ep, const PString &alias)
Definition: gkserver.h:1772
virtual PBoolean GetAdmissionRequestAuthentication(H323GatekeeperARQ &info, H235Authenticators &authenticators)
unsigned GetInfoResponseRate() const
Definition: gkserver.h:1608
unsigned GetProtocolVersion() const
Definition: gkserver.h:861
bool m_canOnlyAnswerRegisteredEP
Definition: gkserver.h:1745
void SetAliasCanBeHostName(bool v)
Definition: gkserver.h:1652
virtual unsigned GetGatekeeperRejectTag() const
virtual H323GatekeeperRequest::Response OnLocation(H323GatekeeperLRQ &request)
virtual H323GatekeeperRequest::Response OnInfoResponse(H323GatekeeperIRR &request, H225_InfoRequestResponse_perCallInfo_subtype &call)
virtual H323GatekeeperRequest::Response OnRegistration(H323GatekeeperRRQ &request)
virtual H323GatekeeperRequest::Response OnBandwidth(H323GatekeeperBRQ &request)
virtual H323GatekeeperRequest::Response OnAdmission(H323GatekeeperARQ &request)
H323GatekeeperListener(H323EndPoint &endpoint, H323GatekeeperServer &server, const PString &gatekeeperIdentifier, H323Transport *transport=NULL)
PStringArray m_aliases
Definition: gkserver.h:913
virtual unsigned GetRegisteredEndPointRejectTag() const
PINDEX m_peakCalls
Definition: gkserver.h:1788
virtual Response OnHandlePDU()
atomic< unsigned > m_rejectedRegistrations
Definition: gkserver.h:1787
H323TransportAddress m_dstHost
Definition: gkserver.h:566
virtual H323GatekeeperRequest::Response OnDiscovery(H323GatekeeperGRQ &request)
virtual Response OnHandlePDU()
virtual H235Authenticator::ValidationResult ValidatePDU() const
PTime m_callStartTime
Definition: gkserver.h:572
virtual PString GetGatekeeperIdentifier() const
virtual unsigned GetSecurityRejectTag() const
virtual unsigned GetSecurityRejectTag() const
PString m_dstNumber
Definition: gkserver.h:564
virtual H323GatekeeperCall * CreateCall(const OpalGloballyUniqueID &callIdentifier, H323GatekeeperCall::Direction direction)
virtual H323GatekeeperRequest::Response OnAdmission(H323GatekeeperARQ &request)
bool m_answerCallPreGrantedARQ
Definition: gkserver.h:1746
H323RegisteredEndPoint * m_endpoint
Definition: gkserver.h:554
virtual PBoolean SetPassword(const PString &password, const PString &username=PString::Empty())
void CreatePeerElement(const H323TransportAddress &h501Interface)
unsigned GetPeakRegistrations() const
Definition: gkserver.h:1674
bool GetRegisteredEndPoint()
const PStringArray & GetSourceAliases() const
Definition: gkserver.h:533
H323TransportAddress m_srcHost
Definition: gkserver.h:563
virtual void OnConnected()
H323TransportAddressArray m_rasAddresses
Definition: gkserver.h:911
virtual PString AllocateAlias(H225_RegistrationRequest &rrq)
virtual PBoolean OnReceiveBandwidthReject(const H225_BandwidthReject &)
bool m_isGatekeeperRouted
Definition: gkserver.h:1748
Direction
Definition: gkserver.h:370
H225_InfoRequestResponse & irr
Definition: gkserver.h:353
virtual PBoolean OnReceiveDisengageConfirm(const H225_DisengageConfirm &)
Definition: transports.h:788
virtual PBoolean Disengage(int reason=-1)
virtual PBoolean WritePDU(H323TransactionPDU &pdu)
bool m_makeCallPreGrantedARQ
Definition: gkserver.h:1747
Definition: gkserver.h:331
virtual PBoolean AddServiceControlSession(const H323ServiceControlSession &session, H225_ArrayOf_ServiceControlSession &serviceControl)
virtual void PrepareConfirm()
H323GatekeeperGRQ(H323GatekeeperListener &listener, const H323RasPDU &pdu)
bool GetMakeCallPreGrantedARQ() const
Gatekeeper pre-grants all outgoing calls from endpoint.
Definition: gkserver.h:1647
virtual void SetRejectReason(unsigned reasonCode)
unsigned m_defaultBandwidth
Definition: gkserver.h:1734
void SetOverwriteOnSameSignalAddress(bool v)
Definition: gkserver.h:1616
H225_UnregistrationRequest & urq
Definition: gkserver.h:196
const PTime & GetConnectedTime() const
Definition: gkserver.h:545
const OpalGloballyUniqueID & GetDescriptorID() const
Definition: gkserver.h:768
H323GatekeeperServer & m_gatekeeper
Definition: gkserver.h:906
Comparison Compare(const PObject &obj) const
Definition: h323trans.h:309
unsigned m_infoResponseRate
Definition: gkserver.h:568
virtual PBoolean CheckAliasStringPolicy(const H323RegisteredEndPoint &ep, const H225_AdmissionRequest &arq, const PString &alias)
Definition: h323trans.h:95
virtual PString GetGatekeeperIdentifier() const =0
virtual unsigned GetSecurityRejectTag() const
H225_GatekeeperConfirm & gcf
Definition: gkserver.h:135
bool CanEnforceDurationLimit() const
Definition: gkserver.h:873
virtual unsigned GetRegisteredEndPointRejectTag() const
void PrintOn(ostream &strm) const
PSafeDictionary< PString, H323RegisteredEndPoint > m_byIdentifier
Definition: gkserver.h:1770
const H323TransportAddressArray & GetSignalAddresses() const
Definition: gkserver.h:794
OpalGloballyUniqueID m_descriptorID
Definition: gkserver.h:910
const OpalProductInfo & GetProductInfo() const
Definition: gkserver.h:857
H225_LocationRequest & lrq
Definition: gkserver.h:322
H323GatekeeperIRR(H323GatekeeperListener &listener, const H323RasPDU &pdu)
virtual H323GatekeeperRequest::Response OnDisengage(H323GatekeeperDRQ &request)
Definition: h225ras.h:101
Definition: gkserver.h:371
unsigned m_callReference
Definition: gkserver.h:558
PStringToString m_passwords
Definition: gkserver.h:1753
virtual PString CreateEndPointIdentifier()
const H323TransportAddress & GetSourceHost() const
Definition: gkserver.h:534
Definition: gkserver.h:71
PThread * m_monitorThread
Definition: gkserver.h:1758
virtual unsigned GetSecurityRejectTag() const
PString GetDestinationAddress() const
virtual Response OnHandlePDU()
PINDEX GetRASAddressCount() const
Definition: gkserver.h:782
PSafePtr< H323RegisteredEndPoint > GetFirstEndPoint(PSafetyMode mode=PSafeReference)
Definition: gkserver.h:1275
PTime m_creationTime
Definition: gkserver.h:924
virtual Response OnHandlePDU()
bool IsBehindNAT() const
Definition: gkserver.h:865
H323GatekeeperListener * m_rasChannel
Definition: gkserver.h:555
bool CheckGatekeeperIdentifier()
const PTime & GetCreationTime() const
Definition: gkserver.h:885
H225_BandwidthReject & brj
Definition: gkserver.h:293
bool GetCanHaveDuplicateAlias() const
Different endpoint can register with gatekeeper the same alias name as another endpoint.
Definition: gkserver.h:1627
~H323GatekeeperListener()
unsigned GetMaximumBandwidth() const
Definition: gkserver.h:1595
virtual PString GetEndpointIdentifier() const
H323GatekeeperListener * m_rasChannel
Definition: gkserver.h:907
unsigned GetMinAliasToAllocate() const
Minimum value for aliases gatekeeper will allocate when endpoint does not provide one...
Definition: gkserver.h:1619
virtual PBoolean OnReceiveBandwidthRequest(const H323RasPDU &, const H225_BandwidthRequest &)
const OpalGloballyUniqueID & GetCallIdentifier() const
Definition: gkserver.h:530
virtual bool CheckCryptoTokens()
virtual const H235Authenticators & GetAuthenticators() const
Definition: gkserver.h:839
virtual void SetUsersPassword(const PString &alias, const PString &password)
PString identifier
Definition: gkserver.h:1777
Definition: transaddr.h:91
bool GetH225Version() const
Definition: gkserver.h:881
WORD GetDefaultUdpPort()
Definition: gkserver.h:1127
virtual PSafePtr< H323RegisteredEndPoint > FindEndPointByAliasString(const PString &alias, PSafetyMode mode=PSafeReference)
H323GatekeeperBRQ(H323GatekeeperListener &listener, const H323RasPDU &pdu)
virtual PSafePtr< H323RegisteredEndPoint > FindEndPointByPartialAlias(const PString &alias, PSafetyMode mode=PSafeReference)
const PString & GetDestinationNumber() const
Definition: gkserver.h:536
unsigned GetTotalRegistrations() const
Definition: gkserver.h:1678
virtual void OnAlerting()
virtual PBoolean OnSendDescriptorForEndpoint(H323RegisteredEndPoint &, H225_ArrayOf_AliasAddress &, H225_EndpointType &, H225_ArrayOf_AliasAddress &)
Definition: gkserver.h:1708
H323RegisteredEndPoint(H323GatekeeperServer &server, const PString &id)
virtual PSafePtr< H323RegisteredEndPoint > FindEndPointBySignalAddress(const H323TransportAddress &address, PSafetyMode mode=PSafeReference)
virtual PBoolean SendServiceControlSession(const H323ServiceControlSession &session)
PString alternateSecurityID
Definition: gkserver.h:231
const PString & GetIdentifier() const
Definition: gkserver.h:764
virtual PString GetGatekeeperIdentifier() const
virtual unsigned AllocateBandwidth(unsigned newBandwidth, unsigned oldBandwidth=0)
virtual PString GetGatekeeperIdentifier() const
virtual void SetRejectReason(unsigned reasonCode)
virtual H323GatekeeperRequest::Response OnDiscovery(H323GatekeeperGRQ &request)
unsigned GetActiveRegistrations() const
Definition: gkserver.h:1670
virtual PString GetEndpointIdentifier() const =0
PCaselessString GetApplicationInfo() const
Definition: gkserver.h:853
void SetCanHaveDuplicateAlias(bool v)
Definition: gkserver.h:1628
H225_AdmissionReject & arj
Definition: gkserver.h:229
virtual PBoolean RemoveCall(H323GatekeeperCall *call)
virtual PBoolean TranslateAliasAddress(const H225_AliasAddress &alias, H225_ArrayOf_AliasAddress &aliases, H323TransportAddress &address, PBoolean &isGkRouted, H323GatekeeperCall *call)
H225_UnregistrationReject & urj
Definition: gkserver.h:198
virtual H235Authenticator::ValidationResult ValidatePDU() const
virtual unsigned GetRegisteredEndPointRejectTag() const =0
virtual PBoolean OnReceiveUnregistrationReject(const H225_UnregistrationReject &)
virtual H323GatekeeperRequest::Response OnBandwidth(H323GatekeeperBRQ &request)
PTime m_alertingTime
Definition: gkserver.h:573
virtual PBoolean TranslateAliasAddressToSignalAddress(const H225_AliasAddress &alias, H323TransportAddress &address)
virtual PString GetEndpointIdentifier() const
H323GatekeeperServer & m_gatekeeper
Definition: gkserver.h:553
virtual PBoolean CheckSignalAddressPolicy(const H323RegisteredEndPoint &ep, const H225_AdmissionRequest &arq, const H323TransportAddress &address)
virtual H323TransactionPDU * CreateRIP(unsigned sequenceNumber, unsigned delay) const
virtual PBoolean OnReceiveGatekeeperRequest(const H323RasPDU &, const H225_GatekeeperRequest &)
PSafePtr< H323GatekeeperCall > GetFirstCall(PSafetyMode mode=PSafeReference)
Definition: gkserver.h:1361
H225_GatekeeperRequest & grq
Definition: gkserver.h:134
POrdinalDictionary< PString > m_serviceControlSessions
Definition: gkserver.h:929
const PString & GetGatekeeperIdentifier() const
Definition: gkserver.h:1564
bool GetDisengageOnHearbeatFail() const
Hang up call if heartbeat (IRR) fails.
Definition: gkserver.h:1655
H323GatekeeperARQ(H323GatekeeperListener &listener, const H323RasPDU &pdu)
Definition: gkserver.h:1110
virtual PBoolean OnReceiveBandwidthConfirm(const H225_BandwidthConfirm &)
PTime m_connectedTime
Definition: gkserver.h:574
Definition: gkserver.h:938
virtual PString GetEndpointIdentifier() const
bool m_canHaveDuplicatePrefix
Definition: gkserver.h:1743
virtual PBoolean OnReceiveInfoRequestResponse(const H323RasPDU &, const H225_InfoRequestResponse &)
Direction m_direction
Definition: gkserver.h:557
virtual H235Authenticator::ValidationResult ValidatePDU() const
unsigned m_usedBandwidth
Definition: gkserver.h:1733
virtual PString GetGatekeeperIdentifier() const
bool CanReceiveRIP() const
virtual PBoolean OnSendFeatureSet(H460_MessageType pduType, H225_FeatureSet &features) const
virtual PString GetCallCreditAmount() const
H323GatekeeperRRQ(H323GatekeeperListener &listener, const H323RasPDU &pdu)
const PStringArray & GetDestinationAliases() const
Definition: gkserver.h:537
virtual PBoolean CheckAliasAddressPolicy(const H323RegisteredEndPoint &ep, const H225_AdmissionRequest &arq, const H225_AliasAddress &alias)
virtual PString GetGatekeeperIdentifier() const
virtual void AddEndPoint(H323RegisteredEndPoint *ep)
unsigned m_protocolVersion
Definition: gkserver.h:916
bool GetCanHaveDuplicatePrefix() const
Gateways may register duplicate prefix E.164 numbers.
Definition: gkserver.h:1631
PString GetSourceAddress() const
virtual H323GatekeeperRequest::Response OnFullRegistration(H323GatekeeperRRQ &request)
virtual H323Transactor * CreateListener(H323Transport *transport)
virtual unsigned GetRegisteredEndPointRejectTag() const
H323GatekeeperServer(H323EndPoint &endpoint)
virtual Response OnHandlePDU()
virtual Response OnHandlePDU()
PCaselessString AsString() const
virtual unsigned GetSecurityRejectTag() const
H323GatekeeperURQ(H323GatekeeperListener &listener, const H323RasPDU &pdu)
H225_DisengageRequest & drq
Definition: gkserver.h:260
virtual PString GetCallCreditAmount() const
virtual void SetRejectReason(unsigned reasonCode)
PLIST(ListenerList, H323GatekeeperListener)
Definition: gkserver.h:585
virtual H323GatekeeperRequest::Response OnUnregistration(H323GatekeeperURQ &request)
PString m_gatekeeperIdentifier
Definition: gkserver.h:1731
H323Connection::CallEndReason GetCallEndReason() const
Definition: gkserver.h:547
H225_RegistrationRequest & rrq
Definition: gkserver.h:165
PStringArray m_srcAliases
Definition: gkserver.h:562
Definition: h323pdu.h:397
PSortedList< H323GatekeeperCall > m_activeCalls
Definition: gkserver.h:928
void SetPeerElement(H323PeerElement *newPeerElement)
virtual PBoolean Unregister(int reason=-1)
virtual PString GetGatekeeperIdentifier() const
H323GatekeeperDRQ(H323GatekeeperListener &listener, const H323RasPDU &pdu)
virtual unsigned GetRegisteredEndPointRejectTag() const
bool GetCanOnlyAnswerRegisteredEP() const
Gatekeeper will only allow endpoint to answer another endpoint registered localy. ...
Definition: gkserver.h:1639
H323GatekeeperServer & m_gatekeeper
Definition: gkserver.h:1096
bool m_canEnforceDurationLimit
Definition: gkserver.h:919
PSyncPoint m_monitorExit
Definition: gkserver.h:1759
virtual unsigned GetGatekeeperRejectTag() const
PINDEX GetSignalAddressCount() const
Definition: gkserver.h:799
unsigned GetDefaultBandwidth() const
Definition: gkserver.h:1590
unsigned m_defaultInfoResponseRate
Definition: gkserver.h:1737
H225_BandwidthConfirm & bcf
Definition: gkserver.h:292
virtual void AddCall(H323GatekeeperCall *)
Definition: gkserver.h:1327
virtual PString GetEndpointIdentifier() const
virtual unsigned GetSecurityRejectTag() const
time_t m_identifierBase
Definition: gkserver.h:1756
PSafeSortedList< H323GatekeeperCall > m_activeCalls
Definition: gkserver.h:1783
H323GatekeeperListener & GetRasChannel() const
Definition: gkserver.h:102
virtual PBoolean OnReceiveDisengageReject(const H225_DisengageReject &)
PStringArray m_voicePrefixes
Definition: gkserver.h:914
virtual H323GatekeeperRequest::Response OnDisengage(H323GatekeeperDRQ &request)
H225_LocationReject & lrj
Definition: gkserver.h:324
virtual H235Authenticator::ValidationResult ValidatePDU() const
PSafeDictionary< H225_AliasAddress, H323RegisteredEndPoint > m_discoveredEndpoints
Definition: gkserver.h:1768
unsigned GetActiveCalls() const
Definition: gkserver.h:1686
virtual H235Authenticator::ValidationResult ValidatePDU() const
H323GatekeeperServer & GetGatekeeper() const
Definition: gkserver.h:526
H225_LocationConfirm & lcf
Definition: gkserver.h:323
H225_RegistrationReject & rrj
Definition: gkserver.h:167
PSortedStringList m_byAlias
Definition: gkserver.h:1780
unsigned m_maximumBandwidth
Definition: gkserver.h:1735
void SetCanHaveDuplicatePrefix(bool v)
Definition: gkserver.h:1632
virtual PBoolean OnReceiveLocationRequest(const H323RasPDU &, const H225_LocationRequest &)
H225_GatekeeperReject & grj
Definition: gkserver.h:136
PTime m_lastInfoResponse
Definition: gkserver.h:569
virtual Response OnHandlePDU()
H323TransportAddressArray m_signalAddresses
Definition: gkserver.h:912
bool m_isBehindNAT
Definition: gkserver.h:917
virtual H323GatekeeperRequest::Response OnUnregistration(H323GatekeeperURQ &request)
H323GatekeeperCall(H323GatekeeperServer &server, const OpalGloballyUniqueID &callIdentifier, Direction direction)
virtual PString GetEndpointIdentifier() const
virtual PSafePtr< H323RegisteredEndPoint > FindEndPointByIdentifier(const PString &identifier, PSafetyMode mode=PSafeReference)
H225_AdmissionConfirm & acf
Definition: gkserver.h:228
void SetAnswerCallPreGrantedARQ(bool v)
Definition: gkserver.h:1644
virtual unsigned GetGatekeeperRejectTag() const
H323TransportAddress GetSignalAddress(PINDEX idx) const
Definition: gkserver.h:804
atomic< unsigned > m_rejectedCalls
Definition: gkserver.h:1790
const H323TransportAddressArray & GetRASAddresses() const
Definition: gkserver.h:777
const PTime & GetCallEndTime() const
Definition: gkserver.h:546
virtual unsigned GetGatekeeperRejectTag() const
virtual PBoolean OnHeartbeat()
Definition: h323trans.h:47
H323Connection::CallEndReason m_callEndReason
Definition: gkserver.h:576
unsigned m_maxAliasToAllocate
Definition: gkserver.h:1740
PSortedStringList m_byAddress
Definition: gkserver.h:1779
ValidationResult
Definition: h235auth.h:82
PSafePtr< H323RegisteredEndPoint > m_endpoint
Definition: gkserver.h:104
H323GatekeeperListener & m_rasChannel
Definition: gkserver.h:107
Definition: h323trans.h:387
virtual H323GatekeeperRequest::Response OnSecureRegistration(H323GatekeeperRRQ &request)
virtual PBoolean TranslateAliasAddress(const H225_AliasAddress &alias, H225_ArrayOf_AliasAddress &aliases, H323TransportAddress &address, PBoolean &isGkRouted)
PINDEX m_totalRegistrations
Definition: gkserver.h:1786
void SetCanOnlyCallRegisteredEP(bool v)
Definition: gkserver.h:1636
bool m_overwriteOnSameSignalAddress
Definition: gkserver.h:1738
Definition: connection.h:462
virtual H323GatekeeperRequest::Response OnRegistration(H323GatekeeperRRQ &request)
void SetAvailableBandwidth(unsigned bps100)
Definition: gkserver.h:1582
void SetMaxAliasToAllocate(unsigned v)
Definition: gkserver.h:1624
virtual H235Authenticator::ValidationResult ValidatePDU() const
virtual PString GetGatekeeperIdentifier() const
virtual PBoolean InfoRequest(H323RegisteredEndPoint &ep, H323GatekeeperCall *call=NULL)
H225_RegistrationConfirm & rcf
Definition: gkserver.h:166
Comparison Compare(const PObject &obj) const
unsigned GetBandwidthUsed() const
Definition: gkserver.h:540
const PTime & GetLastInfoResponseTime() const
Definition: gkserver.h:542
unsigned GetAvailableBandwidth() const
Definition: gkserver.h:1578
unsigned m_nextIdentifier
Definition: gkserver.h:1757
virtual PString GetEndpointIdentifier() const
void SetCanOnlyAnswerRegisteredEP(bool v)
Definition: gkserver.h:1640
virtual H323GatekeeperRequest::Response OnLocation(H323GatekeeperLRQ &request)
virtual H323GatekeeperRequest::Response OnBandwidth(H323GatekeeperBRQ &request)
PTime m_lastInfoResponse
Definition: gkserver.h:926
virtual H323GatekeeperRequest::Response OnRegistration(H323GatekeeperRRQ &request)
bool GetOverwriteOnSameSignalAddress() const
Allow new registration to gatekeeper on a specific signal address to override previous registration...
Definition: gkserver.h:1615
virtual PBoolean OnTimeToLive()
virtual H323RegisteredEndPoint * CreateRegisteredEndPoint(H323GatekeeperRequest &request)
virtual PBoolean OnReceiveRegistrationRequest(const H323RasPDU &, const H225_RegistrationRequest &)
bool IsGatekeeperRouted() const
Definition: gkserver.h:1660
void RemoveAlias(const PString &alias)
virtual PBoolean OnReceiveUnregistrationRequest(const H323RasPDU &, const H225_UnregistrationRequest &)
virtual PSafePtr< H323RegisteredEndPoint > FindEndPointByPrefixString(const PString &prefix, PSafetyMode mode=PSafeReference)
void SetRequiredH235(bool req)
Definition: gkserver.h:1666
PString m_srcNumber
Definition: gkserver.h:561
ListenerList m_listeners
Definition: gkserver.h:1762
bool SetBandwidthUsed(unsigned bandwidth)
H235Authenticators m_authenticators
Definition: gkserver.h:922
PString GetPrefix(PINDEX idx) const
Definition: gkserver.h:847
H323GatekeeperRequest(H323GatekeeperListener &rasChannel, const H323RasPDU &pdu)
H323RegisteredEndPoint & GetEndPoint() const
Definition: gkserver.h:527
virtual PBoolean OnReceiveAdmissionRequest(const H323RasPDU &, const H225_AdmissionRequest &)
void SetGatekeeperRouted(bool is)
Definition: gkserver.h:1661
virtual PBoolean GetCallCreditMode() const
PINDEX m_totalCalls
Definition: gkserver.h:1789
PINDEX GetPrefixCount() const
Definition: gkserver.h:843
virtual H323GatekeeperRequest::Response OnAdmission(H323GatekeeperARQ &request)
void SetUsageInfo(const H225_RasUsageInformation &usage)
virtual H235Authenticator::ValidationResult ValidatePDU() const
unsigned GetPeakCalls() const
Definition: gkserver.h:1690
PString m_identifier
Definition: gkserver.h:909
bool GetAliasCanBeHostName() const
Gatekeeper allows endpoint to simply register its host name/IP address.
Definition: gkserver.h:1651
bool AddCallCreditServiceControl(H225_ArrayOf_ServiceControlSession &serviceControl) const
virtual void ClearPasswords()
Definition: gkserver.h:1521
unsigned m_totalBandwidth
Definition: gkserver.h:1732
bool CanDisplayAmountString() const
Definition: gkserver.h:869
virtual PBoolean OnReceiveDisengageRequest(const H323RasPDU &, const H225_DisengageRequest &)
PSafePtr< H323RegisteredEndPoint > FindDestinationEndPoint(const OpalGloballyUniqueID &id, H323GatekeeperCall::Direction direction)
bool m_canOnlyCallRegisteredEP
Definition: gkserver.h:1744
Definition: gkserver.h:364
StringMap(const PString &from, const PString &id)
Definition: gkserver.h:1775
virtual PBoolean OnReceiveUnregistrationConfirm(const H225_UnregistrationConfirm &)
bool ContainsAlias(const PString &alias)
Definition: gkserver.h:814
H323GatekeeperCall & GetCall(PINDEX idx)
Definition: gkserver.h:638
virtual PBoolean UnregistrationRequest(const H323RegisteredEndPoint &ep, unsigned reason)
virtual void SetRejectReason(unsigned reasonCode)
H225_UnregistrationConfirm & ucf
Definition: gkserver.h:197
bool IsAnsweringCall() const
Definition: gkserver.h:528
virtual unsigned GetGatekeeperRejectTag() const
unsigned GetTotalCalls() const
Definition: gkserver.h:1694
unsigned m_timeToLive
Definition: gkserver.h:921
bool GetAnswerCallPreGrantedARQ() const
Gatekeeper pre-grants all incoming calls to endpoint.
Definition: gkserver.h:1643
virtual unsigned GetGatekeeperRejectTag() const
virtual PSafePtr< H323RegisteredEndPoint > FindEndPointByAliasAddress(const H225_AliasAddress &alias, PSafetyMode mode=PSafeReadWrite)
PDECLARE_NOTIFIER(PThread, H323GatekeeperServer, MonitorMain)
virtual unsigned GetRegisteredEndPointRejectTag() const
virtual PBoolean SendCallCreditServiceControl()
virtual unsigned GetRegisteredEndPointRejectTag() const
virtual H323GatekeeperRequest::Response OnInfoResponse(H323GatekeeperIRR &request)
unsigned m_bandwidthUsed
Definition: gkserver.h:567
virtual unsigned GetDurationLimit() const
H225_InfoRequestNak & inak
Definition: gkserver.h:355
OpalProductInfo m_productInfo
Definition: gkserver.h:915
PString gatekeeperIdentifier
Definition: h225ras.h:319
#define OpalGloballyUniqueID
Definition: guid.h:38
unsigned m_aliasToAllocate
Definition: gkserver.h:1741
Response
Definition: h323trans.h:326
unsigned GetMaxAliasToAllocate() const
Maximum value for aliases gatekeeper will allocate when endpoint does not provide one...
Definition: gkserver.h:1623
const PString & GetSourceNumber() const
Definition: gkserver.h:532
const PTime & GetAlertingTime() const
Definition: gkserver.h:544
H323PeerElement * GetPeerElement() const
Definition: gkserver.h:1529
bool OpenPeerElement(const H323TransportAddress &remotePeer, bool append=false, bool keepTrying=true)
void SetDefaultBandwidth(unsigned bw)
Definition: gkserver.h:1591
virtual void RemoveCall(H323GatekeeperCall *call)
virtual unsigned GetSecurityRejectTag() const
virtual PBoolean ServiceControlIndication(H323RegisteredEndPoint &ep, const H323ServiceControlSession &session, H323GatekeeperCall *call=NULL)
const H323TransportAddress & GetDestinationHost() const
Definition: gkserver.h:538
virtual unsigned GetRegisteredEndPointRejectTag() const
unsigned GetCallReference() const
Definition: gkserver.h:529
const PStringArray & GetAliases() const
Definition: gkserver.h:810
bool GetCanOnlyCallRegisteredEP() const
Gatekeeper will only allow EP to call another endpoint registered localy.
Definition: gkserver.h:1635
virtual void OnReceiveFeatureSet(H460_MessageType pduType, const H225_FeatureSet &features) const
void PrintOn(ostream &strm) const
H225_AdmissionRequest & arq
Definition: gkserver.h:227
virtual PSafePtr< H323RegisteredEndPoint > FindEndPointBySignalAddresses(const H225_ArrayOf_TransportAddress &addresses, PSafetyMode mode=PSafeReference)
virtual H323GatekeeperRequest::Response OnDisengage(H323GatekeeperDRQ &request)
void SetTimeToLive(unsigned seconds)
Definition: gkserver.h:1604
void SetMakeCallPreGrantedARQ(bool v)
Definition: gkserver.h:1648
Definition: gkserver.h:372
unsigned GetRejectedCalls() const
Definition: gkserver.h:1698
bool m_aliasCanBeHostName
Definition: gkserver.h:1749
H225_InfoRequestAck & iack
Definition: gkserver.h:354
Definition: transaddr.h:62
OpalGloballyUniqueID m_callIdentifier
Definition: gkserver.h:559
virtual void OnReceiveFeatureSet(H460_MessageType pduType, const H225_FeatureSet &features) const
void SetInfoResponseRate(unsigned seconds)
Definition: gkserver.h:1612
virtual void SetRejectReason(unsigned reasonCode)
virtual H323GatekeeperRequest::Response OnInfoResponse(H323GatekeeperIRR &request)
PStringArray m_dstAliases
Definition: gkserver.h:565
void SetMaximumBandwidth(unsigned bw)
Definition: gkserver.h:1596
PTime m_lastRegistration
Definition: gkserver.h:925
virtual void SetRejectReason(unsigned reasonCode)
H225_DisengageReject & drj
Definition: gkserver.h:262
PINDEX m_peakRegistrations
Definition: gkserver.h:1785
virtual Response OnHandlePDU()
virtual unsigned GetGatekeeperRejectTag() const =0
virtual PBoolean OnReceiveResourcesAvailableConfirm(const H225_ResourcesAvailableConfirm &)
virtual void SetRejectReason(unsigned reasonCode)
virtual PSafePtr< H323GatekeeperCall > FindCall(const PString &description, PSafetyMode mode=PSafeReference)
H323GatekeeperServer & GetGatekeeper() const
Definition: gkserver.h:1091
void SetGatekeeperIdentifier(const PString &id, bool adjustListeners=true)
unsigned GetRejectedRegistrations() const
Definition: gkserver.h:1682
virtual PBoolean DisengageRequest(const H323GatekeeperCall &call, unsigned reason)
Definition: connection.h:358
const OpalGloballyUniqueID & GetConferenceIdentifier() const
Definition: gkserver.h:531
PString GetAlias(PINDEX idx) const
Definition: gkserver.h:824
virtual PBoolean AllowDuplicateAlias(const H225_ArrayOf_AliasAddress &)
Definition: gkserver.h:1716
P_REMOVE_VIRTUAL(H323RegisteredEndPoint *, CreateRegisteredEndPoint(H323GatekeeperRRQ &), 0)
virtual PString GetGatekeeperIdentifier() const
virtual PString GetEndpointIdentifier() const
virtual PBoolean GetCallCreditMode() const
PTime m_callEndTime
Definition: gkserver.h:575
Definition: gkserver.h:269
Definition: gkserver.h:205
H225_BandwidthRequest & brq
Definition: gkserver.h:291
Definition: gkserver.h:111
virtual PString GetEndpointIdentifier() const
virtual void AddCall(H323GatekeeperCall *call)
H323GatekeeperServer & GetGatekeeper() const
Definition: gkserver.h:772
virtual H323GatekeeperRequest::Response OnUnregistration(H323GatekeeperURQ &request)
Definition: gkserver.h:238