⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 isdnchannel.java

📁 著名的dialogic电话语音卡的java驱动程序,已经验证可用。
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
// local.dialogic.ISDNChannel
// Implements ISDN functionality
// $Id: ISDNChannel.java,v 1.7 2003/11/13 11:47:22 cgm8 Exp $
/* 
 * 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 ISDNChannel extends Channel implements Runnable {

    // Constants
    private static final int RESET = 0; // NULL 
    private static final int IDLE = 1; // Aka UNBLOCKED
    private static final int ICALL = 2;// OFFERED
    private static final int RINGS = 3;// ACCEPTED
    private static final int IN = 4;   // CONNECTED incoming
    private static final int OFFH = 5; // DIALING
    private static final int DIAL = 6; // ALERTING
    private static final int OUT = 7;  // CONNECTED outgoing
    
    // Constants from elsewhere
/*
 * Single-byte Codeset 0 information elements
 */
    public static final int CODESET_SHIFT_IE         = 0x90;  /* Codeset shift - Type 1 */
    public static final int MORE_DATA_IE             = 0xA0;  /* More data - Type 2 */
    public static final int SENDING_COMPLETE_IE      = 0xA1;  /* Send complete - Type 2 */
    public static final int CONGEST_LEVEL_IE         = 0xB0;  /* Congestion level - Type 1 */
    public static final int REPEAT_IND_IE            = 0xD0;  /* Repeat indicator - Type 1 */   

/*                                    
 * Multi-byte Codeset 0 information elements
 */
    public static final int SEGMENTED_MSG_IE         = 0x00;  /* Segmented message */
    public static final int CHANGE_STATUS_IE         = 0x01;  /* Change status maint. ie */
    public static final int BEARER_CAPABILITY_IE     = 0x04;  /* Bearer capability */
    public static final int CAUSE_IE                 = 0x08;  /* Cause elem */
    public static final int CONNECTED_NUM_IE         = 0x0C;  /* Connected number */

    public static final int CALL_IDENT_IE            = 0x10;  /* Call identity */
    public static final int CALL_STATE_IE            = 0x14;  /* Call state */
    public static final int CHANNEL_ID_IE            = 0x18;  /* Channel identification */
    public static final int FACILITY_IE              = 0x1C;  /* Facility element */
    public static final int PROGRESS_IND_IE          = 0x1E;  /* Progress indicator */

    public static final int NETWORK_FACILITY_IE      = 0x20;  /* Network-specific facility */
    public static final int NATIONAL_FACILITY_IE     = NETWORK_FACILITY_IE;      /* VN3 element */
    public static final int ENDPOINT_ID_IE           = 0x26;  /* Endpoint Identification */
    public static final int NOTIFY_IND_IE            = 0x27;  /* Notification indicator */
    public static final int DISPLAY_IE               = 0x28;  /* Display element */
    public static final int TIME_DATE_IE             = 0x29;  /* Time/Date element */
    public static final int KEYPAD_FACILITY_IE       = 0x2C;  /* Keypad facility */

/*
 * Values used in CHAN_STATUS message.
 */
    public static final int CHAN_STATUS_IE           = 0x30;  /* Channel status */

