diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c index ef7302be6d166806651fb6b8a3fb2a88304c8389..c0264bc9269cf0893d8e080db53e931820f6a386 100644 --- a/channels/chan_misdn.c +++ b/channels/chan_misdn.c @@ -4442,6 +4442,17 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data) break; } + + /* + * When we are NT and overlapdial is set and if + * the number is empty, we wait for the ISDN timeout + * instead of our own timer. + */ + if (ch->overlap_dial && bc->nt && !bc->dad[0] ) { + wait_for_digits(ch, bc, chan); + break; + } + /* * If overlapdial we will definitely send a SETUP_ACKNOWLEDGE and wait for more * Infos with a Interdigit Timeout. diff --git a/configs/misdn.conf.sample b/configs/misdn.conf.sample index fb2925b2394856fbdb6b6134bb2e4de85d5a7abd..65bdda3ea94c8f7839a16abb0a19f3029cdf8539 100644 --- a/configs/misdn.conf.sample +++ b/configs/misdn.conf.sample @@ -269,6 +269,13 @@ nttimeout=no ; method=standard + +; specify if chan_misdn should collect digits before going into the +; dialplan, you can choose yes=4 Seconds, no, or specify the amount +; of seconds you need; +; +overlapdial=yes + ; ; dialplan means Type Of Number in ISDN Terms (for outgoing calls) ;