Tigase XMPP Server Board

API and development: Some NPE problems when high load test of tigase for chat by jMeter.

Mon, 09/04/2017 - 03:37

I used jMeter to do High load test on tigase 7.2.0-SNAPSHOT for chatting.
I got some exceptions in file tigase-console.log once I increased the number of users which connected to the tigase-server per second or increasing the number of messages sent per second:

Exceptions1:
2017-09-04 18:06:34.472 [in_171-sess-man] AbstractMessageReceiver$QueueListener.run() SEVERE: [in_171-sess-man] Exception during packet processing: from=c2s@touchat/172.16.52.179_5222_222.93.152.4_55469, to=sess-man@touchat, DATA=<message xmlns="jabber:client" type="chat" id="L4g22-5119904" to="user_57262@touchat.touchair.cn"><body>jmeterTestMessage</body></message>, SIZE=131, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=chat java.lang.NullPointerException at tigase.server.amp.db.JDBCMsgRepository.storeMessage(JDBCMsgRepository.java:632) at tigase.server.amp.db.MsgRepository$MsgRepositoryMDBean.storeMessage(MsgRepository.java:324) at tigase.xmpp.impl.OfflineMessages.savePacketForOffLineUser(OfflineMessages.java:398) at tigase.xmpp.impl.MessageAmp.postProcess(MessageAmp.java:160) at tigase.server.xmppsession.SessionManager.processPacket(SessionManager.java:1713) at tigase.server.xmppsession.SessionManager.processPacket(SessionManager.java:476) at tigase.server.AbstractMessageReceiver$QueueListener.run(AbstractMessageReceiver.java:1503)

Exceptions2:
2017-09-04 18:06:34.473 [in_171-sess-man] AbstractMessageReceiver$QueueListener.run() SEVERE: [in_171-sess-man] Exception during packet processing: from=c2s@touchat/172.16.52.179_5222_222.93.152.4_55469, to=sess-man@touchat, DATA=<message xmlns="jabber:client" type="chat" id="L4g22-5119906" to="user_87261@touchat.touchair.cn"><body>jmeterTestMessage</body></message>, SIZE=131, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=chat java.lang.NullPointerException

how to solve the problems? thanks a lot

Categories: Tigase Forums

Installation and maintenance: Setup On Local Machine

Mon, 09/04/2017 - 02:32

Hi,
we followed the instruction on the website and installed the latest version of Tigase server on a linux machine.

- We weren't given any IP option to set our IP address in the server.
- Also, we are unable to get to the web login page of our server, i.e, localhost:8080/setup/

Any help would be appreciated.
We are basically trying to setup a server for test on local machine , and run the Tigase messenger(Android and IOS) on our local server.

Categories: Tigase Forums

API and development: RE: Tigase and FCM integration

Fri, 09/01/2017 - 07:30

Hi Andrzej,

thanks for your replay,
In fact, probably, it's not that I would like to connect PubSub to Firebase... chances are that I didn't fully understand yet what would be implementation of only notifications on FCM!

In another project I managed to write functions that are hosted on Firebase Functions and that write messages through FCM using triggers on certain nodes in Firebase... and combining this notifications with the push plugin in Cordova I got my result (and works really vell, to be honest).

On the other hand, with XMPP I would have more flexibility and I honestly would like to use also integrated roster and PubSub capabilities combined with mobile push notifications to achieve what I consider the best.

Do you know someone that would be able to help me professionaly to understand and help me to build a proper implementation on Tigase and his components?
I mean, I would be able to pay a couple of days of professional consultancy on this topic. :)

Thanks a lot!
Lele

Categories: Tigase Forums

API and development: RE: Tigase and FCM integration

Fri, 09/01/2017 - 04:11

Gabriele Mendi wrote:

Hi Andrzej ,

thank you very much for the info.
When you write "XMPP clients over FCM" you are considering a registered application/project in GCM communicating with a XMPP library like Strophe, for instance?

Yes, notification is sent to mobile application using FCM notifications.

I would like to implement this mechanism in an Ionic/Cordova application, reading and writing from our backend, but I am struggling to understand the connection with FCM Plugin and FCM itself, with all the gears moving like messaging to topics, applications ecc ecc...

We are not using messaging or topic. This is part of a Firebase if I recall, and we are not using it, just notifications over FCM.

I am also wondering how I could "pair" in some ways the PubSub nodes with the topics mechanics in FCM.

You want PubSub nodes connected with Firebase not FCM notifications and this is a big difference.

There would be someone in this forum interested in a professional mandate, to get rid of all this mess?

Thanks a lot again
Lele

Categories: Tigase Forums

API and development: RE: Tigase and FCM integration

Fri, 09/01/2017 - 04:05

Hi Andrzej ,

thank you very much for the info.
When you write "XMPP clients over FCM" you are considering a registered application/project in GCM communicating with a XMPP library like Strophe, for instance?

I would like to implement this mechanism in an Ionic/Cordova application, reading and writing from our backend, but I am struggling to understand the connection with FCM Plugin and FCM itself, with all the gears moving like messaging to topics, applications ecc ecc...

I am also wondering how I could "pair" in some ways the PubSub nodes with the topics mechanics in FCM.

There would be someone in this forum interested in a professional mandate, to get rid of all this mess?

