Agregador de noticias

ProcessOne: Revamped ejabberd website, new logo, new development process

Planet Jabber - 24 February, 2015 - 16:22

We all agree that website was a bit dated and did not do justice to the ejabberd code base.

It indeed deserved a major rework and that’s what we have started a while ago.

We have just rolled out a brand new fresh and modern ejabberd home page on

Along with that design, we have a new ejabberd logo. The hedgehog is gone and you now have the bubble ‘e’ with the nice new ejabberd typography.

We hope you will like it :)

This is just the tip of the iceberg. As you may have noticed, the whole process for developing the project itself went through a major rework. To ease collaboration with the community, we moved to Github issues. This was decided for the following reasons:

  • Almost all developers now already have a Github account. This save the hassle of created another account on another system.
  • It is integrated with Git workflow itself (i.e. you can close a ticket with a commit log)
  • It offers a single approach to process tickets and pull requests.

We are going to move the relevant tickets from the older ejabberd ticket system.

Do not hesitate to send your feedback. Star and fork ejabberd on Github, send us your pull request and let’s some great code done :)

Swift Blog: Swift 3.0-beta1 Released

Planet Jabber - 24 February, 2015 - 00:00

We’ve just released a Swift 3.0 beta. A fuller list of new features is available on the download page, but highlights include file transfer support, keyword highlighting, nuisance user blocking and seamless multi-person chats. We encourage everyone to get the new build and try it out, and tell us about any bugs they should come across as we work towards release candidates and a final release.

Tigase Blog: Tigase Server 7.0.0 Release

Planet Jabber - 23 February, 2015 - 20:17
Tigase XMPP Server 7.0.0 has been released! This release includes many major additions, many more minor additions, and a few bug fixes. We're sure you will enjoy the software.

ProcessOne: How Realtime and Alerts Enhance the same day Hotel Booking Experience – SeaBeyond 2014 Video

Planet Jabber - 23 February, 2015 - 16:44

Sébastien Houzé from VeryLastRoom gives an overview of their same-day hotel booking platform. He then explains how ProcessOne-Boxcar platform help them improve the relationship with the customer through in-app messaging.

ProcessOne: Paris ejabberd meetup: February, 25th

Planet Jabber - 23 February, 2015 - 16:39

Paris ejabberd first meetup will take place on the 25th of February, at ProcessOne office in Paris.

You can register on the meetup on the following page: ejabberd Paris Meetup

Jérôme Sautret will give a quick introduction to ejabberd modules
development. Participants will introduce their work and use cases for ejabberd.

We hope to see you there !

Please, let us know if someone plan to organise an ejabberd meetup in
another city, we can see how we can help, with talks and goodies.

Ignite Realtime Blog: (a)Smack 4.0.7 released

Planet Jabber - 23 February, 2015 - 15:47

We just released (a)Smack 4.0.7. This is a bugfix only release.


It was found that the passed "hostname" argument to the configured HostnameVerifier in Smack 4.0 was server controllable, which could allow a malicious attacker to circumvention hostname verification. Hostname verification is disabled by default in Smack 4.0, but enabled by default in Smack 4.1. The faulty code was long ago removed in the Smack 4.1 branch, so most Smack 4.1 (pre-)releases are not affected.


As a reminder: The second release candidate of Smack 4.1 is available. Consider updating when possible, but please refer to the Smack 4.1 Readme and Upgrade Guide · igniterealtime/Smack Wiki · GitHub  first.

ProcessOne: ejabberd Community 15.02

Planet Jabber - 17 February, 2015 - 16:54

ejabberd 15.02 is a major new release. We have added fixes as well as usual improvements.

However, ejabberd 15.02 is mostly a major improvement in the way we are handling our release cycle.
We are working with ejabberd community to expand and simplify the development of plugins. You can already find tens of plugins for ejabberd developed by the community. However, we want to make the development more accessible to developers. As such, we have introduced Elixir supports as a standard new language to develop for ejabberd and are working with Elixir community to make developing for ejabberd, much more simpler, while still retaining the power of Erlang.

