SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
TADHack 2014
APIdaze API
What is it ? Who can use it ? How does it work ?
TADHack 2014
What is it ?
●
Components to manage things VoIP related
– calls to DID numbers and from SIP accounts or the
Web (WebRTC/Flash UDP)
●
SIP domains
– vm.yourappkey.apidaze.voip
●
DID numbers
TADHack 2014
From cloud PBX to API managed
telephony
●
A web interface to manage you PBX is fine
●
Now VoIP engineers can build their own cloud
PBX using an API
●
And web developers can easily integrate telco
applications
TADHack 2014
API components
●
HTTP/REST
●
HTTP/XML
●
JavaScript
●
… and developer programs
TADHack 2014
Who can use it ?
●
VoIP engineers
– call transfer, line supervision, voicemails, fax to
email, etc.
●
Web Developers
– Who want to bring PSTN to WebRTC apps
– Who want to stay away from SIP
– And even more from :
●
E1/T1, PRI, BRI, codecs
TADHack 2014
HTTP/REST
●
A set of commands to
– Place calls, send SMS and faxes
●
And list and Create/Read/Update/Delete
(CRUD)
– DID numbers
– SIP accounts
– Voicemails boxes
– Billing accounts
TADHack 2014
HTTP/REST example
curl -v -X GET "https://api.apidaze.io/4561sd03/sipaccounts?api_secret=99f140425ed7ert4clgt19d9c0105283"
[
{
"id": "8",
"name": "testsipaccount",
"sip": {
"username": "testsipaccount",
"password": "FEtg5qZuyx0hoLYx"
},
"callerid": {
"internal_name": "testsipaccount",
"internal_number": "",
"external_name": "testsipaccount",
"external_number": ""
},
"created_at": "2012-07-24 22:38:25",
"updated_at": "2012-10-05 17:08:36"
}
]
TADHack 2014
HTTP/XML scripting
●
XML documents written by the developer
●
Stored in an web server controlled by the
developer
●
Downloaded via HTTP and executed when
– A DID is called
– A call is placed from a SIP account, or from the
WebRTC/Flash UDP JavaScript API
– Each call has his own context defined by the parameters
sent within the HTTP request
TADHack 2014
HTTP/XML script example
<document>
<work>
<speak lang='en-US'>Please wait while we're connecting your call</speak>
<dial>
<number>0033123456789</number>
<sipaccount>bob</sipaccount>
</dial>
<hangup/>
</work>
</document>
TADHack 2014
Call example from the PSTN to a
DID
1. Call comes in to a DID
2. URL of the External Script is fetched
•
URL : http://yourdomain.com/yourscript.php
•
Parameters include : Caller ID and Called number (DID),
channel identifier
3. XML instructions from the previous URL are run
•
e.g. : <dial><sipaccount>bob</sipaccount></dial>
4. Call ends, URL of the External Script is fetched again
•
Parameters include : channel identifier, exiting=true
TADHack 2014
Call from a SIP account
1. Call comes in from a SIP account
bob@vm.yourappkey.apidaze.voip
2. URL of the External Script is fetched
•
URL : http://yourdomain.com/yourscript.php
•
Parameters include : SIP from URI
sip:bob@vm.yourdomain.apidaze.voip, desitnation, channel identifier
3. XML instructions from the previous URL are run
•
e.g. : <dial><number>0033123456789</number></dial>
4. Call ends, URL of the External Script is fetched again
•
Parameters include : channel identifier, exiting=true
TADHack 2014
JavaScript
●
What web developers love
– jQuery, Prototype/Scriptaculous
– Now even on the server side with Node.js
●
Being extended to realtime voice/video with
WebRTC
– getUserMedia function
– PeerConnection object
TADHack 2014
JavaScript parameters
●
Context : a call is placed from a web page
– WebRTC or Flash UDP
●
The developer adds JavaScript parameters
– User identifier, number to call, etc.
●
Those parameters are sent over HTTP to get
the XML instructions
– The call is processed by the developer's script
TADHack 2014
Call example from JavaScript
1. Call comes in from an HTML/JavaScript page
2. URL of the External Script is fetched
•
From the apiKey parameter
•
Parameters include : anything from the web page
3. XML instructions from the previous URL are run
•
e.g. : <dial><sipaccount>bob</sipaccount></dial>
4. Call ends, URL of the External Script is fetched again
•
Parameters include : channel identifier, exiting=true
TADHack 2014
JavaScript Events
●
Often called « event driven programming »
●
Events retrieved from the telco side
– Call management events : Call Ringing, Call
Answered, Call Hangup
– In-call events : Text message, Who is talking (in a
conference room)
TADHack 2014
Conferencing
●
Text/audio/video bridge provided to PSTN,
WebRTC and Flash endpoints
– Text/audio available to WebRTC/Flash endpoints
– Video for WebRTC endpoints (Chrome/Opera)
●
AudioBridge is Asterisk based
●
VideoBridge is Jitsi based
●
Both without SIP or XMPP
– Raw JSON text exchanged over WebSockets

