<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kai</title>
    <description>The latest articles on DEV Community by Kai (@danny899).</description>
    <link>https://dev.to/danny899</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F386524%2F2f6b0993-d393-4c2f-882b-64ed659f85ea.jpeg</url>
      <title>DEV Community: Kai</title>
      <link>https://dev.to/danny899</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/danny899"/>
    <language>en</language>
    <item>
      <title>WeChat OA API Tracking</title>
      <dc:creator>Kai</dc:creator>
      <pubDate>Thu, 18 Jun 2020 00:30:03 +0000</pubDate>
      <link>https://dev.to/danny899/wechat-oa-api-tracking-d9d</link>
      <guid>https://dev.to/danny899/wechat-oa-api-tracking-d9d</guid>
      <description>&lt;p&gt;Creating a page to help tracking the API changes on WeChat Official Account. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---lA-K-Z_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/l10zjmpezejqwkma8rjk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---lA-K-Z_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/l10zjmpezejqwkma8rjk.png" alt="WeChat OA API"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  15/Jun/2020 ChangeLog
&lt;/h4&gt;

&lt;p&gt;Coupon expiry reminder function will be removed on the 15 of June 2020.&lt;/p&gt;

&lt;h4&gt;
  
  
  2/Jun/2020 ChangeLog
&lt;/h4&gt;

&lt;p&gt;WeChat OA Link shortening API : Monthly domain change limit for long links has changed to 10 maximum. Beyond this limit will cause “45104 reach max domain quota limit“ response.&lt;/p&gt;

&lt;h4&gt;
  
  
  10/Apr/2020 ChangeLog
&lt;/h4&gt;

&lt;p&gt;WeChat group message with media_type text, will have the following changes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The content limit will be &lt;strong&gt;reduced to 300 characters&lt;/strong&gt; from 600 characters&lt;/li&gt;
&lt;li&gt;Remove anchor link support, all A tag (links) in text message will not be translated into hyper links.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>wechat</category>
      <category>wechatapi</category>
    </item>
    <item>
      <title>How to configure Jitsi Meet with multiple Videobridge nodes</title>
      <dc:creator>Kai</dc:creator>
      <pubDate>Fri, 15 May 2020 04:37:42 +0000</pubDate>
      <link>https://dev.to/danny899/how-to-configure-jitsi-meet-with-multiple-videobridge-nodes-2a4k</link>
      <guid>https://dev.to/danny899/how-to-configure-jitsi-meet-with-multiple-videobridge-nodes-2a4k</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;In this article, we going to configure an existing &lt;a href="https://jitsi.org/jitsi-meet/" rel="noopener noreferrer"&gt;Jitsi meet&lt;/a&gt; installation with multiple/two videobridge nodes. Jitsi meet is an open source video streaming application that offers similar functionalities to Zoom. This tutorial assumes that you have completed a default (single node) Jitsi Meet installation. For default Jitsi Meet installation, please refer to &lt;a href="https://github.com/danny899/how-to-docs/tree/master/jitsi-installation" rel="noopener noreferrer"&gt;this guide&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Jitsi meet has an in-built load balancing functionality, and can be configured to manage multiple Videobridge nodes for hosting meeting conferences. Each videobridge component is responsible for streaming media data to all the participants of a given set of meeting. To configure Jitsi meet with multiple videobridge nodes, we will need to change all the videobridge node to publish their status to the default XMPP server. At the same time, we will change the Jicofo component in Jitsi meet to subscribe to the XMPP node for events published by all videobridge nodes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fdanny899%2Fhow-to-docs%2Fmaster%2Fjitsi-installation%2FJitsi-Meet-load-balancing.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fdanny899%2Fhow-to-docs%2Fmaster%2Fjitsi-installation%2FJitsi-Meet-load-balancing.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisits
&lt;/h2&gt;

