{"id":84,"date":"2020-04-02T08:49:54","date_gmt":"2020-04-02T07:49:54","guid":{"rendered":"https:\/\/blog.boscolab.de\/\/blog.boscolab.de\/?p=84"},"modified":"2022-03-29T11:15:40","modified_gmt":"2022-03-29T09:15:40","slug":"jitsi-meet-server-open-source-video-conferencing","status":"publish","type":"post","link":"https:\/\/blog.boscolab.de\/?p=84","title":{"rendered":"Jitsi meet server open-source video conferencing"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"552\" src=\"https:\/\/blog.boscolab.de\/wp-content\/uploads\/2020\/04\/jitsimeet-1024x552.png\" alt=\"\" class=\"wp-image-99\" srcset=\"https:\/\/blog.boscolab.de\/wp-content\/uploads\/2020\/04\/jitsimeet-1024x552.png 1024w, https:\/\/blog.boscolab.de\/wp-content\/uploads\/2020\/04\/jitsimeet-300x162.png 300w, https:\/\/blog.boscolab.de\/wp-content\/uploads\/2020\/04\/jitsimeet-768x414.png 768w, https:\/\/blog.boscolab.de\/wp-content\/uploads\/2020\/04\/jitsimeet.png 1052w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Jitsi meet<\/figcaption><\/figure>\n\n\n\n<p>Ich hatte das Bed\u00fcrfnis einen freien Video Chat Server einzurichten f\u00fcr Freunde, Familie und alle anderen die das gebrauch k\u00f6nnten. Da ich generell versuche open-source Software einzu\u00e4tzen bin ich auf Jitsi gesto\u00dfen. Hier geht es zur Projekt Webseite: <a href=\"https:\/\/jitsi.org\/\">https:\/\/jitsi.org\/<\/a> Viel will ich dazu nicht erkl\u00e4ren, das Netz ist voll damit. Aber es gab das ein oder andere Problem und ich m\u00f6chte die L\u00f6sung dokumentieren. <\/p>\n\n\n\n<p>Den Jitsi Server habe ich auf Proxmox Virtualisiert, als System kommt Linux mit Ubuntu 18.04 LTS zum Einsatz. Was wird noch gebraucht? Java OpenJDK und Nginx Webserver m\u00fcssen vor der Installation von Jitsi installiert werden. Ein Let\u2019s Encrypt Zertifikat richte ich nicht auf diesem Server ein da ich pfSense mit HA Proxy als Reverse Proxy und ACME betreibe. Somit macht die pfSense Let\u2019s Encrypt Zertifikate und ich muss das nicht f\u00fcr jeden Webserver neu generieren.<\/p>\n\n\n\n<p>Kommen wir nun zu den aufgetretenen Problemen. Der Server war soweit bereit und der erste Test im internen Netzwerk war erfolgreich. Als ich jedoch einen Chat Raum mit einem externen Client aufbauen wollte gab es weder Audio noch Video. Der Raum selbst war ok und ich konnte Textnachrichten versenden. Lag es eventuell an den UDP Port 10000? Nein, in der Config von  <code>\/etc\/jitsi\/videobridge\/sip-communicator.properties<\/code> m\u00fcssen folgende Zeilen eingetragen werden. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=&lt;Local.IP.Address&gt;\norg.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=&lt;Public.IP.Address&gt;<\/code><\/pre>\n\n\n\n<p>Es stellte sich heraus das die Public IP Adresse tats\u00e4chlich eine IP sein muss. Der Server kann kein DNS aufl\u00f6sen. Das bedeutet, wenn man einen DSL Anschluss mit dynamischer IP verwendet, kann man die DNS zum Aufl\u00f6sen der IP nicht in die Config eintragen. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"695\" height=\"386\" src=\"https:\/\/blog.boscolab.de\/wp-content\/uploads\/2020\/04\/jitsi-terminal.png\" alt=\"\" class=\"wp-image-100\" srcset=\"https:\/\/blog.boscolab.de\/wp-content\/uploads\/2020\/04\/jitsi-terminal.png 695w, https:\/\/blog.boscolab.de\/wp-content\/uploads\/2020\/04\/jitsi-terminal-300x167.png 300w\" sizes=\"auto, (max-width: 695px) 100vw, 695px\" \/><figcaption>\/etc\/jitsi\/videobridge\/sip-communicator.properties<\/figcaption><\/figure>\n\n\n\n<p>Nach ein paar Recherchen bemerkte ich das dieses Problem viele haben. Eine L\u00f6sung gibt es bis jetzt nicht. Jedoch habe ich das Problem mit Marcel <a href=\"https:\/\/blog.boscolab.de\/\/twitter.com\/_mmo\">twitter.com\/<em>_mmo<\/em><\/a> besprochen und wir arbeiten an einem passenden Cron Job der die IP automatisch in der  <code>\/etc\/jitsi\/videobridge\/sip-communicator.properties<\/code> austauscht. <\/p>\n\n\n\n<p>Bis der Cron Job fertig ist muss die IP manuell getauscht werden. Wer andere L\u00f6sungen hat bitte eine Mail an mich input@boscolab.de<\/p>\n\n\n\n<p>English version: <\/p>\n\n\n\n<p>I had the need to set up a free video chat server for friends, family and anyone else who could use it. Since I generally try to use open source software, I came across Jitsi. Here is the project website: https:\/\/jitsi.org\/ I don&#8217;t want to explain much about it, the network is full of it. But there were one or two problems and I want to document the solution.<\/p>\n\n\n\n<p>I virtualized the Jitsi server on Proxmox, as a system Linux with Ubuntu 18.04 LTS is used. What else is needed? Java OpenJDK and Nginx web server must be installed before installing Jitsi. I do not set up a Let\u2019s Encrypt certificate on this server because I run pfSense with HA Proxy as a reverse proxy and ACME. So pfSense Let&#8217;s Encrypt makes certificates and I don\u2019t have to regenerate them for every web server.<\/p>\n\n\n\n<p>Now we come to the problems encountered. The server was ready so far and the first test in the internal network was successful. However, when I wanted to set up a chat room with an external client, there was no audio or video. The room itself was ok and I could send text messages. Was it possibly due to UDP port 10000? No, the following lines must be entered in the config of \/etc\/jitsi\/videobridge\/sip-communicator.properties.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=&lt;Local.IP.Address&gt;\norg.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=&lt;Public.IP.Address&gt;<\/code><\/pre>\n\n\n\n<p>It turned out that the public IP address must actually be an IP. The server cannot resolve DNS. This means that if you use a DSL connection with dynamic IP, you cannot enter the DNS in the config to resolve the IP.<\/p>\n\n\n\n<p>After doing some research, I noticed that many had this problem. So far there is no solution. However, I discussed the problem with Marcel <a href=\"https:\/\/blog.boscolab.de\/\/twitter.com\/_mmo\">twitter.com\/_mmo<\/a> and we are working on a suitable cron job that automatically exchanges the IP in the \/etc\/jitsi\/videobridge\/sip-communicator.properties.<\/p>\n\n\n\n<p>The IP must be exchanged manually until the cron job is finished. Anyone who has other solutions please email me at input@boscolab.de<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ich hatte das Bed\u00fcrfnis einen freien Video Chat Server einzurichten f\u00fcr Freunde, Familie und alle anderen die das gebrauch k\u00f6nnten. Da ich generell versuche open-source Software einzu\u00e4tzen bin ich auf Jitsi gesto\u00dfen. Hier geht es zur Projekt Webseite: https:\/\/jitsi.org\/ Viel will ich dazu nicht erkl\u00e4ren, das Netz ist voll damit. Aber es gab das ein &hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[6,12],"class_list":{"0":"post-84","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"hentry","6":"category-sonstiges","7":"tag-jitsi","8":"tag-server","10":"without-featured-image"},"_links":{"self":[{"href":"https:\/\/blog.boscolab.de\/index.php?rest_route=\/wp\/v2\/posts\/84","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.boscolab.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.boscolab.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.boscolab.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.boscolab.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=84"}],"version-history":[{"count":1,"href":"https:\/\/blog.boscolab.de\/index.php?rest_route=\/wp\/v2\/posts\/84\/revisions"}],"predecessor-version":[{"id":350,"href":"https:\/\/blog.boscolab.de\/index.php?rest_route=\/wp\/v2\/posts\/84\/revisions\/350"}],"wp:attachment":[{"href":"https:\/\/blog.boscolab.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=84"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.boscolab.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=84"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.boscolab.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=84"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}