OpenSim: Installiamo una grid. Parte III: la voce…

Rieccoci 🙂

Ed ecco finalmente la terza parte del nostro trittico su come costruire una grid opensim professionale. Dopo avere descritto nei due articoli precedenti:

Ecco le istruzioni per configurare la voce. Queste istruzioni sono il frutto di quelle pubblicate sul sito http://opensimulator.org (http://opensimulator.org/wiki/Freeswitch_Module) e delle istruzioni pubblicate da Carlos Roundel, creatore della grid italiana Cyberlandia  e riportate da Olivier Battini creatore della grid francese New World Grid  (http://wiki.osgrid.org/index.php/Freeswitch_HowTo2). Le istruzioni sono state ulteriormente ritoccate da AndreaPiero Arbizu che me le ha fornite dopo averle verificate in pratica su decine di grid e che ho verificato personalmente sulla grid creata con gli articoli precedenti.
Notate che questa operazione (la configurazione di freeswitch) è leggermente più complicata e lunga rispetto agli step precedenti e dovete allocare ALMENO 1 ora di tempo per eseguire questi passi…

Ecco la guida:

Voice su Opensim, configurazione di Freeswitch
Questa procedura è valida per UBUNTU con versione opensim 0.7.2 dev r. 16203 (NB: io l’ho provata con una 0.7.1 ufficiale)
e configurazione per usare freeswitch come servizio di grid .Luglio 15 , 2011 Andrea Arbizu ( contatto skype : andreapiero.hotmail.it )

PREPARAZIONE DELL’AMBIENTE

– Entrare con utente root ( su ubuntu desktop aprire il terminale , digitare il comando sudo su e inserire la password UTENTE) .

 apt-get update
 apt-get install -y autoconf automake libtool build-essential subversion libxml2
 apt-get install -y libxml2-dev libtiff4 libtiff4-dev php5 php5-cli
 apt-get install -y php5-common php5-mcrypt php5-mysql php5-gd php5-pgsql php-pear php-db
 apt-get install -y libmysqlclient16-dev curl sox libssl-dev libncurses5-dev bison
 apt-get install -y libaudiofile-dev libnewt-dev libcurl4-gnutls-dev
 apt-get install -y libnet-ssleay-perl openssl ssl-cert libauthen-pam-perl
 apt-get install -y libio-pty-perl
 apt-get install -y libpg-perl libdbd-pg-perl  sqlite3
 apt-get install -y libsqlite3-dev
 apt-get install -y libapache2-mod-php5 libmcrypt-dev

INSTALLAZIONE DI FREESWITCH

cd /usr/local/src

– download, compilazione e installazione del Git di freeswitch

 apt-get install -y git
 git clone git://git.freeswitch.org/freeswitch.git
 cd freeswitch
 cd build
 cp modules.conf.in modules.conf
 vi modules.conf

individuare la riga:

 #codecs/mod_siren

e levare il # (da me era già scommentata)
individuare la riga

 #xml_int/mod_xml_curl (OK)

e levare il #
 salvare il file (con vi esc:wq)

cd ..
 AUTOCONF=/usr/bin/autoconf ./bootstrap.sh

 attendere una decina di minuti sino al termine dell ‘ operazione. (a me meno di 5 minuti)
 ./configure --prefix=/usr/local/freeswitch
 attendere  il termine  (5 minuti pieni)
make
 attendere il termine. (20 minuti pieni)
 make install
 make mod_siren-install
 make mod_xml_curl-install

notare che i due comandi successivi vanno ripetuti due volte non e’ un errore!!
 make sounds-install
 make sounds-install
 make moh-install
 make moh-install

 make samples

CONFIGURAZIONE FREESWITCH

– Configurazione di Freeswitch per opensim
supponiamo che il nostro server sia connesso ad internet con un IP pubblico del tipo: 192.111.222.33

supponiamo che non esista alcun firewall che limita alcunche ne in ingresso ne in uscita.

cd /usr/local/freeswitch/conf/autoload_configs/
 vi modules.conf.xml
 individuare la riga:
 <!– <load module=”mod_xml_curl”/> –>
 e sostituirla con:
 <load module=”mod_xml_curl”/>
 individuare la riga:
 <!–<load module=”mod_siren”/>–> (a me non era commentata)
 e sostituirla con:
 <load module=”mod_siren”/>
 salvare il file (esc:wq)
 cd /usr/local/freeswitch/conf/autoload_configs
 vi xml_curl.conf.xml

 posizionarsi sotto la riga:
 <binding name=”example”>
 cancellare tutte le righe (premendo dd piu volte su vi) (dG cancella tutto se si è sulla prima riga)
 e sostituire con:
 <configuration name="xml_curl.conf" description="cURL XML Gateway">
 <bindings>
 <binding name="example">
 <param name="gateway-url" value="http://192.111.222.33:8004/fsapi/freeswitch-config" bindings="directory"/>
 <param name="disable-100-continue" value="true"/>
 </binding>
 <binding name="local">
 <param name="gateway-url" value="http://192.111.222.33:8004/fsapi/freeswitch-config" bindings="dialplan"/>
 <param name="disable-100-continue" value="true"/>
 </binding>
 </bindings>
 </configuration>