&lt;p&gt;In this article, we assume you already have a server (&lt;strong&gt;&lt;em&gt;Server A&lt;/em&gt;&lt;/strong&gt;) with default Jitsi Meet installation, and we going to set up a second videobridge in a separate server machine (&lt;strong&gt;&lt;em&gt;Server B&lt;/em&gt;&lt;/strong&gt;).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Debian machine with &lt;a href="https://github.com/danny899/how-to-docs/tree/master/jitsi-installation" rel="noopener noreferrer"&gt;Default Jitsi Meet installation&lt;/a&gt; (&lt;strong&gt;Server A&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;Debian machine OS 9 (Skretch) or later  (&lt;strong&gt;Server B&lt;/strong&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  PART A. Configuration Change to Server A
&lt;/h2&gt;

&lt;p&gt;Let's SSH onto Server A, this machine has a default Jitsi meet installation, and by default it also has one videobridge component.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Please note in this tutorial, the domain name &lt;code&gt;&amp;lt;domainname&amp;gt;&lt;/code&gt; or &lt;code&gt;&amp;lt;dnsname&amp;gt;&lt;/code&gt; is the domain of the main Jitsi server (Server A).&lt;/strong&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1. Add the JIDs of the Videobridges
&lt;/h3&gt;

&lt;p&gt;First, we need to allow all videobridges to be able to create their own pubsub nodes. Let's add the JIDs of the videobridge nodes to Prosody. In Prosody configuration &lt;code&gt;/etc/prosody/conf.d/&amp;lt;dnsname&amp;gt;.cfg.lua&lt;/code&gt;, add the following line under &lt;code&gt;authentication = ...&lt;/code&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

  admins &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="s2"&gt;"jitsi-videobridge.&amp;lt;dnsname&amp;gt;"&lt;/span&gt;,
    &lt;span class="s2"&gt;"videobridge2.&amp;lt;dnsname&amp;gt;"&lt;/span&gt;,
  &lt;span class="o"&gt;}&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;In this tutorial we use the above two subdomains &lt;code&gt;jitsi-videobridge&lt;/code&gt; and &lt;code&gt;videobridge2&lt;/code&gt; as dns for each videobridge node. In some Jitsi versions, &lt;code&gt;jitsi-videobridge&lt;/code&gt; is the default domain name used by videobridge. &lt;code&gt;videobridge2&lt;/code&gt; is the domain we chose for the second videobridge node. After the change, your configuration file should look like below.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

VirtualHost &lt;span class="s2"&gt;"&amp;lt;dnsname&amp;gt;"&lt;/span&gt;
  &lt;span class="nt"&gt;--&lt;/span&gt; enabled &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;false&lt;/span&gt; &lt;span class="nt"&gt;--&lt;/span&gt; Remove this line to &lt;span class="nb"&gt;enable &lt;/span&gt;this host
  authentication &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"internal_plain"&lt;/span&gt; //Note this value can be &lt;span class="s2"&gt;"anonymous"&lt;/span&gt;, &lt;span class="k"&gt;if &lt;/span&gt;you haven&lt;span class="s1"&gt;'t enabled authentication
  admins = {
    "jitsi-videobridge.&amp;lt;dnsname&amp;gt;",
    "videobridge2.&amp;lt;dnsname&amp;gt;",
  }
  ...


&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  Step 2. Change configuration of default Videobridge node
&lt;/h3&gt;

&lt;p&gt;Now, edit the videobridge configuration in &lt;code&gt;/etc/jitsi/videobridge/config&lt;/code&gt;, and look for the configuration line &lt;code&gt;JVB_OPTS="--apis=,"&lt;/code&gt;, and change it to following. &lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nv"&gt;JVB_OPTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"--apis=rest,xmpp --subdomain=jitsi-videobridge"&lt;/span&gt;
&lt;span class="nv"&gt;JVB_HOST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&amp;lt;domainname&amp;gt; 


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  Step 3. Change Prosody to listen to public interface
&lt;/h3&gt;

&lt;p&gt;Since we going to have lots of videobridge nodes connecting from outside the server box, we need to change Prosody to listen to the public network. Edit the prosody configuration &lt;code&gt;/etc/prosody/prosody.cfg.lua&lt;/code&gt; to listen for public IP, add the following configuration under &lt;code&gt;admin = { }&lt;/code&gt;&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

component_ports &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;5347&lt;span class="o"&gt;}&lt;/span&gt;
component_interface &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"&amp;lt;IPaddress&amp;gt;"&lt;/span&gt;  //replace this IP address with the public IP of your main Jitsi Meet server &lt;span class="o"&gt;(&lt;/span&gt;Server A&lt;span class="o"&gt;)&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Note the IP address here is dependent on your network setup. If you have issue with connecting to the prosody from external videobridge nodes, try change this IP to &lt;code&gt;0.0.0.0&lt;/code&gt;, which listens for all IP ranges.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4. Change Jicofo configuration to use public domain
&lt;/h3&gt;

