Tutto a zero Roundel

Il money module e’ stato levato dalle ultime release di OpenSimulator, dopo diverse discussioni sull opportunita di implementare o meno una economia reale magari legata a paypal.

Attualmente il modulo money e’ spiegato qui: http://opensimulator.org/wiki/Money

in Soldoni :) dato che un economia fatta con una moneta finta non ha alcun senso, tanto vale levare via il supporto e abilitare la vendita a zero.

Come mi e’ stato giustamente segnalato, con l’ultima update alla 9818 non e’ piu possibile vendere alcunche’, mi era sfuggito nella configurazione, e lo inseriro nel prossimo update che spero di mettere online a breve.

Per chi vuole abilitare la possibilità di vendere oggetti a zero bisogna modificare il file OpenSim.ini ed inserire nella sezione:

[Economy]
SellEnabled = “true”

riavviando poi la regione, ripristina la vendita di oggetti a costo zero, cosa indispensabile per regalare oggetti, freebies ed altro.

Coordinate nuove – un primo utilizzo pratico

Vi segnalo un sito: http://www.gridhop.net/ serve a segnalare ed utilizzare degli hyperlink.
Aprendolo dal browser interno ad hippo si ottiene una maschera di questo tipo:

gridhop

Scegliendo la grid e la regione di destinazione, con un clic su hypergrid jump si ottiene la landmark ed il relativo teleport attivo.

Ho inserito la regione cyberlandia, ma tutte le quasi 200 regioni della nostra grid sono abilitate all Hypegrid e facilmente inseribili, in modo da avere dei teleport diretti dall esterno. Invito tutti gli owner a farlo, potete mettere come slurl, l’indirizzo dns o l’ip esterno del server. Tutte le regioni di Cyberlandia sono raggiungiungibili con una slurl secondlife:nome_o_ip:9000:nomeregione/

Cyberlandia – cambio di coordinate …

Cyberlandia come grid e’ centrata 1000.1000.  Osgrid e’ centrata 10000.10000 (uno zero in piu).

Questo non permette a causa di un bug del client di teleportarsi direttamente tra cyberlandia e ed osgrid.

Non solo non potendosi fare salti maggiori di 4096 caselline, per andare in hypergrid da Cyberlandia ad Osgrid sono necessarie due isole posizionate rispettivamente a coordinate 3000.3000 e a 7000.7000.

Osgrid e’ attualmente la maggiore grid opensim come dimensioni (2000 isole) e come residenti (18.000 iscritti).  Credo che sia importante avere piu scambi possibile, in un ottica di internazionalizzazione.

Quindi, cambiamo le coordinate delle regioni di cyberlandia.  Spostandoci a 7000.7000

istruzioni su come fare:

il file di definizione delle regioni sono contenuti nella cartella ../bin/Regions

per ogni isola é presente un file con estensione xml (ad esempio ho una regione che si chiama pippo, dentro region trovero pippo.xml). il contenuto e’ simile a questo:

<Root>
<Config sim_UUID=”bae269e0-5273-11dd-ae16-0800200c9a66″ sim_name=”Pippo” sim_location_x=”1006″ sim_location_y=”1005″ internal_ip_address=”0.0.0.0″ internal_ip_port=”9102″ allow_alternate_ports=”false” external_host_name=”nome.miodns.org” master_avatar_uuid=”d2c2b645-35aa-4c7e-a236-dfce55ed74ef” estate_covanant_uuid=”d2c2b645-35aa-4c7e-a236-dfce55ed74ef” master_avatar_first=”NomeOwner” master_avatar_last=”CognomeOwner” master_avatar_pass=”Password” lastmap_uuid=”4ed7f375-2c52-4256-96ad-150b5491cb01″ lastmap_refresh=”1232163167″ />
</Root>

in particolare i parametri:
sim_location_x=”1006″ sim_location_y=”1005″

per centrarci su 7000.7000 andra editato e trasformato in:
sim_location_x=”7006″ sim_location_y=”7005″

