Suivant: Services de partage de fichiers, Précédent: Services de messagerie, Monter: Services [Table des matières][Index]
Le module (gnu services telephony)
contient des définitions de
services Guix pour les services de téléphonie. Actuellement il fournit les
services suivants :
Cette section décrit comment configurer un serveur Jami que vous pouvez utiliser pour héberger des conférence vidéo (ou audio) entre autres choses. L’exemple suivant montre comment spécifier les archives de compte Jami (les sauvegardes) automatiquement :
(service jami-service-type
(jami-configuration
(accounts
(list (jami-account
(archive "/etc/jami/unencrypted-account-1.gz"))
(jami-account
(archive "/etc/jami/unencrypted-account-2.gz"))))))
Lorsque le champ de comptes est spécifié, les fichiers de compte Jami du service trouvés dans /var/lib/jami seront recréés à chaque redémarrage du service.
Les comptes Jami et leurs sauvegardes correspondantes peuvent être générés
avec les clients jami
ou jami-gnome
. Les comptes ne devraient
pas être protégés par un mot de passe, mais il vaut mieux vous assurer que
leurs fichiers ne sont lisibles que par ‘root’.
L’exemple suivant montre comme déclarer que seuls certains contact devraient pouvoir communiquer avec un compte donné :
(service jami-service-type
(jami-configuration
(accounts
(list (jami-account
(archive "/etc/jami/unencrypted-account-1.gz")
(peer-discovery? #t)
(rendezvous-point? #t)
(allowed-contacts
'("1dbcb0f5f37324228235564b79f2b9737e9a008f"
"2dbcb0f5f37324228235564b79f2b9737e9a008f")))))))
dans ce mode, seuls les allowed-contacts
déclarés peuvent débuter une
communication avec le compte Jami. Vous pouvez utiliser cela par exemple
avec des comptes de point de rendez-vous pour créer un espace de
vidéo-conférence privé.
Pour que l’administrateur système ait le contrôle complet des conférences hébergées sur son système, le service Jami prend en charge les actions suivantes :
# herd doc jami list-actions (list-accounts list-account-details list-banned-contacts list-contacts list-moderators add-moderator ban-contact enable-account disable-account)
Les actions ci-dessus ont pour but de fournir les actions les plus utiles
pour la modération, pas de couvrir l’ensemble de l’API de Jami. Si vous
souhaitez interagir avec le démon Jami depuis Guile, vous pouvez
expérimenter le module (gnu build jami-service)
, qui propulse les
actions Shepherd ci-dessus.
Les action add-moderator
et ban-contact
acceptent
l’empreinte d’un contact (un hash long de 40 caractères) comme
premier argument et l’empreinte d’un compte ou un nom d’utilisateur comme
second argument :
# herd add-moderator jami 1dbcb0f5f37324228235564b79f2b9737e9a008f \ f3345f2775ddfe07a4b0d95daea111d15fbc1199 # herd list-moderators jami Moderators for account f3345f2775ddfe07a4b0d95daea111d15fbc1199: - 1dbcb0f5f37324228235564b79f2b9737e9a008f
dans le cas de ban-contact
, le second argument est facultatif ;
lorsqu’il est omis, le compte est banni de tous les comptes de Jami :
# herd ban-contact jami 1dbcb0f5f37324228235564b79f2b9737e9a008f # herd list-banned-contacts jami Banned contacts for account f3345f2775ddfe07a4b0d95daea111d15fbc1199: - 1dbcb0f5f37324228235564b79f2b9737e9a008f
Les contacts bannis n’ont plus non plus de privilèges administrateur.
L’action disable-account
permet de déconnecter entièrement un compte
du réseau, le rendant injoignable, tandis que enable-account
fait
l’inverse. Ils acceptent un seul nom de compte ou empreinte comme premier
argument :
# herd disable-account jami f3345f2775ddfe07a4b0d95daea111d15fbc1199 # herd list-accounts jami The following Jami accounts are available: - f3345f2775ddfe07a4b0d95daea111d15fbc1199 (dummy) [disabled]
L’action list-account-details
affiche les paramètres détaillés de
chaque compte au format Recutils, ce qui signifie que vous pouvez utiliser
la commande recsel
pour choisir les comptes qui vous intéressent
(voir Selection Expressions dans GNU recutils manual). Remarquez
que les caractères point (‘.’) qui se trouvent la les clés des
paramètres deviennent des underscores (‘_’) dans la sortie, pour
satisfaire les exigences du format Recutils. L’exemple suivant vous montre
comment afficher les empreintes des comptes qui opèrent en mode rendez-vous
:
# herd list-account-details jami | \ recsel -p Account.username -e 'Account.rendezVous ~ "true"' Account_username: f3345f2775ddfe07a4b0d95daea111d15fbc1199
Les autres actions devraient être évidentes.
L’ensemble des options de configuration disponibles est donné ci-dessous.
Les champs de jami-configuration
disponibles sont :
libjami
(par défaut : libjami
) (type : paquet)Le paquet du démon Jami à utiliser.
dbus
(par défaut : dbus-for-jami
) (type : paquet)Le paquet D-Bus à utiliser pour démarrer la session D-Bus requise.
nss-certs
(par défaut : nss-certs
) (type : paquet)Le paquet nss-certs à utiliser pour utiliser les certificats TLS fournis.
enable-logging?
(par défaut : #t
) (type : booléen)Indique s’il faut activer la journalisation vers syslog.
debug?
(par défaut : #f
) (type : booléen)Indique s’il faut activer les messages de débogage.
auto-answer?
(par défaut : #f
) (type : booléen)Indique s’il faut forcer la réponse automatique aux appels entrants.
accounts
(type : peut-être-liste-de-jami-account)Une liste de comptes Jami à (re-)provisionner à chaque fois que le service du démon Jami démarre. Lorsque le champ est spécifié, les répertoires des comptes dans /var/lib/jami/ sont recréés à chaque fois que le service démarre, pour assurer un état cohérent.
Les champs de jami-account
disponibles sont :
archive
(type : string-or-computed-file)Le nom de fichier de l’archive (sauvegarde) du compte. C’est utilisé pour provisionner le compte quand le service démarre. L’archive du compte ne devrait pas être chiffrée. Il est fortement recommandé de la rendre lisible uniquement à l’utilisateur ‘root’ (c.-à-d. pas dans le dépôt), pour vous prémunir contre la fuite de la clé secrète du compte Jami sauvegardé.
allowed-contacts
(type : peut-être-liste-de-account-fingerprint)La liste des contacts permis pour le compte, saisis avec leur empreinte longue de 40 caractères. Les messages et les appels des comptes qui ne sont pas dans la liste seront rejetés. Lorsque la valeur n’est pas spécifiée, la configuration de l’archive du compte est utilisée telle-quelle par rapport aux permissions d’appels et de messages entrants, ce qui se résume par défaut à accepter tous les contacts à communiquer avec le compte.
moderators
(type : peut-être-liste-de-account-fingerprint)La liste des contacts qui devraient avoir des privilèges de modération (pour bannir, rendre muet, etc les autres utilisateur·rices) dans les conférences en rendez-vous, saisis avec leur empreinte longue de 40 caractères. Lorsque la valeur n’est pas spécifiée, la configuration de l’archive du compte est utilisée telle-quelle pour la modération, ce qui se résume par défaut à permettre à n’importe qui de modérer.
rendezvous-point?
(type : peut-être-booléen)Indique si le compte devrait opérer en mode rendez-vous. Dans ce mode, tous les appels audio et vidéos entrants sont fusionnés en une conférence. Lorsque la valeur n’est pas spécifiée, la valeur de l’archive du compte est utilisée.
peer-discovery?
(type : peut-être-booléen)Indique si la découverte de pairs devrait être activée. La découverte de pairs est utilisée pour découvrir d’autres nœuds OpenDHT sur le réseau local, ce qui peut être utile pour maintenir une connexion entre appareils locaux sur le réseau même si la connexion internet est perdue. Lorsque la valeur n’est pas spécifiée, celle de l’archive du compte est utilisée.
bootstrap-hostnames
(type : peut-être-liste-de-chaine)Une liste des noms d’hôte ou IP pointant vers des nœuds OpenDHT, qui devraient être utilisés pour rejoindre le réseau OpenDHT au départ. Lorsque la valeur n’est pas spécifiée, la valeur de l’archive du compte est utilisée.
name-server-uri
(type : peut-être-chaine)L’URI du serveur de nom à utiliser, qui peut être utilisé pour récupérer l’empreinte du compte pour un nom d’utilisateur enregistré.
Cette section décrit comment configurer et lancer un serveur Mumble (précédemment connu sous le nom de Murmur).
Le type de service pour le serveur Mumble. Voici un exemple de configuration :
(service mumble-server-service-type
(mumble-server-configuration
(welcome-text
"Bienvenue sur ce serveur Mumble qui tourne sur Guix !")
(cert-required? #t) ;désactive les connections par mot de passe
(ssl-cert "/etc/letsencrypt/live/mumble.example.com/fullchain.pem")
(ssl-key "/etc/letsencrypt/live/mumble.example.com/privkey.pem")))
Après avoir reconfiguré votre système, vous pouvez manuellement indiquer le
mot de passe SuperUser
de mumble-server avec la commande qui
s’affiche pendant la phase d’activation.
Il est recommandé d’enregistrer un compte utilisateur Mumble normal et de
lui donner les droits admin ou modérateur. Vous pouvez utiliser le client
mumble
pour vous connecter en tant que nouvel utilisateur normal,
vous enregistrer et vous déconnecter. Pour l’étape suivante, connectez-vous
avec le nom SuperUser
en utilisant le mot de passe SuperUser
que vous avez indiqué précédemment et accordez les droits administrateur ou
modérateur à vous utilisateur mumble nouvellement enregistré et créez
quelques salons.
Les champs de mumble-server-configuration
disponibles sont :
package
(par défaut : mumble
)Paquet qui contient bin/mumble-server
.
user
(par défaut : "mumble-server"
)Utilisateur qui lancera le serveur Mumble.
group
(par défaut : "mumble-server"
)Groupe de l’utilisateur qui lancera le serveur Mumble.
port
(par défaut : 64738
)Port sur lequel le serveur écoutera.
welcome-text
(par défaut : ""
)Texte de bienvenue envoyé aux clients lors de leur connexion.
server-password
(par défaut : ""
)Mot de passe que les clients devront entrer pour se connecter.
max-users
(par défaut : 100
)Nombre maximum d’utilisateurs qui peuvent se connecter à ce serveur en même temps.
max-user-bandwidth
(par défaut : #f
)Trafic de voix maximum qu’un utilisateur peut envoyer par seconde.
database-file
(par défaut : "/var/lib/mumble-server/db.sqlite"
)Nom de fichier de la base de données sqlite. L’utilisateur du service deviendra propriétaire du répertoire.
log-file
(par défaut : "/var/log/mumble-server/mumble-server.log"
)Nom du fichier de journal. L’utilisateur du service deviendra propriétaire du répertoire.
autoban-attempts
(par défaut : 10
)Nombre maximum de connexions qu’un utilisateur peut faire pendant
autoban-timeframe
sans être banni automatiquement pour
autoban-time
.
autoban-timeframe
(par défaut : 120
)Durée du temps pendant lequel le nombre de connexions est compté.
autoban-time
(par défaut : 300
)Durée du bannissement automatique en secondes.
opus-threshold
(par défaut : 100
)Pourcentage des clients qui doivent supporter opus avant de passer sur le codec audio opus.
channel-nesting-limit
(par défaut : 10
)Profondeur maximum des canaux.
channelname-regex
(par défaut : #f
)Une chaîne de la forme d’une expression régulière Qt que les noms de canaux doivent respecter.
username-regex
(par défaut : #f
)Une chaîne de la forme d’une expression régulière Qt que les noms d’utilisateurs doivent respecter.
text-message-length
(par défaut : 5000
)Taille maximum en octets qu’un utilisateur peut envoyer en un seul message textuel.
image-message-length
(par défaut : (* 128 1024)
)Taille maximum en octets qu’un utilisateur peut envoyer en une seule image.
cert-required?
(par défaut : #f
)Si la valeur est #t
les clients utilisant une authentification par
mot de passe faible ne seront pas acceptés. Les utilisateurs doivent
compléter l’assistant de configuration des certificats pour rejoindre le
serveur.
remember-channel?
(paramètre de : #f
)Indique si mumble-server devrait se rappeler du dernier canal dans lequel étaient les utilisateurs au moment de leur déconnexion et les y remettre lorsqu’ils se reconnectent.
allow-html?
(par défaut : #f
)Indique si le html est autorisé dans les messages textuels, les commentaires utilisateurs et les descriptions des canaux.
allow-ping?
(par défaut : #f
)Mettre à vrai expose le nombre d’utilisateurs, le nombre d’utilisateurs maximum et la bande passante maximale du serveur par client aux utilisateurs non connectés. Dans le client Mumble, cette information est affichée dans la boîte de dialogue de connexion.
Désactiver ce paramètre empêchera le serveur d’être publiquement listé.
bonjour?
(par défaut : #f
)Indique si le serveur s’annonce sur le réseau local à travers le protocole bonjour.
send-version?
(par défaut : #f
)Indique si la version du serveur mumble-server doit être exposée dans les requêtes ping.
log-days
(par défaut : 31
)Mumlbe stocke aussi les journaux en base de données, qui sont accessible via RPC. La valeur par défaut est 31 jours, mais vous pouvez le mettre à 0 pour les garder pour toujours ou à -1 pour désactiver la journalisation dans la base de données.
obfuscate-ips?
(par défaut : #t
)Indique si les IP enregistrées doivent être cachées pour protéger la vie privée des utilisateurs.
ssl-cert
(par défaut : #f
)Nom de fichier du certificat SSL/TLS utilisé pour les connexions chiffrées.
(ssl-cert "/etc/letsencrypt/live/example.com/fullchain.pem")
ssl-key
(par défaut : #f
)Chemin de fichier vers la clef privée ssl pour les connexions chiffrées.
(ssl-key "/etc/letsencrypt/live/example.com/privkey.pem")
ssl-dh-params
(par défaut : #f
)Nom de fichier d’un fichier encodé en PEM avec les paramètres Diffie-Hellman
pour le chiffrement SSL/TLS. Autrement vous pouvez indiquer
"@ffdhe2048"
, "@ffdhe3072"
, "@ffdhe4096"
,
"@ffdhe6144"
ou "@ffdhe8192"
pour utiliser les paramètres
inclus de la RFC 7919.
ssl-ciphers
(par défaut : #f
)L’option ssl-ciphers
permet de choisir les suites de chiffrement
disponibles pour SSL/TLS.
Cette option est spécifiée en utilisant l’OpenSSL cipher list notation.
Nous vous recommandons d’essayer votre chaîne de suites de chiffrements avec « openssl ciphers <chaîne> » avant de l’indiquer ici, pour avoir une idée des suites de chiffrement que vous aurez. Après avoir indiqué cette option, nous vous recommandons d’inspecter les journaux du serveur Mumble pour vous assurer que Mumble utilise les suites de chiffrements auxquelles vous vous attendez.
Remarque : Modifier cette option peut impacter la rétrocompatibilité de votre serveur Mumble, et peut empêcher que des clients Mumble anciens se connectent.
public-registration
(par défaut : #f
)Doit être un enregistrement
<mumble-server-public-registration-configuration>
ou #f
.
Vous pouvez aussi enregistrer votre serveur dans la liste des serveurs
publiques que le client mumble
affiche au démarrage. Vous ne pouvez
pas enregistrer votre serveur si vous avez un server-password
ou
allow-ping
à #f
.
Cela peut prendre quelques heures avant d’arriver sur la liste publique.
file
(par défaut : #f
)Version alternative de cette configuration : si vous indiquez quelque chose, le reste est ignoré.
Configuration pour l’enregistrement public du service mumble-server.
name
C’est le nom d’affichage de votre serveur. Ne pas le confondre avec le nom d’hôte.
password
Un mot de passe pour identifier votre enregistrement. Les mises à jours suivantes devront utiliser le même mot de passe. Ne le perdez pas.
url
Cela devrait être le lien http://
ou https://
vers votre site
web.
hostname
(par défaut : #f
)Par défaut votre serveur sera listé par son adresse IP. Si cette option est indiquée votre serveur sera listé par son nom d’hôte.
Avertissement d’obsolescence : Pour des raisons historiques, toutes les procédures
mumble-server-
ci-dessus sont aussi exportées avec le préfixemurmur-
à la place. Il est recommandé de commencer à utilisermumble-server-
à partir de maintenant.
Suivant: Services de partage de fichiers, Précédent: Services de messagerie, Monter: Services [Table des matières][Index]