This section describes the main data structures:
AppSessiontypedef struct {
unsigned short sessionState; /* Session state */
appStateFxn stateFxn; /* Next state machine function to be called */
unsigned int sessionNumber; /* Index session number */
allParameters ConfigFileParm; /* Information that received from */
/* gc_Extension() and from cfg file */
FILE *LogFile; /* channel log file */
LPMAILBOX lpMailBox; /* Pointer to the MailBox that is used */
VOICEPARAMS VoiceParams; /* The voice device parameters */
IPPARAMS ipParams; /* The IP device parameters */
int mediaDevice; /* the media device handle that received */
/* after calling gc_GetResourceH() */
char enteredExtNum[MAX_EXT_SIZE]; /* the Ext. number entered by */
/* the user*/
int IsRouted; /* If Route done then set flag to TRUE */
/* else FALSE */
QoSAlarmCounter QoSAlarmCount; /* Counter for QoS alarms */
}AppSession;
The AppSession data structure (defined in appstrc.h) contains the following fields:
There is an AppSession structure for every channel. Each channel session contains a pointer to a MAILBOX structure.
IPPARAMStypedef struct {
LINEDEV linedev; /* line device handle to identify the IP physical */
/* device that carries the call */
long XmitSlot; /* the transmit timeslot number assigned for the Voice */
/* Resources */
int logBoard; /* The logical board number for the session */
int logChan; /* The logical channel number for the session */
CRN crn; /* The current call's CRN */
} IPPARAMS;
The IPPARAMS data structure (defined in appstrc.h) contains the following fields:
VOICEPARAMStypedef struct {
int VoiceDevH; /* the voice device handle */
long XmitSlot; /*the transmit timeslot number assigned for the Voice Resources */
int logBoard; /* The logical board number for the session */
int logChan; /* The logical channel number for the session */
DV_DIGIT digp[MAX_DIGITS_NUM]; /* A structure for the digits when getting */
/* TDX_GETDIG event */
DX_IOTT iott; /* data structure contains parameters for the Input/Output */
/* Transfer Table. */
int fPlayerStopped; /* A flag which indicates the Player status */
int fRecorderStopped; /* A flag which indicates the Recorder status */
} VOICEPARAMS;
The VOICEPARAMS data structure (defined in appstrc.h) contains the following fields:
MAILBOXtypedef struct _MAILBOX {
char ExtNum[MAX_EXTNUM_LENGTH+1]; /* mail-box number */
MB_STATUS msgFileStatus; /* file status: 0 for no message,1 for saved */
/* message */
int isBusy; /* Mailbox busy: 0 for ready to answer an */
/* incoming call, 1 for currently answering */
/*a call */
}MAILBOX, *LPMAILBOX;
The MAILBOX data structure (defined in maildefs.h) contains the following fields:
CHANInfotypedef struct {
unsigned int MadeRoute; /* Calls that were routed */
unsigned int MadeUnRoute; /* Calls that were unrouted */
unsigned int callsOffered; /* Calls that were offered */
unsigned int callsDropped; /* Calls that were dropped - when
/*GCEV_DROPCALL received */
unsigned int droppingCalls; /* Dropping calls - when calling to
/*gc_DropCall */
unsigned int callsNull; /* Calls that were null */
unsigned int callsTaskFailed; /* Calls that were failed */
unsigned int callsTdxError; /* Calls that were with Tdx error */
unsigned int callsAnswered; /* Calls that were answered */
unsigned int callsDisconnected; /* Calls that were disconnected - when
/*GCEV_DISCONNECTED received */
unsigned int callsMsgPlayed; /* Calls that message was played */
unsigned int callsMsgRecorded; /* Calls that message was recorder */
}CHANInfo;
The CHANInfo data structure (defined in appstrc.h) contains the following fields:
CallParameterstypedef struct {
char display[IPT_MAX_STRING]; /* Display null-terminated string */
char phoneList[IPT_MAX_STRING]; /* Phone list null-terminated string */
char callerId[IPT_MAX_STRING]; /* Caller Id address */
unsigned int callDurationTime; /* Duration time in seconds */
char localPhoneNumber[IPT_MAX_STRING]; /* Local phone Number - used*/
/* for inbound call without phoneList */
char srcAddr[IPT_MAX_STRING]; /* My IP address */
char destAddr[IPT_MAX_STRING]; /* Destination IP address */
IP_CAPABILITY TxCoder[MAX_CODER_CAPABILITY]; /* Receive Tx capability coders */
IP_CAPABILITY RxCoder[MAX_CODER_CAPABILITY]; /* Receive Rx capability coders */
short maxTxCoders; /* Max Tx capability coders */
short maxRxCoders; /* Max Rx capability coders */
int DTMFMode; /* DTMF modes */
QoSElements QoSInfo; /* The QoS structure */
IP_RTCPINFO RTCPInfo; /* RTCP information structure */
char ConferenceID[16]; /* For conference call info use */
int ConferenceGoal; /* For conference call info use */
char IPT_UUI[IPT_MAX_STRING]; /* User to User Information */
char NonStdData[IPT_MAX_STRING]; /* Non standard data used in Q.931*/
/* and H.245 messages */
char NonStdObjID[IPT_MAX_STRING]; /* Non standard objID used in */
/* Q.931and H.245 messages */
IP_H221NONSTANDARD H221NonStd; /* Vendor H221 structure */
char productID[IPT_MAX_STRING]; /* Vendor product string */
char versionID[IPT_MAX_STRING]; /* Vendor version string */
}CallParameters;
The CallParameters data structure (defined in appstrc.h) contains the following fields:
QoSElementstypedef struct {
IPM_QOS_THRESHOLD_INFO QoSParamInfo; /* The IPM_QOS_THRESHOLD_INFO includes */
/* an array of IPM_QOS_THRESHOLD_DATA */
/* {each one includes 7 fields, one for */
/* the QoS type (lost packets, jitter, */
/* DTMF discarded) and the others for */
/* the QoS thresholds to be read from */
/* the configuration file}, and a */
/* counter for the number of the */
/* entries at the array */
unsigned short ResetAlarmState;
}QoSElements;
The QoSElements data structure (defined in appstrc.h) contains the following fields:
Click here to contact Telecom Support Resources
Copyright 2002, Intel Corporation