As such, the major improvement in this release is Elixir language programming, with more features coming in the next month.

Please, read our blog post for details on why this is significant.

Here is the detailed changelog:

  • add Elixir support, allows to write plugins in Elixir
  • New command to reload configuration without restart
  • Support old style erlang expressions in YAML configuration
  • Improved captcha listener parsing when protocol not specified
  • Fix upgrade of old unbinarized pubsub table from 2.1
  • Minor updates in the documentation
  • Other bugfixes

As usual, the release is tagged in the Git source code repository on github

The source package and binary installers are available at ProcessOne

If you suspect you found a bug, search or fill a bug report on github

The XMPP Standards Foundation: Thank you to new and returning XSF sponsors

Planet Jabber - 16 February, 2015 - 16:43

We’d like to say a big “thank you” to two companies who have recently signed up as sponsors of the XMPP Standards Foundation.

Erlang Solutions are a new XSF sponsor who specialise in providing businesses with scalable solutions via the creation, integration, delivery and lifetime support of products and services based on the Erlang and Elixir programming languages.

ProcessOne, a returning sponsor, are a leading provider in messaging platforms designed for scale and robustness. ProcessOne have developed ejabberd, an ubiquitous XMPP server that has been deployed to power some of the largest messaging platform in the world. Many people will remember their CEO, Mickaël Rémond, as a member of the Board of the XSF for a number of years.

We were all very happy to see representatives from both Erlang Solutions and ProcessOne at the recent Summit 17 where they contributed greatly to discussions.

Thanks again to both of these great companies!

If you are interested in sponsoring the XSF, you can find more details on our sponsorship page.

Ignite Realtime Blog: Smack 4.1.0-rc1 released

Planet Jabber - 16 February, 2015 - 15:56

The Ignite Realtime community is happy to announce the first release candidate of the upcoming Smack version 4.1. Smack is an open source XMPP client library written in Java with multi-runtime support. It can be used with Java SE and Android runtimes. If you haven't done already now is the ideal time to grab Smack 4.1.0-rc1 and try it out. A '4.1' branch has been created, that will track the further development of Smack 4.1. The API of Smack 4.1 is now officially stable and will not change in an incompatible way between further 4.1 releases.


Smack 4.1.0-rc1 is available via Maven Central.

Isode: M-Link XMPP/IRC Gateway

Planet Jabber - 16 February, 2015 - 15:49

Two whitepapers on the Isode website (Interconnecting XMPP and IRC and Deploying IRC, Federated MUC and XMPP Guards) show how Isode’s M-Link XMPP Server can be connected to and used in conjunction with chat services using IRC (Internet Relay Chat) in a range of deployment scenarios.

In order to help our customers and evaluators configure M-Link to act as an XMPP Gateway we’ve published a short configuration note which explains how to connect M-Link XMPP Multi-User Chatrooms to IRC Channels.

You can download the note from the documentation page on the Isode website (here’s the direct link to the PDF).

Swift Blog: Keyword Highlighting Support

Planet Jabber - 13 February, 2015 - 00:00

One of the interesting new features in the upcoming Swift 3.0 release is support for “keyword highlighting”. This allows users to setup Swift such that it’ll alert them to activity that matches their configured highlighting rules. This is particularly useful where a user wants to be alerted when particular discussion topics, or keywords, are mentioned in chatrooms (highlighting rules are configured independently for private chats and chatrooms) - e.g. a Swift developer might choose to have a highlight configured to alert them when the word “Swift” is mentioned in a chatroom they watch, or a military operator may be interested in keywords such as “MEDEVAC”. Highlights can either be configured to be visual (with foreground/background colour applicable per rule), or may be audible (either with the default sound, or user-provided sounds per-rule). Here a keyword highlight for “Swift” rendered with black text on a green background is shown, along with a blue-on-red highlight for “late”.

As well as per-keyword highlighting rules, messages from a particular user may be subject to highlighting, e.g. the following screenshot shows a highlight configured for the Queen of Hearts’s user (black on yellow).

These features will be released with Swift 3.0, and can currently be configured by selecting “Edit Highlight Rules” from the general menu in Swift.

