#include <gkserver.h>
Construction | |
enum | Direction { AnsweringCall, OriginatingCall, UnknownDirection } |
H323GatekeeperCall (H323GatekeeperServer &server, const OpalGloballyUniqueID &callIdentifier, Direction direction) | |
~H323GatekeeperCall () | |
Public Member Functions | |
Overrides from PObject | |
Comparison | Compare (const PObject &obj) const |
void | PrintOn (ostream &strm) const |
Operations | |
virtual H323GatekeeperRequest::Response | OnAdmission (H323GatekeeperARQ &request) |
virtual PBoolean | Disengage (int reason=-1) |
virtual H323GatekeeperRequest::Response | OnDisengage (H323GatekeeperDRQ &request) |
virtual H323GatekeeperRequest::Response | OnBandwidth (H323GatekeeperBRQ &request) |
virtual H323GatekeeperRequest::Response | OnInfoResponse (H323GatekeeperIRR &request, H225_InfoRequestResponse_perCallInfo_subtype &call) |
virtual void | OnAlerting () |
virtual void | OnConnected () |
virtual PBoolean | OnHeartbeat () |
virtual PString | GetCallCreditAmount () const |
virtual PBoolean | GetCallCreditMode () const |
virtual unsigned | GetDurationLimit () const |
virtual PBoolean | SendCallCreditServiceControl () |
PBoolean | AddCallCreditServiceControl (H225_ArrayOf_ServiceControlSession &serviceControl) const |
virtual PBoolean | SendServiceControlSession (const H323ServiceControlSession &session) |
virtual PBoolean | TranslateAliasAddress (const H225_AliasAddress &alias, H225_ArrayOf_AliasAddress &aliases, H323TransportAddress &address, PBoolean &isGkRouted) |
Access functions | |
H323GatekeeperServer & | GetGatekeeper () const |
H323RegisteredEndPoint & | GetEndPoint () const |
PBoolean | IsAnsweringCall () const |
unsigned | GetCallReference () const |
const OpalGloballyUniqueID & | GetCallIdentifier () const |
const OpalGloballyUniqueID & | GetConferenceIdentifier () const |
const PString & | GetSourceNumber () const |
const PStringArray & | GetSourceAliases () const |
const H323TransportAddress & | GetSourceHost () const |
PString | GetSourceAddress () const |
const PString & | GetDestinationNumber () const |
const PStringArray & | GetDestinationAliases () const |
const H323TransportAddress & | GetDestinationHost () const |
PString | GetDestinationAddress () const |
unsigned | GetBandwidthUsed () const |
PBoolean | SetBandwidthUsed (unsigned bandwidth) |
const PTime & | GetLastInfoResponseTime () const |
const PTime & | GetCallStartTime () const |
const PTime & | GetAlertingTime () const |
const PTime & | GetConnectedTime () const |
const PTime & | GetCallEndTime () const |
H323Connection::CallEndReason | GetCallEndReason () const |
Protected Member Functions | |
void | SetUsageInfo (const H225_RasUsageInformation &usage) |
Protected Attributes | |
H323GatekeeperServer & | gatekeeper |
H323RegisteredEndPoint * | endpoint |
H323GatekeeperListener * | rasChannel |
Direction | direction |
unsigned | callReference |
OpalGloballyUniqueID | callIdentifier |
OpalGloballyUniqueID | conferenceIdentifier |
PString | srcNumber |
PStringArray | srcAliases |
H323TransportAddress | srcHost |
PString | dstNumber |
PStringArray | dstAliases |
H323TransportAddress | dstHost |
unsigned | bandwidthUsed |
unsigned | infoResponseRate |
PTime | lastInfoResponse |
PBoolean | drqReceived |
PTime | callStartTime |
PTime | alertingTime |
PTime | connectedTime |
PTime | callEndTime |
H323Connection::CallEndReason | callEndReason |
H323GatekeeperCall::H323GatekeeperCall | ( | H323GatekeeperServer & | server, | |
const OpalGloballyUniqueID & | callIdentifier, | |||
Direction | direction | |||
) |
Create a new gatekeeper call tracking record.
server | Owner gatekeeper server |
callIdentifier | Unique call identifier |
direction | Direction of call |
H323GatekeeperCall::~H323GatekeeperCall | ( | ) |
Destroy the call, removing itself from the endpoint.
PBoolean H323GatekeeperCall::AddCallCreditServiceControl | ( | H225_ArrayOf_ServiceControlSession & | serviceControl | ) | const |
Add call credit and duration information to PDU.
Comparison H323GatekeeperCall::Compare | ( | const PObject & | obj | ) | const |
Compare two objects.
obj | Other object |
virtual PBoolean H323GatekeeperCall::Disengage | ( | int | reason = -1 |
) | [virtual] |
Shut down a call. This sendsa DRQ to the endpoint(s) to close the call down.
reason | Reason for disengage |
const PTime& H323GatekeeperCall::GetAlertingTime | ( | ) | const [inline] |
unsigned H323GatekeeperCall::GetBandwidthUsed | ( | ) | const [inline] |
virtual PString H323GatekeeperCall::GetCallCreditAmount | ( | ) | const [virtual] |
Get the current credit for this call. This function is only called if the client indicates that it can use the information provided.
The default behaviour calls the same function on the endpoint.
virtual PBoolean H323GatekeeperCall::GetCallCreditMode | ( | ) | const [virtual] |
Get the call credit billing mode for this endpoint. This function is only called if the client indicates that it can use the information provided.
The default behaviour calls the same function on the endpoint.
H323Connection::CallEndReason H323GatekeeperCall::GetCallEndReason | ( | ) | const [inline] |
const PTime& H323GatekeeperCall::GetCallEndTime | ( | ) | const [inline] |
const OpalGloballyUniqueID& H323GatekeeperCall::GetCallIdentifier | ( | ) | const [inline] |
unsigned H323GatekeeperCall::GetCallReference | ( | ) | const [inline] |
const PTime& H323GatekeeperCall::GetCallStartTime | ( | ) | const [inline] |
const OpalGloballyUniqueID& H323GatekeeperCall::GetConferenceIdentifier | ( | ) | const [inline] |
const PTime& H323GatekeeperCall::GetConnectedTime | ( | ) | const [inline] |
PString H323GatekeeperCall::GetDestinationAddress | ( | ) | const |
const PStringArray& H323GatekeeperCall::GetDestinationAliases | ( | ) | const [inline] |
const H323TransportAddress& H323GatekeeperCall::GetDestinationHost | ( | ) | const [inline] |
const PString& H323GatekeeperCall::GetDestinationNumber | ( | ) | const [inline] |
virtual unsigned H323GatekeeperCall::GetDurationLimit | ( | ) | const [virtual] |
Get the duration limit for this call. This function is only called if the client indicates that it can use the information provided.
The default behaviour returns zero which indicates there is no duration limit applicable.
H323RegisteredEndPoint& H323GatekeeperCall::GetEndPoint | ( | ) | const [inline] |
H323GatekeeperServer& H323GatekeeperCall::GetGatekeeper | ( | ) | const [inline] |
const PTime& H323GatekeeperCall::GetLastInfoResponseTime | ( | ) | const [inline] |
PString H323GatekeeperCall::GetSourceAddress | ( | ) | const |
const PStringArray& H323GatekeeperCall::GetSourceAliases | ( | ) | const [inline] |
const H323TransportAddress& H323GatekeeperCall::GetSourceHost | ( | ) | const [inline] |
const PString& H323GatekeeperCall::GetSourceNumber | ( | ) | const [inline] |
PBoolean H323GatekeeperCall::IsAnsweringCall | ( | ) | const [inline] |
virtual H323GatekeeperRequest::Response H323GatekeeperCall::OnAdmission | ( | H323GatekeeperARQ & | request | ) | [virtual] |
Handle an admission ARQ PDU. The default behaviour sets some internal variables from the ARQ data and then calls OnResolveAdmission, if necessary, and OnReplyAdmission every time.
virtual void H323GatekeeperCall::OnAlerting | ( | ) | [virtual] |
Call back when an info response detects an Alerting.
virtual H323GatekeeperRequest::Response H323GatekeeperCall::OnBandwidth | ( | H323GatekeeperBRQ & | request | ) | [virtual] |
Handle a bandwidth BRQ PDU. The default behaviour adjusts the bandwidth used by the gatekeeper and adjusts the remote endpoint according to those limits.
virtual void H323GatekeeperCall::OnConnected | ( | ) | [virtual] |
Call back when an info response detects an Connected.
virtual H323GatekeeperRequest::Response H323GatekeeperCall::OnDisengage | ( | H323GatekeeperDRQ & | request | ) | [virtual] |
Handle a disengage DRQ PDU. The default behaviour simply returns PTrue.
virtual PBoolean H323GatekeeperCall::OnHeartbeat | ( | ) | [virtual] |
Function called to do heartbeat check of the call. Monitor the state of the call and make sure everything is OK.
A return value of PFalse indicates the call is to be closed for some reason.
Default behaviour checks the time since the last received IRR and if it has been too long does an IRQ to see if the call (and endpoint!) is still there and running. If the IRQ fails, PFalse is returned.
virtual H323GatekeeperRequest::Response H323GatekeeperCall::OnInfoResponse | ( | H323GatekeeperIRR & | request, | |
H225_InfoRequestResponse_perCallInfo_subtype & | call | |||
) | [virtual] |
Handle an info request response IRR PDU. The default behaviour resets the heartbeat time monitoring the call.
void H323GatekeeperCall::PrintOn | ( | ostream & | strm | ) | const |
Print the name of the gatekeeper.
strm | Stream to print to. |
virtual PBoolean H323GatekeeperCall::SendCallCreditServiceControl | ( | ) | [virtual] |
Send the call credit service control PDU. This will send an SCI pdu to the endpoint with the control service session information for the current call credit, if enabled.
virtual PBoolean H323GatekeeperCall::SendServiceControlSession | ( | const H323ServiceControlSession & | session | ) | [virtual] |
Send the service control session for the PDU. This will send an SCI pdu to the endpoint with the control service session information provided.
PBoolean H323GatekeeperCall::SetBandwidthUsed | ( | unsigned | bandwidth | ) |
void H323GatekeeperCall::SetUsageInfo | ( | const H225_RasUsageInformation & | usage | ) | [protected] |
virtual PBoolean H323GatekeeperCall::TranslateAliasAddress | ( | const H225_AliasAddress & | alias, | |
H225_ArrayOf_AliasAddress & | aliases, | |||
H323TransportAddress & | address, | |||
PBoolean & | isGkRouted | |||
) | [virtual] |
Translate a given alias to an alias set and signal address. This is called by the OnAdmission() handler to fill in the ACF
The default behaviour calls H323GatekeeperServer::TranslateAliasAddress.
PTime H323GatekeeperCall::alertingTime [protected] |
unsigned H323GatekeeperCall::bandwidthUsed [protected] |
H323Connection::CallEndReason H323GatekeeperCall::callEndReason [protected] |
PTime H323GatekeeperCall::callEndTime [protected] |
OpalGloballyUniqueID H323GatekeeperCall::callIdentifier [protected] |
unsigned H323GatekeeperCall::callReference [protected] |
PTime H323GatekeeperCall::callStartTime [protected] |
OpalGloballyUniqueID H323GatekeeperCall::conferenceIdentifier [protected] |
PTime H323GatekeeperCall::connectedTime [protected] |
Direction H323GatekeeperCall::direction [protected] |
PBoolean H323GatekeeperCall::drqReceived [protected] |
PStringArray H323GatekeeperCall::dstAliases [protected] |
H323TransportAddress H323GatekeeperCall::dstHost [protected] |
PString H323GatekeeperCall::dstNumber [protected] |
H323RegisteredEndPoint* H323GatekeeperCall::endpoint [protected] |
H323GatekeeperServer& H323GatekeeperCall::gatekeeper [protected] |
unsigned H323GatekeeperCall::infoResponseRate [protected] |
PTime H323GatekeeperCall::lastInfoResponse [protected] |
H323GatekeeperListener* H323GatekeeperCall::rasChannel [protected] |
PStringArray H323GatekeeperCall::srcAliases [protected] |
H323TransportAddress H323GatekeeperCall::srcHost [protected] |
PString H323GatekeeperCall::srcNumber [protected] |