34 #ifndef OPAL_H323_GKSERVER_H
35 #define OPAL_H323_GKSERVER_H
45 #include <ptlib/safecoll.h>
57 class H225_AliasAddress;
58 class H225_EndpointIdentifier;
59 class H225_GatekeeperIdentifier;
60 class H225_ArrayOf_TransportAddress;
61 class H225_GatekeeperIdentifier;
62 class H225_EndpointIdentifier;
63 class H225_InfoRequestResponse_perCallInfo_subtype;
64 class H225_RasUsageInformation;
90 unsigned sequenceNumber,
126 virtual const char * GetName()
const;
138 H225_GatekeeperRequest &
grq;
139 H225_GatekeeperConfirm &
gcf;
140 H225_GatekeeperReject &
grj;
157 virtual const char * GetName()
const;
169 H225_RegistrationRequest &
rrq;
170 H225_RegistrationConfirm &
rcf;
171 H225_RegistrationReject &
rrj;
188 virtual const char * GetName()
const;
200 H225_UnregistrationRequest &
urq;
201 H225_UnregistrationConfirm &
ucf;
202 H225_UnregistrationReject &
urj;
219 virtual const char * GetName()
const;
231 H225_AdmissionRequest &
arq;
232 H225_AdmissionConfirm &
acf;
233 H225_AdmissionReject &
arj;
252 virtual const char * GetName()
const;
264 H225_DisengageRequest &
drq;
265 H225_DisengageConfirm &
dcf;
266 H225_DisengageReject &
drj;
283 virtual const char * GetName()
const;
295 H225_BandwidthRequest &
brq;
296 H225_BandwidthConfirm &
bcf;
297 H225_BandwidthReject &
brj;
314 virtual const char * GetName()
const;
326 H225_LocationRequest &
lrq;
327 H225_LocationConfirm &
lcf;
328 H225_LocationReject &
lrj;
345 virtual const char * GetName()
const;
357 H225_InfoRequestResponse &
irr;
446 H225_InfoRequestResponse_perCallInfo_subtype & call
503 H225_ArrayOf_ServiceControlSession & serviceControl
520 const H225_AliasAddress & alias,
521 H225_ArrayOf_AliasAddress & aliases,
523 PBoolean & isGkRouted
555 void SetUsageInfo(
const H225_RasUsageInformation & usage);
753 H225_ArrayOf_ServiceControlSession & serviceControl
762 const PString & password,
763 const PString & username = PString::Empty()
819 const PString & alias
820 ) {
return aliases.GetStringsIndex(alias) != P_MAX_INDEX; }
830 )
const {
if (idx <
aliases.GetSize())
return aliases[idx];
return PString::Empty(); }
838 const PString & alias
898 H225_ArrayOf_AliasAddress &
aliases,
899 H225_EndpointType & terminalType,
900 H225_ArrayOf_AliasAddress & transportAddresses
1073 virtual PBoolean
OnSendFeatureSet(
unsigned, H225_FeatureSet & features)
const;
1215 const PString & identifier,
1216 PSafetyMode mode = PSafeReference
1222 const H225_ArrayOf_TransportAddress & addresses,
1223 PSafetyMode mode = PSafeReference
1230 PSafetyMode mode = PSafeReference
1236 const H225_AliasAddress & alias,
1237 PSafetyMode mode = PSafeReadWrite
1243 const PString & alias,
1244 PSafetyMode mode = PSafeReference
1250 const PString & alias,
1251 PSafetyMode mode = PSafeReference
1257 const PString & prefix,
1258 PSafetyMode mode = PSafeReference
1264 PSafetyMode mode = PSafeReference
1265 ) {
return PSafePtr<H323RegisteredEndPoint>(
byIdentifier, mode); }
1326 virtual PSafePtr<H323GatekeeperCall>
FindCall(
1327 const PString & description,
1328 PSafetyMode mode = PSafeReference
1333 virtual PSafePtr<H323GatekeeperCall>
FindCall(
1335 PBoolean answeringCall,
1336 PSafetyMode mode = PSafeReference
1341 virtual PSafePtr<H323GatekeeperCall>
FindCall(
1344 PSafetyMode mode = PSafeReference
1350 PSafetyMode mode = PSafeReference
1351 ) {
return PSafePtr<H323GatekeeperCall>(
activeCalls, mode); }
1379 const H225_AliasAddress & alias,
1380 H225_ArrayOf_AliasAddress & aliases,
1382 PBoolean & isGkRouted,
1406 const H225_AliasAddress & alias,
1424 const H225_AdmissionRequest & arq,
1442 const H225_AdmissionRequest & arq,
1443 const H225_AliasAddress & alias
1460 const H225_AdmissionRequest & arq,
1461 const PString & alias
1470 unsigned newBandwidth,
1471 unsigned oldBandwidth = 0
1488 H235Authenticators & authenticators
1497 const PString & alias,
1502 const PString & alias,
1537 PBoolean append =
false,
1538 PBoolean keepTrying =
true
1556 PBoolean adjustListeners =
true
1635 const PString & alias
1641 H225_ArrayOf_AliasAddress & ,
1642 H225_EndpointType & ,
1643 H225_ArrayOf_AliasAddress &
1650 virtual PBoolean
OnSendFeatureSet(
unsigned, H225_FeatureSet & features)
const;
1722 #endif // OPAL_H323_GKSERVER_H
unsigned GetTimeToLive() const
Definition: gkserver.h:1577
Definition: gkserver.h:147
H225_DisengageConfirm & dcf
Definition: gkserver.h:265
virtual H323RegisteredEndPoint * CreateRegisteredEndPoint(H323GatekeeperRRQ &request)
PStringToString passwords
Definition: gkserver.h:1677
Definition: gkserver.h:304
virtual PBoolean GetUsersPassword(const PString &alias, PString &password, H323RegisteredEndPoint ®isteredEndpoint) const
Definition: peclient.h:248
virtual H323GatekeeperRequest::Response OnInfoResponse(H323GatekeeperIRR &request)
unsigned GetUsedBandwidth() const
Definition: gkserver.h:1569
Definition: gkserver.h:178
PBoolean CanDisplayAmountString() const
Definition: gkserver.h:873
virtual unsigned GetRegisteredEndPointRejectTag() const
virtual H235Authenticator::ValidationResult ValidatePDU() const
const PTime & GetCallStartTime() const
Definition: gkserver.h:547
PINDEX GetCallCount() const
Definition: gkserver.h:638
H323GatekeeperLRQ(H323GatekeeperListener &listener, const H323RasPDU &pdu)
PBoolean CanEnforceDurationLimit() const
Definition: gkserver.h:877
virtual PBoolean RemoveEndPoint(H323RegisteredEndPoint *ep)
H323TransportAddress GetRASAddress(PINDEX idx) const
Definition: gkserver.h:791
Definition: gkserver.h:377
virtual unsigned GetSecurityRejectTag() const
PSortedStringList byAlias
Definition: gkserver.h:1703
PString identifier
Definition: gkserver.h:909
virtual unsigned GetGatekeeperRejectTag() const
PSafePtr< H323RegisteredEndPoint > endpoint
Definition: gkserver.h:109
virtual void SetRejectReason(unsigned reasonCode)
virtual unsigned GetGatekeeperRejectTag() const
virtual PBoolean SendServiceControlSession(const H323ServiceControlSession &session)
virtual PBoolean OnSendDescriptorForEndpoint(H225_ArrayOf_AliasAddress &aliases, H225_EndpointType &terminalType, H225_ArrayOf_AliasAddress &transportAddresses)
PBoolean drqReceived
Definition: gkserver.h:575
H323TransportAddressArray(const OpalTransportAddress &address)
Definition: transaddr.h:97
PString gatekeeperIdentifier
Definition: gkserver.h:1658
PINDEX GetAliasCount() const
Definition: gkserver.h:824
void RemoveAlias(H323RegisteredEndPoint &ep, const PString &alias)
Definition: gkserver.h:1695
virtual PBoolean GetAdmissionRequestAuthentication(H323GatekeeperARQ &info, H235Authenticators &authenticators)
unsigned GetInfoResponseRate() const
Definition: gkserver.h:1585
PBoolean IsBehindNAT() const
Definition: gkserver.h:869
unsigned GetProtocolVersion() const
Definition: gkserver.h:865
unsigned timeToLive
Definition: gkserver.h:921
PSortedStringList byAddress
Definition: gkserver.h:1702
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)
virtual void OnReceiveFeatureSet(unsigned, const H225_FeatureSet &features) const
H323GatekeeperListener(H323EndPoint &endpoint, H323GatekeeperServer &server, const PString &gatekeeperIdentifier, H323Transport *transport=NULL)
virtual unsigned GetRegisteredEndPointRejectTag() const
PTime lastRegistration
Definition: gkserver.h:924
virtual Response OnHandlePDU()
PTime lastInfoResponse
Definition: gkserver.h:573
PBoolean canHaveDuplicatePrefix
Definition: gkserver.h:1667
virtual H323GatekeeperRequest::Response OnDiscovery(H323GatekeeperGRQ &request)
virtual Response OnHandlePDU()
virtual H235Authenticator::ValidationResult ValidatePDU() const
virtual PString GetGatekeeperIdentifier() const
virtual unsigned GetSecurityRejectTag() const
virtual unsigned GetSecurityRejectTag() const
H323RegisteredEndPoint * endpoint
Definition: gkserver.h:558
virtual H323GatekeeperCall * CreateCall(const OpalGloballyUniqueID &callIdentifier, H323GatekeeperCall::Direction direction)
virtual H323GatekeeperRequest::Response OnAdmission(H323GatekeeperARQ &request)
virtual PBoolean SetPassword(const PString &password, const PString &username=PString::Empty())
void CreatePeerElement(const H323TransportAddress &h501Interface)
unsigned GetPeakRegistrations() const
Definition: gkserver.h:1605
const PStringArray & GetSourceAliases() const
Definition: gkserver.h:537
unsigned h225Version
Definition: gkserver.h:920
virtual void OnConnected()
virtual PBoolean OnReceiveBandwidthReject(const H225_BandwidthReject &)
Direction
Definition: gkserver.h:374
H225_InfoRequestResponse & irr
Definition: gkserver.h:357
PBoolean canOnlyAnswerRegisteredEP
Definition: gkserver.h:1669
virtual PBoolean OnReceiveDisengageConfirm(const H225_DisengageConfirm &)
Definition: transports.h:703
virtual PBoolean Disengage(int reason=-1)
virtual PBoolean WritePDU(H323TransactionPDU &pdu)
Definition: gkserver.h:335
PBoolean GetH225Version() const
Definition: gkserver.h:885
PSortedStringList byVoicePrefix
Definition: gkserver.h:1704
virtual PBoolean AddServiceControlSession(const H323ServiceControlSession &session, H225_ArrayOf_ServiceControlSession &serviceControl)
H323GatekeeperGRQ(H323GatekeeperListener &listener, const H323RasPDU &pdu)
virtual PBoolean OnSendFeatureSet(unsigned, H225_FeatureSet &features) const
virtual void SetRejectReason(unsigned reasonCode)
PBoolean DisengageRequest(const H323GatekeeperCall &call, unsigned reason)
PBoolean ContainsAlias(const PString &alias)
Definition: gkserver.h:818
H225_UnregistrationRequest & urq
Definition: gkserver.h:200
H323TransportAddressArray rasAddresses
Definition: gkserver.h:911
const PTime & GetConnectedTime() const
Definition: gkserver.h:549
PINDEX rejectedCalls
Definition: gkserver.h:1713
const OpalGloballyUniqueID & GetDescriptorID() const
Definition: gkserver.h:772
Comparison Compare(const PObject &obj) const
PString srcNumber
Definition: gkserver.h:565
PSafeDictionary< PString, H323RegisteredEndPoint > byIdentifier
Definition: gkserver.h:1693
PTime lastInfoResponse
Definition: gkserver.h:925
Definition: h323trans.h:327
virtual PBoolean CheckAliasStringPolicy(const H323RegisteredEndPoint &ep, const H225_AdmissionRequest &arq, const PString &alias)
Definition: h323trans.h:101
virtual PString GetGatekeeperIdentifier() const =0
virtual unsigned GetSecurityRejectTag() const
H225_GatekeeperConfirm & gcf
Definition: gkserver.h:139
virtual unsigned GetRegisteredEndPointRejectTag() const
void PrintOn(ostream &strm) const
const H323TransportAddressArray & GetSignalAddresses() const
Definition: gkserver.h:798
const OpalProductInfo & GetProductInfo() const
Definition: gkserver.h:861
H225_LocationRequest & lrq
Definition: gkserver.h:326
PBoolean CheckGatekeeperIdentifier()
PBoolean isBehindNAT
Definition: gkserver.h:917
H323GatekeeperIRR(H323GatekeeperListener &listener, const H323RasPDU &pdu)
H323GatekeeperListener & rasChannel
Definition: gkserver.h:112
virtual H323GatekeeperRequest::Response OnDisengage(H323GatekeeperDRQ &request)
Definition: gkserver.h:375
void SetGatekeeperIdentifier(const PString &id, PBoolean adjustListeners=true)
virtual PString CreateEndPointIdentifier()
const H323TransportAddress & GetSourceHost() const
Definition: gkserver.h:538
Definition: gkserver.h:75
PTime callStartTime
Definition: gkserver.h:576
virtual unsigned GetSecurityRejectTag() const
PString GetDestinationAddress() const
virtual Response OnHandlePDU()
PBoolean IsGatekeeperRouted() const
Definition: gkserver.h:1593
H323GatekeeperServer & gatekeeper
Definition: gkserver.h:557
PBoolean disengageOnHearbeatFail
Definition: gkserver.h:1675
unsigned infoResponseRate
Definition: gkserver.h:572
PINDEX GetRASAddressCount() const
Definition: gkserver.h:786
PSafePtr< H323RegisteredEndPoint > GetFirstEndPoint(PSafetyMode mode=PSafeReference)
Definition: gkserver.h:1263
virtual Response OnHandlePDU()
H225_BandwidthReject & brj
Definition: gkserver.h:297
PBoolean OpenPeerElement(const H323TransportAddress &remotePeer, PBoolean append=false, PBoolean keepTrying=true)
unsigned callReference
Definition: gkserver.h:562
Direction direction
Definition: gkserver.h:561
~H323GatekeeperListener()
PBoolean requireH235
Definition: gkserver.h:1674
virtual PString GetEndpointIdentifier() const
virtual PBoolean OnReceiveBandwidthRequest(const H323RasPDU &, const H225_BandwidthRequest &)
const OpalGloballyUniqueID & GetCallIdentifier() const
Definition: gkserver.h:534
PBoolean canDisplayAmountString
Definition: gkserver.h:918
virtual const H235Authenticators & GetAuthenticators() const
Definition: gkserver.h:843
PString identifier
Definition: gkserver.h:1700
WORD GetDefaultUdpPort()
Definition: gkserver.h:1115
virtual PSafePtr< H323RegisteredEndPoint > FindEndPointByAliasString(const PString &alias, PSafetyMode mode=PSafeReference)
unsigned totalBandwidth
Definition: gkserver.h:1659
unsigned protocolVersion
Definition: gkserver.h:916
H323GatekeeperBRQ(H323GatekeeperListener &listener, const H323RasPDU &pdu)
virtual PSafePtr< H323RegisteredEndPoint > FindEndPointByPartialAlias(const PString &alias, PSafetyMode mode=PSafeReference)
PBoolean isGatekeeperRouted
Definition: gkserver.h:1672
const PString & GetDestinationNumber() const
Definition: gkserver.h:540
unsigned GetTotalRegistrations() const
Definition: gkserver.h:1609
virtual void OnAlerting()
virtual PBoolean OnSendDescriptorForEndpoint(H323RegisteredEndPoint &, H225_ArrayOf_AliasAddress &, H225_EndpointType &, H225_ArrayOf_AliasAddress &)
Definition: gkserver.h:1639
H323RegisteredEndPoint(H323GatekeeperServer &server, const PString &id)
virtual PSafePtr< H323RegisteredEndPoint > FindEndPointBySignalAddress(const H323TransportAddress &address, PSafetyMode mode=PSafeReference)
PSyncPoint monitorExit
Definition: gkserver.h:1684
virtual void OnReceiveFeatureSet(unsigned, const H225_FeatureSet &features) const
virtual PBoolean SendServiceControlSession(const H323ServiceControlSession &session)
PString alternateSecurityID
Definition: gkserver.h:235
const PString & GetIdentifier() const
Definition: gkserver.h:768
virtual PString GetGatekeeperIdentifier() const
virtual unsigned AllocateBandwidth(unsigned newBandwidth, unsigned oldBandwidth=0)
virtual PString GetGatekeeperIdentifier() const
virtual void SetRejectReason(unsigned reasonCode)
unsigned defaultTimeToLive
Definition: gkserver.h:1663
virtual H323GatekeeperRequest::Response OnDiscovery(H323GatekeeperGRQ &request)
unsigned GetActiveRegistrations() const
Definition: gkserver.h:1601
virtual PString GetEndpointIdentifier() const =0
PINDEX peakRegistrations
Definition: gkserver.h:1708
PCaselessString GetApplicationInfo() const
Definition: gkserver.h:857
H225_AdmissionReject & arj
Definition: gkserver.h:233
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:202
virtual H235Authenticator::ValidationResult ValidatePDU() const
virtual unsigned GetRegisteredEndPointRejectTag() const =0
virtual PBoolean OnReceiveUnregistrationReject(const H225_UnregistrationReject &)
OpalGloballyUniqueID descriptorID
Definition: gkserver.h:910
virtual H323GatekeeperRequest::Response OnBandwidth(H323GatekeeperBRQ &request)
virtual PBoolean TranslateAliasAddressToSignalAddress(const H225_AliasAddress &alias, H323TransportAddress &address)
virtual PString GetEndpointIdentifier() const
OpalGloballyUniqueID callIdentifier
Definition: gkserver.h:563
virtual PBoolean CheckSignalAddressPolicy(const H323RegisteredEndPoint &ep, const H225_AdmissionRequest &arq, const H323TransportAddress &address)
PStringArray srcAliases
Definition: gkserver.h:566
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:1349
H225_GatekeeperRequest & grq
Definition: gkserver.h:138
unsigned usedBandwidth
Definition: gkserver.h:1660
unsigned bandwidthUsed
Definition: gkserver.h:571
const PString & GetGatekeeperIdentifier() const
Definition: gkserver.h:1547
H323GatekeeperARQ(H323GatekeeperListener &listener, const H323RasPDU &pdu)
PBoolean aliasCanBeHostName
Definition: gkserver.h:1673
H323TransportAddress dstHost
Definition: gkserver.h:570
Definition: gkserver.h:1098
virtual PBoolean OnReceiveBandwidthConfirm(const H225_BandwidthConfirm &)
Definition: gkserver.h:937
virtual PString GetEndpointIdentifier() const
virtual PBoolean OnReceiveInfoRequestResponse(const H323RasPDU &, const H225_InfoRequestResponse &)
unsigned defaultInfoResponseRate
Definition: gkserver.h:1664
virtual H235Authenticator::ValidationResult ValidatePDU() const
virtual PString GetGatekeeperIdentifier() const
virtual PString GetCallCreditAmount() const
H323GatekeeperRRQ(H323GatekeeperListener &listener, const H323RasPDU &pdu)
PTime alertingTime
Definition: gkserver.h:577
const PStringArray & GetDestinationAliases() const
Definition: gkserver.h:541
virtual PBoolean CheckAliasAddressPolicy(const H323RegisteredEndPoint &ep, const H225_AdmissionRequest &arq, const H225_AliasAddress &alias)
virtual PString GetGatekeeperIdentifier() const
PBoolean canEnforceDurationLimit
Definition: gkserver.h:919
virtual void AddEndPoint(H323RegisteredEndPoint *ep)
PINDEX peakCalls
Definition: gkserver.h:1711
PString GetSourceAddress() const
virtual H323GatekeeperRequest::Response OnFullRegistration(H323GatekeeperRRQ &request)
H323PeerElement * peerElement
Definition: gkserver.h:1690
virtual H323Transactor * CreateListener(H323Transport *transport)
virtual unsigned GetRegisteredEndPointRejectTag() const
H323GatekeeperServer(H323EndPoint &endpoint)
virtual Response OnHandlePDU()
virtual Response OnHandlePDU()
PINDEX totalCalls
Definition: gkserver.h:1712
H323GatekeeperServer & gatekeeper
Definition: gkserver.h:1084
PCaselessString AsString() const
virtual unsigned GetSecurityRejectTag() const
H323GatekeeperURQ(H323GatekeeperListener &listener, const H323RasPDU &pdu)
unsigned defaultBandwidth
Definition: gkserver.h:1661
H225_DisengageRequest & drq
Definition: gkserver.h:264
virtual PString GetCallCreditAmount() const
virtual void SetRejectReason(unsigned reasonCode)
PLIST(ListenerList, H323GatekeeperListener)
Definition: gkserver.h:589
virtual H323GatekeeperRequest::Response OnUnregistration(H323GatekeeperURQ &request)
Definition: h225ras.h:104
H323Connection::CallEndReason GetCallEndReason() const
Definition: gkserver.h:551
H225_RegistrationRequest & rrq
Definition: gkserver.h:169
virtual unsigned GetSecurityRejectTag() const =0
Definition: h323pdu.h:414
PBoolean CheckCryptoTokens()
void SetPeerElement(H323PeerElement *newPeerElement)
virtual PBoolean Unregister(int reason=-1)
virtual PString GetGatekeeperIdentifier() const
H323GatekeeperDRQ(H323GatekeeperListener &listener, const H323RasPDU &pdu)
virtual unsigned GetRegisteredEndPointRejectTag() const
POrdinalDictionary< PString > serviceControlSessions
Definition: gkserver.h:928
virtual unsigned GetGatekeeperRejectTag() const
PINDEX GetSignalAddressCount() const
Definition: gkserver.h:803
unsigned GetDefaultBandwidth() const
Definition: gkserver.h:1573
PTime callEndTime
Definition: gkserver.h:579
PSafeSortedList< H323GatekeeperCall > activeCalls
Definition: gkserver.h:1706
H225_BandwidthConfirm & bcf
Definition: gkserver.h:296
PBoolean IsRequiredH235() const
Definition: gkserver.h:1597
virtual void AddCall(H323GatekeeperCall *)
Definition: gkserver.h:1315
ListenerList listeners
Definition: gkserver.h:1687
virtual PString GetEndpointIdentifier() const
virtual unsigned GetSecurityRejectTag() const
H323GatekeeperListener & GetRasChannel() const
Definition: gkserver.h:107
virtual PBoolean OnReceiveDisengageReject(const H225_DisengageReject &)
virtual H323GatekeeperRequest::Response OnDisengage(H323GatekeeperDRQ &request)
H225_LocationReject & lrj
Definition: gkserver.h:328
virtual H235Authenticator::ValidationResult ValidatePDU() const
PBoolean CanReceiveRIP() const
unsigned GetActiveCalls() const
Definition: gkserver.h:1617
virtual H235Authenticator::ValidationResult ValidatePDU() const
H323GatekeeperServer & GetGatekeeper() const
Definition: gkserver.h:530
H225_LocationConfirm & lcf
Definition: gkserver.h:327
H225_RegistrationReject & rrj
Definition: gkserver.h:171
PThread * monitorThread
Definition: gkserver.h:1683
virtual PBoolean OnReceiveLocationRequest(const H323RasPDU &, const H225_LocationRequest &)
H225_GatekeeperReject & grj
Definition: gkserver.h:140
virtual Response OnHandlePDU()
virtual H323GatekeeperRequest::Response OnUnregistration(H323GatekeeperURQ &request)
H323GatekeeperCall(H323GatekeeperServer &server, const OpalGloballyUniqueID &callIdentifier, Direction direction)
virtual PString GetEndpointIdentifier() const
PBoolean UnregistrationRequest(const H323RegisteredEndPoint &ep, unsigned reason)
virtual PSafePtr< H323RegisteredEndPoint > FindEndPointByIdentifier(const PString &identifier, PSafetyMode mode=PSafeReference)
H225_AdmissionConfirm & acf
Definition: gkserver.h:232
virtual unsigned GetGatekeeperRejectTag() const
H323TransportAddress GetSignalAddress(PINDEX idx) const
Definition: gkserver.h:808
const H323TransportAddressArray & GetRASAddresses() const
Definition: gkserver.h:781
const PTime & GetCallEndTime() const
Definition: gkserver.h:550
virtual unsigned GetGatekeeperRejectTag() const
virtual PBoolean OnHeartbeat()
Definition: h323trans.h:51
unsigned maximumBandwidth
Definition: gkserver.h:1662
ValidationResult
Definition: h235auth.h:83
Definition: h323trans.h:403
virtual H323GatekeeperRequest::Response OnSecureRegistration(H323GatekeeperRRQ &request)
virtual PBoolean TranslateAliasAddress(const H225_AliasAddress &alias, H225_ArrayOf_AliasAddress &aliases, H323TransportAddress &address, PBoolean &isGkRouted)
Definition: connection.h:396
virtual H323GatekeeperRequest::Response OnRegistration(H323GatekeeperRRQ &request)
void SetAvailableBandwidth(unsigned bps100)
Definition: gkserver.h:1565
virtual H235Authenticator::ValidationResult ValidatePDU() const
virtual PString GetGatekeeperIdentifier() const
virtual PBoolean InfoRequest(H323RegisteredEndPoint &ep, H323GatekeeperCall *call=NULL)
H225_RegistrationConfirm & rcf
Definition: gkserver.h:170
Comparison Compare(const PObject &obj) const
unsigned GetBandwidthUsed() const
Definition: gkserver.h:544
const PTime & GetLastInfoResponseTime() const
Definition: gkserver.h:546
unsigned GetAvailableBandwidth() const
Definition: gkserver.h:1561
PTime connectedTime
Definition: gkserver.h:578
PINDEX totalRegistrations
Definition: gkserver.h:1709
virtual PString GetEndpointIdentifier() const
virtual H323GatekeeperRequest::Response OnLocation(H323GatekeeperLRQ &request)
virtual H323GatekeeperRequest::Response OnBandwidth(H323GatekeeperBRQ &request)
virtual H323GatekeeperRequest::Response OnRegistration(H323GatekeeperRRQ &request)
PSortedList< H323GatekeeperCall > activeCalls
Definition: gkserver.h:927
virtual PBoolean OnTimeToLive()
PBoolean overwriteOnSameSignalAddress
Definition: gkserver.h:1665
virtual PBoolean OnReceiveRegistrationRequest(const H323RasPDU &, const H225_RegistrationRequest &)
PMutex mutex
Definition: gkserver.h:1680
void RemoveAlias(const PString &alias)
virtual PBoolean OnReceiveUnregistrationRequest(const H323RasPDU &, const H225_UnregistrationRequest &)
virtual PSafePtr< H323RegisteredEndPoint > FindEndPointByPrefixString(const PString &prefix, PSafetyMode mode=PSafeReference)
H323GatekeeperServer & gatekeeper
Definition: gkserver.h:906
PString GetPrefix(PINDEX idx) const
Definition: gkserver.h:851
H323GatekeeperRequest(H323GatekeeperListener &rasChannel, const H323RasPDU &pdu)
PBoolean answerCallPreGrantedARQ
Definition: gkserver.h:1670
H323RegisteredEndPoint & GetEndPoint() const
Definition: gkserver.h:531
virtual PBoolean OnReceiveAdmissionRequest(const H323RasPDU &, const H225_AdmissionRequest &)
virtual PBoolean GetCallCreditMode() const
PINDEX GetPrefixCount() const
Definition: gkserver.h:847
virtual H323GatekeeperRequest::Response OnAdmission(H323GatekeeperARQ &request)
void SetUsageInfo(const H225_RasUsageInformation &usage)
virtual H235Authenticator::ValidationResult ValidatePDU() const
unsigned GetPeakCalls() const
Definition: gkserver.h:1621
virtual PBoolean OnReceiveDisengageRequest(const H323RasPDU &, const H225_DisengageRequest &)
PSafePtr< H323RegisteredEndPoint > FindDestinationEndPoint(const OpalGloballyUniqueID &id, H323GatekeeperCall::Direction direction)
Definition: gkserver.h:368
StringMap(const PString &from, const PString &id)
Definition: gkserver.h:1698
virtual PBoolean OnReceiveUnregistrationConfirm(const H225_UnregistrationConfirm &)
H323GatekeeperCall & GetCall(PINDEX idx)
Definition: gkserver.h:642
H323Connection::CallEndReason callEndReason
Definition: gkserver.h:580
virtual void SetRejectReason(unsigned reasonCode)
PString dstNumber
Definition: gkserver.h:568
H225_UnregistrationConfirm & ucf
Definition: gkserver.h:201
virtual unsigned GetGatekeeperRejectTag() const
unsigned GetTotalCalls() const
Definition: gkserver.h:1625
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)
virtual unsigned GetDurationLimit() const
PBoolean AddCallCreditServiceControl(H225_ArrayOf_ServiceControlSession &serviceControl) const
H225_InfoRequestNak & inak
Definition: gkserver.h:359
PStringArray dstAliases
Definition: gkserver.h:569
PString gatekeeperIdentifier
Definition: h225ras.h:318
#define OpalGloballyUniqueID
Definition: guid.h:42
Response
Definition: h323trans.h:344
const PString & GetSourceNumber() const
Definition: gkserver.h:536
const PTime & GetAlertingTime() const
Definition: gkserver.h:548
H323GatekeeperListener * rasChannel
Definition: gkserver.h:559
H323PeerElement * GetPeerElement() const
Definition: gkserver.h:1512
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:542
virtual unsigned GetRegisteredEndPointRejectTag() const
H323TransportAddress srcHost
Definition: gkserver.h:567
unsigned GetCallReference() const
Definition: gkserver.h:533
const PStringArray & GetAliases() const
Definition: gkserver.h:814
unsigned nextIdentifier
Definition: gkserver.h:1682
H235Authenticators authenticators
Definition: gkserver.h:922
void PrintOn(ostream &strm) const
H225_AdmissionRequest & arq
Definition: gkserver.h:231
virtual PSafePtr< H323RegisteredEndPoint > FindEndPointBySignalAddresses(const H225_ArrayOf_TransportAddress &addresses, PSafetyMode mode=PSafeReference)
PBoolean IsAnsweringCall() const
Definition: gkserver.h:532
virtual H323GatekeeperRequest::Response OnDisengage(H323GatekeeperDRQ &request)
H323GatekeeperListener * rasChannel
Definition: gkserver.h:907
void SetTimeToLive(unsigned seconds)
Definition: gkserver.h:1581
PBoolean GetRegisteredEndPoint()
H323EndPoint & endpoint
Definition: h323trans.h:307
Definition: gkserver.h:376
unsigned GetRejectedCalls() const
Definition: gkserver.h:1629
PBoolean SetBandwidthUsed(unsigned bandwidth)
PStringArray aliases
Definition: gkserver.h:913
virtual PBoolean OnSendFeatureSet(unsigned, H225_FeatureSet &features) const
H225_InfoRequestAck & iack
Definition: gkserver.h:358
time_t identifierBase
Definition: gkserver.h:1681
Definition: transaddr.h:66
H323TransportAddressArray signalAddresses
Definition: gkserver.h:912
void SetInfoResponseRate(unsigned seconds)
Definition: gkserver.h:1589
virtual void SetRejectReason(unsigned reasonCode)
virtual H323GatekeeperRequest::Response OnInfoResponse(H323GatekeeperIRR &request)
virtual void SetRejectReason(unsigned reasonCode)
H225_DisengageReject & drj
Definition: gkserver.h:266
virtual Response OnHandlePDU()
virtual unsigned GetGatekeeperRejectTag() const =0
PINDEX rejectedRegistrations
Definition: gkserver.h:1710
OpalGloballyUniqueID conferenceIdentifier
Definition: gkserver.h:564
virtual PBoolean OnReceiveResourcesAvailableConfirm(const H225_ResourcesAvailableConfirm &)
virtual void SetRejectReason(unsigned reasonCode)
virtual PSafePtr< H323GatekeeperCall > FindCall(const PString &description, PSafetyMode mode=PSafeReference)
H323Transport * transport
Definition: h323trans.h:310
H323GatekeeperServer & GetGatekeeper() const
Definition: gkserver.h:1079
unsigned GetRejectedRegistrations() const
Definition: gkserver.h:1613
PBoolean canHaveDuplicateAlias
Definition: gkserver.h:1666
Definition: connection.h:312
const OpalGloballyUniqueID & GetConferenceIdentifier() const
Definition: gkserver.h:535
PString GetAlias(PINDEX idx) const
Definition: gkserver.h:828
virtual PBoolean AllowDuplicateAlias(const H225_ArrayOf_AliasAddress &)
Definition: gkserver.h:1647
virtual PString GetGatekeeperIdentifier() const
virtual PString GetEndpointIdentifier() const
virtual PBoolean GetCallCreditMode() const
Definition: gkserver.h:273
OpalProductInfo productInfo
Definition: gkserver.h:915
Definition: gkserver.h:209
H225_BandwidthRequest & brq
Definition: gkserver.h:295
PBoolean makeCallPreGrantedARQ
Definition: gkserver.h:1671
Definition: gkserver.h:116
virtual PString GetEndpointIdentifier() const
PBoolean canOnlyCallRegisteredEP
Definition: gkserver.h:1668
virtual void AddCall(H323GatekeeperCall *call)
H323GatekeeperServer & GetGatekeeper() const
Definition: gkserver.h:776
virtual H323GatekeeperRequest::Response OnUnregistration(H323GatekeeperURQ &request)
Definition: gkserver.h:242
PStringArray voicePrefixes
Definition: gkserver.h:914