Contenu connexe

Similaire à APIdaze presentation at TADHack 2014

An hour with WebRTC FIC UDC
An hour with WebRTC FIC UDCAn hour with WebRTC FIC UDC
An hour with WebRTC FIC UDC
Quobis
 
Nokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha appsNokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha apps
Microsoft Mobile Developer
 
1 Vo Ip Overview
1 Vo Ip Overview1 Vo Ip Overview
1 Vo Ip Overview
Mayank Vora
 
1 Vo I P Overview
1  Vo I P  Overview1  Vo I P  Overview
1 Vo I P Overview
Mayank Vora
 
1 VoIP Overview[1]
1 VoIP Overview[1]1 VoIP Overview[1]
1 VoIP Overview[1]
William Giba
 

Similaire à APIdaze presentation at TADHack 2014 (20)

TADS Developer Summit Apidaze Philippe Sultan
TADS Developer Summit Apidaze Philippe SultanTADS Developer Summit Apidaze Philippe Sultan
TADS Developer Summit Apidaze Philippe Sultan
 
Basic VoIP Drupal Intro - for BioRAFT
Basic VoIP Drupal Intro - for BioRAFTBasic VoIP Drupal Intro - for BioRAFT
Basic VoIP Drupal Intro - for BioRAFT
 
Introduction To SIP
Introduction  To  SIPIntroduction  To  SIP
Introduction To SIP
 
Avaya lync integration 6 16
Avaya lync integration 6 16Avaya lync integration 6 16
Avaya lync integration 6 16
 
DEVNET-1121 Customizing Cisco Video Access for Guests
DEVNET-1121	Customizing Cisco Video Access for GuestsDEVNET-1121	Customizing Cisco Video Access for Guests
DEVNET-1121 Customizing Cisco Video Access for Guests
 
O365con14 - lync to the future
O365con14 - lync to the futureO365con14 - lync to the future
O365con14 - lync to the future
 
Skype 4 Business Webcast 11. März 2015
Skype 4 Business Webcast 11. März 2015Skype 4 Business Webcast 11. März 2015
Skype 4 Business Webcast 11. März 2015
 
Skype Summit 2017
Skype Summit 2017Skype Summit 2017
Skype Summit 2017
 
An hour with WebRTC FIC UDC
An hour with WebRTC FIC UDCAn hour with WebRTC FIC UDC
An hour with WebRTC FIC UDC
 
Nokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha appsNokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha apps
 
Workshop web rtc customers and use cases
Workshop web rtc customers and use casesWorkshop web rtc customers and use cases
Workshop web rtc customers and use cases
 
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
 
Bonrix Bulk voice call - Voice SMS Marketing Web Based Panel
Bonrix Bulk voice call - Voice SMS Marketing Web Based PanelBonrix Bulk voice call - Voice SMS Marketing Web Based Panel
Bonrix Bulk voice call - Voice SMS Marketing Web Based Panel
 
1 VoIP Overview[1]
1 VoIP Overview[1]1 VoIP Overview[1]
1 VoIP Overview[1]
 
1 Vo Ip Overview
1 Vo Ip Overview1 Vo Ip Overview
1 Vo Ip Overview
 
Remote & Branch Networking Fundamentals #AirheadsConf Italy
Remote & Branch Networking Fundamentals #AirheadsConf ItalyRemote & Branch Networking Fundamentals #AirheadsConf Italy
Remote & Branch Networking Fundamentals #AirheadsConf Italy
 
Ipo spaces calling document-v1
Ipo spaces calling document-v1Ipo spaces calling document-v1
Ipo spaces calling document-v1
 
Leveraging REST APIs for Infrastructure Management using FME
Leveraging REST APIs for Infrastructure Management using FMELeveraging REST APIs for Infrastructure Management using FME
Leveraging REST APIs for Infrastructure Management using FME
 
IP and VoIP Fundamentals
IP and VoIP FundamentalsIP and VoIP Fundamentals
IP and VoIP Fundamentals
 

