SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
Rayo for XMPP Folks




      Ben Langfeld
      @benlangfeld
blangfeld@mojolingo.com




                          PAGE
WHAT IS ADHEARSION?
                      •Middle man between
                       phone calls and the real
                       world
                      •Does not process any
                       media or handle
                       signaling directly
                      •Exercises third-party call
                       control (3PCC)
                      •All Ruby
                      •High-level API




                                                     2
                                                    PAGE
HOW DO CALLS WORK WITH 3PCC?
                            Media &
                            Signaling

         SIP                    Jingle




                     3PCC
                     No media, just business logic
                     Rayo Protocol (over XMPP)




                                                      3
                                                     PAGE
•   Background info @ http://rayo.org
•   Draft spec @ http://rayo.org/xep
•   Source @ http://github.com/rayo/xmpp
•   Issue queue @ http://github.com/rayo/xmpp/issues




                                                        4
                                                       PAGE
Call Control: Incoming calls are "offered" to clients at which point they can be answered,
    rejected, redirected to another destination, etc. Evey attempt is made to be shield the Rayo
    client from the low level telephony protocol (e.g. SIP, Jingle, PSTN, etc.)

•   Audio File Playback: A compatible Rayo server will fetch a file from a a specified URL and play
    the containing audio to the caller.

•   Speech Synthesis / TTS: In cases where dynamic data must be spoken, a Speech Synthesis
    engine many be used to play computer generated speech to the caller.

•   DTMF / Touch-tone Events: Rayo surfaces real-time event when the caller presses keys on their
    touch-tone keypad.

•   Speech Recognition: Enables the phone application to take spoken queues allowing for
    sophisticated voice-driven menus and directory services.

•   Call Recording: Can be used to capture the caller’s voice (e.g. Voicemail) or both sides of the
    call for auditing and compliance purposes.

•   Mixing: Typically referred to as an audio “conference”; calls can be joined together so that the
    participants can hear each other in real-time.


                                                                                                       5
                                                                                                   PAGE
WHY ANOTHER PROTOCOL?
    Simple client library implementation - XMPP client libraries exist in all modern
    languages, and many are of a high standard of quality and maturity.
•   Cross-platform standard - The protocol must not expose any platform specifics and all
    elements should be candidates for implementation on any suitable platform. Additionally,
    the protocol must be ratified as a standard following a community discussion.
•   Asynchronous interface - The protocol should present an asynchronous interface for the
    purposes of performance and flexibility in performing parallel operations.
•   Consistent - The protocol must provide a considered, unobtrusive, logically and
    philosophically consistent interface.
•   Federated - The protocol must support communication between client and server entities
    on separately owned, operated and addressed networks.
•   Flexible routing - The protocol must lend itself to routing across wide networks such as
    the internet, and to potential complex routing such as proxying or redirection. Additionally,
    the client and server should each be aware of the presence of the other and be able to use
    such information to make routing decisions.
•   Extensible - The protocol must provide for the possibility of extra functionality being added
    by future specifications or an individual implementation.
•   Secure - The protocol should include appropriate measures for authentication and
    authorization of participants, as well as preventing third-parties from intercepting control
    messages.

                                                                                                6
                                                                                              PAGE
• Primitives: Offer, Accept, Answer, Reject, Hangup, Join/Unjoin
• Media components:

   • Output (audio playback, text-to-speech)
   • Input (DTMF, speech recognition)

   • Record
• Currently voice only, but extensible to video




                                                                    7
                                                                   PAGE
QUESTIONS?




     @benlangfeld
blangfeld@mojolingo.com




                          PAGE

Contenu connexe

Similaire à Rayo for XMPP Folks

SIP2SIP - Direcciones SIP gratuitas para las masas
SIP2SIP - Direcciones SIP gratuitas para las masasSIP2SIP - Direcciones SIP gratuitas para las masas
SIP2SIP - Direcciones SIP gratuitas para las masasPaloSanto Solutions
 
