 |
| |
| META TOPICPARENT | name="MobicentsOpenSLEE" |
Simple SIP PBX - An End to End example with Mobicents; | | | Deploying SIP Resource Adaptor | |
< < | 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: | | | 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’. | > > | 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’;
| > > |
- Chose �Add a new SIP Account�;
| | |
- 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);
- 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;
- At this point your phone should register with Mobicents;
| | |
-
- 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.
| > > |
-
- 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
|
| |
| META TOPICPARENT | name="MobicentsOpenSLEE" |
Simple SIP PBX - An End to End example with Mobicents; | | | 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:
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.
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 |
| |
| META TOPICPARENT | name="MobicentsOpenSLEE" |
Simple SIP PBX - An End to End example with Mobicents; | | | Deploying SIP Resource Adaptor | |
< < | 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: | | | 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 | |
< < | 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 |
| |
| META TOPICPARENT | name="MobicentsOpenSLEE" |
Simple SIP PBX - An End to End example with Mobicents; | | | 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.
| > > | Please refer to the page:
http://forums.java.net/jive/thread.jspa?threadID=1058&tstart=0 | | |
-- IvelinIvanov - 07 Mar 2005 |
| |
| META TOPICPARENT | name="MobicentsOpenSLEE" |
Simple SIP PBX - An End to End example with Mobicents; | | | Obtaining, Installing and Starting Mobicents | |
< < | 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 | | | All the code in this example can be downloaded from the public Mobicents CVS repository: https://mobicents.dev.java.net/source/browse/mobicents/ | |
> > | 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 |
| |
| META TOPICPARENT | name="MobicentsOpenSLEE" |
Simple SIP PBX - An End to End example with Mobicents;
 | |
< < | _DRAFT _ | | |
| | | Follow these steps: | |
< < |
- Click on New on Profiles Tab and give Profile name: ivelin Your screen should look like this
| > > |
- Click on New on Profiles Tab and give Profile name: ivelin Your screen should look like this
| | |
- 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'
| | |
-
- 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. | | | -- IvelinIvanov - 07 Mar 2005 | |
> > |
|
| |
| META TOPICPARENT | name="MobicentsOpenSLEE" |
Simple SIP PBX - An End to End example with Mobicents; | | |
- 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.
| | |  | |
> > | Setting up the first phone using SJphone
You can download SJphone from here
Follow these steps:
- Click on New on Profiles Tab and give Profile name: ivelin Your screen should look like this
- 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. |
| |
| META TOPICPARENT | name="MobicentsOpenSLEE" |
Simple SIP PBX - An End to End example with Mobicents; | | | Deploying SIP Proxy Service
- build and deploy the sip resource adaptor (see previous step ) otherwise this will not work.
| |
> > | | | |
Your command line console should now show this: |
| |
| META TOPICPARENT | name="MobicentsOpenSLEE" |
Simple SIP PBX - An End to End example with Mobicents; |
| |
| META TOPICPARENT | name="MobicentsOpenSLEE" |
Simple SIP PBX - An End to End example with Mobicents; | | |  | |
> > | 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 | |
> > |
- build and deploy the sip resource adaptor (see previous step ) otherwise this will not work.
| | | |
| |
| META TOPICPARENT | name="MobicentsOpenSLEE" |
| |
< < | Java VoIP middleware - An End to End example with Mobicents | > > | Simple SIP PBX - An End to End example with Mobicents; | | | | |
< < | _WORK IN PROGRESS _ | > > |
_DRAFT _ | | | | | | Overview | |
> > | 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 | |
> > | 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 | |
> > | | | | One Mobicents Server | |
> > | 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 | |
> > | 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. | | | JBoss
Settting up Mobicents | |
> > | | | | Obtaining, Installing and Starting Mobicents
Follow the instructions in the Quick Start Guide for the Eager Contributor. | | |
- Point your web browser to http://localhost:8080/jmx-console
- In the text box under "ObjectName Filter", enter
slee:*
- You should see a list of SLEE MBeans. The page should looks like this:
| |
< < | ![]() | > > |  | | | Monitoring the Mobicents console log | | | Follow the instructions in the brief SIP RA deployment manual | |
> > | You command line console should look like this:
 | | | Deploying SIP Proxy Service
| |
> > | 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 | | |
-
- Leave the remaining options (Firewall/NAT, Server-side Storage, etc) with their default values;
- At this point your phone should register with Mobicents;
| |
> > | 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. | | | 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. | |
> > | 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. | | |
After a few seconds the eyeBeam client should begin ringing. Pick up the green hand set and try the voice channel. | |
> > | You should see something like this on your screen:
 | | | Analyzing the call | |
