Tigase Forums

Installation and maintenance: RE: PubSub node subscription

Tigase XMPP Server Board - Tue, 05/28/2019 - 09:45

Hi Wojciech,

thanks for you quick reply!

You mean to check subscription and affiliation through the tables in the database?
In the table tig_pubsub_subscriptions there is the row with id = 2, even when the user is offline.

node_id jid_id subscription subscription_id

3 1 subscribed 5zciaa1ldu8ub7asfvu
3 2 subscribed jo67cgt0wlzyffkm4t
4 1 subscribed 56gp3h775ke9nq8rdi0
5 1 subscribed 1418pdvmgndhnhghs01
6 1 subscribed 7e5eyvn4l5v0bt73let

When the user comes back online I ask for the active subscriptions and [I removed the domain name]:

<iq xmlns="jabber:client" to="gabriele@xxxxxxx.net/1130329833-tigase-9" id="2:pubsubsubscriptions" type="result" from="pubsub.xxxxxxx.net"> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <subscriptions> <subscription subscription="subscribed" node="SYS-TEST-MESSAGES" jid="gabriele@xxxxxxx.net"/> </subscriptions> </pubsub> </iq>

Then I publish a message on the node from the user who created it:

<iq from="admin@xxxxxxx.net/1130329833-tigase-10" to="pubsub.xxxxxxx.net" type="set" id="1:pubsubpublishnode" xmlns="jabber:client"> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <publish node="SYS-TEST-MESSAGES" jid="admin@xxxxxxx.net/1130329833-tigase-10"> <item> <object xmlns="http://www.w3.org/2005/Atom">Test message</object> </item> </publish> </pubsub> </iq>

This is the reply when, using the user who created the node, I ask for the active subscriptions, even when the "failing" user is offline.
[the node creator is admin@ and the subscriber is gabriele@]

<iq xmlns="jabber:client" to="admin@xxxxxxx.net/1130329833-tigase-10" id="2:pubsubsubscriptions" type="result" from="pubsub.xxxxxxx.net"> <pubsub xmlns="http://jabber.org/protocol/pubsub#owner"> <subscriptions node="SYS-TEST-MESSAGES"> <subscription subscription="subscribed" jid="gabriele@xxxxxxx.net"/> <subscription subscription="subscribed" jid="admin@xxxxxxx.net"/> </subscriptions> </pubsub> </iq>

But at the other end I don't see nothing arriving.
Then I subscribe again to the node, republish the same message from the other user and boom, I see it coming.

Thanks for your help!

Ciao
Gabriele

Categories: Tigase Forums

Installation and maintenance: RE: PubSub node subscription

Tigase XMPP Server Board - Tue, 05/28/2019 - 09:05

Gabriele Mendi wrote:

Despite the node configuration, if a subscribed user goes offline, when he gets back he doesn't receive anymore all the messages published on the node, unless he does subscribe to the node again.

Can you check subscription and affiliation state before and after reconnect?

The best way to troubleshoot it would be to enable debugging for pubsub and component packages and track processing of subscription and publication.

Categories: Tigase Forums

Installation and maintenance: RE: How to achieve voice and video chat on tigase8.0

Tigase XMPP Server Board - Tue, 05/28/2019 - 08:53

You should use compatible clients - you can for example use:

or any other client that supports Jingle.

Categories: Tigase Forums

Installation and maintenance: PubSub node subscription

Tigase XMPP Server Board - Tue, 05/28/2019 - 08:46

Hi guys,

I just installed Tigase 8 and I have a strange issue.
Despite the node configuration, if a subscribed user goes offline, when he gets back he doesn't receive anymore all the messages published on the node, unless he does subscribe to the node again.

I remember distinctively I had the same issue when I installed 7.x, but I can't remember how I solved it.

I use Strophe to connect, via websocket.

This following is the node configuration.

<x type="form" xmlns="jabber:x:data"> <field var="FORM_TYPE" type="hidden"> <value>http://jabber.org/protocol/pubsub#node_config</value> </field> <field var="pubsub#node_type" type="list-single"> <value>leaf</value> <option> <value>leaf</value> </option> <option> <value>collection</value> </option> </field> <field label="A friendly name for the node" var="pubsub#title" type="text-single"> <value></value> </field> <field label="Whether to deliver payloads with event notifications" var="pubsub#deliver_payloads" type="boolean"> <value>1</value> </field> <field label="Notify subscribers when the node configuration changes" var="pubsub#notify_config" type="boolean"> <value>0</value> </field> <field label="Persist items to storage" var="pubsub#persist_items" type="boolean"> <value>1</value> </field> <field label="Max # of items to persist" var="pubsub#max_items" type="text-single"> <value>100</value> </field> <field label="The collection with which a node is affiliated" var="pubsub#collection" type="text-single"> <value></value> </field> <field label="Specify the subscriber model" var="pubsub#access_model" type="list-single"> <value>open</value> <option> <value>authorize</value> </option> <option> <value>open</value> </option> <option> <value>presence</value> </option> <option> <value>roster</value> </option> <option> <value>whitelist</value> </option> </field> <field label="Specify the publisher model" var="pubsub#publish_model" type="list-single"> <value>subscribers</value> <option> <value>open</value> </option> <option> <value>publishers</value> </option> <option> <value>subscribers</value> </option> </field> <field label="When to send the last published item" var="pubsub#send_last_published_item" type="list-single"> <value>on_sub</value> <option> <value>never</value> </option> <option> <value>on_sub</value> </option> <option> <value>on_sub_and_presence</value> </option> </field> <field label="The domains allowed to access this node (blank for any)" var="pubsub#domains" type="text-multi"/> <field label="Whether to deliver notifications to available users only" var="pubsub#presence_based_delivery" type="boolean"> <value>0</value> </field> <field label="Whether to subscription expired when subscriber going offline." var="tigase#presence_expired" type="boolean"> <value>0</value> </field> <field label="The XSL transformation which can be applied to payloads in order to generate an appropriate message body element." var="pubsub#embedded_body_xslt" type="text-multi"/> <field label="The URL of an XSL transformation which can be applied to payloads in order to generate an appropriate message body element." var="pubsub#body_xslt" type="text-single"> <value></value> </field> <field label="Roster groups allowed to subscribe" var="pubsub#roster_groups_allowed" type="text-multi"/> <field label="Notify subscribers when owner change their subscription or affiliation state" var="pubsub#notify_sub_aff_state" type="boolean"> <value>1</value> </field> <field label="Allows get list of subscribers for each sybscriber" var="tigase#allow_view_subscribers" type="boolean"> <value>0</value> </field> <field label="Whether to sort collection items by creation date or update time" var="tigase#collection_items_odering" type="list-single"> <value>byUpdateDate</value> <option> <value>byCreationDate</value> </option> <option> <value>byUpdateDate</value> </option> </field> </x>

It seems to me that the option is this:

<field label="Whether to subscription expired when subscriber going offline." var="tigase#presence_expired" type="boolean"> <value>0</value> </field>

... but it seems ok, isn't?

Thanks for the help!

Ciao
Gabriele

Categories: Tigase Forums

Installation and maintenance: How to achieve voice and video chat on tigase8.0

Tigase XMPP Server Board - Sun, 05/26/2019 - 22:04

What should I do if I want to implement voice calls between two users and video calls?

Categories: Tigase Forums
Back to Top