TTS & ${CALLERID(number)}

Hello,

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.

Maybe

Voip-info.org/wiki/view/Asterisk+cmd+SayDigits

Works for you.

dicko,

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.

Thanks!

You are welcome :slight_smile: glad it works.

Here is another way courtesy of dicko

${CALLERID(number):0:3}-${CALLERID(number):3:3}-${CALLERID(number):6}

This assumes NANP dialing, but works perfectly!