Intel 05-1832-002 IP Phone User Manual


 
454 Voice API for Windows Operating Systems Library Reference — November 2003
nr_scroute( ) — make a full or half-duplex connection
#ifdef FAXSC
case SC_FAX:
if (fx_getxmitslot(devh1, &sc_tsinfo) == -1) {
nr_scerror("nr_scroute: %s: fx_getxmitslot ERROR: %s\n",
ATDV_NAMEP(devh1),ATDV_ERRMSGP(devh1));
return -1;
}
break;
#endif
default:
nr_scerror("nr_scroute: %s: ERROR: Invalid 1st device type\n",
ATDV_NAMEP(devh1));
return -1;
}
/*
* Make the second device type listen to the time slot that the first
* device is transmitting on. If a half duplex connection is desired,
* then return. Otherwise, get the TDM bus time slot connected to the
* transmit of the second device.
*/
switch (devtype2) {
case SC_VOX:
if (dx_listen(devh2, &sc_tsinfo) == -1) {
nr_scerror("nr_scroute: %s: dx_listen ERROR: %s\n",
ATDV_NAMEP(devh2),ATDV__ERRMSGP(devh2));
return -1;
}
if (mode == SC_HALFDUP) {
return 0;
}
if (dx_getxmitslot(devh2, &sc_tsinfo) == -1) {
nr_scerror("nr_scroute: %s: dx_getxmitslot ERROR: %s\n",
ATDV_NAMEP(devh2),ATDV_ERRMSGP(devh2));
return -1;
}
break;
case SC_LSI:
if (ag_listen(devh2, &sc_tsinfo) == -1) {
nr_scerror("nr_scroute: %s: ag_listen ERROR: %s\n",
ATDV_NAMEP(devh2),ATDV_ERRMSGP(devh2));
return -1;
}
if (mode == SC_HALFDUP) {
return 0;
}
if (ag_getxmitslot(devh2, &sc_tsinfo) == -1) {
nr_scerror("nr_scroute: %s: ag_getxmitslot ERROR: %s\n",
ATDV_NAMEP(devh2),ATDV_ERRMSGP(devh2));
return -1;
}
break;
#ifdef DTISC
case SC_DTI:
if (dt_listen(devh2, &sc_tsinfo) == -1) {
nr_scerror("nr_scroute: %s: dt_listen ERROR: %s\n",
ATDV_NAMEP(devh2),ATDV_ERRMSGP(devh2));
return -1;
}
if (mode == SC_HALFDUP) {
return 0;
}