Bisogna quindi modificare il file OpenSim.ini

alla sezione:

[Network]

default_location_x = 1000
default_location_y = 1000

va modificato in

default_location_x = 7000
default_location_y = 7000

La via piu semplice e’ spostare fuori dal server con filezilla i file, modificarli,  reinserirli e riavviare le sim.

Qualora emergessero problematiche segnaliamole sul forum.

Cyberlandia – grid aggiornata rev 9818

La grid e’ aggiornata alla rev. 9818

L’aggiornamento riguarda tutte le regioni di Cyberlandia in grid mode (hyperblog escusi)  ed e’ obbligatorio. Nel caso vengano riavviate regioni ‘vecchie’ la partenza si blocca quando contatta la grid.

Istruzioni su come procedere.

- collegarsi al server con putty, chiudere la sim attiva (screen: shutdown)

- effettuare il download dell’aggiornamento:
wget http://www.cyberlandia.net/comunity/downloads/opensim.zip

- scompattare: unzip opensim.zip (crea la cartella 9818)

- cd 9818/bin/

- editare il file OpenSim.ini (usando filezilla per portarlo in locale, qualora non si voglia utilizzare vi)
individuare la riga:
storage_connection_string=”Data Source=localhost;Database=opensim;User ID=opensim;Password=+++;”;

e sostituire a +++ la password del database mysql

nella sezione:

[Network]
http_listener_port = 9000
remoting_listener_port = 8895

se diversi  da 9000 e 8895 nel file OpenSim.ini vecchio, aggiornarla (da fare nel caso si abbiano istanze multiple).

qualora si intendano abilitare i gruppi, nella sezione

[Groups]
Enabled = false

trasformarlo in true

richiedere per mail a carlosroundel@gmail.com la configurazione da inserire alle righe:

XmlRpcServiceReadKey = ****
XmlRpcServiceWriteKey = ****

- copiare i file con estensione xml dalla cartella regions della vecchia sim alla cartella 9818/bin/Regions

- se l’isola e’ stata abilitata al voice inserire l’intera sezione [Freeswitch]
dall OpenSim.ini vecchio

- avviare screen e riavviare la sim nella nuova cartella 9818/bin

mono OpenSim.exe

al il primo avvio compare il messaggio:

17:02:33 – [MIGRATIONS] Upgrading RegionStore to latest revision.
17:02:33 – [MIGRATIONS] NOTE: this may take a while, don’t interupt this process!

attendere anche diversi minuti che venga completato l’aggiornamento.

Testiamo le porte?

May 26, 2009 da @vincenzo@

Scrivo questa miniguida che spero potrá  essere utile a tutti coloro che vorranno testare in modo semplice e veloce, che  le  porte udp e tcp siano effettivamente aperte.
Nel nostro caso testeremo la porta 9000.

Se abbiamo il nostro router gia configurato per consentire il traffico nelle due direzioni non ci resta che farci aiutare dunque da HFS (Http File Server) di soli 600kb eseguibile e senza bisogno di installazione.
Un server a codice aperto (GPL) italianissimo!

Lo scarichiamo dal sito http://www.rejetto.com/hfs/?f=dl e lo lanciamo.

vincio

Vedremo una piccola finestra come questa sopra con in alto un menu, una sezione porte e un pulsante per passare ad expert mode.
A questo punto, cambiamo in Expert mode e cambiamo Port:8080 (default) in Port:9000
In Menu non ci resta che cercare IP address > Custom… e scrivere in quella finestra il nostro ip esterno  ( per scoprirlo basta andare in www.ilmioip.it ) e diamo ok
(funziona anche il dns)

Adesso di nuovo in Menu/ IP address ci sará il nostro ip scritto prima e cliccandoci questo comparirá scritto completo di porta 9000 accanto al pulsante Open in browser.
Ora non ci resta che trascinare un qualsiasi file dentro lo spazio Virtual File System ed é fatta!
Copiamo l’indirizzo completo sopra e mandiamolo ad un amico/a .Se questi riceverá dal browser il nostro file la porta 9000 allora é  aperta!!!

