(+Matthew Wild in Ccs as it looks like he was the author of prosody
support for what I've been looking at)
Dominique Martinet wrote on Thu, Mar 03, 2022 at 11:57:42PM +0900:
> One of my user is using Siskin IM, and I can't seem to get calls
> through them when the device is locked.
>
> I brought it up with siskin devs[1], and it turns out the pushed
> content might just not contain enough information for siskin to act
> appropriately:
> [1]
https://github.com/tigase/siskin-im/issues/177
>
> [...]
>
> What I've tried so far:
> - I've added mod_cloud_notify_extensions, mod_cloud_notify_encrypted
> and mod_cloud_notify_filters which were referring to siskin in their
> README.
> mod_cloud_notify_encrypted in particular made text message bodies
> sometimes be included in notifications, but didn't change anything for
> voice messages (still including dummy text)
Looking a bit further at the code (siskin-im's, tigase-server which I
don't run but would expect to work, and prosody module's) it looks like
the missing feature would be proper 'tigase:push:jingle:0' support, as
described (briefly) here:
https://xeps.tigase.net//docs/push-notifications/encrypt/
In particular, this section:
---
Instead of the form mentioned above, the XMPP server SHOULD create a
JSON object with following fields:
unread - containing a number of unread messages
sender - containing a JID of a stanza sender causing this
notification (should be bare JID, with exception for
JingleMessageInitiation as in this case full JID is
required)
type - type of the push notification:
chat - for 1-1 messages
groupchat - for MUC rooms and groupchat messages
subscribe - for presence subscribe requests
call - for jingle calls
message - body of a message (if available, MAY be only first part of
the message body)
nickname - in case of a message of type groupchat, this field should
be set to the nickname of the message sender (optional)
sid - in case of a Jingle session initiation, session id of the
Jingle call initiated by message (optional)
media - in case of Jingle session initiation (JMI <propose/>), list
of proposed values of media attribute from each proposed
<description/> element (optional but required for Jingle
session initiation/JMI propose)
---
Now the feature was added last year to mod_cloud_notify_encrypted, and I
can see it's all there from announcing the feature to filling in the
payload with type = call, sid, media_types and full sender...
So I guess I'll add a few more debug lines in there and try to
understand if yes or no this code path is actually taken and what is
being sent... I can only test this when my user is around so that'll
have to wait.
Meanwhile, if someone have been through this before, I'd appreciate a
link to a working config or some feedback :)
Cheers,
--
Dominique Martinet | Asmadeus