diff --git a/src/switch_ivr_async.c b/src/switch_ivr_async.c index 0459f2b832..5d35524e25 100644 --- a/src/switch_ivr_async.c +++ b/src/switch_ivr_async.c @@ -282,9 +282,10 @@ static dm_match_t switch_ivr_dmachine_check_match(switch_ivr_dmachine_t *dmachin best = DM_MATCH_EXACT; exact_bp = bp; if (dmachine->cur_digit_len == dmachine->max_digit_len) break; - } + } - if (!(both_bp && partial_bp) && !strncmp(dmachine->digits, bp->digits, strlen(dmachine->digits))) { + if (!(both_bp && partial_bp) && strlen(bp->digits) != strlen(dmachine->digits) && + !strncmp(dmachine->digits, bp->digits, strlen(dmachine->digits))) { if (exact_bp) { best = DM_MATCH_BOTH; both_bp = bp;