www.pudn.com > d4j.zip > Dialogic.java


// 
// Dialogic.java: Dialogic access 
// $Id: Dialogic.java,v 1.38 2003/11/05 12:33:23 tron Exp tron $ 
 
/*  
 * Copyright (c) 1999 Carlos G Mendioroz. 
 * 
 *  This file is part of D4J. 
 * 
 *  D4J is free software; you can redistribute it and/or 
 *  modify it under the terms of the GNU Lesser General Public 
 *  License as published by the Free Software Foundation; either 
 *  version 2 of the License, or (at your option) any later version. 
 *   
 *  D4J is distributed in the hope that it will be useful, 
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of 
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
 *  Lesser General Public License for more details. 
 *   
 *  You should have received a copy of the GNU Lesser General Public 
 *  License along with this library; if not, write to the 
 *  Free Software Foundation, Inc., 59 Temple Place - Suite 330, 
 *  Boston, MA  02111-1307, USA. 
 * 
 * Report problems and direct all questions to: 
 * 
 *	tron@acm.org 
 */ 
package local.dialogic; 
public class Dialogic 
{ 
    // Variables 
 
    // Native methods 
     
    // Utility 
    protected static native int openFile(String filename, int mode); 
    protected static native void closeFile(int fd); 
     
    // SR 
    private static native int sr_libinit(); 
    public static native int sr_getboardcnt(String type); 
    protected static native void sr_waitevt(EVT evt);  
 
    // DX 
    private static native int dx_libinit(); 
    protected static native int dx_open(String name, int flags); 
    protected static native void dx_close(Voice dev); 
    protected static native int dx_setevtmsk(int dev, int mask); 
    protected static native int dx_setdigtyp(int dev, int mask); 
    protected static native int dx_setparm(int dev, int par, int val); 
    protected static native int dx_sethook(int dev, int hook, int mode); 
    protected static native int dx_play(Voice dev, IOTT iott, TPT tpt, int mode); 
    protected static native int dx_rec(Voice dev, IOTT iott, TPT tpt, int mode); 
    protected static native int dx_getdig(Voice dev, TPT tpt, int mode); 
    protected static native int dx_getdig(Voice dev, byte buf[]); 
    protected static native int dx_clrdigbuf(int dev); 
    protected static native int dx_deltones(int dev); 
    protected static native int dx_bldst(int id, int t1, int d1, int mode); 
    protected static native int dx_blddt(int id, int t1, int d1, int t2, int d2, int mode); 
    protected static native int dx_addtone(int dev, int digit, int type); 
    protected static native int dx_enbtone(int dev, int id, int mask); 
    protected static native int dx_distone(int dev, int id, int mask); 
    protected static native int dx_playtone(Voice dev, TNGEN tngen, TPT tpt, int mode); 
    protected static native int ATDX_STATE(int dev); 
    protected static native int ATDX_LINEST(int dev); 
    protected static native int ATDX_CPTERM(int dev); 
    protected static native int dx_stopch(int dev, int mode); 
    protected static native int dx_dial(int dev, String number, DXCAP cap, int mode); 
    protected static native int dx_getxmitslot(int dev); 
    protected static native void dx_listen(int dev, int ts); 
    protected static native void dx_unlisten(int dev); 
    protected static native int ag_getxmitslot(int dev); 
    protected static native void ag_listen(int dev, int ts); 
    protected static native void ag_unlisten(int dev); 
    protected static native int dx_playiottdata(Voice dev, IOTT iott, TPT tpt, XPB xbp, int mode); 
    protected static native int dx_reciottdata(Voice dev, IOTT iott, TPT tpt, XPB xbp, int mode); 
    protected static native int dx_mreciottdata(Voice dev, IOTT iott, TPT tpt, XPB xbp, int mode, int ts1, int ts2); 
    protected static native int dx_setchxfercnt(int dev, int bufnum); 
    protected static native int dx_gtcallid(int dev, byte buf[]); 
    protected static native int dx_gtextcallid(int dev, int type, byte buf[]); 
    protected static native int dx_initcallp(int dev); 
    protected static native int dx_getparm(int dev, int par); 
    protected static native int ATDX_BUFDIGS(int dev); 
    protected static native int ATDX_TRCOUNT(int dev); 
         
    // DT 
    private static native int dt_libinit(); 
    protected static native int dt_open(String name, int flags); 
    protected static native void dt_close(int dev); 
    protected static native int dt_getparm(int dev, int par); 
    protected static native void dt_setparm(int dev, int par, int value); 
    protected static native int dt_getxmitslot(int dev); 
    protected static native void dt_listen(int dev, int ts); 
    protected static native void dt_unlisten(int dev); 
    protected static native int dt_getevtmsk(int dev, int event); 
    protected static native void dt_setevtmsk(int dev, int event, int mask, int mode); 
    protected static native int dt_settssig(int dev, int sig, int mode); 
    protected static native int ATDT_TSSGBIT(int dev); 
     
    // DCB 
    private static native int dcb_libinit(); 
    protected static native void dcb_addtoconf(int dev, int conf, CDT part); 
    protected static native void dcb_close(int dev); 
    protected static native void dcb_delconf(int dev, int conf); 
    protected static native int dcb_estconf(int dev, CDT part[], int cattr); 
    protected static native int dcb_getbrdparm(int dev, int parm); 
    protected static native void dcb_getcde(int dev, int conf, CDT part); 
    protected static native void dcb_gettalkers(int dev, int conf, CDT[] part); 
    protected static native int dcb_open(String name, int flags); 
    protected static native void dcb_remfromconf(int dev, int conf, CDT part); 
    protected static native void dcb_setbrdparm(int dev, int par, int val); 
    protected static native void dcb_setcde(int dev, int conf, CDT part); 
    protected static native void dcb_setdigitmsk(int dev, int conf, int mask); 
 
 
    // MSI 
    private static native int ms_libinit(); 
    protected static native void ms_addtoconf(int dev, int conf, CDT part); 
    protected static native void ms_delconf(int dev, int conf); 
    protected static native int ms_estconf(int dev, CDT part[], int cattr); 
    protected static native void ms_getcde(int dev, int conf, CDT part); 
    protected static native void ms_remfromconf(int dev, int conf, CDT part); 
    protected static native void ms_setcde(int dev, int conf, CDT part); 
    protected static native int ms_open(String name, int flags); 
    protected static native void ms_close(int dev); 
    protected static native int ms_getbrdparm(int dev, int parm); 
    protected static native void ms_setbrdparm(int dev, int par, int val); 
    protected static native int ms_getevtmsk(int dev, int event); 
    protected static native void ms_setevtmsk(int dev, int event, int mask, int action); 
    protected static native int ms_getxmitslot(int dev); 
    protected static native void ms_listen(int dev, int ts); 
    protected static native void ms_unlisten(int dev); 
    protected static native void ms_genring(int dev, int len, int mode); 
    protected static native void ms_genziptone(int dev); 
    protected static native void ms_setvol(int dev, int type, int steps); 
    protected static native int ATMS_TSSGBIT(int dev); 
    protected static native void ms_stopfn(int dev, int fn); 
     
     
    // ISDN 
    protected static native void cc_AnswerCall(long crn, int rings, int mode); 
    protected static native void cc_DropCall(long crn, int cause, int mode); 
    protected static native long cc_MakeCall(int linedev, String phone_num, 
    				  Object makecall_blk, int timeout, int mode); // Returns crn 
//    protected static native void cc_ReleaseCall(long crn); 
    protected static native void cc_ReleaseCallEx(long crn, int mode); 
    protected static native long cc_WaitCall(int linedev, Object Waitcall_blk, 
		                  int timeout, int mode); // Would return crn if synchronous 
    // Optional Cal Handling Functions 
    protected static native void cc_AcceptCall(long crn, int rings, int mode); 
//    protected static native void cc_CallAck(long crn, int new_linedev, int msg_id); 
//    protected static native void cc_CallProgress(long crn, int indicator); 
//    protected static native void cc_Congestion(long crn, int cause); 
//    protected static native void cc_FacilityAck(long crn, byte facility[]); 
//    protected static native void cc_FacilityRej(long crn, byte facility[], int cause); 
//    protected static native void cc_FacilityReq(long crn, byte facility[], int mode); 
    protected static native void cc_GetANI(long crn, byte anibuf[]); 
//    protected static native void cc_GetBilling(long crn, byte billing[]); 
//    protected static native void cc_GetCallInfo(long crn, int info_id, byte value[]); 
    protected static native void cc_GetDNIS(long crn, byte dnis[]); 
//    protected static native void cc_GetMoreDigits(long crn, int num_digits, long timeout, int mode); 
//    protected static native void cc_GetNonCallMsg(int linedev, byte noncallmsg[]); 
//    protected static native void cc_HoldAck(long crn); 
//    protected static native void cc_HoldCall(long crn, int mode); 
//    protected static native void cc_HoldRej(long crn, int cause); 
    protected static native void cc_RejectCall(long crn, int cause, int mode); 
//    protected static native void cc_ReqANI(long crn, byte anibuf[], int req_type, int mode); 
//    protected static native void cc_RetrieveAck(long crn); 
//    protected static native void cc_RetrieveCall(long crn, int mode); 
//    protected static native void cc_RetrieveRej(long crn, int cause); 
    // DTE Call Transfer Framework changes 
//    protected static native void cc_TransferCall(long crn1, long crn2, int mode); 
//    protected static native void cc_TransferAck(long crn); 
//    protected static native void cc_TransferRej(long crn, int cause); 
    // End DTE changes 
 
//    protected static native void cc_SetBilling(long crn, int rate_type, int rate, int mode); 
//    protected static native void cc_SetCallingNum(int linedev, String callingnum); 
//    protected static native void cc_SetMinDigits(int linedev, int mindigs); 
//    protected static native void cc_SndNonCallMsg(int linedev, int crn_type, int msg_type, byte noncallmsg[]); 
//    protected static native void cc_SndMsg(long crn, int msg_type, byte sndmsg[]); 
//    protected static native void cc_TerminateCall(long crn, int cause); 
//    protected static native void cc_TerminateRelease(long crn); 
 
