Objective Systems, Inc.  

Gatekeeper client


Data Structures

struct  ooGkClientTimerCb
struct  RasGatekeeperInfo
struct  RasCallAdmissionInfo
 Call Admission Information. More...
struct  OOGKCLIENTCALLBACKS
struct  ooGkClient
 Structure to store all the configuration information for the gatekeeper client. More...

Typedefs

typedef int(*) cb_OnReceivedRegistrationConfirm (H225RegistrationConfirm *rcf, struct OOAliases *aliases)
 NOTE- This functionality is not yet fully completed.
typedef int(*) cb_OnReceivedUnregistrationConfirm (H225UnregistrationConfirm *ucf, struct OOAliases *aliases)
 NOTE- This functionality is not yet fully completed.
typedef int(*) cb_OnReceivedUnregistrationRequest (H225UnregistrationRequest *urq, struct OOAliases *aliases)
 NOTE- This functionality is not yet fully completed.

Enumerations

enum  RasGatekeeperMode {
  RasNoGatekeeper = 0,
  RasDiscoverGatekeeper = 1,
  RasUseSpecificGatekeeper = 2
}
enum  RasCallType {
  RasPointToPoint = 0,
  RasOneToN,
  RasnToOne,
  RasnToN
}
enum  OOGkClientState {
  GkClientIdle = 0,
  GkClientDiscovered,
  GkClientRegistered,
  GkClientUnregistered,
  GkClientGkErr,
  GkClientFailed
}

Functions

EXTERN int ooGkClientInit (enum RasGatekeeperMode eGkMode, char *szGkAddr, int iGkPort)
 This function is used to initialize the Gatekeeper client.If an application wants to use gatekeeper services, it should call this function immediately after initializing the H323 EndPoint.
EXTERN void ooGkClientPrintConfig (ooGkClient *pGkClient)
 This function is used to print the gatekeeper client configuration information to log.
EXTERN int ooGkClientDestroy (void)
 This function is used to destroy Gatekeeper client.
EXTERN int ooGkClientStart (ooGkClient *pGkClient)
 This function is used to start the Gatekeeper client functionality.
EXTERN int ooGkClientSetGkMode (ooGkClient *pGkClient, enum RasGatekeeperMode eGkMode, char *szGkAddr, int iGkPort)
 This function is invoked to set a gatekeeper mode.
EXTERN int ooGkClientCreateChannel (ooGkClient *pGkClient)
 This function is used to create a RAS channel for the gatekeeper.
EXTERN int ooGkClientCloseChannel (ooGkClient *pGkClient)
 This function is used to close a RAS channel of the gatekeeper client.
EXTERN void ooGkClientRasFillVendor (ooGkClient *pGkClient, H225VendorIdentifier *psVendor)
 This function is used to fill endpoint's vendor information into vendor identifier.
EXTERN int ooGkClientReceive (ooGkClient *pGkClient)
 This function is invoked to receive data on Gatekeeper client's RAS channel.
EXTERN int ooGkClientHandleRASMessage (ooGkClient *pGkClient, H225RasMessage *pRasMsg)
 This function is used to handle a received RAS message by a gatekeeper client.
EXTERN int ooGkClientSendMsg (ooGkClient *pGkClient, H225RasMessage *pRasMsg)
 This function is used to send a message on Gatekeeper clien't RAS channel.
EXTERN int ooGkClientSendGRQ (ooGkClient *pGkClient)
 This function is used to send Gatekeeper request message.
EXTERN int ooGkClientHandleGatekeeperReject (ooGkClient *pGkClient, H225GatekeeperReject *pGatekeeperReject)
 This function is used to handle a received gatekeeper reject message.
EXTERN int ooGkClientHandleGatekeeperConfirm (ooGkClient *pGkClient, H225GatekeeperConfirm *pGatekeeperConfirm)
 This function is used to handle a received gatekeeper confirm message.
EXTERN int ooGkClientSendRRQ (ooGkClient *pGkClient, ASN1BOOL keepAlive)
 This function is used to send Registration request message.
