Asterisk: El futuro es REST
Gaston Draque
@nexacomm
@asterisk
OS toolkit telefonía
+1M sistemas producción
+170 países
Licencia Dual (GPLv2,OEM)
Soporte (Community/Digium/Terceros)
SIP
IAX
•Queues
•Ringgroups
•DIDs
•Routing
•etc
SIP / IAX / FAX / TDM
Applications / Services
Services
TDM
TDM PBX
IP PBX
PBX Híbrida :P
VoIP Gateway
Call Center
Servidor de Apps Voz
Architecture
Core
module management
dynamic modules
Linux Shared Objects
/usr/lib/asterisk/modules/*.so
reads configuration
system timing
channel management
Architecture
modules
/usr/lib/asterisk/modules/*.so
chan_*.so Channel Drivers
app_*.so Dialplan Applications
func_*.so Dialplan Functions
codec_*.so CODECs
format_*.so File Format Drivers
cdr_*.so CDR Drivers
cel_*.so CEL Drivers
bridge_*.so Bridge Drivers
res_*.so Resources
Asterisk <11 APIs
{"apis":[
{"name":"Internal C interfaces"},
{"name":"Dialplan scripting langs"},
{"name":"Asterisk Gateway Interface (AGI)"},
{"name":"Asterisk Manager Interface (AMI)"},
{"name":"Asterisk Command Line Interface (CLI)"},
{"name":"Call Files"},
{"name":"Asterisk Realtime Architecture (ARA)"}
]}
API
Revolution
Asterisk =12 Overhauling
{“changes":[
{"name":“pjsip“, “type”:”channel driver”,”ver”:”12”},
{"name":“stasis“, “type”:”message bus” ,”ver”:”12”},
{"name":“ARI“, “type”:”API” ,”ver”:”12”}
]}
ARI:Under the hood
ARI:Under the hood
Stasis
Stasis
HTTP bindings
-HTTP API
-WebSockets Events
RESTFul
Internals
¿Por donde arrancamos?
Swagger
Swagger
Swagger
Swagger
:(){ :|:& };:
ari-py github.com/asterisk/ari-py
AsterNet.ARI github.com/skrusty/AsterNET.ARI
ari4java github.com/l3nz/ari4java
node-ari-client github.com/asterisk/node-ari-client
phpari www.phpari.org/
ari github.com/abourget/ari
Libraries
How can it be used?
Questions
CC BY 2.0
CC NY-NC 2.0
CC BY-NC-SA 2.0
CC BY-SA 3.0
ODbL http://opendatacommons.org/licenses/odbl/
Orin Zebest
Stéfan
Stéfan
Marcin Wichary https://www.flickr.com/photos/mwichary/2167330231/
K putt https://www.flickr.com/photos/k_putt/11792034414/
NASA http://apod.nasa.gov/apod/image/0709/freeflyer_nasa_big.jpg
Erick R.B Ortega https://commons.wikimedia.org/wiki/File:Molecula_adn.jpg
Susanne Nilsson https://www.flickr.com/photos/infomastern/15102671073/
Tooled Flatty https://www.flickr.com/photos/flattop341/1085739925/
Digital cat https://www.flickr.com/photos/14646075@N03/4581763569/
OpenStreetMap https://www.openstreetmap.org/#map=18/4.64228/-74.07989
Jaromil http://jaromil.dyne.org [public domain]
¡

Asterisk: the future is at REST