&lt;p&gt;Now, change the following configuration files to replace &lt;code&gt;localhost&lt;/code&gt; with your jitsi domain.&lt;br&gt;
First, &lt;code&gt;/etc/jitsi/jicofo/config&lt;/code&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nv"&gt;JICOFO_HOST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&amp;lt;domainname&amp;gt;  //domain name is the domain name of your jitsi server &lt;span class="o"&gt;(&lt;/span&gt;Server A&lt;span class="o"&gt;)&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  Step 5. Change default Videobridge node to use pubsub
&lt;/h3&gt;

&lt;p&gt;In &lt;code&gt;/etc/jitsi/videobridge/sip-communicator.properties&lt;/code&gt; to enable statistics and to set statistics to use pubsub, make the following changes. Add the following lines if they are missing, or otherwise if &lt;code&gt;STATISTIC_TRANSPORT&lt;/code&gt; is set to &lt;code&gt;muc&lt;/code&gt; change it to &lt;code&gt;pubsub&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

org.jitsi.videobridge.ENABLE_STATISTICS&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true
&lt;/span&gt;org.jitsi.videobridge.STATISTICS_TRANSPORT&lt;span class="o"&gt;=&lt;/span&gt;pubsub
org.jitsi.videobridge.PUBSUB_SERVICE&lt;span class="o"&gt;=&lt;/span&gt;&amp;lt;domainname&amp;gt;
org.jitsi.videobridge.PUBSUB_NODE&lt;span class="o"&gt;=&lt;/span&gt;sharedStatsNode


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  Step 6. Change Jicofo to subscribe to pubsub node
&lt;/h3&gt;

&lt;p&gt;In &lt;code&gt;/etc/jitsi/jicofo/sip-communicator.properties&lt;/code&gt; file, adding the following lines&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

org.jitsi.focus.pubsub.ADDRESS&lt;span class="o"&gt;=&lt;/span&gt;&amp;lt;domainname&amp;gt;
org.jitsi.focus.STATS_PUBSUB_NODE&lt;span class="o"&gt;=&lt;/span&gt;sharedStatsNode


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  Step 7. Open Ports on the main server (Server A)
&lt;/h3&gt;

&lt;p&gt;Make sure the following ports are open:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; TCP/UDP Port 5347&lt;/li&gt;
&lt;li&gt; TCP/UDP Port 5222 //TODO: verify the purpose of this port&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  PART B. Changes on the second videobridge server (Server B)
&lt;/h2&gt;

&lt;p&gt;Now, let's install the second Videobridge on the other server. First, SSH on to the second server (Server B).&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 1. Add the Jitsi package library
&lt;/h3&gt;

&lt;p&gt;Run following command as super user to add the Jitsi debian package and key.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;'deb https://download.jitsi.org stable/'&lt;/span&gt; | &lt;span class="nb"&gt;sudo tee&lt;/span&gt; /etc/apt/sources.list.d/jitsi-stable.list
&lt;span class="nv"&gt;$ &lt;/span&gt;wget &lt;span class="nt"&gt;-qO&lt;/span&gt; -  https://download.jitsi.org/jitsi-key.gpg.key | &lt;span class="nb"&gt;sudo &lt;/span&gt;apt-key add -


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;If you hit an error like gnupg, gnupg2 and gnupg1 do not seem to be installed, you will need to install gnupg or gnupg2 using apt-get install gnupg2. Then you can add the key after that.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2. Install jitsi videobridge
&lt;/h3&gt;

&lt;p&gt;run the following command&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nv"&gt;$ &lt;/span&gt;apt-get update
&lt;span class="nv"&gt;$ &lt;/span&gt;apt-get &lt;span class="nb"&gt;install &lt;/span&gt;jitsi-videobridge


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;During the installation, we will get prompted for domain name of the main server, replace &lt;code&gt;localhost&lt;/code&gt; with the &lt;strong&gt;domain name of the main server&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3. Configure Videobridge to use pubsub
&lt;/h3&gt;