(al posto di 192.111.222.33 va messo l’ip pubblico del server dove gira opensim.).
salvare il file.

AVVIO  FREESWITCH IN UNO SCREEN

– Avvio di Freeswitch

 screen –S Voice
 screen –r Voice (????) da me questo da errore
 cd /usr/local/freeswitch/bin/
 ./freeswitch

ignorare qualunque messaggio o errore più o meno colorato

2011-08-07 06:34:03.782163 [NOTICE] switch_utils.c:248 Adding 192.0.2.0/24 (allow) [brian@78.47.22.111] to list domains 2011-08-07 06:34:03.782208 [CONSOLE] switch_core.c:1839 _____              ______        _____ _____ ____ _   _ |  ___| __ ___  ___/ ___       / /_ _|_   _/ ___| | | | | |_ | '__/ _ / _ ___ \  / / / | |  | || |   | |_| | |  _|| | |  __/  __/___) | V  V /  | |  | || |___|  _  | |_|  |_|  ___|___|____/  _/_/  |___| |_| ____|_| |_| ************************************************************ * Anthony Minessale II, Michael Jerris, Brian West, Others * * FreeSWITCH (http://www.freeswitch.org)                   * * Paypal Donations Appreciated: paypal@freeswitch.org      * * Brought to you by ClueCon http://www.cluecon.com/        * ************************************************************ 2011-08-07 06:34:03.782215 [CONSOLE] switch_core.c:1842 FreeSWITCH Version 1.0.head (git-b952b2b 2011-08-04 19-53-18 +0200) Started. Max Sessions[1000] Session Rate[30] SQL [Enabled] freeswitch@opensim>
e detachare screen
 control+maiuscolo a
 control+maiuscolo d
CONFIGURAZIONE ROBUST e OPENSIM

Editare il file Robust.ini sezione Freeswitch :

[FreeswitchService] LocalServiceModule = "OpenSim.Services.FreeswitchService.dll:FreeswitchService" ;; The IP address of your FreeSWITCH server. ;; This address must be reachable by viewers. ServerAddress = 192.111.222.33
 (al posto di 192.111.222.33 va messo l’ip pubblico del server dove gira robust.).
 - Configurazione di Opensim
 editare il file OpenSim.ini
 nella sezione FreeSwitchVoice
 [FreeSwitchVoice] ;; In order for this to work you need a functioning FreeSWITCH PBX set up. ;; Configuration details at http://opensimulator.org/wiki/Freeswitch_Module Enabled = true ;; You need to load a local service for a standalone, and a remote service ;; for a grid region. Use one of the lines below, as appropriate ;; If you're using Freeswitch on a standalone then you will also need to configure the [FreeswitchService] section in config-include/StandaloneCommon.ini ;; LocalServiceModule = OpenSim.Services.FreeswitchService.dll:FreeswitchService LocalServiceModule = OpenSim.Services.Connectors.dll:RemoteFreeswitchConnector ;; If using a remote connector, specify the server URL FreeswitchServiceURL =  ( sostituire con ip del server )

>>>> Fine <<<<

avviare normalmente opensim, da questo momento in poi la sim ha il voice abilitato.
Verificare che nelle impostazioni della parcell il voice sia attivo

Ho seguito la configurazione ufficiale suggerita sul sito http://www.opensimulator.org
integrandola su come settare i moduli e con alcuni suggerimenti sia dai bug mantis
che dalle mailing list di opensimulator. Questo documento e’ rilasciato con licenza cc ( obbligo citazione della fonte)
Credo che possa essere utile a quanti stanno sbattendosi a far funzionare il voice in questo periodo.

PS: Ho seguito fedelmente questa guida e al termine ho poi invitato gli amici Pinowo, Rumegusc, Marcus73 a provare il voce, che dopo un iniziale momento in cui sembra che non funzionasse nulla, aggiustando i livelli del microfono, degli altoparlanti etc, alla fine siamo riusciti a fare una discreta conferenza a 3.

La resa, pur soddisfacente per alcuni versi, lamenta alcuni momenti di perdita di voce. La qualità complessiva non pare essere equivalente a quella di secondlife, ma tuttavia pare promettente e se avete un po’ di pazienza, anche usabile. Ad onore del vero nella grid Craft Rumegusc aveva cercato di usare il voice, ma dice che quando le persone erano più di 3-4 i problemi diventavano insormontabili.

Dal mio punto di vista, sono ragionevolmente soddisfatto, perchè fino a 2 anni fa i miei tentativi di installazione di freeswitch erano stati infruttuosi e frustranti 🙁

 

Salahzar Stenvaag

Rispondi

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.