TTS & ${CALLERID(number)}


I have been using the TTS application to speak Caller ID.
I have a TTS:
Main settings:

  • Name: CID
  • Text: ${CALLERID(number)}

It “works” in that it will speak the caller ID, but does so as a number (2,223,331,111) instead of text (two-two-two-three-three-three-one-one-one-one).

Is there something I can do to make it read the CID back one character at a time?

Thanks for any help or direction you can provide.


Works for you.


Thanks. I tried to put SayDigits(${CALLERID(number)}) into the Text field, and it did not seem to work. What comes out is something different, but not quite right (CID:2223331111): “Say Digits twenty-two, twenty-three, thirty-three, eleven, eleven”

Any other ideas anyone?

No text to speech needed, that function uses text to Alison. But if you insist on TTS , you could separate the digits with spaces, or if your engine supports it add a dash between areacode, office code and subscriber values.

Perhaps you need to look at another approach:

Build a custom context that sets the CID as a string of spaced digits. Add the appropriate code to the “Misc Applications” or “Custom Context”. Add this custom context to the end (or beginning) of the “from-custom-pstn” context to make sure it’s included in the context streams. In this context, create a new database entry, maybe CALLERID(inddigits) (?) and use that in your “SayDigits()” call. The “inddigits” entry would be a simple curry of the string into a space-delimited string of the digits.


You are welcome :slight_smile: glad it works.

Here is another way courtesy of dicko


This assumes NANP dialing, but works perfectly!