SI P Communicator Emil Ivov FOSDEM, February 25 th 2007 Table of - - PDF document

si p communicator
SMART_READER_LITE
LIVE PREVIEW

SI P Communicator Emil Ivov FOSDEM, February 25 th 2007 Table of - - PDF document

SI P Communicator Emil Ivov FOSDEM, February 25 th 2007 Table of Contents What is SIP Communicator? SIP Communicator Overview Currently supported and planned features. Deployment, customization and maintenance Extensibility,


slide-1
SLIDE 1

FOSDEM, February 25th 2007

SI P Communicator

Emil Ivov

slide-2
SLIDE 2

FOSDEM, February 25th 2007

Table of Contents

What is SIP Communicator? SIP Communicator Overview – Currently supported

and planned features.

Deployment, customization and maintenance –

Extensibility, ease of maintenance and deployment.

Creating plug-ins for SIP Communicator

slide-3
SLIDE 3

FOSDEM, February 25th 2007

SIP Communicator Overview

SIP Communicator is an open source (LGPL) Audio/Video software phone and instant messenger. Among others, we currently support:

Audio and Video calls with SIP Instant messaging with Jabber, ICQ/AIM, Yahoo! Msngr and MSN IPv6 support for SIP and Jabber Support for multiple accounts and meta contacts Basic NAT & Firewall Traversal with STUN. Modularity, extensibility, and flexibility with OSGi Platform specific installers for Windows, Debian, Fedora, Mac OS X

visit http://sip-communicator.org for more details

slide-4
SLIDE 4

FOSDEM, February 25th 2007

SIP Communicator Overview

slide-5
SLIDE 5

FOSDEM, February 25th 2007

SIP Communicator Overview

Instant Messaging

slide-6
SLIDE 6

FOSDEM, February 25th 2007

SIP Communicator Overview

Instant Messaging

slide-7
SLIDE 7

FOSDEM, February 25th 2007

SIP Communicator Overview

Instant Messaging History

slide-8
SLIDE 8

FOSDEM, February 25th 2007

Features Currently in Progress

  • Powerful and scalable firewall support – Combine technologies like TURN,

STUN, ICE and P2P in order to achieve powerful, secure, and scalable firewall support.

  • Robust and Seamless IPv6 support – We aim to achieve more than a mere

“support for IPv6”. We would like to guarantee its transparent and seamless

  • usage. In other words, usage of IPv6 should not require any special

configuration and should not cause any problems.

  • Security – Encrypt all media. Usage of P2P for firewall traversal imposes

reliable security of all media transmitted by the SIP Communicator in order to prevent relaying nodes from eavesdropping.

  • Automatic updates and one-click plug-in installation -

Provide a user interface and an online repository for SIP Communicator plug-ins.

  • Other plug-ins -

IRC, shared whiteboards, multiparty video and chat

conferencing.

slide-9
SLIDE 9

FOSDEM, February 25th 2007

A Look Inside – The OSGi Core

OSGi Framework

Jabber SI P MSN Media User I nterface Message History Meta Contact List Firewall Traversal I CQ

slide-10
SLIDE 10

FOSDEM, February 25th 2007

A Look Inside – The OSGi Core

OSGi Framework

Jabber SI P MSN Media User I nterface Message History Meta Contact List Firewall Traversal I CQ

SIP Communicator is built upon the Apache Felix implementation of the OSGi framework. This helps us provide qualities such as:

Modularity

& Flexibility – All components

  • f

SIP Communicator are implemented as separate, replaceable

  • modules. It is possible to run the application with different

sets of features and functionalities depending on the intended user or target platform.

Extensibility – It is very easy to implement additional

features in the form of plug-ins. Developers that are new to SIP Communicator could easily start developing for it since they only need to get acquainted with existing APIs and not the entire source code.

Ease of maintenance and deployment – The concept of an

OSGi Bundle Repository allows SIP Communicator users to download, install and configure new plug-ins with a few clicks.

slide-11
SLIDE 11

FOSDEM, February 25th 2007

A Look Inside – Modularity & Flexibility

SIP Communicator is built upon the Apache Felix implementation of the OSGi framework. This helps us provide qualities such as:

Modularity

& Flexibility – All components

  • f

SIP Communicator are implemented as separate, replaceable

  • modules. It is possible to run the application with different

sets of features and functionalities depending on the intended user or target platform.

Extensibility – It is very easy to implement additional

