There are no reviews yet. Be the first to send feedback to the community and the maintainers!
COPYRIGHT NOTICE Copyright (C) 2004-2023 Savoir-faire Linux Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Introduction ------------ Jami is a Voice-over-IP software phone. We want it to be: - user friendly (fast, sleek, easy to learn interface) - professional grade (transfers, holds, optimal audio quality) - compatible with Asterisk (using SIP account) - decentralized call (P2P-DHT) - customizable As the SIP/audio daemon and the user interface are separate processes, it is easy to provide different user interfaces. Jami comes with various graphical user interfaces and even scripts to control the daemon from the shell. Jami is currently used by the support team of Savoir-faire Linux Inc. More information is available on the project homepage: https://www.jami.net/ This source tree contains the daemon application only that handles the business logic of Jami. UIs are located in differents repositories. See the Contributing section for more information. Short description of content of source tree ------------------------------------------- - src/ is the core of libjami. - bin/ contains applications main code. - bin/dbus, the D-Bus XML interfaces, and C++ bindings About Savoir-faire Linux Inc. ----------------------------- Savoir-faire Linux Inc. is a consulting company based in Montreal, Quebec. For more information, please check out our website: https://www.savoirfairelinux.com/ How to compile on Linux ----------------------- 1) Compile the dependencies first cd contrib mkdir native cd native ../bootstrap make 2) Then the jamid application A) With Autotools (recommended) cd ../.. ./autogen.sh ./configure make make install B) With Meson cd ../../ mkdir build export PATH=$PATH:`pwd`/contrib/`cc -dumpmachine`/bin meson -Dpkg_config_path=`pwd`/contrib/`cc -dumpmachine`/lib/pkgconfig -Ddefault_library=static -Dinterfaces=dbus build cd build ninja ninja install Done ! Note: If you don't want SHM to be used, you can build with `--without-dbus` How to compile on Linux for Android ----------------------------------- 1) Download and install Android NDK 2) Compile the dependencies export ANDROID_NDK=<NDK> export ANDROID_ABI=arm64-v8a export ANDROID_API=29 export TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64 export TARGET=aarch64-linux-android export CC=$TOOLCHAIN/bin/$TARGET$ANDROID_API-clang export CXX=$TOOLCHAIN/bin/$TARGET$ANDROID_API-clang++ export AR=$TOOLCHAIN/bin/$TARGET-ar export LD=$TOOLCHAIN/bin/$TARGET-ld export RANLIB=$TOOLCHAIN/bin/$TARGET-ranlib export STRIP=$TOOLCHAIN/bin/$TARGET-strip export PATH=$PATH:$TOOLCHAIN/bin cd contrib mkdir native cd native ../bootstrap --build=x86_64-pc-linux-gnu --host=$TARGET$ANDROID_API make 3) Update directories in the file /cross-files/android_arm64_api29.txt 4) Compile the library libjami.so cd ../../ mkdir build meson --cross-file `pwd`/cross-files/android_arm64_api29.txt build cd build ninja ninja install Note: to build the tests add `-Dtests=true` ; or it can be enabled later with `meson --reconfigure -Dtests=true build` How to compile on macOS ----------------------- # These first steps are only necessary if you don't use a package manager. cd extras/tools ./bootstrap make export PATH=$PATH:/location/of/ring/daemon/extras/tools/build/bin # Or, use your favorite package manager to install the necessary tools (macports or brew). automake, pkg-config, libtool, gettext, yasm # Compile the dependencies cd contrib mkdir native cd native ../bootstrap make -j # Then the daemon cd ../../ ./autogen.sh ./configure --without-dbus --prefix=<install_path> make If you want to link against libjamiclient and native client easiest way is to add to ./configure: --prefix=<prefix_path> Do a little dance! How to compile in a Docker container ----------------------- docker build --tag jami-daemon . # To build with custom build args ```bash docker build --tag jami-daemon --build-arg config_args="--with-nodejs" . ``` Common Issues ------------- autopoint not found: When using Homebrew, autopoint is not found even when gettext is installed, because symlinks are not created. Run: 'brew link --force gettext' to fix it. Clang compatibility (developers only) ------------------------------------- It is possible to compile jamid with Clang by setting CC and CXX variables to 'clang' and 'clang++' respectively when calling ./configure. Currently it is not possible to use the DBus interface mechanism, and the interaction between daemon and client will not work; for each platform where D-Bus is not available the client should implement all the methods in the *_stub.cpp files. SIP accounts --------------------- You may register an existing SIP account through the account wizard in both clients (KDE and GNOME). By doing this, you will be able to call other accounts known to this server. Contributing to Jami ------------------------ Of course we love patches. And contributions. And spring rolls. Development website / Bug Tracker: - https://git.jami.net/savoirfairelinux/ring-project Repositories are hosted on Gerrit, which we use for code review. It also contains the client subprojects: - https://review.jami.net/#/admin/projects/ Do not hesitate to join us and post comments, suggestions, questions and general feedback on the Jami mailing-list: https://lists.gnu.org/mailman/listinfo/jami
opendht
OpenDHT: a C++17 Distributed Hash Table implementationnum2words
Modules to convert numbers to words. 42 --> forty-twojami-project
This (mirror) repo groups all parts of Jami.jami-client-android
Mirror of Gerrit Jami Android Clientansible-nexus3-oss
Ansible role to provision Nexus Repository Manager 3.x for RedHat/CentOSjami-client-gnome
Mirror of Gerrit Jami GNOME Clientsous-chef
Sous-Chef is a web application to help organizations to plan and deliver meals, and to manage clients files.cqfd
cqfd helps running commands inside the Docker container configured for your project, keeping the user and working directory the same inside the containersflvault
The networked credentials store and authentication managerjami-libclient
Mirror of Gerrit Jami Libclient (formerly LibRingClient, or LRC for short) Librarycukinia
A simple on-target system test framework for Linuxodoo_payroll
Odoo Payrollmonitoring-tools
Collection of monitoring tools for Shinken, Nagios, etc.jami-client-windows
Mirror of Gerrit Jami Windows Clientmeta-embedded-containers
Provide two approaches to embed Docker container(s) into a target root filesystem with Yocto. The Docker images will be pulled from an external Docker registry.jami-client-macos
Mirror of Gerrit Jami macOS Clientjami-client-ios
Mirror of Gerrit Jami iOS Clientansible-django
Provisions a Django project behind nginx/uwsgiansible-reboot-if-needed
Reboots hosts if needed, pausing for confirmationflake8-copyright
Adds copyright checks to flake8mod-influxdb
Shinken module for exporting data to InfluxDBproject-addons
Odoo project related addonsansible-gitpush-deploy
odoo-cms-theme-exploration
An exploration of theme for odoo-cms with bootflat for Odooansible-puma-rbenv-nginx
Deploy a Ruby rbenv environment with Puma and Nginx virtual host all-in-one.django-vagrant-demo
Showcase of a Django project automatically deploying itself locally with Vagranttraining-odoo
Training docjami-client-qt
flashlight-search
An instanceable and customizable search portlet for Liferay 7ansible-php-fpm-nginx
openerp-pyui
Generate OpenERP XML views through a Python APIjami-nameservice
Mirror of Gerrit jami-nameserver projectredmine-add-ldap-user-to-group
Automatically add newly logged-in LDAP user to a specific group.ansible-nginx
Installs and globally configures nginxmeta-jami
office-365-integration
Office365 integration for Liferay gives an out of the box access to use the msgraph-sdk from your own Liferay plugin. This includes the ability to let your user login to Microsoft with Auth0.drupal-monitoring
Containers stack for the Bansho drupal modulevanilla-slick
Soon! The vanilla JavaScript version of the last carousel you'll ever need!jami-client-uwp
Mirror of Gerrit Jami UWP Clientringme.js
A library to display a « Ring Me » button on a website.redmine-issue-status-auto-open
Redmine Plugin : When someone spent time on a task, automatically switch it's status to open if the current status order is below.secure-odoo
Secure Odoocolorlogging
Simple color logging for Python.dhtnet
Mirrorredmine-timebank
Show a table with summation total of spent and estimated hours, story points, remaining and projected in version pages.mod-booster-snmp
Shinken module for boosting SNMP connectionsquick-phone_ts-tpc-7990
Uses Yocto to build an image which runs quick-phone on the TS-TPC-7990redmine-list-of-roles-members
Redmine Plugin : Easily get a list of all members of a Role grouped by projects.ansible-uwsgi-nginx
This Ansible role will install uWSGI as needed from official repositories, create NGINX virtual host, manage apps with theirs UNIX sockets + ensure that required plugins are installed.meta-jami-imx-toradex
ansible-ssh-access
Facilitates SSH access from one remote to other(s)lightweight-liferay-theme
An example of a lightweight liferay themeliferay-theme-switcher
A theme switcher module for Liferay 7odoo-env
A Docker image for Odoo developmentstarlight
Cross-functional skill tracking system for Agile teams. 🌟ansible-sync-cron
Provisions crontab entries allowing to rsync folders.multi-redmine
Installs and configure Redmine from it Git repo, needs rbenv environment.quick-phone
sflphone
The free software enterprise-class softphone for GNU/Linuxmeta-jami-imx
ansible-ansible-install
Installs ansible on the target host, possibly in a virtualenvconnector-rt
Connector between Odoo and Request Tracker (https://www.bestpractical.com/rt/)pack-vmware-system-https
Checks for VMware virtual machine and ESX/ESXiredmine-role-members-batch-copy
Copy or move in batch the members of a role to another role in all projects.redmine-subtask-overview-enhanced
Show time spent and estimated time of each tasks into the subtasks overview of a task page.jmeter-openstack
JMeter OpenStack, easily develop performance tests for OpenStackodoo-ci
Odoo image to do CI of our public modules.ansible-compile-website
Ansible role that crawl sitemap URLs pages in order to fill all the caches.oe-sfl
lampd
A Drupal-oriented LAMP stack base image for Docker, based on Phusionpack-linux-system-nrpe
sflphone-test
ansible-postgres-install
Installs postgresql server on debian jessieodoo-sh-sfl
pack-generic-repodeb-http
Debian and Ubuntu repository active checks with HTTP requestsmattermost_bot_poc
A Mattermost bot POC to explore the possibilities (yet another hello world project)ansible-django-deploy
Ansible role to set up a Django project in a non-privileged environment.WAQ2017-exercices-react.js
Repo des exercices de la présentation https://savoirfairelinux.github.io/WAQ2017-react.jsangular-application-example
Angular Application Exampleangular-ringme.js
Angular component for Ringme.js (https://github.com/savoirfairelinux/ringme.js)pack-generic-radius
Generic pack for radius checkpack-generic-redis
Shinken pack for redis serveransible-redmine
Installs and globally configures Redmine in a secure way.mod-carbon
openerp-sane
Small utilities to ease OpenERP developmenthr-addons
HR related Odoo addonsOpenERP-sentry-patch
Patch for setting up OpenERP to work with sentry for Exception reportingtest-report-pdf
Generate a cukinia test report with AsciiDocpack-generic-multisite-http
CheckMK Multisite active checks with HTTP requestsansible-fail2ban
Easily edit and deploy simple Fail2ban service into your server on the fly with easy configuration.fabmob
Répertoire des contributions faites dans le cadre de la Fabrique de mobiliténode-server-example
Node Server Exampleossec-decoders-and-rules
OSSEC customs decoders and rules for various applications that are not in the default OSSECPiKake
Remote controlled dashboard for the minix neo Z64web-addons
Web related addonsansible-backup-cron
pack-generic-smb
Pack to monitor samba shared directorystock-addons
Odoo stock related addonspack-generic-ssh
SSH active checks with SSH requestpack-generic-ldap
LDAP active checks with LDAP requestsLove Open Source and this site? Check out how you can help us