Bryan Johns - Presentation at Emerging Communications Conference & Awards (eC...
Bryan Johns - Presentation at Emerging Communications Conference & Awards (eC...Bryan Johns - Presentation at Emerging Communications Conference & Awards (eC...
Bryan Johns - Presentation at Emerging Communications Conference & Awards (eC...eCommConf
 
Winthorpe - Let Your Applications Listen... And Talk
Winthorpe - Let Your Applications Listen... And TalkWinthorpe - Let Your Applications Listen... And Talk
Winthorpe - Let Your Applications Listen... And TalkRyo Jin
 
Transcription Tutorial - Using Limecraft to accurately Transcribe Audio in Mi...
Transcription Tutorial - Using Limecraft to accurately Transcribe Audio in Mi...Transcription Tutorial - Using Limecraft to accurately Transcribe Audio in Mi...
Transcription Tutorial - Using Limecraft to accurately Transcribe Audio in Mi...Maarten Verwaest
 
Network Situational Awareness with d00gle
Network Situational Awareness with d00gleNetwork Situational Awareness with d00gle
Network Situational Awareness with d00gleDug Song
 
Voice morphing-101113123852-phpapp01 (1)
Voice morphing-101113123852-phpapp01 (1)Voice morphing-101113123852-phpapp01 (1)
Voice morphing-101113123852-phpapp01 (1)Ravi Teja
 
Data minutes #2 Apache Pulsar with MQTT for Edge Computing Lightning - 2022
Data minutes #2   Apache Pulsar with MQTT for Edge Computing Lightning - 2022Data minutes #2   Apache Pulsar with MQTT for Edge Computing Lightning - 2022
Data minutes #2 Apache Pulsar with MQTT for Edge Computing Lightning - 2022Timothy Spann
 
Talking To Rails
Talking To RailsTalking To Rails
Talking To RailsMojo Lingo
 
P2P for mobile devices
P2P for mobile devicesP2P for mobile devices
P2P for mobile devicesimmanuelnoel
 
Greach 2011 - Building Telephony Apps with Groovy and Grails
Greach 2011 - Building Telephony Apps with Groovy and GrailsGreach 2011 - Building Telephony Apps with Groovy and Grails
Greach 2011 - Building Telephony Apps with Groovy and Grailsgreach_es
 
Speech Recognition Technology
Speech Recognition TechnologySpeech Recognition Technology
Speech Recognition TechnologyAamir-sheriff
 
Adding Real-time Features to PHP Applications
Adding Real-time Features to PHP ApplicationsAdding Real-time Features to PHP Applications
Adding Real-time Features to PHP ApplicationsRonny López
 
MM_Conferencing.ppt
MM_Conferencing.pptMM_Conferencing.ppt
MM_Conferencing.pptVideoguy
 

Similaire à Rayo for XMPP Folks (20)

SIP2SIP - Direcciones SIP gratuitas para las masas
SIP2SIP - Direcciones SIP gratuitas para las masasSIP2SIP - Direcciones SIP gratuitas para las masas
SIP2SIP - Direcciones SIP gratuitas para las masas
 
Bryan Johns - Presentation at Emerging Communications Conference & Awards (eC...
Bryan Johns - Presentation at Emerging Communications Conference & Awards (eC...Bryan Johns - Presentation at Emerging Communications Conference & Awards (eC...
Bryan Johns - Presentation at Emerging Communications Conference & Awards (eC...
 
Winthorpe - Let Your Applications Listen... And Talk
Winthorpe - Let Your Applications Listen... And TalkWinthorpe - Let Your Applications Listen... And Talk
Winthorpe - Let Your Applications Listen... And Talk
 
Transcription Tutorial - Using Limecraft to accurately Transcribe Audio in Mi...
Transcription Tutorial - Using Limecraft to accurately Transcribe Audio in Mi...Transcription Tutorial - Using Limecraft to accurately Transcribe Audio in Mi...
Transcription Tutorial - Using Limecraft to accurately Transcribe Audio in Mi...
 
Number one-issue-voip-today-fraud
Number one-issue-voip-today-fraudNumber one-issue-voip-today-fraud
Number one-issue-voip-today-fraud
 
Network Situational Awareness with d00gle
Network Situational Awareness with d00gleNetwork Situational Awareness with d00gle
Network Situational Awareness with d00gle
 
Voice morphing-101113123852-phpapp01 (1)
Voice morphing-101113123852-phpapp01 (1)Voice morphing-101113123852-phpapp01 (1)
Voice morphing-101113123852-phpapp01 (1)
 
The bigrabbit
The bigrabbitThe bigrabbit
The bigrabbit
 
Data minutes #2 Apache Pulsar with MQTT for Edge Computing Lightning - 2022
Data minutes #2   Apache Pulsar with MQTT for Edge Computing Lightning - 2022Data minutes #2   Apache Pulsar with MQTT for Edge Computing Lightning - 2022
Data minutes #2 Apache Pulsar with MQTT for Edge Computing Lightning - 2022
 
VOIP
VOIPVOIP
VOIP
 
Jingle
JingleJingle
Jingle
 
Talking To Rails
Talking To RailsTalking To Rails
Talking To Rails
 
P2P for mobile devices
P2P for mobile devicesP2P for mobile devices
P2P for mobile devices
 
VOIP services
VOIP servicesVOIP services
VOIP services
 
Greach 2011 - Building Telephony Apps with Groovy and Grails
Greach 2011 - Building Telephony Apps with Groovy and GrailsGreach 2011 - Building Telephony Apps with Groovy and Grails
Greach 2011 - Building Telephony Apps with Groovy and Grails
 
Speech Recognition Technology
Speech Recognition TechnologySpeech Recognition Technology
Speech Recognition Technology
 
Adding Real-time Features to PHP Applications
Adding Real-time Features to PHP ApplicationsAdding Real-time Features to PHP Applications
Adding Real-time Features to PHP Applications
 
MM_Conferencing.ppt
MM_Conferencing.pptMM_Conferencing.ppt
MM_Conferencing.ppt
 
VOICE BROWSER
VOICE BROWSERVOICE BROWSER
VOICE BROWSER
 
VOICE BROWSER
VOICE BROWSERVOICE BROWSER
VOICE BROWSER
 

Plus de Mojo Lingo

AstriCon 2015: WebRTC: How it Works, and How it Breaks
AstriCon 2015: WebRTC: How it Works, and How it BreaksAstriCon 2015: WebRTC: How it Works, and How it Breaks
AstriCon 2015: WebRTC: How it Works, and How it BreaksMojo Lingo
 
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In SightFreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In SightMojo Lingo
 
Now Hear This! Putting Voice, Video, and Text into Ruby on Rails
Now Hear This! Putting Voice, Video, and Text into Ruby on RailsNow Hear This! Putting Voice, Video, and Text into Ruby on Rails
Now Hear This! Putting Voice, Video, and Text into Ruby on RailsMojo Lingo
 
Using Asterisk to Create "Her"
Using Asterisk to Create "Her"Using Asterisk to Create "Her"
Using Asterisk to Create "Her"Mojo Lingo
 
AdhearsionConf 2013 Keynote
AdhearsionConf 2013 KeynoteAdhearsionConf 2013 Keynote
AdhearsionConf 2013 KeynoteMojo Lingo
 
Speech-Enabling Web Apps
Speech-Enabling Web AppsSpeech-Enabling Web Apps
Speech-Enabling Web AppsMojo Lingo
 
WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013Mojo Lingo
 
Infiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando RubyInfiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando RubyMojo Lingo
 
Enhancing FreePBX with Adhearsion
Enhancing FreePBX with AdhearsionEnhancing FreePBX with Adhearsion
Enhancing FreePBX with AdhearsionMojo Lingo
 
Connecting Adhearsion
Connecting AdhearsionConnecting Adhearsion
Connecting AdhearsionMojo Lingo
 
Testing Adhearsion Applications
Testing Adhearsion ApplicationsTesting Adhearsion Applications
Testing Adhearsion ApplicationsMojo Lingo
 
Building Real Life Applications with Adhearsion
Building Real Life Applications with AdhearsionBuilding Real Life Applications with Adhearsion
Building Real Life Applications with AdhearsionMojo Lingo
 
Keeping It Realtime!
Keeping It Realtime!Keeping It Realtime!
Keeping It Realtime!Mojo Lingo
 
Integrating Voice Through Adhearsion
Integrating Voice Through AdhearsionIntegrating Voice Through Adhearsion
Integrating Voice Through AdhearsionMojo Lingo
 
Infiltrating Telecoms Using Ruby
Infiltrating Telecoms Using RubyInfiltrating Telecoms Using Ruby
Infiltrating Telecoms Using RubyMojo Lingo
 
Telephony Through Ruby Colored Lenses
Telephony Through Ruby Colored LensesTelephony Through Ruby Colored Lenses
Telephony Through Ruby Colored LensesMojo Lingo
 
Voice Applications for the Modern Open Source Hacker
Voice Applications for the Modern Open Source HackerVoice Applications for the Modern Open Source Hacker
Voice Applications for the Modern Open Source HackerMojo Lingo
 
Multidextrous Voice Application Framework
Multidextrous Voice Application FrameworkMultidextrous Voice Application Framework
Multidextrous Voice Application FrameworkMojo Lingo
 
Voice Applications with Adhearsion
Voice Applications with AdhearsionVoice Applications with Adhearsion
Voice Applications with AdhearsionMojo Lingo
 
A Hackaton Focused on Call Control
A Hackaton Focused on Call ControlA Hackaton Focused on Call Control
A Hackaton Focused on Call ControlMojo Lingo
 

Plus de Mojo Lingo (20)

AstriCon 2015: WebRTC: How it Works, and How it Breaks
AstriCon 2015: WebRTC: How it Works, and How it BreaksAstriCon 2015: WebRTC: How it Works, and How it Breaks
AstriCon 2015: WebRTC: How it Works, and How it Breaks
 
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In SightFreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
 
Now Hear This! Putting Voice, Video, and Text into Ruby on Rails
Now Hear This! Putting Voice, Video, and Text into Ruby on RailsNow Hear This! Putting Voice, Video, and Text into Ruby on Rails
Now Hear This! Putting Voice, Video, and Text into Ruby on Rails
 
Using Asterisk to Create "Her"
Using Asterisk to Create "Her"Using Asterisk to Create "Her"
Using Asterisk to Create "Her"
 
AdhearsionConf 2013 Keynote
AdhearsionConf 2013 KeynoteAdhearsionConf 2013 Keynote
AdhearsionConf 2013 Keynote
 
Speech-Enabling Web Apps
Speech-Enabling Web AppsSpeech-Enabling Web Apps
Speech-Enabling Web Apps
 
WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013
 
Infiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando RubyInfiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando Ruby
 
Enhancing FreePBX with Adhearsion
Enhancing FreePBX with AdhearsionEnhancing FreePBX with Adhearsion
Enhancing FreePBX with Adhearsion
 
Connecting Adhearsion
Connecting AdhearsionConnecting Adhearsion
Connecting Adhearsion
 
Testing Adhearsion Applications
Testing Adhearsion ApplicationsTesting Adhearsion Applications
Testing Adhearsion Applications
 
Building Real Life Applications with Adhearsion
Building Real Life Applications with AdhearsionBuilding Real Life Applications with Adhearsion
Building Real Life Applications with Adhearsion
 
Keeping It Realtime!
Keeping It Realtime!Keeping It Realtime!
Keeping It Realtime!
 
Integrating Voice Through Adhearsion
Integrating Voice Through AdhearsionIntegrating Voice Through Adhearsion
Integrating Voice Through Adhearsion
 
Infiltrating Telecoms Using Ruby
Infiltrating Telecoms Using RubyInfiltrating Telecoms Using Ruby
Infiltrating Telecoms Using Ruby
 
Telephony Through Ruby Colored Lenses
Telephony Through Ruby Colored LensesTelephony Through Ruby Colored Lenses
Telephony Through Ruby Colored Lenses
 
Voice Applications for the Modern Open Source Hacker
Voice Applications for the Modern Open Source HackerVoice Applications for the Modern Open Source Hacker
Voice Applications for the Modern Open Source Hacker
 
Multidextrous Voice Application Framework
Multidextrous Voice Application FrameworkMultidextrous Voice Application Framework
Multidextrous Voice Application Framework
 
Voice Applications with Adhearsion
Voice Applications with AdhearsionVoice Applications with Adhearsion
Voice Applications with Adhearsion
 
A Hackaton Focused on Call Control
A Hackaton Focused on Call ControlA Hackaton Focused on Call Control
A Hackaton Focused on Call Control
 

Dernier

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 

Dernier (20)

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

Rayo for XMPP Folks

  • 1. Rayo for XMPP Folks Ben Langfeld @benlangfeld blangfeld@mojolingo.com PAGE
  • 2. WHAT IS ADHEARSION? •Middle man between phone calls and the real world •Does not process any media or handle signaling directly •Exercises third-party call control (3PCC) •All Ruby •High-level API 2 PAGE
  • 3. HOW DO CALLS WORK WITH 3PCC? Media & Signaling SIP Jingle 3PCC No media, just business logic Rayo Protocol (over XMPP) 3 PAGE
  • 4. Background info @ http://rayo.org • Draft spec @ http://rayo.org/xep • Source @ http://github.com/rayo/xmpp • Issue queue @ http://github.com/rayo/xmpp/issues 4 PAGE
  • 5. Call Control: Incoming calls are "offered" to clients at which point they can be answered, rejected, redirected to another destination, etc. Evey attempt is made to be shield the Rayo client from the low level telephony protocol (e.g. SIP, Jingle, PSTN, etc.) • Audio File Playback: A compatible Rayo server will fetch a file from a a specified URL and play the containing audio to the caller. • Speech Synthesis / TTS: In cases where dynamic data must be spoken, a Speech Synthesis engine many be used to play computer generated speech to the caller. • DTMF / Touch-tone Events: Rayo surfaces real-time event when the caller presses keys on their touch-tone keypad. • Speech Recognition: Enables the phone application to take spoken queues allowing for sophisticated voice-driven menus and directory services. • Call Recording: Can be used to capture the caller’s voice (e.g. Voicemail) or both sides of the call for auditing and compliance purposes. • Mixing: Typically referred to as an audio “conference”; calls can be joined together so that the participants can hear each other in real-time. 5 PAGE
  • 6. WHY ANOTHER PROTOCOL? Simple client library implementation - XMPP client libraries exist in all modern languages, and many are of a high standard of quality and maturity. • Cross-platform standard - The protocol must not expose any platform specifics and all elements should be candidates for implementation on any suitable platform. Additionally, the protocol must be ratified as a standard following a community discussion. • Asynchronous interface - The protocol should present an asynchronous interface for the purposes of performance and flexibility in performing parallel operations. • Consistent - The protocol must provide a considered, unobtrusive, logically and philosophically consistent interface. • Federated - The protocol must support communication between client and server entities on separately owned, operated and addressed networks. • Flexible routing - The protocol must lend itself to routing across wide networks such as the internet, and to potential complex routing such as proxying or redirection. Additionally, the client and server should each be aware of the presence of the other and be able to use such information to make routing decisions. • Extensible - The protocol must provide for the possibility of extra functionality being added by future specifications or an individual implementation. • Secure - The protocol should include appropriate measures for authentication and authorization of participants, as well as preventing third-parties from intercepting control messages. 6 PAGE
  • 7. • Primitives: Offer, Accept, Answer, Reject, Hangup, Join/Unjoin • Media components: • Output (audio playback, text-to-speech) • Input (DTMF, speech recognition) • Record • Currently voice only, but extensible to video 7 PAGE
  • 8. QUESTIONS? @benlangfeld blangfeld@mojolingo.com PAGE