Asterisk: Can't transfer a call connected on an E1 EuroISDN port

Using a TE411P 4 port E1 card in the UK. All the ports are TDM primary rate EuroISDN (30B+D).

My Asterisk server receives inbound calls on port1 (from the local BT exchange) and sends them out on port2 to an IVR using the Dial command. Port1 is set to pri_cpe and port2 to pri_net signalling. The IVR answers the inbound call, plays a voice file but then I need the IVR to be able to transfer the call using the call transfer capabilities within Asterisk. The Dial command that sends the call to Port2 includes the "t" option which should allow # dtmf tone to be used as a signal to put the call on hold. However, I cannot get the IVR to put the call on hold on Asterisk. The # tone can be heard by the caller, but Asterisk ignores it.

When I try exactly the same thing using an analogue FXS port for Port2 (with a suitable POTS phone connected in place of the IVR), the # tone puts the call on hold with no trouble. Have I got something wrong in the config or is there a limitation that calls just cannot be put on hold and transferred on an ISDN connection?
LVL 19
feptiasAsked:
Who is Participating?
 
GranModConnect With a Mentor Commented:
Closed, 500 points refunded.
GranMod
The Experts Exchange
Community Support Moderator of all Ages
0
 
grbladesCommented:
I found one mention of this problem :-
http://lists.digium.com/pipermail/asterisk-dev/2006-April/020287.html
What version of asterisk are you running?
0
 
feptiasAuthor Commented:
Version 1.2.5. Downloaded approx 22nd March this year.

That thread in lists.digium says it was a bug fixed months ago. I suppose end of March just about fits. I always think of 6 week old software as still being new, but not so with Asterisk.

I'll try updating to latest release - easy enough on my test system, but a right pain on the live production system where the only quiet period is between 1:00 and 4:00 a.m.!

I'll post an update later after I've tried the latest version. Thanks for your comment.
0
Improve Your Query Performance Tuning

In this FREE six-day email course, you'll learn from Janis Griffin, Database Performance Evangelist. She'll teach 12 steps that you can use to optimize your queries as much as possible and see measurable results in your work. Get started today!

 
feptiasAuthor Commented:
Have tried again using latest release of Asterisk (v1.2.7.1). Unfortunately, I get the same problem. The # tone does not put the call on hold.
0
 
habcoservicesCommented:
We had a similar problem when we installed the new Grandstream GXP-2000 IP phones in our network with Asterisk.  We had to configure the phones to send DTMF tones via RTP (instead of the default "in-audio") so Asterisk would recognize the DTMF tones when interactiing with our IVR menus and voice mail.   I'm not sure how this translates to your E1 card but thought it worth mentioning.
0
 
feptiasAuthor Commented:
Thanks for the suggestion habcoservices. I think it would translate as sending the DTMF as data on the D-channel instead of audio on the B-channel. This is a setting that I can change within Envox (the app running on my IVR). However, I have already tried it and the result was the same (except you could no longer hear the dtmf tone on the phone that made the call).

Next I plan to test if any of the other Asterisk functions that detect DTMF tones will work on this leg of the call - to see if the problem is (a) Asterisk doesn't detect the tone or (b) it doesn't respond to the request to put the call on hold.

I am guessing that it will probably be (b) and that this behaviour is because ISDN doesn't support call transfers. It would have to support call transfer if the T1/E1 port was connected to a channel bank with a bunch of extension phones attached. Has anyone used a channel bank and, if so, what protocol is used on the T1/E1 port?
0
 
grbladesCommented:
Yes it could be that ISDN does not support call features like putting people on hold and therefore asterisk is deliberetly not allowing that feature of the dial command as there is no way to get the caller back.

What are you passing the incoming calls onto. I assume it is a channel bank or another PBX?
0
 
feptiasAuthor Commented:
> "...there is no way to get the caller back"
I assumed Asterisk would still be able to detect # from the IVR once the call had been put on hold in just the same way as Recall from a POTS phone can be used to put the call on hold and also to retrieve it.

No, I don't use a channel bank which is why I asked if other users have experience of these.

The application is, approx, as follows:
Incoming call from PSTN arrives at Asterisk port1 on ISDN. Asterisk forwards it to the IVR on port2. IVR plays some voice files and IVR menus including option to transfer this call to a remote user. That user might be on a mobile phone or a landline or a SIP target etc. So Asterisk needs to be able to transfer the call out on another channel on port1 (via PSTN) or out on SIP to a remote SIP server.

I'm not trying to use call transfer on the ISDN connection from the local exchange. I am trying to spoof call transfer locally (inside the Asterisk server) so there will be an inward leg and a separate outward leg for each transferred call with Asterisk acting like a PBX doing trunk-to-trunk transfers. It works fine using the keypad on a POTS phone connected to an FXS port, but not so far using an E1 port with pri_net ISDN protocol. (I want to keep that protocol for the connection to the IVR because, when Asterisk needs some serious maintenance work, I can simply connect the ISDN line directly into the IVR so bypassing the Asterisk box, albeit with reduced functionality).
0
 
grbladesCommented:
I suggest you post a bug at http://bugs.digium.com/main_page.php and see what the developers say.
You could also try emailing digium support.
0
 
feptiasAuthor Commented:
Started doing some more testing before raising as a bug with Digium. This is embarrassing! It was a typo in the Dial command that was the cause of the problem. When you use a macro in the Dial command they say to separate the arguments sent to Dial using | instead of comma. I had both | and comma together so all my args were effectively pushed along by one and the options (third arg) were not seen.

Will crawl into dark hole and look up how to close a question when it was your own stupidity that created the problem.

Many thanks for your help.
0
 
grbladesCommented:
no objections
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.