    // System Control Functions 
    protected static native void cc_Close(int linedev); 
    protected static native int cc_Open(String dev_name, int rfu);// Returns linedev 
    protected static native void cc_Restart(int linedev, int mode); 
 
    // System Tools Functions 
//    protected static native int cc_CallState(long crn); // Returns state 
    protected static native int cc_CauseValue(int linedev); // Returns cause 
//    protected static native int cc_CRN2LineDev(long crn); // Returns linedev 
//    protected static native int cc_GetBChanState(int linedev); // Returns B chan state 
//    protected static native int cc_GetCRN(EVT evt); // Returns crn 
//    protected static native int cc_GetDChanState(int linedev); // Returns D chan state 
//    protected static native void cc_GetCES(byte ces[], EVT evt); 
//    protected static native int cc_GetDLinkState(int linedev, Object dlink); // Returns DLINK state 
//    protected static native int cc_GetNetCRV(long crn); // Returns Net CRV 
//    protected static native void cc_GetSigInfo(byte value[], int infoID, EVT evt); 
    protected static native int cc_GetEvtMsk(int linedev); // Returns mask 
//    protected static native void cc_GetFrame(int linedev, byte rcvframe[]); 
//    protected static native void cc_GetInfoElem(int linedev, byte ie[]); 
//    protected static native int cc_GetLineDev(EVT evt); // Returns linedev 
//    protected static native int cc_GetNetH(int linedev); // Returns net handle 
    protected static native int cc_GetParm(int linedev, int parm_id); // Returns value 
//    protected static native void cc_GetSAPI(byte sapi[], EVT evt); 
//    protected static native int cc_GetUsrAttr(int linedev); // Returns user data 
//    protected static native int cc_GetVer(int linedev); // Returns major << 16 | minor 
//    protected static native int cc_GetVoiceH(int linedev); // Returns voice handle 
//    protected static native int cc_LineDev2CRN(int linedev); // Returns CRN 
//    protected static native void cc_PutEvt(int linedev, long event_type); 
    protected static native void cc_ResultMsg(int linedev, int ResultCode, byte msg[]); 
//    protected static native int cc_ResultValue(EVT evt); // Returns result 
//    protected static native void cc_SetChanState(int linedev, int chan_state, int mode); 
//    protected static native void cc_SetDChanCfg(int linedev, Object dchan_cfg); 
    protected static native void cc_SetEvtMsk(int devhdl, int mask, int action); 
//    protected static native void cc_SetInfoElem(int linedev, byte ie[]); 
    protected static native void cc_SetParm(int linedev, int parm_id, int value); 
//    protected static native void cc_TermRegisterResponse(int linedev, Object term_blk); 
//    protected static native void cc_SetUsrAttr(int linedev, long usr_attr); 
//    protected static native void cc_SndFrame(int linedev, byte sndframe[]); 
//    protected static native void cc_StartTrace(int linedev, String tracefilename); 
//    protected static native void cc_StopTrace(int linedev); 
 
    // Global Call Interface Functions 
//    protected static native void cc_BlockTs(int linedev); 
//    protected static native int cc_geterror(); 
//    protected static native void cc_seterror(int error); 
//    protected static native void cc_UnBlockTs(int linedev); 
 
    //  BRI Interface Function 
//    protected static native void cc_ToneRedefine(int LineDev, int sigtype, Object ToneParm, int mode); 
//    protected static native void cc_PlayTone(int LineDev, Object ToneParm, TPT tpt, int mode); 
//    protected static native void cc_StopTone(int LineDev, int mode); 
 
//    protected static native void cc_GetParmEx(int linedev, int parm_id, Object value); 
//    protected static native void cc_SetParmEx(int linedev, int parm_id, Object value); 
     
//	Global call 
//	(To be linux compatible) 
    protected static void gc_Start() { GCChannel.gc_Start(); } 
    protected static void gc_Stop() { GCChannel.gc_Stop(); } 
    protected static int gc_Open(String name) { return GCChannel.gc_Open(name); } 
    protected static void gc_Close(int line) { GCChannel.gc_Close(line); } 
    protected static int gc_GetVoiceH(int line) { return GCChannel.gc_GetVoiceH(line); } 
    protected static int gc_GetNetworkH(int line) { return GCChannel.gc_GetNetworkH(line); } 
    protected static void gc_Attach(int line, int voiceH, int mode) { GCChannel.gc_Attach(line, voiceH, mode); } 
    protected static void gc_Detach(int line, int voiceH, int mode) { GCChannel.gc_Detach(line, voiceH, mode); } 
    protected static int gc_WaitCall(int line, int timeout, int mode) { return GCChannel.gc_WaitCall(line, timeout, mode); } 
    protected static void gc_AcceptCall(int crn, int rings, int mode) { GCChannel.gc_AcceptCall(crn, rings, mode); } 
    protected static void gc_AnswerCall(int crn, int rings, int mode) { GCChannel.gc_AnswerCall(crn, rings, mode); } 
    protected static void gc_CallAck(int crn, int dnis, int mode) { GCChannel.gc_CallAck(crn, dnis, mode); } 
    protected static void gc_DropCall(int crn, int cause, int mode) { GCChannel.gc_DropCall(crn, cause, mode); } 
    protected static int gc_GetDNIS(int crn, byte buf[]) { return GCChannel.gc_GetDNIS(crn, buf); } 
    protected static int gc_GetANI(int crn, byte buf[]) { return GCChannel.gc_GetANI(crn, buf); } 
    protected static void gc_GetCallInfo(int crn, int id, byte buf[]) { GCChannel.gc_GetCallInfo(crn, id, buf); } 
    protected static int gc_GetParm(int line, int id) { return GCChannel.gc_GetParm(line, id); } 
    protected static void gc_SetParm(int line, int id, int value) { GCChannel.gc_SetParm(line, id, value); } 
    protected static int gc_MakeCall(int line, String number, int to, int mode) { return GCChannel.gc_MakeCall(line, number, to, mode); } 
    protected static void gc_ReleaseCall(int crn) { GCChannel.gc_ReleaseCall(crn); } 
    protected static void gc_ResetLineDev(int line, int mode) { GCChannel.gc_ResetLineDev(line, mode); } 
    protected static void gc_SetBilling(int crn, int rate, int mode) { GCChannel.gc_SetBilling(crn, rate, mode); } 
    protected static void gc_SetChanState(int line, int state, int mode) { GCChannel.gc_SetChanState(line, state, mode); } 
    protected static void gc_getMeta(EVT anEvt) { GCChannel.gc_getMeta(anEvt); } 
 
 
    // evtmask 
    public static final int  DE_RINGS    = 1;     /* Rings received */ 
    public static final int  DE_SILON    = 2;     /* Silence on */ 
    public static final int  DE_SILOF    = 3;     /* Silenec off */ 
    public static final int  DE_LCON     = 4;     /* Loop current on */ 
    public static final int  DE_LCOF     = 5;     /* Loop current off */ 
    public static final int  DE_WINK     = 6;     /* Wink received */ 
    public static final int  DE_RNGOFF   = 7;     /* Ring off event */ 
    public static final int  DE_DIGITS   = 8;     /* Digit Received */ 
    public static final int  DE_DIGOFF   = 9;     /* Digit tone off event */ 
    public static final int  DE_LCREV    = 13;    /* Loop current reversal   */ 
    public static final int  DE_TONEON   = 17;    /* Tone ON  Event Received */ 
    public static final int  DE_TONEOFF  = 18;    /* Tone OFF Event Received */ 
    public static final int  DE_STOPRINGS= 19;    /* Stop ring detect state */ 
    public static final int  DM_RINGS =    ( 1 << (DE_RINGS - 1) ); 
    public static final int  DM_SILON =    ( 1 << (DE_SILON - 1) ); 
    public static final int  DM_SILOF =    ( 1 << (DE_SILOF - 1) ); 
    public static final int  DM_LCON  =    ( 1 << (DE_LCON - 1) ); 
    public static final int  DM_LCOF  =    ( 1 << (DE_LCOF - 1) ); 
    public static final int  DM_LCREV =    ( 1 << (DE_LCREV - 1) ); 
    public static final int  DM_WINK  =    ( 1 << (DE_WINK - 1) ); 
    public static final int  DM_RNGOFF=    ( 1 << (DE_RNGOFF - 1) ); 
    public static final int  DM_DIGITS=    ( 1 << (DE_DIGITS - 1) ); 
    public static final int  DM_DIGOFF=    ( 1 << (DE_DIGOFF - 1) ); 
    public static final int  EV_ANY= 0xFFFFFFFF; 
    // sethook 
    public static final int DX_ONHOOK = 0; 
    public static final int DX_OFFHOOK = 1; 
    // Perfect call 
    public static final int DX_CALLP = 1; /* Turn on Call Analysis */ 
     