&lt;p&gt;in &lt;code&gt;/etc/jitsi/videobridge/sip-communicator.properties&lt;/code&gt; to enable statistics and to set statistics to use pubsub, make the following changes. Add the following lines if they are missing, or otherwise if &lt;code&gt;STATISTIC_TRANSPORT&lt;/code&gt; is set to &lt;code&gt;muc&lt;/code&gt;, change it to &lt;code&gt;pubsub&lt;/code&gt;. Make sure the &lt;code&gt;domainname&lt;/code&gt; is pointing to server A.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

org.jitsi.videobridge.ENABLE_STATISTICS&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true
&lt;/span&gt;org.jitsi.videobridge.STATISTICS_TRANSPORT&lt;span class="o"&gt;=&lt;/span&gt;pubsub
org.jitsi.videobridge.PUBSUB_SERVICE&lt;span class="o"&gt;=&lt;/span&gt;&amp;lt;domainname&amp;gt;
org.jitsi.videobridge.PUBSUB_NODE&lt;span class="o"&gt;=&lt;/span&gt;sharedStatsNode


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  Step 4. Configure Videobridge to connect to the main server
&lt;/h3&gt;

&lt;p&gt;Now, edit the videobridge configuration in &lt;code&gt;/etc/jitsi/videobridge/config&lt;/code&gt;, and look for the configuration line &lt;code&gt;JVB_OPTS="--apis=,"&lt;/code&gt;, and change it to following. &lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nv"&gt;JVB_OPTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"--apis=rest,xmpp --subdomain=videobridge2"&lt;/span&gt; 
&lt;span class="nv"&gt;JVB_HOST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&amp;lt;domainname&amp;gt; 


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;By default, the JID uses &lt;code&gt;jitsi-videobridge&lt;/code&gt; as the default subdomain, so in this second node, we set the subdomain as &lt;code&gt;videobridge2&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  PART C. Add new videobridge components to main Jitsi server (Server A)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1. Set videobridge credentials
&lt;/h3&gt;

&lt;p&gt;Log back onto Serve A. Edit the file in &lt;code&gt;/etc/prosody/conf.d/&amp;lt;dnsname&amp;gt;.cfg.lua&lt;/code&gt;, at the bottom of the main &lt;code&gt;VirtualHost&lt;/code&gt; add the following&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

Component &lt;span class="s2"&gt;"videobridge2.&amp;lt;dnsname&amp;gt;"&lt;/span&gt; //This is the domain name of the second videobridge
   component_secret &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"&amp;lt;password&amp;gt;"&lt;/span&gt; //This can be found on second VB, under /etc/jitsi/videobridge/config


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Check the component list, make sure the &lt;code&gt;componet_secret&lt;/code&gt; of &lt;code&gt;Component "jitsi-videobridge..."&lt;/code&gt; is set, and is the same as the value in &lt;code&gt;/etc/jitsi/videobridge/config&lt;/code&gt; on server A. Note in some Jitsi Meet version, this setting can be missing, so make sure you add this component if it's missing.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

Component &lt;span class="s2"&gt;"jitsi-videobridge.&amp;lt;dnsname&amp;gt;"&lt;/span&gt; //This is the domain name of the default videobridge
   component_secret &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"&amp;lt;password&amp;gt;"&lt;/span&gt; //This can be found on first VB, under /etc/jitsi/videobridge/config


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  Step 2. Restart the services on Server A
&lt;/h3&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;service prosody reload
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;service jicofo restart
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;service jitsi-videobridge restart
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;service nginx restart


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  Step 3. Restart videobridge on Server B
&lt;/h3&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;service jitsi-videobridge restart


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
  
  
  Done.
&lt;/h2&gt;

&lt;p&gt;Check the following log files on Server A to verify the videobridge nodes are joined successfully.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;tail&lt;/span&gt; &lt;span class="nt"&gt;-f&lt;/span&gt; /var/log/jitsi/jicofo.log
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;tail&lt;/span&gt; &lt;span class="nt"&gt;-f&lt;/span&gt; /var/log/jitsi/jvb.log
&lt;span class="nv"&gt;$ &lt;/span&gt;/var/log/prosody/prosody.log


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;In your &lt;code&gt;prosody.log&lt;/code&gt; file, you should see something like this.&lt;br&gt;
&lt;code&gt;videobridge2.&amp;lt;domainname&amp;gt;:component  info    External component successfully authenticated&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Check the following log files on Serve B.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

/var/log/jitsi/jvb.log


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>linux</category>
      <category>tutorial</category>
      <category>videostreaming</category>
    </item>
  </channel>
</rss>
