Posted
about 15 years
ago
by
amit.bhayani
We are very happy to announce the release of Mobicents Media Server (MMS) v2.0.0.GAThis is by far the most stable release of Mobicents Media Server!!There are no new features added in this release, but few bug fixes from MMS v2.0.0.CR3.The MMS 2.x.y
... [More]
can be controlled using MGCP ProtocolTo understand how to use JSR-309 Impl with Sip Servlet look at JSR 309 Demo example available with latest Mobicents Sip Servlets Server release.To understand how to use Mobicents Media Server with JAIN SLEE Server look at mgcp-demo, echo and packet-relay-demo examples.Mobicents Media Server Home Page:http://www.mobicents.org/mms/mms-main.htmlMMS Guide page:http://www.mobicents.org/mms/mms-docs.htmlWhere to download from?-----------------------The distribution can be found on SourceForge.net. The binary package for standalone is mms-standalone-2.0.0.GA.zipDownload fromhttp://sourceforge.net/downloads/mobicents/Mobicents%20Media%20Server/2.0.0.GA/Source repositories:-------------------SVN checkouthttp://mobicents.googlecode.com/svn/tags/servers/media/2.x.y/core/mms-core-2.0.0.GA/SVN Browsinghttp://code.google.com/p/mobicents/source/browse/#svn/tags/servers/media/2.x.y/core/mms-core-2.0.0.GALooking forward to your feedback:---------------------------------http://groups.google.com/group/mobicents-publicMobicents Media Server Team [Less]
|
Posted
about 15 years
ago
by
Jean Deruelle
History : (you can skip to the next section if you're not very fond of history :-))
In Mobicents, we use the great Open Source NIST SIP Stack (which is incidentally the Reference Implementation of the JAIN SIP specification as well) on both Mobicents
... [More]
Sip Servlets and Mobicents JAIN SLEE Resource Adaptor, when we started to work on High Availability we started replicating the full dialog to be able to fail over SIP Calls when one node in the cluster died. First, this was not very efficient since a lot the data structure could be recreated upon failover instead of replicating most of the data within the dialog. Then, for re-INVITE the dialog was not found since it was injected back into the stack later by the application layer (in this case Mobicents) instead of checking if the dialog id was present into the stack or replicated cache during the message processing done by the stack. We first choose this solution because we didn't want to introduce any external dependencies into the NIST SIP Stack for people not interested in HA and minimize code changed in the NIST SIP Stack. Since we hit the above mentioned issues we decided it was time to create our own extension to the NIST SIP Stack allowing HA and failover in a non intrusive way (i.e. without any code change in your application, everything is done under the cover transparently by configuration) so that it benefits not only the Mobicents Community but the whole NIST SIP community. Ok enough history, let's get our hands dirty and see how it works, shall we ?
How does it work ?
It currently supports only established dialog replication & failover. So the replication occurs only when the dialog goes to CONFIRMED state. There is also a mode where everytime the dialog application data (data set by the application on the dialog used to link the call state of this dialog to other state, SIP or otherwise in the system. For example this method could be used by a B2BUA to link the dialogs of the ingress and egress sides) is updated, it replicates the changes. There is some other modes that can be added like early dialog replication and transaction replication but we didn't see the value in that and will be implemented only on a strong use case (one could be handling 911 calls where one doesn't want emergency call setup to fail at all) because it will have a lot of overhead and will decrease the performance a lot.
UAS modeSo if a node fails after the dialog goes to CONFIRMED, when a subsequent request will hit another node, the Mobicents NIST SIP HA Stack will check first if it has the dialog locally and if not, it will check the cache, get the dialog data from the cache, recreate the dialog and add it to the local stack and handle the subsequent request without any problem
UAC modeIn UAC mode, it needs a bit more work and modifications at the application code level actually. So I lied but it was to get you interested ;-)So if a node fails after the dialog goes to CONFIRMED, and an external event makes the failover node to create a subsequent request on the dialog that was originally present on the node that crashed. You actually need to know the Dialog Id of the node to get it from the local stack through
((ClusteredSipStack)sipProvider.getSipStack()).getDialog(dialogId);
the Mobicents NIST SIP HA Stack will check first if it has the dialog locally and if not, it will check the cache, get the dialog data from the cache, recreate the dialog and add it to the local stack and return it. Then you will be able to create the subsequent request and proceed normally. Please not that you can cache the dialogIds in the same JBoss Cache instance used by the Mobicents NIST SIP HA Stack. To access it just use :((MobicentsSipCache)((ClusteredSipStack)sipProvider.getSipStack()).getSipCache()).getMobicentsCache().getJBossCache()
Please note that our NIST SIP HA layer is based on JBoss technologies (JBoss Cache, JGroups and Mobicents Cluster framework) but has an abstract layer so that it can be extended to use other technology such as infinispan, terracota or whatever fits your architecture.
No code change in my application ? You gotta be kiddin' me ?
That's right, as seen above everything is handled automagically by the Mobicents NIST SIP HA layer the only thing needed is a bit more configuration and adding libraries to your application classpath. This presuppose the configuration of the stack is not hard coded in the application but externalized in a properties file or some other way.
But I lied a bit, there is a code change needed, you have to tell your application to use the Mobicents NIST SIP HA Stack (which is just an extension of the regular NIST SIP Stack) :
sipFactory.setPathName("org.mobicents.ha");
But this can be avoided if the path name is looked up from the configuration properties passed to the application as said above.
So if you want to use it, you basically need to set up 2 configuration properties :
#STACK PATH NAMEjavax.sip.stack.PATH_NAME=org.mobicents.ha# whether or not the cache should be standalone or looked up from the JBoss AS if the jain sip stack is running in a JBoss containerorg.mobicents.ha.javax.sip.cache.MobicentsSipCache.standalone=true
The rest of the properties are optional :#org.mobicents.ha.javax.sip.cache.MobicentsSipCache.cacheName=standard-session-cache# path to the configuration file of jboss cache, defaults to META-INF/cache-configuration.xml#org.mobicents.ha.javax.sip.JBOSS_CACHE_CONFIG_PATH=META-INF/cache-configuration.xml# Replication strategy one of ConfirmedDialog or ConfirmedDialogNoApplicationData, defaults to the latter#org.mobicents.ha.javax.sip.REPLICATION_STRATEGY=ConfirmedDialogNoApplicationData#the class name of the class responsible for replicating the dialog etc, this allows to plug your own replication implementation (such as one based on Terracota), defaults to JBossCache 3#org.mobicents.ha.javax.sip.CACHE_CLASS_NAME=org.mobicents.ha.javax.sip.cache.ManagedMobicentsSipCache
The libraries needed to be added to your classpath are the following :
http://repository.jboss.com/maven2/javax/transaction/jta/1.1/jta-1.1.jarhttp://repository.jboss.com/maven2/jboss/jboss-serialization/1.0.3.GA/jboss-serialization-1.0.3.GA.jarhttp://repository.jboss.com/maven2/jgroups/jgroups/2.6.7.GA/jgroups-2.6.7.GA.jarhttp://repository.jboss.com/maven2/org/jboss/cache/jbosscache-core/3.1.0.GA/jbosscache-core-3.1.0.GA.jarhttp://repository.jboss.com/maven2/org/jboss/cluster/jboss-ha-server-api/1.1.0.GA/jboss-ha-server-api-1.1.0.GA.jarhttp://repository.jboss.com/maven2/org/jboss/cluster/jboss-ha-server-cache-jbc/2.0.0.GA/jboss-ha-server-cache-jbc-2.0.0.GA.jarhttp://repository.jboss.com/maven2/org/jboss/cluster/jboss-ha-server-cache-spi/2.0.0.GA/jboss-ha-server-cache-spi-2.0.0.GA.jarhttp://repository.jboss.com/maven2/org/jboss/javaee/jboss-transaction-api/1.0.1.GA/jboss-transaction-api-1.0.1.GA.jarhttp://repository.jboss.com/maven2/org/jboss/jboss-common-core/2.2.10.GA/jboss-common-core-2.2.10.GA.jarhttp://repository.jboss.com/maven2/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA.jarhttp://repository.jboss.com/maven2/org/jboss/metadata/jboss-metadata/1.0.0.CR5/jboss-metadata-1.0.0.CR5.jarhttps://repository.jboss.org/nexus/content/groups/public/org/mobicents/cluster/cache/1.6/cache-1.6.jarhttps://repository.jboss.org/nexus/content/groups/public/org/mobicents/ha/javax/sip/mobicents-jain-sip-ha-core/0.11/mobicents-jain-sip-ha-core-0.11.jarhttps://repository.jboss.org/nexus/content/groups/public/org/mobicents/ha/javax/sip/mobicents-jain-sip-jboss5/0.11/mobicents-jain-sip-jboss5-0.11.jar
or the following dependencies if you use Maven
<dependency><groupId>org.mobicents.ha.javax.sip</groupId><artifactId>mobicents-jain-sip-ha-core</artifactId><version>0.11</version></dependency>
<dependency><groupId>org.mobicents.ha.javax.sip</groupId><artifactId>mobicents-jain-sip-jboss5</artifactId><version>0.11</version></dependency>
<dependency><groupId>org.mobicents.cluster</groupId><artifactId>cache</artifactId><version>1.6</version></dependency>
There is quite a few jboss libraries that shouldn't be needed in reality, this is because mobicents-jain-sip-jboss5 have an option to integrate directly with the JBoss AS5 Cache Manager.
You will need to include the jboss cache configuration file cache-configuration.xml in a META-INF folder as well. And that's it !
Where can I find an example to play with it that I check it out and start to play with it?
We developped a sample application for you to try and have fun with in a form of a maven project that includes a junit test case showcasing the HA and Dialog failover.You have 2 choices here :
It's available directly on github at http://github.com/deruelle/nist-sip-ha-testor as a packaged download here http://mobicents.googlecode.com/files/nist-sip-ha-test.zip
To run it just do mvn test and this will be it.
This test aims to test Mobicents NIST SIP HA Dialog failover recovery in UAS mode. * There is Shootist on port 5060 that acts as a UAC and shoots at a stateless proxy on port 5050 (scaled down version of a balancer) * There is Balancer which is a very simple stateless proxy that proxies the requests from the UAC to the first UAS node (Shootme) on port 5070 that will reply with 180 Ringing and 200 OK * The dialog state is updated to CONFIRMED and triggers the replication to JBoss Cache * on ACK, the first UAS node stops itself. * The UAC sends a BYE that the stateless proxy forwards to the second UAS node (shootme_recovery) on port 5080 * Shootme recovery on BYE gets the dialog from the cache and recreates the dialog locally based * Shootme recovery handles the BYE and sends OK to BYE without any issue.
That's very cool, if I want to go further but where can I find a cheap and powerful SIP Load Balancer for my cluster to balance my SIP load and ensure failover ?
That's easy, Mobicents provides such a SIP Load BalancerThe binary for it is available here https://repository.jboss.org/nexus/content/groups/public/org/mobicents/tools/sip-balancer-jar/1.0.1/sip-balancer-jar-1.0.1.jar and read the user guide
You will need to add 2 new properties to your stack so that the load balancers is pinged automatically by the NIST SIP HA Stack when a stack starts up or dies :
# implementation used to ping the Mobicents SIP Load Balancerorg.mobicents.ha.javax.sip.LoadBalancerHeartBeatingServiceClassName=org.mobicents.ha.javax.sip.LoadBalancerHeartBeatingServiceImpl# the IP Address of the Mobicents SIP Load Balancer to send keepalives toorg.mobicents.ha.javax.sip.BALANCERS=127.0.0.1
[Less]
|
Posted
about 15 years
ago
by
Jean Deruelle
We are proud to announce our Mobicents Sip Servlets 1.3.2 version , certified against the Sip Servlets 1.1 specification and working on top of Tomcat 6.0.20 and JBoss AS 5.1.0.GA .
This release is a bug fix and performance fix intermediate
... [More]
release. Here is the list of bug fixes included in this release
Thanks to the ever growing community and customers for the bug reports and contributions to this release, and notably to Naoki Nishihara from OKI who not only contributed earlier this year the SSF framework but is now doing some good contributing to the Core and HA parts of Mobicents Sip Servlets. See http://www.mobicents.org/acknowledgements.html for the list of acknowledgements.
Mobicents Sip Servlets is shipped with :Application Router Management Console to configure the Application Router to route SIP Messages to your applications
An Enterprise Monitoring and Management Console to effectively manage and monitor the server and your applications
Educational converged example : Click To Call
Diameter event charging example : Diameter Event Charging
For JBoss 5.1.0 only, Mobicents Media Server 2.0.0.CR3 , Mobicents Diameter 1.2.1.GA , the Mobicents SIP load Balancer 1.0.1 and 'all' profile in JBoss with predeployed click to call distributable application to test clustering and mid call failover.
Downloads are here, online documentation is here, User Guide is here, the 1.3.2 changelog and roadmap is here and the Mobicents Google Group for feedback and questions is here.
Try out this new awesome release and give us your feedback !
Enjoy and Have Fun !
[Less]
|
Posted
about 15 years
ago
by
baranowb
Incredible. Once again we managed to make release, or two. Details below:Protocol Suite - 1.0.0.B2.Media Server - 2.0.0.CR3.Mobicents media server is last CR before FINAL( previously called GA).Ive mentioned that incubator went live on
... [More]
mobicents.org. Some work has been done there as well, during last few days. roadmaps are alive and beeing updated as in other projects. Also some new projects surfaced there(HA, SIP LoadBalancer, ....). What is still on "TODO" for incubator? Documentation. It should be linked soon. Stay tuned. [Less]
|
Posted
about 15 years
ago
by
amit.bhayani
We are happy to announce the release of Mobicents Media Server (MMS) v2.0.0.CR3There are couple of new feature added as well as performance improvementsThe issue with MBROLA TTS fixed and by default 3 voices are available. For details look at
... [More]
http://code.google.com/p/mobicents/issues/detail?id=1476New mixers are added for Conference Endpoint http://code.google.com/p/mobicents/issues/detail?id=1599Connection can now be audited to know the statistics at real-time. Details at http://code.google.com/p/mobicents/issues/detail?id=1598For more details look at http://code.google.com/p/mobicents/issues/list?cursor=1604&q=label%3AComponent-Media-Server%20label%3ARelease-Type-Candidate-3%20label%3AVersion-2.0.00&updated=1604&ts=1280517894&can=1The majority of effort was to integrate the SS7 lower layers MTP2/MTP3 on MMS side such that MMS can be used as Media Gateway once B Channel Endpoint is done. For SS7 related announcement look at http://groups.google.com/group/mobicents-public/browse_thread/thread/e9d5a29020612e1cThe MMS 2.x.y can be controlled using MGCP ProtocolTo understand how to use JSR-309 Impl with Sip Servlet look at JSR 309 Demo example available with latest Mobicents Sip Servlets Server release.To understand how to use Mobicents Media Server with JAIN SLEE Server look at mgcp-demo, echo and packet-relay-demo examples.Mobicents Media Server Home Page:http://www.mobicents.org/mms/mms-main.htmlMMS Guide page:http://www.mobicents.org/mms/mms-docs.htmlWhere to download from?-----------------------The distribution can be found on SourceForge.net. The binary package for standalone is mms-standalone-2.0.0.CR3.zipDownload fromhttps://sourceforge.net/downloads/mobicents/Mobicents%20Media%20Server/2.0.0.CR3/Source repositories:-------------------SVN checkouthttp://mobicents.googlecode.com/svn/tags/servers/media/2.x.y/core/mms-core-2.0.0.CR3/SVN Browsinghttp://code.google.com/p/mobicents/source/browse/#svn/tags/servers/media/2.x.y/core/mms-core-2.0.0.CR3Looking forward to your feedback:---------------------------------http://groups.google.com/group/mobicents-publicMobicents Media Server Team [Less]
|
Posted
about 15 years
ago
by
Alexandre Mendonça
As it seems that some users don't find the task of installing and configuring Mobicents JAIN SLEE / Diameter Management consoles as plugins for Jopr/RHQ easy, I've decided to make a blog post explaining how to do it.But if an image worths more than
... [More]
1.000 words, how many words can a video worth? :) Hopefully, a lot, because I've just recorded one that I hope it helps to better understand how it should be done.Still, I will point the main actions to be executed and the time they occur at the video, for faster reference.Here it is, right from the Mobicents Channel @ Vimeo:Installing Jopr/RHQ and Mobicents JAIN SLEE 2.x Plugin (click to watch in HD)[00:00] Download RHQ Server from http://www.rhq-project.org/ and Unzip rhq-server-3.0.0.zip to any directory of your choice;[00:50] In a terminal, go to "rhq-server-3.0.0/bin" inside the extracted folder and run "rhq-server.[bat|sh] console", depending on your OS;[01:30] Go to http://127.0.0.1:7080/ and install the server (don't forget to select your database);[03:15] Login with default credentials (rhqadmin/rhqadmin), go to Downloads and Download the "Agent Installer";[04:00] In a new terminal, go to the directory where the Agent Installer was downloaded and issue the command "java -jar rhq-enterprise-agent-3.0.0.jar --install" to install it;[04:35] In the same terminal go to rhq-agent/bin (where it was installed) and run "rhq-agent.[bat|sh] --clean" (use --clean to make sure you will use a fresh configuration). Default values should be fine;[05:30] In the web interface, go to Administration > System Configuration > Plugins, click "Add" and browse to the Mobicents JAIN SLEE / Diameter Plugin location and click "Upload". When done, click "Scan for Updates";[07:45] If not yet running, start yout JAIN SLEE / Diameter Server;[09:30] In the RHQ Agent terminal, issue "plugins update" to update the agent plugins (download the JAIN SLEE / Diameter plugin to the agent);[11:10] Now that the plugins are updated, and with the JAIN SLEE / Diameter Server running, in the Agent terminal issue the "discovery" command to find new resources;[11:35] In the web interface, go to Overview > Auto Discovery Queue, locate the Server, check it and click "Import"[12:45] Still at the webpage, head to Resources > Servers. Click on the server entry to manage it. Enjoy!Simple, isn't it ? Hope it is now.. It's time to have fun, managing and monitoring Mobicents Servers via Jopr/RHQ ;-)For details on what you can do with these plugins, please refer to the documentation found in the binaries releases of the servers. [Less]
|
Posted
about 15 years
ago
by
baranowb
Again its been a while. Shortly traffic will pick up and some tutorial will see the light here. But before that, small update on mobicents.org. Incubator goes live. First Mobicents baby projects hit the
... [More]
light!http://www.mobicents.org/incubator.htmlstream library - proprietary stream libraryasn.1 library - library which enables user to encode/decode ASN.1.set of SS7 stacks.USSD GatewaySome more will get promotion to incubator, time will show. [Less]
|
Posted
about 15 years
ago
by
Jean Deruelle
We are proud to announce our Mobicents Sip Servlets 1.3.1 version , certified against the Sip Servlets 1.1 specification and working on top of Tomcat 6.0.20 and JBoss AS 5.1.0.GA .This release is a bug fix and performance fix intermediate release.
... [More]
Here is the list of bug fixes included in this releaseThanks to the ever growing community and customers for the bug reports and contributions to this release :Alexander Kozlov and Nick Semergey both from Codeminders and commissioned by Avistar Communications CorpMiha Polak and Jernej Krmelj both from Iskratel SloveniaMobicents Sip Servlets is shipped with :Application Router Management Console to configure the Application Router to route SIP Messages to your applicationsAn Enterprise Monitoring and Management Console to effectively manage and monitor the server and your applicationsEducational converged example : Click To CallDiameter event charging example : Diameter Event ChargingFor JBoss 5.1.0 only, Mobicents Media Server 2.0.0.CR2 , Mobicents Diameter 1.2.1.GA , the Mobicents SIP load Balancer 1.0.FINAL and 'all' profile in JBoss with predeployed click to call distributable application to test clustering and mid call failover.Downloads are here, online documentation is here, User Guide is here, the 1.3.1 changelog and roadmap ishere and the Mobicents Google Group for feedback and questions is here.Try out this new awesome release and give us your feedback !Enjoy and Have Fun !The Mobicents Sip Servlets Team
[Less]
|
Posted
about 15 years
ago
by
Jean Deruelle
Hi all,I just got back from Boston where I attended JUDCon, the free JBoss Users & Developers Conference and spoke there about Mobicents. Since the attendance was pretty new to Telco and Communications 2.0 features, the talk was not a technical
... [More]
one but rather showcasing multiple demos, notably the Jopr is talking demo and examples on how you can improve your applications with Mobicents by adding Voice, Video, Presence, IM, SMS, data to enrich the user experience, processes within your company, the customer relationship etc... I went over the Mobicents projects - SIP Servlets, JAIN SLEE, Media Server, SIP Presence Service and Diameter and how they were used in the different demos showcased at the beginning of the presentationHere are the slides of the presentationThe presentation was pretty well received and there was a long Q&A at the end with most of the people from the audience pretty interested asking questions and thinking on how they could apply it to their businesses. It was one of my best audiences ever !I will try to record the presentation and upload it for those of you who couldn't attend.I attended a few presentations during JUDCon and all talks and speakers were top notch quality and very interesting, definitely a conference you want to attend if you're a JBoss user or developper.Later that day happened the JUDCon Hackfest where I got a chance to hack on a Tomcat container for ArquillianThis work will be used as a basis for refactoring our Mobicents SIP Servlets testsuite based on Arquillian and ShrinkWrap and expose it as a way to test SIP Servlets applications in a single Junit test. So JUDCon was definitely a great conference for me and Mobicents as a whole !Next was JBoss WorldThere I got to meet multiple JBoss Communications Platform (JBCP - which is the product derived from Mobicents) and Mobicents users. Notably OKI Japan with whom we had interesting talks and led to the announcement of their Spring Sip Servlets Framework - SSF contribution to Mobicents and their official joining as a Mobicents contributorI had interesting talks with our friends at Angel.com and got to see them at the great JBoss party For me and Mobicents, both JUDCon and JBoss World were definitely awesome, when working from home all year long I can't express how priceless it is to meet the community in flesh and blood.See ya all next year !
[Less]
|
Posted
about 15 years
ago
by
Jean Deruelle
We are delighted to announce that OKI has become a Mobicents contributor and chosen Mobicents as a Platform to open source their Spring SIP Servlets Application Framework that will allow SIP Servlets application developers to add easily VoIP features
... [More]
to their existing Spring applications.This makes Mobicents SIP Servlets the one stop shop place where app developers can leverage their existing Frameworks such as the populars Seam and Spring and extend their apps with Communications 2.0 features through Seam Telco Framework and SSF respectively.By doing so OKI has taken one first great of many steps towards open sourcing their high expertise and experience to help develop stable and powerful convergent applications quickly.Through such efforts, OKI plans to help expand the field of info-telecom converged solutions based on SIP Servlets, so it is to be expected that more frameworks/tooling is going to be contributed to increase the overall developer experience and community around SIP Servlets to Mobicents.Read about the press releaseCheck out the documentationThe Mobicents SIP Servlets Team
[Less]
|