Thanks a lot again
Lele

Categories: Tigase Forums

API and development: RE: Tigase and FCM integration

Fri, 09/01/2017 - 03:45

For Push Notifications Tigase uses XEP-0357: Push Notifications to send notifications from the processor to push component responsible for sending Push notifications over FCM to mobile devices. In push component, we used XMPP connection to FCM and we are sending notifications to XMPP clients over FCM.

As FCM requires credentials for delivery of notification to particular XMPP clients (particular application), each application developer needs to deploy its own instance of our Push Component configured to forward notifications to its application (XMPP client).

Categories: Tigase Forums

API and development: RE: Tigase and FCM integration

Thu, 08/31/2017 - 23:32

Hi Artur,

thanks!

Categories: Tigase Forums

Installation and maintenance: Tigase server communicating with mongo DB installation

Thu, 08/31/2017 - 22:46

Hello,

I have never worked with XMPP. I am implementing chat in my social media application and I need to have the Tigase server talking to a mongoDB. I didnt find any proper tutorial for the same. As I dont have much knowledge in the xmpp domain, I need help as I need to do it from scratch. My current service to perform other social media application tasks is just a java servlet on tomcat test server. Please guide me on this.

Categories: Tigase Forums

API and development: RE: Tigase and FCM integration

Thu, 08/31/2017 - 18:30

The push logic developer comes back from vacation next week and when he is back, he will provide you with requested information.

Categories: Tigase Forums

API and development: Tigase and FCM integration

Thu, 08/31/2017 - 01:14

Hello everybody,

in the last weeks I played a bit with Firebase Realtime Database and Firebase Cloud Messaging. Cool stuff!
Well... now my curiosity is (and I am asking here because I didn't find any suitable info): how actively works the plugin implemented in Tigase 7.2 to seamlessly send notifications with FCM??

I mean, how the notification workflow works into the XMPP messaging/pushing logic?

Thanks!

Categories: Tigase Forums

Installation and maintenance: RE: Invalid SID - BOSH

Wed, 08/30/2017 - 14:32

Invalid hostname usually means misconfiguration of the Tigase server or network (DNS).

Invalid SID usually happens when you have clustered installation and your client makes first requests to one of the cluster nodes and then makes another request to a different cluster node.

Categories: Tigase Forums

Installation and maintenance: RE: Invalid SID - BOSH

Tue, 08/29/2017 - 12:39

I am also seeing Invalid hostname.

Categories: Tigase Forums

API and development: RE: New component development : MessageRouterConfig.hasClassForServerCompone...

Tue, 08/29/2017 - 07:24

I have same issue... using the version 7.1.0
I have placed the jar file and class where the documentation says and my config looks like this:

jars/test-component.jar
target/classes/tigase/xmpp/impl/TestComponent.class

config-type=--gen-config-def --admins=admin@localhost --virt-hosts = localhost --debug=server,cluster,xml --user-db-uri=mongodb://localhost/rq-api --user-db=tigase.mongodb.MongoRepository --auth-db=tigase.mongodb.MongoRepository muc/history-db-uri=mongodb://localhost/rq-api pubsub/pubsub-repo-url=mongodb://localhost/rq-api message-archive/archive-repo-uri=mongodb://localhost/rq-api ess-man/plugins-conf/message-archive-xep-0136/default-store-method=message sess-man/plugins-conf/message-archive-xep-0136/required-store-method=message sess-man/plugins-conf/presence/auto-authorize=true sess-man/plugins-conf/jabber\:iq\:roster/auto-authorize=true sess-man/plugins-conf/auto-authorize=true --sm-plugins = +message-archive-xep-0136,+urn:xmpp:blocking,+msgoffline,+http://jabber.org/protocol/address # The Components which are enabled --comp-name-1=message-archive --comp-class-1=tigase.archive.MessageArchiveComponent --comp-name-2 = address --comp-class-2 = tigase.address.ExtendedAddressing --comp-name-3 = test --comp-class-3 = tigase.test.TestComponent
Categories: Tigase Forums

API and development: RE: Can't query for archive messages preference state

Mon, 08/28/2017 - 10:23

Andrew Trumper wrote:

What should I be looking for?

It turns out the Smack XMPP library I was using didn't support archive messaging and was stripping out all the fields it didn't understand - which was everything. I thought I was printing out the underlying XML but it turns out it was just an XML representation of the data the library actually understood. :(

Categories: Tigase Forums

API and development: Some exceptions when high load test of tigase by jMeter.

Sat, 08/26/2017 - 22:32

I used bzm- XMPP Sample of jMeter to do High load test on tigase 7.2.0-SNAPSHOT.
There are some exceptions of response When I test the "connect to the server" once number of Threads(users) of jMeter is a little larger,such as 100 or more。

The exceptions mainly have the following(Most likely to occur):
Exception 1:
javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) at org.jivesoftware.smack.tcp.XMPPTCPConnection.proceedTLSReceived(XMPPTCPConnection.java:658) at org.jivesoftware.smack.tcp.PacketReader.parsePackets(PacketReader.java:229) at org.jivesoftware.smack.tcp.PacketReader.access$000(PacketReader.java:47) at org.jivesoftware.smack.tcp.PacketReader$1.run(PacketReader.java:81) Caused by: java.io.EOFException: SSL peer shut down incorrectly at sun.security.ssl.InputRecord.read(Unknown Source) ... 8 more

Exception 2:
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? at sun.security.ssl.InputRecord.handleUnknownRecord(Unknown Source) at sun.security.ssl.InputRecord.read(Unknown Source) at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) at org.jivesoftware.smack.tcp.XMPPTCPConnection.proceedTLSReceived(XMPPTCPConnection.java:658) at org.jivesoftware.smack.tcp.PacketReader.parsePackets(PacketReader.java:229) at org.jivesoftware.smack.tcp.PacketReader.access$000(PacketReader.java:47) at org.jivesoftware.smack.tcp.PacketReader$1.run(PacketReader.java:81)