    // Call progress 
    public static final int CR_BUSY   =      7;  /* Line busy */ 
    public static final int CR_NOANS  =      8;  /* No answer */ 
    public static final int CR_NORB   =      9;  /* No ringback */ 
    public static final int CR_CNCT   =     10;  /* Call connected */ 
    public static final int CR_CEPT   =     11;  /* Operator intercept */ 
    public static final int CR_STOPD  =     12;  /* Call analysis stopped */ 
    public static final int CR_NODIALTONE=  17;  /* No dialtone detected */ 
    public static final int CR_FAXTONE =    18;  /* Fax tone detected */ 
    public static final int CR_ERROR   = 0x100;  /* Call analysis error */ 
     
    // set/getparm 
    /* 
     * Defines used by the parameter functions 
     */ 
    public static final int  PM_BD      = 0x00800000;   /* Board Level Parameter */ 
    public static final int  PM_CH      = 0x00000000;   /* Channel Level Parameter */ 
 
    public static final int  PM_DXXX    = 0x00000000;   /* D/xxx Parameter */ 
    public static final int  PM_D12X    = 0x01000000;   /* D/12x Parameter */ 
    public static final int  PM_MF40    = 0x02000000;   /* MF/40 Parameter */ 
    public static final int  PM_D12XDEV = 0x04000000; 
 
    public static final int  PM_FW      = 0x00000000;   /* Firmware Parameter */ 
    public static final int  PM_DRV     = 0x08000000;   /* Driver Parameter */ 
    public static final int  PM_LIB     = 0x10000000;   /* Library Parameter */ 
 
    public static final int  PRM_DEST   = 0x18000000; 
    public static final int  PRM_DEVTYP = 0x07000000; 
    public static final int  PRM_DATTYP = 0xE0000000; 
    public static final int  PRM_NUM    = 0x0000FFFF; 
    public static final int  PRM_TERM   = 0x007F0000; 
 
    public static final int  PM_BYTE    = 0x00000000;   /* Byte */ 
    public static final int  PM_SHORT   = 0x20000000;   /* Short */ 
    public static final int  PM_INT     = 0x40000000;   /* Int */ 
    public static final int  PM_LONG    = 0x60000000;   /* Long */ 
    public static final int  PM_VLSTR   = 0x80000000;   /* Variable Length String */ 
    public static final int  PM_FLSTR   = 0xA0000000;   /* Fixed Length String */ 
 
    public static final int  PM_VLSTR_MAXLEN=128;/* Max Length for Variable Length Parms */ 
 
    /* 
     * Set digit type in the DL_DIGITRDY (digit ready) message. 
     */ 
    public static final int   DG_DTMF   =  0x0000;   /* DTMF Digit */ 
    public static final int   DG_LPD    =  0x0001;   /* Loop Pulse Digit  */ 
    public static final int   DG_APD    =  0x0002;   /* Audio Pulse Digit */ 
    public static final int   DG_DPD    =  0x0002;   /* Dial Pulse Digit */ 
    public static final int   DG_MF     =  0x0003;   /* MF Digit */ 
 
    public static final int   DM_DTMF   =  0x01; 
    public static final int   DM_LPD    =  0x02; 
    public static final int   DM_APD    =  0x04; 
    public static final int   DM_MF     =  0x08; 
    public static final int   DM_DPD    =  0x10;      /* Enable DPD detection */ 
    public static final int   DM_DPDZ   =  0x20;      /* Enable Zero-Trained DPD Detection */ 
 
    /* 
     * GTD defines  
     */ 
      
    public static final int  DM_TONEON =   1; 
    public static final int  DM_TONEOFF=   2; 
    public static final int  TN_SINGLE =   0; 
    public static final int  TN_DUAL   =   1; 
    public static final int  TN_CADENCE =  1; 
    public static final int  TN_LEADING =  2; 
    public static final int  TN_TRAILING = 4; 
      
