Asterisk Avancé

The Definitive Guide, 4th Edition :

  • -16. Relational Database Integration
  • -18. External Services
  • -20. Asterisk Manager Interface (AMI)
  • -21. Asterisk Gateway Interface (AGI)
  • -22. Clustering
  • -24. System Monitoring and Logging
  • -26. Security

1. Base de données

2. AGI / AMI

2.1. Frameworks et librairies AGI

Name Language Website Protocols
Adhearsion Ruby http://www.adhearsion.com/ AMI/FastAGI
Asterisk-Java Java https://blogs.reucon.com/asterisk-java/ AMI/FastAGI
PAGI PHP https://github.com/marcelog/PAGI AGI
PHPAGI PHP http://phpagi.sourceforge.net/ AGI
Panoramisk Python+AsyncIO https://github.com/gawel/panoramisk AMI/FastAGI
Pyst2 Python https://github.com/rdegges/pyst2 AMI/AGI
StarPy Python+Twisted https://github.com/asterisk/starpy AMI/FastAGI
Nanoagi C++ http://sourceforge.net/projects/nanoagi/ AGI
AsterNET .NET (C#/VB.net) https://github.com/skrusty/AsterNET AMI/FastAGI
Ding-dong node.js https://www.npmjs.com/package/ding-dong AGI

Source : https://wiki.asterisk.org/wiki/pages/viewpage.action?pageId=32375589

2.2. Exemple AGI en bash

The Definitive Guide, 4th Edition, pages 583-584.

Création d'un fichier /var/lib/asterisk/agi-bin/hello-world.sh

#!/bin/bash
# Consume all variables sent by Asterisk
while read VAR && [ -n ${VAR} ] ; do : ; done
# Answer the call.
echo "ANSWER"
read RESPONSE
# Say the letters of "Hello World"
echo 'SAY ALPHA "Hello World" ""'
read RESPONSE
exit 0

Attribuer des permissions d'exécution sur le script :

chmod +x /var/lib/asterisk/agi-bin/hello-world.sh

Ajout d'un extension qui appelle le script dans dialplan (extensions.conf) :

include=>hello-world

[hello-world]
exten => 500,1,AGI(hello-world.sh)

Dans la console d'Asterisk :

dialplan reload

2.3. Exemple AGI en node.js

2.4. ARI

ARI : asynchronous API REST permettant de créer sa propre application voicemail.

3. Backups d'Asterisk

Cibles :

  • Fichiers compilés et installés
  • Dump des bases de données
  • Fichiers de logs

En format d'archive compressée avec une planification Cron

4. Mise-à-jour d'Asterisk

Re-compilation des sources.

5. Haute Disponibilté / Clustering

  • Système
  • Logiciel Asterisk
  • Bases de données
  • Etat des périphériques
  • Lignes

5.1. The Definitive Guide

The Definitive Guide, 4th Edition :

  • Asterisk and Database Integration p. 606
  • Single Database p. 606
  • Replicated Databases p. 608
  • Asterisk and Distributed Device States p. 609
  • Distributing Device States over a LAN p. 610
  • Distributing Device States over a WAN p. 611
  • Multiple Queues, Multiple Sites p. 613

voir http://klaverstyn.com.au/david/wiki/index.php?title=Asterisk_Cluster_on_CentOS

5.2. Solutions HA

Source : https://www.freepbx.org/high-availability/

6. Text-to-speech / Speech recognition

texte-to-speech

Commentaires