/*
 * Values used in STATUS_UPDATE message
 */
    public static final int UPDATE_IE                = 0x31;  /* update info */

    public static final int CONGESTION_IE            = 0x31;  /* Channel status */

    public static final int INFO_REQ_IE              = 0x32;  /* Information request */
    public static final int SIGNAL_IE                = 0x34;  /* Signal element */
    public static final int SWITCHHOOK_IE            = 0x36;  /* Switchhook element */
    public static final int FEATURE_ACTIV_IE         = 0x38;  /* Feature activation */
    public static final int FEATURE_IND_IE           = 0x39;  /* Feature indication */

    public static final int INFO_RATE_IE             = 0x40;  /* Information rate */
    public static final int TRANSIT_DELAY_EE_IE      = 0x42;  /* End to end transit delay */
    public static final int TRANSIT_DELAY_SEL_IE     = 0x43;  /* Transit delay select & indic */
    public static final int PACKET_BIN_PARMS_IE      = 0x44;  /* Packet layer binary parameters */
    public static final int PACKET_WINDOW_IE         = 0x45;  /* Packet layer window size */
    public static final int PACKET_SIZE_IE           = 0x46;  /* Packet size */

    public static final int CALLER_NUMBER_IE         = 0x6C;  /* Calling party number */
    public static final int CALLER_SUB_ADDR_IE       = 0x6D;  /* Calling party sub-address */

    public static final int CALLED_NUMBER_IE         = 0x70;  /* Called party number */
    public static final int CALLED_SUB_ADDR_IE       = 0x71;  /* Called party sub-address */
    public static final int ORIGINAL_CALLED_NUM_IE   = 0x73;  /* Original Called Number */
    public static final int REDIRECTING_NUM_IE       = 0x74;  /* Redirecting number */
    public static final int REDIRECTION_NUM_IE       = 0x76;  /* Redirection number */
    public static final int TRANSIT_NETWORK_SEL_IE   = 0x78;  /* Transit network selection */
    public static final int RESTART_IND_IE           = 0x79;  /* Re-start indication */
    public static final int USER_USER_FAC_IE         = 0x7A;  /* User-to-user facility */
    public static final int LOW_LAYER_COMPAT_IE      = 0x7C;  /* Low layer compatibility */
    public static final int HIGH_LAYER_COMPAT_IE     = 0x7D;  /* High layer compatibility */
    public static final int USER_USER_IE             = 0x7E;  /* User-to-User */
    public static final int ESCAPE_FOR_EXT_IE        = 0x7F;  /* Escape for extension */

    public static final int LOCKING_SHIFT_TO_6       = 0x96;  /* for VerifyIEs function */
    public static final int CODESET_6_UNLOCKED       = 0x86;  /* for VerifyIEs function */
    public static final int CODESET_6_LOCKED         = 0x06;  /* for VerifyIEs function */

    public static final int ADVICE_OF_CHARGE_IE      = 0x01;  /* NTT-KDD advice of charge */
                                 
/*
 * Equates for supported value of Information Element
 */

/*
 *     Calling party number element
 */
    public static final int ISDN_PI_RESTRICT         = 0x01;  /* presentation indicator - restricted */
    public static final int ISDN_PI_NOTAVAIL         = 0x02;  /* presentation indicator - not avail */
    public static final int ISDN_PI_RESRV            = 0x03;  /* presentation indicator - reserved  */
    public static final int ISDN_SI_USRVERSCRN       = 0x01;  /* screening indicator - verified and passed */
    public static final int ISDN_SI_USRVERFAIL       = 0x02;  /* screening indicator - verified and failed */
    public static final int ISDN_SI_NET              = 0x03;  /* screening indicator - network provided */

/*
 *     Congestion Level element
 */
    public static final int ISDN_RCV_READY           = 0x00;  /* ready to receive more user to user info */
    public static final int ISDN_RCV_NOT_READY       = 0x01;  /* not ready to receive more user to user info */

/*
 *     Network-Specific facility element
 */
    public static final int ISDN_FEATURE             = 0x00;  /* feature/service - feature */
    public static final int ISDN_SERVICE             = 0x01;  /* feature/service - service */
    public static final int ISDN_CPN_PREF            = 0x01;  /* facility coding - CPN perferred */
    public static final int ISDN_BN_PREF             = 0x02;  /* facility coding - BN preferred */
    public static final int ISDN_CPN                 = 0x03;  /* facility coding - CPN */
    public static final int ISDN_BN                  = 0x04;  /* facility coding - BN */
                                 
    public static final int ISDN_SDN                 = 0x01;  /* service coding - SDN */
    public static final int ISDN_MEGACOM800          = 0x02;  /* service coding - MEGACOM 800 */
    public static final int ISDN_MEGACOM             = 0x03;  /* service coding - MEGACOM */
    public static final int ISDN_WATS                = 0x04;  /* service coding - WATS */
    public static final int ISDN_TIE                 = 0x05;  /* service coding - TIE */
    public static final int ISDN_ACCUNET             = 0x06;  /* service coding - ACCUNET SDS */
    public static final int ISDN_LONG_DS             = 0x07;  /* service coding - Long distance */
    public static final int ISDN_INT_800             = 0x08;  /* service coding - internation 800 */
    public static final int ISDN_CA_TSC              = 0x09;  /* service coding - CA TSC */
    public static final int ISDN_ATT_MULTIQ          = 0x10;  /* service coding - ATT MultiQuest */
    public static final int ISDN_TNID_USER           = 0x00;  /* network id type - user specified */
    public static final int ISDN_TNID_NAT            = 0x02;  /* network id type - national */
    public static final int ISDN_TNID_INTER          = 0x03;  /* network id type - international */
    public static final int ISDN_NIDPLN_UNK          = 0x00;  /* network id plan - unknown */
    public static final int ISDN_NIDPLN_CIC          = 0x01;  /* network id plan - carrier id code */
    public static final int ISDN_NIDPLN_DNIC         = 0x03;  /* network id plan - datanetwork id co */
                                 