    /* 
     * CHANNEL PARAMETERS 
     */ 
    /* DTMF anti-talkoff during playback */ 
    public static final int  DXCH_DTMFTLK  = ((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x0101); 
 
    /* DTMF debounce time */ 
    public static final int  DXCH_DTMFDEB  = ((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x0201); 
 
    /* DTMF initiation bitmap */ 
    public static final int  DXCH_DTINITSET= ((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x0203); 
 
    /* Delay after ring recvd before winking */ 
    public static final int  DXCH_WINKDLY  = ((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x0204); 
 
    /* Duration of wink (off-hook state) */ 
    public static final int  DXCH_WINKLEN  = ((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x0205); 
 
    /* Min LC on to be recognized as wink */ 
    public static final int  DXCH_MINRWINK = ((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x0206); 
 
    /* Max LC on to be recognized as wink */ 
    public static final int  DXCH_MAXRWINK = ((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x0207); 
 
    /* Length of DTMF digit for dialing */ 
    public static final int  DXCH_TTDATA   = ((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x0208); 
 
    /* Length of TT inter digit delay */ 
    public static final int  DXCH_T_IDD    = ((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x0209); 
 
    /* Length of ADSI alert tone */ 
    public static final int  DXCH_ADSIALERT_LENGTH=((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x020D); 
 
    /* Time to wait for DTMF A */ 
    public static final int  DXCH_ADSIALERT_ACK=((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x020E); 
 
    /* Length of DTMF to accept */ 
    public static final int  DXCH_ADSIACK_LENGTH=((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x020F); 
 
    /* Pause after end of DTMF */ 
    public static final int  DXCH_ADSIACK_FSK=((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x0210); 
 
    /* Level to generate CAS tone */ 
    public static final int  DXCH_ADSIALERT_AMPL=((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x0211); 
     
    /* MF detection mask */ 
    public static final int  DXCH_MFMODE   = ((PM_SHORT|PM_FW|PM_MF40|PM_CH) | 0x0201); 
 
    /* Diagnostic mask */ 
    public static final int  DXCH_MFDIAG   = ((PM_SHORT|PM_FW|PM_MF40|PM_CH) | 0x0202); 
 
    /* Per channel dig rate: play (D/xxx only) */ 
    public static final int  DXCH_PLAYDRATE= ((PM_SHORT|PM_FW|PM_D12X|PM_CH) | 0x0E01); 
 
    /* Per channel dig rate: rec (D/xxx only)*/ 
    public static final int  DXCH_RECRDRATE= ((PM_SHORT|PM_FW|PM_D12X|PM_CH) | 0x0E02); 
 
    /* DTMF detection edge select */ 
    public static final int  DXCH_DFLAGS   = ((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x0801); 
 
    /* Per channel ring count */ 
    public static final int  DXCH_RINGCNT  = ((PM_SHORT|PM_DRV|PM_DXXX|PM_CH) | 0x0001); 
 
    /* Enable/disable Caller ID */ 
    public static final int  DXCH_CALLID   = ((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x0E04); 
 
    /* Enable/disable Caller ID values */ 
    public static final int  DX_CALLIDDISABLE = 0x0000;  /* Disable Caller ID */ 
    public static final int  DX_CALLIDENABLE  = 0x0001;  /* Enable Caller ID */ 
 
    /* Enable/disable Audio line-in */ 
    public static final int  DXCH_AUDIOLINEIN=((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x0E05); 
 
    /* Enable/disable Audio line-in values */ 
    public static final int  DX_LINEINDISABLE = 0x0000;  /* Disable audio line-in connection */ 
    public static final int  DX_LINEINENABLE  = 0x0001;  /* Enable audio line-in connection */ 
 
    /* DTMF Digit buffering mode */ 
    public static final int  DXCH_DIGBUFMODE=((PM_SHORT|PM_LIB|PM_DXXX|PM_CH) | 0x0002); 
 
    /* Per channel I/O transfer buffer size */ 
    public static final int  DXCH_XFERBUFSIZE=((PM_SHORT|PM_LIB|PM_DXXX|PM_CH) | 0x0003); 
 
    /* Per channel data receive buffer size */ 
    public static final int  DXCH_RXDATABUFSIZE=((PM_SHORT|PM_LIB|PM_DXXX|PM_CH) | 0x0004); 
 
    /* ASR Barge-in channel parameters */ 
    public static final int  DXCH_BARGEIN_RECFORMAT =  ((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x0212); 
    public static final int  DXCH_VADTIMEOUT        =  ((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x0213); 
    public static final int  DXCH_SPEECHSNR         =  ((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x0214); 
    public static final int  DXCH_SPEECHTHRESH      =  ((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x0215); 
    public static final int  DXCH_SPEECHPLAYTRIGG   =  ((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x0216); 
    public static final int  DXCH_SPEECHNONPLAYTRIGG=  ((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x0217); 
    public static final int  DXCH_SPEECHPLAYWINDOW  =  ((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x0218); 
    public static final int  DXCH_SPEECHNONPLAYWINDOW= ((PM_SHORT|PM_FW|PM_DXXX|PM_CH) | 0x0219); 
 
    /* DTMF Digit buffering modes */ 
    public static final int  DX_DIGCYCLIC  = 1;   /* Cyclic shift digits once buffer is full */ 
    public static final int  DX_DIGTRUNC   = 2;   /* Truncate digits once buffer is full */ 
 
    /* Channel I/O transfer buffer identifiers */ 
    public static final int  BUF_4K  = 0; 
    public static final int  BUF_8K  = 1; 
    public static final int  BUF_16K = 2; 
    public static final int  BUF_2K  = 4; 
    public static final int  BUF_1K  = 5; 
    public static final int  BUF_1_5K= 6; 
    public static final int  BUF_DFLT= BUF_8K; 
 
    /*  
     * Board Parameters 
     */ 
    /* Size of the ping-pong PLAY buffers on board */ 
    public static final int  DXBD_TXBUFSIZE =((PM_SHORT|PM_FW|PM_D12XDEV|PM_BD) | 0x00F6); 
 
    /* Size of the ping-pong RECORD buffers on board */ 
    public static final int  DXBD_RXBUFSIZE =((PM_SHORT|PM_FW|PM_D12XDEV|PM_BD) | 0x00F7); 
 
    /* Flash character in dial string */ 
    public static final int  DXBD_FLASHCHR  =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0301); 
 
    /* Init delay time */ 
    public static final int  DXBD_INITDLY   =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0302); 
         
    /* Min time of LC on for LPD */ 
    public static final int  DXBD_MINPDON   =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0303); 
 
    /* Min time of LC off for LPD */ 
    public static final int  DXBD_MINPDOFF  =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0304); 
 
    /* Length of DTMF digit for dialing*/ 
    public static final int  DXBD_TTDATA    =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0305); 
 
    /* Min time of silence on for APD */ 
    public static final int  DXBD_MINSLON   =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0306); 
 
    /* Min time for silence off for APD */ 
    public static final int  DXBD_MINSLOFF  =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0307); 
 
    /* Min time for dti signal on */ 
    public static final int  DXBD_MINTION   =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0308); 
 
    /* Min time for dti signal off*/  
    public static final int  DXBD_MINTIOFF  =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0309); 
 
    /* Edge of ring detection */ 
    public static final int  DXBD_R_EDGE    =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x030A); 
 
    /* Flash time during dialing */ 
    public static final int  DXBD_FLASHTM   =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0401); 
 
    /* Pause time during dialing */ 
    public static final int  DXBD_PAUSETM   =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0402); 
 
    /* Minimum off-hook time */ 
    public static final int  DXBD_MINOFFHKTM=((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0403); 
 
    /* Length of pulse dialing make */ 
    public static final int  DXBD_P_MK      =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0404); 
 
    /* Length of pulse dialing break */ 
    public static final int  DXBD_P_BK      =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0405); 
 
    /* Length of pulse inter digit delay*/ 
    public static final int  DXBD_P_IDD     =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0406); 
 
    /* Length of TT inter digit delay */ 
    public static final int  DXBD_T_IDD     =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0407); 
 
    /* Delay before offhook finished */ 
    public static final int  DXBD_OFFHDLY   =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0408); 
 
    /* Min time for ring detection*/ 
    public static final int  DXBD_R_ON      =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0409); 
 
    /* Min time for for the end of a ring*/ 
    public static final int  DXBD_R_OFF     =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x040A); 
 
    /* Max wait between rings */ 
    public static final int  DXBD_R_IRD     =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x040B); 
 
    /* Silence on and off debounce time */ 
    public static final int  DXBD_S_BNC     =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x040C); 
 
    /* Min interpulse digit time for LPD */ 
    public static final int  DXBD_MINIPD    =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x040D); 
 
    /* Min time of lc off before message*/ 
    public static final int  DXBD_MINLCOFF  =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x040E); 
 
    /* Max time for lc off for LPD */ 
    public static final int  DXBD_MAXPDOFF  =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x040F); 
 
    /* Min time for silence on for APD */ 
    public static final int  DXBD_MINISL    =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0410); 
 
