[Freeswitch-users] Voicemail

trixter aka Bret McDanel trixternospam at 0xdecafbad.com
Tue Dec 4 20:54:35 PST 2007


> On Dec 4, 2007, at 9:59 PM, Peder @ NetworkOblivion wrote:
> 
> > Am I to assume that voicemail requires Cepstral?  I setup a dialplan  
> > to
> > test and I get the following debug when the call rolls to voicemail:
> >
There seems to be some confusion about what is going on, so I will try
to explain on the list for everyone.  :)

The phrase subsystem allows you to define whether or not you will use
sound files, TTS or whatever.  This is defined in freeswitch.xml in the
section 'phrases'.  You can define the language, which can be changed
via a channel variable for a particular call, you can define what the
prompts actually are, etc.

This offers a great deal of flexibility, and allows proper usage of
different languages since not all will say things the same way.
Examples are dates/times (Dutch will use a 24 hour clock, and 'half elf'
means 11:30a in English/American for example).  Other things can be done
properly, for example "You have 2 messages" in Japnaese cannot use 'ni'
for 2 since that would be like saying 'two-cycle' in English so you can
have proper language sensitive prompts for different languages and
define what is said via a combination of a module (which provides the
logic for how to say numbers, counts, currency, dates etc) and XML which
defines the actual phrases to be used.

You are free to use any sound files that you want, subject to the
licensing terms of those sound files.  They can be in any format that FS
understands (based on a format module that provides the capability to
read and understand a given file format).  There are a couple of
different modules that provide native (no transcoding), various common
formats and mp3.  In addition other formats can be supported by adding
new modules, since the playback parts are abstracted it would require no
code changes to any other modules or to the core to add new formats for
playback.

The abstraction layer exists so that you can have different TTS engines,
although currently cepstral is the only one that exists - all without
the things that are going to use it knowing anything specific about
them, different file formats, again without different parts knowing
anything specific, etc.  

A tip - if you use mod_xml_curl (the configuration stuff is abstracted
too :) you can fetch the phrases xml data from a web server as its
requested so you could make decisions on which one to return based on
the specific call.  So you could allow for people to have more selection
in which voice they get (either set of recordings or TTS) whether they
use TTS or recordings, what the actual content would be, etc.  This
allows for a very high level of customization that is generally not
available in other telephony products (commercial or otherwise).

Another tip - xml_curl isnt the only way to get config data, a module
can be written that will pull it from anywhere, any source, and generate
the XML data which then gets fed into FS.  xml_curl is a good example of
how to do this, and can be used as a reference work for obtaining the
data from any number of sources.


> > I uncommented the cepstral line in modules.conf.xml and I get the  
> > following:
> >
> > 2007-12-04 21:52:08 [CRIT] switch_loadable_module.c:726
> > switch_loadable_module_load_file() Error Loading module
> > /usr/local/freeswitch/mod/mod_cepstral.so
> > **/usr/local/freeswitch/mod/mod_cepstral.so: cannot open shared object
> > file: No such file or directory**
> >
In addition to uncommenting it in modules.conf.xml it must be built,
that error 'no such file or directory' means that it was not installed
(modules.conf in the main src directory).  In order for it to be built,
you have to have libswift.so/dll which is installed as part of a voice
from cepstral.

If you get a voice without a license you can use it for testing, it will
add a 'nag phrase' saying that it is not registered, but it lets you
test and play with it, without actually spending anything.  I *think* a
single channel license is $20 which will remove the nag message.


-- 
Trixter http://www.0xdecafbad.com     Bret McDanel
Belfast +44 28 9099 6461        US +1 516 687 5200
http://www.trxtel.com the phone company that pays you!





More information about the FreeSWITCH-users mailing list