EXTERN int ooGkClientHandleRegistrationConfirm (ooGkClient *pGkClient, H225RegistrationConfirm *pRegistrationConfirm)
 This function is used to handle a received registration confirm message.
EXTERN int ooGkClientHandleRegistrationReject (ooGkClient *pGkClient, H225RegistrationReject *pRegistrationReject)
 This function is used to handle a received registration reject message.
EXTERN int ooGkClientSendURQ (ooGkClient *pGkClient, struct OOAliases *aliases)
 This function is used to send UnRegistration request message.
EXTERN int ooGkClientHandleUnregistrationRequest (ooGkClient *pGkClient, H225UnregistrationRequest *punregistrationRequest)
 This function is used to handle a received Unregistration request message.
EXTERN int ooGkClientSendUnregistrationConfirm (ooGkClient *pGkClient, unsigned reqNo)
 This function is used to send an unregistration confirm messsage to gatekeeper.
EXTERN int ooGkClientSendAdmissionRequest (ooGkClient *pGkClient, struct OOH323CallData *call, ASN1BOOL retransmit)
 This function is invoked to request bandwith admission for a call.
EXTERN int ooGkClientHandleAdmissionConfirm (ooGkClient *pGkClient, H225AdmissionConfirm *pAdmissionConfirm)
 This function is used to handle a received Admission confirm message.
EXTERN int ooGkClientHandleAdmissionReject (ooGkClient *pGkClient, H225AdmissionReject *pAdmissionReject)
 This function is used to handle a received Admission Reject message.
EXTERN int ooGkClientSendDisengageRequest (ooGkClient *pGkClient, struct OOH323CallData *call)
 This function is invoked to request call disengage to gatekeeper.
EXTERN int ooGkClientHandleDisengageConfirm (ooGkClient *pGkClient, H225DisengageConfirm *pDCF)
 This function is used to handle a received disengage confirm message.
EXTERN int ooGkClientRRQTimerExpired (void *pdata)
 This function is used to handle an expired registration request timer.
EXTERN int ooGkClientGRQTimerExpired (void *pdata)
 This function is used to handle an expired gatekeeper request timer.
EXTERN int ooGkClientREGTimerExpired (void *pdata)
 This function is used to handle an expired registration time-to-live timer.
EXTERN int ooGkClientARQTimerExpired (void *pdata)
 This function is used to handle an expired admission request timer.
EXTERN int ooGkClientCleanCall (ooGkClient *pGkClient, struct OOH323CallData *call)
 This function is used to clean call related data from gatekeeper client.
EXTERN int ooGkClientHandleClientOrGkFailure (ooGkClient *pGkClient)
 This function is used to handle gatekeeper client failure or gatekeeper failure which can be detected by unresponsiveness of gk.
EXTERN int ooGkClientUpdateRegisteredAliases (ooGkClient *pGkClient, H225_SeqOfH225AliasAddress *pAddresses, OOBOOL registered)
 This function is used to update the registration status of aliases.
int ooGkClientSetCallbacks (ooGkClient *pGkClient, OOGKCLIENTCALLBACKS callbacks)
 This function is used internally to set Gatekeeper Clients callbacks.

Typedef Documentation

typedef int(*) cb_OnReceivedRegistrationConfirm(H225RegistrationConfirm *rcf, struct OOAliases *aliases)

NOTE- This functionality is not yet fully completed.

This is a callback function which is triggered when registration confirm message is received from the gatekeeper. The first parameter is the message received. The second parameter provides updated list of aliases after the message was processed by the stack.

Parameters:
rcf Handle to the received registration confirm message

Definition at line 145 of file ooGkClient.h.

typedef int(*) cb_OnReceivedUnregistrationConfirm(H225UnregistrationConfirm *ucf, struct OOAliases *aliases)

NOTE- This functionality is not yet fully completed.

This is a callback function which is triggered when unregistration confirm message is received. The first parameter is the message received. The second parameter provides updated list of aliases after the message was processed by the stack.

Definition at line 156 of file ooGkClient.h.

typedef int(*) cb_OnReceivedUnregistrationRequest(H225UnregistrationRequest *urq, struct OOAliases *aliases)