Plus de Alan Quayle

Plus de Alan Quayle (20)

What is a vCon?
What is a vCon?What is a vCon?
What is a vCon?
 
Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...
Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...
Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...
 
Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...
Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...
Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...
 
What makes a cellular IoT API great? Tobias Goebel
What makes a cellular IoT API great? Tobias GoebelWhat makes a cellular IoT API great? Tobias Goebel
What makes a cellular IoT API great? Tobias Goebel
 
eSIM as Root of Trust for IoT security, João Casal
eSIM as Root of Trust for IoT security, João CasaleSIM as Root of Trust for IoT security, João Casal
eSIM as Root of Trust for IoT security, João Casal
 
Architecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin SimeArchitecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin Sime
 
CPaaS Conversational Platforms and Conversational Customer Service – The Expe...
CPaaS Conversational Platforms and Conversational Customer Service – The Expe...CPaaS Conversational Platforms and Conversational Customer Service – The Expe...
CPaaS Conversational Platforms and Conversational Customer Service – The Expe...
 
Programmable Testing for Programmable Telcos, Andreas Granig
Programmable Testing for Programmable Telcos, Andreas GranigProgrammable Testing for Programmable Telcos, Andreas Granig
Programmable Testing for Programmable Telcos, Andreas Granig
 
How to best maximize the conversation data stream for your business? Surbhi R...
How to best maximize the conversation data stream for your business? Surbhi R...How to best maximize the conversation data stream for your business? Surbhi R...
How to best maximize the conversation data stream for your business? Surbhi R...
 
Latest Updates and Experiences in Launching Local Language Tools, Karel Bourgois
Latest Updates and Experiences in Launching Local Language Tools, Karel BourgoisLatest Updates and Experiences in Launching Local Language Tools, Karel Bourgois
Latest Updates and Experiences in Launching Local Language Tools, Karel Bourgois
 
What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...
What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...
What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...
 
Master the Audience Experience Multiverse: AX Best Practices and Success Stor...
Master the Audience Experience Multiverse: AX Best Practices and Success Stor...Master the Audience Experience Multiverse: AX Best Practices and Success Stor...
Master the Audience Experience Multiverse: AX Best Practices and Success Stor...
 
Open Source Telecom Software Survey 2022, Alan Quayle
Open Source Telecom Software Survey 2022, Alan QuayleOpen Source Telecom Software Survey 2022, Alan Quayle
Open Source Telecom Software Survey 2022, Alan Quayle
 
OpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei Iancu
OpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei IancuOpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei Iancu
OpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei Iancu
 
TADS 2022 - Shifting from Voice to Workflow Management, Filipe Leitao
TADS 2022 - Shifting from Voice to Workflow Management, Filipe LeitaoTADS 2022 - Shifting from Voice to Workflow Management, Filipe Leitao
TADS 2022 - Shifting from Voice to Workflow Management, Filipe Leitao
 
What happened since we last met TADSummit 2022, Alan Quayle
What happened since we last met TADSummit 2022, Alan QuayleWhat happened since we last met TADSummit 2022, Alan Quayle
What happened since we last met TADSummit 2022, Alan Quayle
 
Stacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike Bromwich
Stacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike BromwichStacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike Bromwich
Stacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike Bromwich
 
AWA – a Telco bootstrapping product development: Challenges with dynamic mark...
AWA – a Telco bootstrapping product development: Challenges with dynamic mark...AWA – a Telco bootstrapping product development: Challenges with dynamic mark...
AWA – a Telco bootstrapping product development: Challenges with dynamic mark...
 
Founding a Startup in Telecoms. The good, the bad and the ugly. João Camarate
Founding a Startup in Telecoms. The good, the bad and the ugly. João CamarateFounding a Startup in Telecoms. The good, the bad and the ugly. João Camarate
Founding a Startup in Telecoms. The good, the bad and the ugly. João Camarate
 
How to bring down your own RTC platform. Sandro Gauci
How to bring down your own RTC platform. Sandro GauciHow to bring down your own RTC platform. Sandro Gauci
How to bring down your own RTC platform. Sandro Gauci
 

Dernier

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
vu2urc
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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 Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

APIdaze presentation at TADHack 2014

  • 1. TADHack 2014 APIdaze API What is it ? Who can use it ? How does it work ?
  • 2. TADHack 2014 What is it ? ● Components to manage things VoIP related – calls to DID numbers and from SIP accounts or the Web (WebRTC/Flash UDP) ● SIP domains – vm.yourappkey.apidaze.voip ● DID numbers
  • 3. TADHack 2014 From cloud PBX to API managed telephony ● A web interface to manage you PBX is fine ● Now VoIP engineers can build their own cloud PBX using an API ● And web developers can easily integrate telco applications
  • 5. TADHack 2014 Who can use it ? ● VoIP engineers – call transfer, line supervision, voicemails, fax to email, etc. ● Web Developers – Who want to bring PSTN to WebRTC apps – Who want to stay away from SIP – And even more from : ● E1/T1, PRI, BRI, codecs
  • 6. TADHack 2014 HTTP/REST ● A set of commands to – Place calls, send SMS and faxes ● And list and Create/Read/Update/Delete (CRUD) – DID numbers – SIP accounts – Voicemails boxes – Billing accounts
  • 7. TADHack 2014 HTTP/REST example curl -v -X GET "https://api.apidaze.io/4561sd03/sipaccounts?api_secret=99f140425ed7ert4clgt19d9c0105283" [ { "id": "8", "name": "testsipaccount", "sip": { "username": "testsipaccount", "password": "FEtg5qZuyx0hoLYx" }, "callerid": { "internal_name": "testsipaccount", "internal_number": "", "external_name": "testsipaccount", "external_number": "" }, "created_at": "2012-07-24 22:38:25", "updated_at": "2012-10-05 17:08:36" } ]
  • 8. TADHack 2014 HTTP/XML scripting ● XML documents written by the developer ● Stored in an web server controlled by the developer ● Downloaded via HTTP and executed when – A DID is called – A call is placed from a SIP account, or from the WebRTC/Flash UDP JavaScript API – Each call has his own context defined by the parameters sent within the HTTP request
  • 9. TADHack 2014 HTTP/XML script example <document> <work> <speak lang='en-US'>Please wait while we're connecting your call</speak> <dial> <number>0033123456789</number> <sipaccount>bob</sipaccount> </dial> <hangup/> </work> </document>
  • 10. TADHack 2014 Call example from the PSTN to a DID 1. Call comes in to a DID 2. URL of the External Script is fetched • URL : http://yourdomain.com/yourscript.php • Parameters include : Caller ID and Called number (DID), channel identifier 3. XML instructions from the previous URL are run • e.g. : <dial><sipaccount>bob</sipaccount></dial> 4. Call ends, URL of the External Script is fetched again • Parameters include : channel identifier, exiting=true
  • 11. TADHack 2014 Call from a SIP account 1. Call comes in from a SIP account bob@vm.yourappkey.apidaze.voip 2. URL of the External Script is fetched • URL : http://yourdomain.com/yourscript.php • Parameters include : SIP from URI sip:bob@vm.yourdomain.apidaze.voip, desitnation, channel identifier 3. XML instructions from the previous URL are run • e.g. : <dial><number>0033123456789</number></dial> 4. Call ends, URL of the External Script is fetched again • Parameters include : channel identifier, exiting=true
  • 12. TADHack 2014 JavaScript ● What web developers love – jQuery, Prototype/Scriptaculous – Now even on the server side with Node.js ● Being extended to realtime voice/video with WebRTC – getUserMedia function – PeerConnection object
  • 13. TADHack 2014 JavaScript parameters ● Context : a call is placed from a web page – WebRTC or Flash UDP ● The developer adds JavaScript parameters – User identifier, number to call, etc. ● Those parameters are sent over HTTP to get the XML instructions – The call is processed by the developer's script
  • 14. TADHack 2014 Call example from JavaScript 1. Call comes in from an HTML/JavaScript page 2. URL of the External Script is fetched • From the apiKey parameter • Parameters include : anything from the web page 3. XML instructions from the previous URL are run • e.g. : <dial><sipaccount>bob</sipaccount></dial> 4. Call ends, URL of the External Script is fetched again • Parameters include : channel identifier, exiting=true
  • 15. TADHack 2014 JavaScript Events ● Often called « event driven programming » ● Events retrieved from the telco side – Call management events : Call Ringing, Call Answered, Call Hangup – In-call events : Text message, Who is talking (in a conference room)
  • 16. TADHack 2014 Conferencing ● Text/audio/video bridge provided to PSTN, WebRTC and Flash endpoints – Text/audio available to WebRTC/Flash endpoints – Video for WebRTC endpoints (Chrome/Opera) ● AudioBridge is Asterisk based ● VideoBridge is Jitsi based ● Both without SIP or XMPP – Raw JSON text exchanged over WebSockets