    /* Max time for silence off for  APD */ 
    public static final int  DXBD_MAXSLOFF  =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0411); 
 
    /* Either a D/40 or D/41 */ 
    public static final int  DXBD_HWTYPE    =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0601); 
 
    /* Number of channels on board */ 
    public static final int  DXBD_CHNUM     =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0602); 
 
    /* System configuration */ 
    public static final int  DXBD_SYSCFG    =((PM_SHORT|PM_FW|PM_DXXX|PM_BD) | 0x0604); 
 
    /* 
     * NOTE: Must use PM_CH instead of PM_BD on MF40 paramters. 
     */ 
    /* Min time for MF detection */ 
    public static final int  DXBD_MFMINON  = ((PM_SHORT|PM_FW|PM_MF40|PM_CH) | 0x0101); 
 
    /* Duration of MF tone during dial */ 
    public static final int  DXBD_MFTONE   = ((PM_SHORT|PM_FW|PM_MF40|PM_CH) | 0x0102); 
 
    /* Inter-digit delay during MF dialing */ 
    public static final int  DXBD_MFDELAY  = ((PM_SHORT|PM_FW|PM_MF40|PM_CH) | 0x0103); 
 
    /* Duration of LKP tone during MF dialing */ 
    public static final int  DXBD_MFLKPTONE= ((PM_SHORT|PM_FW|PM_MF40|PM_CH) | 0x0104); 
 
    /* 
     * Board Parameter values 
     */ 
 
    /* 
     * When a rings received message is sent (BD_R_EDGE) 
     */ 
    public static final int  ET_RON     = 1;  /* At the beginning of the ring */ 
    public static final int  ET_ROFF    = 2;  /* At the end of the ring */ 
 
 
    /* 
     * Channel Mode values 
     */ 
    public static final int  MD_ADPCM   = 0x0000;   /* ADPCM data (the default) */ 
    public static final int  MD_PCM     = 0x0100;   /* Mu-Law PCM data */ 
    public static final int  MD_GAIN    = 0x0000;   /* AGC on */ 
    public static final int  MD_NOGAIN  = 0x1000;   /* AGC off */ 
    public static final int  PM_TONE    = 0x0001;   /* Tone initiated play/record */ 
    public static final int  RM_TONE    = PM_TONE; 
    public static final int  PM_SR6     = 0x2000;   /* 6KHz sampling rate (digitization) */ 
    public static final int  PM_SR8     = 0x4000;   /* 8KHz sampling rate (digitization) */ 
    public static final int  RM_SR6     = PM_SR6; 
    public static final int  RM_SR8     = PM_SR8; 
    public static final int  PM_ALAW    = 0x0020;   /* Play A-Law data         */ 
    public static final int  RM_ALAW    = PM_ALAW;  /* Record data using A-Law */ 
    public static final int  PM_DTINIT  = 0x0002;   /* Play with DTMF init */ 
    public static final int  RM_DTINIT   =PM_DTINIT;/* Record with DTMF init */ 
    public static final int  PM_DTINITSET=0x0010 | PM_DTINIT;/* Play with DTMF init set */ 
    public static final int  RM_DTINITSET=PM_DTINITSET;  /* Record with DTMF init set */ 
    public static final int  R2_COMPELDIG=0x0400;   /* R2MF Compelled signalling */ 
 
    /* 
     * dx_stopch modes 
     */ 
    public static final int  EV_NOSTOP  = 0x200;    /* Have dx_stopch queue an event if channel is idle */ 
 
    /* 
     * Channel modes for ADSI support 
     */ 
    public static final int  PM_RAW     = 0x0200;   /* Raw playback mode */ 
    public static final int  PM_ADSI    = 0x0080;   /* ADSI playback mode */ 
    public static final int  PM_ADSIALERT=PM_ADSI | PM_DTINITSET | PM_TONE; 
 
 
    public static final int  PM_NOREADWRITE= 0x0400;/* Don't perform read/writes */ 
    public static final int  PM_BARGEIN    = 0x1000;/* Enable bargein during playback */ 
 
 
    /*  
     * Alternate defines for DE_SILOF, DM_SILOF, DE_LCOF, DM_LCOF 
     */ 
    public static final int  DE_SILOFF  = DE_SILOF; 
    public static final int  DE_LCOFF   = DE_LCOF; 
    public static final int  DM_SILOFF  = DM_SILOF; 
    public static final int  DM_LCOFF   = DM_LCOF; 
 
 
    /* 
     * Define's for Mode Checking 
     */ 
    public static final int  MD_SELECT  = (MD_PCM);     
 
    public static final int  EV_ASYNC   = 0x8000; 
    public static final int  EV_SYNC    = 0x0000; 
 
 
    /* 
     * Raw Line Status Defines 
     */ 
    public static final int  RLS_SILENCE= 0x80; /* Sil Bit in Raw Line Status */ 
    public static final int  RLS_DTMF   = 0x40; /* DTMF Signal Bit in Raw Line Status */ 
    public static final int  RLS_LCSENSE= 0x20; /* Loop Current Sense Bit in Raw Line Status */ 
    public static final int  RLS_RING   = 0x10; /* Ring Detect Bit in Raw Line Status */ 
    public static final int  RLS_HOOK   = 0x08; /* Hook Switch Status Bit in Raw Line Status */ 
    public static final int  RLS_RINGBK = 0x04; /* Audible Ringback Detect Bit in Raw Line Status */ 
 
    // play 
    public static final int SR_6 = 0x2000; 
    public static final int SR_8 = 0x4000; 
    public static final int ALAW = 0x20; 
    public static final int RAW = 0x200; 
    public static final int TONE = 0x1; 
     
    /* 
     * Wave file support defines 
     */ 
    /* 
     * File formats 
     */ 
    public static final int FILE_FORMAT_VOX  =  1;     /* Dialogic VOX format */ 
    public static final int FILE_FORMAT_WAVE =  2;     /* Microsoft Wave format */ 
    public static final int FILE_FORMAT_NONE =  3;     /* No file being used */ 
     
    /* 
     * Sampling rate 
     */ 
    public static final int DRT_6KHZ          = 0x30;  /* 6KHz */ 
    public static final int DRT_8KHZ          = 0x40;  /* 8KHz */ 
    public static final int DRT_11KHZ         = 0x58;  /* 11KHz */ 
 
    /* 
     * Data format 
     */ 
    public static final int DATA_FORMAT_DIALOGIC_ADPCM = 0x1;   /* OKI ADPCM */ 
    public static final int DATA_FORMAT_ALAW           = 0x3;   /* alaw PCM  */ 
    public static final int DATA_FORMAT_G726	       = 0x4;	/* G.726     */ 
    public static final int DATA_FORMAT_MULAW          = 0x7;   /* mulaw PCM */ 
    public static final int DATA_FORMAT_PCM            = 0x8;   /* PCM       */ 
    public static final int DATA_FORMAT_G729A	       = 0x0C;	/* CELP coder */ 
    public static final int DATA_FORMAT_GSM610	       = 0x0D;	/* Microsoft GSM */ 
    public static final int DATA_FORMAT_FFT            = 0xFF;  /* fft data  */ 
 
    /* 
     * Defines for for channel state values 
     */ 
    public static final int  CS_IDLE    = 1;  /* Channel is idle */ 
    public static final int  CS_PLAY    = 2;  /* Channel is playing back */ 
    public static final int  CS_RECD    = 3;  /* Channel is recording */ 
    public static final int  CS_DIAL    = 4;  /* Channel is dialing */ 
    public static final int  CS_GTDIG   = 5;  /* Channel is getting digits */ 
    public static final int  CS_TONE    = 6;  /* Channel is generating a tone */ 
    public static final int  CS_STOPD   = 7;  /* Operation has terminated */ 
    public static final int  CS_SENDFAX = 8;  /* Channel is sending a fax */ 
    public static final int  CS_RECVFAX = 9;  /* Channel is receiving a fax */ 
    public static final int  CS_CALL    = 13; /* Channel is Call Progress Mode */ 
    public static final int  CS_GETR2MF = 14; /* Channel is Getting R2MF */ 
    public static final int  CS_BLOCKED = 16; /* Channel is blocked */ 
     
    /* 
     * Error Codes Specific to caller ID 
     */ 
    public static final int  EDX_CLIDINFO = 0x80;  /* caller ID info/sub-msg not available */ 
    public static final int  EDX_CLIDBLK  = 0x81;  /* caller ID private ('P') or blocked   */ 
    public static final int  EDX_CLIDOOA  = 0x82;  /* caller ID out of area ('O')          */ 
    public static final int  EDX_CLIDPUB  = 0x83;  /* caller ID public phone ('C')	   */ 
    public static final int  EDX_CLIDPLAN = 0x84;  /* caller ID unknown plan ('S')	   */ 
 
    /* 
     * Equates for generic caller ID message type IDs  
     */ 
 
    public static final int  CLIDINFO_CMPLT    =    0x100;   /* complete caller ID message   */ 
    public static final int  CLIDINFO_GENERAL  =    0x101;   /* date,time,phone #,name       */ 
    public static final int  CLIDINFO_CALLID   =    0x102;   /* caller ID                    */ 
    public static final int  CLIDINFO_FRAMETYPE=    0x103;   /* see frame type equates       */ 
 
    /* 
     * Equates for CLASS 
     */ 
    public static final int  CLASSFRAME_SDM    =    0x04;    /* Single Data Message caller ID frame   */ 
    public static final int  CLASSFRAME_MDM    =    0x80;    /* Multiple Data Message caller ID frame */ 
     
    /* CLASS MDM message IDs */ 
    public static final int  MCLASS_DATETIME   =    0x01;    /* date and time w/o ('/' & ':')    */ 
    public static final int  MCLASS_DN         =    0x02;    /* calling line directory number    */ 
    public static final int  MCLASS_DDN        =    0x03;    /* dialed number                    */ 
    public static final int  MCLASS_ABSENCE1   =    0x04;    /* caller ID absence: 'O' or 'P'    */ 
    public static final int  MCLASS_REDIRECT   =    0x05;    /* call frwd-universal,busy,or unanswered */ 
    public static final int  MCLASS_QUALIFIER  =    0x06;    /* 'L' for long distance            */ 
    public static final int  MCLASS_NAME       =    0x07;    /* caller name                      */ 
    public static final int  MCLASS_ABSENCE2   =    0x08;    /* name absence- 'O' or 'P'         */ 
 
    /* 
     * Equates for CLIP 
     */ 
    public static final int  CLIPFRAME_MDM     =    0x80;    /* Multiple Data Message caller ID frame */ 
 
    /* CLIP message IDs */ 
    public static final int  CLIP_DATETIME     =    0x01;    /* date and time (w/o '/' & ':')    */ 
    public static final int  CLIP_DN           =    0x02;    /* calling line directory number    */ 
    public static final int  CLIP_DDN          =    0x03;    /* dialed number                    */ 
    public static final int  CLIP_ABSENCE1     =    0x04;    /* caller ID absence: 'O' or 'P'    */ 
    public static final int  CLIP_NAME         =    0x07;    /* caller name                      */ 
    public static final int  CLIP_ABSENCE2     =    0x08;    /* name absence- 'O' or 'P'         */ 
    public static final int  CLIP_CALLTYPE     =    0x11;    /* voice call,rng-bck-when-free call or msg waiting call */ 
    public static final int  CLIP_NETMSG       =    0x13;    /* no. of message waiting             */ 
 
    /* 
     * Equates for A-CLIP 
     */ 
    public static final int  ACLIPFRAME_SDM    =    0x04;    /* Single Data Message caller ID frame   */ 
    public static final int  ACLIPFRAME_MDM    =    0x80;    /* Multiple Data Message caller ID frame */ 
 
    /* A-CLIP MDM message IDs */ 
    public static final int  MACLIP_DATETIME   =    0x01;    /* date and time (w/o '/' & ':')    */ 
    public static final int  MACLIP_DN         =    0x02;    /* calling line directory number    */ 
    public static final int  MACLIP_DDN        =    0x03;    /* dialed number                    */ 
    public static final int  MACLIP_ABSENCE1   =    0x04;    /* caller ID absence: 'O' or 'P'    */ 
    public static final int  MACLIP_REDIRECT   =    0x05;    /* call frwd-universal,busy,or unanswered */ 
    public static final int  MACLIP_QUALIFIER  =    0x06;    /* 'L' for long distance            */ 
    public static final int  MACLIP_NAME       =    0x07;    /* caller name                      */ 
    public static final int  MACLIP_ABSENCE2   =    0x08;    /* name absence- 'O' or 'P'         */ 
 
    /* 
     * Equates for Japan Caller ID  JCLIP 
     */ 
    public static final int  JCLIPFRAME_MDM    =    0x40;    /* Multiple Data Message caller ID frame */ 
    public static final int  JCLIP_DN          =    0x02;    /* calling line directory number    */ 
    public static final int  JCLIP_DDN         =    0x09;    /* dialed number                    */ 
    public static final int  JCLIP_ABSENCE1    =    0x04;    /* caller ID absence: 'O' or 'P'    */ 
    public static final int  JCLIP_ABSENCE2    =    0x08;    /* name absence- 'O' or 'P'         */ 
 
