Asterisk vs ISDN

Some information on how to conect Asterisk to the ISDN
Chapter 5:

Usual configuration issues

Last update:
2020-03-29
<-- Chapter 4
Conclusion / Contact
^
index
Chapter 6 -->
Sources / Download links
 
 

 

Usual issues AKA Pitfalls

Some of the usual suspects of where to put ones foot in it.

Sending faxes out an ISDN line

By default Asterisk will send out all calls with the BC set to speech.
That causes two sorts of problems when sending faxes:
  1. If the called party has ISDN as well and is able to check the BC, it will probably reject the call, because a fax machine won't support speech.
  2. It will allow your carrier or some intermediate carrier to use lossy codecs which will make data transmission impossible.
The solution is to always use a Set(CHANNEL(transfercapability)=3K1AUDIO) before you Dial() out.

DTMF not working from SIP to LCR

If you use a SIP phone and dial out using LCR you might be unable to use DTMF controlled IVRs.
This happens if you have your sip peers configured for out-of-band DTMF transmission, which is usually a good idea, preferably using RFC 2833.
In that case you need to pass option s in the dial destination to make LCR generate inband DTMF again when it receives DTMF messages from Asterisk.
e.g. Dial(LCR/bri1/${EXTEN}/s,${dialtime},${dialoptions})

False DTMF on calls coming in via LCR

Intermittent / sporadic DTMF tones generaded on the other channel or features activated even if the user didn't enter any digits.
By default, the m1SDN_DSP module is somewhat oversensitive and is known to produce false positives on DTMF detection.
Add dtmfthreshold=200 (or up to 400) to your modprobe m1SDN_dsp or your modprobe.conf.

Busy instead of dialtone when lifting the handset (DAHDI)

You have a phone connected to Asterisk using cahn_dahdi in NT-Mode and when you lift the receiver to dial, you get no dialtone, but hear a busy tone instead and no dialling is possible.
This is normal with the default configuration, it always expects en-block dialling. Depending on the equipment used, you may be able to enter the complete number first and then lift the handset when done and be connected.
To enable overlap dialling, set immediate=yes in chan_dahdi.conf. Additionally you need a s extension in the corresponding context in extensions.conf, like e.g. exten => s,1,WaitExten(20).
On newer versions of DAHDI (or probably more like newer versions of Asterisk) the behaviour seems to have changed. You now need overlapdial=yes and immediate=no in your chan_dahdi.conf.
Beware: Getting overlap dialling fully working in your dialplan including match-as-you-go can be a little tricky.

Unable to set caller ID (DAHDI)

If the caller ID displayed to the people you're calling is always your main number, no matter what you specify with Set(CALLERID(num)=12345), make sure your chan_dahdi.conf contains prilocaldialplan=unknown.

Outgoing calls are rejected (DAHDI)

or

International calls are rejected while national calls work fine

Either calls are rejected immediately or almost immediately, usually with some rather unspecific cause code.
Unlike what the (older) sample config states, make sure you have both pridialplan=unknown and prilocaldialplan=unknown in chan_dahdi.conf.
This is the safest choice and should only be changed if you have a special reson to do so and you know what you're doing. This is also true for pricpndialplan=unknown.
Depending on the way you set caller IDs it can make sense to change prilocaldialplan and pricpndialplan if you have DDI, however.

Having pridialplan=national will only allow you to call national numbers without long distance access codes.
If you already have national calls working and change the parameters from national to unknown, make sure to add the long distance prefix for national calls, if required.

Another cause for this issue may be the transmission of CALLERID(name) as a Display IE. To switch that off, use hidecalleridname=yes.

On incoming calls only the first dialled digit is recognised (DAHDI)

Make sure you have overlapdial=yes in your chan_dahdi.conf.
 

 

 
<-- Chapter 4
Conclusion / Contact
^
index
Chapter 6 -->
Sources / Download links