From e6911c60e8a35a2699d8c7463df685ee873a9af5 Mon Sep 17 00:00:00 2001 From: MelwareDE Date: Sat, 1 Oct 2005 17:00:56 +0000 Subject: [PATCH] - when 'o' option is used for overlap dialing, don't send any digits with the CONNECT_REQ. This gives better progress together with 'b'. --- README | 7 ++++--- chan_capi.c | 6 +++--- 2 files changed, 7 insertions(+), 6 deletions(-) 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; }