(yup, another post, I’m preparing a deployment and there’s much to do!)
So, a dial-by-name directory, really useful. The default 411 feature code launches pbdirectory and with all the generosity in the world - it’s not very good.
The other application ‘directory’ much much better, but is accessible only as a destination from an IVR or similar. So I’ve disabled the 411 feature code, and added an entry to extensions_custom.conf to use that code to launch directory.
exten => _411,1,Goto(directory,1,1)
Great, now users can access it directly. It’s worth adding an entry into ‘custom extensions’ to allocate that number to prevent mistakes later on.
Ok, so, to the issues:
When adding each extension that is accessible via the directory, three options are given for speaking the name. The system will play the users own recorded name from the voicemail account (if they have one / recorded one), or it will speak it using TTS, or it will spell the name out.
Setting an extension to ‘greeting’ works great, but here’s the kicker, if there is no recorded name for that extension, the app proceeds to spell the name instead. Spelling the name is painful, it would be far better if it failed over to TTS instead. So that’s request one.
The second is the TTS used. Flite, I assume. Awful (but free and standard, so there’s that) I actually have a licence for Cepstral, and have used the TTS Engine module to point at it, but I can’t find a way to get directory to use it. I don’t mind using any TTS engine at all, just something better than flite!
So, 1) Could directory use TTS as it’s second choice instead of spelling, and 2) can it use a different TTS engine?
Ok, now that I’ve wrote all this, I’m going to dig into the code. I fully expect the PBX to shout at me for doing so, and I don’t yet know if the file is obfuscated, or for that matter, where the file is! Wish me luck!