features in the form of plug-ins. Developers that are new to SIP Communicator could easily start developing for it since they only need to get acquainted with existing APIs and not the entire source code.

Ease of maintenance and deployment – The concept of an

OSGi Bundle Repository allows SIP Communicator users to download, install and configure new plug-ins with a few clicks.

OSGi Framework

MSN Message History I CQ User I nterface Compact User I face Jabber SI P Media Meta Contact List Firewall Traversal

slide-12
SLIDE 12

FOSDEM, February 25th 2007

A Look Inside – Modularity & Flexibility

SIP Communicator is built upon the Apache Felix implementation of the OSGi framework. This helps us provide qualities such as:

Modularity

& Flexibility – All components

  • f

SIP Communicator are implemented as separate, replaceable

  • modules. It is possible to run the application with different

sets of features and functionalities depending on the intended user or target platform.

Extensibility – It is very easy to implement additional

features in the form of plug-ins. Developers that are new to SIP Communicator could easily start developing for it since they only need to get acquainted with existing APIs and not the entire source code.

Ease of maintenance and deployment – The concept of an

OSGi Bundle Repository allows SIP Communicator users to download, install and configure new plug-ins with a few clicks.

OSGi Framework

User I nterface Compact User I face Jabber SI P Media Meta Contact List Firewall Traversal

slide-13
SLIDE 13

FOSDEM, February 25th 2007

A Look Inside – Extensibility

Jabber SIP SIP Communicator is built upon the Apache Felix implementation of the OSGi framework. This helps us provide qualities such as:

Modularity

& Flexibility – All components

  • f

SIP Communicator are implemented as separate, replaceable

  • modules. It is possible to run the application with different

sets of features and functionalities depending on the intended user or target platform.

Extensibility – It is very easy to implement additional

features in the form of plug-ins. Developers that are new to SIP Communicator could easily start developing for it since they only need to get acquainted with existing APIs and not the entire source code.

Ease of maintenance and deployment – The concept of an

OSGi Bundle Repository allows SIP Communicator users to download, install and configure new plug-ins with a few clicks.

OSGi Framework

Jabber SI P Media Meta Contact List Firewall Traversal

GPS Navigation Voice Recognition

Compact User I face

slide-14
SLIDE 14

FOSDEM, February 25th 2007

Web Repository

SIP Communicator is built upon the Apache Felix implementation of the OSGi framework. This helps us provide qualities such as:

Ease of maintenance and deployment – The concept of an

OSGi Bundle Repository allows SIP Communicator users to download, install and configure new plug-ins with a few clicks.

A Look Inside – Deployment and Maintenance

OSGi Framework

Jabber SI P Firewall Traversal

Voice Recognition

Media User I nterface Meta Contact List

GPS Navigation IRC Zero Conf Spell Checker

slide-15
SLIDE 15

FOSDEM, February 25th 2007

Web Repository

SIP Communicator is built upon the Apache Felix implementation of the OSGi framework. This helps us provide qualities such as:

Ease of maintenance and deployment – The concept of an

OSGi Bundle Repository allows SIP Communicator users to download, install and configure new plug-ins with a few clicks.

A Look Inside – Deployment and Maintenance

OSGi Framework

Jabber SI P

Voice Recognition

Media User I nterface Meta Contact List

GPS Navigation

http

IRC Zero Conf Spell Checker

slide-16
SLIDE 16

FOSDEM, February 25th 2007

Web Repository

SIP Communicator is built upon the Apache Felix implementation of the OSGi framework. This helps us provide qualities such as:

Ease of maintenance and deployment – The concept of an

OSGi Bundle Repository allows SIP Communicator users to download, install and configure new plug-ins with a few clicks.

A Look Inside – Deployment and Maintenance

OSGi Framework

Jabber SI P

Voice Recognition

Media User I nterface Meta Contact List

GPS Navigation

http

IRC Zero Conf Spell Checker

slide-17
SLIDE 17

FOSDEM, February 25th 2007

SIP Communicator 1.0 – Application Design

Abstract API s

Jabber I mpl Protocol Service OSGi History I mpl Msg History

Some Plug-in Stats Plug-in Bundle Specifics

SI P (jain-sip-ri) Protocol Service JMF Media Service Java Swing UI Service

slide-18
SLIDE 18

FOSDEM, February 25th 2007

SIP Communicator 1.0 – Application Design

Abstract API s

Jabber I mpl Protocol Service OSGi History I mpl Msg History

Some Plug-in Bundle Specifics

SI P (jain-sip-ri) Protocol Service JMF Media Service Java Swing UI Service

Stats Plug-in

slide-19
SLIDE 19

FOSDEM, February 25th 2007

SIP Communicator 1.0 Architecture

A Simple Scenario

Swing UI ServiceI mpl Bundle

UserI nterfaceService

Send

network network

Dude (Online) _ o x

OSGi Framework

slide-20
SLIDE 20

FOSDEM, February 25th 2007

SIP Communicator 1.0 Architecture

A Simple Scenario

Swing UI ServiceI mpl Bundle

UserI nterfaceService

Hi dude, what r u up to?

Send

network network

1 actionPerformed(evt)

Dude (Online) _ o x

OSGi Framework

slide-21
SLIDE 21

FOSDEM, February 25th 2007

SIP Communicator 1.0 Architecture

A Simple Scenario

Swing UI ServiceI mpl Bundle

UserI nterfaceService

Hi dude, what r u up to?

Send

Jabber Protocol I mpl Bundle

ProtocolProviderService

2 getService( providerRef )

network network

1 actionPerformed(evt)

Dude (Online) _ o x

OSGi Framework

slide-22
SLIDE 22

FOSDEM, February 25th 2007

SIP Communicator 1.0 Architecture

A Simple Scenario

Swing UI ServiceI mpl Bundle

UserI nterfaceService

Hi dude, what r u up to?

Send

Jabber Protocol I mpl Bundle

ProtocolProviderService

2 getService( providerRef )

network network

3 sendMsgTo( Contact) 4 send message 1 actionPerformed(evt)

Dude (Online) _ o x

OSGi Framework

slide-23
SLIDE 23

FOSDEM, February 25th 2007

SIP Communicator 1.0 Architecture

A Sligthly More Complex Scenario (1)

Transfer CallTransfer Plug-In

SI P Communicator _ o x

network network

OSGi Framework

slide-24
SLIDE 24

FOSDEM, February 25th 2007

SIP Communicator 1.0 Architecture

A Sligthly More Complex Scenario (1)

Swing UI ServiceI mpl Bundle

UserI nterfaceService

Transfer

2 registerComponent(this)

CallTransfer Plug-In

SI P Communicator _ o x

1 getService( uiServiceRef ) 3 container.addComponent(button) container.addComponent(field)

network network

OSGi Framework

slide-25
SLIDE 25

FOSDEM, February 25th 2007

CallTransfer Plug-In SIP Implementation Bundle

ProtocolProviderService

SIP Communicator 1.0 Architecture

A Sligthly More Complex Scenario (2)

1 getService( providerRef ) 2 registerCallListener( this )

network network

OSGi Framework

Transfer

SI P Communicator _ o x Swing UI ServiceI mpl Bundle

UserI nterfaceService

slide-26
SLIDE 26

FOSDEM, February 25th 2007

CallTransfer Plug-In SIP Implementation Bundle

ProtocolProviderService

Swing UI ServiceI mpl Bundle

UserI nterfaceService

SIP Communicator 1.0 Architecture

A Sligthly More Complex Scenario (3)

Alerting … The Duke is calling you!

2 incomingCallReceived( evt ) 3 container.addComponent(cmp)

network network

OSGi Framework

1 I NVI TE req received

SI P Communicator _ o x

Transfer

slide-27
SLIDE 27

FOSDEM, February 25th 2007

CallTransfer Plug-In SIP Implementation Bundle

ProtocolProviderService

Swing UI ServiceI mpl Bundle

UserI nterfaceService

SIP Communicator 1.0 Architecture

A Sligthly More Complex Scenario (4)

Alerting … The Duke is calling you!

4 actionPerformed(evt) 5 transferCall(call, dst)

+3592166166

network network

OSGi Framework

6 send REFER req

SI P Communicator _ o x

Transfer

slide-28
SLIDE 28

FOSDEM, February 25th 2007

http:/ / sip-communicator.org

SI P Communicator tutorials:

How to create OSGi Services for SI P Communicator:

http://www.sip-communicator.org/index.php/Documentation/CreatingServices

How to write GUI plugins:

http://www.sip-communicator.org/index.php/Documentation/HowToWriteGuiPlugins

How to implement support for your favorite protocol in SI P Communicator:

http://www.sip-communicator.org/index.php/Documentation/HowToImplementProtocols

How to create and maintain a SI P Communicator installer:

http://www.sip-communicator.org/index.php/Documentation/HowToBuildAnInstaller