00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef CHAN_MISDN_CONFIG_H
00023 #define CHAN_MISDN_CONFIG_H
00024
00025 #define BUFFERSIZE 512
00026
00027 enum misdn_cfg_elements {
00028
00029
00030 MISDN_CFG_FIRST = 0,
00031 MISDN_CFG_GROUPNAME,
00032 MISDN_CFG_ALLOWED_BEARERS,
00033 MISDN_CFG_FAR_ALERTING,
00034 MISDN_CFG_RXGAIN,
00035 MISDN_CFG_TXGAIN,
00036 MISDN_CFG_TE_CHOOSE_CHANNEL,
00037 MISDN_CFG_PMP_L1_CHECK,
00038 MISDN_CFG_REJECT_CAUSE,
00039 MISDN_CFG_ALARM_BLOCK,
00040 MISDN_CFG_HDLC,
00041 MISDN_CFG_CONTEXT,
00042 MISDN_CFG_LANGUAGE,
00043 MISDN_CFG_MUSICCLASS,
00044 MISDN_CFG_CALLERID,
00045 MISDN_CFG_METHOD,
00046 MISDN_CFG_DIALPLAN,
00047 MISDN_CFG_LOCALDIALPLAN,
00048 MISDN_CFG_CPNDIALPLAN,
00049 MISDN_CFG_NATPREFIX,
00050 MISDN_CFG_INTERNATPREFIX,
00051 MISDN_CFG_PRES,
00052 MISDN_CFG_SCREEN,
00053 MISDN_CFG_ALWAYS_IMMEDIATE,
00054 MISDN_CFG_NODIALTONE,
00055 MISDN_CFG_IMMEDIATE,
00056 MISDN_CFG_SENDDTMF,
00057 MISDN_CFG_ASTDTMF,
00058 MISDN_CFG_HOLD_ALLOWED,
00059 MISDN_CFG_EARLY_BCONNECT,
00060 MISDN_CFG_INCOMING_EARLY_AUDIO,
00061 MISDN_CFG_ECHOCANCEL,
00062 #ifdef MISDN_1_2
00063 MISDN_CFG_PIPELINE,
00064 #endif
00065
00066 #ifdef WITH_BEROEC
00067 MISDN_CFG_BNECHOCANCEL,
00068 MISDN_CFG_BNEC_ANTIHOWL,
00069 MISDN_CFG_BNEC_NLP,
00070 MISDN_CFG_BNEC_ZEROCOEFF,
00071 MISDN_CFG_BNEC_TD,
00072 MISDN_CFG_BNEC_ADAPT,
00073 #endif
00074 MISDN_CFG_NEED_MORE_INFOS,
00075 MISDN_CFG_NOAUTORESPOND_ON_SETUP,
00076 MISDN_CFG_NTTIMEOUT,
00077 MISDN_CFG_BRIDGING,
00078 MISDN_CFG_JITTERBUFFER,
00079 MISDN_CFG_JITTERBUFFER_UPPER_THRESHOLD,
00080 MISDN_CFG_CALLGROUP,
00081 MISDN_CFG_PICKUPGROUP,
00082 MISDN_CFG_MAX_IN,
00083 MISDN_CFG_MAX_OUT,
00084 MISDN_CFG_L1_TIMEOUT,
00085 MISDN_CFG_OVERLAP_DIAL,
00086 MISDN_CFG_MSNS,
00087 MISDN_CFG_FAXDETECT,
00088 MISDN_CFG_FAXDETECT_CONTEXT,
00089 MISDN_CFG_FAXDETECT_TIMEOUT,
00090 MISDN_CFG_PTP,
00091 MISDN_CFG_LAST,
00092
00093
00094 MISDN_GEN_FIRST,
00095 #ifndef MISDN_1_2
00096 MISDN_GEN_MISDN_INIT,
00097 #endif
00098 MISDN_GEN_DEBUG,
00099 MISDN_GEN_TRACEFILE,
00100 MISDN_GEN_BRIDGING,
00101 MISDN_GEN_STOP_TONE,
00102 MISDN_GEN_APPEND_DIGITS2EXTEN,
00103 MISDN_GEN_DYNAMIC_CRYPT,
00104 MISDN_GEN_CRYPT_PREFIX,
00105 MISDN_GEN_CRYPT_KEYS,
00106 MISDN_GEN_NTKEEPCALLS,
00107 MISDN_GEN_NTDEBUGFLAGS,
00108 MISDN_GEN_NTDEBUGFILE,
00109 MISDN_GEN_LAST
00110 };
00111
00112 enum misdn_cfg_method {
00113 METHOD_STANDARD = 0,
00114 METHOD_ROUND_ROBIN,
00115 METHOD_STANDARD_DEC
00116 };
00117
00118
00119 int misdn_cfg_init(int max_ports, int reload);
00120 void misdn_cfg_reload(void);
00121 void misdn_cfg_destroy(void);
00122
00123 void misdn_cfg_update_ptp( void );
00124
00125
00126
00127
00128 void misdn_cfg_get(int port, enum misdn_cfg_elements elem, void* buf, int bufsize);
00129
00130
00131 enum misdn_cfg_elements misdn_cfg_get_elem (char *name);
00132
00133
00134 void misdn_cfg_get_name (enum misdn_cfg_elements elem, void *buf, int bufsize);
00135
00136
00137 void misdn_cfg_get_desc (enum misdn_cfg_elements elem, void *buf, int bufsize, void *buf_default, int bufsize_default);
00138
00139
00140 void misdn_cfg_get_ports_string(char *ports);
00141
00142
00143 void misdn_cfg_get_config_string(int port, enum misdn_cfg_elements elem, char* buf, int bufsize);
00144
00145
00146 int misdn_cfg_get_next_port(int port);
00147 int misdn_cfg_get_next_port_spin(int port);
00148
00149 int misdn_cfg_is_msn_valid(int port, char* msn);
00150 int misdn_cfg_is_port_valid(int port);
00151 int misdn_cfg_is_group_method(char *group, enum misdn_cfg_method meth);
00152
00153 #if 0
00154 char *misdn_cfg_get_next_group(char *group);
00155 int misdn_cfg_get_next_port_in_group(int port, char *group);
00156 #endif
00157
00158 struct ast_jb_conf *misdn_get_global_jbconf(void);
00159
00160 #endif