> > | 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 | |
< < | 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 | |
< < | 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. | | | | |
> > | Where to download the code? | | | | |
> > | 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 |
| |
| META TOPICPARENT | name="MobicentsOpenSLEE" |
Java VoIP middleware - An End to End example with Mobicents | | | Deploying SIP Proxy Service | |
< < |
-
ant sip-proxy-service-deploy
| > > | | | | Settting up the phones
Obtaining phones |
| |
| META TOPICPARENT | name="MobicentsOpenSLEE" |
Java VoIP middleware - An End to End example with Mobicents | | | 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 | > > | 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. | | | JBoss
Settting up Mobicents | |
< < | Obtaining and Installing Mobicents | > > | Obtaining, Installing and Starting Mobicents | | | | |
< < | 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 | | | Deploying SIP Proxy Service | |
< < | | > > |
-
ant sip-proxy-service-deploy
| | | Settting up the phones
Obtaining phones | | | 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’;
| > > |
- 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);
| | |
- Choose UDP
- Enter your IP address
- Click on OK
| |
< < |
- Enter "mmsipuser" for Sing in name
| > > |
- Enter "mmsipuser@nist.gov" for Sign-in name
| | |
- Click OK
| |
< < |
- Go to File menu, Sign In As: mmsipuser. Click OK.
| > > |
- Go to File menu, Sign In As: mmsipuser@nist.gov. Click OK.
| | | | |
< < | 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 | |
< < | 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.
- In MS Messenger, go to Actions, start Voice Conversation
- A dialog may appear with the message "Sorry you have no contacts".
- Click on the "Other" tab.
- Enter ivelin@nist.gov
- Select the SIP service from the drop down menu
- 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 |
| |
| META TOPICPARENT | name="MobicentsOpenSLEE" |
Java VoIP middleware - An End to End example with Mobicents | | | 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. | > > | 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 | |
< < | | | | 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 | | | Settting up Mobicents
Obtaining and Installing Mobicents | |
< < | | > > | The latest binary release can be downloaded from: [[]]
To setup Mobicents simply unzip the downloaded file. | | | Starting Mobicents | |
< < | 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 | |
< < | 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:
- Point your web browser to http://localhost:8080/jmx-console
- In the text box under "ObjectName Filter", enter
slee:*
- You should see a list of SLEE MBeans. The page should looks like this:
![]() | | | Monitoring the Mobicents console log | | | Deploying SIP Resource Adaptor | |
< < | SIP RA deployment manual | > > | Follow the instructions in the brief SIP RA deployment manual | | | Deploying SIP Proxy Service | | | Settting up the phones
Obtaining phones | |
< < | 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. | | | | |
< < | 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’. | |
< < |
- Chose ‘Add a new SIP Account’;
- Put the info needed in the fields;
| > > |
- 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;
| > > |
- At this point your phone should register with Mobicents;
| | | Setting up the second phone | |
< < | 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:
- Go to SIP settings, Tools/Options/Accounts/SIP.
- Choose Configure Settings
- Choose UDP
- Enter your IP address
- Click on OK
- Enter "mmsipuser" for Sing in name
- Click OK
- 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 | |
< < | 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 |
| |
| META TOPICPARENT | name="MobicentsOpenSLEE" |
Java VoIP middleware - An End to End example with Mobicents | | | 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
Settting up Mobicents
Obtaining and Installing Mobicents | |
> > | | | | Starting Mobicents | |
> > | MobicentsQuickStartGuide | | | Testing the Mobicents server | |
> > | Make sure that you can see MBeans in the JMX console under the slee:* domain. | | | Monitoring the Mobicents console log | |
> > | 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
| | | Settting up the phones
Obtaining phones | |
> > | 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 | |
< < | 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 | |
< < | Handset settings | | | | |
< < | 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 | |
< < | 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 |
| |
| META TOPICPARENT | name="MobicentsOpenSLEE" |
Java VoIP middleware - An End to End example with Mobicents | | | One Mobicents Server
Mobicents architecture | |
< < | SIP | | | | |
< < | 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 |
| |
| META TOPICPARENT | name="MobicentsOpenSLEE" |
Java VoIP middleware - An End to End example with Mobicents | | | Mobicents architecture
SIP | |
> > | 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 | | | Registering presence with Mobicents
Setting up the second phone
Handset settings | |
> > | | | | Registering presence with Mobicents
Making the Call |
| |
| META TOPICPARENT | name="MobicentsOpenSLEE" |
Java VoIP middleware - An End to End example with Mobicents | |
> > | _WORK IN PROGRESS _ | | |
|
| |
| META TOPICPARENT | name="MobicentsOpenSLEE" |
| |
< < | Java VoIP middleware - An End to End example | > > | Java VoIP middleware - An End to End example with Mobicents | | | |
| |
| META TOPICPARENT | name="MobicentsOpenSLEE" |
| |
> > | Java VoIP middleware - An End to End example | | | | |
< < | Creating a simple PBX with Mobicents | > > | | | | | |
< < | Overview | > > |
| | | | |
< < | Mobicents architecture | > > | Overview | | | | |
< < | Components of the Simple PBX | > > | Components of this example | | | Two Phones
One Mobicents Server | |
< < | Settting up Mobicents | > > | Mobicents architecture
SIP
SLEE
JBoss
Settting up Mobicents | | | Obtaining and Installing Mobicents
Starting Mobicents | |
< < | Checking that Mobicents is up | > > | Testing the Mobicents server | | | Monitoring the Mobicents console log | |
< < | Settting up the phones | > > | Settting up the phones | | | Obtaining phones
Setting up the first phone | |
< < | Phone settings
Registering presence with Mobicents | > > | Handset 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 | > > | Handset settings
Registering presence with Mobicents | | | | |
> > | 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 | | | | |
< < | Where to download the code? | > > | Closing remarks | | | | |
< < | Related links | > > | Related links
Where to download the code? | | | |
|
> > |
| 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 |
|