NOTE- This functionality is not yet fully completed.

This is a callback function which is triggered when unregistration request message is received. The first parameter is the message received. The second parameter provides the list of aliases requested to be unregistered.

Definition at line 165 of file ooGkClient.h.


Function Documentation

EXTERN int ooGkClientInit ( enum RasGatekeeperMode  eGkMode,
char *  szGkAddr,
int  iGkPort 
)

This function is used to initialize the Gatekeeper client.If an application wants to use gatekeeper services, it should call this function immediately after initializing the H323 EndPoint.

Parameters:
eGkMode Gatekeeper mode.
szGkAddr Dotted gk ip address, if gk has to be specified.
iGkPort Gk port.
Returns:
OO_OK, on success. OO_FAILED, on failure.

EXTERN void ooGkClientPrintConfig ( ooGkClient pGkClient  ) 

This function is used to print the gatekeeper client configuration information to log.

Parameters:
pGkClient Handle to gatekeeper client.

EXTERN int ooGkClientDestroy ( void   ) 

This function is used to destroy Gatekeeper client.

It releases all the associated memory.

Returns:
OO_OK, on success. OO_FAILED, on failure.

EXTERN int ooGkClientStart ( ooGkClient pGkClient  ) 

This function is used to start the Gatekeeper client functionality.

Parameters:
pGkClient Pointer to the Gatekeeper Client.
Returns:
OO_OK, on success. OO_FAILED, on failure.

EXTERN int ooGkClientSetGkMode ( ooGkClient pGkClient,
enum RasGatekeeperMode  eGkMode,
char *  szGkAddr,
int  iGkPort 
)

This function is invoked to set a gatekeeper mode.

Parameters:
pGkClient Handle to gatekeeper client.
eGkMode Gatekeeper mode selected. One of the following:
  • RasNoGatekeeper (DEFAULT), No Gatekeeper.
  • RasDiscoverGatekeeper, to discover a gatekeeper automatically.
  • RasUseSpecificGatekeeper, to use a specific gatekeeper.
szGkAddr Gatekeeper address (only when using specific gatekeeper).
iGkPort Gatekeeper RAS port
Returns:
Completion status - OO_OK on success, OO_FAILED on failure

EXTERN int ooGkClientCreateChannel ( ooGkClient pGkClient  ) 

This function is used to create a RAS channel for the gatekeeper.

Parameters:
pGkClient Pointer to the Gatekeeper client for which RAS channel has to be created.
Returns:
OO_OK, on success. OO_FAILED, on failure.

EXTERN int ooGkClientCloseChannel ( ooGkClient pGkClient  ) 

This function is used to close a RAS channel of the gatekeeper client.

Parameters:
pGkClient Pointer to the gatekeeper client.
Returns:
OO_OK, on success. OO_FAILED, on failure.

EXTERN void ooGkClientRasFillVendor ( ooGkClient pGkClient,
H225VendorIdentifier *  psVendor 
)

This function is used to fill endpoint's vendor information into vendor identifier.

Parameters:
pGkClient Pointer to gatekeeper client.
psVendor Pointer to vendor identifier to be filled.

EXTERN int ooGkClientReceive ( ooGkClient pGkClient  ) 

This function is invoked to receive data on Gatekeeper client's RAS channel.

Parameters:
pGkClient Handle to Gatekeeper client for which message has to be received.
Returns:
Completion status - OO_OK on success, OO_FAILED on failure

EXTERN int ooGkClientHandleRASMessage ( ooGkClient pGkClient,
H225RasMessage *  pRasMsg 
)

This function is used to handle a received RAS message by a gatekeeper client.

Parameters:
pGkClient Handle to gatekeeper client.
pRasMsg Handle to received Ras message.
Returns:
OO_OK, on success. OO_FAILED, on failure.

EXTERN int ooGkClientSendMsg ( ooGkClient pGkClient,
H225RasMessage *  pRasMsg 
)

This function is used to send a message on Gatekeeper clien't RAS channel.

