Feed aggregator

API and development: RE: Can ad-hoc commands be used frequently?

Tigase XMPP Server Board - Wed, 01/18/2017 - 19:35

It depends on the ad-hoc command, what it does, whether it has to access DB or other resources. And also, what exactly do you mean by "frequently"? 10/sec, 100/sec, 1,000/sec?

Ad-hoc commands are generally designed and implemented as administrator tool, so not a frequent use but some of our customers use them for many different purposes, so the answer really depends on what exactly you want to do.

Categories: Tigase Forums

API and development: Can ad-hoc commands be used frequently?

Tigase XMPP Server Board - Wed, 01/18/2017 - 03:08

Hi, all, late happy new year.

I have a doubt if the ad-hoc commands could be used in high concurrency. Something needs to be queried through it in process of a plugin. The plugin is to process messages of xmpp which may be huge in a short time. Thank you. :)
Categories: Tigase Forums

Installation and maintenance: RE: sun.security.provider.certpath.SunCertPathBuilderException: una...

Tigase XMPP Server Board - Mon, 01/16/2017 - 03:37

Where do you get this error? Can you share full log with it?

Categories: Tigase Forums

Installation and maintenance: sun.security.provider.certpath.SunCertPathBuilderException: unable ...

Tigase XMPP Server Board - Sat, 01/14/2017 - 23:32

Hi I am getting this error when connecting to my tigase instance from Smack client.

Smack code:

