Objective Systems, Inc.  

ooGkClient.h File Reference

This file contains functions to support RAS protocol. More...

#include "ooasn1.h"
#include "ootypes.h"
#include "H323-MESSAGES.h"

Go to the source code of this file.

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...

Defines

#define MAX_IP_LEN   15
#define DEFAULT_GKPORT   1719
#define MULTICAST_GKADDRESS   "224.0.1.41"
#define MULTICAST_GKPORT   1718
#define DEFAULT_BW_REQUEST   100000
#define DEFAULT_REG_TTL   300
#define DEFAULT_TTL_OFFSET   20
#define DEFAULT_ARQ_TIMEOUT   5
#define DEFAULT_DRQ_TIMEOUT   5
#define DEFAULT_GRQ_TIMEOUT   15
#define DEFAULT_RRQ_TIMEOUT   10
#define OO_MAX_GRQ_RETRIES   3
#define OO_MAX_RRQ_RETRIES   3
#define OO_MAX_ARQ_RETRIES   3
#define OO_GRQ_TIMER   (1<<0)
#define OO_RRQ_TIMER   (1<<1)
#define OO_REG_TIMER   (1<<2)
#define OO_ARQ_TIMER   (1<<3)
#define OO_DRQ_TIMER   (1<<4)

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.


Detailed Description

This file contains functions to support RAS protocol.

Definition in file ooGkClient.h.


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