[Asterisk-Dev] Passing overlap digits from one pri-E1 to another
Peter Svensson
psvasterisk at psv.nu
Wed Jun 9 14:28:35 MST 2004
In Sweden overlap dialing is the norm due to our varying length phone
numbers. I am currently interfacing asterisk to our telco and our existing
pbx through two E1 links off a TE405P. The pbx sends all digis as single
overlap digits regardless of how they are dialed.
Most things work as expected. However, there seems to be a problem with
overlap digits. We have an extension
exten => 0,1,Dial(Zap/g1)
that sends the connection from the pbx to an outside line immediatly. This
works, but no further digits are passed. After a bit of sifting through
the source I found that the INFORMATION elements from the pbx are stopped
in libpri/q931.c q931_receive() by the following test:
if (c->ourcallstate!=Q931_CALL_STATE_OVERLAP_RECEIVING)
break;
After the dial command is executed the digits are dropped since
ourcallstate==Q931_CALL_STATE_INCOMING_CALL_PROCEEDING.
I have tried allowing that state as well and this seems to work. Is this
the correct way to solve this?
Another problem occurs when the pbx sends a long dialstring by itself.
There is a window between deciding which extension to use and having
seized the b channel and set up the call. Incoming digits during this
interval are neither remembered nor passed to the outgoing channel by
app_dial.
Peter
--
Peter Svensson ! Pgp key available by finger, fingerprint:
<petersv at psv.nu> ! 8A E9 20 98 C1 FF 43 E3 07 FD B9 0A 80 72 70 AF
------------------------------------------------------------------------
Remember, Luke, your source will be with you... always...
More information about the asterisk-dev
mailing list