(This post describes a currently unreleased feature, so details may change slightly before release)

ProcessOne: ejabberd joins the Elixir revolution

Planet Jabber - 10 February, 2015 - 17:14

ejabberd has always been a key project for Erlang.

When I talk to many of the developers that have learned Erlang in that past 10 years, they often thank us for ejabberd. “ejabberd is the main reason why I have learned Erlang”.

That said, Erlang is not for everyone. Some people hate the syntax and cannot overcome their relunctance to learn it.

We already made the life of ejabberd users easier by providing YAML syntax for configuration files. YAML format is quite well know and avoided the typical mistakes make by users when editing “Erlang
tuple-atoms-and-list” syntax file. So, YAML configuration files format was received as a relief by many users.

Today, we are getting further and are making Elixir language a first class citizen for ejabberd. You can now develop any module you want in ejabberd leveraging all ejabberd API using only Elixir language.

For those who already know about Elixir, I already hear the excitement that this new feature is generating. I know, I am extremely excited myself. This change is probably the most important change in the life of ejabberd and we are already working with Elixir developer to improve on this existing implementation and boost our development community by making ejabberd development more accessible.

In turn, we are hoping to do for Elixir, what ejabberd did for Erlang in terms of recognition. For those who do not know about Elixir: This is a clean, modern programming language, created by Jose Valim, supported by hundreds of enthousiastic developers. It is inspired by Ruby syntax, with all the benefit of Erlang VM, that is clustering, lightweight processes, robustness, fault tolerance, etc.

If you do not yet know Elixir, you now have the best reason of the world to learn it :)

How to get started

Here is how to start using Elixir in ejabberd today. The change are available in ejabberd master branch and will be integrated in next ejabberd official version.


Install Erlang R17

git clone and build ejabberd with Elixir support $ git clone $ cd ejabberd $ chmod +x $ ./ $ ./configure --prefix=$HOME/my-ejabberd --enable-elixir $ make && make install

Your ejabberd is now Elixir-enabled:

$ cd $HOME/my-ejabberd/ $ ./sbin/ejabberdctl live (ejabberd@localhost)1> m('Elixir.Enum'). Module 'Elixir.Enum' compiled: Date: January 24 2015, Time: 16.27 Compiler options: [debug_info] Object file: /Users/mremond/my-ejabberd/lib/ejabberd/ebin/Elixir.Enum.beam ...

ejabberdctl module has now extra options:
– iexlive: Start ejabberd and keep an Elixir command open
– iexdebug: Attach and Elixir console to an already running ejabberd

It means you can use ejabberd shell using Elixir interactive commands:

$ cd $HOME/my-ejabberd/ $ ./sbin/ejabberdctl iexlive ... iex(ejabberd@localhost)1> IO.puts "Hi ejabberd + elixir" Hi ejabberd + elixir :ok ... # Creating a user: iex(ejabberd@localhost)3> :ejabberd_auth.try_register("test2", "localhost", "mypass") {:atomic, :ok}

Welcome to the revolution !

Writing ejabberd plugins in Elixir

You can now write plugins in Elixir and register hooks to expand ejabberd features in Elixir.

ejabberd lib directory is the place where you put your Elixir file so that the build chain knows how to compile them.

In ejabberd lib/ directory, add the file mod_presence_demo.ex:

defmodule ModPresenceDemo do @behaviour :gen_mod def start(_host, _opts) do :ok end def stop(_host) do :ok end end

This is the smallest possible ejabberd module. We ignore the host and
the options for now.

When you type make your module should build properly.

When doing make install, it should install properly the newly created

You can now use it in ejabberd configuration file ejabberd.yml. Just
add this line in the module section:

modules: ... ModPresenceDemo: {}

As you see, you can directly use the Elixir module name. ejabberd can
detect this is an Elixir module and use it appropriately.

Let’s expand a bit on this module:

