- better default setting for echo-cancel

- added non-linear-processing option for echo-cancel
This commit is contained in:
MelwareDE 2006-04-01 16:29:50 +00:00
parent 1aecef90dc
commit 944a643786
3 changed files with 10 additions and 4 deletions

View File

@ -17,6 +17,7 @@ language=de ;set default language
[ISDN1] ;this example interface gets name 'ISDN1' and may be any
;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
isdnmode=msn ;'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
;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
; drivers/pbx/telco which does not send SETUP or SENDING-COMPLETE.
;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')
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
;callgroup=1 ;PBX call group
;language=de ;set language for this device (overwrites default language)
;disallow=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
;(2 makes sense for single BRI, 30 for PRI)
;(2 makes sense for single BRI, 30/23 for PRI/T1)

View File

@ -524,7 +524,7 @@ static char *transfercapability2str(int transfercapability)
#define EC_OPTION_DISABLE_NEVER 0
#define EC_OPTION_DISABLE_G165 (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)
{
@ -4566,6 +4566,7 @@ int mkif(struct cc_capi_conf *conf)
capi_used_controllers |= contrmap;
tmp->doEC = conf->echocancel;
tmp->ecOption = conf->ecoption;
if (conf->ecnlp) tmp->ecOption |= 0x01; /* bit 0 of ec-option is NLP */
tmp->ecTail = conf->ectail;
tmp->isdnmode = conf->isdnmode;
tmp->ntmode = conf->ntmode;
@ -5179,6 +5180,7 @@ static int conf_interface(struct cc_capi_conf *conf, struct ast_variable *v)
}
continue;
} else
CONF_TRUE(conf->ecnlp, "echocancelnlp", 1)
if (!strcasecmp(v->name, "echotail")) {
conf->ectail = atoi(v->value);
if (conf->ectail > 255) {

View File

@ -416,6 +416,7 @@ struct cc_capi_conf {
int echocancel;
int ecoption;
int ectail;
int ecnlp;
int ecSelector;
int isdnmode;
int ntmode;