Freeswitch Module

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m
Line 1: Line 1:
{{Template:Quicklinks}}
+
{{Template:Quicklinks}} <br>  
<br />
+
  
The FreeSWITCH module enables voice in OpenSim with no changes required to the Linden Labs Second Life viewer (must be between 1.22 and 1.23.5 - 2.x viewers do not work at present), Hippo viewer (0.5 or after), and perhaps others using SLvoice.exe module.
+
The FreeSWITCH module enables voice in OpenSim with no changes required to the Linden Labs Second Life viewer (must be between 1.22 and 1.23.5 - 2.x viewers do not work at present), Hippo viewer (0.5 or after), and perhaps others using SLvoice.exe module.  
  
A little history on the development of the FreeSWITCH module is given here:
+
A little history on the development of the FreeSWITCH module is given here:  
* http://zaki.asia/2009/04/28/freeswitch-module-in-opensim/
+
  
== FreeSwitch Install ==
+
*http://zaki.asia/2009/04/28/freeswitch-module-in-opensim/
  
Follow the instructions [http://wiki.freeswitch.org/wiki/Installation_Guide here] on how to compile from source. We need to enable two specific modules.
+
== FreeSwitch Install  ==
'''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)'''
+
  
When you get to the part in the instructions where it says "'''Edit modules.conf so that it will build the modules you desire.'''" edit the modules.conf file and uncomment to make active the entries for xml_curl and the siren14 codec
+
Follow the instructions [http://wiki.freeswitch.org/wiki/Installation_Guide here] on how to compile from source. We need to enable two specific modules. '''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)'''
 +
 
 +
When you get to the part in the instructions where it says "'''Edit modules.conf so that it will build the modules you desire.'''" edit the modules.conf file and uncomment to make active the entries for xml_curl and the siren14 codec  
  
 
     codecs/mod_siren
 
     codecs/mod_siren
    and
+
  and
    xml_int/mod_xml_curl
+
  xml_int/mod_xml_curl
  
 +
<br>
  
* You can also use this [http://madhawa.com/?p=10 guide] for setting it up in a quick way -- [[User:Fly-man-|Fly-man-]]
+
*You can also use this [http://madhawa.com/?p=10 guide] for setting it up in a quick way -- [[User:Fly-man-|Fly-man-]]
  
==FreeSwitch Config==
+
== FreeSwitch Config ==
  
Install and compile Freeswitch, making sure you enable the xml_curl module and also the siren14 codec.
+
Install and compile Freeswitch, making sure you enable the xml_curl module and also the siren14 codec.  
  
=== enable mod_xml_curl ===
+
=== enable mod_xml_curl ===
  
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.
+
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.  
  
uncomment the lines...
+
uncomment the lines...  
     <load module="mod_xml_curl"/>
+
 
 +
     &lt;load module="mod_xml_curl"/&gt;
  
 
and  
 
and  
 
    <load module="mod_siren"/>
 
  
=== configure mod_xml_curl ===
+
    &lt;load module="mod_siren"/&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 you wish to be supported).
+
=== configure mod_xml_curl  ===
  
example xml_curl.conf.xml  found in /usr/local/freeswitch/conf/autoload_configs
+
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 you wish to be supported).  
  
 +
example xml_curl.conf.xml found in /usr/local/freeswitch/conf/autoload_configs
  
  <configuration name="xml_curl.conf" description="cURL XML Gateway">
+
<br>  
  <bindings>
+
        <binding name="example">
+
                <param name="gateway-url" value="http://youropensimregionip:9000/api/freeswitch-config" bindings="directory"/>
+
                <param name="gateway-credentials" value="freeswitch:password"/>
+
                <param name="disable-100-continue" value="true"/>
+
        </binding>
+
        <binding name="local">
+
                <param name="gateway-url" value="http://youropensimregionip:9000/api/freeswitch-config" bindings="dialplan"/>
+
                <param name="gateway-credentials" value="freeswitch:password"/>
+
                <param name="disable-100-continue" value="true"/>
+
        </binding>
+
  </bindings>
+
  </configuration>
+
  
 +
  &lt;configuration name="xml_curl.conf" description="cURL XML Gateway"&gt;
 +
&lt;bindings&gt;
 +
      &lt;binding name="example"&gt;
 +
              &lt;param name="gateway-url" value="http://youropensimregionip:9000/api/freeswitch-config" bindings="directory"/&gt;
 +
              &lt;param name="gateway-credentials" value="freeswitch:password"/&gt;
 +
              &lt;param name="disable-100-continue" value="true"/&gt;
 +
      &lt;/binding&gt;
 +
      &lt;binding name="local"&gt;
 +
              &lt;param name="gateway-url" value="http://youropensimregionip:9000/api/freeswitch-config" bindings="dialplan"/&gt;
 +
              &lt;param name="gateway-credentials" value="freeswitch:password"/&gt;
 +
              &lt;param name="disable-100-continue" value="true"/&gt;
 +
      &lt;/binding&gt;
 +
&lt;/bindings&gt;
 +
&lt;/configuration&gt;
  
The /usr/local/freeswitch/conf/vars.xml requires modification to enable the siren14 codec
+
<br> The /usr/local/freeswitch/conf/vars.xml requires modification to enable the siren14 codec  
  
search within vars.xml for the global_codec_prefs and change the line to read
+
search within vars.xml for the global_codec_prefs and change the line to read  
  
     <X-PRE-PROCESS cmd="set" data="global_codec_prefs=G7221@32000h,G722,PCMU,PCMA,GSM"/>
+
     &lt;X-PRE-PROCESS cmd="set" data="global_codec_prefs=G7221@32000h,G722,PCMU,PCMA,GSM"/&gt;
  
or
+
or  
  
     <X-PRE-PROCESS cmd="set" data="global_codec_prefs=G7221@32000h,G7221@16000h,G722,PCMU,PCMA,GSM"/>
+
     &lt;X-PRE-PROCESS cmd="set" data="global_codec_prefs=G7221@32000h,G7221@16000h,G722,PCMU,PCMA,GSM"/&gt;
  
G7221@32000h is the siren14 codec
+
G7221@32000h is the siren14 codec  
  
=== configure conference.conf.xml ===
+
=== configure conference.conf.xml ===
 +
 
 +
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 "default" profile and comment out the following lines as shown below:
  
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 "default" profile and comment out the following lines as shown below:
 
 
      [...]
 
      &lt;!-- File to play if you are alone in the conference --&gt;
 
      &lt;!-- &lt;param name="alone-sound" value="conference/conf-alone.wav"/&gt; --&gt;
 
      [...]
 
      &lt;!-- File to play when you're alone (music on hold)--&gt;
 
      &lt;!-- &lt;param name="moh-sound" value="$${hold_music}"/&gt; --&gt;
 
      &lt;!-- File to play when you join the conference --&gt;
 
      &lt;!-- &lt;param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/&gt; [^] --&gt;
 
      &lt;!-- File to play when you leave the conference --&gt;
 
      &lt;!-- &lt;param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/&gt; [^] --&gt;
 
      &lt;!-- File to play when you ae ejected from the conference --&gt;
 
      &lt;!-- &lt;param name="kicked-sound" value="conference/conf-kicked.wav"/&gt; --&gt;
 
 
       [...]
 
       [...]
 +
    &lt;!-- File to play if you are alone in the conference --&gt;
 +
    &lt;!-- &lt;param name="alone-sound" value="conference/conf-alone.wav"/&gt; --&gt;
 +
    [...]
 +
    &lt;!-- File to play when you're alone (music on hold)--&gt;
 +
    &lt;!-- &lt;param name="moh-sound" value="$${hold_music}"/&gt; --&gt;
 +
    &lt;!-- File to play when you join the conference --&gt;
 +
    &lt;!-- &lt;param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/&gt; [^] --&gt;
 +
    &lt;!-- File to play when you leave the conference --&gt;
 +
    &lt;!-- &lt;param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/&gt; [^] --&gt;
 +
    &lt;!-- File to play when you ae ejected from the conference --&gt;
 +
    &lt;!-- &lt;param name="kicked-sound" value="conference/conf-kicked.wav"/&gt; --&gt;
 +
    [...]
  
==OpenSim Config==
+
== OpenSim Config ==
  
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.
+
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.  
  
 
     [FreeSwitchVoice]
 
     [FreeSwitchVoice]
    enabled = true
+
  enabled = true
    ; FreeSwitch server is going to contact us and ask us all sorts of things.
+
&nbsp;; FreeSwitch server is going to contact us and ask us all sorts of things.
    freeswitch_server_user = freeswitch
+
  freeswitch_server_user = freeswitch
    freeswitch_server_pass = password
+
  freeswitch_server_pass = password
    freeswitch_api_prefix = /api
+
  freeswitch_api_prefix = /api
    ; IP address of an opensim region with voice enabled
+
&nbsp;; IP address of an opensim region with voice enabled
    freeswitch_service_server = youropensimregionip
+
  freeswitch_service_server = youropensimregionip
    ; the port your Opensim region is running on
+
&nbsp;; the port your Opensim region is running on
    freeswitch_service_port = 9000  
+
  freeswitch_service_port = 9000  
    ; your freeswitch IP address
+
&nbsp;; your freeswitch IP address
    freeswitch_realm = yourfreeswitchserverip
+
  freeswitch_realm = yourfreeswitchserverip
    freeswitch_sip_proxy = yourfreeswitchserverip:5060
+
  freeswitch_sip_proxy = yourfreeswitchserverip:5060
    ; STUN = Simple Traversal of UDP through NATs
+
&nbsp;; STUN = Simple Traversal of UDP through NATs
    ; See http://wiki.freeswitch.org/wiki/NAT_Traversal
+
&nbsp;; See http://wiki.freeswitch.org/wiki/NAT_Traversal
    freeswitch_attempt_stun = false
+
  freeswitch_attempt_stun = false
    freeswitch_stun_server = stun.freeswitch.org
+
  freeswitch_stun_server = stun.freeswitch.org
    ; Echo server MAY not used but information MAY be
+
&nbsp;; Echo server MAY not used but information MAY be
    ; required to relay to Freeswitch server (TBC?)
+
&nbsp;; required to relay to Freeswitch server (TBC?)
    freeswitch_echo_server = yourfreeswitchserverip
+
  freeswitch_echo_server = yourfreeswitchserverip
    freeswitch_echo_port = 50505
+
  freeswitch_echo_port = 50505
    freeswitch_well_known_ip = yourfreeswitchserverip
+
  freeswitch_well_known_ip = yourfreeswitchserverip
    freeswitch_default_timeout = 5000
+
  freeswitch_default_timeout = 5000
    freeswitch_subscribe_retry = 120
+
  freeswitch_subscribe_retry = 120
    ; freeswitch_password_reset_url =
+
&nbsp;; freeswitch_password_reset_url =
    ; opensim_well_known_http_address = youropensimregionip
+
&nbsp;; opensim_well_known_http_address = youropensimregionip
    ; CHECK THIS...  should be Address_Of_Your_SIM_HTTP_Server_Hostname_Allowed
+
&nbsp;; CHECK THIS...  should be Address_Of_Your_SIM_HTTP_Server_Hostname_Allowed
  
Note that if you are running in Opensim grid mode, a single Freeswitch service on yourfreeswitchserverip can support multiple regions on one or more Opensim.exe running on one or more hosts. And the Freeswitch server need not be on the same host as the Opensim.exe used to anchor the connection.
+
Note that if you are running in Opensim grid mode, a single Freeswitch service on yourfreeswitchserverip can support multiple regions on one or more Opensim.exe running on one or more hosts. And the Freeswitch server need not be on the same host as the Opensim.exe used to anchor the connection.  
  
Note STUN server "stun.freeswitch.org" is an example only, and its availability should not be relied upon for a service.
+
Note STUN server "stun.freeswitch.org" is an example only, and its availability should not be relied upon for a service.  
  
== Firewall Config ==
+
== Firewall Config ==
  
Make sure that the ports used by Freeswitch are acessible though your firewall(s). In the example above the main port used is 5060 though other ports may be used for call initiation (port 1720 for H.323 Call Signaling) and dynamically assigned ports for specific call traffic. The usual H.323 and SIP traffic dynamic port handling on modern firewalls usually enables this.
+
Make sure that the ports used by Freeswitch are acessible though your firewall(s). In the example above the main port used is 5060 though other ports may be used for call initiation (port 1720 for H.323 Call Signaling) and dynamically assigned ports for specific call traffic. The usual H.323 and SIP traffic dynamic port handling on modern firewalls usually enables this.  
  
 
  Is port 50505 actually used, or is it just something that must be
 
  Is port 50505 actually used, or is it just something that must be
 
  reported by OpenSim when the Freeswitch service makes contact?
 
  reported by OpenSim when the Freeswitch service makes contact?
  
 +
<br> More details on the Freeswitch ports used and firewall configuration details are at http://wiki.freeswitch.org/wiki/Firewall
  
More details on the Freeswitch ports used and firewall configuration details are at http://wiki.freeswitch.org/wiki/Firewall
+
If you have problems with NAT/Routers look at using STUN (Simple Traversal of UDP through NATs). More information at http://wiki.freeswitch.org/wiki/NAT_Traversal  
 
+
If you have problems with NAT/Routers look at using STUN (Simple Traversal of UDP through NATs). More information at http://wiki.freeswitch.org/wiki/NAT_Traversal
+
  
== Errors & Solutions ==
+
== Issues &amp; Solutions ==
  
''' NOTE: FreeSwitch is not a core module and help may not be forthcoming to handle issues.'''
+
'''NOTE: FreeSwitch is not a core module and help may not be forthcoming to handle issues.'''  
  
--'''[ERR] mod_xml_curl.c:230 xml_url_fetch() Received HTTP error 0 trying to fetch''': To solve this error, get the last GIT of FreeSwitch, follow this instructions (for Ubuntu) [http://wiki.freeswitch.org/wiki/Ubuntu_Quick_Start#Updating_direct_from_Git here].
+
MAKE SURE the OpenSim region you point Freeswitch at IS NOT running when you start FreeSwitch.  
  
--'''mod_event_socket.c -> Socket Error Could not listen on 127.0.0.1:5060''': This means something is using the port 5060, usually freeswitch is already running, on Ubuntu, try the following command: netstat -npl | grep 85060
+
ALSO make sure that you have enabled voice in the "About Land"-&gt;"Voice" dialogue in the region, you will need to be a region admin to do this.  
If freeswitch is running, close is with: sudo freeswitch -stop OR sudo invoke-rc.d freeswitch stop
+
  
MAKE SURE the OpenSim region you point Freeswitch at IS NOT running when you start FreeSwitch.
+
Check the plot also has voice enabled. You must be a plot owner or have suitable permisison to do this. Recent Linden Labs Second Life viewers do not offer this option, so use Hippo or another client which does.  
  
ALSO make sure that you have enabled voice in the "About Land"->"Voice" dialogue in the region, you will need to be a region admin to do this.
+
{| cellspacing="1" cellpadding="1" border="1" align="left" style="width: 1010px; height: 66px;"
 +
|-
 +
! scope="col" | Issue <br>  
 +
! scope="col" | Resolution<br>
 +
|-
 +
| --[ERR] mod_xml_curl.c:230 xml_url_fetch() Received HTTP error 0 trying to fetch:<br>
 +
| To solve this error, get the last GIT of FreeSwitch, follow this instructions (for Ubuntu)&nbsp; [http://wiki.freeswitch.org/wiki/Ubuntu_Quick_Start#Updating_direct_from_Git here]<br>
 +
|-
 +
| --mod_event_socket.c -&gt; Socket Error Could not listen on 127.0.0.1:5060:<br>
 +
| This means something is using the port 5060, usually freeswitch is already running, on Ubuntu, try the following command: netstat -npl &#124; grep 85060 If freeswitch is running, close is with: sudo freeswitch -stop OR sudo invoke-rc.d freeswitch stop <br>
 +
|}
  
Check the plot also has voice enabled. You must be a plot owner or have suitable permisison to do this. Recent Linden Labs Second Life viewers do not offer this option, so use Hippo or another client which does.
+
<br>

Revision as of 11:46, 17 October 2010


The FreeSWITCH module enables voice in OpenSim with no changes required to the Linden Labs Second Life viewer (must be between 1.22 and 1.23.5 - 2.x viewers do not work at present), Hippo viewer (0.5 or after), and perhaps others using SLvoice.exe module.

A little history on the development of the FreeSWITCH module is given here:

Contents

FreeSwitch Install

Follow the instructions here on how to compile from source. We need to enable two specific modules. 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)

When you get to the part in the instructions where it says "Edit modules.conf so that it will build the modules you desire." edit the modules.conf file and uncomment to make active the entries for xml_curl and the siren14 codec

   codecs/mod_siren
 and
 xml_int/mod_xml_curl


  • You can also use this guide for setting it up in a quick way -- Fly-man-

FreeSwitch Config

Install and compile Freeswitch, making sure you enable the xml_curl module and also the siren14 codec.

enable mod_xml_curl

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.

uncomment the lines...

   <load module="mod_xml_curl"/>

and

   <load module="mod_siren"/>

configure mod_xml_curl

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 you wish to be supported).

example xml_curl.conf.xml found in /usr/local/freeswitch/conf/autoload_configs


 <configuration name="xml_curl.conf" description="cURL XML Gateway">
<bindings>
     <binding name="example">
             <param name="gateway-url" value="http://youropensimregionip:9000/api/freeswitch-config" bindings="directory"/>
             <param name="gateway-credentials" value="freeswitch:password"/>
             <param name="disable-100-continue" value="true"/>
     </binding>
     <binding name="local">
             <param name="gateway-url" value="http://youropensimregionip:9000/api/freeswitch-config" bindings="dialplan"/>
             <param name="gateway-credentials" value="freeswitch:password"/>
             <param name="disable-100-continue" value="true"/>
     </binding>
</bindings>
</configuration>


The /usr/local/freeswitch/conf/vars.xml requires modification to enable the siren14 codec

search within vars.xml for the global_codec_prefs and change the line to read

   <X-PRE-PROCESS cmd="set" data="global_codec_prefs=G7221@32000h,G722,PCMU,PCMA,GSM"/> 

or

   <X-PRE-PROCESS cmd="set" data="global_codec_prefs=G7221@32000h,G7221@16000h,G722,PCMU,PCMA,GSM"/>

G7221@32000h is the siren14 codec

configure conference.conf.xml

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 "default" profile and comment out the following lines as shown below:

      [...]
    <!-- File to play if you are alone in the conference -->
    <!-- <param name="alone-sound" value="conference/conf-alone.wav"/> -->
    [...]
    <!-- File to play when you're alone (music on hold)-->
    <!-- <param name="moh-sound" value="$${hold_music}"/> -->
    <!-- File to play when you join the conference -->
    <!-- <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/> [^] -->
    <!-- File to play when you leave the conference -->
    <!-- <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/> [^] -->
    <!-- File to play when you ae ejected from the conference -->
    <!-- <param name="kicked-sound" value="conference/conf-kicked.wav"/> -->
    [...]

OpenSim Config

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.

   [FreeSwitchVoice]
 enabled = true
 ; FreeSwitch server is going to contact us and ask us all sorts of things.
 freeswitch_server_user = freeswitch
 freeswitch_server_pass = password
 freeswitch_api_prefix = /api
 ; IP address of an opensim region with voice enabled
 freeswitch_service_server = youropensimregionip
 ; the port your Opensim region is running on
 freeswitch_service_port = 9000 
 ; your freeswitch IP address
 freeswitch_realm = yourfreeswitchserverip
 freeswitch_sip_proxy = yourfreeswitchserverip:5060
 ; STUN = Simple Traversal of UDP through NATs
 ; See http://wiki.freeswitch.org/wiki/NAT_Traversal
 freeswitch_attempt_stun = false
 freeswitch_stun_server = stun.freeswitch.org
 ; Echo server MAY not used but information MAY be
 ; required to relay to Freeswitch server (TBC?)
 freeswitch_echo_server = yourfreeswitchserverip
 freeswitch_echo_port = 50505
 freeswitch_well_known_ip = yourfreeswitchserverip
 freeswitch_default_timeout = 5000
 freeswitch_subscribe_retry = 120
 ; freeswitch_password_reset_url =
 ; opensim_well_known_http_address = youropensimregionip
 ; CHECK THIS...  should be Address_Of_Your_SIM_HTTP_Server_Hostname_Allowed

Note that if you are running in Opensim grid mode, a single Freeswitch service on yourfreeswitchserverip can support multiple regions on one or more Opensim.exe running on one or more hosts. And the Freeswitch server need not be on the same host as the Opensim.exe used to anchor the connection.

Note STUN server "stun.freeswitch.org" is an example only, and its availability should not be relied upon for a service.

Firewall Config

Make sure that the ports used by Freeswitch are acessible though your firewall(s). In the example above the main port used is 5060 though other ports may be used for call initiation (port 1720 for H.323 Call Signaling) and dynamically assigned ports for specific call traffic. The usual H.323 and SIP traffic dynamic port handling on modern firewalls usually enables this.

Is port 50505 actually used, or is it just something that must be
reported by OpenSim when the Freeswitch service makes contact?


More details on the Freeswitch ports used and firewall configuration details are at http://wiki.freeswitch.org/wiki/Firewall

If you have problems with NAT/Routers look at using STUN (Simple Traversal of UDP through NATs). More information at http://wiki.freeswitch.org/wiki/NAT_Traversal

Issues & Solutions

NOTE: FreeSwitch is not a core module and help may not be forthcoming to handle issues.

MAKE SURE the OpenSim region you point Freeswitch at IS NOT running when you start FreeSwitch.

ALSO make sure that you have enabled voice in the "About Land"->"Voice" dialogue in the region, you will need to be a region admin to do this.

Check the plot also has voice enabled. You must be a plot owner or have suitable permisison to do this. Recent Linden Labs Second Life viewers do not offer this option, so use Hippo or another client which does.

Issue
Resolution
--[ERR] mod_xml_curl.c:230 xml_url_fetch() Received HTTP error 0 trying to fetch:
To solve this error, get the last GIT of FreeSwitch, follow this instructions (for Ubuntu)  here
--mod_event_socket.c -> Socket Error Could not listen on 127.0.0.1:5060:
This means something is using the port 5060, usually freeswitch is already running, on Ubuntu, try the following command: netstat -npl | grep 85060 If freeswitch is running, close is with: sudo freeswitch -stop OR sudo invoke-rc.d freeswitch stop


Personal tools
General
About This Wiki