Asterisk MySQL : Différence entre versions

De Wiki NCad
Aller à : navigation, rechercher
(mysql.conf)
(Synthax)
Ligne 73 : Ligne 73 :
  
 
== Synthax ==
 
== Synthax ==
 +
 +
Les requêtes MySQL s'implémentent dans le DialPlan du fichier de configuration extensions.conf de la manière suivante :
 +
<blockquote>
 +
exten => 1,1,[[Asterisk_Synthax#Noop|NoOp(######## Requête MySQL ########)]]
 +
exten => 1,2,MYSQL(Connect connid ${DBHOST} ${DBUSER} ${DBPASS}
 +
exten => 1,3,MYSQL(Query resultid ${connid} <Requête SQL>)
 +
exten => 1,4,MYSQL(Fetch fetchid ${resultid} Resultat) ; le résultat de la requête est stocké dans la variable Resultat.
 +
exten => 1,5,MYSQL(Disconnect ${connid})
 +
</blockquote>
  
 
== Récupérer des données SELECT ==
 
== Récupérer des données SELECT ==

Version du 16 août 2011 à 23:37

Prérequis

Vous devez disposer d'une machine avec les logiciels suivants :

Installation

Ubuntu / Debian

Il suffit de saisir cette ligne de commande dans le terminal afin d'installé la couche MySQL pour Asterisk ainsi que le serveur web et PHPMyAdmin:

ICON Terminal.png

sudo apt-get install asterisk-mysql phpmyadmin

L'assistant d'installation nécessitera de paramètrer le serveur MySQL : définir le mot de passe de l'utilisateur root. Ensuite l'accès à PHPMyAdmin depuis un navigateur web s'effectue directement depuis cette url : http://127.0.0.1/phpmyadmin/ (note: remplacer 127.0.0.1 par l'IP du serveur si vous n'accéder pas à l'interface depuis ce dernier).

Autre distribution

Il est possible d'installer indépendament les modules. Ainsi il faudra veiller à installer :

  • le serveur web composé de Apache, PHP et MySQL;
  • PHPMyAdmin, l'utilitaire de gestion de bases de données MySQL.

Ce sont toutes des applications OpenSources pouvant être téléchargées depuis Internet.

Activer MySQL pour Asterisk

Pour activer MySQL dans Asterisk, il est nécessaire d'éditer plusieurs fichiers de configuration :

  • pour la connexion par Asterisk aux bases de données MySQL;
  • pour la compréhension des requêtes SQL;
  • pour que les fichiers de configuration puisse rechercher également l'information dans les bases.

Ainsi les bases de données deviendront une extension aux fichiers de configuration.

cdr_mysql.conf

Ce fichier est spécifique au module de journalisation des appels (Call Data Record).

Pour que le modules puisse fonctionner, il faut y renseigner les paramètres de configuration à la base de données :

[global]
hostname=localhost
dbname=nom_de_la_base
table=nom_de_la_table
password=motDePasse
user=login
port=3306
sock=/var/run/mysqld/mysqld.sock
userfield=1

extconfig.conf

Pour que les différents fichiers de configuration puisse également chercher des éléments de configuration dans les bases SQL, il faut renseigner comme ceci le fichier :

agents        => mysql,asterisk,queue_agent_table
sipusers      => mysql,asterisk,sip
sippeers      => mysql,asterisk,sip
voicemail     => mysql,asterisk,users
queues        => mysql,asterisk,queue_table
queue_members => mysql,asterisk,queue_member_table

Où :

  • agents => : désigne le nom du fichier de configuration;
  • mysql : le type de la base de données;
  • asterisk : le nom de la base de données;
  • queue_agent_table : le nom de la table renfermant les paramètres ainsi que les valeurs affectées pour chaque enregistrement.

res_mysql.conf

Il faut également renseigner dans ce fichier les paramètres de connexion à la base :

[general]
dbhost = localhost
dbname = nom_de_la_base
dbuser = login
dbpass = motDePasse
dbport = 3306
dbsock = /var/run/mysqld/mysqld.sock

Requêtes

Synthax

Les requêtes MySQL s'implémentent dans le DialPlan du fichier de configuration extensions.conf de la manière suivante :

exten => 1,1,NoOp(######## Requête MySQL ########) exten => 1,2,MYSQL(Connect connid ${DBHOST} ${DBUSER} ${DBPASS} exten => 1,3,MYSQL(Query resultid ${connid} <Requête SQL>) exten => 1,4,MYSQL(Fetch fetchid ${resultid} Resultat) ; le résultat de la requête est stocké dans la variable Resultat. exten => 1,5,MYSQL(Disconnect ${connid})

Récupérer des données SELECT

Manipuler des données INSERT/UPDATE/DELETE

Fonctions

CDR (Call Data Records)

.:[ Asterisk IPBX ]:.

Installation >> Utiliser un forfait SIP >> MySQL >> Boîte Vocale >> Synthax
Inter-Asterisk eXchange | MOH Musique d'Attente