java.net: Wiki

The Source for Java Technology Collaboration


 <<O>>  Difference Topic MobicentsSimplePBXExample (21 - 07 Nov 2007 - Main.uwinkler)
Line: 1 to 1
 
META TOPICPARENT name="MobicentsOpenSLEE"

Simple SIP PBX - An End to End example with Mobicents;

Line: 66 to 66
 

Deploying SIP Resource Adaptor

Changed:
<
<
Checkout latest source or package of sip ra 1.2. It contains ra, and sip services. Source can be obtained from svn repo: https://slee-sip-ra.dev.java.net/svn/slee-sip-ra/trunk , package can be donwloaded from here: sf.net
>
>
Checkout latest source or package of sip ra 1.2. It contains ra, and sip services. Source can be obtained from svn repo: https://slee-sip-ra.dev.java.net/svn/slee-sip-ra/trunk :

   svn co https://slee-sip-ra.dev.java.net/svn/slee-sip-ra/trunk slee-sip-ra

A package can be donwloaded from here: sf.net

 Make sue that everything is set properly, good guide can be found here. Also make sure that env variable MOBICENTS_HOME is set properly. To deploy ra and services simply run ant deployall, this will cause deployment of sip ra and services, console should look like:
Line: 165 to 171
 

Setting up the first phone

Changed:
<
<
If the settings don’t appear the first time you start , hit the eyeBeam, click the phone GUI with the right button and chose ‘settings’.
>
>
If the settings don�t appear the first time you start , hit the eyeBeam, click the phone GUI with the right button and chose �settings�.
 
Changed:
<
<
  1. Chose ‘Add a new SIP Account’;
>
>
  1. Chose �Add a new SIP Account�;
 
  1. Enter the info needed in the fields:
    • Enter 'ivelin' in these three fields - 'Display name', 'User name' and 'Authorization user name'
Changed:
<
<
    • At the ‘Domain’ field put ‘nist.gov’;
    • Check the boxes ‘Register with domain’, ‘Use as Outbound Proxy’ and ‘Manual Override’;
    • For the ‘Host’ field put the IP Address where Mobicents is running; If the SIP RA is listening in a port different than 5060, you must put the ‘IP:port’;
    • Uncheck the boxes ‘Manual Override’. (Check it only if you want to use another port to communicate);
    • After this, check the ‘Enable this SIP account’ box and hit OK
>
>
    • At the �Domain� field put �nist.gov�;
    • Check the boxes �Register with domain�, �Use as Outbound Proxy� and �Manual Override�;
    • For the �Host� field put the IP Address where Mobicents is running; If the SIP RA is listening in a port different than 5060, you must put the �IP:port�;
    • Uncheck the boxes �Manual Override�. (Check it only if you want to use another port to communicate);
    • After this, check the �Enable this SIP account� box and hit OK
 
    • Leave the remaining options (Firewall/NAT, Server-side Storage, etc) with their default values;
  1. At this point your phone should register with Mobicents;
Line: 195 to 201
 
    • At 'User Domain' field put 'nist.gov'
    • Check 'Register with proxy'. Let 'Proxy is strict outbound' be unchecked
    • Check 'Use seprate register'
Changed:
<
<
    • For the ‘Registar domain’ field put the IP Address where Mobicents is running; If the SIP RA is listening in a port different than 5070, you must use that port.
>
>
    • For the �Registar domain� field put the IP Address where Mobicents is running; If the SIP RA is listening in a port different than 5070, you must use that port.
 
    • Let 'Unregister contact address only' be unchecked
    • Click OK
    • It should ask for Account: Enter ivelin and Password : somepasswd

 <<O>>  Difference Topic MobicentsSimplePBXExample (20 - 10 Mar 2007 - Main.baranowb)
Line: 1 to 1
 
META TOPICPARENT name="MobicentsOpenSLEE"

Simple SIP PBX - An End to End example with Mobicents;

Line: 68 to 68
 Checkout latest source or package of sip ra 1.2. It contains ra, and sip services. Source can be obtained from svn repo: https://slee-sip-ra.dev.java.net/svn/slee-sip-ra/trunk , package can be donwloaded from here: sf.net
Changed:
<
<
You command line console should look like this:

If you dont like to run the batch file ( ie. if the bat does not fly ) , you can install the following using the jmx console:

  • $MOBICENTS_HOME/ra/sipra/stage/sip-ra-type.jar
  • $MOBICENTS_HOME/ra/sipra/stage/sip-local-ra.jar
  • go to the ResourceAdaptorMBean? from the main Agent View under slee.
  • create the Resource Adaptor Entity. Call it SipRA? give it the property file to configure itself.
  • Activate it. using Mbean interface. Use the name SipRA? in the Entity name.

Note :

  • Pass the 'ResourceAdaptorID[jainsip#NIST#1.1]' as first parameter
  • 'SipRA' as second parameter
  • Third parameter can be empty. However if you are leaving third parameter empty you cannot make use of createResourceAdaptorEntity operation which takes String as parameter

Deploying SIP Proxy Service

  • build and deploy the sip resource adaptor (see previous step ) otherwise this will not work.

  • cd to $MOBICENTS_HOME

  • ant proxy-service-deploy

Your command line console should now show this:

NOTE: In a later version the command changed from proxy-service-deploy to sip-proxy-service-deploy.

>
>
Make sue that everything is set properly, good guide can be found here. Also make sure that env variable MOBICENTS_HOME is set properly. To deploy ra and services simply run ant deployall, this will cause deployment of sip ra and services, console should look like:
$ ant deployall
Buildfile: build.xml

management-init:
     [echo] Mobicents SLEE Management tasks defined

init:

compile-ratype:

compile-ra:

package-ra:
     [copy] Copying 1 file to d:\java\jprojects\slee-sip-ra\stage\ra\META-INF
     [copy] Copying 30 files to d:\java\jprojects\slee-sip-ra\stage\ra
      [jar] Building jar: d:\java\jprojects\slee-sip-ra\stage\sip-resource-adaptor.jar
   [delete] Deleting directory d:\java\jprojects\slee-sip-ra\stage\ra

unit-ra:
     [copy] Copying 1 file to d:\java\jprojects\slee-sip-ra\stage\ra-unit
     [copy] Copying 1 file to d:\java\jprojects\slee-sip-ra\stage\ra-unit\library
     [copy] Copying 1 file to d:\java\jprojects\slee-sip-ra\stage\ra-unit\META-INF
      [jar] Building jar: d:\java\jprojects\slee-sip-ra\stage\sip-local-ra.jar
   [delete] Deleting directory d:\java\jprojects\slee-sip-ra\stage\ra-unit

