Push notifications not enabling. (#467)
Unknown opened 4 years ago

Hello I am trying to enable push notifications but it doesnt and i get the following error: It was not possible to contact push notification component: undefined-condition. I have my on xmpp prosody server and i have push, muc enabled. The wierder thing is when i view logs i see it reaches and says push.tigase.im completed. Not sure what to do or if there is something i have to change in prosody conf. Thanks in advance for any help!

Unknown commented 4 years ago

There was a prosody-modules fix for push the other day, can you update your modules and retest?

Unknown commented 4 years ago

I have one siskin 6.2 user on my ejabberd 20.12 having the same issue. Not possible to enable the push. Deleting account and setting up again does not help. Reinstalling siskin does not help.

Unknown commented 4 years ago

@mwlczk you get the same error text in ejabberd.log?

Unknown commented 4 years ago

Error is client-side - a notification from siskin

Unknown commented 4 years ago

@mwlczk you have

mod_push: {}
mod_push_keepalive: {}

...and s2s enabled?

Unknown commented 4 years ago

@rvsphinx Following error:

It was not possible to contact push notification component: undefined-condition.

means that SiskinIM was not able to contact push notification component at push.tigase.im and that is required for Push Notifications to work in SiskinIM. It may be due to some restrictions on your server or due to S2S (server-to-server communication) issue.

Unknown commented 4 years ago

There was a prosody-modules fix for push the other day, can you update your modules and retest?

@licaon-kter I updated modules now i don't even see it trying to reach push.tigase.im. I will try the other comments now. Let you all know in a few. Thank you

Unknown commented 4 years ago

Before it was at least connecting and would say push.tigase.im completed now its not even trying after updating modules. All I did was hg pull --update. The error says undefined-condition any condition in particular I need for "cloud_notify" to configure in the config file?

Unknown commented 4 years ago

@rvsphinx Following error:

It was not possible to contact push notification component: undefined-condition.

means that SiskinIM was not able to contact push notification component at push.tigase.im and that is required for Push Notifications to work in SiskinIM. It may be due to some restrictions on your server or due to S2S (server-to-server communication) issue.

@hantu85 Any ideas I believe it is all configured correctly do you have a particular config for prosody that is known to work?

Unknown commented 4 years ago

last log i recieved even though the error on siskin im for push notification

Feb 05 16:14:30 conference.trumessages.com:muc_cloud_notify info Module loaded Feb 05 16:20:37 s2sout7fffba1b5620 info Outgoing s2s connection trumessages.com->push.tigase.im complete

Unknown commented 4 years ago

@rvsphinx I've checked form the account at the same installation as push.tigase.im that it is not possible to establish a connection to your server trumessages.com. I was not able to dig deeper into that, but as far as I can see, you have a self-signed SSL certificate for your domain. If that is true and SASL EXTERNAL is enabled, then it may (and most likely will) fail and cause S2S connectivity failure.

In the logs which you've pasted, we see that there is an outgoing S2S connection, but you need an incoming one as well to make S2S connection work properly.

Unknown commented 4 years ago

@hantu85 Thank you for the info. So since my self signing cert is not trusted on your end its not working or do you believe that its reaching push.tigase.im but your server is not able to reach mine back?

Unknown commented 4 years ago

@rvsphinx you'd be surprised, but in the age of free certs, selfsigned are not that favoured. In general in the ecosystem. Any reason not to grab a Lets Encrypt one?

Unknown commented 4 years ago

@licaon-kter Not at all, doing it now as we speak hahaha. I was thinking the same thing. Just a bit new to this. But thanks you confirmed it for me. Let me try that and start again.

Unknown commented 4 years ago

@hantu85 Hello Seems my host registrar provides certs so i enabled it and imported to my prosody server. But still the same. Can you verify when you can the way you mentioned earlier to see what it can be. I also realized that yes it was my routers firewall that was blocking so i fixed that as well. Not sure what else to do can you see if push.tigase.im can reach me back?

Unknown commented 4 years ago

@licaon-kter I now have ssl certs from my provided from my registrar. Thanks for the tip but still not working. I just asked @hantu85 if he can check the server to see if he sees anything now. I appreciate all the help you are all giving me.

Unknown commented 4 years ago

PUsh notifications are working Thank you all for the help

Unknown commented 4 years ago

Hey, @rvsphinx , what is it that fixed it? Can you pinpoint the exact issue? Cheers,

Unknown commented 4 years ago

@titibandit better state your setup first

Unknown commented 4 years ago

Basically the same setup as @rvsphinx I'm using Prosody as my server. I've updated the prosody-modules just yesterday, so I think I have the fix you mentioned earlier. I have free SSL certs provided from Let's Encrypt.

And I get that error after trying to enable notifications on the Siskin IM app: It was not possible to contact push notification component: undefined-condition.

When searching my prosody debug logs for "tigase", I get:

info	Outgoing s2s connection titibandit.eu->push.tigase.im complete
info	Accepting SASL EXTERNAL identity from push.tigase.im
info	Incoming s2s connection push.tigase.im->titibandit.eu complete
debug	Received[c2s]: <iq type='set' id='63B682B7-9D32-4975-BC4A-FF1583A1FE6E' to='push.tigase.im'>
debug	First attempt to connect to push.tigase.im, starting with SRV lookup...
debug	Records for _xmpp-server._tcp.push.tigase.im. not in cache, sending query (thread: 0x55d4cb996c90)...
debug	Reply for _xmpp-server._tcp.push.tigase.im. (thread: 0x55d4cb996c90)
debug	push.tigase.im has SRV records, handling...
debug	Best record found, will connect to tigase.me.:5269
debug	Records for tigas .me. not in cache, sending query (thread: 0x55d4cb5d9d90)...
debug	Reply for tigase.me. (thread: 0x55d4cb5d9d90)
debug	DNS reply for tigase.me. gives us 34.218.102.80
debug	DNS reply for tigase.me. gives us 52.33.102.156
debug	DNS reply for tigase.me. gives us 52.36.117.23
debug	Beginning new connection attempt to push.tigase.im ([34.218.102.80]:5269)
debug	Sending[s2sout_unauthed]: <stream:stream xmlns='jabber:server' xmlns:stream='http://etherx.jabber.org/streams' from='titibandit.eu' to='push.tigase.im' xmlns:db='jabber:server:dialback' xml:lang='en' version='1.0'>
debug	push.tigase.im is offering TLS, taking up the offer...
debug	Sending[s2sout_unauthed]: <stream:stream xmlns='jabber:server' xmlns:stream='http://etherx.jabber.org/streams' from='titibandit.eu' to='push.tigase.im' xmlns:db='jabber:server:dialback' xml:lang='en' version='1.0'>
debug	Cert dNSName *.tigase.im matched hostname
debug	Initiating SASL EXTERNAL with push.tigase.im
debug	SASL EXTERNAL with push.tigase.im succeeded
debug	Sending[s2sout_unauthed]: <stream:stream xmlns='jabber:server' xmlns:stream='http://etherx.jabber.org/streams' from='titibandit.eu' to='push.tigase.im' xmlns:db='jabber:server:dialback' xml:lang='en' version='1.0'>
debug	connection titibandit.eu->push.tigase.im is now authenticated for push.tigase.im
info	Outgoing s2s connection titibandit.eu->push.tigase.im complete
debug	sending 1 queued stanzas across new outgoing connection to push.tigase.im
debug	Sending[s2sout]: <iq to='push.tigase.im' type='set' from='thibaut@titibandit.eu/iPhone von Thibaut ' id='63B682B7-9D32-4975-BC4A-FF1583A1FE6E'>
debug	Incoming s2s received <stream:stream xmlns='http://etherx.jabber.org/streams' from='push.tigase.im' version='1.0' to='titibandit.eu'>
debug	Sending[s2sin_unauthed]: <stream:stream xmlns='jabber:server' xmlns:stream='http://etherx.jabber.org/streams' from='titibandit.eu' to='push.tigase.im' xmlns:db='jabber:server:dialback' xml:lang='en' id='08545845-f368-48d2-bcee-2c8c5211d2c3' version='1.0'>
debug	Incoming s2s received <stream:stream xmlns='http://etherx.jabber.org/streams' from='push.tigase.im' version='1.0' to='titibandit.eu'>
debug	Cert dNSName *.tigase.im matched hostname
debug	Sending[s2sin_unauthed]: <stream:stream xmlns='jabber:server' xmlns:stream='http://etherx.jabber.org/streams' from='titibandit.eu' to='push.tigase.im' xmlns:db='jabber:server:dialback' xml:lang='en' id='9f0810be-c35d-426f-bd0f-4fa1088eb7bb' version='1.0'>
info	Accepting SASL EXTERNAL identity from push.tigase.im
debug	connection push.tigase.im->titibandit.eu is now authenticated for push.tigase.im
info	Incoming s2s connection push.tigase.im->titibandit.eu complete
debug	Incoming s2s received <stream:stream xmlns='http://etherx.jabber.org/streams' from='push.tigase.im' version='1.0' to='titibandit.eu'>
debug	Sending[s2sin]: <stream:stream xmlns='jabber:server' xmlns:stream='http://etherx.jabber.org/streams' from='titibandit.eu' to='push.tigase.im' xmlns:db='jabber:server:dialback' xml:lang='en' id='274a1b7a-2a34-4756-b5e3-2fcb50372fe5' version='1.0'>

And then I get these lines very regularly:

debug	Sending[s2sout]: <iq to='push.tigase.im' type='set' from='thibaut@titibandit.eu/iPhone von Thibaut ' id='51293707-727E-4EEC-886A-0DF436A71B70'>
debug	Received[s2sin]: <iq type='result' from='push.tigase.im' id='51293707-727E-4EEC-886A-0DF436A71B70' to='thibaut@titibandit.eu/iPhone von Thibaut'>
debug	Received[c2s]: <iq type='set' id='024E46D4-4B9F-4CD7-BA1E-13208B9A5E5B' to='push.tigase.im'>
debug	Sending[s2sout]: <iq to='push.tigase.im' type='set' from='thibaut@titibandit.eu/iPhone von Thibaut ' id='024E46D4-4B9F-4CD7-BA1E-13208B9A5E5B'>
debug	Received[s2sin]: <iq type='result' from='push.tigase.im' id='024E46D4-4B9F-4CD7-BA1E-13208B9A5E5B' to='thibaut@titibandit.eu/iPhone von Thibaut'>

So I can't see anything about an error here :(

Cheers

Unknown commented 4 years ago

@titibandit

  1. is this the most verbose debug from prosody?
  2. can you find in the logs anything with "error"?

In general it seems that the s2s communication with push server is working just fine so it should work...

Unknown commented 4 years ago

I was getting pretty much the same i removed all my self signed certs used Lets Encrypt imported and still was getting the same push was not activating. I am still no sure what exactly fixed because since then i restarted the physical machine i have prosody in and its activating. I see the log stating activated. So i test by closing iphone and then have someone send me a message to see if it send a push and it doesnt so now its activated but dont get the push message.

Unknown commented 4 years ago

Push notifications are now reaching my phone. I believe the root cause was selfsigned cert and moved to lets encrypt. Be sure after downloading certs to prosody server that you also import the certs using --- prosodyctl --root cert import /etc/letsencrypt/live like this the certs are moved to the default certs folder for you prosody install.

Unknown commented 4 years ago

Hey,

  1. yes, this is the most verbose it gets.
  2. no there is nothing with error...

Here is the logs I get from when I try to enable push notifications:

Handled 31 incoming stanzas
c2s55d4cb7f98b0                      debug	Received[c2s]: <iq type='get' id='8D7D3D84-3007-41F2-B972-BE1DD1035E45' to='titibandit.eu'>
c2s55d4cb7f98b0                      debug	Sending[c2s]: <iq type='result' from='titibandit.eu' id='8D7D3D84-3007-41F2-B972-BE1DD1035E45' to='thibaut@titibandit.eu/iPhone von Thibaut '>
c2s55d4cb7f98b0                      debug	Queuing <r> (in a moment) from outgoing_stanza_filter - #queue=1
c2s55d4cb7f98b0                      debug	Sending <r> (inside timer, before send) from outgoing_stanza_filter - #queue=1
c2s55d4cb7f98b0                      debug	Sending[c2s]: <r xmlns='urn:xmpp:sm:3'>
c2s55d4cb7f98b0                      debug	Sending <r> (inside timer, after send) from outgoing_stanza_filter - #queue=1
c2s55d4cb7f98b0                      debug	Received[c2s]: <r xmlns='urn:xmpp:sm:3'>
titibandit.eu:smacks                 debug	Received ack request, acking for 31
c2s55d4cb7f98b0                      debug	Sending[c2s]: <a h='31' xmlns='urn:xmpp:sm:3'>
c2s55d4cb7f98b0                      debug	Handled 32 incoming stanzas
c2s55d4cb7f98b0                      debug	Received[c2s]: <iq type='get' id='DAA78281-BB69-4D9B-B97F-25B699FA2687' to='upload.titibandit.eu'>
c2s55d4cb7f98b0                      debug	Sending[c2s]: <iq type='result' from='upload.titibandit.eu' id='DAA78281-BB69-4D9B-B97F-25B699FA2687' to='thibaut@titibandit.eu/iPhone von Thibaut '>
c2s55d4cb7f98b0                      debug	Handled 33 incoming stanzas
c2s55d4cb7f98b0                      debug	Received[c2s]: <iq type='get' id='977827D1-1020-4B7B-B9FE-84BFFA956B15' to='conv.titibandit.eu'>
c2s55d4cb7f98b0                      debug	Sending[c2s]: <iq type='result' from='conv.titibandit.eu' id='977827D1-1020-4B7B-B9FE-84BFFA956B15' to='thibaut@titibandit.eu/iPhone von Thibaut '>
c2s55d4cb7f98b0                      debug	Handled 34 incoming stanzas
c2s55d4cb7f98b0                      debug	Received[c2s]: <iq type='set' id='6DA5F6E2-C2D0-437A-AC3A-3382FC8C5483' to='push.tigase.im'>
s2sout55d4cb38fb00                   debug	Sending[s2sout]: <iq to='push.tigase.im' type='set' from='thibaut@titibandit.eu/iPhone von Thibaut ' id='6DA5F6E2-C2D0-437A-AC3A-3382FC8C5483'>
c2s55d4cb7f98b0                      debug	Received[c2s]: <a xmlns='urn:xmpp:sm:3' h='70'>
c2s55d4cb7f98b0                      debug	#queue = 0
s2sin55d4cb505b50                    debug	Received[s2sin]: <iq type='result' from='push.tigase.im' id='6DA5F6E2-C2D0-437A-AC3A-3382FC8C5483' to='thibaut@titibandit.eu/iPhone von Thibaut'>
c2s55d4cb7f98b0                      debug	Handled 35 incoming stanzas
c2s55d4cb7f98b0                      debug	Received[c2s]: <iq id='1C9A8835-EA9B-43C5-9722-91E7E6669262' type='get'>
c2s55d4cb7f98b0                      debug	Sending[c2s]: <iq type='result' id='1C9A8835-EA9B-43C5-9722-91E7E6669262' to='thibaut@titibandit.eu/iPhone von Thibaut '>
c2s55d4cb7f98b0                      debug	Queuing <r> (in a moment) from outgoing_stanza_filter - #queue=1
c2s55d4cb7f98b0                      debug	Sending <r> (inside timer, before send) from outgoing_stanza_filter - #queue=1
c2s55d4cb7f98b0                      debug	Sending[c2s]: <r xmlns='urn:xmpp:sm:3'>
c2s55d4cb7f98b0                      debug	Sending <r> (inside timer, after send) from outgoing_stanza_filter - #queue=1
c2s55d4cb7f98b0                      debug	Received[c2s]: <r xmlns='urn:xmpp:sm:3'>
titibandit.eu:smacks                 debug	Received ack request, acking for 35
c2s55d4cb7f98b0                      debug	Sending[c2s]: <a h='35' xmlns='urn:xmpp:sm:3'>
c2s55d4cb7f98b0                      debug	Received[c2s]: <a xmlns='urn:xmpp:sm:3' h='71'>
c2s55d4cb7f98b0                      debug	#queue = 0

There is also nothing I see that could be suspicious :(

Unknown commented 4 years ago

We will make some changes on our side to help debugging issues with push delivery.

Unknown commented 4 years ago

Okay, let me know when I can further help!

Unknown commented 4 years ago

I had also problems with push for siskin but I found that setting in prosody s2s_require_encryption = false works. Is it not possible to have s2s encryption using push.tigase.im ?

Unknown commented 4 years ago

It uses encryption and sasl-external.

Please check what error are you getting with encryption enabled.

Unknown commented 4 years ago

It is hard to find errors in the log because it is huge and I do not know what exactly what I should look for, but it is definitely this command. Setting s2s_require_encryption = false and the push will work on the iphone. For the conversation app (using siacs.eu) it worked also with encryption. Does Apple iOS need some special prosody settings? I have also set s2s_secure_auth = true. Maybe this could also be an issue.

Unknown commented 4 years ago

It's hard to tell why it's not working. I would assume that s2s_require_encryption forces TLS and that should work just fine. Could you share your server address so I could check the logs on our end?

issue 1 of 1
Issue Votes (0)
Watchers (0)
Reference
tigase/_clients/siskin-im#467
Please wait...
Page is in error, reload to recover