Download presentation
Presentation is loading. Please wait.
Published byChrystal Atkinson Modified over 9 years ago
1
JavaOne 2005 SIP-Communicator.org
2
http://sip-communicator.orgJavaOne 2005 SIP Communicator Generics The SIP Communicator is an Audio/Video software phone (and soon instant messenger) completely open sourced on java.net. Currently Supports: NAT & Firewall Traversal (using stun4j) Audio and Video communication sessions IPv4/IPv6 support As of version 1.0 Instant messaging (SIMPLE, Jabber, ICQ/AIM, MSN) OSGI based core Flexible plug-in extensibility IzPack multiplatform installer
3
http://sip-communicator.orgJavaOne 2005 Why OSGI? Modularity – different modules come in different bundles Extensibility – the OSGI framework defines the notion of an abstract Service (a set of interfaces) that is defined once and may be implemented and/or used by multiple bundles (plugins) which may even be added at runtime. Better design - makes developers think “early” of a public interface for their work and thus produce clear and easily understandable architecture. Portability – bundles could be reused in any OSGI implementation, no matter what the project is. Ease of deployment – most OSGI implementations offer hot deployment and on-line bundle repositories that make plugin install and update extremely easy for end users.
4
http://sip-communicator.orgJavaOne 2005 SIP Communicator 1.0 Architecture Distinct project modules now come as separate service implementations such as: ProtocolProviderService - SIP/SIMPLE, Jabber, AIM/ICQ, MSN, Yahoo! protocol stacks all implement that service which allows other bundles (e.g. the user interface) to access them in the same manner. This makes quite easy the implementation and project integration of new protocol stacks. UserInterfaceService – Don’t like the UI? Alright – implement it yourself and not only will it look the way you want but all existing plug-ins that register in the UI would also work with your implementation. Such a service, though currently only implemented on Swing, would also allow for implementations based on SWT, AWT and even J2ME’s midlets. MultiMediaService – Wraps all media features such as, audio capture, video grab, encoding and decoding, RTP/RTSP, etc. ConfigurationService - stores configuration properties and makes them available across the all services CallLoggingService – Registers all outgoing, incoming, and missed calls MessageHistoryService – Keeps a log for exchanged instant messages LoggingService – Provides logging features. Currently wrapping log4j.
5
http://sip-communicator.orgJavaOne 2005 SIP Communicator 1.0 Architecture A Simple Scenario Swing UIServiceImplementation Bundle UserInterfaceService Hi dude, what r u up to? Send Jabber Protocol Implementation Bundle ProtocolProviderService 2 getService( providerRef ) network 3 sendMsgTo( Contact) 4 send INVITE request 1 actionPerformed(evt) Dude (Online) _ o x T H E O S G I B U S
6
http://sip-communicator.orgJavaOne 2005 SIP Communicator 1.0 Architecture A Sligthly More Complex Scenario Swing UIServiceImplementation Bundle UserInterfaceService T H E O S G I B U S Transfer network 2 registerComponent(this) CallTransfer Plug-In SIP Communicator _ o x 1 getService( providerRef ) 3 container.addComponent(button) container.addComponent(field)
7
http://sip-communicator.orgJavaOne 2005 SIP Implementation Bundle ProtocolProviderService SIP Communicator 1.0 Architecture A Sligthly More Complex Scenario Swing UIServiceImplementation Bundle UserInterfaceService T H E O S G I B U S Transfer 1 getService( providerRef ) network CallTransfer Plug-In SIP Communicator _ o x 2 registerCallListener( this )
8
http://sip-communicator.orgJavaOne 2005 SIP Implementation Bundle ProtocolProviderService SIP Communicator 1.0 Architecture A Sligthly More Complex Scenario Swing UIServiceImplementation Bundle UserInterfaceService T H E O S G I B U S Alerting … The Duke is calling you! Transfer network 4 actionPerformed(evt) 1 INVITE req received 5 transferCall(call, dst) CallTransfer Plug-In +3592166166 SIP Communicator _ o x 6 send REFER req 2 incomingCallReceived( evt ) 3 container.addComponent(cmp)
9
http://sip-communicator.orgJavaOne 2005 References The SIP Communicator http://sip-communicator.org The Java Communications Community http://community.java.net/communications/ JAIN SIP http://jain-sip.dev.java.net The Open Services Gateway Initiative http://osgi.org The OSCAR OSGI implementation. http://oscar.objectweb.org/
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.