1
0
Fork 0
mirror of https://gitlab.gnome.org/GNOME/calls.git synced 2024-12-12 07:37:35 +00:00
Purism GNOME phone app
Find a file
Evangelos Ribeiro Tzaras f930874d00 sip: provider: Keep provider alive while there are still origins
CallsSipOrigin accesses the CallsSipContext (owned by the provider) in its
dispose() which will be invalid once CallsSipProvider gets freed.
This commit will make certain that the provider stays alive for the lifetime
of it's origins.
2021-06-26 08:56:18 +02:00
.gitlab/issue_templates gitlab-template: Add Librem 5 2020-12-22 08:04:19 +00:00
build-aux Flatpak: Fix flatpak manifest, remove java dep and update deps 2020-02-24 15:54:17 +00:00
data meson: Fix typo in gnome.compile_schemas 2021-06-22 04:37:11 +02:00
debian Document and release 0.3.4 2021-06-12 17:24:23 +02:00
doc Expose call objects on DBus 2021-06-03 14:29:36 +00:00
plugins sip: provider: Keep provider alive while there are still origins 2021-06-26 08:56:18 +02:00
po po: Update Ukrainian translation 2021-06-19 10:20:54 +00:00
src util: Get rid of conditional compilation in calls_find_in_store() 2021-06-25 07:34:38 +00:00
tests meson: Passing -fPIE explicitly is discouraged 2021-06-22 04:37:11 +02:00
.dir-locals.el dir-locals: Treat G_* macros as including a semicolon 2021-06-11 17:20:48 +02:00
.gitignore Add .gitignore 2020-03-13 11:38:58 +01:00
.gitlab-ci.yml ci: Reenable flatpak builds 2021-06-22 06:30:40 +02:00
calls.doap doap: Remove Bob from maintainer list 2021-06-23 10:59:53 +02:00
COPYING Add license COPYING file for appropriate packaging. 2020-03-25 21:10:53 +00:00
HACKING.md Introduce HACKING.md 2021-04-09 10:20:03 +02:00
meson.build meson: Disable deprecation warning for e-d-s 2021-06-25 07:34:38 +00:00
meson_options.txt src: meson.build: remove librem5-hack option and depend on libcallaudio 2020-11-01 13:17:32 +01:00
README.md README: Reword plugin search directory section to be more accurate 2021-06-04 17:06:07 +00:00
run.in run: Allow passing arguments to calls when running under gdb 2021-06-18 16:50:11 +02:00
sm.puri.Calls.json flatpak: Update ModemManager to 1.16 2021-06-22 06:27:26 +02:00

Calls

Code coverage

A phone dialer and call handler.

License

Calls is licensed under the GPLv3+.

Dependencies

To build Calls you need to first install the build-deps defined by the debian/control file

If you are running a Debian based distribution, you can easily install all those the dependencies making use of the following command

sudo apt-get build-dep .

Building

We use the meson and thereby Ninja. The quickest way to get going is to do the following:

meson . _build
ninja -C _build
ninja -C _build install

If you don't want to pollute your filesystem please be aware, that you can also use --prefix=~/install.

Build the documentation

If you want to build the documentation you have to configure the meson project with -Ggtk_doc=true

meson . _build -Dgtk_doc=true
ninja -C _build
ninja -C _build calls-doc

Running

Calls has a variety of backends. The default backend is "mm", which utilises ModemManager. To choose a different backend, use the -p command-line option. For example, to run with the dummy backend and some useful debugging output:

export G_MESSAGES_DEBUG=all
/usr/local/bin/gnome-calls -p dummy

If using ModemManager, Calls will wait for ModemManager to appear on D-Bus and then wait for usable modems to appear. The UI will be inactive and display a status message until a usable modem appears.

Running from the build directory

You can run calls without having to install it by executing the run script in the build folder, i.e. _build/run. This script will setup the needed environment and start Calls.

Call provider backends

Call provider backends are compiled as plugins and can be loaded and unloaded at runtime using the -p command line flag, followed by the plugin name.

Setting the CALLS_PLUGIN_DIR environment variable will include the specified directory in the plugin search path. F.e.

export CALLS_PLUGIN_DIR=_build/plugins/
/usr/local/bin/gnome-calls -p dummy

oFono

There is also an oFono backend, "ofono". This was the first backend developed but has been superceded by the ModemManager backend so it may suffer from a lack of attention.

The ofono backend depends on oFono Modem objects being present on D-Bus. To run oFono with useful output:

sudo OFONO_AT_DEBUG=1 ofonod -n -d

The test programs within the oFono source tree are useful to bring up a modem to a suitable state. For example:

cd $OFONO_SOURCE/test
./list-modems
./enable-modem /sim7100
./online-modem /sim7100

Then run Calls:

/usr/bin/gnome-calls -p ofono

Phonesim

One can also make use of the oFono modem simulator, phonesim (in the ofono-phonesim package in Debian):

ofono-phonesim -p 12345 -gui /usr/local/share/phonesim/default.xml

then, ensuring /etc/ofono/phonesim.conf has appropriate contents like:

[phonesim]
Address=127.0.0.1
Port=12345

run oFono as above, then:

cd $OFONO_SOURCE/test
./enable-modem /phonesim
./online-modem /phonesim

And again run Calls.