SlideShare a Scribd company logo
 
Developing with VoiceXML Building a Video Conference Application
Agenda VoiceXML Video using VoiceXML Components of a Video Conference Server System Architecture SIP & RTP flows JSLEE & Mobicents Software Architecture Controlling Participants Putting it all together
VoiceXML – What is it? VoiceXML is an IVR scripting language Used to develop complex IVR applications, such as Phone-based self-help services (i.e., labyrinths   ) Multi-level auto-attendants Calling card services Standardized by W3C http://www.w3.org/Voice/  Also used as a control protocol between VoIP application servers and media servers Supported by most media server vendors
Developing an Application with VoiceXML This presentation shows how to develop a video conferencing application using VoiceXML and off-the-shelf components We will use the Voxpilot/HP video extensions to VoiceXML Provides playing and recording video prompt Supports multiple video codecs Proposed by Burke (Voxpilot) & McGlashan (HP) Extensions may get integrated into VoiceXML 3.0 We will cover the system architecture, components, protocols, and support for multiple audio and video codecs
Video Conferencing Application Components for building a video conferencing solution are now much cheaper Good web cam Good headset Video softclient Open source telecom framework Video-enabled media server Small & Medium Enterprises can now use it Can even be deployed in home offices
Video Conference Application - Goals Low Cost Must use standard components & protocols Easy to Use & Minimal Learning Curve Same interface as existing meet-me conference bridges Advanced interface accessible through web Provide Common Conferencing Features PIN number validation Mute one or more participants Prime Speaker Manual or Automated Video Source Control Good Video Quality At least CIF (352x288) @ 15 frames/second
Video Conference – System Architecture Video Conference Application Video-Enabled Media Server SIP SIP SIP SIP, NETANN, VoiceXML RTP RTP RTP
Major Component Responsibilities Video Conferencing Application Back-to-back SIP user agent (B2BUA) Controls conference participants when conference is up e.g., muting a participant, giving priority to a participant Delegates to VoiceXML script the task of PIN validation VoiceXML script Validates PIN (uses CGI script to access a database) Transfers the call to conference bridge Media Server Executes VoiceXML script Performs audio mixing Performs video processing
Basic Call Flow – SIP & VoiceXML 1. SIP INVITE validate.cgi?phone=5551212&pin=1234 Video Conference Application Refer-To: sip:conf-1@MS 11. SIP 200 OK 3. HTTP GET 4. SIP 200 OK 5. SIP 200 OK 2. SIP INVITE voicexml=http://as/askpin.vxml 6. HTTP POST 10. SIP reINVITE 7. SIP REFER 8. SIP INVITE sip:conf-1@MS 9. SIP 200 OK
Video Conference Application Software Video application is built on top of JSLEE, a Java real-time framework Database contains a list of active conferences, phone numbers, and PINs Apache provides Web pages Access to VoiceXML scripts Access to media files Execution of CGI scripts
Video-enabled Media Server Video-enabled Media Servers are available from many vendors Select a media server that supports Video IVR and Video Conferencing Video Codec: H.263 and H.264 @ CIF resolution (352x288) Video Conferencing mode should have at least: Manual Control Automated control (e.g., follow-me) Audio mixing should provide: Audio Codec: G.711 ulaw/A-Law, G.729, AMR Audio mixing without introducing echo Noise reduction Packet Loss Concealment algorithm
Mobicents – a Telecom Framework Mobicents is an open source JSLEE container JSLEE is a Java-based framework for real-time apps JSLEE is to telecom what J2EE is to business apps Mobicents is written by some JBoss developers Mobicents provides: Soft real-time event routing SIP stack Traces, logs, alarms See http://www.mobicents.org
Mobicents - Internals
Video Conference Application –  Software Components
IVR Service IVR service provides a high-level API to playback and digit collection functions Hides details of SIP and media server protocols Isolates applications from Media Server protocol e.g., if MS protocol changes from VoiceXML to MSCML, only IVR service must change IVR service implemented as a JSLEE Service Building Block (SBB)
IVR Service - API Simple API hides IVR complexity Instantiate and send an event to IvrSBB Events supported: CreateConnection Play PlayCollect Release
VoiceXML – Using video extensions Playing video clips using VoiceXML 2.0 <audio src=“http://as/welcome_h263.mov”> <audio src=“http://as/welcome_h264.mov” /> </audio> Two video clips are provided: one for H.263 video clients, the other for H.264 video clients The example is using the VoiceXML fallback audio feature for supporting both codecs The VoiceXML interpreter will try to play each video clip in the list until it finds one that is compatible with the video codec of the remote device
Muting a participant using RFC3264 The conference leader can mute a participant This is achieved by the Video Conf App sending a SIP reINVITE with SDP containing “a=sendonly” to the media server: v=0  o=Caller 10 20 IP4 10.1.2.3 s=Participant c=IN IP4 10.1.2.3 t=0 0 m=audio 5004 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendonly
Manual Control of the Video Feed The conference leader can manually control the video feed displayed to all participants This is achieved by turning-off the video source of all participants except one Send a reINVITE with SDP containing “a=sendonly” applied to video: v=0  o=Caller 10 20 IP4 10.1.2.3 s=Participant c=IN IP4 10.1.2.3 t=0 0 m=audio 5004 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendrecv m=video 5006 RTP/AVP 98 a=rtpmap:98 H264/90000 a=sendonly
Putting it all Together VoiceXML provides the user interface to the video conference Mobicents provides an easy to use real-time framework for telecom applications Mobicents hides SIP complexity Building the business logic for a video conferencing application is no longer difficult Low-cost video phones and softclients make this solution possible Entire solution can be deployed in small and medium businesses

More Related Content

PPT
11 streaming
PPTX
Bonrix Bulk voice call - Voice SMS Marketing Web Based Panel
PPT
deploymentofvoipserviceswithasteriskandfreepbx-150730234131-lva1-app6892
PPT
1 Portfolio 2008 Briefing
PPT
Introduction to SIP
PPT
POT
SIP servers on embedded systems: Powering SoHo communications
PPTX
Introduction into SIP protocol
11 streaming
Bonrix Bulk voice call - Voice SMS Marketing Web Based Panel
deploymentofvoipserviceswithasteriskandfreepbx-150730234131-lva1-app6892
1 Portfolio 2008 Briefing
Introduction to SIP
SIP servers on embedded systems: Powering SoHo communications
Introduction into SIP protocol

What's hot (16)

PPT
Matrix Telecom Solutions: SETU VGFX - Fixed VoIP to GSM/3G-FXO-FXS Voice Gat...
PDF
SIP conferencing Application Server Enables Video ...
PDF
Develop Smart Solutions with Raspberry Pi and EnableX Live Video API
PPT
CTI
PDF
SecurVoice 2010
PPT
vPoint HD briefing.ppt
PDF
Introduction to SIP(Session Initiation Protocol)
PPT
Authentication Methods in Videoconferencing Systems
PPTX
session initiation protocol - SIP
PPTX
Polycom/Microsoft Solutions Q4 2011
PDF
CSS Information
PPT
Frontel presentation english_ergoalarm (2)
PDF
Genesys SIP Server Architecture
PDF
Ip атс grand stream ucm6102 functional overview and testing-eng
PPT
Building Voice
PDF
6293213 sip-presentation
Matrix Telecom Solutions: SETU VGFX - Fixed VoIP to GSM/3G-FXO-FXS Voice Gat...
SIP conferencing Application Server Enables Video ...
Develop Smart Solutions with Raspberry Pi and EnableX Live Video API
CTI
SecurVoice 2010
vPoint HD briefing.ppt
Introduction to SIP(Session Initiation Protocol)
Authentication Methods in Videoconferencing Systems
session initiation protocol - SIP
Polycom/Microsoft Solutions Q4 2011
CSS Information
Frontel presentation english_ergoalarm (2)
Genesys SIP Server Architecture
Ip атс grand stream ucm6102 functional overview and testing-eng
Building Voice
6293213 sip-presentation
Ad

Viewers also liked (11)

PPT
Villas intelligent surveillance
PPT
Video surveillance of_new_products
PDF
Smart Lighting Controls, Whose Business Is It?
PDF
Smart Lighting Market Research Report
PDF
Smart Lighting Market Research : A Global Analysis
PPT
Smart lighting solutions with motion sensors occupancy sensors pir sensors
PPTX
Energy saving using pir sensor
PPTX
Smart Lighting Platform
PDF
Smart Home Tech Short
PPTX
Intelligent Transportation System
PPTX
Presentation Smart Home With Home Automation
Villas intelligent surveillance
Video surveillance of_new_products
Smart Lighting Controls, Whose Business Is It?
Smart Lighting Market Research Report
Smart Lighting Market Research : A Global Analysis
Smart lighting solutions with motion sensors occupancy sensors pir sensors
Energy saving using pir sensor
Smart Lighting Platform
Smart Home Tech Short
Intelligent Transportation System
Presentation Smart Home With Home Automation
Ad

Similar to Developing with VoiceXML Building a Video Conference Application (20)

PPT
Download It
PPT
Download It
PPT
Ken Rehor's presentation at eComm 2008
PPTX
Jonathan Taylor - Presentation at Emerging Communications Conference & Awards...
PPT
VoIP - Technology To Business Models
PPT
5 Mxm Vc Bpro Briefing
PPT
Hello 1 2 3, can you see me now?
PPT
Voicexml
PDF
Video Conferencing
PDF
Utf 8'en'ibm sametime 9 - voice and video deployment
PDF
Microsoft Power Point Neuro Disorders
PPTX
How to add video conferencing via API to your website or app
PPT
VoIP Technology Developments Net@EDU
ZIP
Moho - Real-Time Communications Framework
KEY
Jose de Castros's Presentation at Emerging Communication Conference & Awards ...
PPT
Lec40 45 video conferencing
PPT
Lec40 41 42_43_44_45 video conferencing
PPT
Lec40 41 42_43_44_45 video conferencing
PDF
Mobicents 2.0, The Java Open Source Communications Platform-FOSDEM 2011 Jean ...
PPT
VoIP Technology To Business Models 2
Download It
Download It
Ken Rehor's presentation at eComm 2008
Jonathan Taylor - Presentation at Emerging Communications Conference & Awards...
VoIP - Technology To Business Models
5 Mxm Vc Bpro Briefing
Hello 1 2 3, can you see me now?
Voicexml
Video Conferencing
Utf 8'en'ibm sametime 9 - voice and video deployment
Microsoft Power Point Neuro Disorders
How to add video conferencing via API to your website or app
VoIP Technology Developments Net@EDU
Moho - Real-Time Communications Framework
Jose de Castros's Presentation at Emerging Communication Conference & Awards ...
Lec40 45 video conferencing
Lec40 41 42_43_44_45 video conferencing
Lec40 41 42_43_44_45 video conferencing
Mobicents 2.0, The Java Open Source Communications Platform-FOSDEM 2011 Jean ...
VoIP Technology To Business Models 2

More from Videoguy (20)

