Jump to: navigation, search

Difference between revisions of "SIP Voip implementation For ECF"

(New page: ==Abstract== [http://en.wikipedia.org/wiki/Session_Initiation_Protocol Session Initialization Protocol(SIP)] is an Application Layer protocol which supports many services such as VoIP, IM,...)
 
 
(42 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
==Abstract==
 
==Abstract==
[http://en.wikipedia.org/wiki/Session_Initiation_Protocol Session Initialization Protocol(SIP)] is an Application Layer protocol which supports many services such as VoIP, IM, Prsence Information and etc. But currently it's widely used for applications based on Voice calls and Video Calls.Eclipse Communication Framework is consists of many protocol implementations such as XMPP, YaHoo, MSN and etc. And also it contactins providers developed based on the above protocol implementations.Hence my goal is to implement a provider for VoIP for ECF based on SIP protocol for ECF.
+
[http://en.wikipedia.org/wiki/Session_Initiation_Protocol Session Initialization Protocol(SIP)] is an Application Layer protocol which supports many services such as VoIP, IM, Presence Information and etc. But currently it's widely used for applications based on Voice calls and Video Calls.Eclipse Communication Framework is consists of many protocol implementations such as XMPP, YaHoo, MSN and etc. And also it contactins providers developed based on the above protocol implementations. Hence my goal is to implement a provider for VoIP for ECF based on SIP protocol for ECF.
 +
 
 +
== Deliverables ==
 +
 
 +
*SIP Provider for ECF
 +
*RTP Provider for ECF
 +
*SIP Related tests
 +
*Relevant Documentations and User Guides.
 +
 
 +
== Timeline  ==
 +
 
 +
Time line for project Milestones is given below <br>
 +
<div style="border: 1px solid rgb(170, 170, 170); margin: 0pt 0pt 1em 1em; padding: 4px; background: rgb(249, 249, 249) none repeat scroll 0% 0%; clear: right; font-size: 90%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; width: 250px; text-align: left; float: right;">
 +
'''Legend''' <br> [[Image:Glass.gif]] Needs some research
 +
 
 +
[[Image:Progress.gif]] Work in progress
 +
 
 +
[[Image:Ok green.gif]] Feature added
 +
</div>
 +
<br>
 +
 
 +
{| class="wikitable" style="text-align: center;"
 +
|- style="background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"
 +
! Milestone
 +
! Date
 +
! Planned/Completed/Progressing&nbsp; items
 +
! status
 +
|- style="background: lightgrey none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"
 +
! M1
 +
| June 24
 +
| align="left" | Implementation of the SIP Provider&nbsp;
 +
| [[Image:Ok green.gif]]
 +
|- style="background: lightgrey none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"
 +
! M2
 +
| July 4
 +
| align="left" | Completing the tests for SIP Provider and fix bugs<br>
 +
| [[Image:Ok green.gif]]
 +
|- style="background: lightgrey none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"
 +
! M3
 +
| August 8
 +
| align="left" | Implementation of RTP provider using FMJ
 +
| [[Image:Ok green.gif]]
 +
|- style="background: lightgrey none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"
 +
! M4
 +
| August 10
 +
| align="left" | Complete the tests for RTP Provider and fix bugs<br>
 +
| [[Image:Ok green.gif]]
 +
|- style="background: lightgrey none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"
 +
! M5
 +
| August 12
 +
| align="left" | Integrating the SIP &amp; RTP Providers and create a SIP softphone
 +
| [[Image:Ok green.gif]]
 +
|- style="background: lightgrey none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"
 +
! M6
 +
| August14
 +
| align="left" | Complete the tests for integrated system and fix bugs<br>
 +
| [[Image:Ok green.gif]]
 +
|- style="background: lightgrey none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"
 +
! M7
 +
| August 17
 +
| align="left" | Create the JUnit tests for Complete SIP and RTP integareted SIP softphone <br>
 +
| [[Image:Ok green.gif]]
 +
|- style="background: lightgrey none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"
 +
! M8
 +
| April 2010
 +
| align="left" | Implementing the ECF Call API for SIP softphone<br>
 +
| [[Image:Glass.gif]] [[Image:Progress.gif]]
 +
|- style="background: lightgrey none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"
 +
! M9
 +
| TBD
 +
| align="left" | Implementing UI for SIP softphone<br>
 +
| [[Image:Glass.gif]] [[Image:Progress.gif]]
 +
|- style="background: lightgrey none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"
 +
! M10<br>
 +
| October 2009
 +
| align="left" | Contributing the SIP softphone to the ECF Codebase<br>
 +
| [[Image:Ok green.gif]]
 +
|}
 +
 
 +
<br>
 +
 
 +
== Project Code Base<br>  ==
 +
 
 +
Currently the project code base is hosted at https://github.com/ECF/Call &amp; Google code site. <br>
 +
 
 +
Check [https://github.com/ECF/Call https://github.com/ECF/Call] site how to access the repository via git.
 +
 
 +
The Google Code is at [http://code.google.com/p/voipimplementationforecfusingsip/ code.google.com/p/voipimplementationforecfusingsip/]<br>
 +
 
 +
This code base is managed using Sub version version control system.
 +
 
 +
== Code Base Access  ==
 +
 
 +
Command-Line Access
 +
 
 +
Use this command to anonymously check out the latest project source code:<br>
 +
 
 +
<br># Non-members may check out a read-only working copy anonymously over HTTP.<br>svn checkout http://voipimplementationforecfusingsip.googlecode.com/svn/trunk/ voipimplementationforecfusingsip-read-only <br>
 +
 
 +
<br>
 +
 
 +
SVN GUI Based Access<br>
 +
 
 +
Use the following URL to Access and checkout the Codebase anonymously using GUI based Sub version Clients such as TortoiseSVN<br>
 +
 
 +
<br># Non-members may check out a read-only working copy anonymously over HTTP.<br> http://voipimplementationforecfusingsip.googlecode.com/svn/trunk/<br> <br> Now this codebase is hosted at [[https://github.com/ECF/Call https://github.com/ECF/Call]] as well. New improvements and features will be added to this new repository.
 +
 
 +
Path is: call/sip/modules.
 +
 
 +
== Running Test Cases  ==
 +
 
 +
&nbsp;Since this is a VoIP provider, to test functinalities you need to have at least 2 participants. You may use a Remote Sip Softphone or a Sip Echo service as the remote participant.&nbsp;
 +
 
 +
I have created 5 sip accounts for ECF testers and following are the credentials for those sip accounts. You need these credentials to initiate calls, register your softphone and to recieve calls. <br>
 +
 
 +
<br>
 +
 
 +
Account 1<br>
 +
 
 +
Username: sip:2233375055@sip2sip.info<br>
 +
 
 +
Password: 391hw952w9<br>
 +
 
 +
Name: Eclipse ECF Sip Tester 1<br>
 +
 
 +
OutBound&nbsp; Proxy: proxy.sipthor.net<br>
 +
 
 +
<br>
 +
 
 +
Account 2<br>
 +
 
 +
Username: sip:2233375059@sip2sip.info
 +
 
 +
Password: j5t8kftn41
 +
 
 +
Name: Eclipse ECF Sip Tester 2<br>
 +
 
 +
OutBound Proxy: proxy.sipthor.net<br>
 +
 
 +
<br>
 +
 
 +
Account 3<br>
 +
 
 +
Username: sip:2233375093@sip2sip.info
 +
 
 +
Password: 9s3xebn4yb
 +
 
 +
Name: Eclipse ECF Sip Tester 3<br>
 +
 
 +
OutBound Proxy: proxy.sipthor.net<br>
 +
 
 +
<br>
 +
 
 +
Account 4<br>
 +
 
 +
Username: sip:2233375095@sip2sip.info
 +
 
 +
Password: 3p1tpkhw8k<br>
 +
 
 +
Name: Eclipse ECF Sip Tester 4<br>
 +
 
 +
OutBound Proxy: proxy.sipthor.net<br>
 +
 
 +
<br>
 +
 
 +
Account 5<br>
 +
 
 +
Username: sip:2233375097@sip2sip.info
 +
 
 +
Password: w3smjyb7jy
 +
 
 +
Name: Eclipse ECF Sip Tester 5<br>
 +
 
 +
OutBound Proxy: proxy.sipthor.net
 +
 
 +
<br>
 +
 
 +
'''Special SIP service Uri'''<br>
 +
 
 +
#To '''test audio sessions''', set '''remote participant''' to '''sip:3333@sip2sip.info''' , you should '''hear some music playing '''<br>
 +
#To '''test microphone,''' set '''remote participant''' to '''sip:4444@sip2sip.info''', you should '''hear your echo back '''<br>
 +
 
 +
<br>
 +
 
 +
<br>
 +
 
 +
You need to use one of these account to Initiate the ECF SIP softphone.<br>
 +
 
 +
You can find the Testing guide at [http://docs.google.com/View?id=dgjb87t4_153wg27ffd2 docs.google.com/View] . Follow the instructions there for successful testing.<br>
 +
 
 +
<br>
 +
 
 +
*The Sip Provider uses port 5060 and FMJ RTP provider uses port 6022, 6023.
 +
*Make sure that there are no other services are running on these ports.
 +
 
 +
<br>
 +
 
 +
== New Features  ==
 +
 
 +
If you have New Ideas and Comments for the Sip VoIP implementation , please make sure to make a note at [https://bugs.eclipse.org/bugs/show_bug.cgi?id=193388 bug for sip provider].
 +
 
 +
#. Provide more quality audio codec support.
 +
#. Provide IM and Presence Support [https://bugs.eclipse.org/bugs/show_bug.cgi?id=306600 Enhancement request].
 +
#. Provide Video Chat support [https://bugs.eclipse.org/bugs/show_bug.cgi?id=306601 Enhancement request]
 +
 
 +
== Project Adopters  ==
 +
 
 +
#. Eclipse Communication Framework
 +
 
 +
== Links  ==
 +
 
 +
*[http://wiki.eclipse.org/ECF/SIP_VoIP Proposal]
 +
*[https://bugs.eclipse.org/bugs/show_bug.cgi?id=193388 SIP VoIP for ECF Bug]
 +
 
 +
[[Category:SOC]]

Latest revision as of 05:22, 20 November 2010

Abstract

Session Initialization Protocol(SIP) is an Application Layer protocol which supports many services such as VoIP, IM, Presence Information and etc. But currently it's widely used for applications based on Voice calls and Video Calls.Eclipse Communication Framework is consists of many protocol implementations such as XMPP, YaHoo, MSN and etc. And also it contactins providers developed based on the above protocol implementations. Hence my goal is to implement a provider for VoIP for ECF based on SIP protocol for ECF.

Deliverables

  • SIP Provider for ECF
  • RTP Provider for ECF
  • SIP Related tests
  • Relevant Documentations and User Guides.

Timeline

Time line for project Milestones is given below

Legend
Glass.gif Needs some research

Progress.gif Work in progress

Ok green.gif Feature added


Milestone Date Planned/Completed/Progressing  items status
M1 June 24 Implementation of the SIP Provider  Ok green.gif
M2 July 4 Completing the tests for SIP Provider and fix bugs
Ok green.gif
M3 August 8 Implementation of RTP provider using FMJ Ok green.gif
M4 August 10 Complete the tests for RTP Provider and fix bugs
Ok green.gif
M5 August 12 Integrating the SIP & RTP Providers and create a SIP softphone Ok green.gif
M6 August14 Complete the tests for integrated system and fix bugs
Ok green.gif
M7 August 17 Create the JUnit tests for Complete SIP and RTP integareted SIP softphone
Ok green.gif
M8 April 2010 Implementing the ECF Call API for SIP softphone
Glass.gif Progress.gif
M9 TBD Implementing UI for SIP softphone
Glass.gif Progress.gif
M10
October 2009 Contributing the SIP softphone to the ECF Codebase
Ok green.gif


Project Code Base

Currently the project code base is hosted at https://github.com/ECF/Call & Google code site.

Check https://github.com/ECF/Call site how to access the repository via git.

The Google Code is at code.google.com/p/voipimplementationforecfusingsip/

This code base is managed using Sub version version control system.

Code Base Access

Command-Line Access

Use this command to anonymously check out the latest project source code:


# Non-members may check out a read-only working copy anonymously over HTTP.
svn checkout http://voipimplementationforecfusingsip.googlecode.com/svn/trunk/ voipimplementationforecfusingsip-read-only


SVN GUI Based Access

Use the following URL to Access and checkout the Codebase anonymously using GUI based Sub version Clients such as TortoiseSVN


# Non-members may check out a read-only working copy anonymously over HTTP.
http://voipimplementationforecfusingsip.googlecode.com/svn/trunk/

Now this codebase is hosted at [https://github.com/ECF/Call] as well. New improvements and features will be added to this new repository.

Path is: call/sip/modules.

Running Test Cases

 Since this is a VoIP provider, to test functinalities you need to have at least 2 participants. You may use a Remote Sip Softphone or a Sip Echo service as the remote participant. 

I have created 5 sip accounts for ECF testers and following are the credentials for those sip accounts. You need these credentials to initiate calls, register your softphone and to recieve calls.


Account 1

Username: sip:2233375055@sip2sip.info

Password: 391hw952w9

Name: Eclipse ECF Sip Tester 1

OutBound  Proxy: proxy.sipthor.net


Account 2

Username: sip:2233375059@sip2sip.info

Password: j5t8kftn41

Name: Eclipse ECF Sip Tester 2

OutBound Proxy: proxy.sipthor.net


Account 3

Username: sip:2233375093@sip2sip.info

Password: 9s3xebn4yb

Name: Eclipse ECF Sip Tester 3

OutBound Proxy: proxy.sipthor.net


Account 4

Username: sip:2233375095@sip2sip.info

Password: 3p1tpkhw8k

Name: Eclipse ECF Sip Tester 4

OutBound Proxy: proxy.sipthor.net


Account 5

Username: sip:2233375097@sip2sip.info

Password: w3smjyb7jy

Name: Eclipse ECF Sip Tester 5

OutBound Proxy: proxy.sipthor.net


Special SIP service Uri

  1. To test audio sessions, set remote participant to sip:3333@sip2sip.info , you should hear some music playing
  2. To test microphone, set remote participant to sip:4444@sip2sip.info, you should hear your echo back



You need to use one of these account to Initiate the ECF SIP softphone.

You can find the Testing guide at docs.google.com/View . Follow the instructions there for successful testing.


  • The Sip Provider uses port 5060 and FMJ RTP provider uses port 6022, 6023.
  • Make sure that there are no other services are running on these ports.


New Features

If you have New Ideas and Comments for the Sip VoIP implementation , please make sure to make a note at bug for sip provider.

  1. . Provide more quality audio codec support.
  2. . Provide IM and Presence Support Enhancement request.
  3. . Provide Video Chat support Enhancement request

Project Adopters

  1. . Eclipse Communication Framework

Links