Jami (software)

Jami (formerly GNU Ring, SFLphone) is a SIP-compatible distributed peer-to-peer softphone and SIP-based instant messenger for Linux, Microsoft Windows, macOS, iOS, and Android. Jami was developed and maintained by the Canadian company Savoir-faire Linux,[5][6] and with the help of a global community of users and contributors, Jami positions itself as a potential free Skype replacement.[7]

Jami
Developer(s)Savoir-faire Linux Inc.
Preview release(s) [±]
Android 20210813 (August 13, 2021 (2021-08-13)[1]) [±]

Desktop 20201230 (December 30, 2020 (2020-12-30)[2]) [±]

iOS 20210104 (January 4, 2021 (2021-01-04)[3]) [±]
Repository
Written inJava, Kotlin, Python, Shell, Makefile, PowerShell, roff
Operating systemAndroid, FreeBSD, iOS, iPhone, Linux, Microsoft Windows, macOS[4]
Platformx86, x86-64, 32- and 64-bit ARM, powerpc, sparc,
Available inEnglish, French, German, Spanish, Russian, Chinese, Italian, Vietnamese, Portuguese, Hungarian
TypeVoIP, telephony, softphone, SIP
LicenseGPL-3.0-or-later
Websitejami.net

Jami is free and open-source software released under the GNU GPL-3.0-or-later. In November 2016, it became part of the GNU Project.[8]

Two account types are currently available, and many of each type can be configured concurrently. Both types offer similar features including messaging, video and audio. The account types are SIP and Ring. A SIP account enables the Jami softphone to connect to a standard SIP server and a Ring account can register (or use an account set up) on the decentralised Jami network which requires no central server. By default, Jami uses a OpenDHT node maintained by Savoir-faire Linux to join the network when the user connects for the first time. However, the application gives users the choice to run this through their own bootstrap server in the advanced settings.[9]

By adopting distributed hash table technology (as used, for instance, within the BitTorrent network), Jami creates its own network over which it can distribute directory functions, authentication and encryption across all systems connected to it.[10]

Packages are available for all major Linux distributions including Debian, Fedora, and Ubuntu.[11] Documentation is available on Ring's Tuleap wiki.[12]

History

Jami was initially known as SFLphone, and was one of the few softphones under Linux to support PulseAudio out of the box. The Ubuntu documentation recommended it for enterprise use because of features like conferencing and attended call transfer.[13] In 2009, CIO magazine listed SFLphone among the top five open-source VoIP softphones to watch.[14] SFLphone was renamed to Ring in 2016 and then to Jami in 2018.[15]

Design

Jami is based on a MVC model, with a daemon (the model) and client (the view) communicating. The daemon handles all the processing including communication layer (SIP/IAX), audio capture and playback, and so on. The client is a graphical user interface. D-Bus can act as the controller enabling communication between the client and the daemon.

Features

  • SIP-compatible with OpenDHT support[16][17]
  • Unlimited number of calls
  • Instant messaging
  • Searchable call history
  • Call recording[16]
  • Attended call transfer
  • Automatic call answering
  • Call holding
  • Audio and video calls with multi-party audio[16] and video conferencing[18][19]
  • Multi-channel audio support (experimental)
  • Streaming of video and audio files during a call
  • TLS and SRTP support
  • Multiple[16] audio codecs supported: G711u, G711a, GSM, Speex (8, 16, 32 kHz), Opus, G.722 (silence detection supported with Speex)
  • Multiple SIP accounts support, with per-account STUN support and SIP presence subscription
  • DTMF support
  • Automatic Gain Control
  • Account assistant wizard
  • Global keyboard shortcuts
  • Flac and Vorbis ringtone support[18]
  • Desktop notification: voicemail number, incoming call, information messages
  • SIP Re-invite
  • Address book integration in GNOME and KDE
  • PulseAudio support
  • Jack Audio Connection Kit support
  • Locale settings: French, English, Russian, German, Chinese, Spanish, Italian, Vietnamese
  • Automatic opening of incoming URL
  • End-to-end encryption used for chat, video and voice[20]
  • Decentralised (no internet connection necessary)

See also

References

  1. Savoir-faire Linux Inc. (6 January 2021). "Commits · master · savoirfairelinux _ ring-client-android · GitLab". git.ring.cx. Savoir-faire Linux Inc. Retrieved 8 January 2021.
  2. Savoir-faire Linux Inc. (30 December 2020). "Commits · master · savoirfairelinux _ ring-project · GitLab". git.ring.cx. Savoir-faire Linux Inc. Retrieved 8 January 2021.
  3. Savoir-faire Linux Inc. (4 January 2021). "Commits · master · savoirfairelinux _ ring-client-ios · GitLab". git.ring.cx. Savoir-faire Linux Inc. Retrieved 8 January 2021.
  4. "News". Ring. 2018-07-25. Archived from the original on 2018-12-26. Retrieved 2018-12-01.
  5. Free Software Foundation
  6. "Ring's Tuleap Server". Archived from the original on 2018-04-19. Retrieved 2016-02-17.
  7. Robertson, Donald. "The Licensing and Compliance Lab interviews Guillaume Roguez, Ring Project Director". Free Software Foundation. Retrieved 2016-02-19.
  8. GNU Ring beta 2 release announcement
  9. "Why is Jami truly distributed?". Jami. 2019-10-09. Retrieved 2020-09-25.
  10. Say Hello to Ring (Savoir-faire Linux)
  11. "Ring Download". Archived from the original on 2018-12-26. Retrieved 2016-09-19.
  12. "Ring's Tuleap wiki". Archived from the original on 2018-10-19. Retrieved 2016-02-17.
  13. Official Ubuntu documentation
  14. "5 open source VoIP softphones to watch". CIO. Archived from the original on 2017-05-01. Retrieved 2012-01-03.
  15. https://linuxreviews.org/Jami
  16. Sanders, James. "Privacy-focused Skype alternative Ring shows promise – TechRepublic". TechRepublic. Retrieved 2016-02-19.
  17. OpenDHT project on Github
  18. Huber, Mathias (17 January 2014). "Software-Telefon SFLphone KDE 1.3.0 veröffentlicht » Linux-Magazin". Linux-Magazin. Retrieved 2016-02-19.
  19. "All features by client · Wiki jami-project". Jami GitLab. savoirfairelinux.
  20. "Protocol". Once an encrypted and authenticated peer-to-peer communication channel is available, the SIP protocol must be used to place a call and send messages.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.