defmodule ModPresenceDemo do import Ejabberd.Logger # this allow using info, error, etc for logging @behaviour :gen_mod def start(host, _opts) do info('Starting ejabberd module Presence Demo') Ejabberd.Hooks.add(:set_presence_hook, host, __ENV__.module, :on_presence, 50) :ok end def stop(host) do info('Stopping ejabberd module Presence Demo') Ejabberd.Hooks.delete(:set_presence_hook, host, __ENV__.module, :on_presence, 50) :ok end def on_presence(user, _server, _resource, _packet) do info('Receive presence for #{user}') :none end end

When you launch ejabberd with that new module, you should see the following line in the log file (or console if running live):

15:17:58.913 [info] Starting ejabberd module Presence Demo test

And anytime an XMPP client changes its presence, you should see the following in the log file:

15:30:01.266 [info] Receive presence for test

We are in the process of revamping our developer documentation to help both Erlang and Elixir developer get up to speed on ejabberd module development. You can expect follow up articles how how to get further
developing ejabberd with the power of Elixir.

In the meantime, all the ejabberd community is very glad to help get your started with ejabberd development using Elixir.

Please, join ejabberd mailing list or join the ejabberd chat room on XMPP (

We are all eager to see what great ejabberd extension you are going to build with Elixir.

ProcessOne: Using ejabberd as a customer messaging tool at Mila – SeaBeyond 2014 Video

Planet Jabber - 9 February, 2015 - 16:09

Michael Weibel explains at SeaBeyond conference how Mila enabled their online platform for professionals with realtime messaging features with ejabberd.

ProcessOne: ProcessOne ejabberd and Boxcar roadmap – SeaBeyond 2014 Video

Planet Jabber - 9 February, 2015 - 15:56

Mickaël Rémond presents ProcessOne past product development and explains how it fits into a consistent long term vision about ejabberd, XMPP, push, mobile and realtime messaging in general.

For ejabberd, focus is on two areas:
– ejabberd Community continuous improvements and accelerating the collaboration with existing communities.
– ejabberd SaaS turn key solution for robust, possibly massive scale, cost effective, no hassle deployments.

For Boxcar, we will be focusing on developers, offering new services relating to push and bridging with our XMPP / ejabberd skills and toolset:
– Widgets and watches support
– Analytics
– Ability to chat from a push notification

Here is the full ProcessOne roadmap talk, putting our development effort into perspective:

Enjoy !

Ignite Realtime Blog: Introducing restAPI plugin for Openfire

Planet Jabber - 6 February, 2015 - 14:53

The Ignite Realtime Community is pleased to announce the 1.0.0 release of the REST API plugin for Openfire.  This plugin is being developed by community member Redeyes. This plugin merges and replaces the functionality found in the "MUC Service Plugin" and the REST functionality found in the "User Service Plugin".  This new plugin allows for REST style administration of Openfire.


The current feature list, taken from the README file includes:

  • Get overview over all or specific user and to create, update or delete a user
  • Get overview over all user roster entries and to add, update or delete a roster entry
  • Add user to a group and remove a user from a group
  • Lockout or unlock the user (enable / disable)
  • Get overview over all or specific system properties and to create, update or delete system property
  • Get overview over all or specific chat room and to create, update or delete a chat room


Please report any issues or feature ideas for this plugin in the Community Forums.

Peter Saint-Andre: RFC 7457

Planet Jabber - 5 February, 2015 - 00:00
I'm in the midst of a big push to finish off the ~15 Internet-Drafts I have underway at the IETF, on topics such as security, internationalization, SIP-XMPP interworking, and even Uniform Resource Names (the lesser-known cousin of URLs). The first of these to be published as an RFC is a document entitled "Summarizing Known Attacks on Transport Layer Security (TLS) and Datagram TLS (DTLS)", a.k.a. RFC 7457. Here I'll freely admit that Yaron Scheffer and Ralph Holz did most of the hard work, but they were gracious enough to include me as a co-author. The three of us are also close to finishing a companion document that describes how to address some of these attacks, so look for that soon!

Ignite Realtime Blog: Smack 4.1.0-beta2 released --- FOSDEM 2015: "XMPP and Android" Slides

Planet Jabber - 3 February, 2015 - 17:24

I'd like to thank everyone at FOSDEM 2015 and XMPP Summit for such a nice time and interesting talks. I sure haven't talk to all people at the XMPP Summit, but hope that we'll meet again soon. You can find my slides of my lightning talk "XMPP and Android" at


While travelling home from Brussels in the ICE, I was able to prepare and upload beta2 of Smack 4.1. Please update your build setups and report any issues in the forum.

ProcessOne: Widgets and Watches support with Boxcar Developer Platform – SeaBeyond 2014 Video

Planet Jabber - 3 February, 2015 - 11:14

Mickaël Rémond shows how Boxcar Developer platform is going to merge push notifications and mobile widget state display into a single consistent platform.

He then explains how this feature can directly support both Android Wear and Apple Watch.

Enjoy !

ProcessOne: Bridging Push and Chat to build a Mobile only Chat Support Service

Planet Jabber - 28 January, 2015 - 11:23

Mickaël Rémond introduces how push and XMPP chat can work together to build a seamless, mobile only chat support service.

Chat support on mobile is a powerful way to engage with your true mobile users and have a real conversation with them.

This platform leverages two core skills of ProcessOne: XMPP and Push expertise.

The XMPP Standards Foundation: It’s all about choices and control

Planet Jabber - 26 January, 2015 - 13:39

“Why should I use XMPP?” is a question we get asked a lot. Our answer is often technically-focussed, as there are plenty of reasons XMPP might be the right choice, or we might explain about the benefits of a federated approach – where everyone can run their own server and control their own data. Either way, the fact it is an ‘open standard’ never ceases to be mentioned.

Open standards have many advantages over proprietary formats (too many to list in one blog post) but one in particular is that it gives you the choices and control about how you access your data and services.

For example (get ready for the analogies) imagine you are an individual accessing someone else’s XMPP service. Because XMPP is built on open standards, you get to choose what applications you use to connect to their system; for example, a mobile phone provider does not mandate that to use their services you must use a specific handset – the choice is yours). Your provider may have one that they prefer, or offer, but there are myriad other XMPP applications – the choice remains yours and you can make that choice based on your individual preferences and requirements.

