.. _meetingrooms_config: *************************** Meeting Rooms Configuration *************************** .. contents:: :local: Meeting Rooms configuration =========================== Create default env file ----------------------- #. **Launch the following commands** that will *generate* the :file:`.env` file: .. warning:: Please **Copy** the **whole** code block below and **Paste** it in a terminal. It will (re)generate the :file:`.env` file. Do not copy-paste only the :file:`.env` content because it contains specific *here-document* syntax. .. code-block:: bash function generatePassword() { openssl rand -hex 16 } function generateEnvFile() { cat > /etc/docker/meetingrooms/.env << EOF # XiVO vars XIVOCC_TAG=2026.05 XIVOCC_DIST=latest XUC_HOST=${XUC_HOST} MEETING_ROOMS_HOST_IP=${MEETING_ROOMS_HOST_IP} XIVO_HOST=${XIVO_HOST} # # XiVO Edge vars # TURN_CREDENTIALS=${TURN_CREDENTIALS} TURN_HOST=${TURN_HOST} TURN_PORT=3478 TURNS_HOST=\${TURN_HOST} TURNS_PORT=${TURNS_PORT} # # JWT Configuration ENABLE_AUTH=1 ENABLE_GUESTS=0 AUTH_TYPE=jwt JWT_APP_ID=xivo JWT_APP_SECRET=${JWT_APP_SECRET} # # Security # JICOFO_AUTH_PASSWORD=${JICOFO_AUTH_PASSWORD} JVB_AUTH_PASSWORD=${JVB_AUTH_PASSWORD} JIGASI_XMPP_PASSWORD=${JIGASI_XMPP_PASSWORD} # # Basic config # CONFIG=/etc/docker/meetingrooms/jitsi/ JVB_ADVERTISE_IPS=\${MEETING_ROOMS_HOST_IP} HTTP_PORT=80 HTTPS_PORT=443 TZ=Europe/Paris PUBLIC_URL=https://\${XUC_HOST}/video XMPP_MODULES=muc_size XMPP_MUC_MODULES=token_verification,token_affiliation ENABLE_CLOSE_PAGE=true ENABLE_END_CONFERENCE=false # # Basic Jigasi configuration options # JIGASI_SIP_URI=xivo-jitsi@\${XIVO_HOST} JIGASI_SIP_PASSWORD=${JIGASI_SIP_PASSWORD} JIGASI_SIP_SERVER=\${XIVO_HOST} JIGASI_SIP_PORT=5060 JIGASI_SIP_TRANSPORT=UDP # # Advanced configuration options (you generally don't need to change these) # ENABLE_P2P=false EOF } ENV_FILE="/etc/docker/meetingrooms/.env" if [ -f "$ENV_FILE" ]; then source "$ENV_FILE" else JICOFO_AUTH_PASSWORD=$(generatePassword) JVB_AUTH_PASSWORD=$(generatePassword) JIGASI_XMPP_PASSWORD=$(generatePassword) JIGASI_SIP_PASSWORD=$(generatePassword) XIVO_HOST="" XUC_HOST="" MEETING_ROOMS_HOST_IP="" TURN_HOST="" TURNS_PORT=3478 TURN_CREDENTIALS="" JWT_APP_SECRET="" fi generateEnvFile #. Then open the :file:`/etc/docker/meetingrooms/.env` and fill in: * ``XUC_HOST`` var with the same content as the XUC_HOST var in your **XiVO CC** configuration * ``MEETING_ROOMS_HOST_IP`` var with the meeting rooms server IP address. It must be the meeting rooms server IP address accessible for your LAN client. It must be set otherwise nothing will work correctly. * ``XIVO_HOST`` with the VoIP IP of the XiVO PBX It will be the IP towards which the Jitsi SIP gateway will register its SIP peer. * ``JWT_APP_SECRET`` with the same content as the CONFIGMGT_AUTH_SECRET var defined in your **XiVO**'s /etc/docker/xivo/custom.env file * Fill in also parameters linked to :ref:`XiVO Edge ` (which is a prerequisite to use Meeting Room Server - see :ref:`meetingrooms_install_requirement`): * ``TURN_HOST`` var with the Edge STUN/TURN server FQDN (i.e. which must be a FQDN corresponding to the certificate configured on the Edge STUN/TURN server). * ``TURN_CREDENTIALS`` var with the value of the ``TURN_SECRET`` configure in the Edge TURN Server (the secret generated during :ref:`edge_config_turnsecret`). Start the services ------------------ Start the services: .. code-block:: bash docker login -u xivoxc (use the token provided by the XiVO team) meetingrooms-dcomp pull && docker logout meetingrooms-dcomp up -d Edge Configuration ================== .. note:: These steps are to be done on the XiVO CC. On the Edge server you must add the Meetingroom server IP address in the ``TURN_ALLOWED_PEERS``. Please refer to :ref:`edge_config_turnrelaypermission` section. XIVO CC Configuration ===================== .. note:: These steps are to be done on the XiVO CC. If you are using the :ref:`xivouc_addon` mode you **must follow** the sub-section below: :ref:`meetingroom_config_xivoucaddon` On XiVO CC, to be able to use the video service you **must** configure the ``NGINX_JITSI_HOST`` variable. #. Add the ``NGINX_JITSI_HOST`` value in the :file:`/etc/docker/compose/custom.env` file: .. code-block:: ini NGINX_JITSI_HOST= #. Relaunch the services .. code-block:: bash xivocc-dcomp up -d .. _meetingroom_config_xivoucaddon: XiVO UC Embedded Configuration ------------------------------ .. important:: This section applies only if you are in the :ref:`xivouc_addon` mode. With XiVO UC applications, to be able to use the video service you **must** configure the ``NGINX_JITSI_HOST`` variable. #. Add the ``NGINX_JITSI_HOST`` value in the :file:`/etc/docker/xivo/custom.env` file: .. code-block:: ini NGINX_JITSI_HOST= #. Relaunch the services .. code-block:: bash xivo-dcomp up -d XiVO Configuration ================== .. note:: These steps are to be done on the XiVO If you are using the :ref:`xivouc_addon` mode you must also follow the section :ref:`meetingroom_config_xivoucaddon` Configure Jitsi properties in your custom env --------------------------------------------- #. Edit :file:`/etc/docker/xivo/custom.env` file : .. code-block:: ini MEETINGROOM_AUTH_DOMAIN= MEETINGROOM_AUTH_APP_ID= Configure the Trunk to Jitsi ---------------------------- On XiVO, go on page :menuselection:`Services --> IPBX --> Trunk management --> SIP Protocol`, and create a SIP trunk with: * Tab *General*: * :guilabel:`Name`: xivo-jitsi * :guilabel:`Username`: xivo-jitsi * :guilabel:`Password`: put the value of the ``JIGASI_SIP_PASSWORD`` variable in the :file:`/etc/docker/meetingrooms/.env` * :guilabel:`Connection type`: Peer * :guilabel:`IP addressing type`: Dynamic * :guilabel:`Context`: default * :guilabel:`Media server`: MDS Main * :guilabel:`NAT`: Yes (force rport + comedia) * Tab *Advanced*: * :guilabel:`Redirect media streams`: No Then restart the jigasi docker on Meeting Room server:: meetingrooms-dcomp restart jigasi Customize proxy settings on XiVO -------------------------------- .. important:: You need to do this only if XIVO is behind a proxy. If XiVO PBX is behind a proxy (and you followed the :ref:`system_proxy` guide) then you **must** tweak the proxy setting for agid container to add the Meetingroom server IP address in the NO_PROXY list. See :ref:`Proxy Configuration for AGID `