SlideShare a Scribd company logo
1 of 16
Download to read offline
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

More Related Content

Similar to 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
 

Similar to 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
 

More from Alan Quayle

More from 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
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+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@
 

Recently uploaded (20)

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
+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...
 
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...
 

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