/*
 * Information Transfer Capability
 */
    public static final int BEAR_CAP_SPEECH          = 0x00;  /* Speech Bearer Capability */
    public static final int BEAR_CAP_UNREST_DIG      = 0x08;  /* Unrestricted Digital Capability */
    public static final int BEAR_CAP_REST_DIG        = 0x09;  /* Restricted Digital Capability */
    public static final int BEAR_CAP_3DOT1K_AUDIO    = 0x10;  /* 3.1KHz Audio Capability */
    public static final int BEAR_CAP_7K_AUDIO        = 0x11;  /* 7KHz Audio Capability */
    public static final int BEAR_CAP_VIDEO           = 0x18;  /* Video Capability */

    public static final int ISDN_ITM_CIRCUIT         = 0x00;  /* info transfer mode - circuit mode */
    public static final int ISDN_ITM_PACKET          = 0x02;  /* info transfer mode - packet mode */

/*                                 
 * Information Transfer Rate
 */
    public static final int BEAR_RATE_64KBPS         = 0x10;  /* B_CHANNEL_UNITS 1X64 */
    public static final int BEAR_RATE_128KBPS        = 0x11;  /* Non-standard 2X64       */
    public static final int BEAR_RATE_384KBPS        = 0x13;  /* H0_CHANNEL_UNITS 6X64   */
    public static final int BEAR_RATE_1536KBPS       = 0x15;  /* H11_CHANNEL_UNITS 24X64 */
    public static final int BEAR_RATE_1920KBPS       = 0x17;  /* H12_CHANNEL_UNITS 30X64 */

/*
 *    Bearer Capability Element
 */
    public static final int ISDN_UIL1_CCITTV110      = 0x01;  /* user info layer 1 - CCITT V.110/X.3 */
    public static final int ISDN_UIL1_G711ULAW       = 0x02;  /* user info layer 1 - G.711 u-law */
    public static final int ISDN_UIL1_G711ALAW       = 0x03;  /* user info layer 1 - G.711 A-law */
    public static final int ISDN_UIL1_G721ADCPM      = 0x04;  /* user info layer 1 - G.721 ADCPM */
    public static final int ISDN_UIL1_G722G725       = 0x05;  /* user info layer 1 - G.722 and G.725 */
    public static final int ISDN_UIL1_G722F725       = 0x05;  /* user info layer 1 - G.722 and G.725 */
    public static final int ISDN_UIL1_H261           = 0x06;  /* user info layer 1 - H.261 */
    public static final int ISDN_UIL1_NONCCITT       = 0x07;  /* user info layer 1 - non-CCITT */
    public static final int ISDN_UIL1_CCITTV120      = 0x08;  /* user info layer 1 - CCITT V.120 */
    public static final int ISDN_UIL1_CCITTX31       = 0x09;  /* user info layer 1 - CCITT X.31 */
    public static final int ISDN_UIL1_DEFAULT        = 0xFF;  /* user info layer 1 - Default Value */

    public static final int ISDN_UR_EINI460          = 0x00;  /* user rate - E bits in I.460 */
    public static final int ISDN_UR_600              = 0x01;  /* user rate - 0.6 kbits */
    public static final int ISDN_UR_1200             = 0x02;  /* user rate - 1.2 kbits */
    public static final int ISDN_UR_2400             = 0x03;  /* user rate - 2.4 kbits */
    public static final int ISDN_UR_3600             = 0x04;  /* user rate - 3.6 kbits */
    public static final int ISDN_UR_4800             = 0x05;  /* user rate - 4.8 kbits */
    public static final int ISDN_UR_7200             = 0x06;  /* user rate - 7.2 kbits */
    public static final int ISDN_UR_8000             = 0x07;  /* user rate - 8.0 kbits */
    public static final int ISDN_UR_9600             = 0x08;  /* user rate - 9.6 kbits */
    public static final int ISDN_UR_14400            = 0x09;  /* user rate - 14.4 kbits */
    public static final int ISDN_UR_16000            = 0x0A;  /* user rate - 16.0 kbits */
    public static final int ISDN_UR_19200            = 0x0B;  /* user rate - 19.2 kbits */
    public static final int ISDN_UR_32000            = 0x0C;  /* user rate - 32 kbits */
    public static final int ISDN_UR_48000            = 0x0E;  /* user rate - 48 kbits */
    public static final int ISDN_UR_56000            = 0x0F;  /* user rate - 56 kbits */
    public static final int ISDN_UR_64000            = 0x10;  /* user rate - 64 kbits */
    public static final int ISDN_UR_134              = 0x15;  /* user rate - .1345 kbits */
    public static final int ISDN_UR_100              = 0x16;  /* user rate - .100 kbits */
    public static final int ISDN_UR_75_1200          = 0x17;  /* user rate - .075/1200 kbits */
    public static final int ISDN_UR_1200_75          = 0x18;  /* user rate - 1200/.075 kbits */
    public static final int ISDN_UR_50               = 0x19;  /* user rate - .050 kbits */
    public static final int ISDN_UR_75               = 0x1A;  /* user rate - .075 kbits */
    public static final int ISDN_UR_110              = 0x1B;  /* user rate - .110 kbits */
    public static final int ISDN_UR_150              = 0x1C;  /* user rate - .150 kbits */
    public static final int ISDN_UR_200              = 0x1D;  /* user rate - .200 kbits */
    public static final int ISDN_UR_300              = 0x1E;  /* user rate - .300 kbits */
    public static final int ISDN_UR_12000            = 0x1F;  /* user rate - 12 kbits */
    public static final int ISDN_UR_DEFAULT          = 0xFF;  /* user rate - Default */
                                 
