Purism GNOME phone app
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Bob Ham ee126b3660 Merge branch 'wip/sadiq/fixes' into 'master'
new-call-box: Use nul-terminated string to set as buffer text

See merge request Librem5/calls!42
4 years ago
.gitlab/issue_templates Fix typo and rewording 5 years ago
data data: Update icon file 5 years ago
debian d/changelog: Bump version to 0.0.1 5 years ago
doc Preliminary documentation of provider interfaces 5 years ago
plugins Turn providers into plugins courtesy of libpeas 5 years ago
po Add i18n basic structure 5 years ago
src new-call-box: Use null-terminated string to set as buffer text 4 years ago
tests Turn providers into plugins courtesy of libpeas 5 years ago
.dir-locals.el Initial import of cleaned Calls working tree 5 years ago
.gitlab-ci.yml Fix GitLab CI and Debian packaging for ModemManager dependencies 5 years ago
README.md README.md: Update dependencies and instructions to build/run Calls 5 years ago
calls.doap calls.doap: Update homepage location 5 years ago
meson.build meson.build: Bump version to 0.0.1 5 years ago
meson_options.txt Add initial unit tests for Provider 5 years ago
sm.puri.Calls.json sm.puri.Calls.json: Fix libhandy config option type 4 years ago



A phone dialer and call handler.


Calls is licensed under the GPLv3+.


sudo apt-get install libgtk-3-dev libhandy-0.0-dev \
modemmanager-dev libmm-glib-dev libgsound-dev libpeas-dev


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

meson -Dprefix=/usr/local/stow/calls-git ../calls-build
ninja -C ../calls-build
ninja -C ../calls-build install


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:

/usr/local/stow/calls-git/bin/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.


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:

./enable-modem /sim7100
./online-modem /sim7100

Then run Calls:

/usr/local/stow/calls-git/bin/calls -p ofono


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:


run oFono as above, then:

./enable-modem /phonesim
./online-modem /phonesim

And again run Calls.