tuto:linux_divers:jitsi

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tuto:linux_divers:jitsi [24/04/2020 16:05]
dani
tuto:linux_divers:jitsi [28/05/2020 11:22] (Version actuelle)
dani [Install Jitsi on CentOS 7]
Ligne 1: Ligne 1:
 ====== Install Jitsi on CentOS 7 ====== ====== Install Jitsi on CentOS 7 ======
  
-This page give needed steps to install and configure Jitsi on a CentOS server. If like me, you're not a big Docker fan, and you're happier with EL based systems instead of Debian, it might be useful to you. In this guide, you'll learn :+This page gives the needed steps to install and configure Jitsi on a CentOS server. If like me, you're not a big Docker fan, and you're happier with EL based systems, it might be useful to you. In this guide, you'll learn :
   * How to build latest versions of all components   * How to build latest versions of all components
   * Get a working install with prosody, jicofo, meet, videobridge   * Get a working install with prosody, jicofo, meet, videobridge
Ligne 8: Ligne 8:
  
 <note tip>We deploy all this with ansible, see [[https://git.fws.fr/fws/ansible-roles/src/branch/master/roles/prosody|prosody]] [[https://git.fws.fr/fws/ansible-roles/src/branch/master/roles/jitsi|jitsi]] and [[https://git.fws.fr/fws/ansible-roles/src/branch/master/roles/jitsi_videobridge|jitsi videobridge]] <note tip>We deploy all this with ansible, see [[https://git.fws.fr/fws/ansible-roles/src/branch/master/roles/prosody|prosody]] [[https://git.fws.fr/fws/ansible-roles/src/branch/master/roles/jitsi|jitsi]] and [[https://git.fws.fr/fws/ansible-roles/src/branch/master/roles/jitsi_videobridge|jitsi videobridge]]
-This page are just some notes to help you setting this up if you don't want to play with ansible. It might be out of date though+This page are just some notes to help you setting this up if you don't want to play with ansible. But ansible is our recommanded way to deploy it
 </note> </note>
  
 Jitsi is composed of several components, and also relies on 3rd party ones. Here is a quick overview of which are using for what : Jitsi is composed of several components, and also relies on 3rd party ones. Here is a quick overview of which are using for what :
  
-  * An XMPP server is needed to route messages between all those components. We will use prosody for this+  * An XMPP server is needed to route messages between all the components. We will use prosody for this
   * Videobridge is the SFU((Selective Forwarding Unit)). It will receive all the video and audio streams, and handle relay to the other participants   * Videobridge is the SFU((Selective Forwarding Unit)). It will receive all the video and audio streams, and handle relay to the other participants
   * Jicofo is the component which will handle stream negociation and room management   * Jicofo is the component which will handle stream negociation and room management
Ligne 20: Ligne 20:
   * ConferenceMapper API is a small daemon needed for inbound calls to work. It'll associate a PIN to each Jitsi room and is needed so that a phone call can be routed to the correct Jitsi room   * ConferenceMapper API is a small daemon needed for inbound calls to work. It'll associate a PIN to each Jitsi room and is needed so that a phone call can be routed to the correct Jitsi room
  
-In this example, will use visio.fws.fr as jitsi domain name. You'll need to adapt this+In this example, we will use visio.fws.fr as jitsi domain name. You'll need to adapt this
  
 <note tip>This how to assume you already have a valid SSL cert in /etc/prosody/certs/jitsi.crt with its private key /etc/prosody/certs/jitsi.key.</note> <note tip>This how to assume you already have a valid SSL cert in /etc/prosody/certs/jitsi.crt with its private key /etc/prosody/certs/jitsi.key.</note>
Ligne 56: Ligne 56:
 </code> </code>
  
-Now, lets configure it+Now, lets configure it. Edit /etc/prosody/prosody.cfg.lua
  
-<code bash> +<file prosody.cfg.lua lua>
-cat <<_EOF > /etc/prosody.cfg.lua+
  
 plugin_paths = { "/opt/prosody/modules" } plugin_paths = { "/opt/prosody/modules" }
Ligne 122: Ligne 121:
  
 Include "conf.d/*.cfg.lua" Include "conf.d/*.cfg.lua"
 +</file>
  
-_EOF +Now edit **/etc/prosody/conf.d/jitsi.cfg.lua**
- +
-cat <<_EOF > /etc/prosody/conf.d/jitsi.cfg.lua+
  
 +<file jitsi.cfg.lua lua>
 muc_mapper_domain_base = "visio.fws.fr"; muc_mapper_domain_base = "visio.fws.fr";
 admins = { "focus@auth.visio.fws.fr" } admins = { "focus@auth.visio.fws.fr" }
Ligne 196: Ligne 195:
   muc_component = "conference.visio.fws.fr"   muc_component = "conference.visio.fws.fr"
  
-_EOF +</file>
-</code>+
  
 Now we can start and enable the daemon Now we can start and enable the daemon
Ligne 624: Ligne 622:
 net.java.sip.communicator.impl.protocol.jabber.acc=acc net.java.sip.communicator.impl.protocol.jabber.acc=acc
 net.java.sip.communicator.impl.protocol.jabber.acc.ACCOUNT_UID=Jabber:jigasi@auth.visio.fws.fr net.java.sip.communicator.impl.protocol.jabber.acc.ACCOUNT_UID=Jabber:jigasi@auth.visio.fws.fr
-net.java.sip.communicator.impl.protocol.jabber.acc.USER_ID=jigasi@auth.conf.fws.fr+net.java.sip.communicator.impl.protocol.jabber.acc.USER_ID=jigasi@auth.visio.fws.fr
 net.java.sip.communicator.impl.protocol.jabber.acc.IS_SERVER_OVERRIDDEN=true net.java.sip.communicator.impl.protocol.jabber.acc.IS_SERVER_OVERRIDDEN=true
 net.java.sip.communicator.impl.protocol.jabber.acc.SERVER_ADDRESS=jitsi.fws.fr net.java.sip.communicator.impl.protocol.jabber.acc.SERVER_ADDRESS=jitsi.fws.fr
Ligne 691: Ligne 689:
 yum install python3 yum install python3
 </code> </code>
-</code>+<code bash>
 mkdir -p /opt/jitsi/{data,confmapper} mkdir -p /opt/jitsi/{data,confmapper}
 chown jitsi:jitsi /opt/jitsi/data chown jitsi:jitsi /opt/jitsi/data
Ligne 760: Ligne 758:
   * You might want to change the Outbound CID to advertize the 0510101010 number   * You might want to change the Outbound CID to advertize the 0510101010 number
   * You might change the context to **outbound-allroutes** if you don't want conference user to be able to call internal numbers. The default context is **from-internal**   * You might change the context to **outbound-allroutes** if you don't want conference user to be able to call internal numbers. The default context is **from-internal**
-  * Restrict codecs to alaw and ulaw (I had sound issues with opus and g722, so better to restrict this to known working codecs). For this, type **all* in the **Disallowed Codecs** field, and **alaw&ulaw** in the **Allowed Codec** field+  * Restrict codecs to alaw and ulaw (I had sound issues with opus and g722, so better to restrict this to known working codecs). For this, type **all** in the **Disallowed Codecs** field, and **alaw&ulaw** in the **Allowed Codec** field
   * You should also disable the **Direct Media** option   * You should also disable the **Direct Media** option
  
Ligne 786: Ligne 784:
 exten => jitsi,n,Dial(PJSIP/304,,b(jitsi-conference-room-header^addheader^1(${JITSI_ROOM}))) exten => jitsi,n,Dial(PJSIP/304,,b(jitsi-conference-room-header^addheader^1(${JITSI_ROOM})))
 </code> </code>
 +
 +==== Create an AGI script to lookup roomname from their PIN ====
  
 We have to create an AGI script so that asterisk can query the confmapper daemon to get the name of a room from the PIN. For this, create the script **/usr/share/asterisk/agi-bin/jitsi_conf_pin** with the following content : We have to create an AGI script so that asterisk can query the confmapper daemon to get the name of a room from the PIN. For this, create the script **/usr/share/asterisk/agi-bin/jitsi_conf_pin** with the following content :
Ligne 820: Ligne 820:
 </code> </code>
  
 +==== Create a Custom Destination pointing on your custom IVR ====
 OK, now we need to way to route calls to our new custom IVR. For this, we'll create a **Custom Destination** in FreePBX. Just set the target to **jitsi-ivr,s,1** OK, now we need to way to route calls to our new custom IVR. For this, we'll create a **Custom Destination** in FreePBX. Just set the target to **jitsi-ivr,s,1**
  
 {{ :tuto:linux_divers:jitsi_custom_dest.png |}} {{ :tuto:linux_divers:jitsi_custom_dest.png |}}
  
-This **Custom Destination** make the IVR available in all the FreePBX routing logic. We can assign it an internal number to test it with a new **Misc Application** :+This **Custom Destination** make the IVR available in all the FreePBX routing logic. 
 + 
 +==== Assign an internal number to the IVR to test ==== 
 +We can assign it an internal number to test it with a new **Misc Application** :
  
 {{ :tuto:linux_divers:jitsi_misc_app.png |}} {{ :tuto:linux_divers:jitsi_misc_app.png |}}
  • tuto/linux_divers/jitsi.1587737119.txt.gz
  • Dernière modification: 24/04/2020 16:05
  • de dani