Skip to main content



mod_ssml implements the SSML (Speech Synthesis Markup Language) and TTS (text-to-speech) file formats.

This module is used primarily by mod_rayo.

Click here to expand Table of Contents


Tell FreeSWITCH to compile in this module by editing modules.conf in /usr/src/freeswitch/trunk and adding:


Now go recompile FreeSWITCH.

make install

Tell FreeSWITCH to actually use the module when running by adding the module to modules.conf.xml in /usr/local/freeswitch/conf/autoload_configs:

<load module="mod_ssml"/>

ssml.conf.xml Configuration

The conf/autoload_configs/ssml.conf.xml file contains the configuration. An example configuration is located in formats/mod_ssml/conf/autoload_configs/ssml.conf.xml.

It is recommended that you start with the example config and adjust the settings as needed!


This section defines all the available voice languages and genders. mod_ssml will search these voices for the closet match.

    <!-- voices in order of preference -->
<voice name="slt" language="en-US" gender="female" prefix="tts://flite|slt|"/>
<voice name="kal" language="en-US" gender="male" prefix="tts://flite|kal|"/>
<voice name="rms" language="en-US" gender="male" prefix="tts://flite|rms|"/>
<voice name="awb" language="en-US" gender="male" prefix="tts://flite|awb|"/>

Say module integration

These sections map languages to the appropriate FreeSWITCH say module (like mod_say_en), define say voices in order of preference, and map interpret-as to the say types and methods

    <!-- say voices in order of preference -->
<voice name="callie" language="en-US" gender="female" prefix="$${sounds_dir}/en/us/callie/"/>

<!-- maps ISO language to say module -->
<language iso="en-US" say-module="en" language="en"/>

<!-- map interpret-as to say macros -->
<macro name="cardinal" method="pronounced" type="number"/>
<macro name="characters" method="pronounced" type="name_spelled"/>

ssml:// format

To use the format:

ssml://<speak xmlns="" version="1.0" xml:lang="en-US"><p>Hello there!</p></speak>

tts:// format

To use the format:

  tts://flite|slt|Hello there!