/*
 * CALLER/CALLED_NUMBER_IE 
 */

/* defines for CLC (these take the place of 'type of number' in Called/Calling IEs: - 627a206 */

    public static final int	DPNSS_CLC_UNKNOWN	= 0x00;
    public static final int	DPNSS_CLC_ORD		= 0x01;
    public static final int	DPNSS_CLC_DEC		= 0x02;
    public static final int	DPNSS_CLC_ISDN		= 0x03;
    public static final int	DPNSS_CLC_PSTN		= 0x04;
    public static final int	DPNSS_CLC_MF5		= 0x05;
    public static final int	DPNSS_CLC_OP		= 0x06;
    public static final int	DPNSS_CLC_NET		= 0x07;

/*
 * CALLER/CALLED_NUMBER_IE 
 */

/*
 * Number types
 */
    public static final int EN_BLOC_NUMBER           = 0x00;  /* Number is sent en-bloc */
    public static final int INTL_NUMBER              = 0x01;  /* International number */
    public static final int NAT_NUMBER               = 0x02;  /* National number */
    public static final int LOC_NUMBER               = 0x04;  /* Loacl (directory) number */
    public static final int OVERLAP_NUMBER           = 0x05;  /* Number is sent overlap */

/*
 * Numbering plans
 */
    public static final int UNKNOWN_NUMB_PLAN        = 0x00;  /* Unknown plan */
    public static final int ISDN_NUMB_PLAN           = 0x01;  /* ISDN numb. plan E.164 */
    public static final int TELEPHONY_NUMB_PLAN      = 0x02;  /* Telephony numb. plan E.163 */
    public static final int PRIVATE_NUMB_PLAN        = 0x09;  /* Private numbering plan */

/*
 * Presentation indicators
 */
    public static final int PRESENTATION_ALLOWED     = 0x00;  /* Default */

/*
 * Screening indicators
 */
    public static final int USER_PROVIDED            = 0x00;  /* Default */

/*
 * CALLER_SUB_ADDR_IE and CALLED_SUB_ADDR_IE
 */
    public static final int OSI_SUB_ADDR             = 0x00;  /* OSI Sub-address */
    public static final int USER_SPECIFIC_SUB_ADDR   = 0x02;  /* User-specific Sub-address */
    public static final int IA_5_FORMAT              = 0x50;  /* IA 5 sub-address digit format */
    public static final int MAX_SUB_ADDR_LEN         = 23;    /* Japanese Len > CCITT default of 23 */

/*
 * CAUSE_IE
 */
    public static final int CAUSE_LENGTH             = 0x02;  /* Internal length = 2 */
    public static final int DIAG_LEN                 = 0x03;  /* Maximum diagnostic length */
    public static final int NO_DIAG                  = 0x00;  /* No CAUSE diagnostic specified */

/*

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -