--- channels/chan_zap.c Tue Mar 4 19:48:59 2003 +++ channels/chan_zap.c.busycount Tue Mar 4 19:39:48 2003 @@ -161,6 +161,8 @@ static int busydetect = 0; +static int busycount = 3; + static int callprogress = 0; static char accountcode[20] = ""; @@ -398,6 +400,7 @@ int outgoing; int dnd; int busydetect; + int busycount; int callprogress; struct ast_dsp *dsp; int cref; /* Call reference number */ @@ -3326,6 +3329,9 @@ if (i->dsp) { ast_dsp_set_features(i->dsp, features); ast_dsp_digitmode(i->dsp, DSP_DIGITMODE_DTMF | i->dtmfrelax); + if (i->busydetect && CANBUSYDETECT(i)) { + ast_dsp_set_busy_count(i->dsp, i->busycount); + } } } } @@ -4685,6 +4691,7 @@ tmp->echocancel = echocancel; tmp->echocanbridged = echocanbridged; tmp->busydetect = busydetect; + tmp->busycount = busycount; tmp->callprogress = callprogress; tmp->cancallforward = cancallforward; tmp->dtmfrelax = relaxdtmf; @@ -6086,6 +6093,8 @@ echocanbridged = ast_true(v->value); } else if (!strcasecmp(v->name, "busydetect")) { busydetect = ast_true(v->value); + } else if (!strcasecmp(v->name, "busycount")) { + busycount = atoi(v->value); } else if (!strcasecmp(v->name, "callprogress")) { callprogress = ast_true(v->value); } else if (!strcasecmp(v->name, "echocancel")) { @@ -6404,6 +6413,7 @@ stripmsd = 0; callwaiting = 0; busydetect = 0; + busycount = 3; callprogress = 0; callwaitingcallerid = 0; hidecallerid = 0; @@ -6516,6 +6526,8 @@ transfer = ast_true(v->value); } else if (!strcasecmp(v->name, "busydetect")) { busydetect = ast_true(v->value); + } else if (!strcasecmp(v->name, "busycount")) { + busycount = atoi(v->value); } else if (!strcasecmp(v->name, "callprogress")) { callprogress = ast_true(v->value); } else if (!strcasecmp(v->name, "hidecallerid")) {