aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--channels/chan_misdn.c11
-rw-r--r--configs/misdn.conf.sample7
2 files changed, 18 insertions, 0 deletions
diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c
index de97eb012..81577113b 100644
--- a/channels/chan_misdn.c
+++ b/channels/chan_misdn.c
@@ -4354,6 +4354,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 cd92e7dc3..1b1049d3f 100644
--- a/configs/misdn.conf.sample
+++ b/configs/misdn.conf.sample
@@ -243,6 +243,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)
;