by lunarg on November 6th 2007, at 22:57

The trouble with PSTN lines is that the CID has to be transmitted in-band, and there are more than one standard in doing this. On top of that, there are small differences between the various Telcos on the planet. And finally, to make things worse, documentation about it, is sparse and scattered at best.

The settings displayed usually go in /etc/asterisk/zapata.conf (either directly, or by inclusion).

How CID is handled is defined by the following variables:

  • cidsignalling: tells how the CID signalling occurs, can be bellcore (mostly US hardware), v23, or dtmf.
  • cidstart: specifies how the start of the CID transmission is indicated. Can be polarity (the polarity on the wire is switched), or ring (transmission starts after/before a ring).
  • sendcalleridafter: if cidstart is ring, tells after how many rings the CID is transmitted. Specify 0 to have the CID expected before any ring.
  • callerid: set this to asreceived on your PSTN line to enable CID detection altogether.

Some Telco specific settings

Belgacom (Belgium)

The following settings have been verified to work on a Belgacom Twin line (one ISDN, interfacing to two PSTN lines), with a Digium TDM400p: