SlideShare a Scribd company logo
1 of 23
Download to read offline
SailFin: Adding Presence
and Voice to Web
applications
Binod PG
Senior Staff Engineer
Sun Microsystems



                        Sun Confidential: NDA Required       1
                                                         1
SIP and HTTP: Converged Environment

       HTTP
                                                     SIP

                    SailFin

        SIP
                                               SIP




              Sun Confidential: NDA Required               2
SIP Protocol
• Resembles HTTP (and SMTP)
  – Text based protocol
  – URL for addressing.
• Defined by RFC 3261
• Can be asynchronous and bi-directional
• Peer to Peer




                           Sun Confidential: NDA Required   3
An Example




             Sun Confidential: NDA Required   4
SIP Servlets
• Handle SIP message processing
  > Based on Generic Servlet model
  > SIP Applications, Sessions and Timers
• Defined by JSR-289
  > Converged Web and SIP applications.
  > Http and Sip Sessions can access each other.
  > Http Servlets can initiate calls
• SIP Application Servers
  > Stand-alone (pure SIP)
  > Integrated SIP and Java EE Application Servers
                                                               5
                     Sun Proprietary/Confidential: Under NDA
SIP Servlet Example Code.




                                                       6
             Sun Proprietary/Confidential: Under NDA
Converged SIP and HTTP Applications:
Basic Building Blocks



        Sun Confidential: NDA Required   7
SIP User Agents
             Software SIP Phones
         ➢


               X-Lite
             ➢


               Ekiga
             ➢


               SIP Communicator
             ➢


               Adium
             ➢


             Most of the support Audio, Video and Chat
         ➢


             Avoid port conflict with SailFin.
         ➢




                    Sun Confidential: NDA Required       8
SIP Phone Registration
• SIP Phone sends a REGISTER message.
  > Provides the Contact URI(host/port etc) of the SIP Phone.
  > Typically the first interaction between the phone and
    server (SIP Servlet)
• Make sure that your SIPServlet handles REGISTER
  messges.
  > Typically Authentication happens during this message.
  > You can use Java EE role based security.




                                                                9
                      Sun Proprietary/Confidential: Under NDA
SIP Application Session
• Common Space for Both HTTP and SIP Servlets.
• Accessible by an application specific key.
• Traverse to all SIP and HTTP sessions and access
  application data.
• Both HTTP Servlet and SIP Servlet can access the
  same SIP Application Session.
  > Eg: Foo user's HTTP and SIP Servlet access can obtain
    the same SIP Application Session.



                                                               10
                     Sun Proprietary/Confidential: Under NDA
SipFactory and SipSessionsUtil
• Injected to @Resource annotated element.
• Available to SIP Servlets, HTTP Servlets and also
  EJBs.
      Create SIP requests.
  >
      Create SIP Address.
  >
      Create SIP Application Session.
  >
      Lookup SIP Application Session.
  >




                                                                 11
                       Sun Proprietary/Confidential: Under NDA
Converged HttpServlet Example.




                                                       12
             Sun Proprietary/Confidential: Under NDA
Web based Presence



  Sun Confidential: NDA Required   13
Presence Agent
• SIP Phones publish the presence information to SIP
  Servers.
• SIP Servlets collect the presence information.
• SIP Servlets share the presence information to
  HTTP Servlets
  > SIP Application Session
  > ServletContext




                                                               14
                     Sun Proprietary/Confidential: Under NDA
Presence Agent

           SIP         SIP      HTTP
          Servlet   Applocation Servlet
                     Session


                                                               AJAX/Comet
                          SIP
    SIP




                                                                     15
                     Sun Proprietary/Confidential: Under NDA
SIP Message with Presence




                                                      16
            Sun Proprietary/Confidential: Under NDA
Example SIP Servlet Code




• HTTP Servlet Accesses the SIP Application Session
• Browser can be updated with new status.



                                                             17
                   Sun Proprietary/Confidential: Under NDA