Parameters:
pGkClient Handle to the gatekeeper client.
pRasMsg Handle to Ras message to be sent.
Returns:
OO_OK, on success. OO_FAILED, otherwise.

EXTERN int ooGkClientSendGRQ ( ooGkClient pGkClient  ) 

This function is used to send Gatekeeper request message.

Parameters:
pGkClient Handle to gatekeeper client for which GRQ message has to be sent.
Returns:
OO_OK, on success. OO_FAILED, otherwise.

EXTERN int ooGkClientHandleGatekeeperReject ( ooGkClient pGkClient,
H225GatekeeperReject *  pGatekeeperReject 
)

This function is used to handle a received gatekeeper reject message.

Parameters:
pGkClient Handle to gatekeeper client.
pGatekeeperReject Handle to received reject message.
Returns:
OO_OK, on success. OO_FAILED, otherwise.

EXTERN int ooGkClientHandleGatekeeperConfirm ( ooGkClient pGkClient,
H225GatekeeperConfirm *  pGatekeeperConfirm 
)

This function is used to handle a received gatekeeper confirm message.

Parameters:
pGkClient Handle to gatekeeper client.
pGatekeeperConfirm Handle to received confirmed message.
Returns:
OO_OK, on success. OO_FAILED, otherwise.

EXTERN int ooGkClientSendRRQ ( ooGkClient pGkClient,
ASN1BOOL  keepAlive 
)

This function is used to send Registration request message.

Parameters:
pGkClient Handle to gatekeeper client for which RRQ message has to be sent.
keepAlive Indicates whether keepalive lightweight registration has to be sent.
Returns:
OO_OK, on success. OO_FAILED, otherwise.

EXTERN int ooGkClientHandleRegistrationConfirm ( ooGkClient pGkClient,
H225RegistrationConfirm *  pRegistrationConfirm 
)

This function is used to handle a received registration confirm message.

Parameters:
pGkClient Handle to gatekeeper client.
pRegistrationConfirm Handle to received confirmed message.
Returns:
OO_OK, on success. OO_FAILED, otherwise.

EXTERN int ooGkClientHandleRegistrationReject ( ooGkClient pGkClient,
H225RegistrationReject *  pRegistrationReject 
)

This function is used to handle a received registration reject message.

Parameters:
pGkClient Handle to gatekeeper client.
pRegistrationReject Handle to received reject message.
Returns:
OO_OK, on success. OO_FAILED, otherwise.

EXTERN int ooGkClientSendURQ ( ooGkClient pGkClient,
struct OOAliases aliases 
)

This function is used to send UnRegistration request message.

Parameters:
pGkClient Handle to gatekeeper client for which URQ message has to be sent.
aliases List of aliases to be unregistered. NULL, if all the aliases have to be unregistered.
Returns:
OO_OK, on success. OO_FAILED, otherwise.

EXTERN int ooGkClientHandleUnregistrationRequest ( ooGkClient pGkClient,
H225UnregistrationRequest *  punregistrationRequest 
)

This function is used to handle a received Unregistration request message.

Parameters:
pGkClient Handle to gatekeeper client.
punregistrationRequest Handle to received unregistration request.
Returns:
OO_OK, on success. OO_FAILED, otherwise.

EXTERN int ooGkClientSendUnregistrationConfirm ( ooGkClient pGkClient,
unsigned  reqNo 
)

This function is used to send an unregistration confirm messsage to gatekeeper.

Parameters:
pGkClient Handle to gatekeeper client.
reqNo Request Sequence number for the confirm message.
Returns:
OO_OK, on success. OO_FAILED, on failure.

EXTERN int ooGkClientSendAdmissionRequest ( ooGkClient pGkClient,
struct OOH323CallData call,
ASN1BOOL  retransmit 
)

This function is invoked to request bandwith admission for a call.

Parameters:
pGkClient Gatekeeper client to be used
call Handle to the call.
retransmit Indicates whether new call or retransmitting for existing call.
Returns:
OO_OK, on success. OO_FAILED, on failure.

EXTERN int ooGkClientHandleAdmissionConfirm ( ooGkClient pGkClient,
H225AdmissionConfirm *  pAdmissionConfirm 
)

