How to build the jami-daemon DBus document?

Hi all,

I decided to challenge myself to write a chat bot for Jami. I wanted to use the DBus API so I’m not forced to use Python. However I can’t seem to successfully build the API document. On Linux

I’ve ran the following commands in my attempt at building it. However I still don’t see a Makefile being generated.

cd extras/tools
./bootstrap
make

cd ../..
cd contrib
mkdir native
cd native
../bootstrap
make -j

cd ../..
./autogen.sh
./configure

Am I doing anything wrong?

wow, this directory is old and should not exists. The .xml are in bin/dbus. Actually, generally the best thing is to get d-feet, all api are visible, will remove this directory next week

Interesting. I presume that you mean that the .xml files are in /usr/share/dbus-1/interfaces

I would very much like to develop an interface for jami on linux phones, for example the pinephone. I can confirm that jami runs well on linux phones. but the interface is almost impossible to use. We need an interface similar to the android one.

Since there is no working cli I assume that I must try using dbus, but, without any documentation, this will be hard.

Can you provide any help?

https://github.com/AmarOk1412/jami-cli/ with https://github.com/AmarOk1412/jami-rs/blob/main/src/lib.rs can help you

without any documentation

A big part is there: https://git.jami.net/savoirfairelinux/jami-project/-/wikis/Home
Also the .xml I pointed should show all available methods

I would very much like to develop an interface for jami on linux phones

In my opinion, jami-qt should be responsive and should be usable. I use it on my pinephone. This will avoid to do a client from scratch, and it already have a lot of things. Tweaking the interface will be less painful in my opinion and can have a great value

Thanks for the reply and the links.

I have not yet been able to get jami-qt to run on my arch linux pinephone.

The error is fairly simple, but I do not know how to solve it yet:

$ jami-qt
qt.qpa.plugin: Could not find the Qt platform plugin “wayland” in “”
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

and:

Got keys from plugin meta data QList(“xcb”)
QFactoryLoader::QFactoryLoader() checking directory path “/usr/bin/platforms” …

/usr/bin/platforms does not exist.

I installed jami-qt from the repos.

Solved: Required qt6-wayland

So jami-qt seems to work, but it has many of the same problems as jami-gnome. For example:

  • Slow to start, which is only a problem if trying to log on to the phone and answer a call. I do not think that autoanswer is a solution here.
  • The keyboard is not shown automatically for a search or chat.
  • Accidentally rotating the phone cancels the scale-to-fit for the interface.
  • Incoming calls are sent to the loud speaker by default. This can be changed through pulseaudio, but as far as I can see, not directly in the jami-qt.

I never said it’s perfect, it’s just an entry point to avoid to redo a whole client. All those issues should be fixable

For the last point (I don’t have my pinephone here, but in the settings, media settings, Output device)

Absolutely, it is not necessary to reinvent the wheel, but perhaps a simple Call/Chat front ned which can open the jami client for detailed settings might be one approach.

Unfortunately the media settings are not fine grained enough. I think the the only way (at present) to select “Internal Earpiece” instead of “Internal Speaker” is though pulseaudio. What I was looking for is a button that can switch between earpiece and speaker during a call.