Strange problems with overlap dialing from chan_lcr
Pavel Troller <[email protected]> Sun, 7 Jan 2018 14:28:15 +0100
| Newsgroups | gmane.linux.isdn.i4l.user |
|---|---|
| Message-ID | <[email protected]> |
Hi! I'm a new guy in this list. I hope I will look around soon and I'll get the local "mentality" and adapt myself adequately. I have some problems using LCR together with Asterisk (V11). Generally, all is working well. I'm using LCR just for utilizing the BRI cards from Asterisk, as I can't compile chan_misdn from Ast V11 cleanly with my current kernel and mISDN packages. So, to describe the problem: Something strange happens, when I try to pass overlap dialing over Asterisk core from LCR to another outgoing channel (i.e. to perform "transit dialing" or "overdialing"). Let's imagine the simplest case: There is an extension in the dialplan: exten => 80,1,Dial(DAHDI/g1) After dialing the prefix 80, it immediately accesses the outgoing trunk (DAHDI PRI). I can hear the dialtone from the remote exchange and I'm supposed to dial through the bridge. However, the dialing makes problems. According to a lot of traces I did on all three entities (in LCR, in my Asterisk and in the remote exchange), the following is happening obviously: Dialing the first digit: LCR sends DTMF frame to Asterisk. I modified the source to use just AST_FRAME_DTMF instead of _BEGIN and _END pair, because Ast V11 can handle it well and other channels are doing it as well. Asterisk Frame Tracer sees it, however, Asterisk doesn't send INFO with the digit to the peer. So, the dialtone continues to buzz in my ear. Dialing the SECOND digit: LCR doesn't seem to send the DTMF frame (at least Frame Tracer facility in Asterisk doesn't see it), but internally in LCR log it's visible it has been sent. But what's strange, INFO with the FIRST digit is now sent to the remote exchange, so the dialtone finally stops. THIRD dialed digit causes that Frame Tracer sees the SECOND one to come, and it is really sent to the exchange. However, the THIRD one keeps being hidden somewhere in the sub-space :-). And so on. Fourth digit causes that the third one is released and sent etc. Sometimes, for longer numbers, it seems that the hiding queue is able to accomodate 2 digits! So, to dial 8-digit number properly, it's necessary to add at least 2 (TWO) # characters at the end, which hopefully kick the last real digit out of this hiding queue to the exchange, thus making the connection. Please note that other originating technologies capable of true overlap dialing (DAHDI/PRI|Analog, IAX2, SCCP, even SIP with a special setup) are not making any problems and the digits are fluently transmitted over the core to the remote exchange. Just chan_lcr makes the exception. With regards, Pavel