if ((i->callprogress & 1) && CANPROGRESSDETECT(i)) {
features |= DSP_FEATURE_CALL_PROGRESS;
}
- if (i->callprogress & 2) {
+ if ((!i->outgoing && (i->callprogress & 4)) ||
+ (i->outgoing && (i->callprogress & 2))) {
features |= DSP_FEATURE_FAX_DETECT;
}
features |= DSP_FEATURE_DTMF_DETECT;
else
callprogress &= ~1;
} else if (!strcasecmp(v->name, "faxdetect")) {
- if (ast_true(v->value))
+ if (!strcasecmp(v->value, "incoming")) {
+ callprogress |= 4;
+ callprogress &= ~2;
+ } else if (!strcasecmp(v->value, "outgoing")) {
+ callprogress &= ~4;
callprogress |= 2;
+ } else if (!strcasecmp(v->value, "both") || ast_true(v->value))
+ callprogress |= 6;
else
- callprogress &= ~2;
+ callprogress &= ~6;
} else if (!strcasecmp(v->name, "echocancel")) {
if (v->value && !ast_strlen_zero(v->value)) {
y = atoi(v->value);
;callprogress=yes
;progzone=us
;
-; For fax detection, uncomment the following line. The default is *OFF*
+; For fax detection, uncomment one of the following lines. The default is *OFF*
;
-;faxdetect=yes
+;faxdetect=both
+;faxdetect=incoming
+;faxdetect=outgoing
+;faxdetect=no
;
; Select which class of music to use for music on hold. If not specified
; then the default will be used.