This function is used to handle a received Admission confirm message.

Parameters:
pGkClient Handle to gatekeeper client.
pAdmissionConfirm Handle to received confirmed message.
Returns:
OO_OK, on success. OO_FAILED, otherwise.

EXTERN int ooGkClientHandleAdmissionReject ( ooGkClient pGkClient,
H225AdmissionReject *  pAdmissionReject 
)

This function is used to handle a received Admission Reject message.

It finds the associated call and marks it for cleaning with appropriate call end reason code.

Parameters:
pGkClient Handle to Gatekeeper client.
pAdmissionReject Handle to received admission reject message.
Returns:
OO_OK, on success. OO_FAILED, on failure.

EXTERN int ooGkClientSendDisengageRequest ( ooGkClient pGkClient,
struct OOH323CallData call 
)

This function is invoked to request call disengage to gatekeeper.

Parameters:
pGkClient Gatekeeper client to be used.
call Call Handle
Returns:
Completion status - OO_OK on success, OO_FAILED on failure

EXTERN int ooGkClientHandleDisengageConfirm ( ooGkClient pGkClient,
H225DisengageConfirm *  pDCF 
)

This function is used to handle a received disengage confirm message.

Parameters:
pGkClient Handle to gatekeeper client.
pDCF Handle to received confirmed message.
Returns:
OO_OK, on success. OO_FAILED, otherwise.

EXTERN int ooGkClientRRQTimerExpired ( void *  pdata  ) 

This function is used to handle an expired registration request timer.

Parameters:
pdata Handle to callback data
Returns:
OO_OK, on success. OO_FAILED, on failure.

EXTERN int ooGkClientGRQTimerExpired ( void *  pdata  ) 

This function is used to handle an expired gatekeeper request timer.

Parameters:
pdata Handle to callback data
Returns:
OO_OK, on success. OO_FAILED, on failure.

EXTERN int ooGkClientREGTimerExpired ( void *  pdata  ) 

This function is used to handle an expired registration time-to-live timer.

Parameters:
pdata Handle to callback data
Returns:
OO_OK, on success. OO_FAILED, on failure.

EXTERN int ooGkClientARQTimerExpired ( void *  pdata  ) 

This function is used to handle an expired admission request timer.

Parameters:
pdata Handle to callback data
Returns:
OO_OK, on success. OO_FAILED, on failure.

EXTERN int ooGkClientCleanCall ( ooGkClient pGkClient,
struct OOH323CallData call 
)

This function is used to clean call related data from gatekeeper client.

Parameters:
pGkClient Handle to the gatekeeper client.
call Handle to the call to be cleaned.
Returns:
OO_OK, on success. OO_FAILED, on failure.

EXTERN int ooGkClientHandleClientOrGkFailure ( ooGkClient pGkClient  ) 

This function is used to handle gatekeeper client failure or gatekeeper failure which can be detected by unresponsiveness of gk.

Parameters:
pGkClient Handle to gatekeeper client.
Returns:
OO_OK, on success. OO_FAILED, on failure.

EXTERN int ooGkClientUpdateRegisteredAliases ( ooGkClient pGkClient,
H225_SeqOfH225AliasAddress *  pAddresses,
OOBOOL  registered 
)

This function is used to update the registration status of aliases.

Parameters:
pGkClient Handle to the GK client.
pAddresses List of newly registered addresses. NULL means all aliases have been successfully registered.
registered Indicates whether aliases are registered or unregistered.
Returns:
OO_OK, on success. OO_FAILED, on failure.

int ooGkClientSetCallbacks ( ooGkClient pGkClient,
OOGKCLIENTCALLBACKS  callbacks 
)

This function is used internally to set Gatekeeper Clients callbacks.

Note: This functionality is not yet fully supported

Parameters:
pGkClient Handle to the GK client.
callbacks Callback structure contatining various gatekeeper client callbacks.
Returns:
OO_OK, on success. OO_FAILED, on failure.


This file was last modified on 28 May 2010.
Objective Open H.323 Stack, 0.9.1