Exception 3:
javax.net.ssl.SSLProtocolException: Handshake message sequence violation, 2 at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source) at sun.security.ssl.Handshaker.processLoop(Unknown Source) at sun.security.ssl.Handshaker.process_record(Unknown Source) at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) at org.jivesoftware.smack.tcp.XMPPTCPConnection.proceedTLSReceived(XMPPTCPConnection.java:658) at org.jivesoftware.smack.tcp.PacketReader.parsePackets(PacketReader.java:229) at org.jivesoftware.smack.tcp.PacketReader.access$000(PacketReader.java:47) at org.jivesoftware.smack.tcp.PacketReader$1.run(PacketReader.java:81)

how can I solve the problems? thanks

Categories: Tigase Forums

Installation and maintenance: Invalid SID - BOSH

Fri, 08/25/2017 - 12:49

Hi guys,

Suddenly I am experiencing Invalid SID responses from my installation.

Here is a small communication using strophe:

SENT <body rid='1238195164'
xmlns='http://jabber.org/protocol/httpbind' to='xmpp.yousee.tv' xml:lang='en' wait='60' hold='1' content='text/xml; charset=utf-8' ver='1.6' xmpp:version='1.0'
xmlns:xmpp='urn:xmpp:xbosh'/>

RECV <body
xmlns='http://jabber.org/protocol/httpbind'
xmlns:stream='http://etherx.jabber.org/streams'
xmlns:xmpp='urn:xmpp:xbosh' xmpp:version='1.0' wait='30' sid='494465ae-06d3-4f19-83ad-e5bf51719b56' secure='true' ack='1238195164' authid='9c033e82-f59c-4873-8906-e0827213d980' ver='1.6' from='xmpp.yousee.tv' hold='1' polling='10' requests='30' inactivity='30' host='p-xmpp01.yousee.idk' maxpause='30'/>

SENT <body rid='1238195165'
xmlns='http://jabber.org/protocol/httpbind' sid='494465ae-06d3-4f19-83ad-e5bf51719b56'/>

The first response also sometimes takes 30 seconds:

After I request the last one, it returns 404 (Invalid SID)

Have you seen this before?

Here is the log:

