- better default setting for echo-cancel
- added non-linear-processing option for echo-cancel
This commit is contained in:
parent
1aecef90dc
commit
944a643786
|
@ -17,6 +17,7 @@ language=de ;set default language
|
||||||
|
|
||||||
[ISDN1] ;this example interface gets name 'ISDN1' and may be any
|
[ISDN1] ;this example interface gets name 'ISDN1' and may be any
|
||||||
;name not starting with 'g' or 'contr'.
|
;name not starting with 'g' or 'contr'.
|
||||||
|
;Use one interface section for each isdn port!
|
||||||
;ntmode=yes ;if isdn card operates in nt mode, set this to yes
|
;ntmode=yes ;if isdn card operates in nt mode, set this to yes
|
||||||
isdnmode=msn ;'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
|
isdnmode=msn ;'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
|
||||||
;when using NT-mode, 'DID' should be set in any case
|
;when using NT-mode, 'DID' should be set in any case
|
||||||
|
@ -41,16 +42,18 @@ context=capi-in ;context for incoming calls
|
||||||
; info like REDIRECTINGNUMBER may be lost, but this is necessary for
|
; info like REDIRECTINGNUMBER may be lost, but this is necessary for
|
||||||
; drivers/pbx/telco which does not send SETUP or SENDING-COMPLETE.
|
; drivers/pbx/telco which does not send SETUP or SENDING-COMPLETE.
|
||||||
;echosquelch=1 ;_VERY_PRIMITIVE_ echo suppression
|
;echosquelch=1 ;_VERY_PRIMITIVE_ echo suppression
|
||||||
;echocancel=yes ;EICON DIVA SERVER (CAPI) echo cancelation
|
;echocancel=yes ;EICON DIVA SERVER (CAPI) echo cancelation (yes=g165)
|
||||||
;(possible values: 'no', 'yes', 'force', 'g164', 'g165')
|
;(possible values: 'no', 'yes', 'force', 'g164', 'g165')
|
||||||
echocancelold=yes;use facility selector 6 instead of correct 8 (necessary for older eicon drivers)
|
echocancelold=yes;use facility selector 6 instead of correct 8 (necessary for older eicon drivers)
|
||||||
;echotail=64 ;echo cancel tail setting
|
;echotail=64 ;echo cancel tail setting (default=0 for maximum)
|
||||||
|
;echocancelnlp=1 ;activate non-linear-processing; this improves echo cancel ratio, but might
|
||||||
|
;incorporate variable gain in the signal path.
|
||||||
;bridge=yes ;native bridging (CAPI line interconnect) if available
|
;bridge=yes ;native bridging (CAPI line interconnect) if available
|
||||||
;callgroup=1 ;PBX call group
|
;callgroup=1 ;PBX call group
|
||||||
;language=de ;set language for this device (overwrites default language)
|
;language=de ;set language for this device (overwrites default language)
|
||||||
;disallow=all ;RTP codec selection (valid with Eicon DIVA Server only)
|
;disallow=all ;RTP codec selection (valid with Eicon DIVA Server only)
|
||||||
;allow=all ;RTP codec selection (valid with Eicon DIVA Server only)
|
;allow=all ;RTP codec selection (valid with Eicon DIVA Server only)
|
||||||
devices=2 ;number of concurrent calls on this controller
|
devices=2 ;number of concurrent calls on this controller
|
||||||
;(2 makes sense for single BRI, 30 for PRI)
|
;(2 makes sense for single BRI, 30/23 for PRI/T1)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -524,7 +524,7 @@ static char *transfercapability2str(int transfercapability)
|
||||||
#define EC_OPTION_DISABLE_NEVER 0
|
#define EC_OPTION_DISABLE_NEVER 0
|
||||||
#define EC_OPTION_DISABLE_G165 (1<<2)
|
#define EC_OPTION_DISABLE_G165 (1<<2)
|
||||||
#define EC_OPTION_DISABLE_G164_OR_G165 (1<<1 | 1<<2)
|
#define EC_OPTION_DISABLE_G164_OR_G165 (1<<1 | 1<<2)
|
||||||
#define EC_DEFAULT_TAIL 64
|
#define EC_DEFAULT_TAIL 0 /* maximum */
|
||||||
|
|
||||||
static void capi_echo_canceller(struct ast_channel *c, int function)
|
static void capi_echo_canceller(struct ast_channel *c, int function)
|
||||||
{
|
{
|
||||||
|
@ -4566,6 +4566,7 @@ int mkif(struct cc_capi_conf *conf)
|
||||||
capi_used_controllers |= contrmap;
|
capi_used_controllers |= contrmap;
|
||||||
tmp->doEC = conf->echocancel;
|
tmp->doEC = conf->echocancel;
|
||||||
tmp->ecOption = conf->ecoption;
|
tmp->ecOption = conf->ecoption;
|
||||||
|
if (conf->ecnlp) tmp->ecOption |= 0x01; /* bit 0 of ec-option is NLP */
|
||||||
tmp->ecTail = conf->ectail;
|
tmp->ecTail = conf->ectail;
|
||||||
tmp->isdnmode = conf->isdnmode;
|
tmp->isdnmode = conf->isdnmode;
|
||||||
tmp->ntmode = conf->ntmode;
|
tmp->ntmode = conf->ntmode;
|
||||||
|
@ -5179,6 +5180,7 @@ static int conf_interface(struct cc_capi_conf *conf, struct ast_variable *v)
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
} else
|
} else
|
||||||
|
CONF_TRUE(conf->ecnlp, "echocancelnlp", 1)
|
||||||
if (!strcasecmp(v->name, "echotail")) {
|
if (!strcasecmp(v->name, "echotail")) {
|
||||||
conf->ectail = atoi(v->value);
|
conf->ectail = atoi(v->value);
|
||||||
if (conf->ectail > 255) {
|
if (conf->ectail > 255) {
|
||||||
|
|
|
@ -416,6 +416,7 @@ struct cc_capi_conf {
|
||||||
int echocancel;
|
int echocancel;
|
||||||
int ecoption;
|
int ecoption;
|
||||||
int ectail;
|
int ectail;
|
||||||
|
int ecnlp;
|
||||||
int ecSelector;
|
int ecSelector;
|
||||||
int isdnmode;
|
int isdnmode;
|
||||||
int ntmode;
|
int ntmode;
|
||||||
|
|
Loading…
Reference in New Issue