Even better, if a new project implements a better XMPP client than the one you are currently using, firstly, that project is able to do so, and secondly – you are free to start using it! Back to our phone analogy, imagine if a new mobile handset came out that was even better than the one you had chosen, and you could just pop your sim card out of the old phone and straight into the new one… no hassle, but a much better service for you.

And if you have particular needs not being met by existing clients, you are freely able to implement your own or to extend any of the open source options to meet those requirements. The power is all yours.

This is a critically important difference between open standards (like XMPP) and access to proprietary systems – if you use a proprietary system, the operator is in control of how you access the service; and on a whim they could choose to shut down your choice of third-party clients. Using our phone analogy, this is like your mobile service provider controlling which handsets you can use, and on a whim deciding that they have 1 choice and only than handset can be used from now on. In this situation you might find yourself unable to access your data in a useful way. A proprietary system may also release a new version of the client that you don’t like or that doesn’t run on your systems; if they force upgrades you may no longer be able to access the systems or your data. As you can see, the choice isn’t really yours.

Alternatively, imagine you are an organisation running an internal service. You might choose to use a cloud provider, in which case the advantages of choosing a vendor using open standards is the same as above. You might also want to apply organisational policies to your internal service; here again, open standards like XMPP are a good choice. They ensure that you can choose the client you need, not the client the vendor of a proprietary system wants you to use. An open-standards system even ensures (with the ability to export your data) the option to migrate from one server provider to another using mechanisms defined for XMPP servers. When its your systems, it should be your choice.

These advantages also apply to third-party developers – developing for XMPP gives you a level playing field and you’re free to implement your client, server, library, or component according to the standards; you don’t run the risk of being locked out of the systems for which you’re developing, either by unpublished protocol changes or by legal action. And if you think the protocols can be better, you can even contribute to the open standards process and make improvements you need.

Using open standards matters whenever your choices are important to you, be it today or tomorrow. And that is why you should use XMPP.

Distribuir contenido