// DT 
/* 
 * Events for dt_setevtmsk() and dt_getevtmsk() 
 */ 
public static final int DTG_T1ERREVT =0x01;         /* T1 error event */ 
public static final int DTG_E1ERREVT =DTG_T1ERREVT; /* E1 error event */ 
public static final int DTG_SIGEVT   =0x02;         /* Signaling bit event */ 
public static final int DTG_PDIGEVT  =0x03;         /* Pulse digit event */ 
 
/* 
 * Action values for dt_setevtmsk() and dt_settssig() functions 
 */ 
public static final int DTA_SETMSK   =0;      /* set all mask bits & clear all others */ 
public static final int DTA_ADDMSK   =1;      /* set all mask bits & ignore all others */ 
public static final int DTA_SUBMSK   =2;      /* clr all mask bits & ignore all others */ 
 
/* 
 * Signaling bit flags 
 */ 
public static final int DTB_ABIT   =0x01;                   /* A bit flag */ 
public static final int DTB_BBIT   =0x02;                   /* B bit flag */ 
public static final int DTB_CBIT   =0x04;                   /* C bit flag */ 
public static final int DTB_DBIT   =0x08;                   /* D bit flag */ 
public static final int DTC_ABIT   =0x10;                   /* A bit changed */ 
public static final int DTC_BBIT   =0x20;                   /* B bit changed */ 
public static final int DTC_CBIT   =0x40;                   /* C bit changed */ 
public static final int DTC_DBIT   =0x80;                   /* D bit changed */ 
public static final int DTB_AON   =(DTC_ABIT | DTB_ABIT);   /* A bit SET */ 
public static final int DTB_AOFF   =DTC_ABIT;               /* A bit CLEAR */ 
public static final int DTB_BON   =(DTC_BBIT | DTB_BBIT);   /* B bit SET */ 
public static final int DTB_BOFF   =DTC_BBIT;               /* B bit CLEAR */ 
public static final int DTB_CON   =(DTC_CBIT | DTB_CBIT);   /* C bit SET */ 
public static final int DTB_COFF   =DTC_CBIT;              /* C bit CLEAR */ 
public static final int DTB_DON   =(DTC_DBIT | DTB_DBIT);   /* D bit SET */ 
public static final int DTB_DOFF   =DTC_DBIT;               /* D bit CLEAR */ 
/* 
 *--------Message Mask equates. 
 */ 
public static final int DTMM_AON   =(DTC_ABIT | DTB_ABIT);   /* Mask for A went to on msgs. */ 
public static final int DTMM_AOFF  =(DTC_ABIT | 0x0100);     /* Mask for A went to off msgs. */ 
public static final int DTMM_BON   =(DTC_BBIT | DTB_BBIT);   /* Mask for B went to on msgs. */ 
public static final int DTMM_BOFF  =(DTC_BBIT | 0x0200);     /* Mask for B went to off msgs. */ 
public static final int DTMM_CON   =(DTC_CBIT | DTB_CBIT);   /* Mask for C went to on msgs. */ 
public static final int DTMM_COFF  =(DTC_CBIT | 0x0400);     /* Mask for C went to off msgs. */ 
public static final int DTMM_DON   =(DTC_DBIT | DTB_DBIT);   /* Mask for D went to on msgs. */ 
public static final int DTMM_DOFF  =(DTC_DBIT | 0x0800);     /* Mask for D went to off msgs. */ 
public static final int DTMM_WINK   =0x1000;                 /* Mask for A bit wink msgs. */ 
 
/* 
 *-------Global parameter entry numbers. 
 */ 
public static final int  DTG_MINPDON   =0x00;      /* Minimum pulse dial reception on. */ 
public static final int  DTG_MINPDOFF  =0x01;      /* Minimum pulse dial reception off. */ 
public static final int  DTG_MAXPDOFF  =0x02;      /* Maximum interdigit reception delay. */ 
public static final int  DTG_MINIPD    =0x03;      /* Maximum pulse digit reception off. */ 
public static final int  DTG_P_MK      =0x04;      /* Send pulse make time. */ 
public static final int  DTG_P_BK      =0x05;      /* Send pulse break time. */ 
public static final int  DTG_P_IDD     =0x06;      /* Send pulse interdigit delay. */ 
public static final int  DTG_PDDLFTIM  =0x07;      /* Flash time. */ 
public static final int  DTG_PDFLASH   =0x08;      /* Flash character. */ 
public static final int  DTG_CABTYPE   =0x09;      /* Cable type (LIU). */ 
public static final int  DTG_OOFMAX    =0x0A;      /* Out of frame errors, maximum (<=15). */ 
public static final int  DTG_FECRMAX   =DTG_OOFMAX;/* Max FECR error count (<=255) */ 
public static final int  DTG_ESECMAX   =0x0B;      /* Extended superframe Err. cnt max <=15. */ 
public static final int  DTG_FECSMAX   =0x0B;      /* Frame error count saturation. */ 
public static final int  DTG_BPVCMAX   =0x0C;      /* Bipolar violation count max <=255. */ 
public static final int  DTG_RDEBON    =0x0D;      /* Receive debounce on value, in 10ms units. */ 
public static final int  DTG_RDEBOFF   =0x0E;      /* Receive debounce off value,in 10ms units. */ 
public static final int  DTG_PCDEAD    =0x0F;      /* Signalling dead parameter. */ 
public static final int  DTG_RCVTOL    =0x10;      /* Low word of rcv timeout (& ack). */ 
public static final int  DTG_RCVTOH    =0x11;      /* Hi byte of 3 byte rcv & ack timeout. */ 
public static final int  DTG_CODESUPR  =0x12;      /* Suppression value (b8zs,bit7 or tran) */ 
public static final int  DTG_WINKMAX   =0x13;      /* Wink time, in 10ms units. */ 
public static final int  DTG_REDTIME   =0x14;      /* RLOS -> red alarm transition time. */ 
public static final int  DTG_RCOVRTM   =0x15;      /* Red alarm recovery time. */ 
public static final int  DTG_PDPSTIM   =0x16;      /* Pulse dialing pause time */ 
public static final int  DTG_WINKMIN   =0x17;      /* Wink time, in 10ms units. */ 
public static final int  DTG_WINKLEN   =0x18;      /* Wink length(xmt), in 10ms units. */ 
public static final int  DTG_PREWINK   =0x19;      /* Pre-wink delay in 10ms units. */ 
public static final int  DTG_CRCENABL  =0x1A;      /* CRC4 switch (ENABLE or DISABLE) */ 
public static final int  DTG_CECRMAX   =0x1B;      /* Max CRC4 error count <= 255. */ 
public static final int  DTG_ECRRSTTM  =0x1C;      /* Err cnt register reset time in 100ms unts */ 
public static final int  DTG_RXTXIDLE  =0x1D;      /* Receive & Trnsmit idle patterns */ 
public static final int  DTG_SEIZESIG  =0x1E;      /* Line Seizure and Response */ 
public static final int  DTG_DVPRMMAX  =0x1E;      /* Max value of device parameter */ 
 
