@bitsensevoip
www.bitsense.com.ar
www.bitsense.com.ar/blog
Martín Ariel D'Onofrio
http://capacitacion.bitsense.com.ar/es/c...
¿Que es Asterisk?
Framework de desarrollo para construir
aplicaciones de comunicación.
¿Que soporta de forma nativa?
Protocolos
● Google Talk
● H.323
● IAX™ (Inter-Asterisk eXchange)
● Jingle/XMPP
● SCCP (Cisco® Skinny®)
● SIP (Session Ini...
Protocolos tradicionales
● MFC-R2
● E&M Wink
● Feature Group D
● FXS
● FXO
● GR-303
● Loopstart
● Groundstart
● Kewlstart
...
Call Features
●Blind/Supervised Transfer
●Conference Bridging
●Supervised Transfer
●Do Not Disturb
●Text-to-Speech (via Fe...
CORECORE
FormatoArchivosFormatoArchivos
ChannelsChannels
CodecTranslationCodecTranslation
AplicacionesAplicaciones
Confere...
Usos cotidianos
●
IP PBX
●
Voip Gateway
●
Voicemail Server
●
CallCenter
●
IVR server
Internet
PSTN
ITSPITSP
No requiere hardware adicional.
Teléfonos IP.
Uso del cableado Ethernet convencional.
Acceso a la P...
Voip Gateway
ITSPITSP
Internet
PSTN
Voicemail Server
SIP
E1
PSTN
E1 SIP
CallCenter
IVR SERVER
PSTN
HA
¿Que nos propone el Framework?
¿Que herramientas nos provee?
✔ Manager
✔ Agi/FastAgi
✔ Codigo fuente!
¿Que es el manager? (AMI)
AMI: Asterisk manager interface
En pocas palabras,
Nos permite manejar Asterisk desde una aplica...
Ejemplo:
Damos de alta un usuario
manager.conf
[usuario]
secret = password
read = system,call,log,verbose,command,config,r...
Asterisk-java lib.
Compone de un conjunto de clases Java que permiten crear fácilmente
aplicaciones Java que interactúan c...
Arquitectura del manager.
→ Enviamos comandos
← Recibimos eventos/respuestas
- Usa el puerto 5028 de TCP
- Todo se transmi...
Discador
Asterisk gateway interface (AGI)
Permite programar aplicaciones en lenguajes que no
sean nativos de Asterisk.
ActiveX, jav...
DialPlan (extensions.conf)
[testAgi]
exten => 900,1,AGI(script-expedientes.agi, ${NROEXP}, ${SECTOR})
exten => 900,n,Hangu...
FastAGI
Un Fast AGI nos permite ejecutar un proceso que se queda escuchando en un puerto
y realiza alguna tarea en particu...
Programa java corriendo como proceso, implementa un FastAGI
public class Encuestar extends BaseAgiScript {
private static ...
Código Fuente
● GPL v2.
✔ Usar el software.
✔ Copiar y distribuir copias fieles o modificadas de programas
compilados o en...
Hasta acá llegamos.
¿Preguntas?
Upcoming SlideShare
Loading in...5
×

Asterix: simplemente...

636

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
636
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Asterix: simplemente...

  1. 1. @bitsensevoip www.bitsense.com.ar www.bitsense.com.ar/blog Martín Ariel D'Onofrio http://capacitacion.bitsense.com.ar/es/cursos/seminarios-gratuitos/asterisk- simplemente/asterisk-simplemente-remoto-11-07-13/
  2. 2. ¿Que es Asterisk? Framework de desarrollo para construir aplicaciones de comunicación.
  3. 3. ¿Que soporta de forma nativa?
  4. 4. Protocolos ● Google Talk ● H.323 ● IAX™ (Inter-Asterisk eXchange) ● Jingle/XMPP ● SCCP (Cisco® Skinny®) ● SIP (Session Initiation Protocol) ● UNIStim (Nortel)
  5. 5. Protocolos tradicionales ● MFC-R2 ● E&M Wink ● Feature Group D ● FXS ● FXO ● GR-303 ● Loopstart ● Groundstart ● Kewlstart ● MF and DTMF support ● Robbed-bit Signaling (RBS) Types ● E&M
  6. 6. Call Features ●Blind/Supervised Transfer ●Conference Bridging ●Supervised Transfer ●Do Not Disturb ●Text-to-Speech (via Festival) ●Three-way Calling ●Interactive Voice Response (IVR) ●Text To Speech ●Voicemail Y mas, muchoo mas..
  7. 7. CORECORE FormatoArchivosFormatoArchivos ChannelsChannels CodecTranslationCodecTranslation AplicacionesAplicaciones Conferencia, Voicemail, dial, etc IAX2, SIP, DAHDI, etc WAV,MP3,SLIN,GSM,etc. GSM,G711(u,a),G729, etcArquitectura
  8. 8. Usos cotidianos ● IP PBX ● Voip Gateway ● Voicemail Server ● CallCenter ● IVR server
  9. 9. Internet PSTN ITSPITSP No requiere hardware adicional. Teléfonos IP. Uso del cableado Ethernet convencional. Acceso a la PSTN vía ITSP. IP PBX
  10. 10. Voip Gateway ITSPITSP Internet PSTN
  11. 11. Voicemail Server SIP E1
  12. 12. PSTN E1 SIP CallCenter
  13. 13. IVR SERVER PSTN HA
  14. 14. ¿Que nos propone el Framework? ¿Que herramientas nos provee?
  15. 15. ✔ Manager ✔ Agi/FastAgi ✔ Codigo fuente!
  16. 16. ¿Que es el manager? (AMI) AMI: Asterisk manager interface En pocas palabras, Nos permite manejar Asterisk desde una aplicación externa.
  17. 17. Ejemplo: Damos de alta un usuario manager.conf [usuario] secret = password read = system,call,log,verbose,command,config,read,write,user,dialplan,originate write = system,call,log,verbose,command,config,read,write,user,dialplan,originate
  18. 18. Asterisk-java lib. Compone de un conjunto de clases Java que permiten crear fácilmente aplicaciones Java que interactúan con un servidor PBX Asterisk. http://www.asterisk-java.org/
  19. 19. Arquitectura del manager. → Enviamos comandos ← Recibimos eventos/respuestas - Usa el puerto 5028 de TCP - Todo se transmite en texto plano. Pensado para poder ser parseado. Soporte TLS/SSL
  20. 20. Discador
  21. 21. Asterisk gateway interface (AGI) Permite programar aplicaciones en lenguajes que no sean nativos de Asterisk. ActiveX, java, Pascal/ObjectPascal,Perl, PHP, Python, Ruby, C, .NET. Es usado comúnmente para programar rutinas complejas. Básicamente consiste en un script invocado desde el dialplan al cual pueden pasarse parámetros.
  22. 22. DialPlan (extensions.conf) [testAgi] exten => 900,1,AGI(script-expedientes.agi, ${NROEXP}, ${SECTOR}) exten => 900,n,Hangup() - ¿Y si quiero que mas de un Asterisk ejecute ese script?, lo puedo ejecutar centralizadamente? Si - ¿Como?
  23. 23. FastAGI Un Fast AGI nos permite ejecutar un proceso que se queda escuchando en un puerto y realiza alguna tarea en particular. Podemos pasarle argumentos, usando el formato HTTP.! Veamos un ejemplo!
  24. 24. Programa java corriendo como proceso, implementa un FastAGI public class Encuestar extends BaseAgiScript { private static final Logger log = Logger.getLogger(Encuestar.class); @Override public void service(AgiRequest arg0, AgiChannel arg1){ ….... //Consulto expediente en Base de datos. } DialPlan (extensions.conf) [testFastAgi] exten => 900,1,AGI(agi://localhost/core.Expediente?nroExpediente=${NROEXP}) exten => 900,n,Hangup()
  25. 25. Código Fuente ● GPL v2. ✔ Usar el software. ✔ Copiar y distribuir copias fieles o modificadas de programas compilados o en código fuente ✔ Refiriendo al original ✔ Si esta compilado, dejando disponible el código fuente
  26. 26. Hasta acá llegamos. ¿Preguntas?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×