package-ratype:
     [copy] Copying 1 file to d:\java\jprojects\slee-sip-ra\stage\ratype\META-INF
     [copy] Copying 2 files to d:\java\jprojects\slee-sip-ra\stage\ratype
      [jar] Building jar: d:\java\jprojects\slee-sip-ra\stage\sip-resource-adaptor-type.jar
   [delete] Deleting directory d:\java\jprojects\slee-sip-ra\stage\ratype

package-events:
     [copy] Copying 1 file to d:\java\jprojects\slee-sip-ra\stage\events\META-INF
      [jar] Building jar: d:\java\jprojects\slee-sip-ra\stage\sip-events.jar
   [delete] Deleting directory d:\java\jprojects\slee-sip-ra\stage\events

unit-type:
     [copy] Copying 1 file to d:\java\jprojects\slee-sip-ra\stage\ratype-unit\META-INF
     [copy] Copying 2 files to d:\java\jprojects\slee-sip-ra\stage\ratype-unit
     [copy] Copying 1 file to d:\java\jprojects\slee-sip-ra\stage\ratype-unit\library
      [jar] Building jar: d:\java\jprojects\slee-sip-ra\stage\sip-ra-type.jar
   [delete] Deleting directory d:\java\jprojects\slee-sip-ra\stage\ratype-unit

siprabuild:

deploy:
     [echo] Installing SipRA.
[slee-management] 2007-03-09 17:31:59 org.mobicents.ant.tasks.InstallTask run
[slee-management] INFO: DeployableUnitID[0]
[slee-management] 2007-03-09 17:32:00 org.mobicents.ant.tasks.InstallTask run
[slee-management] INFO: DeployableUnitID[1]
[slee-management] 2007-03-09 17:32:00 org.mobicents.slee.container.management.jmx.SleeCommandInterface invokeOperation
[slee-management] INFO: Loading properties: null
[slee-management] 2007-03-09 17:32:00 org.mobicents.ant.tasks.CreateRaEntityTask run
[slee-management] INFO: No response
[slee-management] 2007-03-09 17:32:00 org.mobicents.ant.tasks.ActivateRaEntityTask run
[slee-management] INFO: No response
[slee-management] 2007-03-09 17:32:00 org.mobicents.ant.tasks.CreateRaLinkTask run
[slee-management] INFO: No response

deployall:

build-sip-proxy-service-jars:
    [mkdir] Created dir: d:\java\jprojects\slee-sip-ra\sip-services\build\sip
      [jar] Building jar: d:\java\jprojects\slee-sip-ra\sip-services\build\sip\registrarsbb.jar
      [jar] Building jar: d:\java\jprojects\slee-sip-ra\sip-services\build\sip\proxysbb.jar
     [copy] Copying 1 file to d:\java\jprojects\slee-sip-ra\sip-services\build\sip
      [jar] Building jar: d:\java\jprojects\slee-sip-ra\sip-services\build\sip\proxyservice.jar
     [move] Moving 1 file to d:\java\jprojects\slee-sip-ra\sip-services\examples
     [echo] SIP Examples Build Dir = ./build/sip

management-init:
     [echo] Mobicents SLEE Management tasks defined

proxy-service-deploy:
[slee-management] 2007-03-09 17:32:01 org.mobicents.ant.tasks.InstallTask run
[slee-management] INFO: DeployableUnitID[2]
     [echo] Proxy Service deployed
[slee-management] 2007-03-09 17:32:01 org.mobicents.ant.tasks.ActivateServiceTask run
[slee-management] INFO: No response
     [echo]  proxy service activated

BUILD SUCCESSFUL
Total time: 4 seconds
 

Settting up the phones

Obtaining phones


 <<O>>  Difference Topic MobicentsSimplePBXExample (19 - 10 Mar 2007 - Main.baranowb)
Line: 1 to 1
 
META TOPICPARENT name="MobicentsOpenSLEE"

Simple SIP PBX - An End to End example with Mobicents;

Line: 66 to 66
 

Deploying SIP Resource Adaptor

Changed:
<
<
Follow the instructions in the brief SIP RA deployment manual
>
>
Checkout latest source or package of sip ra 1.2. It contains ra, and sip services. Source can be obtained from svn repo: https://slee-sip-ra.dev.java.net/svn/slee-sip-ra/trunk , package can be donwloaded from here: sf.net
 You command line console should look like this:
Line: 214 to 214
 

Comments

Comments on how to bind a proxy with an IP other than 127.0.0.1 and change registar from nist.gov as you want