public static final int  DTG_SETCLK    =0x80;      /* Set the clock source. */ 
public static final int  DTG_SETBDMD   =0x81;      /* Set the mode. */ 
public static final int  DTG_IDLTYP    =0x82;      /* Set the idle type. */ 
public static final int  DTG_DSERRC    =0x83;      /* Disable error condition mask */ 
public static final int  DTG_ENERRC    =0x84;      /* Enable the error condition mask. */ 
/* 
 * E1 Error Conditions  
 */ 
public static final int DTE1_LOS       =0x01;   /* Received loss of signal */ 
public static final int DTE1_DPM       =0x02;   /* Driver performance monitor failure */ 
public static final int DTE1_BPVS      =0x03;   /* Bipolar violation count saturation. */ 
public static final int DTE1_ECS       =0x04;   /* Error count saturation */ 
public static final int DTE1_RRA       =0x05;   /* Received remote alarm */ 
public static final int DTE1_FSERR     =0x07;   /* Received frame sync error */ 
public static final int DTE1_RUA1      =0x09;   /* Received unframed all 1's */ 
public static final int DTE1_RLOS      =0x0A;   /* Received loss of sync */ 
public static final int DTE1_MFSERR    =0x0C;   /* Received multi frame sync error */ 
public static final int DTE1_RSA1      =0x0D;   /* Received signalling all 1's */ 
public static final int DTE1_RDMA      =0x0E;   /* Received distant multi-frame alarm */ 
public static final int DTE1_CECS      =0x0F;   /* CRC4 error count saturation */ 
 
public static final int DTE1_LOSOK     =0x11;   /* Received loss of signal recovered */ 
public static final int DTE1_DPMOK     =0x12;   /* Driver perf. monitor failure recovered */ 
public static final int DTE1_BPVSOK    =0x13;   /* Bipolar violation cnt saturation recovered */ 
public static final int DTE1_ECSOK     =0x14;   /* Error count saturation recovered */ 
public static final int DTE1_RRAOK     =0x15;   /* Received remote alarm recovered */ 
public static final int DTE1_FSERROK   =0x17;   /* Received frame sync error recovered */ 
public static final int DTE1_RUA1OK    =0x19;   /* Received unframed all 1's recovered */ 
public static final int DTE1_RLOSOK    =0x1A;   /* Received loss of sync recovered */ 
public static final int DTE1_MFSERROK  =0x1C;   /* Received multi frame sync error recovered */ 
public static final int DTE1_RSA1OK    =0x1D;   /* Received signalling all 1's recovered */ 
public static final int DTE1_RDMAOK    =0x1E;   /* Recved. dist. multi-frame alarm recovered */ 
public static final int DTE1_CECSOK    =0x1F;   /* CRC4 error count saturation recovered */ 
 
/* 
 *-------Masks for enabling and disabling error conditions. 
 */ 
public static final int  DTEC_OOF      =0x8000;   /* OOF condition mask */ 
public static final int  DTEC_LOS      =0x0100;   /* Loss of Signal. */ 
public static final int  DTEC_DPM      =0x0200;   /* Driver perf. mon. restored. */ 
public static final int  DTEC_BPVS     =0x0080;   /* Bipolar violation count saturation. */ 
public static final int  DTEC_BVCS     =0x0080;   /* Bipolar violation count saturation. */ 
public static final int  DTEC_ECS      =0x0040;   /* Error count saturation. */ 
public static final int  DTEC_RYEL     =0x0020;   /* Receive yellow alarm. */ 
public static final int  DTEC_RCL      =0x0010;   /* Receive carrier loss. */ 
public static final int  DTEC_RCLX     =0x0010;   /* Receive carrier loss. */ 
public static final int  DTEC_FERR     =0x0008;   /* Frame bit error. */ 
public static final int  DTEC_B8ZSD    =0x0004;   /* Bipolar eight zero subs detection. */ 
public static final int  DTEC_RBL      =0x0002;   /* Receive blue alarm. */ 
public static final int  DTEC_RLOS     =0x0001;   /* Receive loss of sync. */ 
public static final int  DTEC_RED      =0x0400;   /* Red alarm condition */ 
 
public static final int  DEEC_LOS      =0x0100;   /* Loss of signal notification */ 
public static final int  DEEC_DPM      =0x0200;   /* Driver performance monitor */ 
public static final int  DEEC_BPVS     =0x0080;   /* Bipolar violation count saturation. */ 
public static final int  DEEC_ECS      =0x0040;   /* Error count saturation notification */ 
public static final int  DEEC_RRA      =0x0020;   /* Receive remote alarm notification */ 
public static final int  DEEC_FSERR    =0x0008;   /* Receive frame sync error notification */ 
public static final int  DEEC_RUA1     =0x0002;   /* Receive unframed all 1's notification */ 
public static final int  DEEC_RLOS     =0x0001;   /* Receive loss of sync notification */ 
public static final int  DEEC_MFSERR   =0x0800;   /* Multi-frame sync error notification */ 
public static final int  DEEC_RSA1     =0x1000;   /* Receive signalling all 1's notification */ 
public static final int  DEEC_RDMA     =0x2000;   /* Receive distant multi-frame alarm */ 
public static final int  DEEC_CECS     =0x4000;   /* CRC4 error count saturation */ 
 
/* 
 *--------Clocking values. 
 */ 
public static final int  DTC_NOCLK     =0x00;      /* No clocking. */ 
public static final int  DTC_LOOP      =0x01;      /* Loop timing. */ 
public static final int  DTC_EXT       =0x02;      /* Clock from the expansion bus. */ 
public static final int  DTC_IND       =0x03;      /* 1.544 Mhz - independant timing. */ 
public static final int  DTC_MAX       =0x03;      /* Maximum clock value. */ 
 
/* 
 *-------Board modes. 
 */ 
public static final int  DTMD_NORMAL   =0x00;      /* Normal mode. */ 
public static final int  DTMD_XCVRLB   =0x01;      /* Tranceiver local loop back mode. */ 
public static final int  DTMD_LIULLB   =0x02;      /* LIU local loop back mode. */ 
public static final int  DTMD_LIURLB   =0x03;      /* LIU remote loop back mode. */ 
public static final int  DTMD_MAX      =0x03; 
 
/* 
 * Device Parameters for ms_setbrdparm 
 */ 
public static final int   MSG_RING         =0x06;	/* (non)Ringing Board indicator */ 
public static final int   MSG_DBONTM       =0x22;   /* Debounce on time */ 
public static final int   MSG_DBOFFTM      =0x23;   /* Debounce off time */ 
public static final int   MSG_MINFLASH     =0x24;   /* Minimum flash hook time */ 
public static final int   MSG_MAXFLASH     =0x25;   /* Maximum flash hook time */ 
public static final int   MSG_CLKMODE      =0x26;   /* Clk Mode */ 
public static final int   MSG_ZIPENA       =0x27;   /* Zip Tone */ 
public static final int   MSG_RNGCAD       =0x31;   /* Ring Cadence */ 
public static final int   MSG_ACTID        =0x32;   /* Enable/Disable Active Talker  */ 
public static final int   MSG_VOLDIG       =0x33;   /* Volume Control Digits         */ 
public static final int   MSG_UDRNGCAD     =0x31;   /* User-Defined Ring Cadence */ 
public static final int   MSG_PDRNGCAD     =0x34;   /* Pre-Defined Ring Cadence */ 
public static final int   MSG_DISTINCTRNG  =0x35;   /* Multiple Ring Cadence */ 
public static final int   MSG_RESTBL       =0x50;   /* Conf.Table Update Event Parm */  
 