2017-08-25 21:42:08.813 [pool-12-thread-3] BoshConnectionManager.processSocketData() FINE: CREATE : 8dd45d1d-8338-4a06-bc05-71ea55ce43c6 (Socket bosh session)
<body ack="3600162116" maxpause="10" polling="10" host="p-xmpp01.yousee.idk" requests="30" xmlns="http://jabber.org/protocol/httpbind" ver="1.6" inactivity="10" from="xmpp.yousee.tv" xmpp:version="1.0" xmlns:xmpp="urn:xmpp:xbosh" xmlns:stream="http://etherx.jabber.org/streams" sid="8dd45d1d-8338-4a06-bc05-71ea55ce43c6" hold="1" wait="30" authid="a966dac9-069c-44d6-990b-88f90089a11a" secure="true"/>
2017-08-25 21:42:08.814 [pool-12-thread-3] BoshSession.disconnected() FINEST: TIMER : 8dd45d1d-8338-4a06-bc05-71ea55ce43c6 (10.233.113.24_5280_10.233.113.24_31867)
2017-08-25 21:42:08.817 [in_0-message-router] MessageRouter.processPacket() FINEST: Processing packet: from=null, to=null, DATA=<iq from="/8dd45d1d-8338-4a06-bc05-71ea55ce43c6" id="6546d5b2-11a7-45e4-8ac5-1f04b04c2cd2" type="set" to=""><command xmlns="http://jabber.org/protocol/commands" node="STREAM_OPENED"><x xmlns="jabber:x:data" type="submit"><field var="session-id"><value>a966dac9-069c-44d6-990b-88f90089a11a</value></field><field var="hostname"><value>xmpp.yousee.tv</value></field><field var="xml:lang"><value>en</value></field></x></command></iq>, SIZE=481, XMLNS=null, PRIORITY=SYSTEM, PERMISSION=NONE, TYPE=set
2017-08-25 21:42:08.817 [in_0-message-router] MessageRouter.processPacket() FINEST: 1. Packet will be processed by: , from=null, to=null, DATA=<iq from="/8dd45d1d-8338-4a06-bc05-71ea55ce43c6" id="6546d5b2-11a7-45e4-8ac5-1f04b04c2cd2" type="set" to=""><command xmlns="http://jabber.org/protocol/commands" node="STREAM_OPENED"><x xmlns="jabber:x:data" type="submit"><field var="session-id"><value>a966dac9-069c-44d6-990b-88f90089a11a</value></field><field var="hostname"><value>xmpp.yousee.tv</value></field><field var="xml:lang"><value>en</value></field></x></command></iq>, SIZE=481, XMLNS=null, PRIORITY=SYSTEM, PERMISSION=NONE, TYPE=set
2017-08-25 21:42:08.818 [in_16-sess-man] SessionManagerClustered.processPacket() FINEST: Received packet: from=null, to=null, DATA=<iq from="/8dd45d1d-8338-4a06-bc05-71ea55ce43c6" id="6546d5b2-11a7-45e4-8ac5-1f04b04c2cd2" type="set" to=""><command xmlns="http://jabber.org/protocol/commands" node="STREAM_OPENED"><x xmlns="jabber:x:data" type="submit"><field var="session-id"><value>a966dac9-069c-44d6-990b-88f90089a11a</value></field><field var="hostname"><value>xmpp.yousee.tv</value></field><field var="xml:lang"><value>en</value></field></x></command></iq>, SIZE=481, XMLNS=null, PRIORITY=SYSTEM, PERMISSION=NONE, TYPE=set
2017-08-25 21:42:08.818 [in_16-sess-man] SessionManager.processCommand() FINER: STREAM_OPENED command from: /8dd45d1d-8338-4a06-bc05-71ea55ce43c6
2017-08-25 21:42:08.822 [session-open Queue Worker 0] SessionManager$SessionOpenProc.process() FINER: Adding resource connection for: /8dd45d1d-8338-4a06-bc05-71ea55ce43c6
2017-08-25 21:42:08.823 [session-open Queue Worker 0] SessionManager.createUserSession() FINEST: Setting hostname xmpp.yousee.tv for connection: /8dd45d1d-8338-4a06-bc05-71ea55ce43c6, VHostItem: Domain: xmpp.yousee.tv, enabled: true, anonym: true, register: true, maxusers: 0, tls: false, s2sSecret: edf740b7-839b-4012-985c-46bff2f04215, domainFilter: ALL, domainFilterDomains: null, c2sPortsAllowed: null, saslAllowedMechanisms: null
2017-08-25 21:42:08.823 [session-open Queue Worker 0] SessionManager.createUserSession() FINEST: Domain set for connectionId /8dd45d1d-8338-4a06-bc05-71ea55ce43c6
2017-08-25 21:42:08.823 [session-open Queue Worker 0] SessionManager$SessionOpenProc.process() FINEST: Setting session-id a966dac9-069c-44d6-990b-88f90089a11a for connection: XMPPResourceConnection=[user_jid=null, packets=0, connectioId=/8dd45d1d-8338-4a06-bc05-71ea55ce43c6, domain=xmpp.yousee.tv, authState=NOT_AUTHORIZED, isAnon=false, isTmp=false]
2017-08-25 21:42:08.824 [in_3-message-router] MessageRouter.processPacket() FINEST: Processing packet: from=, to=/8dd45d1d-8338-4a06-bc05-71ea55ce43c6, DATA=<iq from="" id="6546d5b2-11a7-45e4-8ac5-1f04b04c2cd2" type="result" to="/8dd45d1d-8338-4a06-bc05-71ea55ce43c6"/>, SIZE=164, XMLNS=null, PRIORITY=SYSTEM, PERMISSION=NONE, TYPE=result
2017-08-25 21:42:08.824 [in_3-message-router] MessageRouter.getLocalComponent() FINEST: Called for : /8dd45d1d-8338-4a06-bc05-71ea55ce43c6
2017-08-25 21:42:08.824 [in_3-message-router] MessageRouter.getLocalComponent() FINEST: No componentID matches (fast lookup against exact address): /8dd45d1d-8338-4a06-bc05-71ea55ce43c6, for map: [, , , , , , , , , , , ]; trying VHost lookup
2017-08-25 21:42:08.824 [in_3-message-router] MessageRouter.getLocalComponent() FINEST: Called for : /8dd45d1d-8338-4a06-bc05-71ea55ce43c6
2017-08-25 21:42:08.824 [in_3-message-router] MessageRouter.getLocalComponent() FINEST: No componentID matches (fast lookup against exact address): /8dd45d1d-8338-4a06-bc05-71ea55ce43c6, for map: [, , , , , , , , , , , ]; trying VHost lookup
2017-08-25 21:42:08.824 [in_3-message-router] MessageRouter.processPacket() FINEST: 1. Packet will be processed by: , from=, to=/8dd45d1d-8338-4a06-bc05-71ea55ce43c6, DATA=<iq from="" id="6546d5b2-11a7-45e4-8ac5-1f04b04c2cd2" type="result" to="/8dd45d1d-8338-4a06-bc05-71ea55ce43c6"/>, SIZE=164, XMLNS=null, PRIORITY=SYSTEM, PERMISSION=NONE, TYPE=result
2017-08-25 21:42:08.824 [session-open Queue Worker 0] DomainFilter.filter() FINEST: Filtering (packet): from=null, to=null, DATA=<iq from="/8dd45d1d-8338-4a06-bc05-71ea55ce43c6" id="6546d5b2-11a7-45e4-8ac5-1f04b04c2cd2" type="set" to=""><command xmlns="http://jabber.org/protocol/commands" node="STREAM_OPENED"><x xmlns="jabber:x:data" type="submit"><field var="session-id"><value>a966dac9-069c-44d6-990b-88f90089a11a</value></field><field var="hostname"><value>xmpp.yousee.tv</value></field><field var="xml:lang"><value>en</value></field></x></command></iq>, SIZE=481, XMLNS=null, PRIORITY=SYSTEM, PERMISSION=NONE, TYPE=set
2017-08-25 21:42:08.824 [in_0-message-router] MessageRouter.processPacket() FINEST: Processing packet: from=null, to=null, DATA=<iq from="/8dd45d1d-8338-4a06-bc05-71ea55ce43c6" id="6e0dee36-da88-4194-932d-f255d397714d" type="get" to=""><command xmlns="http://jabber.org/protocol/commands" node="GETFEATURES"/></iq>, SIZE=238, XMLNS=null, PRIORITY=HIGH, PERMISSION=NONE, TYPE=get
2017-08-25 21:42:08.825 [in_0-message-router] MessageRouter.processPacket() FINEST: 1. Packet will be processed by: , from=null, to=null, DATA=<iq from="/8dd45d1d-8338-4a06-bc05-71ea55ce43c6" id="6e0dee36-da88-4194-932d-f255d397714d" type="get" to=""><command xmlns="http://jabber.org/protocol/commands" node="GETFEATURES"/></iq>, SIZE=238, XMLNS=null, PRIORITY=HIGH, PERMISSION=NONE, TYPE=get
2017-08-25 21:42:08.825 [in_16-sess-man] SessionManagerClustered.processPacket() FINEST: Received packet: from=null, to=null, DATA=<iq from="/8dd45d1d-8338-4a06-bc05-71ea55ce43c6" id="6e0dee36-da88-4194-932d-f255d397714d" type="get" to=""><command xmlns="http://jabber.org/protocol/commands" node="GETFEATURES"/></iq>, SIZE=238, XMLNS=null, PRIORITY=HIGH, PERMISSION=NONE, TYPE=get
2017-08-25 21:42:08.825 [in_16-sess-man] SessionManager.processCommand() FINER: GETFEATURES command from: /8dd45d1d-8338-4a06-bc05-71ea55ce43c6
2017-08-25 21:42:08.825 [in_3-message-router] MessageRouter.processPacket() FINEST: Processing packet: from=, to=/8dd45d1d-8338-4a06-bc05-71ea55ce43c6, DATA=<iq from="" id="6e0dee36-da88-4194-932d-f255d397714d" type="result" to="/8dd45d1d-8338-4a06-bc05-71ea55ce43c6"><command xmlns="http://jabber.org/protocol/commands" node="GETFEATURES"><auth xmlns="http://jabber.org/features/iq-auth"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><ver xmlns="urn:xmpp:features:rosterver"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression></command></iq>, SIZE=611, XMLNS=null, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=result
2017-08-25 21:42:08.827 [in_3-message-router] MessageRouter.getLocalComponent() FINEST: Called for : /8dd45d1d-8338-4a06-bc05-71ea55ce43c6
2017-08-25 21:42:08.827 [in_3-message-router] MessageRouter.getLocalComponent() FINEST: No componentID matches (fast lookup against exact address): /8dd45d1d-8338-4a06-bc05-71ea55ce43c6, for map: [, , , , , , , , , , , ]; trying VHost lookup
2017-08-25 21:42:08.827 [in_3-message-router] MessageRouter.getLocalComponent() FINEST: Called for : /8dd45d1d-8338-4a06-bc05-71ea55ce43c6
2017-08-25 21:42:08.827 [in_3-message-router] MessageRouter.getLocalComponent() FINEST: No componentID matches (fast lookup against exact address): /8dd45d1d-8338-4a06-bc05-71ea55ce43c6, for map: [, , , , , , , , , , , ]; trying VHost lookup
2017-08-25 21:42:08.827 [in_3-message-router] MessageRouter.processPacket() FINEST: 1. Packet will be processed by: , from=, to=/8dd45d1d-8338-4a06-bc05-71ea55ce43c6, DATA=<iq from="" id="6e0dee36-da88-4194-932d-f255d397714d" type="result" to="/8dd45d1d-8338-4a06-bc05-71ea55ce43c6"><command xmlns="http://jabber.org/protocol/commands" node="GETFEATURES"><auth xmlns="http://jabber.org/features/iq-auth"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><ver xmlns="urn:xmpp:features:rosterver"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression></command></iq>, SIZE=611, XMLNS=null, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=result
2017-08-25 21:42:08.827 [in_3-bosh] BoshConnectionManager.processPacket() FINEST: Processing packet: from=, to=/8dd45d1d-8338-4a06-bc05-71ea55ce43c6, DATA=<iq from="" id="6e0dee36-da88-4194-932d-f255d397714d" type="result" to="/8dd45d1d-8338-4a06-bc05-71ea55ce43c6"><command xmlns="http://jabber.org/protocol/commands" node="GETFEATURES"><auth xmlns="http://jabber.org/features/iq-auth"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><ver xmlns="urn:xmpp:features:rosterver"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression></command></iq>, SIZE=611, XMLNS=null, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=result
2017-08-25 21:42:08.827 [in_3-bosh] ClientConnectionManager.processPacket() FINEST: Processing packet: from=, to=/8dd45d1d-8338-4a06-bc05-71ea55ce43c6, DATA=<iq from="" id="6e0dee36-da88-4194-932d-f255d397714d" type="result" to="/8dd45d1d-8338-4a06-bc05-71ea55ce43c6"><command xmlns="http://jabber.org/protocol/commands" node="GETFEATURES"><auth xmlns="http://jabber.org/features/iq-auth"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>CData size: 5</mechanism><mechanism>CData size: 9</mechanism></mechanisms><ver xmlns="urn:xmpp:features:rosterver"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><compression xmlns="http://jabber.org/features/compress"><method>CData size: 4</method></compression></command></iq>, SIZE=611, XMLNS=null, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=result
2017-08-25 21:42:08.828 [in_3-bosh] BoshSession.processPacket() FINEST: [0] Processing packet: from=null, to=/8dd45d1d-8338-4a06-bc05-71ea55ce43c6, DATA=<stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><ver xmlns="urn:xmpp:features:rosterver"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression></stream:features>, SIZE=396, XMLNS=null, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=null
2017-08-25 21:42:18.816 [scheduler_pool-3-thread-1-bosh] BoshSession.task() FINEST: task called for 8dd45d1d-8338-4a06-bc05-71ea55ce43c6, inactivityTimer = tigase.server.bosh.BoshTask@3bcc3826, tt = tigase.server.bosh.BoshTask@3bcc3826
2017-08-25 21:42:18.817 [scheduler_pool-3-thread-1-bosh] BoshSession.task() FINEST: TIMER : 8dd45d1d-8338-4a06-bc05-71ea55ce43c6 (inactivityTimer fired)
2017-08-25 21:42:18.817 [scheduler_pool-3-thread-1-bosh] BoshSession.task() FINEST: REMOVE : 8dd45d1d-8338-4a06-bc05-71ea55ce43c6 (Closing session, inactivity timeout expired)
2017-08-25 21:42:18.818 [scheduler_pool-3-thread-1-bosh] BoshConnectionManager.addOutStreamClosed() FINEST: REMOVE : 8dd45d1d-8338-4a06-bc05-71ea55ce43c6 (Closing bosh session)
2017-08-25 21:42:18.818 [in_3-message-router] MessageRouter.processPacket() FINEST: Processing packet: from=/8dd45d1d-8338-4a06-bc05-71ea55ce43c6, to=, DATA=<iq from="/8dd45d1d-8338-4a06-bc05-71ea55ce43c6" id="2ddc316a-e306-4316-aede-7ba4a40a05d4" type="set" to=""><command xmlns="http://jabber.org/protocol/commands" node="STREAM_CLOSED"/></iq>, SIZE=240, XMLNS=null, PRIORITY=SYSTEM, PERMISSION=NONE, TYPE=set
2017-08-25 21:42:18.818 [in_3-message-router] MessageRouter.processPacket() FINEST: 1. Packet will be processed by: , from=/8dd45d1d-8338-4a06-bc05-71ea55ce43c6, to=, DATA=<iq from="/8dd45d1d-8338-4a06-bc05-71ea55ce43c6" id="2ddc316a-e306-4316-aede-7ba4a40a05d4" type="set" to=""><command xmlns="http://jabber.org/protocol/commands" node="STREAM_CLOSED"/></iq>, SIZE=240, XMLNS=null, PRIORITY=SYSTEM, PERMISSION=NONE, TYPE=set
2017-08-25 21:42:18.818 [scheduler_pool-3-thread-1-bosh] BoshTask.run() FINER: Closing session for BS task: 8dd45d1d-8338-4a06-bc05-71ea55ce43c6
2017-08-25 21:42:18.818 [in_3-sess-man] SessionManagerClustered.processPacket() FINEST: Received packet: from=/8dd45d1d-8338-4a06-bc05-71ea55ce43c6, to=, DATA=<iq from="/8dd45d1d-8338-4a06-bc05-71ea55ce43c6" id="2ddc316a-e306-4316-aede-7ba4a40a05d4" type="set" to=""><command xmlns="http://jabber.org/protocol/commands" node="STREAM_CLOSED"/></iq>, SIZE=240, XMLNS=null, PRIORITY=SYSTEM, PERMISSION=NONE, TYPE=set
2017-08-25 21:42:18.820 [in_3-sess-man] SessionManager.processCommand() FINER: STREAM_CLOSED command from: /8dd45d1d-8338-4a06-bc05-71ea55ce43c6
2017-08-25 21:42:18.820 [in_3-message-router] MessageRouter.processPacket() FINEST: Processing packet: from=, to=/8dd45d1d-8338-4a06-bc05-71ea55ce43c6, DATA=<iq from="" id="2ddc316a-e306-4316-aede-7ba4a40a05d4" type="result" to="/8dd45d1d-8338-4a06-bc05-71ea55ce43c6"/>, SIZE=164, XMLNS=null, PRIORITY=SYSTEM, PERMISSION=NONE, TYPE=result
2017-08-25 21:42:18.827 [in_3-message-router] MessageRouter.getLocalComponent() FINEST: Called for : /8dd45d1d-8338-4a06-bc05-71ea55ce43c6
2017-08-25 21:42:18.827 [in_3-message-router] MessageRouter.getLocalComponent() FINEST: No componentID matches (fast lookup against exact address): /8dd45d1d-8338-4a06-bc05-71ea55ce43c6, for map: [, , , , , , , , , , , ]; trying VHost lookup
2017-08-25 21:42:18.827 [in_3-message-router] MessageRouter.getLocalComponent() FINEST: Called for : /8dd45d1d-8338-4a06-bc05-71ea55ce43c6
2017-08-25 21:42:18.827 [in_3-message-router] MessageRouter.getLocalComponent() FINEST: No componentID matches (fast lookup against exact address): /8dd45d1d-8338-4a06-bc05-71ea55ce43c6, for map: [, , , , , , , , , , , ]; trying VHost lookup
2017-08-25 21:42:18.827 [in_3-message-router] MessageRouter.processPacket() FINEST: 1. Packet will be processed by: , from=, to=/8dd45d1d-8338-4a06-bc05-71ea55ce43c6, DATA=<iq from="" id="2ddc316a-e306-4316-aede-7ba4a40a05d4" type="result" to="/8dd45d1d-8338-4a06-bc05-71ea55ce43c6"/>, SIZE=164, XMLNS=null, PRIORITY=SYSTEM, PERMISSION=NONE, TYPE=result
2017-08-25 21:42:18.820 [session-close Queue Worker 3] SessionManager$SessionCloseProc.process() FINEST: Executing connection close for: from=/8dd45d1d-8338-4a06-bc05-71ea55ce43c6, to=, DATA=<iq from="/8dd45d1d-8338-4a06-bc05-71ea55ce43c6" id="2ddc316a-e306-4316-aede-7ba4a40a05d4" type="set" to=""><command xmlns="http://jabber.org/protocol/commands" node="STREAM_CLOSED"/></iq>, SIZE=240, XMLNS=null, PRIORITY=SYSTEM, PERMISSION=NONE, TYPE=set
2017-08-25 21:42:18.827 [session-close Queue Worker 3] SessionManager.closeConnection() FINER: Stream closed from: /8dd45d1d-8338-4a06-bc05-71ea55ce43c6
2017-08-25 21:42:18.828 [session-close Queue Worker 3] SessionManagerClustered.closeSession() FINEST: Called for conn: XMPPResourceConnection=[user_jid=null, packets=0, connectioId=/8dd45d1d-8338-4a06-bc05-71ea55ce43c6, domain=xmpp.yousee.tv, authState=NOT_AUTHORIZED, isAnon=false, isTmp=false], closeOnly: false
2017-08-25 21:42:18.830 [session-close Queue Worker 3] DomainFilter.filter() FINEST: Filtering (packet): from=/8dd45d1d-8338-4a06-bc05-71ea55ce43c6, to=, DATA=<iq from="/8dd45d1d-8338-4a06-bc05-71ea55ce43c6" id="2ddc316a-e306-4316-aede-7ba4a40a05d4" type="set" to=""><command xmlns="http://jabber.org/protocol/commands" node="STREAM_CLOSED"/></iq>, SIZE=240, XMLNS=null, PRIORITY=SYSTEM, PERMISSION=NONE, TYPE=set
2017-08-25 21:42:26.885 [pool-12-thread-8] BoshConnectionManager.processSocketData() FINEST: Processing socket data: from=null, to=null, DATA=<body xmlns="http://jabber.org/protocol/httpbind" sid="8dd45d1d-8338-4a06-bc05-71ea55ce43c6" rid="3600162117"/>, SIZE=111, XMLNS=http://jabber.org/protocol/httpbind, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=null
2017-08-25 21:42:26.885 [pool-12-thread-8] BoshConnectionManager.processSocketData() FINE: INVALID_SID : 8dd45d1d-8338-4a06-bc05-71ea55ce43c6 (Invalid SID)