Changed:
<
<
Please refer to the page:
>
>
Please refer to the pages:
http://forums.java.net/jive/thread.jspa?threadID=16833&tstart=0
http://forums.java.net/jive/thread.jspa?threadID=16625&tstart=0
Changing the file MOBICENTS_HOME/thirdparty/sip-services/src/org/mobicents/slee/services/sip/common/SipConfigImpl.java
String[] getLocalDomainNames () {return new String{host,"nist.gov, "ascc.lucent.com","leon.ascc.lucent.com"};}

For more information:
, please refer to the page:

 http://forums.java.net/jive/thread.jspa?threadID=1058&tstart=0

 <<O>>  Difference Topic MobicentsSimplePBXExample (18 - 18 Jul 2006 - Main.gzhhong)
Line: 1 to 1
 
META TOPICPARENT name="MobicentsOpenSLEE"

Simple SIP PBX - An End to End example with Mobicents;

Line: 214 to 214
 

Comments

Comments on how to bind a proxy with an IP other than 127.0.0.1 and change registar from nist.gov as you want

Changed:
<
<
1. vi $MOBICENTS_HOME/ra/sipra/ra/src/org/mobicents/slee/resource/sip/sipra.properties
make the change: javax.sip.IP_ADDRESS=a.b.c.d //the ip you want to bind with your proxy.

2. vi $MOBICENTS_HOME/ra/sipra/ra/src/org/mobicents/slee/resource/sip/passwords.xml
make the change at the second line: //the original value is nist.gov
a.b.c.d is the registar's IP. Because we will install the registar and proxy on the same mechine a.b.c.d, we have to make such changes.

3. change $MOBICENTS_HOME/thirdparty/sip-services/src/org/mobicents/slee/services/sip/common/SipConfigImpl.java
public String[] getLocalDomainNames() {

return new String[]{"a.b.c.d","ascc.lucent.com","leon.ascc.lucent.com"}; //the original value is "nist.gov",...
}
in the same class, change the host from 127.0.0.1 to a.b.c.d
// private static String host = "127.0.0.1"; the original
private static String host = "a.b.c.d"; //the new value

4. change $MOBICENTS_HOME/thirdparty/sip-services/src/org/mobicents/slee/services/sip/registrar/Registrar.java
private String[] localDomainNames = {"a.b.c.d", "antd.nist.gov", "nist.gov;transport=udp"}; //the original value is "nist.gov"

5. ant clean, ant make, ant auto-deploy-sip, run.sh -c all -b a.b.c.d

6. let two softphones registed on a.b.c.d realm/domain. Then you can make a phone call.

>
>
Please refer to the page: http://forums.java.net/jive/thread.jspa?threadID=1058&tstart=0
 

-- IvelinIvanov - 07 Mar 2005


 <<O>>  Difference Topic MobicentsSimplePBXExample (17 - 18 Jul 2006 - Main.gzhhong)
Line: 1 to 1
 
META TOPICPARENT name="MobicentsOpenSLEE"

Simple SIP PBX - An End to End example with Mobicents;

Line: 48 to 48
 

Obtaining, Installing and Starting Mobicents

Changed:
<
<
Follow the instructions in the Quick Start Guide for the Eager Contributor.
>
>
Follow all of the instructions in the Quick Start Guide for the Eager Contributor, including "How to build and run Mobicents from source code".
 

Testing the Mobicents server

Line: 211 to 211
 All the code in this example can be downloaded from the public Mobicents CVS repository: https://mobicents.dev.java.net/source/browse/mobicents/
Added:
>
>

Comments

Comments on how to bind a proxy with an IP other than 127.0.0.1 and change registar from nist.gov as you want

1. vi $MOBICENTS_HOME/ra/sipra/ra/src/org/mobicents/slee/resource/sip/sipra.properties
make the change: javax.sip.IP_ADDRESS=a.b.c.d //the ip you want to bind with your proxy.

2. vi $MOBICENTS_HOME/ra/sipra/ra/src/org/mobicents/slee/resource/sip/passwords.xml
make the change at the second line: //the original value is nist.gov
a.b.c.d is the registar's IP. Because we will install the registar and proxy on the same mechine a.b.c.d, we have to make such changes.

3. change $MOBICENTS_HOME/thirdparty/sip-services/src/org/mobicents/slee/services/sip/common/SipConfigImpl.java
public String[] getLocalDomainNames() {

return new String[]{"a.b.c.d","ascc.lucent.com","leon.ascc.lucent.com"}; //the original value is "nist.gov",...
}
in the same class, change the host from 127.0.0.1 to a.b.c.d
// private static String host = "127.0.0.1"; the original
private static String host = "a.b.c.d"; //the new value

4. change $MOBICENTS_HOME/thirdparty/sip-services/src/org/mobicents/slee/services/sip/registrar/Registrar.java
private String[] localDomainNames = {"a.b.c.d", "antd.nist.gov", "nist.gov;transport=udp"}; //the original value is "nist.gov"

5. ant clean, ant make, ant auto-deploy-sip, run.sh -c all -b a.b.c.d

6. let two softphones registed on a.b.c.d realm/domain. Then you can make a phone call.

 -- IvelinIvanov - 07 Mar 2005

 <<O>>  Difference Topic MobicentsSimplePBXExample (16 - 18 Nov 2005 - Main.ivelin)
Line: 1 to 1
 
META TOPICPARENT name="MobicentsOpenSLEE"

Simple SIP PBX - An End to End example with Mobicents;

Deleted:
<
<
_DRAFT _
 


Line: 131 to 129
 Follow these steps:
Changed:
<
<
  1. Click on New on Profiles Tab and give Profile name: ivelin Your screen should look like this
>
>
  1. Click on New on Profiles Tab and give Profile name: ivelin Your screen should look like this
 
  1. Enter the info needed in the fields:
    • In SIP Proxy the setting should be as soon in image.
    • At 'Proxy Domain' field put 'nist.gov'
Line: 143 to 141
 
    • Click OK
    • It should ask for Account: Enter ivelin and Password : somepasswd
Added:
>
>
 Your SJphone setting should look like the ones on the following screenshot:
Added:
>
>
 

Setting up the second phone

Now let's setup Microsoft Messenger (different than MSN Messenger shipping with Windows). It can be downloaded from http://www.microsoft.com/downloads/details.aspx?FamilyID=A8D9EB73-5F8C-4B9A-940F-9157A3B3D774&displaylang=en.

Line: 213 to 214
 -- IvelinIvanov - 07 Mar 2005
Added:
>
>

 <<O>>  Difference Topic MobicentsSimplePBXExample (15 - 19 Oct 2005 - Main.abhayani)
Line: 1 to 1
 
META TOPICPARENT name="MobicentsOpenSLEE"

Simple SIP PBX - An End to End example with Mobicents;

Line: 81 to 81
 
  • create the Resource Adaptor Entity. Call it SipRA? give it the property file to configure itself.
  • Activate it. using Mbean interface. Use the name SipRA? in the Entity name.
Added:
>
>
Note :
  • Pass the 'ResourceAdaptorID[jainsip#NIST#1.1]' as first parameter
  • 'SipRA' as second parameter
  • Third parameter can be empty. However if you are leaving third parameter empty you cannot make use of createResourceAdaptorEntity operation which takes String as parameter
 

Deploying SIP Proxy Service

  • build and deploy the sip resource adaptor (see previous step ) otherwise this will not work.
Line: 121 to 125
 
Added:
>
>

Setting up the first phone using SJphone

You can download SJphone from here

Follow these steps:

  1. Click on New on Profiles Tab and give Profile name: ivelin Your screen should look like this
  2. Enter the info needed in the fields:
    • In SIP Proxy the setting should be as soon in image.
    • At 'Proxy Domain' field put 'nist.gov'
    • At 'User Domain' field put 'nist.gov'
    • Check 'Register with proxy'. Let 'Proxy is strict outbound' be unchecked
    • Check 'Use seprate register'
    • For the ‘Registar domain’ field put the IP Address where Mobicents is running; If the SIP RA is listening in a port different than 5070, you must use that port.
    • Let 'Unregister contact address only' be unchecked
    • Click OK
    • It should ask for Account: Enter ivelin and Password : somepasswd

Your SJphone setting should look like the ones on the following screenshot:

 

Setting up the second phone

Now let's setup Microsoft Messenger (different than MSN Messenger shipping with Windows). It can be downloaded from http://www.microsoft.com/downloads/details.aspx?FamilyID=A8D9EB73-5F8C-4B9A-940F-9157A3B3D774&displaylang=en.


 <<O>>  Difference Topic MobicentsSimplePBXExample (14 - 19 Aug 2005 - Main.doneill)
Line: 1 to 1
 
META TOPICPARENT name="MobicentsOpenSLEE"

Simple SIP PBX - An End to End example with Mobicents;

Line: 85 to 85
 

Deploying SIP Proxy Service

  • build and deploy the sip resource adaptor (see previous step ) otherwise this will not work.
Added:
>
>
  • cd to $MOBICENTS_HOME
 
  • ant proxy-service-deploy

Your command line console should now show this:


 <<O>>  Difference Topic MobicentsSimplePBXExample (13 - 13 Aug 2005 - Main.mranga)
Line: 1 to 1
 
META TOPICPARENT name="MobicentsOpenSLEE"

Simple SIP PBX - An End to End example with Mobicents;


 <<O>>  Difference Topic MobicentsSimplePBXExample (12 - 11 Jul 2005 - Main.mranga)
Line: 1 to 1
 
META TOPICPARENT name="MobicentsOpenSLEE"

Simple SIP PBX - An End to End example with Mobicents;

Line: 74 to 74
 
Added:
>
>
If you dont like to run the batch file ( ie. if the bat does not fly ) , you can install the following using the jmx console:
  • $MOBICENTS_HOME/ra/sipra/stage/sip-ra-type.jar
  • $MOBICENTS_HOME/ra/sipra/stage/sip-local-ra.jar
  • go to the ResourceAdaptorMBean? from the main Agent View under slee. * create the Resource Adaptor Entity. Call it SipRA? give it the property file to configure itself. * Activate it. using Mbean interface. Use the name SipRA? in the Entity name.
 

Deploying SIP Proxy Service

Added:
>
>
  • build and deploy the sip resource adaptor (see previous step ) otherwise this will not work.
 
  • ant proxy-service-deploy

 <<O>>  Difference Topic MobicentsSimplePBXExample (11 - 28 Jun 2005 - Main.ivelin)
Line: 1 to 1
 
META TOPICPARENT name="MobicentsOpenSLEE"
Changed:
<
<

Java VoIP middleware - An End to End example with Mobicents

>
>

Simple SIP PBX - An End to End example with Mobicents;

 
Changed:
<
<
_WORK IN PROGRESS _
>
>

_DRAFT _

 
Line: 10 to 12
 

Overview

Added:
>
>
This end-to-end example will demonstrate Mobicents in the role of a simple PBX, which will connect SIP clients to each other. It will show how two SIP clients can register with the Mobicents server, then locate each other via Mobicents and establish a voice conversation.
 

Components of this example

Added:
>
>
This example will involve active interaction between several components: Mobicents SLEE server, JMX Web console, Mobicents SIP RA, and two SIP phones. The following diagram illustrates the participating parties.

 

Two Phones

Added:
>
>
 

One Mobicents Server

Added:
>
>
The Mobicents server includes a certified JAIN SLEE core engine as well as several extensions such as the SIP Resource Adaptor, SIP registrar service and SIP proxy service.
 

Mobicents architecture

Added:
>
>
Mobicents has a very flexible and scalable standards based architecture compliant with JAIN SLEE. The following two diagrams illustrate two alternative views of the architecture:

 

IP Telephony In the Large

There's two parts to IP Telephony. Call Setup or Signaling and Media. For two phones to communicate, both signaling and media must be standardized. It is important to understand the role of signaling because it is signaling that triggers Services. We will not discuss media in this paper . There are two standardized signaling protocols in wide use in IP Telephony -- SIP and H.323. SIP has gained dominance over H.323 and hence we discuss it here. One should note that the SLEE is able to support a wide variety of signaling protocols including custom protocols such as those used by Asterisk and Skype.

Line: 29 to 47
 

JBoss

Settting up Mobicents

Added:
>
>
 

Obtaining, Installing and Starting Mobicents

Follow the instructions in the Quick Start Guide for the Eager Contributor.

Line: 40 to 59
 
  1. Point your web browser to http://localhost:8080/jmx-console
  2. In the text box under "ObjectName Filter", enter slee:*
  3. You should see a list of SLEE MBeans. The page should looks like this:
Changed:
<
<
>
>
 

Monitoring the Mobicents console log

Line: 50 to 70
 Follow the instructions in the brief SIP RA deployment manual
Added:
>
>
You command line console should look like this:

 

Deploying SIP Proxy Service

  • ant proxy-service-deploy
Added:
>
>
Your command line console should now show this:

NOTE: In a later version the command changed from proxy-service-deploy to sip-proxy-service-deploy.

 

Settting up the phones

Obtaining phones

Line: 76 to 106
 
    • Leave the remaining options (Firewall/NAT, Server-side Storage, etc) with their default values;
  1. At this point your phone should register with Mobicents;
Added:
>
>
Your eyeBeam setting should look like the ones on the following screenshot:

 

Setting up the second phone

Now let's setup Microsoft Messenger (different than MSN Messenger shipping with Windows). It can be downloaded from http://www.microsoft.com/downloads/details.aspx?FamilyID=A8D9EB73-5F8C-4B9A-940F-9157A3B3D774&displaylang=en.

Line: 92 to 126
 The mmsipuser should not show online. If MS Messenger brings up an error dialog, then the phone did not register and you will need to troubleshoot.
Added:
>
>
Your Messenger setting should look like the ones on the following screenshot:

 

Making the Call

By now you should have two registered SIP phones with Mobicents. If you go to the first phone and dial the address for the second phone, the latter should ring.

Line: 106 to 145
  After a few seconds the eyeBeam client should begin ringing. Pick up the green hand set and try the voice channel.
Added:
>
>
You should see something like this on your screen:

mobicents-sip-talk

 

Analyzing the call

Added:
>
>
Thanks to the simplicity of the SIP protocol, it is relatively easy to examine the intereaction between the various participating parties in a SIP call. We will use the NIST SIP Trace Vewer to visualize the SIP event sequence.
 

Using the SIP Trace Viewer

Changed:
<
<

Hey, it's as simple as HTTP

>
>
The SIP Trace Viewer is part of the NIST IP Tel project.

The code can be obtained from the Java.net project site: https://jain-sip.dev.java.net/.

There is a good Getting Started page for the viewer. http://snad.ncsl.nist.gov/proj/iptel/src/nist-sip/jain-sip/docs/tools/tracesviewer/README.html

Point the trace viewer to the file debuglog.txt, which can be located in the directory where run.bat (or run.sh) is located. (Yes, this file should be written to the log directory instead. Feel free to submit the patch.)

The trace viewer will generate a diagram, which looks much like a UML sequence diagrams:

 

Closing remarks

Changed:
<
<

Related links

Where to download the code?

>
>
This example demonstrated how Mobicents can be used as a foundation for a simple PBX. Although this is a typical application, it simply scratched the surface of the use cases where Mobicents is applicable. It is intended to show you that it is easy to setup Mobicents for simple applications, however we will leave it to your imagination to explore and innovate with New Generation Intelligent Services (NGIN) on this fine Service Deployment Platform. More documentation on Mobicents, SLEE and SIP can be found at the Mobicents Wiki home.
 
Added:
>
>

Where to download the code?

 
Added:
>
>
All the code in this example can be downloaded from the public Mobicents CVS repository: https://mobicents.dev.java.net/source/browse/mobicents/
 

-- IvelinIvanov - 07 Mar 2005


 <<O>>  Difference Topic MobicentsSimplePBXExample (10 - 27 Jun 2005 - Main.ivelin)
Line: 1 to 1
 
META TOPICPARENT name="MobicentsOpenSLEE"

Java VoIP middleware - An End to End example with Mobicents

Line: 52 to 52
 

Deploying SIP Proxy Service

Changed:
<
<
  • ant sip-proxy-service-deploy
>
>
  • ant proxy-service-deploy
 

Settting up the phones

Obtaining phones


 <<O>>  Difference Topic MobicentsSimplePBXExample (9 - 27 Jun 2005 - Main.ivelin)
Line: 1 to 1
 
META TOPICPARENT name="MobicentsOpenSLEE"

Java VoIP middleware - An End to End example with Mobicents

Line: 20 to 20
 There's two parts to IP Telephony. Call Setup or Signaling and Media. For two phones to communicate, both signaling and media must be standardized. It is important to understand the role of signaling because it is signaling that triggers Services. We will not discuss media in this paper . There are two standardized signaling protocols in wide use in IP Telephony -- SIP and H.323. SIP has gained dominance over H.323 and hence we discuss it here. One should note that the SLEE is able to support a wide variety of signaling protocols including custom protocols such as those used by Asterisk and Skype.
Changed:
<
<

SIP - A HTTP-Like Signaling Protocol

>
>

SIP - A HTTP-Like Signaling Protocol

 SIP, the Session Initiation Protocol, is a signaling protocol for Internet conferencing, telephony, presence, events notification and instant messaging. SIP was developed within the Internet Engineering Task Force (IETF) MMUSIC (Multiparty Multimedia Session Control) working group, with work proceeding since September 1999 in the IETF SIP working group. SIP is widely deployed. It has been adopted by large coprporations such as Microsoft ( in the MSN Client ) and Cisco and industry consortiums such as 3GPP as the next generation signaling protocol of choice. SIP Can be thought of as a peer to peer adaptation of HTTP / Mail - it borrows headers and mechanisms from these protocols. SIP provides the necessary protocol mechanisms so that end systems and proxy servers can provide services such as call forwarding, personal mobility and terminal capability negotiation. SIP addresses users by an email-like address and re-uses some of the infrastructure of e-mail delivery. SIP addresses (URLs) can also be embedded in web pages.
Line: 29 to 29
 

JBoss

Settting up Mobicents

Changed:
<
<

Obtaining and Installing Mobicents

>
>

Obtaining, Installing and Starting Mobicents

 
Changed:
<
<
The latest binary release can be downloaded from: [[]] To setup Mobicents simply unzip the downloaded file.

Starting Mobicents

To start Mobicents, from the command line run MOBICENTS_HOME/bin/run.bat -c all , provided that MOBICENTS_HOME is the root directory where the downloaded file was unpackaged.

NOTE: on linux/unix use run.sh instead of run.bat

>
>
Follow the instructions in the Quick Start Guide for the Eager Contributor.
 

Testing the Mobicents server

Line: 60 to 52
 

Deploying SIP Proxy Service

Changed:
<
<
  • ant proxy-service-deploy
>
>
  • ant sip-proxy-service-deploy
 

Settting up the phones

Obtaining phones

Line: 74 to 66
 If the settings don’t appear the first time you start , hit the eyeBeam, click the phone GUI with the right button and chose ‘settings’.

  1. Chose ‘Add a new SIP Account’;
Changed:
<
<
  1. Put the info needed in the fields;
    • At ‘Domain’ field put ‘nist.gov’;
>
>
  1. Enter the info needed in the fields:
    • Enter 'ivelin' in these three fields - 'Display name', 'User name' and 'Authorization user name'
    • At the ‘Domain’ field put ‘nist.gov’;
 
    • Check the boxes ‘Register with domain’, ‘Use as Outbound Proxy’ and ‘Manual Override’;
    • For the ‘Host’ field put the IP Address where Mobicents is running; If the SIP RA is listening in a port different than 5060, you must put the ‘IP:port’;
    • Uncheck the boxes ‘Manual Override’. (Check it only if you want to use another port to communicate);
Line: 93 to 86
 
  1. Choose UDP
  2. Enter your IP address
  3. Click on OK
Changed:
<
<
  1. Enter "mmsipuser" for Sing in name
>
>
  1. Enter "mmsipuser@nist.gov" for Sign-in name
 
  1. Click OK
Changed:
<
<
  1. Go to File menu, Sign In As: mmsipuser. Click OK.
>
>
  1. Go to File menu, Sign In As: mmsipuser@nist.gov. Click OK.
 
Changed:
<
<
If MS Messenger brings up an error dialog, then the phone did not register and you will need to troubleshoot.
>
>
The mmsipuser should not show online. If MS Messenger brings up an error dialog, then the phone did not register and you will need to troubleshoot.
 

Making the Call

Changed:
<
<
By now you should have two registered SIP phones with Mobicents. Go to the first phone and dial the address entered for the second phone. The target phone should ring. Pick up and try out the voice channel.
>
>
By now you should have two registered SIP phones with Mobicents. If you go to the first phone and dial the address for the second phone, the latter should ring.

Here is how to do it step by step.

  1. In MS Messenger, go to Actions, start Voice Conversation
  2. A dialog may appear with the message "Sorry you have no contacts".
  3. Click on the "Other" tab.
  4. Enter ivelin@nist.gov
  5. Select the SIP service from the drop down menu
  6. Click OK.

After a few seconds the eyeBeam client should begin ringing. Pick up the green hand set and try the voice channel.

 

Analyzing the call

Using the SIP Trace Viewer


 <<O>>  Difference Topic MobicentsSimplePBXExample (8 - 27 Jun 2005 - Main.ivelin)
Line: 1 to 1
 
META TOPICPARENT name="MobicentsOpenSLEE"

Java VoIP middleware - An End to End example with Mobicents

Line: 18 to 18
 

IP Telephony In the Large

Changed:
<
<
There's two parts to IP Telephony. Call Setup or Signaling and Media. For two phones to communicate, both signaling and media must be standardized. It is important to understand the role of signaling because it is signaling that triggers Services. We will not discuss media in this paper . There are two standardized signaling protocols in wide use in IP Telephony -- SIP and H.323. SIP has gained dominance over H.323 and hence we discuss it here. One should note that the SLEE is able to support a wide variety of signaling protocols including custom protocols such as those used by Skype.
>
>
There's two parts to IP Telephony. Call Setup or Signaling and Media. For two phones to communicate, both signaling and media must be standardized. It is important to understand the role of signaling because it is signaling that triggers Services. We will not discuss media in this paper . There are two standardized signaling protocols in wide use in IP Telephony -- SIP and H.323. SIP has gained dominance over H.323 and hence we discuss it here. One should note that the SLEE is able to support a wide variety of signaling protocols including custom protocols such as those used by Asterisk and Skype.
 

SIP - A HTTP-Like Signaling Protocol

Deleted:
<
<
 SIP, the Session Initiation Protocol, is a signaling protocol for Internet conferencing, telephony, presence, events notification and instant messaging. SIP was developed within the Internet Engineering Task Force (IETF) MMUSIC (Multiparty Multimedia Session Control) working group, with work proceeding since September 1999 in the IETF SIP working group. SIP is widely deployed. It has been adopted by large coprporations such as Microsoft ( in the MSN Client ) and Cisco and industry consortiums such as 3GPP as the next generation signaling protocol of choice. SIP Can be thought of as a peer to peer adaptation of HTTP / Mail - it borrows headers and mechanisms from these protocols. SIP provides the necessary protocol mechanisms so that end systems and proxy servers can provide services such as call forwarding, personal mobility and terminal capability negotiation. SIP addresses users by an email-like address and re-uses some of the infrastructure of e-mail delivery. SIP addresses (URLs) can also be embedded in web pages.
Deleted:
<
<
 

SLEE

JBoss

Line: 33 to 31
 

Settting up Mobicents

Obtaining and Installing Mobicents

Changed:
<
<
>
>
The latest binary release can be downloaded from: [[]] To setup Mobicents simply unzip the downloaded file.
 

Starting Mobicents

Changed:
<
<
MobicentsQuickStartGuide
>
>
To start Mobicents, from the command line run MOBICENTS_HOME/bin/run.bat -c all , provided that MOBICENTS_HOME is the root directory where the downloaded file was unpackaged.

NOTE: on linux/unix use run.sh instead of run.bat

 

Testing the Mobicents server

Changed:
<
<
Make sure that you can see MBeans in the JMX console under the slee:* domain.
>
>
Make sure that you can see MBeans in the JMX console under the slee domain. To do that, follow these steps:

  1. Point your web browser to http://localhost:8080/jmx-console
  2. In the text box under "ObjectName Filter", enter slee:*
  3. You should see a list of SLEE MBeans. The page should looks like this:
 

Monitoring the Mobicents console log

Line: 49 to 56
 

Deploying SIP Resource Adaptor

Changed:
<
<
SIP RA deployment manual
>
>
Follow the instructions in the brief SIP RA deployment manual
 

Deploying SIP Proxy Service

Line: 58 to 65
 

Settting up the phones

Obtaining phones

Changed:
<
<
For this example we will use an XTen eyeBeam soft phone and a regular phone connected to the TCP network via Cisco 186 adaptor.
>
>
For this example we will use two soft phones - XTen eyeBeam and Microsoft Messenger.
 
Changed:
<
<
An alternative SIP soft client that is distributed for free is the Microsoft Messenger (different than MSN Messenger shipping with Windows). It can be downloaded from http://www.microsoft.com/downloads/details.aspx?FamilyID=A8D9EB73-5F8C-4B9A-940F-9157A3B3D774&displaylang=en. To configure SIP settings, go to Tools/Options/Accounts/SIP.
>
>
This example has also been tested with regular phones connected to the TCP network via SIP adaptors such as Cisco 186 and Grandstream 486. To learn more about setting up the Cisco adaptor, see the ATA186 manual.
 

Setting up the first phone

If the settings don’t appear the first time you start , hit the eyeBeam, click the phone GUI with the right button and chose ‘settings’.

Changed:
<
<
  • Chose ‘Add a new SIP Account’;
  • Put the info needed in the fields;
>
>
  1. Chose ‘Add a new SIP Account’;
  2. Put the info needed in the fields;
 
    • At ‘Domain’ field put ‘nist.gov’;
    • Check the boxes ‘Register with domain’, ‘Use as Outbound Proxy’ and ‘Manual Override’;
    • For the ‘Host’ field put the IP Address where Mobicents is running; If the SIP RA is listening in a port different than 5060, you must put the ‘IP:port’;
    • Uncheck the boxes ‘Manual Override’. (Check it only if you want to use another port to communicate);
    • After this, check the ‘Enable this SIP account’ box and hit OK
    • Leave the remaining options (Firewall/NAT, Server-side Storage, etc) with their default values;
Changed:
<
<
  • At this point your phone should register with Mobicents;
>
>
  1. At this point your phone should register with Mobicents;
 

Setting up the second phone

Changed:
<
<
Cisco ATA 186 is among the more popular IP adaptors, which converts PSTN into SIP signals and vica versa. To learn how to setup this device, refer to the Cisco manual.
>
>
Now let's setup Microsoft Messenger (different than MSN Messenger shipping with Windows). It can be downloaded from http://www.microsoft.com/downloads/details.aspx?FamilyID=A8D9EB73-5F8C-4B9A-940F-9157A3B3D774&displaylang=en.

Follow these steps:

  1. Go to SIP settings, Tools/Options/Accounts/SIP.
  2. Choose Configure Settings
  3. Choose UDP
  4. Enter your IP address
  5. Click on OK
  6. Enter "mmsipuser" for Sing in name
  7. Click OK
  8. Go to File menu, Sign In As: mmsipuser. Click OK.

If MS Messenger brings up an error dialog, then the phone did not register and you will need to troubleshoot.

 

Making the Call

Changed:
<
<
By now you should have two registered SIP phones with Mobicents. Go to the eyeBeam phone and dial the address entered for the Cisco ATA 186 phone. The target phone should ring. Pick up the handset and try out the voice channel.
>
>
By now you should have two registered SIP phones with Mobicents. Go to the first phone and dial the address entered for the second phone. The target phone should ring. Pick up and try out the voice channel.
 

Analyzing the call

Using the SIP Trace Viewer


 <<O>>  Difference Topic MobicentsSimplePBXExample (7 - 10 Jun 2005 - Main.ivelin)
Line: 1 to 1
 
META TOPICPARENT name="MobicentsOpenSLEE"

Java VoIP middleware - An End to End example with Mobicents

Line: 26 to 26
 SIP, the Session Initiation Protocol, is a signaling protocol for Internet conferencing, telephony, presence, events notification and instant messaging. SIP was developed within the Internet Engineering Task Force (IETF) MMUSIC (Multiparty Multimedia Session Control) working group, with work proceeding since September 1999 in the IETF SIP working group. SIP is widely deployed. It has been adopted by large coprporations such as Microsoft ( in the MSN Client ) and Cisco and industry consortiums such as 3GPP as the next generation signaling protocol of choice. SIP Can be thought of as a peer to peer adaptation of HTTP / Mail - it borrows headers and mechanisms from these protocols. SIP provides the necessary protocol mechanisms so that end systems and proxy servers can provide services such as call forwarding, personal mobility and terminal capability negotiation. SIP addresses users by an email-like address and re-uses some of the infrastructure of e-mail delivery. SIP addresses (URLs) can also be embedded in web pages.
Deleted:
<
<
 

SLEE

Added:
>
>
 

JBoss

Settting up Mobicents

Obtaining and Installing Mobicents

Added:
>
>
 

Starting Mobicents

Added:
>
>
MobicentsQuickStartGuide
 

Testing the Mobicents server

Added:
>
>
Make sure that you can see MBeans in the JMX console under the slee:* domain.
 

Monitoring the Mobicents console log

Added:
>
>
Watch the console log. It prints useful information about the behaviour of the server. Most functions of any significance are logged with at least one line and often accompanied by additional information that keeps the status of the server transparent.

Deploying SIP Resource Adaptor

SIP RA deployment manual

Deploying SIP Proxy Service

  • ant proxy-service-deploy
 

Settting up the phones

Obtaining phones

Added:
>
>
For this example we will use an XTen eyeBeam soft phone and a regular phone connected to the TCP network via Cisco 186 adaptor.

An alternative SIP soft client that is distributed for free is the Microsoft Messenger (different than MSN Messenger shipping with Windows). It can be downloaded from http://www.microsoft.com/downloads/details.aspx?FamilyID=A8D9EB73-5F8C-4B9A-940F-9157A3B3D774&displaylang=en. To configure SIP settings, go to Tools/Options/Accounts/SIP.

 

Setting up the first phone

Changed:
<
<

Handset settings

Registering presence with Mobicents

>
>
If the settings don’t appear the first time you start , hit the eyeBeam, click the phone GUI with the right button and chose ‘settings’.

  • Chose ‘Add a new SIP Account’;
  • Put the info needed in the fields;
    • At ‘Domain’ field put ‘nist.gov’;
    • Check the boxes ‘Register with domain’, ‘Use as Outbound Proxy’ and ‘Manual Override’;
    • For the ‘Host’ field put the IP Address where Mobicents is running; If the SIP RA is listening in a port different than 5060, you must put the ‘IP:port’;
    • Uncheck the boxes ‘Manual Override’. (Check it only if you want to use another port to communicate);
    • After this, check the ‘Enable this SIP account’ box and hit OK
    • Leave the remaining options (Firewall/NAT, Server-side Storage, etc) with their default values;
  • At this point your phone should register with Mobicents;
 

Setting up the second phone

Deleted:
<
<

Handset settings

 
Changed:
<
<

Registering presence with Mobicents

>
>
Cisco ATA 186 is among the more popular IP adaptors, which converts PSTN into SIP signals and vica versa. To learn how to setup this device, refer to the Cisco manual.
 

Making the Call

Changed:
<
<

Dialing out

Answering

Establishing Conversation

Hanging up

>
>
By now you should have two registered SIP phones with Mobicents. Go to the eyeBeam phone and dial the address entered for the Cisco ATA 186 phone. The target phone should ring. Pick up the handset and try out the voice channel.
 

Analyzing the call

Using the SIP Trace Viewer


 <<O>>  Difference Topic MobicentsSimplePBXExample (6 - 22 Mar 2005 - Main.mranga)
Line: 1 to 1
 
META TOPICPARENT name="MobicentsOpenSLEE"

Java VoIP middleware - An End to End example with Mobicents

Line: 15 to 15
 

One Mobicents Server

Mobicents architecture

Deleted:
<
<

SIP

 
Changed:
<
<
SIP, the Session Initiation Protocol, is a signaling protocol for Internet conferencing, telephony, presence, events notification and instant messaging. SIP was developed within the IETF MMUSIC (Multiparty Multimedia Session Control) working group, with work proceeding since September 1999 in the IETF SIP working group. SIP is widely deployed. It has been adopted by large coprporations such as Microsoft ( in the MSN Client ) and Cisco and industry consortiums such as 3GPP as the next generation signaling protocol of choice. SIP Can be thought of as a peer to peer adaptation of HTTP / Mail - it borrows headers and mechanisms from these protocols. SIP provides the necessary protocol mechanisms so that end systems and proxy servers can provide services such as call forwarding, personal mobility and terminal capability negotiation. SIP addresses users by an email-like address and re-uses some of the infrastructure of e-mail delivery. SIP addresses (URLs) can also be embedded in web pages.
>
>

IP Telephony In the Large

There's two parts to IP Telephony. Call Setup or Signaling and Media. For two phones to communicate, both signaling and media must be standardized. It is important to understand the role of signaling because it is signaling that triggers Services. We will not discuss media in this paper . There are two standardized signaling protocols in wide use in IP Telephony -- SIP and H.323. SIP has gained dominance over H.323 and hence we discuss it here. One should note that the SLEE is able to support a wide variety of signaling protocols including custom protocols such as those used by Skype.

SIP - A HTTP-Like Signaling Protocol

SIP, the Session Initiation Protocol, is a signaling protocol for Internet conferencing, telephony, presence, events notification and instant messaging. SIP was developed within the Internet Engineering Task Force (IETF) MMUSIC (Multiparty Multimedia Session Control) working group, with work proceeding since September 1999 in the IETF SIP working group. SIP is widely deployed. It has been adopted by large coprporations such as Microsoft ( in the MSN Client ) and Cisco and industry consortiums such as 3GPP as the next generation signaling protocol of choice. SIP Can be thought of as a peer to peer adaptation of HTTP / Mail - it borrows headers and mechanisms from these protocols. SIP provides the necessary protocol mechanisms so that end systems and proxy servers can provide services such as call forwarding, personal mobility and terminal capability negotiation. SIP addresses users by an email-like address and re-uses some of the infrastructure of e-mail delivery. SIP addresses (URLs) can also be embedded in web pages.

 

SLEE

JBoss


 <<O>>  Difference Topic MobicentsSimplePBXExample (5 - 21 Mar 2005 - Main.mranga)
Line: 1 to 1
 
META TOPICPARENT name="MobicentsOpenSLEE"

Java VoIP middleware - An End to End example with Mobicents

Line: 16 to 16
 

Mobicents architecture

SIP

Added:
>
>
SIP, the Session Initiation Protocol, is a signaling protocol for Internet conferencing, telephony, presence, events notification and instant messaging. SIP was developed within the IETF MMUSIC (Multiparty Multimedia Session Control) working group, with work proceeding since September 1999 in the IETF SIP working group. SIP is widely deployed. It has been adopted by large coprporations such as Microsoft ( in the MSN Client ) and Cisco and industry consortiums such as 3GPP as the next generation signaling protocol of choice. SIP Can be thought of as a peer to peer adaptation of HTTP / Mail - it borrows headers and mechanisms from these protocols. SIP provides the necessary protocol mechanisms so that end systems and proxy servers can provide services such as call forwarding, personal mobility and terminal capability negotiation. SIP addresses users by an email-like address and re-uses some of the infrastructure of e-mail delivery. SIP addresses (URLs) can also be embedded in web pages.
 

SLEE

JBoss

Line: 32 to 35
 

Registering presence with Mobicents

Setting up the second phone

Handset settings

Added:
>
>
 

Registering presence with Mobicents

Making the Call


 <<O>>  Difference Topic MobicentsSimplePBXExample (4 - 19 Mar 2005 - Main.ivelin)
Line: 1 to 1
 
META TOPICPARENT name="MobicentsOpenSLEE"

Java VoIP middleware - An End to End example with Mobicents

Added:
>
>
_WORK IN PROGRESS _
 



 <<O>>  Difference Topic MobicentsSimplePBXExample (3 - 08 Mar 2005 - Main.ivelin)
Line: 1 to 1
 
META TOPICPARENT name="MobicentsOpenSLEE"
Changed:
<
<

Java VoIP middleware - An End to End example

>
>

Java VoIP middleware - An End to End example with Mobicents

 

 <<O>>  Difference Topic MobicentsSimplePBXExample (2 - 07 Mar 2005 - Main.ivelin)
Line: 1 to 1
 
META TOPICPARENT name="MobicentsOpenSLEE"
Added:
>
>

Java VoIP middleware - An End to End example

 
Changed:
<
<

Creating a simple PBX with Mobicents

>
>
 
Changed:
<
<

Overview

>
>

 
Changed:
<
<

Mobicents architecture

>
>

Overview

 
Changed:
<
<

Components of the Simple PBX

>
>

Components of this example

 

Two Phones

One Mobicents Server

Changed:
<
<

Settting up Mobicents

>
>

Mobicents architecture

SIP

SLEE

JBoss

Settting up Mobicents

 

Obtaining and Installing Mobicents

Starting Mobicents

Changed:
<
<

Checking that Mobicents is up

>
>

Testing the Mobicents server

 

Monitoring the Mobicents console log

Changed:
<
<

Settting up the phones

>
>

Settting up the phones

 

Obtaining phones

Setting up the first phone

Changed:
<
<

Phone settings

Registering presence with Mobicents

>
>

Handset settings

Registering presence with Mobicents

 

Setting up the second phone

Changed:
<
<

Registering presence with Mobicents

Calling Registering the phones with Mobicents

Registering the first phone

Registering the second phone

>
>

Handset settings

Registering presence with Mobicents

 
Added:
>
>

Making the Call

Dialing out

Answering

Establishing Conversation

Hanging up

Analyzing the call

Using the SIP Trace Viewer

Hey, it's as simple as HTTP

 
Changed:
<
<

Where to download the code?

>
>

Closing remarks

 
Changed:
<
<

Related links

>
>

Related links

Where to download the code?

 

 <<O>>  Difference Topic MobicentsSimplePBXExample (1 - 07 Mar 2005 - Main.ivelin)
Line: 1 to 1
Added:
>
>
META TOPICPARENT name="MobicentsOpenSLEE"

Creating a simple PBX with Mobicents

Overview

Mobicents architecture

Components of the Simple PBX

Two Phones

One Mobicents Server

Settting up Mobicents

Obtaining and Installing Mobicents

Starting Mobicents

Checking that Mobicents is up

Monitoring the Mobicents console log

Settting up the phones

Obtaining phones

Setting up the first phone

Phone settings

Registering presence with Mobicents

Setting up the second phone

Registering presence with Mobicents

Calling Registering the phones with Mobicents

Registering the first phone

Registering the second phone

Where to download the code?

Related links

-- IvelinIvanov - 07 Mar 2005


Topic MobicentsSimplePBXExample . { View | Diffs r21 < r20 < r19 < r18 | More }
 XML java.net RSS