PDF
Energy-Aware Wireless Video Streaming
PDF
Microsoft PowerPoint - WirelessCluster_Pres
PDF
Proxy Cache Management for Fine-Grained Scalable Video Streaming
PDF
Adobe
PDF
Free-riding Resilient Video Streaming in Peer-to-Peer Networks
PDF
Instant video streaming
PDF
Video Streaming over Bluetooth: A Survey
PDF
Video Streaming
PDF
Reaching a Broader Audience
PDF
Considerations for Creating Streamed Video Content over 3G ...
PDF
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMING
PDF
Impact of FEC Overhead on Scalable Video Streaming
PDF
Application Brief
PDF
Video Streaming Services – Stage 1
PDF
Streaming Video into Second Life
PDF
Flash Live Video Streaming Software
PDF
Videoconference Streaming Solutions Cookbook
PDF
Streaming Video Formaten
PDF
iPhone Live Video Streaming Software
PDF
Glow: Video streaming training guide - Firefox
Energy-Aware Wireless Video Streaming
Microsoft PowerPoint - WirelessCluster_Pres
Proxy Cache Management for Fine-Grained Scalable Video Streaming
Adobe
Free-riding Resilient Video Streaming in Peer-to-Peer Networks
Instant video streaming
Video Streaming over Bluetooth: A Survey
Video Streaming
Reaching a Broader Audience
Considerations for Creating Streamed Video Content over 3G ...
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMING
Impact of FEC Overhead on Scalable Video Streaming
Application Brief
Video Streaming Services – Stage 1
Streaming Video into Second Life
Flash Live Video Streaming Software
Videoconference Streaming Solutions Cookbook
Streaming Video Formaten
iPhone Live Video Streaming Software
Glow: Video streaming training guide - Firefox

Developing with VoiceXML Building a Video Conference Application

  • 1.  
  • 2. Developing with VoiceXML Building a Video Conference Application
  • 3. Agenda VoiceXML Video using VoiceXML Components of a Video Conference Server System Architecture SIP & RTP flows JSLEE & Mobicents Software Architecture Controlling Participants Putting it all together
  • 4. VoiceXML – What is it? VoiceXML is an IVR scripting language Used to develop complex IVR applications, such as Phone-based self-help services (i.e., labyrinths  ) Multi-level auto-attendants Calling card services Standardized by W3C http://www.w3.org/Voice/ Also used as a control protocol between VoIP application servers and media servers Supported by most media server vendors
  • 5. Developing an Application with VoiceXML This presentation shows how to develop a video conferencing application using VoiceXML and off-the-shelf components We will use the Voxpilot/HP video extensions to VoiceXML Provides playing and recording video prompt Supports multiple video codecs Proposed by Burke (Voxpilot) & McGlashan (HP) Extensions may get integrated into VoiceXML 3.0 We will cover the system architecture, components, protocols, and support for multiple audio and video codecs
  • 6. Video Conferencing Application Components for building a video conferencing solution are now much cheaper Good web cam Good headset Video softclient Open source telecom framework Video-enabled media server Small & Medium Enterprises can now use it Can even be deployed in home offices
  • 7. Video Conference Application - Goals Low Cost Must use standard components & protocols Easy to Use & Minimal Learning Curve Same interface as existing meet-me conference bridges Advanced interface accessible through web Provide Common Conferencing Features PIN number validation Mute one or more participants Prime Speaker Manual or Automated Video Source Control Good Video Quality At least CIF (352x288) @ 15 frames/second
  • 8. Video Conference – System Architecture Video Conference Application Video-Enabled Media Server SIP SIP SIP SIP, NETANN, VoiceXML RTP RTP RTP
  • 9. Major Component Responsibilities Video Conferencing Application Back-to-back SIP user agent (B2BUA) Controls conference participants when conference is up e.g., muting a participant, giving priority to a participant Delegates to VoiceXML script the task of PIN validation VoiceXML script Validates PIN (uses CGI script to access a database) Transfers the call to conference bridge Media Server Executes VoiceXML script Performs audio mixing Performs video processing
  • 10. Basic Call Flow – SIP & VoiceXML 1. SIP INVITE validate.cgi?phone=5551212&pin=1234 Video Conference Application Refer-To: sip:conf-1@MS 11. SIP 200 OK 3. HTTP GET 4. SIP 200 OK 5. SIP 200 OK 2. SIP INVITE voicexml=http://as/askpin.vxml 6. HTTP POST 10. SIP reINVITE 7. SIP REFER 8. SIP INVITE sip:conf-1@MS 9. SIP 200 OK
  • 11. Video Conference Application Software Video application is built on top of JSLEE, a Java real-time framework Database contains a list of active conferences, phone numbers, and PINs Apache provides Web pages Access to VoiceXML scripts Access to media files Execution of CGI scripts
  • 12. Video-enabled Media Server Video-enabled Media Servers are available from many vendors Select a media server that supports Video IVR and Video Conferencing Video Codec: H.263 and H.264 @ CIF resolution (352x288) Video Conferencing mode should have at least: Manual Control Automated control (e.g., follow-me) Audio mixing should provide: Audio Codec: G.711 ulaw/A-Law, G.729, AMR Audio mixing without introducing echo Noise reduction Packet Loss Concealment algorithm
  • 13. Mobicents – a Telecom Framework Mobicents is an open source JSLEE container JSLEE is a Java-based framework for real-time apps JSLEE is to telecom what J2EE is to business apps Mobicents is written by some JBoss developers Mobicents provides: Soft real-time event routing SIP stack Traces, logs, alarms See http://www.mobicents.org
  • 15. Video Conference Application – Software Components
  • 16. IVR Service IVR service provides a high-level API to playback and digit collection functions Hides details of SIP and media server protocols Isolates applications from Media Server protocol e.g., if MS protocol changes from VoiceXML to MSCML, only IVR service must change IVR service implemented as a JSLEE Service Building Block (SBB)
  • 17. IVR Service - API Simple API hides IVR complexity Instantiate and send an event to IvrSBB Events supported: CreateConnection Play PlayCollect Release
  • 18. VoiceXML – Using video extensions Playing video clips using VoiceXML 2.0 <audio src=“http://as/welcome_h263.mov”> <audio src=“http://as/welcome_h264.mov” /> </audio> Two video clips are provided: one for H.263 video clients, the other for H.264 video clients The example is using the VoiceXML fallback audio feature for supporting both codecs The VoiceXML interpreter will try to play each video clip in the list until it finds one that is compatible with the video codec of the remote device
  • 19. Muting a participant using RFC3264 The conference leader can mute a participant This is achieved by the Video Conf App sending a SIP reINVITE with SDP containing “a=sendonly” to the media server: v=0 o=Caller 10 20 IP4 10.1.2.3 s=Participant c=IN IP4 10.1.2.3 t=0 0 m=audio 5004 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendonly
  • 20. Manual Control of the Video Feed The conference leader can manually control the video feed displayed to all participants This is achieved by turning-off the video source of all participants except one Send a reINVITE with SDP containing “a=sendonly” applied to video: v=0 o=Caller 10 20 IP4 10.1.2.3 s=Participant c=IN IP4 10.1.2.3 t=0 0 m=audio 5004 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendrecv m=video 5006 RTP/AVP 98 a=rtpmap:98 H264/90000 a=sendonly
  • 21. Putting it all Together VoiceXML provides the user interface to the video conference Mobicents provides an easy to use real-time framework for telecom applications Mobicents hides SIP complexity Building the business logic for a video conferencing application is no longer difficult Low-cost video phones and softclients make this solution possible Entire solution can be deployed in small and medium businesses

Editor's Notes

  • #9: Discuss role of each component: Video Conference Application implements the business logic: PIN number validation, control of the conference mode Video phone, mobile phone, PC: establish call with conference application, transmit and receive audio/video to/from media server Media server: performs audio mixing, muting participants, video switching or mixing Discuss protocols: SIP for signalling RTP for media. There are two separate RTP streams per video phone: one for audio and one for video
  • #20: Note that sending an SDP with “a=recvonly” to the participant device is not secure: there is no way to know if the participant device will comply.