How is Sailfin used
                     Examples of Converged Services
                          Mobile                       Fixed-Mobile
    Business                                                                     Home
                         Enterprise                    Convergence


                                                       - Private mobile     - IPTV, VoD
   - Conferencing       - Push-to-talk
                                                         numbering          - Games
   - Call-handling      - Chat
                                                       - Mobile workforce   - Ring-back tones
   - IP Centrex         - Messaging




     GLASSFISH COMMUNICATIONS SERVER
                                  Sun Confidential: NDA Required                                18
FUTURES
SAILFIN.NEXT


Sun Confidential: NDA Required   19
Next Generation Convergence
• Web based VOIP phone support.
  > Avoids the need to install a SIP phone
  > Integration with Java FX
  > Server Side Abstraction to Simplify Web based phones.
• SIP POJOs
  > Annotation based SIP framework
  > Handles common communication scenarios.
  > Simplify WEB-SIP convergence.



                                                               20
                     Sun Proprietary/Confidential: Under NDA
Next Generation Convergence
• SIP Content Management APIs
  > Presence API
  > SDP API
  > Instant Messaging API
• Media Server Integration.
  > Tighter integration with Media Server.
  > Making Conferences Easy.




                                                                 21
                       Sun Proprietary/Confidential: Under NDA
SailFin Communicator




Sun Confidential: NDA Required   22
http://blogs.sun.com/theaquarium/tags/sailfin

Thank you




                   Sun Confidential: NDA Required   23

More Related Content

What's hot

Server-side WebRTC Infrastructure
Server-side WebRTC InfrastructureServer-side WebRTC Infrastructure
Server-side WebRTC InfrastructureDialogic Inc.
 
Eyeball Messenger SDK V10.0 Developer Reference Guide
Eyeball Messenger SDK V10.0 Developer Reference GuideEyeball Messenger SDK V10.0 Developer Reference Guide
Eyeball Messenger SDK V10.0 Developer Reference GuideEyeball Networks
 
Departed Communications: Learn the ways to smash them!
Departed Communications: Learn the ways to smash them!Departed Communications: Learn the ways to smash them!
Departed Communications: Learn the ways to smash them!Fatih Ozavci
 
To Build or Not to Build Your WebRTC Infrastructure
To Build or Not to Build Your WebRTC InfrastructureTo Build or Not to Build Your WebRTC Infrastructure
To Build or Not to Build Your WebRTC InfrastructureTsahi Levent-levi
 
Monetizing the 4G Investment (Mobile Data, and VoLTE Roaming and Interworking)
Monetizing the 4G Investment (Mobile Data, and VoLTE Roaming and Interworking)Monetizing the 4G Investment (Mobile Data, and VoLTE Roaming and Interworking)
Monetizing the 4G Investment (Mobile Data, and VoLTE Roaming and Interworking)Dialogic Inc.
 
BlackHat Hacking - Hacking VoIP.
BlackHat Hacking - Hacking VoIP.BlackHat Hacking - Hacking VoIP.
BlackHat Hacking - Hacking VoIP.Sumutiu Marius
 
#CiscoLiveLA 2017 Presentacion de Miro Polakovic
#CiscoLiveLA 2017 Presentacion de Miro Polakovic #CiscoLiveLA 2017 Presentacion de Miro Polakovic
#CiscoLiveLA 2017 Presentacion de Miro Polakovic ITSitio.com
 
Web rtc infrastructure the hard parts v4
Web rtc infrastructure the hard parts v4Web rtc infrastructure the hard parts v4
Web rtc infrastructure the hard parts v4Dialogic Inc.
 
WebRTC - a quick introduction
WebRTC - a quick introductionWebRTC - a quick introduction
WebRTC - a quick introductionOlle E Johansson
 
Phone Communications in Javascript with Tropo Serverless
Phone Communications in Javascript with Tropo ServerlessPhone Communications in Javascript with Tropo Serverless
Phone Communications in Javascript with Tropo ServerlessCisco DevNet
 
WebRTC Infrastructure the Hard Parts: Media
WebRTC Infrastructure the Hard Parts: MediaWebRTC Infrastructure the Hard Parts: Media
WebRTC Infrastructure the Hard Parts: MediaDialogic Inc.
 
Deploying WebRTC successfully – A web developer perspective
Deploying WebRTC successfully – A web developer perspectiveDeploying WebRTC successfully – A web developer perspective
Deploying WebRTC successfully – A web developer perspectiveDialogic Inc.
 
Peer-to-Server Media in WebRTC (Enterprise Connect 2014)
Peer-to-Server Media in WebRTC (Enterprise Connect 2014)Peer-to-Server Media in WebRTC (Enterprise Connect 2014)
Peer-to-Server Media in WebRTC (Enterprise Connect 2014)Dialogic Inc.
 
How to Make WebRTC Useful for Business
How to Make WebRTC Useful for BusinessHow to Make WebRTC Useful for Business
How to Make WebRTC Useful for BusinessDialogic Inc.
 
Westhawk integration
Westhawk integrationWesthawk integration
Westhawk integrationTim Panton
 

What's hot (20)

Beyond the MCU
Beyond the MCUBeyond the MCU
Beyond the MCU
 
Server-side WebRTC Infrastructure
Server-side WebRTC InfrastructureServer-side WebRTC Infrastructure
Server-side WebRTC Infrastructure
 
Eyeball Messenger SDK V10.0 Developer Reference Guide
Eyeball Messenger SDK V10.0 Developer Reference GuideEyeball Messenger SDK V10.0 Developer Reference Guide
Eyeball Messenger SDK V10.0 Developer Reference Guide
 
Departed Communications: Learn the ways to smash them!
Departed Communications: Learn the ways to smash them!Departed Communications: Learn the ways to smash them!
Departed Communications: Learn the ways to smash them!
 
To Build or Not to Build Your WebRTC Infrastructure
To Build or Not to Build Your WebRTC InfrastructureTo Build or Not to Build Your WebRTC Infrastructure
To Build or Not to Build Your WebRTC Infrastructure
 
Monetizing the 4G Investment (Mobile Data, and VoLTE Roaming and Interworking)
Monetizing the 4G Investment (Mobile Data, and VoLTE Roaming and Interworking)Monetizing the 4G Investment (Mobile Data, and VoLTE Roaming and Interworking)
Monetizing the 4G Investment (Mobile Data, and VoLTE Roaming and Interworking)
 
BlackHat Hacking - Hacking VoIP.
BlackHat Hacking - Hacking VoIP.BlackHat Hacking - Hacking VoIP.
BlackHat Hacking - Hacking VoIP.
 
#CiscoLiveLA 2017 Presentacion de Miro Polakovic
#CiscoLiveLA 2017 Presentacion de Miro Polakovic #CiscoLiveLA 2017 Presentacion de Miro Polakovic
#CiscoLiveLA 2017 Presentacion de Miro Polakovic
 
Web rtc infrastructure the hard parts v4
Web rtc infrastructure the hard parts v4Web rtc infrastructure the hard parts v4
Web rtc infrastructure the hard parts v4
 
VoIP – vulnerabilities and attacks
VoIP – vulnerabilities and attacksVoIP – vulnerabilities and attacks
VoIP – vulnerabilities and attacks
 
WebRTC - a quick introduction
WebRTC - a quick introductionWebRTC - a quick introduction
WebRTC - a quick introduction
 
Phone Communications in Javascript with Tropo Serverless
Phone Communications in Javascript with Tropo ServerlessPhone Communications in Javascript with Tropo Serverless
Phone Communications in Javascript with Tropo Serverless
 
WebRTC Infrastructure the Hard Parts: Media
WebRTC Infrastructure the Hard Parts: MediaWebRTC Infrastructure the Hard Parts: Media
WebRTC Infrastructure the Hard Parts: Media
 
Voip security
Voip securityVoip security
Voip security
 
Deploying WebRTC successfully – A web developer perspective
Deploying WebRTC successfully – A web developer perspectiveDeploying WebRTC successfully – A web developer perspective
Deploying WebRTC successfully – A web developer perspective
 
A jQuery for WebRTC
A jQuery for WebRTCA jQuery for WebRTC
A jQuery for WebRTC
 
Peer-to-Server Media in WebRTC (Enterprise Connect 2014)
Peer-to-Server Media in WebRTC (Enterprise Connect 2014)Peer-to-Server Media in WebRTC (Enterprise Connect 2014)
Peer-to-Server Media in WebRTC (Enterprise Connect 2014)
 
How to Make WebRTC Useful for Business
How to Make WebRTC Useful for BusinessHow to Make WebRTC Useful for Business
How to Make WebRTC Useful for Business
 
Silc
SilcSilc
Silc
 
Westhawk integration
Westhawk integrationWesthawk integration
Westhawk integration
 

Viewers also liked

Electr Etg Overview 011608
Electr Etg Overview 011608Electr Etg Overview 011608
Electr Etg Overview 011608tabrown30
 
Information Session for Engineering Master Degrees
Information Session for Engineering Master DegreesInformation Session for Engineering Master Degrees
Information Session for Engineering Master Degreesrobertslaughter
 
Network Infrastructure for Cooperative Print Management
Network Infrastructure for Cooperative Print ManagementNetwork Infrastructure for Cooperative Print Management
Network Infrastructure for Cooperative Print ManagementOCLC Research
 
Kennismanagement in Bibliotheek Vlissingen
Kennismanagement in Bibliotheek VlissingenKennismanagement in Bibliotheek Vlissingen
Kennismanagement in Bibliotheek VlissingenKarolien Selhorst
 
เกษตรประณีต22มค
เกษตรประณีต22มคเกษตรประณีต22มค
เกษตรประณีต22มคTechno Polis
 
Tarea 2da semana -SINED
Tarea 2da semana -SINEDTarea 2da semana -SINED
Tarea 2da semana -SINEDisabella_t2
 
Post Umbra Ppp Thrs Jan 15 09
Post Umbra  Ppp  Thrs  Jan  15  09Post Umbra  Ppp  Thrs  Jan  15  09
Post Umbra Ppp Thrs Jan 15 09Ricky Lorenzana
 
ApresentaçãO Amplitude Net
ApresentaçãO Amplitude NetApresentaçãO Amplitude Net
ApresentaçãO Amplitude Netluismtavares
 
Moises Garcia Miguez
Moises Garcia MiguezMoises Garcia Miguez
Moises Garcia Miguezecursocig
 

Viewers also liked (20)

Moody AFB Library
Moody AFB LibraryMoody AFB Library
Moody AFB Library
 
Sample timeline
Sample timelineSample timeline
Sample timeline
 
Somnatt brouchers (1)
Somnatt brouchers (1)Somnatt brouchers (1)
Somnatt brouchers (1)
 
Electr Etg Overview 011608
Electr Etg Overview 011608Electr Etg Overview 011608
Electr Etg Overview 011608
 
Copacabana
CopacabanaCopacabana
Copacabana
 
new fall 09
new fall 09new fall 09
new fall 09
 
Somnatt brouchers (1)
Somnatt brouchers (1)Somnatt brouchers (1)
Somnatt brouchers (1)
 
Information Session for Engineering Master Degrees
Information Session for Engineering Master DegreesInformation Session for Engineering Master Degrees
Information Session for Engineering Master Degrees
 
Água
ÁguaÁgua
Água
 
Network Infrastructure for Cooperative Print Management
Network Infrastructure for Cooperative Print ManagementNetwork Infrastructure for Cooperative Print Management
Network Infrastructure for Cooperative Print Management
 
Greg Cangialosi GBTC User Driven Experience
Greg Cangialosi GBTC User Driven ExperienceGreg Cangialosi GBTC User Driven Experience
Greg Cangialosi GBTC User Driven Experience
 
Kennismanagement in Bibliotheek Vlissingen
Kennismanagement in Bibliotheek VlissingenKennismanagement in Bibliotheek Vlissingen
Kennismanagement in Bibliotheek Vlissingen
 
PresentacióN De Finanzas
PresentacióN De FinanzasPresentacióN De Finanzas
PresentacióN De Finanzas
 
เกษตรประณีต22มค
เกษตรประณีต22มคเกษตรประณีต22มค
เกษตรประณีต22มค
 
Somnatt brouchers (1)
Somnatt brouchers (1)Somnatt brouchers (1)
Somnatt brouchers (1)
 
Tarea 2da semana -SINED
Tarea 2da semana -SINEDTarea 2da semana -SINED
Tarea 2da semana -SINED
 
Post Umbra Ppp Thrs Jan 15 09
Post Umbra  Ppp  Thrs  Jan  15  09Post Umbra  Ppp  Thrs  Jan  15  09
Post Umbra Ppp Thrs Jan 15 09
 
ApresentaçãO Amplitude Net
ApresentaçãO Amplitude NetApresentaçãO Amplitude Net
ApresentaçãO Amplitude Net
 
Practica
PracticaPractica
Practica
 
Moises Garcia Miguez
Moises Garcia MiguezMoises Garcia Miguez
Moises Garcia Miguez
 

Similar to SailFin - Adding Presence and Voice to WebApps

Asterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus Gateway
Asterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus GatewayAsterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus Gateway
Asterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus GatewayAlessandro Polidori
 
Hello 1 2 3, can you see me now?
Hello 1 2 3, can you see me now?Hello 1 2 3, can you see me now?
Hello 1 2 3, can you see me now?Kundan Singh
 
Internet of Things Security & Privacy
Internet of Things Security & PrivacyInternet of Things Security & Privacy
Internet of Things Security & PrivacyChris Adriaensen
 
Introduction into SIP protocol
Introduction into SIP protocolIntroduction into SIP protocol
Introduction into SIP protocolMichal Hrncirik
 
Asterisk WebRTC frontier: realize client SIP Phone with sipML5 and Janus Gateway
Asterisk WebRTC frontier: realize client SIP Phone with sipML5 and Janus GatewayAsterisk WebRTC frontier: realize client SIP Phone with sipML5 and Janus Gateway
Asterisk WebRTC frontier: realize client SIP Phone with sipML5 and Janus GatewayAlessandro Polidori
 
Interop2018 contrail ContrailEnterpriseMulticloud
Interop2018 contrail ContrailEnterpriseMulticloudInterop2018 contrail ContrailEnterpriseMulticloud
Interop2018 contrail ContrailEnterpriseMulticloudDaisuke Nakajima
 
Carrier WiFi Architectures
Carrier WiFi ArchitecturesCarrier WiFi Architectures
Carrier WiFi ArchitecturesMarc Nader
 
1 Vo Ip Overview
1 Vo Ip Overview1 Vo Ip Overview
1 Vo Ip OverviewMayank Vora
 
1 Vo I P Overview
1  Vo I P  Overview1  Vo I P  Overview
1 Vo I P OverviewMayank Vora
 
OSS Tools: Creating a Reverse Engineering Plug-in for r2frida
OSS Tools: Creating a Reverse Engineering Plug-in for r2fridaOSS Tools: Creating a Reverse Engineering Plug-in for r2frida
OSS Tools: Creating a Reverse Engineering Plug-in for r2fridaNowSecure
 
Vo Ip Rajibdeka
Vo Ip RajibdekaVo Ip Rajibdeka
Vo Ip Rajibdekarajibdk
 
Past, Present and Future of WebSocket - HTML5DevConf May 2014
Past, Present and Future of WebSocket - HTML5DevConf May 2014Past, Present and Future of WebSocket - HTML5DevConf May 2014
Past, Present and Future of WebSocket - HTML5DevConf May 2014Frank Greco
 
An hour with WebRTC FIC UDC
An hour with WebRTC FIC UDCAn hour with WebRTC FIC UDC
An hour with WebRTC FIC UDCQuobis
 
Authenticated Identites in VoIP Call Control
Authenticated Identites in VoIP Call ControlAuthenticated Identites in VoIP Call Control
Authenticated Identites in VoIP Call ControlWarren Bent
 
Hacking Trust Relationships Between SIP Gateways
Hacking Trust Relationships Between SIP GatewaysHacking Trust Relationships Between SIP Gateways
Hacking Trust Relationships Between SIP GatewaysFatih Ozavci
 

Similar to SailFin - Adding Presence and Voice to WebApps (20)

Aarti Sip
Aarti SipAarti Sip
Aarti Sip
 
Aarti sip
Aarti sipAarti sip
Aarti sip
 
Asterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus Gateway
Asterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus GatewayAsterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus Gateway
Asterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus Gateway
 
Hello 1 2 3, can you see me now?
Hello 1 2 3, can you see me now?Hello 1 2 3, can you see me now?
Hello 1 2 3, can you see me now?
 
Kamailio World 2013 - SIP and MSRP over WebSocket
Kamailio World 2013 - SIP and MSRP over WebSocketKamailio World 2013 - SIP and MSRP over WebSocket
Kamailio World 2013 - SIP and MSRP over WebSocket
 
Internet of Things Security & Privacy
Internet of Things Security & PrivacyInternet of Things Security & Privacy
Internet of Things Security & Privacy
 
Introduction into SIP protocol
Introduction into SIP protocolIntroduction into SIP protocol
Introduction into SIP protocol
 
Asterisk WebRTC frontier: realize client SIP Phone with sipML5 and Janus Gateway
Asterisk WebRTC frontier: realize client SIP Phone with sipML5 and Janus GatewayAsterisk WebRTC frontier: realize client SIP Phone with sipML5 and Janus Gateway
Asterisk WebRTC frontier: realize client SIP Phone with sipML5 and Janus Gateway
 
Interop2018 contrail ContrailEnterpriseMulticloud
Interop2018 contrail ContrailEnterpriseMulticloudInterop2018 contrail ContrailEnterpriseMulticloud
Interop2018 contrail ContrailEnterpriseMulticloud
 
Carrier WiFi Architectures
Carrier WiFi ArchitecturesCarrier WiFi Architectures
Carrier WiFi Architectures
 
1 Vo Ip Overview
1 Vo Ip Overview1 Vo Ip Overview
1 Vo Ip Overview
 
1 Vo I P Overview
1  Vo I P  Overview1  Vo I P  Overview
1 Vo I P Overview
 
OSS Tools: Creating a Reverse Engineering Plug-in for r2frida
OSS Tools: Creating a Reverse Engineering Plug-in for r2fridaOSS Tools: Creating a Reverse Engineering Plug-in for r2frida
OSS Tools: Creating a Reverse Engineering Plug-in for r2frida
 
Vo Ip Rajibdeka
Vo Ip RajibdekaVo Ip Rajibdeka
Vo Ip Rajibdeka
 
VozDigital DevFest 31/10/14
VozDigital DevFest 31/10/14VozDigital DevFest 31/10/14
VozDigital DevFest 31/10/14
 
Past, Present and Future of WebSocket - HTML5DevConf May 2014
Past, Present and Future of WebSocket - HTML5DevConf May 2014Past, Present and Future of WebSocket - HTML5DevConf May 2014
Past, Present and Future of WebSocket - HTML5DevConf May 2014
 
An hour with WebRTC FIC UDC
An hour with WebRTC FIC UDCAn hour with WebRTC FIC UDC
An hour with WebRTC FIC UDC
 
Sip2012 :: outbound
Sip2012 :: outboundSip2012 :: outbound
Sip2012 :: outbound
 
Authenticated Identites in VoIP Call Control
Authenticated Identites in VoIP Call ControlAuthenticated Identites in VoIP Call Control
Authenticated Identites in VoIP Call Control
 
Hacking Trust Relationships Between SIP Gateways
Hacking Trust Relationships Between SIP GatewaysHacking Trust Relationships Between SIP Gateways
Hacking Trust Relationships Between SIP Gateways
 

More from Eduardo Pelegri-Llopart

Pelegri Desarrollando en una nueva era de software
Pelegri   Desarrollando en una nueva era de software Pelegri   Desarrollando en una nueva era de software
Pelegri Desarrollando en una nueva era de software Eduardo Pelegri-Llopart
 
Market trends in IT - exchange cala - October 2015
Market trends in IT - exchange cala - October 2015Market trends in IT - exchange cala - October 2015
Market trends in IT - exchange cala - October 2015Eduardo Pelegri-Llopart
 
The impact of IOT - exchange cala - 2015
The impact of IOT - exchange cala - 2015The impact of IOT - exchange cala - 2015
The impact of IOT - exchange cala - 2015Eduardo Pelegri-Llopart
 
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...Eduardo Pelegri-Llopart
 
