<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.osgrid.org/index.php?action=history&amp;feed=atom&amp;title=Freeswitch_HowTo</id>
	<title>Freeswitch HowTo - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.osgrid.org/index.php?action=history&amp;feed=atom&amp;title=Freeswitch_HowTo"/>
	<link rel="alternate" type="text/html" href="http://wiki.osgrid.org/index.php?title=Freeswitch_HowTo&amp;action=history"/>
	<updated>2026-10-25T10:24:23Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>http://wiki.osgrid.org/index.php?title=Freeswitch_HowTo&amp;diff=1251&amp;oldid=prev</id>
		<title>Osgridadmin at 22:40, 15 October 2026</title>
		<link rel="alternate" type="text/html" href="http://wiki.osgrid.org/index.php?title=Freeswitch_HowTo&amp;diff=1251&amp;oldid=prev"/>
		<updated>2026-10-15T22:40:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:40, 15 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l17&quot;&gt;Line 17:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 17:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     xml_int/mod_xml_curl&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     xml_int/mod_xml_curl&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* You can also use this [http://madhawa.com/?p=10 guide] for setting it up in a quick way -- [[User:Fly-man-|Fly-man-]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==FreeSwitch Config==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==FreeSwitch Config==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Osgridadmin</name></author>
	</entry>
	<entry>
		<id>http://wiki.osgrid.org/index.php?title=Freeswitch_HowTo&amp;diff=49&amp;oldid=prev</id>
		<title>Osgridadmin: Created page with &quot;__NOTOC__ {{Template:Quicklinks}} &lt;br /&gt;  The FreeSwitch module enables voice in opensim with no changes required to the SL or Hippo clients (must be over 1.22 for SL and 0.5...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.osgrid.org/index.php?title=Freeswitch_HowTo&amp;diff=49&amp;oldid=prev"/>
		<updated>2017-12-29T00:49:54Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;__NOTOC__ {{Template:Quicklinks}} &amp;lt;br /&amp;gt;  The FreeSwitch module enables voice in opensim with no changes required to the SL or Hippo clients (must be over 1.22 for SL and 0.5...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Template:Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The FreeSwitch module enables voice in opensim with no changes required to the SL or Hippo clients (must be over 1.22 for SL and 0.5 for Hippo)&lt;br /&gt;
&lt;br /&gt;
== FreeSwitch Install == &lt;br /&gt;
&lt;br /&gt;
Follow the instructions [http://wiki.freeswitch.org/wiki/Installation_Guide here] on how to compile from source. We need to enable two specific modules.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
please ensure you compile from the freeswitch trunk for now until we can post a minimum version number (there are known issues with older versions)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
When you get to the part in the instructions where it says  &amp;quot;&amp;#039;&amp;#039;&amp;#039;Edit modules.conf so that it will build the modules you desire.&amp;#039;&amp;#039;&amp;#039;&amp;quot; edit the modules.conf file and uncomment out the entries for xml_curl and the siren14 codec&lt;br /&gt;
&lt;br /&gt;
    codecs/mod_siren&lt;br /&gt;
    and&lt;br /&gt;
    xml_int/mod_xml_curl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* You can also use this [http://madhawa.com/?p=10 guide] for setting it up in a quick way -- [[User:Fly-man-|Fly-man-]]&lt;br /&gt;
&lt;br /&gt;
==FreeSwitch Config==&lt;br /&gt;
&lt;br /&gt;
Install and compile Freeswitch, making sure you enable the xml_curl module and also the siren14 codec.&lt;br /&gt;
&lt;br /&gt;
=== enable mod_xml_curl ===&lt;br /&gt;
&lt;br /&gt;
Next, do not forget to activate mod_xml_curl in /usr/local/freeswitch/conf/autoload_configs/modules.conf.xml. mod_xml_curl is disabled by default on fresh install.&lt;br /&gt;
&lt;br /&gt;
uncomment the lines...&lt;br /&gt;
    &amp;lt;load module=&amp;quot;mod_xml_curl&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and &lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;load module=&amp;quot;mod_siren&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== configure mod_xml_curl === &lt;br /&gt;
&lt;br /&gt;
the xml_curl module configuration should point to an opensim region that has the freeswitch voice module enabled (voice also needs to be enabled in the estate setting for all regions)&lt;br /&gt;
&lt;br /&gt;
example xml_curl.conf.xml  found in /usr/local/freeswitch/conf/autoload_configs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;configuration name=&amp;quot;xml_curl.conf&amp;quot; description=&amp;quot;cURL XML Gateway&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;bindings&amp;gt;&lt;br /&gt;
        &amp;lt;binding name=&amp;quot;example&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;param name=&amp;quot;gateway-url&amp;quot; value=&amp;quot;http://youropensimregion:9000/api/freeswitch-config&amp;quot; bindings=&amp;quot;directory&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;param name=&amp;quot;gateway-credentials&amp;quot; value=&amp;quot;freeswitch:password&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;param name=&amp;quot;disable-100-continue&amp;quot; value=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/binding&amp;gt;&lt;br /&gt;
        &amp;lt;binding name=&amp;quot;local&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;param name=&amp;quot;gateway-url&amp;quot; value=&amp;quot;http://youropensimregion:9000/api/freeswitch-config&amp;quot; bindings=&amp;quot;dialplan&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;param name=&amp;quot;gateway-credentials&amp;quot; value=&amp;quot;freeswitch:password&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;param name=&amp;quot;disable-100-continue&amp;quot; value=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/binding&amp;gt;&lt;br /&gt;
  &amp;lt;/bindings&amp;gt;&lt;br /&gt;
  &amp;lt;/configuration&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The /usr/local/freeswitch/conf/vars.xml requires modification to enable the siren14 codec&lt;br /&gt;
&lt;br /&gt;
search within vars.xml for the global_codec_prefs and change the line to read&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;X-PRE-PROCESS cmd=&amp;quot;set&amp;quot; data=&amp;quot;global_codec_prefs=G7221@32000h,G722,PCMU,PCMA,GSM&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;X-PRE-PROCESS cmd=&amp;quot;set&amp;quot; data=&amp;quot;global_codec_prefs=G7221@32000h,G7221@16000h,G722,PCMU,PCMA,GSM&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
G7221@32000h is the siren14 codec&lt;br /&gt;
&lt;br /&gt;
=== configure conference.conf.xml ===&lt;br /&gt;
By default, FreeSwitch plays hold music when there is only one avatar in the conference and beeps for everyone when avatars arrive and leave.  To disable, edit /usr/local/freeswitch/conf/autoload_configs/conference.conf.xml.  Locate the &amp;quot;default&amp;quot; profile and comment out the following lines as shown below:&lt;br /&gt;
 &lt;br /&gt;
       [...]&lt;br /&gt;
       &amp;amp;lt;!-- File to play if you are alone in the conference --&amp;amp;gt;&lt;br /&gt;
       &amp;amp;lt;!-- &amp;amp;lt;param name=&amp;quot;alone-sound&amp;quot; value=&amp;quot;conference/conf-alone.wav&amp;quot;/&amp;amp;gt; --&amp;amp;gt;&lt;br /&gt;
       [...]&lt;br /&gt;
       &amp;amp;lt;!-- File to play when you&amp;#039;re alone (music on hold)--&amp;amp;gt;&lt;br /&gt;
       &amp;amp;lt;!-- &amp;amp;lt;param name=&amp;quot;moh-sound&amp;quot; value=&amp;quot;$${hold_music}&amp;quot;/&amp;amp;gt; --&amp;amp;gt;&lt;br /&gt;
       &amp;amp;lt;!-- File to play when you join the conference --&amp;amp;gt;&lt;br /&gt;
       &amp;amp;lt;!-- &amp;amp;lt;param name=&amp;quot;enter-sound&amp;quot; value=&amp;quot;tone_stream://%(200,0,500,600,700)&amp;quot;/&amp;amp;gt; [^] --&amp;amp;gt;&lt;br /&gt;
       &amp;amp;lt;!-- File to play when you leave the conference --&amp;amp;gt;&lt;br /&gt;
       &amp;amp;lt;!-- &amp;amp;lt;param name=&amp;quot;exit-sound&amp;quot; value=&amp;quot;tone_stream://%(500,0,300,200,100,50,25)&amp;quot;/&amp;amp;gt; [^] --&amp;amp;gt;&lt;br /&gt;
       &amp;amp;lt;!-- File to play when you ae ejected from the conference --&amp;amp;gt;&lt;br /&gt;
       &amp;amp;lt;!-- &amp;amp;lt;param name=&amp;quot;kicked-sound&amp;quot; value=&amp;quot;conference/conf-kicked.wav&amp;quot;/&amp;amp;gt; --&amp;amp;gt;&lt;br /&gt;
       [...]&lt;br /&gt;
&lt;br /&gt;
==OpenSim Config==&lt;br /&gt;
&lt;br /&gt;
Add the following section to OpenSim.ini. You will also need to enable voice in the regions estate settings. Make sure the freeswitch server is started BEFORE bringing the region up.&lt;br /&gt;
&lt;br /&gt;
    [FreeSwitchVoice]&lt;br /&gt;
    enabled = true&lt;br /&gt;
    ;FreeSwitch server is going to contact us and ask us all&lt;br /&gt;
    ;sorts of things.&lt;br /&gt;
    freeswitch_server_user = freeswitch&lt;br /&gt;
    freeswitch_server_pass = password&lt;br /&gt;
    freeswitch_api_prefix = /api&lt;br /&gt;
    ;The  IP address of your opensim voice region&lt;br /&gt;
    freeswitch_service_server = youropensimexternalIP&lt;br /&gt;
    ;the port your region is running on&lt;br /&gt;
    freeswitch_service_port = 9000 &lt;br /&gt;
    ;your freewitch IP address&lt;br /&gt;
    freeswitch_realm = 192.168.0.2&lt;br /&gt;
    freeswitch_sip_proxy = 192.168.0.2:5060&lt;br /&gt;
    freeswitch_attempt_stun = false&lt;br /&gt;
    freeswitch_stun_server = 192.168.0.2&lt;br /&gt;
    freeswitch_echo_server = 192.168.0.2&lt;br /&gt;
    freeswitch_echo_port = 50505&lt;br /&gt;
    freeswitch_well_known_ip = 192.168.0.2&lt;br /&gt;
    freeswitch_default_timeout = 5000&lt;br /&gt;
    freeswitch_subscribe_retry = 120&lt;br /&gt;
&lt;br /&gt;
It appears to work better if the IP address you put in for &amp;quot;youropensimexternalIP&amp;quot; also appears in all the subsequent slots in place of 192.168.0.2.&lt;/div&gt;</summary>
		<author><name>Osgridadmin</name></author>
	</entry>
</feed>