CID or CLID (Caller ID) the solution for UK with a TDM400


thanks to the support of Digium I have sucessfully configured a TDM400 to :

  1. receive a CID from BT line at each time on incoming calls on an analogue line

  2. push a CID on an internal analogue line to which is connected an analogue phone (DECT) which supports CID on BT line.

The solution is posted on … +Caller+ID
and may have been improved by other guys later on.

You can also get also get it at the time of posting as working on my system today

To get callerid to work with the TDM400 you have to add a few options to the zapata.conf, These are,

; in the global section
cidsignalling=v23 ; Added for UK CLI detection
cidstart=polarity ; Added for UK CLI detection

For your incoming BT line connected to an FXO module (red)

immediate=yes ; will take the line on the first ring
callerid=asreceived ; propagate the CID received from BT

for your internal analogue phone lines connected to an FSX module (green)

sendcalleridafter=2 ; the hidden option given by Slav from Digium
callerid=“Dominique DECT”<621> ; the CID that any call make from this line will pushed to other phone

In your file extension.conf I advise you to add a debug statment which will help you to see from your asterisk log if you receive the CID
You need to add the “o” flag in the Dial command to push the CID

incoming ; I assume that incoming call are routed to the incoming context.
exten => s,1,Verbose(Incoming call from BT line — CallerID=${CALLERID}) ; add a debug line with the received CID on asterisk console
exten => s,n,Dial(Zap/1,90,190,o) ;dial DECT base via analog interface the “o” flag push the CID as received