What is the Internet of Things and How it Impacts You
What is the Internet of Things and How it Impacts YouWhat is the Internet of Things and How it Impacts You
What is the Internet of Things and How it Impacts YouEduardo Pelegri-Llopart
 
Ehcache Architecture, Features And Usage Patterns
Ehcache Architecture, Features And Usage PatternsEhcache Architecture, Features And Usage Patterns
Ehcache Architecture, Features And Usage PatternsEduardo Pelegri-Llopart
 

More from Eduardo Pelegri-Llopart (20)

Juggling at freenome
Juggling   at freenomeJuggling   at freenome
Juggling at freenome
 
Csumb capstone-fall2016
Csumb capstone-fall2016Csumb capstone-fall2016
Csumb capstone-fall2016
 
Digital activitymanagement
Digital activitymanagementDigital activitymanagement
Digital activitymanagement
 
Progress next iot_pelegri
Progress next iot_pelegriProgress next iot_pelegri
Progress next iot_pelegri
 
Pelegri Desarrollando en una nueva era de software
Pelegri   Desarrollando en una nueva era de software Pelegri   Desarrollando en una nueva era de software
Pelegri Desarrollando en una nueva era de software
 
Market trends in IT - exchange cala - October 2015
Market trends in IT - exchange cala - October 2015Market trends in IT - exchange cala - October 2015
Market trends in IT - exchange cala - October 2015
 
The impact of IOT - exchange cala - 2015
The impact of IOT - exchange cala - 2015The impact of IOT - exchange cala - 2015
The impact of IOT - exchange cala - 2015
 
IOT - Presentation to PEP @ Progress
IOT - Presentation to PEP @ ProgressIOT - Presentation to PEP @ Progress
IOT - Presentation to PEP @ Progress
 
Node.js as an IOT Bridge
Node.js as an IOT BridgeNode.js as an IOT Bridge
Node.js as an IOT Bridge
 
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
 
What is the Internet of Things and How it Impacts You
What is the Internet of Things and How it Impacts YouWhat is the Internet of Things and How it Impacts You
What is the Internet of Things and How it Impacts You
 
Community Update 25 Mar2010 - English
Community Update 25 Mar2010 - EnglishCommunity Update 25 Mar2010 - English
Community Update 25 Mar2010 - English
 
GlassFish Community Update 25 Mar2010
GlassFish Community Update 25 Mar2010GlassFish Community Update 25 Mar2010
GlassFish Community Update 25 Mar2010
 
Glass Fish Portfolio C1 West V3.Mini
Glass Fish Portfolio C1 West V3.MiniGlass Fish Portfolio C1 West V3.Mini
Glass Fish Portfolio C1 West V3.Mini
 
Virtual Box Aquarium May09
Virtual Box Aquarium May09Virtual Box Aquarium May09
Virtual Box Aquarium May09
 
Introduction To Web Beans
Introduction To Web BeansIntroduction To Web Beans
Introduction To Web Beans
 
Ehcache Architecture, Features And Usage Patterns
Ehcache Architecture, Features And Usage PatternsEhcache Architecture, Features And Usage Patterns
Ehcache Architecture, Features And Usage Patterns
 
OpenDS Primer Aquarium
OpenDS Primer AquariumOpenDS Primer Aquarium
OpenDS Primer Aquarium
 
Fuji Overview
Fuji OverviewFuji Overview
Fuji Overview
 
Nuxeo 5.2 Glassfish
Nuxeo 5.2 GlassfishNuxeo 5.2 Glassfish
Nuxeo 5.2 Glassfish
 

Recently uploaded

New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 

Recently uploaded (20)

DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 

