summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-08-02 15:48:59 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-08-02 15:48:59 -0400
commit4673f817938d9d2b1b40a072ab2e0c44a32ccc97 (patch)
treed3f12240903c4b2631849b2eff660ba0aa55dfec /doc
parent69dcc24c9f0cdfea674eb690e7755d26a25ced2b (diff)
Revert "services: Add a service for Jami."
This reverts commit 69dcc24c9f0cdfea674eb690e7755d26a25ced2b. It broke 'guix pull'.
Diffstat (limited to 'doc')
-rw-r--r--doc/guix.texi228
1 files changed, 0 insertions, 228 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 9a9c85678c2..2298d512a1e 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -22526,234 +22526,6 @@ and Error.
22526@node Telephony Services 22526@node Telephony Services
22527@subsection Telephony Services 22527@subsection Telephony Services
22528 22528
22529@cindex telephony, services
22530The @code{(gnu services telephony)} module contains Guix service
22531definitions for telephony services. Currently it provides the following
22532services:
22533
22534@subsubheading Jami
22535
22536@cindex jami, service
22537
22538This section describes how to configure a Jami server that can be used
22539to host video (or audio) conferences, among other uses. The following
22540example demonstrates how to specify Jami account archives (backups) to
22541be provisioned automatically:
22542
22543@lisp
22544(service jami-service-type
22545 (jami-configuration
22546 (accounts
22547 (list (jami-account
22548 (archive "/etc/jami/unencrypted-account-1.gz"))
22549 (jami-account
22550 (archive "/etc/jami/unencrypted-account-2.gz"))))))
22551@end lisp
22552
22553When the accounts field is specified, the Jami account files of the
22554service found under @file{/var/lib/jami} are recreated every time the
22555service starts.
22556
22557Jami accounts and their corresponding backup archives can be generated
22558using either the @code{jami-qt} or @code{jami-gnome} Jami clients. The
22559accounts should not be password-protected, but it is wise to ensure
22560their files are only readable by @samp{root}.
22561
22562The next example shows how to declare that only some contacts should be
22563allowed to communicate with a given account:
22564
22565@lisp
22566(service jami-service-type
22567 (jami-configuration
22568 (accounts
22569 (list (jami-account
22570 (archive "/etc/jami/unencrypted-account-1.gz")
22571 (peer-discovery? #t)
22572 (rendezvous-point? #t)
22573 (allowed-contacts
22574 '("1dbcb0f5f37324228235564b79f2b9737e9a008f"
22575 "2dbcb0f5f37324228235564b79f2b9737e9a008f")))))))
22576@end lisp
22577
22578In this mode, only the declared @code{allowed-contacts} can initiate
22579communication with the Jami account. This can be used, for example,
22580with rendezvous point accounts to create a private video conferencing
22581space.
22582
22583To put the system administrator in full control of the conferences
22584hosted on their system, the Jami service supports the following actions:
22585
22586@example sh
22587# herd doc jami list-actions jami
22588(list-accounts
22589 list-account-details
22590 list-banned-contacts
22591 list-contacts
22592 list-moderators
22593 add-moderator
22594 ban-contact
22595 enable-account
22596 disable-account)
22597@end example
22598
22599The above actions aim to provide the most valuable actions for
22600moderation purposes, not to cover the whole Jami API. Users wanting to
22601interact with the Jami daemon from Guile may be interested in
22602experimenting with the @code{(gnu build jami-service)} module, which
22603powers the above Shepherd actions.
22604
22605@c TODO: This should be auto-generated from the doc already defined on
22606@c the shepherd-actions themselves in (gnu services telephony).
22607The @code{add-moderator} and @code{ban-contact} actions accept a contact
22608@emph{fingerprint} (40 characters long hash) as first argument and an
22609account fingerprint or username as second argument:
22610
22611@example sh
22612# herd add-moderator jami 1dbcb0f5f37324228235564b79f2b9737e9a008f \
22613 f3345f2775ddfe07a4b0d95daea111d15fbc1199
22614
22615# herd list-moderators jami
22616Moderators for account f3345f2775ddfe07a4b0d95daea111d15fbc1199:
22617 - 1dbcb0f5f37324228235564b79f2b9737e9a008f
22618
22619@end example
22620
22621In the case of @code{ban-contact}, the second username argument is
22622optional; when omitted, the account is banned from all Jami accounts:
22623
22624@example sh
22625# herd ban-contact jami 1dbcb0f5f37324228235564b79f2b9737e9a008f
22626
22627# herd list-banned-contacts jami
22628Banned contacts for account f3345f2775ddfe07a4b0d95daea111d15fbc1199:
22629 - 1dbcb0f5f37324228235564b79f2b9737e9a008f
22630
22631@end example
22632
22633Banned contacts are also stripped from their moderation privileges.
22634
22635The @code{disable-account} action allows to completely disconnect an
22636account from the network, making it unreachable, while
22637@code{enable-account} does the inverse. They accept a single account
22638username or fingerprint as first argument:
22639
22640@example sh
22641# herd disable-account jami f3345f2775ddfe07a4b0d95daea111d15fbc1199
22642
22643# herd list-accounts jami
22644The following Jami accounts are available:
22645 - f3345f2775ddfe07a4b0d95daea111d15fbc1199 (dummy) [disabled]
22646
22647@end example
22648
22649The @code{list-account-details} action prints the detailed parameters of
22650each accounts in the Recutils format, which means the @command{recsel}
22651command can be used to select accounts of interest (@pxref{Selection
22652Expressions,,,recutils, GNU recutils manual}). Note that period
22653characters (@samp{.}) found in the account parameter keys are mapped to
22654underscores (@samp{_}) in the output, to meet the requirements of the
22655Recutils format. The following example shows how to print the account
22656fingerprints for all accounts operating in the rendezvous point mode:
22657
22658@example sh
22659# herd list-account-details jami | \
22660 recsel -p Account.username -e 'Account.rendezVous ~ "true"'
22661Account_username: f3345f2775ddfe07a4b0d95daea111d15fbc1199
22662@end example
22663
22664The remaining actions should be self-explanatory.
22665
22666The complete set of available configuration options is detailed below.
22667
22668@c TODO: Ideally, the following fragments would be auto-generated at
22669@c build time, so that they needn't be manually duplicated.
22670@c Auto-generated via (configuration->documentation 'jami-configuration)
22671@deftp {Data Type} jami-configuration
22672Available @code{jami-configuration} fields are:
22673
22674@table @asis
22675@item @code{jamid} (default: @code{libring}) (type: package)
22676The Jami daemon package to use.
22677
22678@item @code{dbus} (default: @code{dbus}) (type: package)
22679The D-Bus package to use to start the required D-Bus session.
22680
22681@item @code{nss-certs} (default: @code{nss-certs}) (type: package)
22682The nss-certs package to use to provide TLS certificates.
22683
22684@item @code{enable-logging?} (default: @code{#t}) (type: boolean)
22685Whether to enable logging to syslog.
22686
22687@item @code{debug?} (default: @code{#f}) (type: boolean)
22688Whether to enable debug level messages.
22689
22690@item @code{auto-answer?} (default: @code{#f}) (type: boolean)
22691Whether to force automatic answer to incoming calls.
22692
22693@item @code{accounts} (default: @code{disabled}) (type: maybe-jami-account-list)
22694A list of Jami accounts to be (re-)provisioned every time the Jami
22695daemon service starts. When providing this field, the account
22696directories under @file{/var/lib/jami/} are recreated every time the
22697service starts, ensuring a consistent state.
22698
22699@end table
22700
22701@end deftp
22702
22703@c Auto-generated via (configuration->documentation 'jami-account)
22704@deftp {Data Type} jami-account
22705Available @code{jami-account} fields are:
22706
22707@table @asis
22708@item @code{archive} (type: string-or-computed-file)
22709The account archive (backup) file name of the account. This is used to
22710provision the account when the service starts. The account archive
22711should @emph{not} be encrypted. It is highly recommended to make it
22712readable only to the @samp{root} user (i.e., not in the store), to guard
22713against leaking the secret key material of the Jami account it contains.
22714
22715@item @code{allowed-contacts} (default: @code{disabled}) (type: maybe-account-fingerprint-list)
22716The list of allowed contacts for the account, entered as their 40
22717characters long fingerprint. Messages or calls from accounts not in
22718that list will be rejected. When unspecified, the configuration of the
22719account archive is used as-is with respect to contacts and public
22720inbound calls/messaging allowance, which typically defaults to allow any
22721contact to communicate with the account.
22722
22723@item @code{moderators} (default: @code{disabled}) (type: maybe-account-fingerprint-list)
22724The list of contacts that should have moderation privileges (to ban,
22725mute, etc. other users) in rendezvous conferences, entered as their 40
22726characters long fingerprint. When unspecified, the configuration of the
22727account archive is used as-is with respect to moderation, which
22728typically defaults to allow anyone to moderate.
22729
22730@item @code{rendezvous-point?} (default: @code{disabled}) (type: maybe-boolean)
22731Whether the account should operate in the rendezvous mode. In this
22732mode, all the incoming audio/video calls are mixed into a conference.
22733When left unspecified, the value from the account archive prevails.
22734
22735@item @code{peer-discovery?} (default: @code{disabled}) (type: maybe-boolean)
22736Whether peer discovery should be enabled. Peer discovery is used to
22737discover other OpenDHT nodes on the local network, which can be useful
22738to maintain communication between devices on such network even when the
22739connection to the the Internet has been lost. When left unspecified,
22740the value from the account archive prevails.
22741
22742@item @code{bootstrap-hostnames} (default: @code{disabled}) (type: maybe-string-list)
22743A list of hostnames or IPs pointing to OpenDHT nodes, that should be
22744used to initially join the OpenDHT network. When left unspecified, the
22745value from the account archive prevails.
22746
22747@item @code{name-server-uri} (default: @code{disabled}) (type: maybe-string)
22748The URI of the name server to use, that can be used to retrieve the
22749account fingerprint for a registered username.
22750
22751@end table
22752
22753@end deftp
22754
22755@subsubheading Murmur (VoIP server)
22756
22757@cindex Murmur (VoIP server) 22529@cindex Murmur (VoIP server)
22758@cindex VoIP server 22530@cindex VoIP server
22759This section describes how to set up and run a Murmur server. Murmur is 22531This section describes how to set up and run a Murmur server. Murmur is