[OpenSIPS-Devel] Integrating Message Services into OpenSIPS (RFC)

Westermaier, Andreas andreas.westermaier at gmx.de
Wed May 12 12:01:24 CEST 2010


Hi,

I just want to know if there's interest in an integration of a JMS (Java Message Service) like API into OpenSIPS?


Background:

We're using an SUN/Oracle Glassfish application server for provisioning, accounting, CRM related functions and also infrastructure management/monitoring. The last days we've implemented a module for OpenSIPS which registers to the callback functions of the dialog module and sends asynchronous JMS messages (containing dialog data) into a message queue on the application server (the message broker). For the implementation we used the C-API provided by SUN/Oracle (https://mq.dev.java.net/).

Currently we're using this to trigger in-time rating of calls when a dialog gets terminated (similar to the call_control module). Our planned next steps are to implement also the reception of JMS messages (queue/topics) to control OpenSIPS from the application server (MI management interface). E.g. the opportunity that multiple clients can subscribe to the same topic would allow controlling several OpenSIPS instances simultaneously.


Concerning OpenSIPS:

I think having a common interface to the message brokers of application servers like JBoss, Glassfish or Geronimo would be great and offer a lot of possiblities.

If there is interest in having such a feature and the work wouldn't be useless regarding to the new OpenSIPS 2.0 design, we would spend some of our free time in implementing an Message Service API comparable to the current DB API where different (J)MS implementation modules can hook into. So there will be a consistent interface to other modules which want to use JMS-like systems either for sending or receiving messages and the possibility to load different modules containing the specific implementation of the JMS system (comparable to db_postgres, db_mysql). This would allow the integration of message systems like Oracle's Open Message Queue, Apache ActiveMQ, STOMP...

I'm not so familiar with the MI interface yet, but as far as I see, it is intended to answer mainly incoming one-shot requests and not to send continously messages triggered by several events from within OpenSIPS (e.g. reception of INVITEs).

So, what do you think?


Regards,
Andreas




More information about the Devel mailing list