Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
archiv:opensim:konfiguration:freeswitch [2024/01/24 16:39] – ↷ Seite von archiv:opensim:konfiguration:freeswitch nach intern:work:archiv:opensim:konfiguration:freeswitch verschoben mike | archiv:opensim:konfiguration:freeswitch [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== Installation FreeSwitch ===== | ||
+ | |||
+ | Mit FreeSwitch können Sie die Voice-Funktion in OpenSIM nutzen um sich nicht nur über die Tastatur im Chat mit anderen Avataren zu unterhalten, | ||
+ | |||
+ | Erste Informationen zu FreeSwitch erhalten Sie auf der offiziellen Webseite: http:// | ||
+ | |||
+ | ===== Linux Installation: | ||
+ | |||
+ | **Installation und Konfiguration von Freeswitch für OpenSim unter Linux** | ||
+ | |||
+ | Wichtige Links: | ||
+ | |||
+ | * http:// | ||
+ | * http:// | ||
+ | * http:// | ||
+ | |||
+ | FreeSwitch ist eine Kommunikationsplattform die unter MLP 1.1 lizensiert ist. Der Vorteil ist der modulare Aufbau und die SIP-Funktionalität die wir hier nutzen um Voice (Sprachkommunikation) in OpenSim zu integrieren. Die native Unterstützung der gängigen Viewer ist dabei das Schmankerl. Auf die Kompilierung von FreeSwitch werde ich hier nicht näher eingehen da sie ausreichend auf der FreeSwitch Website erläutert wird. Es gibt auch je nach Distribution fertig kompilierte Pakete die sich einfacher installieren lassen. Bitte vorher alle Abhängigkeiten überprüfen damit ein reibungsloses kompilieren möglich ist. Beim installieren von FreeSwitch ist dringend auf folgende Einstellungen zu achten damit es erfolgreich funktioniert: | ||
+ | |||
+ | ==== Herunterladen von Freeswitch ==== | ||
+ | |||
+ | Ich empfehle die svn in folgendes Verzeichnis zu laden: | ||
+ | |||
+ | /opt/scr/ | ||
+ | |||
+ | der Ordner scr muss noch angelegt werden da er meistens nicht vorhanden ist. | ||
+ | |||
+ | md scr | ||
+ | |||
+ | dann FreeSwitch herunterladen: | ||
+ | |||
+ | svn checkout http:// | ||
+ | |||
+ | Der Quellcode befindet sich dann in: | ||
+ | |||
+ | / | ||
+ | |||
+ | nach der Installation (make install) in: | ||
+ | |||
+ | / | ||
+ | |||
+ | ==== Wichtige Schritte ==== | ||
+ | |||
+ | Da FreeSwitch modular aufgebaut ist sind in der Grundkonfiguration nicht alle Module aktiviert. Manche werden auch erst nach der Aktivierung kompiliert. Für den reibungslosen Ablauf brauchen wir zwei dieser Module die nicht automatisch kompiliert werden: | ||
+ | |||
+ | codecs/ | ||
+ | xml_int/ | ||
+ | |||
+ | Nach dem Herunterladen von FreeSwitch und der Vorbereitung der Kompilierung: | ||
+ | |||
+ | ./ | ||
+ | ./configure –prefix=/ | ||
+ | |||
+ | muss man diese Module in: | ||
+ | |||
+ | ../ | ||
+ | |||
+ | aktivieren indem man die "#" | ||
+ | |||
+ | Danach kann man den Quellcode mit | ||
+ | |||
+ | make | ||
+ | make install | ||
+ | make sounds-install | ||
+ | make moh-install | ||
+ | make samples | ||
+ | |||
+ | kompilieren und installieren. Hat das alles soweit erfolgreich funktioniert müssen noch 3 Konfigurationsdateien angepasst werden: | ||
+ | |||
+ | ../ | ||
+ | |||
+ | Hier müssen die beiden Module die wir gerade kompiliert haben aktiviert werden. Dazu entfernt man einfach die Auskommentierung. | ||
+ | |||
+ | Vorher: | ||
+ | <!-- "< | ||
+ | <!-- <load module=" | ||
+ | |||
+ | Nachher: | ||
+ | //<load module=" | ||
+ | <load module=" | ||
+ | |||
+ | Dann müssen wir noch den Codec aktivieren. Dazu müssen wir folgende XML editieren: | ||
+ | |||
+ | ../ freeswitch/ | ||
+ | |||
+ | In dieser XML gibt es eine Zeile | ||
+ | |||
+ | Vorher: | ||
+ | < | ||
+ | dieser fügt bitte folgendes hinzu | ||
+ | G7221@32000h, | ||
+ | |||
+ | Nachher: | ||
+ | //< | ||
+ | |||
+ | Dann nur noch die Anbindung an OpenSim. Dazu editieren wir die XML: | ||
+ | |||
+ | ../ freeswitch/ | ||
+ | |||
+ | Bitte ersetzt folgendes mit dem kompletten Inhalt und achtet darauf das Ihr die IP Eures OpenSim-Servers an den dafür vorgesehenen Platz einfügt. | ||
+ | |||
+ | ''< | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Der Port 9000 ist natürlich auch an Eure Sim anzupassen falls dieser vom Standard abweicht. Danach könnt Ihr FreeSwitch starten. | ||
+ | |||
+ | ../ | ||
+ | |||
+ | Der Freeswitch-Service sollte immer vor dem OpenSim-Service gestartet sein. | ||
+ | |||
+ | ==== OpenSim Konfiguration ==== | ||
+ | |||
+ | Hier müssen wir nur in der OpenSim.ini folgendes ergänzen: | ||
+ | |||
+ | '' | ||
+ | | ||
+ | ; | ||
+ | ; | ||
+ | | ||
+ | | ||
+ | | ||
+ | ; | ||
+ | | ||
+ | ;the port your region is running on | ||
+ | | ||
+ | ;your freewitch IP address | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | Achtet auch hier bitte auf den Port Eurer Sim ! Danach einfach den OpenSim-Server starten. | ||
+ | |||
+ | **WICHTIG** | ||
+ | |||
+ | Der Freeswitch-Service ist nur in den aktuellsten Versionen von OpenSim möglich. Achtet darauf das beim starten von OpenSim im CLI ein [FreeSwitchVoice] Eintrag zu sehen ist. Dann nur noch InWorld auf der Region bei den Landeinstellungen Voice aktivieren und dann solltet Ihr diesen putzigen Punkt über dem Kopf sehen und wenn Ihr alleine auf der Region seit eine Warteschleifenmusik hören. Zum testen empfand ich diese als sehr hilfreich. Diese kann man folgendermassen ausschalten: | ||
+ | |||
+ | ../ freeswitch/ | ||
+ | |||
+ | einfach die Sounds auskommentieren: | ||
+ | |||
+ | '' | ||
+ | <!-- File to play if you are alone in the conference --> | ||
+ | <!-- <param name=" | ||
+ | [...] | ||
+ | <!-- File to play when you're alone (music on hold)--> | ||
+ | <!-- <param name=" | ||
+ | <!-- File to play when you join the conference --> | ||
+ | <!-- <param name=" | ||
+ | <!-- File to play when you leave the conference --> | ||
+ | <!-- <param name=" | ||
+ | <!-- File to play when you ae ejected from the conference --> | ||
+ | <!-- <param name=" | ||
+ | [...]'' | ||
+ | |||
+ | Natürlich auch an die Firewall denken um die von FreeSwitch benötigten Ports zu öffnen: | ||
+ | |||
+ | ^ Port(s) | ||
+ | | 1719 | UDP | H.323 Gatekeeper RAS-Port | ||
+ | | 1720 | TCP | H.323 Call Signalling | ||
+ | | 3478 | UDP | STUN Service, für NAT traversal | ||
+ | | 3479 | UDP | STUN Service, für NAT traversal | ||
+ | | 5002 | TCP | MLP Protocol Server | ||
+ | | 5003 | UDP | Neighborhood Service | ||
+ | | 5060 | UDP & TCP | SIP UAS, für SIP Signalisierung (Standard SIP-Port, für default intern Profil) | ||
+ | | 5070 | UDP & TCP | SIP UAS, für SIP Signalisierung (für default " | ||
+ | | 5080 | UDP & TCP | SIP UAS, für SIP Signalisierung (für default " | ||
+ | | 16384-32768 | UDP | RTP/RTCP Multimedia Streaming, für Audio/Video Daten in SIP und anderen Protokollen | | ||
+ | |||
+ | ===== Linux Installation: | ||
+ | |||
+ | ==== 1. Vorbereitung ==== | ||
+ | |||
+ | 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 | ||
+ | apt-get install -y libsqlite3-dev openssl ssl-cert | ||
+ | apt-get install -y libapache2-mod-php5 libmcrypt-dev | ||
+ | |||
+ | mkdir / | ||
+ | cd / | ||
+ | |||
+ | ==== 2. FreeSwitch Installation ==== | ||
+ | |||
+ | svn checkout http:// | ||
+ | |||
+ | cd freeswitch | ||
+ | cd build | ||
+ | cp modules.conf.in modules.conf | ||
+ | |||
+ | vi modules.conf | ||
+ | |||
+ | Suchen Sie die Zeile: | ||
+ | |||
+ | # | ||
+ | |||
+ | und entfernen Sie das # Zeichen. | ||
+ | |||
+ | Suchen Sie die Zeile: | ||
+ | |||
+ | # | ||
+ | |||
+ | und entfernen Sie das # Zeichen. | ||
+ | |||
+ | Speichern Sie die Datei. | ||
+ | |||
+ | cd .. | ||
+ | AUTOCONF=/ | ||
+ | |||
+ | Warten Sie bis die Operationen abgeschlossen sind, dann weiter mit: | ||
+ | |||
+ | ./configure –prefix=/ | ||
+ | |||
+ | Warten Sie wieder bis alles abgeschlossen ist, dann weiter mit: | ||
+ | |||
+ | make | ||
+ | |||
+ | Warten Sie wiederrum bis alles abgeschlossen ist, dann weiter mit: | ||
+ | |||
+ | make install | ||
+ | make mod_siren-install | ||
+ | |||
+ | make mod_xml_curl-install | ||
+ | make sounds-install | ||
+ | |||
+ | make sounds-install | ||
+ | |||
+ | make moh-install | ||
+ | make moh-install | ||
+ | |||
+ | Bitte beachten Sie das die obige Wiederholung des Kommandos kein Fehler ist ! Dann weiter mit: | ||
+ | |||
+ | make samples | ||
+ | |||
+ | ==== 3. FreeSwitch Konfiguration für OpenSIM ==== | ||
+ | |||
+ | Wir nehmen bei der folgenden Konfiguration folgendes an. Bei Abweichungen auf Ihrem Computer und Netzwerk müssen Sie entsprechend anders konfigurieren. Dies ist quasi nur ein Beispiel von vielen möglichen Konfigurationen: | ||
+ | |||
+ | * der Server ist direkt an das Internet angeschlossen und verfügt über die öffentliche IP-Adresse 192.111.222.33 | ||
+ | * es gibt keine Firewall die den ein- und ausgehenden Datenfluss irgendwie einschränkt | ||
+ | * OpenSIM läuft auf dem TCP-Port 9000 und ist auf demselben Computer installiert wie FreeSwitch | ||
+ | |||
+ | Geben Sie nun folgendes ein: | ||
+ | |||
+ | cd / | ||
+ | |||
+ | vi modules.conf.xml | ||
+ | |||
+ | Suchen Sie die Zeile: | ||
+ | |||
+ | <!-- <load module=" | ||
+ | |||
+ | und ändern Sie diese in: | ||
+ | |||
+ | <load module=" | ||
+ | |||
+ | Suchen Sie die Zeile: | ||
+ | |||
+ | < | ||
+ | |||
+ | und ändern Sie diese in: | ||
+ | |||
+ | <load module=" | ||
+ | |||
+ | Speichern Sie die Datei. Weiter mit: | ||
+ | |||
+ | cd / | ||
+ | |||
+ | vi xml_curl.conf.xml | ||
+ | |||
+ | Gehen Sie eine Zeile unter diese: | ||
+ | |||
+ | <binding name=" | ||
+ | |||
+ | und tauschen die dort noch vorhandene Beispiel-Konfiguration mit Ihrer Konfiguration: | ||
+ | |||
+ | < | ||
+ | < | ||
+ | <binding name=" | ||
+ | <param name=" | ||
+ | <param name=" | ||
+ | </ | ||
+ | <binding name=" | ||
+ | <param name=" | ||
+ | <param name=" | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Tauschen Sie die oben verwendete Beispiel IP-Adresse 192.111.222.33 mit Ihrer eigenen öffentlichen IP-Adresse aus. Falls Sie einen anderen Port als den Standard-Port 9000 verwenden, passen Sie auch diesen an den bei Ihnen verwendeten Port an. | ||
+ | |||
+ | Speichern Sie die Datei. Weiter geht es mit: | ||
+ | |||
+ | cd / | ||
+ | |||
+ | vi vars.xml | ||
+ | |||
+ | Suchen Sie die Zeile: | ||
+ | |||
+ | < | ||
+ | |||
+ | und ändern Sie diese in: | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== 4. Starten von FreeSwitch ==== | ||
+ | |||
+ | screen -S voice | ||
+ | |||
+ | cd / | ||
+ | ./ | ||
+ | |||
+ | Ignorieren Sie die rot markierten Fehlermeldungen und Warnungen. Weiter mit: | ||
+ | |||
+ | [CTRL][A][D] | ||
+ | |||
+ | ==== 5. OpenSIM-Konfiguration ==== | ||
+ | |||
+ | Editieren Sie die OpenSIM-Konfigurationsdatei und fügen Sie am Ende der Datei folgende Zeilen ein: | ||
+ | |||
+ | < | ||
+ | [FreeSwitchVoice] | ||
+ | | ||
+ | ; | ||
+ | ; | ||
+ | | ||
+ | | ||
+ | | ||
+ | ; | ||
+ | | ||
+ | ;the port your region is running on | ||
+ | | ||
+ | ;your freewitch IP address | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Starten Sie jetzt den OpenSIM-Server. Ab diesem Moment ist Voice in OpenSIM grundsätzlich möglich. Um aber Voice nutzen zu können muß in den Estate-Einstellungen und den Region-Einstellungen auch Voice aktiviert werden. Ausserdem müssen die Avatare einen 3D-Viewer ab Version 1.22 oder später benutzen. | ||
+ | |||
+ | Sollte es dennoch nicht funktionieren haben Sie möglicherweise eine zu alte OpenSIM-Server Version. Voice wird derzeit nur in sehr aktuellen Trunk-Versionen unterstützt. | ||
+ | |||
+ | Natürlich auch an die Firewall denken um die von FreeSwitch benötigten Ports zu öffnen: | ||
+ | |||
+ | ^ Port(s) | ||
+ | | 1719 | UDP | H.323 Gatekeeper RAS-Port | ||
+ | | 1720 | TCP | H.323 Call Signalling | ||
+ | | 3478 | UDP | STUN Service, für NAT traversal | ||
+ | | 3479 | UDP | STUN Service, für NAT traversal | ||
+ | | 5002 | TCP | MLP Protocol Server | ||
+ | | 5003 | UDP | Neighborhood Service | ||
+ | | 5060 | UDP & TCP | SIP UAS, für SIP Signalisierung (Standard SIP-Port, für default intern Profil) | ||
+ | | 5070 | UDP & TCP | SIP UAS, für SIP Signalisierung (für default " | ||
+ | | 5080 | UDP & TCP | SIP UAS, für SIP Signalisierung (für default " | ||
+ | | 16384-32768 | UDP | RTP/RTCP Multimedia Streaming, für Audio/Video Daten in SIP und anderen Protokollen | | ||