So che funziona anche con ubuntu sotto wine ma io l’ho provato con xp.

Per quanto riguarda la tcp 9000 ( dopo aver fatto partire opensim ) invece basterá  digitare http://ip:porta se il browser risponde OOPS é aperta e funzionante.

Ninjam su Cyberlandia

May 9, 2009 da maox

maoxning1

Finalmente sono riuscito a configurare in maniera usabile ninjam.

Ninjam è un sistema studiato per creare JAM session “live” con musicisti che suonano da ogni parte del pianeta.

il sistema permette di suonare strumenti, cantare o fare il dj, semplicemente connettendo all’input della scheda audio del pc lo strumento.

Il problema più grande riguarda certamente il sync dei vari strumenti, che subiscono rallentamenti o accellerazioni in modo randomico, per questo ninjam possiede un metronomo interno per poter andare a tempo insieme.

Il software è composto da un’applicazione che gira su un server, che ho installato sul server dove gira opensim e un client da installare sul pc del musicista, supporta windows, linux e mac.

Il sito dove scaricarlo è http://ninjam.com/download.php

la versione linux gira in shell, esiste un progetto chiamato gninjam con un’interfaccia grafica.

qui i repository per ubuntu e le istruzioni per linux http://www.gehrignet.de/cms/programming/ninjam.shtml consiglio a chi usa linux di usare jack come uscita audio.

una volta installato va configurato settando la sorgente audio di input e di output del pc.

Per chi volesse provare ci trovate sul palco nell’isola mambo, contattatemi per le coordinate di connessione al server, sia su secondlife che cyberlandia il mio nome è maox may.

maoxning2

Primi test

Per ovviare al problema del delay, dobbiamo rimandare con ninjam l’audio del primo musicista che suona insieme all’audio che riceviamo  dal nostro strumento, in questo modo quello che stiamo ascoltando verrà strimmato con lo stesso delay.

Jack

Con linux e Jack sono riuscito a fare delle session di karaoke dove riuscivo a mandare la musica con un PC riprenderla con un altro applicando su effetti per rimandarla  a un paio di PC da cui cantavano e riprenderla su un altro che faceva da mixersteam. Tutto con ninjam e Jack.

Fortunatamente la comunità open ci viene incontro con il porting di JACK per windows e mac.

http://jackaudio.org/download

Jack ti permette di collegare il primo canale in ingresso di ninjam al primo canale in uscita di ninjam e il canale dell’input della scheda audio al secondo canale in uscita di ninjam.

Per Linux consiglio di usare il kernel realtime

Su Windows bisogna installare i driver ASIO “asio4all”

http://www.asio4all.com/

abilitare nell’audio configuration di ninjam i seguenti parametri

Input/output system: ASIO

ASIO Driver JackRouter

avviare Jack Portaudio

e poi Jack Control

Configurare Jack

avviare jack con start da Jack Control, avviare ninjam

su Jack andare su Connect e collegare nella sezione ninjam “out1″ con “in1″ e nella sezione system “capture_1″ con  “in2″

in ninjam nei local channels aggiungere un canale con Add Local Channel

nel primo canale spuntare Trasmit e selezionare In0

nel secondo canale spuntare Trasmit e selezionare In1

Adesso stiamo strimmando su ninjam i due canali, quello che riceviamo e il nostro, la stessa cosa la farà il terzo musicista  e cos’ via.

Il Primo che suona sunerà da solo, il secondo in due, il terzo in tre, ecc. solamente l’ultimo riuscirà ad ascoltare il brano senza delay.

Chi sta al mixer generale controlla i livelli audio e strimma solo il canale dell’ultimo.

Buon divertimento!!

Strillone per OpenSim

May 2, 2009 da salahzar

Fatto uno “strillone” per dare notecard con notizie importanti su una sim.