Is using 7.0.4 and mysql. It is running behind a F5 Big IP load balancer, but on this one I am just connecting to a single machine directly.

Categories: Tigase Forums

API and development: Is there a way to skip specific packets in a plugin?

Mon, 08/21/2017 - 07:29

Is there a way to skip specific packets in a plugin?

For example, in MessageAmp plugin we have the following code:

private static final String[][] ELEMENTS = { { "message" }, { "presence" }, { "iq", "msgoffline" } }; @Override public String[][] supElementNamePaths() { return ELEMENTS; }

which tells to process all message packets, all presence packets, and all iq packets with msgoffline subchild.

But what if I want to skip messages with some subchild.

For example, I try to build 'self-destroy' functionality, like in Telegram messenger

Here is my packet format:
<message id="test" to="3-1@chat.local.com" type="chat"> <body>hello world</body> <destroy after="5" xmlns='urn:xmpp:message-destroy-after:0'/> </message>

What I want is NOT to store this message to offline storage for example, but MessageAmp plugin will do this.

It will be great if we will be able to set up something like this:

private static final String[][] ELEMENTS_TO_SKIP = { { "message", "destroy" } };

Is this possible?

Categories: Tigase Forums

API and development: RE: Can't query for archive messages preference state

Fri, 08/18/2017 - 12:49

