#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
TADS Developer Summit Apidaze Philippe Sultan
1. Apidaze telecom API
What is it ? Who can use it ? How does it work ?
Telecom Application Developer Summit
2. What is it ?
●
Components to manage things telecom relate
–
●
calls to DID numbers and from SIP accounts or the
Web (WebRTC/Flash UDP)
SIP domains
–
vm.yourdomain.apidaze.voip
●
DID numbers
●
And soon, mobile applications
Telecom Application Developer Summit
3. 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
Telecom Application Developer Summit
5. Who can use it ?
●
VoIP engineers
–
●
call transfer, line supervision, voicemails, fax to
email, etc.
Developers
–
–
Who want to stay away from SIP
And even more from :
●
E1/T1, PRI, BRI, codecs
Telecom Application Developer Summit
6. 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
Telecom Application Developer Summit
8. 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
Telecom Application Developer Summit
9. 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>
Telecom Application Developer Summit
10. 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
Telecom Application Developer Summit
11. Call from a SIP account
1. Call comes in from a SIP account
bob@vm.youdomain.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
Telecom Application Developer Summit
12. 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
Telecom Application Developer Summit
13. JavaScript parameters
●
Context : a call is placed from a web page
–
●
The developer adds JavaScript parameters
–
●
WebRTC or Flash UDP
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
Telecom Application Developer Summit
14. 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
Telecom Application Developer Summit
15. 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)
Telecom Application Developer Summit
16. Things to come, things to work on
●
Mobile SDK
–
●
WebRTC, Flash, SIP
Video MCU (Multipoint Conference Unit)
–
–
H.264, VP8 ?
Transcoding, relaying ?
Telecom Application Developer Summit