?? libpri.h
字號:
/* * libpri: An implementation of Primary Rate ISDN * * Written by Mark Spencer <markster@linux-support.net> * * Copyright (C) 2001, Linux Support Services, Inc. * All Rights Reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * */ #ifndef _LIBPRI_H#define _LIBPRI_H/* Node types */#define PRI_NETWORK 1#define PRI_CPE 2/* Debugging */#define PRI_DEBUG_Q921_RAW (1 << 0) /* Show raw HDLC frames */#define PRI_DEBUG_Q921_DUMP (1 << 1) /* Show each interpreted Q.921 frame */#define PRI_DEBUG_Q921_STATE (1 << 2) /* Debug state machine changes */#define PRI_DEBUG_CONFIG (1 << 3) /* Display error events on stdout */#define PRI_DEBUG_Q931_DUMP (1 << 5) /* Show interpreted Q.931 frames */#define PRI_DEBUG_Q931_STATE (1 << 6) /* Debug Q.931 state machine changes */#define PRI_DEBUG_Q931_ANOMALY (1 << 7) /* Show unexpected events */#define PRI_DEBUG_ALL (0xffff) /* Everything *//* Switch types */#define PRI_SWITCH_UNKNOWN 0#define PRI_SWITCH_NI2 1 /* National ISDN 2 */#define PRI_SWITCH_DMS100 2 /* DMS 100 */#define PRI_SWITCH_LUCENT5E 3 /* Lucent 5E */#define PRI_SWITCH_ATT4ESS 4 /* AT&T 4ESS */#define PRI_SWITCH_EUROISDN_E1 5 /* Standard EuroISDN (CTR4, ETSI 300-102) */#define PRI_SWITCH_EUROISDN_T1 6 /* T1 EuroISDN variant (ETSI 300-102) */#define PRI_SWITCH_NI1 7 /* National ISDN 1 */#define PRI_SWITCH_GR303_EOC 8 /* GR-303 Embedded Operations Channel */#define PRI_SWITCH_GR303_TMC 9 /* GR-303 Timeslot Management Channel *//* Switchtypes 10 - 20 are reserved for internal use *//* PRI D-Channel Events */#define PRI_EVENT_DCHAN_UP 1 /* D-channel is up */#define PRI_EVENT_DCHAN_DOWN 2 /* D-channel is down */#define PRI_EVENT_RESTART 3 /* B-channel is restarted */#define PRI_EVENT_CONFIG_ERR 4 /* Configuration Error Detected */#define PRI_EVENT_RING 5 /* Incoming call */#define PRI_EVENT_HANGUP 6 /* Call got hung up */#define PRI_EVENT_RINGING 7 /* Call is ringing (alerting) */#define PRI_EVENT_ANSWER 8 /* Call has been answered */#define PRI_EVENT_HANGUP_ACK 9 /* Call hangup has been acknowledged */#define PRI_EVENT_RESTART_ACK 10 /* Restart complete on a given channel */#define PRI_EVENT_FACNAME 11 /* Caller*ID Name received on Facility */#define PRI_EVENT_INFO_RECEIVED 12 /* Additional info (keypad) received */#define PRI_EVENT_PROCEEDING 13 /* When we get CALL_PROCEEDING or PROGRESS */#define PRI_EVENT_SETUP_ACK 14 /* When we get SETUP_ACKNOWLEDGE */#define PRI_EVENT_HANGUP_REQ 15 /* Requesting the higher layer to hangup */#define PRI_EVENT_NOTIFY 16 /* Notification received */#define PRI_EVENT_PROGRESS 17 /* When we get CALL_PROCEEDING or PROGRESS *//* Simple states */#define PRI_STATE_DOWN 0#define PRI_STATE_UP 1/* Numbering plan identifier */#define PRI_NPI_UNKNOWN 0x0#define PRI_NPI_E163_E164 0x1#define PRI_NPI_X121 0x3#define PRI_NPI_F69 0x4#define PRI_NPI_NATIONAL 0x8#define PRI_NPI_PRIVATE 0x9#define PRI_NPI_RESERVED 0xF/* Type of number */#define PRI_TON_UNKNOWN 0x0#define PRI_TON_INTERNATIONAL 0x1#define PRI_TON_NATIONAL 0x2#define PRI_TON_NET_SPECIFIC 0x3#define PRI_TON_SUBSCRIBER 0x4#define PRI_TON_ABBREVIATED 0x6#define PRI_TON_RESERVED 0x7/* Redirection reasons */#define PRI_REDIR_UNKNOWN 0x0#define PRI_REDIR_FORWARD_ON_BUSY 0x1#define PRI_REDIR_FORWARD_ON_NO_REPLY 0x2#define PRI_REDIR_DEFLECTION 0x3#define PRI_REDIR_DTE_OUT_OF_ORDER 0x9#define PRI_REDIR_FORWARDED_BY_DTE 0xA#define PRI_REDIR_UNCONDITIONAL 0xF/* Dialing plan */#define PRI_INTERNATIONAL_ISDN 0x11#define PRI_NATIONAL_ISDN 0x21#define PRI_LOCAL_ISDN 0x41#define PRI_PRIVATE 0x49#define PRI_UNKNOWN 0x0/* Presentation */#define PRES_ALLOWED_USER_NUMBER_NOT_SCREENED 0x00#define PRES_ALLOWED_USER_NUMBER_PASSED_SCREEN 0x01#define PRES_ALLOWED_USER_NUMBER_FAILED_SCREEN 0x02#define PRES_ALLOWED_NETWORK_NUMBER 0x03#define PRES_PROHIB_USER_NUMBER_NOT_SCREENED 0x20#define PRES_PROHIB_USER_NUMBER_PASSED_SCREEN 0x21#define PRES_PROHIB_USER_NUMBER_FAILED_SCREEN 0x22#define PRES_PROHIB_NETWORK_NUMBER 0x23#define PRES_NUMBER_NOT_AVAILABLE 0x43/* Causes for disconnection */#define PRI_CAUSE_UNALLOCATED 1#define PRI_CAUSE_NO_ROUTE_TRANSIT_NET 2#define PRI_CAUSE_NO_ROUTE_DESTINATION 3#define PRI_CAUSE_CHANNEL_UNACCEPTABLE 6#define PRI_CAUSE_CALL_AWARDED_DELIVERED 7#define PRI_CAUSE_NORMAL_CLEARING 16#define PRI_CAUSE_USER_BUSY 17#define PRI_CAUSE_NO_USER_RESPONSE 18#define PRI_CAUSE_NO_ANSWER 19#define PRI_CAUSE_CALL_REJECTED 21#define PRI_CAUSE_NUMBER_CHANGED 22#define PRI_CAUSE_DESTINATION_OUT_OF_ORDER 27#define PRI_CAUSE_INVALID_NUMBER_FORMAT 28#define PRI_CAUSE_FACILITY_REJECTED 29#define PRI_CAUSE_RESPONSE_TO_STATUS_ENQUIRY 30#define PRI_CAUSE_NORMAL_UNSPECIFIED 31#define PRI_CAUSE_NORMAL_CIRCUIT_CONGESTION 34#define PRI_CAUSE_NETWORK_OUT_OF_ORDER 38#define PRI_CAUSE_NORMAL_TEMPORARY_FAILURE 41#define PRI_CAUSE_SWITCH_CONGESTION 42#define PRI_CAUSE_ACCESS_INFO_DISCARDED 43#define PRI_CAUSE_REQUESTED_CHAN_UNAVAIL 44#define PRI_CAUSE_PRE_EMPTED 45#define PRI_CAUSE_FACILITY_NOT_SUBSCRIBED 50#define PRI_CAUSE_OUTGOING_CALL_BARRED 52#define PRI_CAUSE_INCOMING_CALL_BARRED 54#define PRI_CAUSE_BEARERCAPABILITY_NOTAUTH 57#define PRI_CAUSE_BEARERCAPABILITY_NOTAVAIL 58#define PRI_CAUSE_BEARERCAPABILITY_NOTIMPL 65#define PRI_CAUSE_CHAN_NOT_IMPLEMENTED 66#define PRI_CAUSE_FACILITY_NOT_IMPLEMENTED 69#define PRI_CAUSE_INVALID_CALL_REFERENCE 81#define PRI_CAUSE_INCOMPATIBLE_DESTINATION 88#define PRI_CAUSE_INVALID_MSG_UNSPECIFIED 95#define PRI_CAUSE_MANDATORY_IE_MISSING 96#define PRI_CAUSE_MESSAGE_TYPE_NONEXIST 97#define PRI_CAUSE_WRONG_MESSAGE 98#define PRI_CAUSE_IE_NONEXIST 99#define PRI_CAUSE_INVALID_IE_CONTENTS 100#define PRI_CAUSE_WRONG_CALL_STATE 101#define PRI_CAUSE_RECOVERY_ON_TIMER_EXPIRE 102#define PRI_CAUSE_MANDATORY_IE_LENGTH_ERROR 103#define PRI_CAUSE_PROTOCOL_ERROR 111#define PRI_CAUSE_INTERWORKING 127/* Transmit capabilities */#define PRI_TRANS_CAP_SPEECH 0x0#define PRI_TRANS_CAP_DIGITAL 0x08#define PRI_TRANS_CAP_RESTRICTED_DIGITAL 0x09#define PRI_TRANS_CAP_3_1K_AUDIO 0x10#define PRI_TRANS_CAP_7K_AUDIO 0x11#define PRI_TRANS_CAP_VIDEO 0x18#define PRI_LAYER_1_ITU_RATE_ADAPT 0x21#define PRI_LAYER_1_ULAW 0x22#define PRI_LAYER_1_ALAW 0x23#define PRI_LAYER_1_G721 0x24#define PRI_LAYER_1_G722_G725 0x25#define PRI_LAYER_1_G7XX_384K 0x26#define PRI_LAYER_1_NON_ITU_ADAPT 0x27#define PRI_LAYER_1_V120_RATE_ADAPT 0x28#define PRI_LAYER_1_X31_RATE_ADAPT 0x29/* Notifications */#define PRI_NOTIFY_USER_SUSPENDED 0x00 /* User suspended */#define PRI_NOTIFY_USER_RESUMED 0x01 /* User resumed */#define PRI_NOTIFY_BEARER_CHANGE 0x02 /* Bearer service change (DSS1) */#define PRI_NOTIFY_ASN1_COMPONENT 0x03 /* ASN.1 encoded component (DSS1) */#define PRI_NOTIFY_COMPLETION_DELAY 0x04 /* Call completion delay */#define PRI_NOTIFY_CONF_ESTABLISHED 0x42 /* Conference established */#define PRI_NOTIFY_CONF_DISCONNECTED 0x43 /* Conference disconnected */#define PRI_NOTIFY_CONF_PARTY_ADDED 0x44 /* Other party added */#define PRI_NOTIFY_CONF_ISOLATED 0x45 /* Isolated */#define PRI_NOTIFY_CONF_REATTACHED 0x46 /* Reattached */#define PRI_NOTIFY_CONF_OTHER_ISOLATED 0x47 /* Other party isolated */#define PRI_NOTIFY_CONF_OTHER_REATTACHED 0x48 /* Other party reattached */#define PRI_NOTIFY_CONF_OTHER_SPLIT 0x49 /* Other party split */#define PRI_NOTIFY_CONF_OTHER_DISCONNECTED 0x4a /* Other party disconnected */#define PRI_NOTIFY_CONF_FLOATING 0x4b /* Conference floating */#define PRI_NOTIFY_WAITING_CALL 0x60 /* Call is waiting call */#define PRI_NOTIFY_DIVERSION_ACTIVATED 0x68 /* Diversion activated (DSS1) */#define PRI_NOTIFY_TRANSFER_ALERTING 0x69 /* Call transfer, alerting */#define PRI_NOTIFY_TRANSFER_ACTIVE 0x6a /* Call transfer, active */#define PRI_NOTIFY_REMOTE_HOLD 0x79 /* Remote hold */#define PRI_NOTIFY_REMOTE_RETRIEVAL 0x7a /* Remote retrieval */#define PRI_NOTIFY_CALL_DIVERTING 0x7b /* Call is diverting */#define PRI_COPY_DIGITS_CALLED_NUMBER/* Network Specific Facilities (AT&T) */#define PRI_NSF_NONE -1#define PRI_NSF_SID_PREFERRED 0xB1#define PRI_NSF_ANI_PREFERRED 0xB2#define PRI_NSF_SID_ONLY 0xB3#define PRI_NSF_ANI_ONLY 0xB4#define PRI_NSF_CALL_ASSOC_TSC 0xB9#define PRI_NSF_NOTIF_CATSC_CLEARING 0xBA#define PRI_NSF_OPERATOR 0xB5#define PRI_NSF_PCCO 0xB6#define PRI_NSF_SDN 0xE1#define PRI_NSF_TOLL_FREE_MEGACOM 0xE2#define PRI_NSF_MEGACOM 0xE3#define PRI_NSF_ACCUNET 0xE6#define PRI_NSF_LONG_DISTANCE_SERVICE 0xE7#define PRI_NSF_INTERNATIONAL_TOLL_FREE 0xE8#define PRI_NSF_ATT_MULTIQUEST 0xF0#define PRI_NSF_CALL_REDIRECTION_SERVICE 0xF7typedef struct q931_call q931_call;typedef struct pri_event_generic { /* Events with no additional information fall in this category */ int e;} pri_event_generic;typedef struct pri_event_error { int e; char err[256];} pri_event_error;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -