SIP Communicator - FOSDEM

Transcription

SIP CommunicatorEmil IvovFOSDEM, February 25th 2007

Table of Contents What is SIP Communicator?SIP Communicator Overview – Currently supportedand planned features.Deployment, customization and maintenance –Extensibility, ease of maintenance and deployment.Creating plug-ins for SIP CommunicatorFOSDEM, February 25th 2007

SIP Communicator OverviewSIP Communicator is an open source (LGPL) Audio/Video softwarephone 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 Xvisit http://sip-communicator.org for more detailsFOSDEM, February 25th 2007

SIP Communicator OverviewFOSDEM, February 25th 2007

SIP Communicator OverviewInstant MessagingFOSDEM, February 25th 2007

SIP Communicator OverviewInstant MessagingFOSDEM, February 25th 2007

SIP Communicator OverviewInstant Messaging HistoryFOSDEM, 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 firewallsupport. Robust and Seamless IPv6 support – We aim to achieve more than a mere“support for IPv6”. We would like to guarantee its transparent and seamlessusage. In other words, usage of IPv6 should not require any specialconfiguration and should not cause any problems. Security – Encrypt all media. Usage of P2P for firewall traversal imposesreliable security of all media transmitted by the SIP Communicator in order toprevent relaying nodes from eavesdropping. Automatic updates and one-click plug-in installation - Provide a userinterface and an online repository for SIP Communicator plug-ins. Other plug-ins - IRC, shared whiteboards, multiparty video and chatconferencing.FOSDEM, February 25th 2007

A Look Inside – The OSGi CoreJabberSIPOSGi FrameworkMSNMediaUser InterfaceMessage HistoryMeta Contact ListFirewall TraversalICQFOSDEM, February 25th 2007

A Look Inside – The OSGi CoreJabberSIPOSGi FrameworkMSNMediaUser InterfaceMessage HistoryMeta Contact ListFirewall TraversalSIP Communicator is built upon the Apache Feliximplementation of the OSGi framework. This helps usprovide qualities such as:Modularity & Flexibility – All components of SIPCommunicator are implemented as separate, replaceablemodules. It is possible to run the application with differentsets of features and functionalities depending on theintended user or target platform. Extensibility – It is very easy to implement additionalfeatures in the form of plug-ins. Developers that are new toSIP Communicator could easily start developing for it sincethey only need to get acquainted with existing APIs and notthe entire source code. Ease of maintenance and deployment – The concept of anOSGi Bundle Repository allows SIP Communicator users todownload, install and configure new plug-ins with a fewclicks. ICQFOSDEM, February 25th 2007

A Look Inside – Modularity & FlexibilityJabberSIPOSGi FrameworkMSNMediaUser InterfaceCompactUser IfaceMessage HistoryMeta Contact ListFirewall TraversalSIP Communicator is built upon the Apache Feliximplementation of the OSGi framework. This helps usprovide qualities such as:Modularity & Flexibility – All components of SIPCommunicator are implemented as separate, replaceablemodules. It is possible to run the application with differentsets of features and functionalities depending on theintended user or target platform. Extensibility – It is very easy to implement additionalfeatures in the form of plug-ins. Developers that are new toSIP Communicator could easily start developing for it sincethey only need to get acquainted with existing APIs and notthe entire source code. Ease of maintenance and deployment – The concept of anOSGi Bundle Repository allows SIP Communicator users todownload, install and configure new plug-ins with a fewclicks. ICQFOSDEM, February 25th 2007

A Look Inside – Modularity & FlexibilityJabberSIPOSGi FrameworkMediaUser InterfaceCompactUser IfaceMeta Contact ListFirewall TraversalSIP Communicator is built upon the Apache Feliximplementation of the OSGi framework. This helps usprovide qualities such as:Modularity & Flexibility – All components of SIPCommunicator are implemented as separate, replaceablemodules. It is possible to run the application with differentsets of features and functionalities depending on theintended user or target platform. Extensibility – It is very easy to implement additionalfeatures in the form of plug-ins. Developers that are new toSIP Communicator could easily start developing for it sincethey only need to get acquainted with existing APIs and notthe entire source code. Ease of maintenance and deployment – The concept of anOSGi Bundle Repository allows SIP Communicator users todownload, install and configure new plug-ins with a fewclicks. FOSDEM, February 25th 2007

A Look Inside – ExtensibilityJabberJabberSIPSIPOSGi FrameworkVoice RecognitionMediaCompact User IfaceGPS NavigationMeta Contact ListFirewall TraversalSIP Communicator is built upon the Apache Feliximplementation of the OSGi framework. This helps usprovide qualities such as:Modularity & Flexibility – All components of SIPCommunicator are implemented as separate, replaceablemodules. It is possible to run the application with differentsets of features and functionalities depending on theintended user or target platform. Extensibility – It is very easy to implement additionalfeatures in the form of plug-ins. Developers that are new toSIP Communicator could easily start developing for it sincethey only need to get acquainted with existing APIs and notthe entire source code. Ease of maintenance and deployment – The concept of anOSGi Bundle Repository allows SIP Communicator users todownload, install and configure new plug-ins with a fewclicks. FOSDEM, February 25th 2007

A Look Inside – Deployment and MaintenanceJabberSIP Communicator is built upon the Apache Feliximplementation of the OSGi framework. This helps usprovide qualities such as:Web RepositorySIPOSGi FrameworkIRCVoice RecognitionMediaZero ConfUser InterfaceSpell CheckerGPS NavigationMeta Contact ListFirewall TraversalEase of maintenance and deployment – The concept of anOSGi Bundle Repository allows SIP Communicator users todownload, install and configure new plug-ins with a fewclicks. FOSDEM, February 25th 2007

A Look Inside – Deployment and MaintenanceJabberSIP Communicator is built upon the Apache Feliximplementation of the OSGi framework. This helps usprovide qualities such as:Web RepositorySIPOSGi FrameworkhttpVoice RecognitionIRCZero ConfSpell CheckerMediaUser InterfaceGPS NavigationEase of maintenance and deployment – The concept of anOSGi Bundle Repository allows SIP Communicator users todownload, install and configure new plug-ins with a fewclicks. Meta Contact ListFOSDEM, February 25th 2007

A Look Inside – Deployment and MaintenanceJabberSIP Communicator is built upon the Apache Feliximplementation of the OSGi framework. This helps usprovide qualities such as:Web RepositorySIPOSGi FrameworkIRChttpZero ConfVoice RecognitionSpell CheckerMediaUser InterfaceGPS NavigationEase of maintenance and deployment – The concept of anOSGi Bundle Repository allows SIP Communicator users todownload, install and configure new plug-ins with a fewclicks. Meta Contact ListFOSDEM, February 25th 2007

SIP Communicator 1.0 – Application DesignMsg HistoryProtocol ServiceHistory ImplSome Plug-inJabber ImplOSGiAbstract APIsBundleSpecificsStats Plug-inProtocol ServiceMedia ServiceUI ServiceSIP (jain-sip-ri)JMFJava SwingFOSDEM, February 25th 2007

SIP Communicator 1.0 – Application DesignMsg HistoryProtocol ServiceHistory ImplSome Plug-inJabber ImplOSGiAbstract APIsBundleSpecificsStats Plug-inProtocol ServiceMedia ServiceUI ServiceSIP (jain-sip-ri)JMFJava SwingFOSDEM, February 25th 2007

SIP Communicator 1.0 ArchitectureA Simple ScenarioDude (Online)oxSwing UIServiceImpl BundlenetworknetworkFOSDEM, February 25th 2007OSGi FrameworkSendUserInterfaceService

SIP Communicator 1.0 ArchitectureA Simple ScenarioDude (Online)oxUserInterfaceServiceHi dude, what r u up to?1 actionPerformed(evt)Swing UIServiceImpl BundlenetworknetworkFOSDEM, February 25th 2007OSGi FrameworkSend

SIP Communicator 1.0 ArchitectureA Simple ScenarioDude (Online)oxUserInterfaceServiceHi dude, what r u up to?1 actionPerformed(evt)Swing UIServiceImpl Bundle2 getService( providerRef )ProtocolProviderServiceJabber Protocol Impl BundlenetworknetworkFOSDEM, February 25th 2007OSGi FrameworkSend

SIP Communicator 1.0 ArchitectureA Simple ScenarioDude (Online)oxUserInterfaceServiceHi dude, what r u up to?1 actionPerformed(evt)Swing UIServiceImpl Bundle3 sendMsgTo( Contact)4 send message2 getService( providerRef )ProtocolProviderServiceJabber Protocol Impl BundlenetworknetworkFOSDEM, February 25th 2007OSGi FrameworkSend

SIP Communicator 1.0 ArchitectureA Sligthly More Complex Scenario (1)SIP CommunicatoroxCallTransfer Plug-InOSGi FrameworkTransfernetworknetworkFOSDEM, February 25th 2007

SIP Communicator 1.0 ArchitectureA Sligthly More Complex Scenario (1)SIP CommunicatorCallTransfer Plug-Inox1 getService( uiServiceRef )TransferUserInterfaceServiceSwing UIServiceImpl Component(field)networknetworkFOSDEM, February 25th 2007OSGi Framework2 registerComponent(this)

SIP Communicator 1.0 ArchitectureA Sligthly More Complex Scenario (2)SIP CommunicatoroxCallTransfer Plug-InUserInterfaceServiceSwing UIServiceImpl Bundle2 registerCallListener( this )1 getService( providerRef )ProtocolProviderServicenetworknetworkSIP Implementation BundleFOSDEM, February 25th 2007OSGi FrameworkTransfer

SIP Communicator 1.0 ArchitectureA Sligthly More Complex Scenario (3)SIP CommunicatoroxCallTransfer Plug-InAlerting The Duke is calling you!UserInterfaceService3 container.addComponent(cmp)Swing UIServiceImpl Bundle2 incomingCallReceived( evt )1 INVITE req receivedProtocolProviderServicenetworknetworkSIP Implementation BundleFOSDEM, February 25th 2007OSGi FrameworkTransfer

SIP Communicator 1.0 ArchitectureA Sligthly More Complex Scenario (4)SIP CommunicatoroxCallTransfer Plug-In5 transferCall(call, dst)Alerting The Duke is calling you!TransferUserInterfaceServiceSwing UIServiceImpl BundleProtocolProviderServicenetworknetworkSIP Implementation Bundle6 send REFER reqFOSDEM, February 25th 2007OSGi Framework 35921661664 actionPerformed(evt)

http://sip-communicator.orgSIP Communicator tutorials:How to create OSGi Services for SIP .php/Documentation/CreatingServicesHow to write GUI Documentation/HowToWriteGuiPluginsHow to implement support for your favorite protocol in SIP .php/Documentation/HowToImplementProtocolsHow to create and maintain a SIP Communicator p/Documentation/HowToBuildAnInstallerFOSDEM, February 25th 2007

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