Troubleshooting missing caller ID on Analog calls

If you have an analog telephony card installed and are not receiving caller ID for incoming calls, the first thing to check is whether the telco is sending caller ID with those calls. This can be done by obtaining a dahdi_monitor capture when a call is received.

Using dahdi_monitor to check for caller ID

  1. From the shell, run the following command:

dahdi_monitor <channel> -v -m -r post-rx-on.wav -R pre-rx-on.wav
 

Note: You will need to replace "<channel>" with the actual channel number on which that call is being received.

  1. While dahdi_monitor is running, place an inbound test call so that it comes in over the channel you are monitoring.

  2. Allow the call to be answered by the PBX as normal, and then hang it up.

  3. Press Ctrl + c to stop dahdi_monitor.

  4. You can open the .wav files that were recorded in a sound editor to listen to them. You will need to be listening for the CID tones to see if they are being sent. In North America the CID tones are typically sent between the first and second ring, but in other parts of the world this may differ.

  5. If there are no CID tones in the capture, then chances are the telco is not sending it and you will need to contact them.

Note: It's also possible that the telco may be sending the CID before the driver is ready. Please make sure that you have the correct opermode for your country set for the card driver in the /etc/modprobe.d/dahdi.conf file (you will need to restart DAHDI for any changes to take effect).

Verifying the caller ID settings for analog lines

If after checking to the audio recording you have determined that CID is being sent, then the next thing to check would be the settings for your analog channels.

You can try different combinations of settings in the chan_dahdi.conf file, and you may find a combination that works, but if no combination provides results then you will need to determine what the settings should be for your locale.

 

An easy way to determine what the settings cidstart and cidsignalling should be set to in chan_dahdi.conf is to listen to the CID coming across the line on an inbound call (using dahdi_monitor).

 

The available settings for cidsignalling are: bell, v23, v23_jp, dtmf, smdi

  1. Using dahdi_monitor to listen to the call, if you hear a several DTMF tones coming in before the call is answered, then cidsignalling should be set to dtmf.

  2. Otherwise, the CID tones it will sound like a dial up modem when it comes across the line, and that is known as FSK. The values bell, v23, and v23_jp can be used for scenarios like this.
     

The available settings for cidstart are: ring, polarity, polarity_IN and dtmf

  1. Using dahdi_monitor, determine at what point the CID comes in on the channel in relation to rings or polarity reversals. In the US you can expect to see one ring, then hear the CID (FSK tones), followed by additional rings.

  2. If the telco is using polarity reversals, you can see this in the Asterisk debug output when a polarity reversal occurs.

 

If you are still not receiving caller ID after this, please contact Digium Technical Support for assistance.

Unable to render {include} The included page could not be found.