Intel 05-1832-002 IP Phone User Manual


 
380 Voice API for Windows Operating Systems Library Reference — November 2003
dx_setevtmsk( ) — enable detection of call status transition (CST) events
/* open a channel with chdev as descriptor */
if ((chdev = dx_open("dxxxB1C1",NULL)) == -1) {
/* process error */
}
.
.
/* Set event mask to receive ring events */
if (
dx_setevtmsk
(chdev, DM_RINGS) == -1) {
/* error setting event */
}
.
.
/* check for ring event, timeout set to 20 seconds */
if (dx_getevt(chdev,&eblk,20) == -1) {
/* error timeout */
}
if(eblk.ev_event==DE_RINGS) {
printf("Ring event occurred\n");
}
.
.
}
!
!!
! Example 2
This example illustrates how to use dx_setevtmsk( ) to handle call status transition events in an
asynchronous application.
#include <stdio.h>
#include <srllib.h>
#include <dxxxlib.h>
#include <windows.h>
#define MAXCHAN 24
int cst_handler();
main()
{
int chdev[MAXCHAN];
char *chname;
int i, srlmode;
/* Set SRL to run in polled mode. */
srlmode = SR_POLLMODE;
if (sr_setparm(SRL_DEVICE, SR_MODEID, (void *)&srlmode) == -1) {
/* process error */
}
for (i=0; i<MAXCHAN; i++) {
/* Set chname to the channel name, e.g., dxxxB1C1, dxxxB1C2,... */
/* Open the device using dx_open( ). chdev[i] has channel device
* descriptor.
*/
if ((chdev[i] = dx_open(chname,NULL)) == -1) {
/* process error */
}