public static final int   ZIP_ON	   =0x01;   /* ziptone enable */ 
public static final int   ZIP_OFF	   =0x00;   /* ziptone disable */ 
 
public static final int   MTF_RING	   =0x8a;   /* Stop Ringing */ 
 
 
public static final int   MS_ONHOOK        =0x00;   /* On Hook */ 
public static final int   MS_OFFHOOK       =0x10;   /* Off Hook */ 
 
/* 
 * Message mask and event equates 
 */ 
 
public static final int   MSMM_OFFHOOK     =0x0011; /* Mask for channel went off hook */ 
public static final int   MSMM_RNGOFFHK    =0x0004; /* Solicited off hook */ 
public static final int   MSMM_RNGSTOP     =0x0020; /* User stopped ringing by stopfn() cmd */ 
public static final int   MSMM_ONHOOK      =0x0110; /* Mask for channel went on hook */ 
public static final int   MSMM_HOOKFLASH   =0x1000; /* Mask for hook flash detection */ 
public static final int   MSMM_TERM        =0x8000; /* Mask for ring termination */ 
public static final int   MSMM_FIRSTRING   =0x0040; /* Mask for first ring off 
 
/* 
 * Bit masks for conference attributes 
 */ 
public static final int MSCA_NULL    = 0x00;   /* Normal Attribute */ 
public static final int MSCA_ND      = 0x01;   /* Notify-on-Add mode */ 
public static final int MSCA_NN      = 0x02;   /* Do not notify if party joins in RO or monitor */ 
 
/* 
 * Masks for 'party number' field of establish conference msg or 
 * remove/add to conference msg. 
 */ 
public static final int MSPN_TS    = 0x10;   /* Party is time slot */ 
 
/* 
 * Bit masks for party attributes 
 */ 
public static final int MSPA_NULL   = 0x00;   /* No attributes */  
public static final int MSPA_RO     = 0x01;   /* Receive-only (monitor) mode */ 
public static final int MSPA_TARIFF = 0x02;   /* Tariff Notification */ 
public static final int MSPA_DIG    = 0x04;   /* Digital Front End */ 
public static final int MSPA_COACH  = 0x08;   /* Coach */ 
public static final int MSPA_PUPIL  = 0x10;   /* Pupil */ 
public static final int MSPA_NOAGC  = 0x20;   /* Disable AGC */ 
public static final int MSPA_TALKING= 0x80;   /* party is talking - not a dialogic def! */ 
 
/* Defines for DCB DTMF detection bitmask elements */ 
public static final int   CBMM_ZERO               =0x0001; 
public static final int   CBMM_ONE                =0x0002; 
public static final int   CBMM_TWO                =0x0004; 
public static final int   CBMM_THREE              =0x0008; 
public static final int   CBMM_FOUR               =0x0010; 
public static final int   CBMM_FIVE               =0x0020; 
public static final int   CBMM_SIX                =0x0040; 
public static final int   CBMM_SEVEN              =0x0080; 
public static final int   CBMM_EIGHT              =0x0100; 
public static final int   CBMM_NINE               =0x0200; 
public static final int   CBMM_STAR               =0x0400; 
public static final int   CBMM_POUND              =0x0800; 
public static final int   CBMM_A                  =0x1000; 
public static final int   CBMM_B                  =0x2000; 
public static final int   CBMM_C                  =0x4000; 
public static final int   CBMM_D                  =0x8000; 
public static final int   CBMM_ALL                =0xFFFF; 
 
/* 
 * ISDN RATE types 
 */ 
public static final int CCR_CHARGE      =   0x0000;      /* charge call (default)            */ 
public static final int CCR_NOCHARGE    =   0x0100;      /* do not charge call               */ 
 
 
/* 
 * STATES 
 */ 
public static final int CCST_NULL        =  0; 
public static final int CCST_OFFERED     =  1; 
public static final int CCST_ACCEPTED    =  2; 
public static final int CCST_CONNECTED   =  3; 
public static final int CCST_DIALING     =  4; 
public static final int CCST_ALERTING    =  6; 
public static final int CCST_DISCONNECTED=  7; 
public static final int CCST_IDLE        =  8; 
public static final int CCST_HOLD        =  13; 
 
/* 
 * Non-Call state related message 
 */ 
public static final int SndMsg_Information   =  0x0F; 
public static final int SndMsg_Congestion    =  0x0B; 
public static final int SndMsg_UsrInformation=  0x07; 
public static final int SndMsg_Facility      =  0x08; 
public static final int SndMsg_FacilityACK   =  0x09; 
public static final int SndMsg_FacilityREJ   =  0x0A; 
public static final int SndMsg_Notify        =  0x0C; 
 
public static final int SndMsg_Divert         = 0x10; 
public static final int SndMsg_Intrude        = 0x11; 
public static final int SndMsg_NSI            = 0x12; 
public static final int SndMsg_Transfer       = 0x13; 
public static final int SndMsg_Transit        = 0x14; 
 
public static final int SndMsg_Drop           = 0x15; 
public static final int SndMsg_DropAck        = 0x16; 
public static final int SndMsg_DropRej        = 0x17; 
public static final int SndMsg_Redirect       = 0x18; 
 
/***************************************************************************** 
*                  Event Mask Action value 
*****************************************************************************/ 
public static final int CCACT_SETMSK =0x01;   /* Enable notification of events specified in 
                               bitmask and disable notification of previously 
                               set events. */ 
public static final int CCACT_ADDMSK =0x02;   /* Enable notification of events specified in 
                               bitmask in addition to previously set events.*/ 
public static final int CCACT_SUBMSK =0x03;   /* Disable notification of events specified 
                               in bitmask */ 
 
/* bit mask for ISDN_SETMM, ISDN_GETMM, and ISDN_RETMM commands */ 
public static final int CCMSK_ALERT       = 0x01; 
public static final int CCMSK_PROCEEDING  = 0x04; 
public static final int CCMSK_PROGRESS    = 0x08; 
public static final int CCMSK_SETUP_ACK   = 0x20; 
public static final int CCMSK_TERMINATE   = 0x40; 
public static final int CCMSK_CALLACK_SEND= 0x80; 
public static final int CCMSK_PROC_SEND   = 0x80; 
 
/* 
 *   Defines associated with the ISDN Parameters. 
 */ 
 
public static final int BC_XFER_CAP           = 0x403; 
public static final int BC_XFER_MODE          = 0x404; 
public static final int BC_INFO_MODE          = 0x404; 
public static final int BC_XFER_RATE          = 0x405; 
public static final int USRINFO_LAYER1_PROTOCOL= 0x406; 
public static final int USR_RATE              = 0x407; 
public static final int CALLED_NUM_TYPE       = 0x7003; 
public static final int CALLED_NUM_PLAN       = 0x7004; 
public static final int CALLING_NUM_TYPE      = 0x6c03; 
public static final int CALLING_NUM_PLAN      = 0x6c04; 
public static final int CALLING_PRESENTATION  = 0x6c05; 
public static final int CALLING_SCREENING     = 0x6c06; 
public static final int RECEIVE_INFO_BUF      = 0x789A; 
public static final int MAX_RECEIVE_INFO_BUF_NO= 160; 
public static final int MAX_SEQ_LOOP	       = 29; 
public static final int RELEASE_CAUSE          = 0x804; 
 
/* 
 * D4J's own 
 */ 
 
public static int debug = 0x00; 
public static final int DEBUG_EVSRC = 1; 
public static final int DEBUG_EVDST = 2; 
public static final int DEBUG_VFNS = 4; 
public static final int DEBUG_IOTT = 8; 
public static final int DEBUG_GC = 16; 
public static final int DEBUG_WKTHR = 32; 
public static final int DEBUG_STATION = 64; 
public static final int DEBUG_CHANNEL = 128; 
public static final int DEBUG_CONFERENCE = 256; 
public static final int DEBUG_ISDN = 512; 
 
    static { 
        System.runFinalizersOnExit(true); 
        System.loadLibrary("Dialogic"); 
        sr_libinit(); 
        dx_libinit(); 
        dt_libinit(); 
        dcb_libinit(); 
        ms_libinit(); 
    } 
     
}