My init properties looks like this:

--comp-class-1 = tigase.muc.MUCComponent --virt-hosts = andrew --user-db-uri = jdbc:derby:/home/andrew/tigase/tigasedb --user-db = derby --admins = admin@andrew --comp-name-4 = message-archive --comp-name-3 = proxy config-type = --gen-config-def --comp-name-2 = pubsub --comp-name-1 = muc --cluster-mode = true --sm-plugins = +message-archive-xep-0136,+jabber:iq:auth,+urn:ietf:params:xml:ns:xmpp-sasl,+urn:ietf:params:xml:ns:xmpp-bind,+urn:ietf:params:xml:ns:xmpp-session,+jabber:iq:register,+jabber:iq:roster,+jabber:iq:privacy,+jabber:iq:version,+http://jabber.org/protocol/stats,+starttls,+msgoffline,+vcard-temp,+http://jabber.org/protocol/commands,+jabber:iq:private,+urn:xmpp:ping,+basic-filter,+domain-filter,+pep,-zlib --debug = server --comp-class-4 = tigase.archive.MessageArchiveComponent --comp-class-3 = tigase.socks5.Socks5ProxyComponent --comp-class-2 = tigase.pubsub.PubSubComponent sess-man/plugins-conf/message-archive-xep-0136/component-jid=message-archive@andrew sess-man/plugins-conf/message-archive-xep-0136/required-store-method=message