SailFin - Adding Presence and Voice to WebApps

  • 1. SailFin: Adding Presence and Voice to Web applications Binod PG Senior Staff Engineer Sun Microsystems Sun Confidential: NDA Required 1 1
  • 2. SIP and HTTP: Converged Environment HTTP SIP SailFin SIP SIP Sun Confidential: NDA Required 2
  • 3. SIP Protocol • Resembles HTTP (and SMTP) – Text based protocol – URL for addressing. • Defined by RFC 3261 • Can be asynchronous and bi-directional • Peer to Peer Sun Confidential: NDA Required 3
  • 4. An Example Sun Confidential: NDA Required 4
  • 5. SIP Servlets • Handle SIP message processing > Based on Generic Servlet model > SIP Applications, Sessions and Timers • Defined by JSR-289 > Converged Web and SIP applications. > Http and Sip Sessions can access each other. > Http Servlets can initiate calls • SIP Application Servers > Stand-alone (pure SIP) > Integrated SIP and Java EE Application Servers 5 Sun Proprietary/Confidential: Under NDA
  • 6. SIP Servlet Example Code. 6 Sun Proprietary/Confidential: Under NDA
  • 7. Converged SIP and HTTP Applications: Basic Building Blocks Sun Confidential: NDA Required 7
  • 8. SIP User Agents Software SIP Phones ➢ X-Lite ➢ Ekiga ➢ SIP Communicator ➢ Adium ➢ Most of the support Audio, Video and Chat ➢ Avoid port conflict with SailFin. ➢ Sun Confidential: NDA Required 8
  • 9. SIP Phone Registration • SIP Phone sends a REGISTER message. > Provides the Contact URI(host/port etc) of the SIP Phone. > Typically the first interaction between the phone and server (SIP Servlet) • Make sure that your SIPServlet handles REGISTER messges. > Typically Authentication happens during this message. > You can use Java EE role based security. 9 Sun Proprietary/Confidential: Under NDA
  • 10. SIP Application Session • Common Space for Both HTTP and SIP Servlets. • Accessible by an application specific key. • Traverse to all SIP and HTTP sessions and access application data. • Both HTTP Servlet and SIP Servlet can access the same SIP Application Session. > Eg: Foo user's HTTP and SIP Servlet access can obtain the same SIP Application Session. 10 Sun Proprietary/Confidential: Under NDA
  • 11. SipFactory and SipSessionsUtil • Injected to @Resource annotated element. • Available to SIP Servlets, HTTP Servlets and also EJBs. Create SIP requests. > Create SIP Address. > Create SIP Application Session. > Lookup SIP Application Session. > 11 Sun Proprietary/Confidential: Under NDA
  • 12. Converged HttpServlet Example. 12 Sun Proprietary/Confidential: Under NDA
  • 13. Web based Presence Sun Confidential: NDA Required 13
  • 14. Presence Agent • SIP Phones publish the presence information to SIP Servers. • SIP Servlets collect the presence information. • SIP Servlets share the presence information to HTTP Servlets > SIP Application Session > ServletContext 14 Sun Proprietary/Confidential: Under NDA
  • 15. Presence Agent SIP SIP HTTP Servlet Applocation Servlet Session AJAX/Comet SIP SIP 15 Sun Proprietary/Confidential: Under NDA
  • 16. SIP Message with Presence 16 Sun Proprietary/Confidential: Under NDA
  • 17. Example SIP Servlet Code • HTTP Servlet Accesses the SIP Application Session • Browser can be updated with new status. 17 Sun Proprietary/Confidential: Under NDA
  • 18. How is Sailfin used Examples of Converged Services Mobile Fixed-Mobile Business Home Enterprise Convergence - Private mobile - IPTV, VoD - Conferencing - Push-to-talk numbering - Games - Call-handling - Chat - Mobile workforce - Ring-back tones - IP Centrex - Messaging GLASSFISH COMMUNICATIONS SERVER Sun Confidential: NDA Required 18
  • 20. Next Generation Convergence • Web based VOIP phone support. > Avoids the need to install a SIP phone > Integration with Java FX > Server Side Abstraction to Simplify Web based phones. • SIP POJOs > Annotation based SIP framework > Handles common communication scenarios. > Simplify WEB-SIP convergence. 20 Sun Proprietary/Confidential: Under NDA
  • 21. Next Generation Convergence • SIP Content Management APIs > Presence API > SDP API > Instant Messaging API • Media Server Integration. > Tighter integration with Media Server. > Making Conferences Easy. 21 Sun Proprietary/Confidential: Under NDA
  • 23. http://blogs.sun.com/theaquarium/tags/sailfin Thank you Sun Confidential: NDA Required 23