Q-Sims - Add Voice Chat
by AdNovea - June 2009
Q-Sims Homepage
Installation
- 1-Download, 2-Install and do not Enable FreeSwitch QPKG.
- Redirect port 5060 on your router
- If Q-Sims FULL Edition is not yet installed and you intend to use it, you have nothing more to do. Proceed with the Q-Sims installation.
If Q-Sims FULL Edition is already installed and configured, you must re-run the Q-Sims FULL Edition QSA to configure FreeSwitch for Q-Sims (update the freeswitch/conf/autoload_configs/xml_curl.conf.xml file). Stop/Restart Q-Sims, wait and Enable FreeSwitch.- Enable Voice chat in the Preferences/Voice chat.
- Enable voice on your terrains (World/About land/Media)
- Enable Voice in each Land (also referred as terrain or regions) BUT also configure each parcel if you terrain has been divided.
- Voice: Use the Estate spatial channel: There is a common channel for the whole region (256x256 meters) and you can chose to use it for your land/parcel voice chat
- Voice: Use a private spatial channel: A specific channel is created for your land/parcel
- Sound: Restrict spatialized sound to this parcel: Check it if you don't want the Voice chat to be accessible for visitor outside your parcel (land sub division) - function not yet implemented
If the Voice chat is correctly installed, you must:
1- Hear the conference waiting music
2- Have a TALK button on the bottom right of your viewer
3- Have white halo over your head to tell the other that you have the voice chat capability enabled
You shall start the different services in this order:
1- Mono
2- Q-Sims (and wait 2 minutes or more depending of your metavers size)
3- FreeSwitch
NOTE: FreeSwitch will connect to your OpenSim server to retrieve the list of avatars. If the server is not started, FreeSwitch will fail to get this list and cannot work properly.
Disable conference music and tones
By default, FreeSwitch broadcast waiting music in conference mode when only one attendee is present. Therefore, when only one avatar has Voice capability in the region, one will hear the waiting music. moreover whenever someone enter or leave the conferente there are specific tones.
To disable all these sounds (in order to let your background music instead) you must edit the configuration file /usr/local/freeswitch/conf/autoload_configs/conference.conf.xml and comment the lines that refer to the waiting music and sounds:... <!-- 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"/> --> ...
Adjust sound levels
They are multiple sounds available in OpenSim and one shall adjust the different levels in order to get something audible.
- Master : Overall sound level adjustment
- Music : Background music level control (better be low)
- Media : Video/Movie sound level
- Voice : Voice chat level (must be medium)
- Sounds : ???
- Ambient : e.g. the sound of the wind
- UI : All sounds associated to the Graphic User Interface
Voice Chat manual installation
- Install the FreeSwitch QPKG
- redirect port 5060 on your router
- Under the Q-Sims directory open the bin/OpenSim.ini file and modify the Freeswitch section as mentioned below (<your_nas_internal_ip>):
[FreeSwitchVoice] ; In order for this to work you need a functioning freeswitch pbx set ; up. Configuration for that will be posted in the wiki soon. 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 ; this is the IP of your sim freeswitch_service_server = <your_nas_internal_ip> ;freeswitch_service_port = 80 ; this should be the same port the region listens on freeswitch_service_port = 9000 freeswitch_realm = <your_nas_internal_ip> freeswitch_sip_proxy = <your_nas_internal_ip>:5060 freeswitch_attempt_stun = false freeswitch_stun_server = <your_nas_internal_ip> freeswitch_echo_server = <your_nas_internal_ip> freeswitch_echo_port = 50505 freeswitch_well_known_ip = <your_nas_internal_ip> ;Type the address of your http server here, hostname is allowed. This is provided so you can specify a hostname ;This is used by client for account verification. By default, it's the same as the freeswitch service server. ;opensim_well_known_http_address = Address_Of_your_SIM_HTTP_Server_Hostname_Allowed freeswitch_default_timeout = 5000 freeswitch_subscribe_retry = 120 ; freeswitch_password_reset_url =
- Under the Freeswitch directory, open the conf/autoload_configs/xml_curl.conf.xml file and replace with the here below data updated with your parameters (<your_nas_internal_ip>). Change port 9000 to the correct value if needed.
<configuration name="xml_curl.conf" description="cURL XML Gateway"> <bindings> <binding name="example"> <param name="gateway-url" value="http://<your_nas_internal_ip>:9000/api/freeswitch-config" bindings="directory"/> <param name="disable-100-continue" value="true"/> </binding> <binding name="local"> <param name="gateway-url" value="http://<your_nas_internal_ip>:9000/api/freeswitch-config" bindings="dialplan"/> <param name="disable-100-continue" value="true"/> </binding> </bindings> </configuration>
- Enable FreeSwitch once Q-Sims is fully up and running