ConnectionConfiguration config = new ConnectionConfiguration("tigase1.cloud.com", 5222);
config.setDebuggerEnabled(true); try { XMPPConnection con = new XMPPTCPConnection(config);
con.connect(); con.login("prashanth", "test1234", "1234567890");

tigase configuration:

--debug=server
--comp-class-1 = tigase.muc.MUCComponent
--virt-hosts = tigase1.cloud.com
--user-db-uri = jdbc:mysql://localhost/tigasedb?user=tigase&password=tigase
--user-db = mysql
--admins =
--comp-name-4 = message-archive
config-type = --gen-config-def
--comp-name-2 = pubsub
--comp-name-1 = muc
--cluster-mode = false
--sm-plugins = +message-archive-xep-0136

Categories: Tigase Forums

API and development: RE: Subscribe to MUC

Tigase XMPP Server Board - Thu, 01/12/2017 - 06:45

Alex Kobzar wrote:

Configure MUC on tigase isn't hard.
But when you get disconnected, you leave the room and stopped being part of the room.
But how we can save room users list that we can send messages or pushes for all users by this group (online/offline)?

And this is exactly what the specification defines. MUC relies on user presence.

I found interest info about it in google
https://docs.ejabberd.im/developer/xmpp-clients-bots/proposed-extensions/muc-sub/

This is proposed extensions, which entails that it may or may not gain wide-spread support (i.e. while the server supports it libraries implementation may differ). And this specification correctly points out that within XMPP community there is a lot of work on MIX, which will allow this workflow.

Maybe you are have some like this in tigase or someone have good idea?
Very thanks.

Currently it's possible to use PubSub (which is not dependent on presence and offers PublishSubscribe mechanism).
I would suggest focusing on implementing MIX (which is already in the works and defined as XEP: XEP-0369: Mediated Information eXchange), which will be more compatible and interoperable.
We plan MIX support for the next 7.2.0 so if you are interested we can cooperate in that regard.

Categories: Tigase Forums

API and development: RE: Message goes to offline storage before being delivered

Tigase XMPP Server Board - Thu, 01/12/2017 - 06:03

Sorry I forgot to send the patch to you! Thank you for the fix.

Categories: Tigase Forums

API and development: RE: Message goes to offline storage before being delivered

Tigase XMPP Server Board - Thu, 01/12/2017 - 05:48

I've just fixed StampComparator in task #4818. Now it properly compares timestamps in XEP-0203 and XEP-0091.

Categories: Tigase Forums

API and development: Subscribe to MUC

Tigase XMPP Server Board - Tue, 01/10/2017 - 03:51

Hello to everyone.
As you know, we can use MUC to speak with many user's in one time.
Configure MUC on tigase isn't hard.
But when you get disconnected, you leave the room and stopped being part of the room.
But how we can save room users list that we can send messages or pushes for all users by this group (online/offline)?

I found interest info about it in google
https://docs.ejabberd.im/developer/xmpp-clients-bots/proposed-extensions/muc-sub/

Maybe you are have some like this in tigase or someone have good idea?
Very thanks.

Categories: Tigase Forums

API and development: RE: Send packet from outside of any context

Tigase XMPP Server Board - Fri, 01/06/2017 - 04:54

Andrzej Wójcik wrote:

  • you need to set XMLNS of a presence packet. In your case it is not set, which triggers processing by PacketDefaultHandler instead of processing by PresenceSubscription processor due to XMLNS not being set.

That was it! I totally forgot to do it. It work perfectly now, thank you!!

Categories: Tigase Forums

Installation and maintenance: RE: Suggestion for LetsEncrypt Certificate Documentation.

Tigase XMPP Server Board - Thu, 01/05/2017 - 10:05

Hi Ronald, thanks for the heads up, I'll test this compared to documentation and update as necessary, thanks again!

Categories: Tigase Forums

API and development: RE: Send packet from outside of any context

Tigase XMPP Server Board - Thu, 01/05/2017 - 01:58

You can use classes in this way. It is not a great solution (as you need to access component from timer started from processor) but it will work.

There are 2 issues with your soution:
  • you should use addOutPacket() method of SessionManager as you are sending outgoing presence packets
  • you need to set XMLNS of a presence packet. In your case it is not set, which triggers processing by PacketDefaultHandler instead of processing by PresenceSubscription processor due to XMLNS not being set.
Categories: Tigase Forums

API and development: Send packet from outside of any context

Tigase XMPP Server Board - Wed, 01/04/2017 - 13:05

Hello Tigase team,
I have a timer with a runnable running repeatedly. This runnable needs to check for last logout of a user and delete it if expired. Before deleting it, I'd like to send an unsubscribed presence to all its contacts in the roster.
I was able to read the roster successfully, but since I'm inside a timer (started in a plugin) and I'm not inside any of the plugin's method such as process, preProcess, etc. I had an idea:

SessionManager sessMan = (SessionManager) XMPPServer.getComponent("sess-man"); sessMan.addPacketNB(Packet.packetInstance(Presence.ELEM_NAME, jid.toString(), user.getBareJID().toString(), StanzaType.unsubscribed));

Where jid is the user being deleted and user is the contact currently being iterated from the roster.
This way produces a feature-not-implemented packet being sent back to the sender (the user being deleted):

2017-01-04 21:51:41.132 [in_0-message-router] MessageRouter.processPacket() FINEST: Processing packet: from=sess-man@notebook.casaricci.it, to=null, DATA=<presence type="error" from="4bdd4f929f3a1062253e4e496bafba0bdfb5db75@prime.kontalk.net" to="d96b6d3ba60e3714e98a094990bb6275e83ab46b@prime.kontalk.net"><error code="501" type="cancel"><feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/><text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" xml:lang="en">The feature is not supported yet.</text></error></presence>, SIZE=378, XMLNS=null, PRIORITY=NORMAL, PERMISSION=AUTH, TYPE=error

Because the packet is processed by the default packet handler which has a check for null resource (because I'm sending to a bare JID) that triggers this feature-not-implemented response.

I wonder if this is a wrong way of using Tigase classes or it's simply a bug. Some help would be greatly appreciated.
Thanks!

Categories: Tigase Forums

Installation and maintenance: Suggestion for LetsEncrypt Certificate Documentation.

Tigase XMPP Server Board - Wed, 01/04/2017 - 04:07

Hi guys!

I have a suggestion for the Letsencrypt Documentation Page. (http://docs.tigase.org/tigase-server/snapshot/Administration_Guide/webhelp/LetsEncryptCertificate.html)
The Documentation suggests combining following Files: privkey.pem, isrgrootx1.pem and letsencryptauthorityx3.pem. This did not work for me, The resulting cert always gave me an TLS handshake error.
It took me quite a while to figure out, that I also have to include my own letsencrypt cert.pem file (which totally makes sense!).
I created my tigase cert file by combining following files in the named order: cert.pem, privkey.pem, letsencryptauthorityx3.pem, isrgrootx1.pem

(cat ./cert.pem ./privkey.pem ./letsencryptauthorityx3.pem ./isrgrootx1.pem > my.domain.com.pem)

Some clients (psi) think that the resulting cert is self signed because this method does not use the IdentTrust cross-signed root certificate.

I think this Information is also important for certs from other issuers.

Hope this helps...

All the best Ronald.

Categories: Tigase Forums

Installation and maintenance: RE: chating use bosh in cluster mode

Tigase XMPP Server Board - Wed, 01/04/2017 - 02:00

This is a tricky thing. In our Jaxmpp client and Tigase XMPP Server we implemented mechanism which reports to client full name of cluster node to which client got connected and for following BOSH requests client connects directly to this cluster node using it's name.

However if you use BOSH for connections from web browser, I would strongly suggest to use WebSocket instead of BOSH as a WebSocket is usually faster than BOSH and additionally there is a single HTTP connection, so there is no need to route many HTTP connections to the same Tigase XMPP Server cluster node.

Categories: Tigase Forums

Installation and maintenance: RE: chating use bosh in cluster mode

Tigase XMPP Server Board - Tue, 01/03/2017 - 18:39

Hi,
If I use DNS to proxy two nodes ,how can I ensure all requests for same session to be point to the same node?

Categories: Tigase Forums

Installation and maintenance: RE: chating use bosh in cluster mode

Tigase XMPP Server Board - Thu, 12/29/2016 - 02:52

In case of a BOSH, many HTTP connections are used and to make it work properly with Tigase XMPP Server all requests for same session needs to be pointed (ie. by load balancer) to same Tigase XMPP Server cluster node.

Categories: Tigase Forums

Installation and maintenance: chating use bosh in cluster mode

Tigase XMPP Server Board - Tue, 12/27/2016 - 20:15

Hi,
I am facing a problem, I use Haproxy to reverse proxy to nodes of tigase cluster(use roundrobin mode) ,and use bosh client to chat with someone. The problem is ,one side can send message,but the other side can not recive message at all, but I stopped one of the nodes,it could work correctly .I wondered that ,it would be session problem,the two nodes did not synchronize the session .How can I solve it? Thank you.

Categories: Tigase Forums

API and development: RE: Roster Management

Tigase XMPP Server Board - Tue, 12/20/2016 - 03:11

Resolved it perfectly. It's so convenient. Thank you all for providing the server and the timely help.

Categories: Tigase Forums

API and development: RE: Roster Management

Tigase XMPP Server Board - Thu, 12/15/2016 - 01:11

AdHoc commands of Tigase XMPP Server can be executed from XMPP or HTTP REST API. They are accessible using both ways, however for use of HTTP REST API you need HTTP API component configured.
As for calling using HTTP REST API you will find documentation on calling AdHoc commands in HTTP API project wiki pages.

Categories: Tigase Forums

Installation and maintenance: RE: How to config to supports large connections in a room.

Tigase XMPP Server Board - Wed, 12/14/2016 - 20:39

Just a few things, some of which might be obvious to you and I am sorry if I state obvious, but maybe some of them are useful to you:

  1. Load tests are very complex projects, so expect difficulties and prepare to spend lots of time to prepare and run loads tests to get meaningful results
  2. Tsung generally has lower performance and higher resources consumption than Tigase, so you need more HW or VMs for Tsung than for Tigase (more RAM, CPU, etc...)
  3. If there are any performance problems, or problems with reaching test goals, make sure the Tsung is not the limiting factor
  4. If the problem is on the Tigase side, which might be of course, this is often misconfiguration error or leaving out debug logging which slow server down
  5. The main task when running the load test which show lower than expected results is to identify where is the bottleneck, the best source of information is the Tigase statistics, which show over 1,000 different performance metrics
  6. Monitor RAM and CPU usage on both Tsung and Tigase machine
  7. Tigase offers different throttling and limiting mechanism to prevent service abuse, this may affect load test results, so make sure all the settings are adjusted correctly
  8. If you run MUC tests and you want to have 30,000 users in a single room, please take your time to calculate traffic you have to expect. With 800 users as you got, joining 100/sec you have traffic of about: 100*800*2 = 160,000 XMPP packets per second. This is a huge traffic to handle, so you need a lot of CPU power on both the Tsung and Tigase side.
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

Back to Top