(I'm on Tigase 7.1)

Categories: Tigase Forums

API and development: RE: Can't query for archive messages preference state

Fri, 08/18/2017 - 11:08

It is hard to tell what is wrong. It may be related to the configuration of your installation. I've sent same request as you and I've got proper response:
<iq type="result" to="andrzej@example.com" id="prefq"> <pref xmlns="urn:xmpp:archive"> <auto save="false"/> <default otr="forbid" muc-save="false" save="body"/> <method use="prefer" type="auto"/> <method use="prefer" type="local"/> <method use="prefer" type="manual"/> </pref> </iq>

Categories: Tigase Forums

API and development: Can't query for archive messages preference state

Fri, 08/18/2017 - 10:51

I'm asking for a preferences to do with archived messages like this:

"<iq type='get' id='prefq'> <pref xmlns='urn:xmpp:archive'></pref> </iq>"

and I'm getting back a more-or-less empty response like this:
"<iq id="prefq" to="adder@andrew/TestApplication" type="result"></iq>"

I'm not sure what's going on here. The message archiving system seems to be enabled

<iq id="XjfeL-2" to="andrew@andrew/TestApplication" from="andrew" type="result"> <query xmlns="http://jabber.org/protocol/disco#info"> <identity category="component" name="Tigase ver. 7.1.0-b4379/8ed39c0c (2017-01-30/19:29:59)" type="im"/> <identity category="server" name="Tigase ver. 7.1.0-b4379/8ed39c0c (2017-01-30/19:29:59)" type="im"/> <identity category="pubsub" name="null" type="pep"/> <feature var="http://jabber.org/protocol/commands"/> <feature var="urn:xmpp:carbons:2"/> <feature var="http://jabber.org/protocol/stats"/> <feature var="jabber:iq:auth"/> <feature var="vcard-temp"/> <feature var="http://jabber.org/protocol/amp"/> <feature var="msgoffline"/> <feature var="http://jabber.org/protocol/disco#info"/> <feature var="http://jabber.org/protocol/disco#items"/> <feature var="msgoffline"/> <feature var="urn:xmpp:ping"/> <feature var="urn:ietf:params:xml:ns:xmpp-sasl"/> <feature var="http://jabber.org/protocol/pubsub"/> <feature var="http://jabber.org/protocol/pubsub#owner"/> <feature var="http://jabber.org/protocol/pubsub#publish"/> <feature var="urn:xmpp:archive:auto"/> <feature var="urn:xmpp:archive:manage"/> <feature var="jabber:iq:roster"/> <feature var="jabber:iq:roster-dynamic"/> <feature var="jabber:iq:version"/> <feature var="urn:xmpp:time"/> <feature var="jabber:iq:privacy"/> <feature var="urn:ietf:params:xml:ns:xmpp-bind"/> <feature var="http://jabber.org/protocol/commands"/> <feature var="urn:ietf:params:xml:ns:vcard-4.0"/> <feature var="urn:ietf:params:xml:ns:xmpp-session"/> <feature var="jabber:iq:private"/> </query> </iq>

Other requests return more-or-less empty packets too:

"<iq type='get' id='juliet1'> <list xmlns='urn:xmpp:archive' with='adder@andrew'> <set xmlns='http://jabber.org/protocol/rsm'><max>30</max></set> </list></iq>"

and

"<iq type='set' id='auto1'><auto save='true' xmlns='urn:xmpp:archive'/></iq>"

What should I be looking for?

Categories: Tigase Forums

Pages

Get in touch

We provide software products, consulting and custom development services

Tigase, Inc.
100 Pine Street, Suite 1250
San Francisco, CA 94111, USA
Phone: (415) 315 9771

Follow us on:

Twitter

  • Tigase XMPP Server v7.1.1 has been released. A small release with some stability changes. Change notes are here https://t.co/KV9kWTYDcc 2 weeks 6 days ago
  • That's pretty awesome! Let's see if we can maintain interop compatibility with FastPath! 1 month 1 week ago
Back to Top