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