Utilizza un database su opensimita. Per utilizzarlo basta cambiare la descrizione con un nome non utilizzato esempio: nomesim.notizia. Più strilloni anche su sim diverse non distribuiranno MAI la stessa notizia alla stessa persona perchè i dati vengono caricati su un db centrale

Programma lsl

list requests;
list avatars; // lista degli avatars complessivi
list newavatars; // only new avatars
list newavatarkeys;

string URL="http://opensimita.org/lsl/server-key.php?";

default
{
    state_entry()
    {
        llSetText("Distribuisco "+llGetObjectDesc(),<1,1,1>,1);
        llSensorRepeat("",NULL_KEY,AGENT,256,PI,10);
        newavatars=[];
        URL+="cat="+llGetObjectDesc();
    }
    no_sensor()
    {
        //llSetText("Individuato finora "+(string)llGetListLength(avatars),<1,1,1>,1);
    }
    sensor(integer num)
    {
        integer i;
        llSetText("Distribuisco "+llGetObjectDesc()+ " ("+(string)llGetListLength(avatars)+")",<1,1,1>,1);
        requests=[]; newavatars=[]; newavatarkeys=[];
        for(i=0;i
        {
            //llOwnerSay(llDetectedName(i)+" "+(string)llVecDist(llDetectedPos(i),llGetPos()));

            string avatar=llDetectedName(i);
            integer found=llListFindList(avatars,avatar);
            //llOwnerSay("Looking for "+avatar+" Found: "+(string)found);
            if(found<0)
            {
                newavatars+= [ avatar ]; newavatarkeys+= [ llDetectedKey(i) ];
                //llSay(0,"Verifico se ho già dato a "+avatar);
                requests+=[ llHTTPRequest( URL+"&get="+llEscapeURL(avatar),[],"") ] ;
            }
        }

    }
    touch_start(integer count)
    {
        //llSetText("Individuato finora "+(string)llGetListLength(avatars),<1,1,1>,1);
        integer i;

        llSay(0,"========\nDall'ultimo reset ho avvertito i seguenti av:");
        for(i=0;i
        {
            llSay(0,llList2String(avatars,i));

        }
        llGiveInventory(llDetectedKey(0),llGetInventoryName(INVENTORY_NOTECARD,0));
    }
    http_response(key id, integer status, list metadata, string body)
    {
        //llOwnerSay("Receiving body: "+body+" status: "+(string)status);
        integer index=llListFindList(requests, [id]);
        if(index>=0)
        {
            string avatar=llList2String(newavatars,index);
            avatars+=[avatar];
            if(body=="*NOTFOUND*")
            {
                llSay(0,"Do informazioni a "+avatar);
                llGiveInventory(llList2Key(newavatarkeys,index),llGetInventoryName(INVENTORY_NOTECARD,0));
                string cmd=URL+"&add="+llEscapeURL(avatar)+"&val="+llEscapeURL(llGetDate()+" "+llGetTimestamp());
                //llSay(0,cmd);
                llHTTPRequest( cmd,[],"") ;
            }

            //else
            //llOwnerSay("Found avatar "+avatar);
        }
    }
}

Programma php che riceve i comandi

 <?
//
// call with
// ?cat=c&get=key => returns key or *NOTFOUND*
// ?cat=c&add=key&val=value
// ?cat=c&del=key
// ?cat=c&upd=key&val=value
// ?cat=c&list=%
// ?cat=c&count= to get how many entries
// ?cat=c&item=i 0..n to get nth entry (sorted by key)
//
include 'connect-lsl.php';

// cat helps separating various subtables in the main table
$cat=$_GET['cat'];

// gets the specific commands
$get=$_GET['get'];
$add=$_GET['add'];
$del=$_GET['del'];
$upd=$_GET['upd'];
$list=$_GET['list'];
$count=$_GET['count'];
$item=$_GET['item'];
$value=$_GET['val'];

// adding a new key, value key MUST NOT be existent if so we are updating it
if($add!="")
{
  $query="select chiave from chiavi where cat='$cat' and chiave='".addslashes($add)."'";
  $result=mysql_query($query) or die(mysql_error());
  // echo "$query Found ".mysql_num_rows($result)." lines";
  if(mysql_num_rows($result)==0)
  {
    // adding this key                      , val
    // should check key is not existent
    $query="insert into chiavi values('$cat','".addslashes($add)."','".addslashes($value)."')";
    mysql_query($query) or die(mysql_error());
    die("OK $query");
  }
  // if already existent then we are actually updating
  else $upd=$add;

}

// updating the key
if($upd!="")
{
  $query="update chiavi set valore='".addslashes($value)."' where cat='$cat' and chiave='".addslashes($upd)."'";
  mysql_query($query) or die(mysql_error());
  die("OK $query");
}

// deleting the key
if($del!="")
{
  $query="delete from chiavi where cat='$cat' and chiave='".addslashes($del)."'";
  mysql_query($query) or die(mysql_error());
  die("OK $query");
}

// getting a key note stripslashes which were added in insert to solve problems with ' "
if($get!="")
{
  $query= "select * FROM chiavi where cat='$cat' and chiave='".addslashes($get)."'";
  $result = mysql_query($query) or die(mysql_error());
  if($row = mysql_fetch_array($result))
  {
    echo stripslashes($row['valore']);
  }
  else echo "*NOTFOUND*";
  die();
}

// listing all elements having the substring in the key
if($list!="")
{
  $query1="select * from chiavi where cat='$cat' and chiave like '".$list."'";

  $result=mysql_query($query1) or die(mysql_error());
  while($row=mysql_fetch_array($result))
  {
    echo stripslashes($row['chiave'])."\n";
    echo stripslashes($row['valore'])."\n";
  }
  die();
}

// counting how many elements in this table
if($count!="")
{
  $query= "select count(*) as num FROM chiavi where cat='$cat'";

  $result = mysql_query($query) or die(mysql_error());
  if($row = mysql_fetch_array($result))
  {
    echo $row['num'];
  }
  die();
}

// selecting nth element sorted by key name
if($item!="")
{
  $query="SELECT * FROM chiavi where cat='".$cat."' order by chiave limit 1 offset ".$item;

  $result = mysql_query($query) or die(mysql_error());
  if($row = mysql_fetch_array($result))
  {
    echo stripslashes($row['chiave'])."\n".stripslashes($row['valore'])."\n";
  }
  else echo "*NOTFOUND*";

}
?>

Cyberlandia, aggiornamento alla rev. 0.6.4.9360

April 30, 2009 da Carlos Roundel

Nella sezione download trovate il file opensim.zip, aggiornato alla 9360.
Ci sono diverse nuove funzionalita che rendono l’aggiornamento consigliato per tutte le regioni di cyberlandia. Va utilizzato il file OpenSim.ini contenuto all interno, eventualmente da modificare per il supporto al database mysql o nella porta tcp qualora si utilizzino istanze multiple.

in particolare vengono introdotte queste nuove funzionalita:

- Hypergrid, e’ attivo di default per tutte le regioni, Cyberlandia diventa dopo l’aggiornamento la prima grid totalmente hypergrided, ogni regione puo venire raggiunta oltre che con i normali teleport con una slurl del tipo:
secondlife://ip:porta/ da qualunque altra isola o da qualunque altra grid con supporto all hypergrid.

- supporto al voice, é possibile parlare con altri avatar utilizzando cuffie e microfono semplicemente premendo il pulsante talk di hippo.

- Supporto ai gruppi, e’ possibile creare gratuitamente dei gruppi, con attive le funzioni di chat del gruppo e le notices con attachment.

- Supporto dei messaggi privati IM agli avatar offline

- Ottimizazione per la frizione tra gli avatar presenti sulla scena (permette 300 avatar teorici contemporaneamente su una sim), guarda questo video

oltre ad diversi aggiornamenti minori volti ad incrementare la stabilità.

hyperblog – rev. 9332 in download.

April 28, 2009 da Carlos Roundel

E’ in download l’hyperblog basato sulla rev. 9332 di opensim.

Ora supporta le regioni multiple, si possono creare piu regioni col comando:

create region nome nome.xml

va assegnata ed aperta una ulteriore porta per regione, successiva alla 9000, dando coordinate contigue ad esclusione di 1002, 1000.

Il bridge message module rispetto alla rev precedente e’ disabilitato.

Carica la sim cyberlandia automaticamente alle coordinate in mappa 1002,1000 e si auto aggiorna con le principali isole hypergrided che compariranno anche esse in mappa.

Con questa revisione si puo passare l’ownership ad un avatar di cyberlandia, con un seplice sell dell isola da parte dell avatar che accede usando come grid:localhost, in modo che la sim venga poi amministrata in tutto e per tutto da parte di un avatar registrato su cyberlandia.

L’hyperblog utilizza e condivide i gruppi ed il search di cyberlandia.

Lo trovi in download alla pagina http://www.cyberlandia.net/comunity/downloads/hyperblog.zip

L’hyperblog e’ in tutto e per tutto un isola opensim utilizzabile in locale ed accessibile dalla grid con una slurl del tipo:

secondlife://nome_dns:9000/ per la regione principale
secondlife://nome_dns:9000:nomeregione/ per le altre regioni

Voice su Cyberlandia, configurazione di Freeswitch

April 24, 2009 da Carlos Roundel

- Preparazione dell ambiente

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 libmysqlclient15-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 libmd5-perl
apt-get install -y libpg-perl libdbd-pg-perl  sqlite3
apt-get install -y libsqlite3-dev openssl ssl-cert
apt-get install -y libapache2-mod-php5 libmcrypt-dev

mkdir /home/opensim/freeswitch
cd  /home/opensim/freeswitch

- download, compilazione e installazione del trunk corrente di freeswitch

svn checkout http://svn.freeswitch.org/svn/freeswitch/trunk freeswitch

cd freeswitch
cd build
cp modules.conf.in modules.conf

vi modules.conf

individuare la riga:

#codecs/mod_siren

e levare il #

individuare la riga

#xml_int/mod_xml_curl

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.

./configure –prefix=/usr/local/freeswitch

attendere altri 10 minuti (caffe, sigaretta, pipi).

make

attendere altri 10 minuti (cazzeggio su skype, secondlife, facebook).

make install
make mod_siren-install
make mod_xml_curl-install

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

make samples

- Configurazione di Freswitch 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
supponiamo che opensim gira con la porta tcp 9000 sulla stessa macchina dove abbiamo installato freeswitch.

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”/>–>

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)

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:9000/api/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:9000/api/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.

cd /usr/local/freeswitch/conf/

vi vars.xml

individuare la riga:

<X-PRE-PROCESS cmd=”set” data=”global_codec_prefs=G722,PCMU,PCMA,GSM”/>

e sostituirla con:

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

- Avvio di Freeswitch

screen invio

cd /usr/local/freeswitch/bin/

./freeswitch

ignorare qualunque messaggio o errore piu o meno colorato
e detachare screen

control+maiuscolo a
control+maiuscolo d

- Configurazione di Opensim

editare il file OpenSim.ini e inserire questa configurazione in coda

[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
;The  IP address of your opensim voice region
freeswitch_service_server = youropensimexternalIP
;the port your region is running on
freeswitch_service_port = 9000
;your freewitch IP address
freeswitch_realm = 192.111.222.33
freeswitch_sip_proxy = 192.111.222.33:5060
freeswitch_attempt_stun = false
freeswitch_stun_server = 192.111.222.33
freeswitch_echo_server = 192.111.222.33
freeswitch_echo_port = 50505
freeswitch_well_known_ip = 192.111.222.33
freeswitch_default_timeout = 5000
freeswitch_subscribe_retry = 120

Fine.

avviare normalemente opensim, da questo momento in poi la sim ha il voice abilitato.

Verificare che nelle impostazioni della parcell il voice sia attivo
verificare le impostaizoni di cuffia e microfono

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, se qualcuno puo tradurre in inglese quanto ho scritto
e ripostarlo da qualche parte (citando sia me che cyberlandia come fonte, questo documento e’ rilasciato con licenza cc)
credo che possa essere utile a quanti stanno sbattendosi a far funzionare il voice in questo periodo.

—————————————

Naturalmente la region o la parcell dove si vuole parlare deve avere il voice abilitato:
menu world -> about land -> media -> voice -> spuntare Use the estate spatial channel

Il voice funziona con hippo opensim viewer 0.5.1 abilitando le impostazioni alla scheda:
edit-> preferences -> voice chat -> Enable voice chat.

segnalo alcune note da parte di chi e’ riuscito con sucesso a far andare freeswitch:

la parte di aggiornamento installazione con apt-get install e’ fondamentale, la ho divisa in diverse righe invece che inserirla in un unico comando, perche’ alcuni pacchetti potrebbero non venire installati mancando altri pacchetti dipendenti, accertarsi che l’installazione avvenga con successo
alcuni possono essere gia presenti nel sistema, dipende dalla configurazione preesistente.

freeswitch_service_server = youropensimexternalIP in Opensim.ini e’ l’ip pubblico del server
lo stesso ip che va settato al posto di 192.111.222.33 sempre in Opensim.ini

il file: xml_curl.conf.xml va svuotato completamente e sostituito eliminando tutte le righe prima.

———————————

Dopo 6 ore di prove…confermo che funziona tutto! Un immenso grazie a  Carlos per la guida chiara e precisa! E finalmente si parla tutti in voice!

———————————-

Ebbene si, mi ero illuso che tutto funzionasse, il tasto talk era cliccabile anche nelle mie sim, ma in realtà era solo un residuo del teleport da Cyberlandia…ma almeno ho trovato l’errore, all’avvio di Freeswitch mi compare in rosso questo:

[ERR] mod_xml_curl.c:252 xml_url_fetch() Received HTTP error 0 trying to fetch http://91.121.200.16:9000/api/freeswitch-config

Help!

AlexZavino Itano 45 giorni fa

—————————————

e’ un buon segno, intanto freeswitch sta andando ed il mod_xml_curl e’ attivo

prova a verificare l’OpenSim.ini e riavvia la region. 91.121.200.16 deve essere l’ip dell interfaccia eth0

nel tuo opensim.ini devi avere quindi questa sezione:

[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
;The  IP address of your opensim voice region
freeswitch_service_server = 91.121.200.16
;the port your region is running on
freeswitch_service_port = 9000
;your freewitch IP address
freeswitch_realm = 91.121.200.16
freeswitch_sip_proxy = 91.121.200.16:5060
freeswitch_attempt_stun = false
freeswitch_stun_server = 91.121.200.16
freeswitch_echo_server = 91.121.200.16
freeswitch_echo_port = 50505
freeswitch_well_known_ip = 91.121.200.16
freeswitch_default_timeout = 5000
freeswitch_subscribe_retry = 120

attiva se non lo hai fatto il voice nelle impostazioni della region.

Carlos Roundel

—————————–

This guide is also traslate in english (tanks to Olivier Battini owner of newworldgrid )

see this link http://www.olivierbattini.fr/freeswitch-install-tutorial/

—————————————–

sudo ./configure –prefix=/usr/local/freeswitch

mi genera questo errore :( (

configure: error: invalid variable name: –prefix

————————————

sudo ./configure –prefix=/usr/local/freeswitch

credo sia un problema dei caratteri del terminale che stai usando

prova a scriverlo digitandolo sul terminale, non a copiaincollarlo, lo da se non ha preso il – (meno)