1
0
Fork 0
mirror of https://gitlab.gnome.org/GNOME/calls.git synced 2024-11-15 21:05:36 +00:00
Purism-Calls/README.md
2021-06-04 17:06:07 +00:00

3.2 KiB

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.