Wednesday, October 14, 2009

Introducing Mobicents IPBX

Many Mobicents community users are already familiar with IPBX, which is complete (and open-source) Media PBX with rich Web User Interface, but it's been on the background for some time due to higher priority tasks. Now with the increased community feedback, we present the new version of IPBX 1.0 CR, which is stable and covers a number of real use-cases. I cannot not mention the guys from Manaty for their help testing the IPBX and finding/solving a number of problems. But I want to thank all users who gave feedback and reported their experiences.

For those who are new to IPBX - this is a converged application (meaning it serves several protocols HTTP, SIP, Media/RTP) and as such it provides integrated experience acrosss several technologies. Let's see this short video of what the application really does:



What we see here is users authenticating against the application over HTTP and SIP protocols from Web browsers and SIP Phones respectively. They use the same credentials for both HTTP and SIP, the sessions are related to each other by the users and the state of the calls can be displayed in the Web browser of particular users. Moreover, when users call each-other they participate in the same calls, thus many users may want to see the state of the same call or conference bridge - the IPBX provides that as well.

Once you are in a call, you can invite more people in a conference, or you can remove participants. When you need to type something, use the conference chat. All participants in the conference will see the messages. The video also shows a function known as call parking, which allows you to transfer a call from one phone to another.

There are many things not shown in this video. When you are getting started you should take a look at the administrative panels (log in as admin/admin). Three important features there:
  • PSTN Accounts - allows you to call PSTN phones such as mobile and landline phones through a PSTN gateway service provider
  • PBX Settings - allows you to configure the PBX behaviour, the system announcement files, calling prefix, etc
  • User Administration - you can edit the user accounts from here
It is important to note that once configured, the PBX can operate without any Web User Interface. If you like you can register your phones blindly and start making calls by dialing peers or PSTN numbers (with the prefix). The SIP and Web parts of the application, although implemented by the same application logic can operate independently and still catch-up with each other if you want to log in from the Web UI.

On the technical side, this application was implemented on top of Mobicents Sip Servlets 1.0 for JBoss AS 4.2.3, Seam Telco Framework 2.2, JBoss Seam and Richfaces with JBoss Developer Studio and Mobicents Eclipse Plugins.

I really hope this project to gain more developer community interest to help us build the next features on the roadmap. Right now the following features are planned for the near future:
  • Recording calls
  • Better UI
  • Voicemail
  • Multiline calls
There are certainly a lot of other features we'd like to add, and if you have other ideas they are more than welcome.

There are few other videos, but I will just add this one for the Linux users with another set of phones:


Finally, some links:
Enjoy!

12 comments:

Unknown said...

Congrats on this release ! Looks like the PBX competition will heat up with this new release :-)

Antonio Anderson M. de Souza said...

Congratulation for this release, I'd like to know if there are some plan to implemenat an IP-Centrex based on IPBX?

And I'd like to contribute with this project.

Anonymous said...

Excellent introduction to the project.

I was thinking about the IPBX integrated with an IMS core network.

I am thinking of possible use case scenarios. If i get some nice ones, I will help contribute them to this project.

aayush.

Vladimir Ralev said...

Thanks guys!

Antonio, Centrex is not yet on our roadmap, which is based on community feedback. There is a plan however to make the necessary changes in the architecture to expose similar functionality that would eventually help moving to Centrex.

You are very welcome to contribute to the project and I am trying encourage more users to do it. Just let me know :)

Aayush, with IMS I am a bit afraid that converged authentication will have to go through IMS nodes even for HTTP, which would be hard. I would really love to have presence in the IPBX though and thinking what's a good way to do it. What else could be a useful feature from IMS?

Sachin Parnami said...

Nice one Vlad :)

One doubt, any guess how billing will be taken care?

I mean what would be the best way of billing? how we can calculate the usage of system?

Does DID and Termination has also taken care in it?

Vladimir Ralev said...

For now this is intended for small office PBX. If you talk to PSTN phones, you get charged by the PSTN gateway. You don't need to charge the users in the office.

We don't cover charging or DID yet, although it looks to me like just a few days of work to get them working.

For PSTN termination we use PSTN gateways, but we do not terminate on our own.

Sachin Parnami said...

ot that how PSTN GW integration has been done if it is not termination?
Since we dont have SS7 RA ready in Mobicents yet?

Sachin Parnami said...

Ahh Sorry, It should be read as
ok so, how PSTN GW integration.......

Vladimir Ralev said...

It is termination. I mean that the PSTN gateways allow us to treat PSTN phones as SIP phones. We talk SIP to the PSTN gateway and the gateway makes the real PSTN phones ring. We use http://callwithus.com or http://callcentric.com

We do not answer PSTN calls in the PBX right now.

Anonymous said...

For IMS, I am looking at the following possibilities for the PBX:

1.IPBX connecting as an external SIP based multimedia network to the IMS core over the Mm reference point. This would mean that PBX keeps its registration/authentication in tact and communicates to the I-CSCF only if the PBX user needs to "dial out" to an IMS network (by pressing a special key). This is the outgoing IMS session case from the PBX user.

2. The Same PBX can now talk to the I-CSCF over the Ma reference point in case of incoming calls. The IMS subscriber dials a PBX extension number (belonging to a IPBX customer and provisioned at the PBX datasource). The I-CSCF terminates the call to the PBX and the PBX connects both parties (acting as a UAS). Here, we can also use the ISC reference point, where the S-CSCF terminates the call to the PBX customer if IPBX is provisioned as a service in the HSS.

3. Virtual PBX calling + FMFM service:

I am currently not at my desk to take the incoming IPBX call (unregistered with the IPBX). However I am IMS registered. The knowledge of my IMS registration is conveyed by the S-CSCF using the 3rd party registration procedures (which require no authentication). Some PBX user (boss) calls me on my PBX line. The IPBX checks for my IMS registration status and proxies the call to the S-CSCF who terminates the call to my IMS UE.

4. Presence is certainly a value add, as you mentioned correctly. It will be nice to show presence statuses for users. The buddy list in the XDM can contain both PBX users and IMS users. If I decide to call the PBX user, the PBX connects the call as it is doing as of date. If I dial out to an IMS user, PBX behaves as given in point 1 above.

5. DIAMETER Ro and Rf interface support, where we charge all calls that are "dialed out" to the IMS network/ other VoIP networks.

This way, we can position the IPBX as an 'enterprise' IMS service for businesses.

I hope it makes sense.

I am ready to contribute to this project if needed (after upskilling myself to MSS !!)

Best Regards

Aayush

Anonymous said...

PS:

You can use the IMS architecture to achieve PSTN integration as well (without the need for integrating with special gateways).

The BGCF will take care of the PSTN interaction part.

Aayush

Vladimir Ralev said...

Thanks for the input, Aauysh. This is interesting. I have to check some IMS docs what would be different in calling IMS users. Right now it seems to me that the PBX would have to call on behalf of some registered IMS user. Which actually fits perfectly with the plan to support DID anyway. May be this won't be that hard to do. The others look a bit harder, but presence would be great.

I guess I dont have to explain how welcome contributions are.

Upskilling to MSS? That's more like downskilling for you :)