diff --git a/README b/README index 8d18d3a..b17029b 100644 --- a/README +++ b/README @@ -77,9 +77,10 @@ The Dial string The string consists of a list of characters with the following meaning: 'b' : early B3 always. 'B' : early B3 on successful calls only. - 'o' : use overlap sending of number if number is longer than 2 digits - (This is useful, when further digits shall be send to complete the - destination address). + 'o' : use overlap sending of number. + (Useful if additional digits shall be send afterwards or together + with 'b' to get dialtone and then send the number, e.g. if otherwise + no progress tones are available) If the is used in dialstring, be sure the name (specified in capi.conf) does not start with 'contr' or 'g'. diff --git a/chan_capi.c b/chan_capi.c index 12d9047..5f61b36 100644 --- a/chan_capi.c +++ b/chan_capi.c @@ -938,9 +938,9 @@ static int capi_call(struct ast_channel *c, char *idest, int timeout) #else CONNECT_REQ_CIPVALUE(&CMSG) = 0x10; /* Telephony */ #endif - if ((i->doOverlap) && (strlen(dest) > 2)) { - strncpy(i->overlapdigits, dest + 2, sizeof(i->overlapdigits) - 1); - called[0] = 3; + if ((i->doOverlap) && (strlen(dest))) { + strncpy(i->overlapdigits, dest, sizeof(i->overlapdigits) - 1); + called[0] = 1; } else { called[0] = strlen(dest) + 1; }