Asterisk MySQL : Différence entre versions
De Wiki NCad
(→Récupérer des données SELECT) |
(→Prérequis) |
||
(26 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | {{ Asterisk }} | ||
+ | |||
= Prérequis = | = Prérequis = | ||
− | + | * Asterisk doit être compilé avec le support mysql. | |
− | * Asterisk | + | |
− | + | ||
− | + | ||
− | = | + | = Création des tables = |
− | + | * La table '''cdr''' contiendra les '''statistiques d'appels''' du serveur. | |
− | + | CREATE TABLE cdr ( | |
− | + | calldate datetime NOT NULL default '0000-00-00 00:00:00', | |
− | + | clid varchar(80) NOT NULL default '', | |
+ | src varchar(80) NOT NULL default '', | ||
+ | dst varchar(80) NOT NULL default '', | ||
+ | dcontext varchar(80) NOT NULL default '', | ||
+ | channel varchar(80) NOT NULL default '', | ||
+ | dstchannel varchar(80) NOT NULL default '', | ||
+ | lastapp varchar(80) NOT NULL default '', | ||
+ | lastdata varchar(80) NOT NULL default '', | ||
+ | duration int(11) NOT NULL default '0', | ||
+ | billsec int(11) NOT NULL default '0', | ||
+ | disposition varchar(45) NOT NULL default '', | ||
+ | amaflags int(11) NOT NULL default '0', | ||
+ | accountcode varchar(20) NOT NULL default '', | ||
+ | uniqueid varchar(32) NOT NULL default '', | ||
+ | userfield varchar(255) NOT NULL default '' | ||
+ | ); | ||
− | + | * La table '''sipfriends''' contiendra les '''faisceaux SIP''' ainsi que les '''utilisateurs SIP'''. | |
− | + | CREATE TABLE `sipfriends` ( | |
− | + | `id` int(11) NOT NULL AUTO_INCREMENT, | |
− | + | `name` varchar(10) NOT NULL, | |
− | + | `ipaddr` varchar(15) DEFAULT NULL, | |
+ | `port` int(5) DEFAULT NULL, | ||
+ | `regseconds` int(11) DEFAULT NULL, | ||
+ | `defaultuser` varchar(10) DEFAULT NULL, | ||
+ | `fullcontact` varchar(35) DEFAULT NULL, | ||
+ | `regserver` varchar(20) DEFAULT NULL, | ||
+ | `useragent` varchar(20) DEFAULT NULL, | ||
+ | `lastms` int(11) DEFAULT NULL, | ||
+ | `host` varchar(40) DEFAULT NULL, | ||
+ | `type` enum('friend','user','peer') DEFAULT NULL, | ||
+ | `context` varchar(40) DEFAULT NULL, | ||
+ | `permit` varchar(40) DEFAULT NULL, | ||
+ | `deny` varchar(40) DEFAULT NULL, | ||
+ | `secret` varchar(40) DEFAULT NULL, | ||
+ | `md5secret` varchar(40) DEFAULT NULL, | ||
+ | `remotesecret` varchar(40) DEFAULT NULL, | ||
+ | `transport` enum('udp','tcp','udp,tcp','tcp,udp') DEFAULT NULL, | ||
+ | `dtmfmode` enum('rfc2833','info','shortinfo','inband','auto') DEFAULT NULL, | ||
+ | `directmedia` enum('yes','no','nonat','update') DEFAULT NULL, | ||
+ | `nat` enum('yes','no','never','route') DEFAULT NULL, | ||
+ | `callgroup` varchar(40) DEFAULT NULL, | ||
+ | `pickupgroup` varchar(40) DEFAULT NULL, | ||
+ | `language` varchar(40) DEFAULT NULL, | ||
+ | `allow` varchar(40) DEFAULT NULL, | ||
+ | `disallow` varchar(40) DEFAULT NULL, | ||
+ | `insecure` varchar(40) DEFAULT NULL, | ||
+ | `trustrpid` enum('yes','no') DEFAULT NULL, | ||
+ | `progressinband` enum('yes','no','never') DEFAULT NULL, | ||
+ | `promiscredir` enum('yes','no') DEFAULT NULL, | ||
+ | `useclientcode` enum('yes','no') DEFAULT NULL, | ||
+ | `accountcode` varchar(40) DEFAULT NULL, | ||
+ | `setvar` varchar(40) DEFAULT NULL, | ||
+ | `callerid` varchar(40) DEFAULT NULL, | ||
+ | `amaflags` varchar(40) DEFAULT NULL, | ||
+ | `callcounter` enum('yes','no') DEFAULT NULL, | ||
+ | `busylevel` int(11) DEFAULT NULL, | ||
+ | `allowoverlap` enum('yes','no') DEFAULT NULL, | ||
+ | `allowsubscribe` enum('yes','no') DEFAULT NULL, | ||
+ | `videosupport` enum('yes','no') DEFAULT NULL, | ||
+ | `maxcallbitrate` int(11) DEFAULT NULL, | ||
+ | `rfc2833compensate` enum('yes','no') DEFAULT NULL, | ||
+ | `mailbox` varchar(40) DEFAULT NULL, | ||
+ | `session-timers` enum('accept','refuse','originate') DEFAULT NULL, | ||
+ | `session-expires` int(11) DEFAULT NULL, | ||
+ | `session-minse` int(11) DEFAULT NULL, | ||
+ | `session-refresher` enum('uac','uas') DEFAULT NULL, | ||
+ | `t38pt_usertpsource` varchar(40) DEFAULT NULL, | ||
+ | `regexten` varchar(40) DEFAULT NULL, | ||
+ | `fromdomain` varchar(40) DEFAULT NULL, | ||
+ | `fromuser` varchar(40) DEFAULT NULL, | ||
+ | `qualify` varchar(40) DEFAULT NULL, | ||
+ | `defaultip` varchar(40) DEFAULT NULL, | ||
+ | `rtptimeout` int(11) DEFAULT NULL, | ||
+ | `rtpholdtimeout` int(11) DEFAULT NULL, | ||
+ | `sendrpid` enum('yes','no') DEFAULT NULL, | ||
+ | `outboundproxy` varchar(40) DEFAULT NULL, | ||
+ | `callbackextension` varchar(40) DEFAULT NULL, | ||
+ | `registertrying` enum('yes','no') DEFAULT NULL, | ||
+ | `timert1` int(11) DEFAULT NULL, | ||
+ | `timerb` int(11) DEFAULT NULL, | ||
+ | `qualifyfreq` int(11) DEFAULT NULL, | ||
+ | `constantssrc` enum('yes','no') DEFAULT NULL, | ||
+ | `contactpermit` varchar(40) DEFAULT NULL, | ||
+ | `contactdeny` varchar(40) DEFAULT NULL, | ||
+ | `usereqphone` enum('yes','no') DEFAULT NULL, | ||
+ | `textsupport` enum('yes','no') DEFAULT NULL, | ||
+ | `faxdetect` enum('yes','no') DEFAULT NULL, | ||
+ | `buggymwi` enum('yes','no') DEFAULT NULL, | ||
+ | `auth` varchar(40) DEFAULT NULL, | ||
+ | `fullname` varchar(40) DEFAULT NULL, | ||
+ | `trunkname` varchar(40) DEFAULT NULL, | ||
+ | `cid_number` varchar(40) DEFAULT NULL, | ||
+ | `callingpres` enum('allowed_not_screened','allowed_passed_screen','allowed_failed_screen','allowed','prohib_not_screened','prohib_passed_screen','prohib_failed_screen','prohib') DEFAULT NULL, | ||
+ | `mohinterpret` varchar(40) DEFAULT NULL, | ||
+ | `mohsuggest` varchar(40) DEFAULT NULL, | ||
+ | `parkinglot` varchar(40) DEFAULT NULL, | ||
+ | `hasvoicemail` enum('yes','no') DEFAULT NULL, | ||
+ | `subscribemwi` enum('yes','no') DEFAULT NULL, | ||
+ | `vmexten` varchar(40) DEFAULT NULL, | ||
+ | `autoframing` enum('yes','no') DEFAULT NULL, | ||
+ | `rtpkeepalive` int(11) DEFAULT NULL, | ||
+ | `call-limit` int(11) DEFAULT NULL, | ||
+ | `g726nonstandard` enum('yes','no') DEFAULT NULL, | ||
+ | `ignoresdpversion` enum('yes','no') DEFAULT NULL, | ||
+ | `allowtransfer` enum('yes','no') DEFAULT NULL, | ||
+ | `dynamic` enum('yes','no') DEFAULT NULL, | ||
+ | PRIMARY KEY (`id`), | ||
+ | UNIQUE KEY `name` (`name`), | ||
+ | KEY `ipaddr` (`ipaddr`,`port`), | ||
+ | KEY `host` (`host`,`port`) | ||
+ | ); | ||
− | + | * La table '''voicemail_users''' contiendra les boîtes vocales des utilisateurs. | |
− | + | CREATE TABLE `voicemail_users` ( | |
− | + | `uniqueid` int(11) NOT NULL auto_increment, | |
− | + | `customer_id` int(11) NOT NULL default '0', | |
− | + | `context` varchar(50) NOT NULL default '', | |
− | + | `mailbox` int(5) NOT NULL default '0', | |
+ | `password` varchar(10) NOT NULL default '0', | ||
+ | `fullname` varchar(50) NOT NULL default '', | ||
+ | `email` varchar(50) NOT NULL default '', | ||
+ | `pager` varchar(50) NOT NULL default '', | ||
+ | `stamp` timestamp(14) NOT NULL, | ||
+ | PRIMARY KEY (`uniqueid`), | ||
+ | KEY `mailbox_context` (`mailbox`,`context`) | ||
+ | ); | ||
− | = | + | = Configuration d'Asterisk = |
− | Ce fichier est spécifique au module de journalisation des appels ''('''C'''all '''D'''ata '''R'''ecord)''. | + | == Fichier cdr_mysql.conf == |
+ | |||
+ | * Ce fichier est spécifique au module de journalisation des appels ''('''C'''all '''D'''ata '''R'''ecord)''. Pour que le modules puisse fonctionner, il faut y renseigner les paramètres de connexion à la base de données MySQL : | ||
− | |||
[global] | [global] | ||
hostname=localhost | hostname=localhost | ||
− | dbname= | + | dbname=asterisk |
table=nom_de_la_table | table=nom_de_la_table | ||
password=motDePasse | password=motDePasse | ||
Ligne 44 : | Ligne 157 : | ||
userfield=1 | userfield=1 | ||
− | == extconfig.conf == | + | == Fichier extconfig.conf == |
− | Pour | + | * Pour qu'Asterisk consulte la base de données MySQL, il faut activer la recherche via le fichier '''extconfig.conf'''. Les lignes suivantes seront dé-commentées et modifiées : |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | == | + | agents => mysql,general,queue_agent_table |
+ | sipusers => mysql,general,sip | ||
+ | sippeers => mysql,general,sip | ||
+ | voicemail => mysql,general,users | ||
+ | queues => mysql,general,queue_table | ||
+ | queue_members => mysql,general,queue_member_table | ||
+ | |||
+ | * Avec : | ||
+ | ** '''agents :''' désigne le nom du fichier de configuration; | ||
+ | ** '''mysql :''' le type de la base de données; | ||
+ | ** '''general :''' le contexte de définition des informations de connexion à la base; | ||
+ | ** '''queue_agent_table :''' le nom de la table renfermant les paramètres ainsi que les valeurs affectées pour chaque enregistrement. | ||
+ | |||
+ | == Fichier res_config_mysql.conf == | ||
+ | |||
+ | * Il faudra indiquer à Asterisk les informations de connexion à la base de données MySQL dans le fichier '''res_config_mysql.conf'''. | ||
− | |||
[general] | [general] | ||
dbhost = localhost | dbhost = localhost | ||
− | dbname = | + | dbname = asterisk |
dbuser = login | dbuser = login | ||
dbpass = motDePasse | dbpass = motDePasse | ||
Ligne 75 : | Ligne 191 : | ||
Les requêtes MySQL s'implémentent dans le DialPlan du fichier de configuration extensions.conf de la manière suivante : | Les requêtes MySQL s'implémentent dans le DialPlan du fichier de configuration extensions.conf de la manière suivante : | ||
− | + | ||
− | exten => 1,1,[[Asterisk_Synthax# | + | exten => 1,1,[[Asterisk_Synthax#NoOp|NoOp(######## Requête MySQL ########)]] |
− | exten => 1,2,MYSQL(Connect connid ${DBHOST} ${DBUSER} ${DBPASS} | + | exten => 1,2,MYSQL(Connect connid ${DBHOST} ${DBUSER} ${DBPASS} |
− | exten => 1,3,MYSQL(Query resultid ${connid} <Requête SQL>) | + | exten => 1,3,MYSQL(Query resultid ${connid} <Requête SQL>) |
− | exten => 1,4,MYSQL(Fetch fetchid ${resultid} Resultat) <span style="color:darkgrey;font-style:italic">; le résultat de la requête est stocké dans la variable Resultat.</span | + | exten => 1,4,MYSQL(Fetch fetchid ${resultid} Resultat) <span style="color:darkgrey;font-style:italic">; le résultat de la requête est stocké dans la variable Resultat.</span> |
− | exten => 1,5,MYSQL(Disconnect ${connid}) | + | exten => 1,5,MYSQL(Disconnect ${connid}) |
− | + | ||
== Récupérer des données SELECT == | == Récupérer des données SELECT == | ||
En reprenant l'exemple ci-dessus : | En reprenant l'exemple ci-dessus : | ||
− | + | ||
− | exten => s,1,MYSQL(Connect connid ${DBHOST} ${DBUSER} ${DBPASS} ${DBNAME} | + | exten => s,1,MYSQL(Connect connid <span style="color:purple">${DBHOST} ${DBUSER} ${DBPASS} ${DBNAME}</span>) |
− | exten => s,2,MYSQL(Query resultid ${connid} <span style="color:darkblue">SELECT Value FROM myconf WHERE Param="AcceptAnon" AND Line="<span style="color:purple">${Line}</span>"</span>) | + | exten => s,2,MYSQL(Query resultid <span style="color:purple">${connid}</span> <span style="color:darkblue">SELECT Value FROM myconf WHERE Param="AcceptAnon" AND Line="<span style="color:purple">${Line}</span>"</span>) |
− | exten => s,3,MYSQL(Fetch fetchid <span style="color:purple">${resultid}</span> AcceptAnon) | + | exten => s,3,MYSQL(Fetch fetchid <span style="color:purple">${resultid}</span> AcceptAnon) |
− | exten => s,4,MYSQL(Disconnect <span style="color:purple">${connid}</span>) | + | exten => s,4,MYSQL(Disconnect <span style="color:purple">${connid}</span>) |
− | exten => s,5,NoOp(Les appels anonymes sont-ils autorisés ? ${Resultat} | + | exten => s,5,NoOp(Les appels anonymes sont-ils autorisés ? <span style="color:purple">${Resultat}</span>) |
− | </ | + | |
== Manipuler des données INSERT/UPDATE/DELETE == | == Manipuler des données INSERT/UPDATE/DELETE == | ||
Ligne 100 : | Ligne 214 : | ||
== CDR ''(Call Data Records)'' == | == CDR ''(Call Data Records)'' == | ||
− | + | [[Category:Asterisk]] |
Version actuelle en date du 7 novembre 2015 à 18:25
.:[ Asterisk IPBX ]:.
Inter-Asterisk eXchange | MOH Musique d'Attente
Sommaire
Prérequis
- Asterisk doit être compilé avec le support mysql.
Création des tables
- La table cdr contiendra les statistiques d'appels du serveur.
CREATE TABLE cdr ( calldate datetime NOT NULL default '0000-00-00 00:00:00', clid varchar(80) NOT NULL default , src varchar(80) NOT NULL default , dst varchar(80) NOT NULL default , dcontext varchar(80) NOT NULL default , channel varchar(80) NOT NULL default , dstchannel varchar(80) NOT NULL default , lastapp varchar(80) NOT NULL default , lastdata varchar(80) NOT NULL default , duration int(11) NOT NULL default '0', billsec int(11) NOT NULL default '0', disposition varchar(45) NOT NULL default , amaflags int(11) NOT NULL default '0', accountcode varchar(20) NOT NULL default , uniqueid varchar(32) NOT NULL default , userfield varchar(255) NOT NULL default );
- La table sipfriends contiendra les faisceaux SIP ainsi que les utilisateurs SIP.
CREATE TABLE `sipfriends` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(10) NOT NULL, `ipaddr` varchar(15) DEFAULT NULL, `port` int(5) DEFAULT NULL, `regseconds` int(11) DEFAULT NULL, `defaultuser` varchar(10) DEFAULT NULL, `fullcontact` varchar(35) DEFAULT NULL, `regserver` varchar(20) DEFAULT NULL, `useragent` varchar(20) DEFAULT NULL, `lastms` int(11) DEFAULT NULL, `host` varchar(40) DEFAULT NULL, `type` enum('friend','user','peer') DEFAULT NULL, `context` varchar(40) DEFAULT NULL, `permit` varchar(40) DEFAULT NULL, `deny` varchar(40) DEFAULT NULL, `secret` varchar(40) DEFAULT NULL, `md5secret` varchar(40) DEFAULT NULL, `remotesecret` varchar(40) DEFAULT NULL, `transport` enum('udp','tcp','udp,tcp','tcp,udp') DEFAULT NULL, `dtmfmode` enum('rfc2833','info','shortinfo','inband','auto') DEFAULT NULL, `directmedia` enum('yes','no','nonat','update') DEFAULT NULL, `nat` enum('yes','no','never','route') DEFAULT NULL, `callgroup` varchar(40) DEFAULT NULL, `pickupgroup` varchar(40) DEFAULT NULL, `language` varchar(40) DEFAULT NULL, `allow` varchar(40) DEFAULT NULL, `disallow` varchar(40) DEFAULT NULL, `insecure` varchar(40) DEFAULT NULL, `trustrpid` enum('yes','no') DEFAULT NULL, `progressinband` enum('yes','no','never') DEFAULT NULL, `promiscredir` enum('yes','no') DEFAULT NULL, `useclientcode` enum('yes','no') DEFAULT NULL, `accountcode` varchar(40) DEFAULT NULL, `setvar` varchar(40) DEFAULT NULL, `callerid` varchar(40) DEFAULT NULL, `amaflags` varchar(40) DEFAULT NULL, `callcounter` enum('yes','no') DEFAULT NULL, `busylevel` int(11) DEFAULT NULL, `allowoverlap` enum('yes','no') DEFAULT NULL, `allowsubscribe` enum('yes','no') DEFAULT NULL, `videosupport` enum('yes','no') DEFAULT NULL, `maxcallbitrate` int(11) DEFAULT NULL, `rfc2833compensate` enum('yes','no') DEFAULT NULL, `mailbox` varchar(40) DEFAULT NULL, `session-timers` enum('accept','refuse','originate') DEFAULT NULL, `session-expires` int(11) DEFAULT NULL, `session-minse` int(11) DEFAULT NULL, `session-refresher` enum('uac','uas') DEFAULT NULL, `t38pt_usertpsource` varchar(40) DEFAULT NULL, `regexten` varchar(40) DEFAULT NULL, `fromdomain` varchar(40) DEFAULT NULL, `fromuser` varchar(40) DEFAULT NULL, `qualify` varchar(40) DEFAULT NULL, `defaultip` varchar(40) DEFAULT NULL, `rtptimeout` int(11) DEFAULT NULL, `rtpholdtimeout` int(11) DEFAULT NULL, `sendrpid` enum('yes','no') DEFAULT NULL, `outboundproxy` varchar(40) DEFAULT NULL, `callbackextension` varchar(40) DEFAULT NULL, `registertrying` enum('yes','no') DEFAULT NULL, `timert1` int(11) DEFAULT NULL, `timerb` int(11) DEFAULT NULL, `qualifyfreq` int(11) DEFAULT NULL, `constantssrc` enum('yes','no') DEFAULT NULL, `contactpermit` varchar(40) DEFAULT NULL, `contactdeny` varchar(40) DEFAULT NULL, `usereqphone` enum('yes','no') DEFAULT NULL, `textsupport` enum('yes','no') DEFAULT NULL, `faxdetect` enum('yes','no') DEFAULT NULL, `buggymwi` enum('yes','no') DEFAULT NULL, `auth` varchar(40) DEFAULT NULL, `fullname` varchar(40) DEFAULT NULL, `trunkname` varchar(40) DEFAULT NULL, `cid_number` varchar(40) DEFAULT NULL, `callingpres` enum('allowed_not_screened','allowed_passed_screen','allowed_failed_screen','allowed','prohib_not_screened','prohib_passed_screen','prohib_failed_screen','prohib') DEFAULT NULL, `mohinterpret` varchar(40) DEFAULT NULL, `mohsuggest` varchar(40) DEFAULT NULL, `parkinglot` varchar(40) DEFAULT NULL, `hasvoicemail` enum('yes','no') DEFAULT NULL, `subscribemwi` enum('yes','no') DEFAULT NULL, `vmexten` varchar(40) DEFAULT NULL, `autoframing` enum('yes','no') DEFAULT NULL, `rtpkeepalive` int(11) DEFAULT NULL, `call-limit` int(11) DEFAULT NULL, `g726nonstandard` enum('yes','no') DEFAULT NULL, `ignoresdpversion` enum('yes','no') DEFAULT NULL, `allowtransfer` enum('yes','no') DEFAULT NULL, `dynamic` enum('yes','no') DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`), KEY `ipaddr` (`ipaddr`,`port`), KEY `host` (`host`,`port`) );
- La table voicemail_users contiendra les boîtes vocales des utilisateurs.
CREATE TABLE `voicemail_users` ( `uniqueid` int(11) NOT NULL auto_increment, `customer_id` int(11) NOT NULL default '0', `context` varchar(50) NOT NULL default , `mailbox` int(5) NOT NULL default '0', `password` varchar(10) NOT NULL default '0', `fullname` varchar(50) NOT NULL default , `email` varchar(50) NOT NULL default , `pager` varchar(50) NOT NULL default , `stamp` timestamp(14) NOT NULL, PRIMARY KEY (`uniqueid`), KEY `mailbox_context` (`mailbox`,`context`) );
Configuration d'Asterisk
Fichier 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 connexion à la base de données MySQL :
[global] hostname=localhost dbname=asterisk table=nom_de_la_table password=motDePasse user=login port=3306 sock=/var/run/mysqld/mysqld.sock userfield=1
Fichier extconfig.conf
- Pour qu'Asterisk consulte la base de données MySQL, il faut activer la recherche via le fichier extconfig.conf. Les lignes suivantes seront dé-commentées et modifiées :
agents => mysql,general,queue_agent_table sipusers => mysql,general,sip sippeers => mysql,general,sip voicemail => mysql,general,users queues => mysql,general,queue_table queue_members => mysql,general,queue_member_table
- Avec :
- agents : désigne le nom du fichier de configuration;
- mysql : le type de la base de données;
- general : le contexte de définition des informations de connexion à la base;
- queue_agent_table : le nom de la table renfermant les paramètres ainsi que les valeurs affectées pour chaque enregistrement.
Fichier res_config_mysql.conf
- Il faudra indiquer à Asterisk les informations de connexion à la base de données MySQL dans le fichier res_config_mysql.conf.
[general] dbhost = localhost dbname = asterisk 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
En reprenant l'exemple ci-dessus :
exten => s,1,MYSQL(Connect connid ${DBHOST} ${DBUSER} ${DBPASS} ${DBNAME}) exten => s,2,MYSQL(Query resultid ${connid} SELECT Value FROM myconf WHERE Param="AcceptAnon" AND Line="${Line}") exten => s,3,MYSQL(Fetch fetchid ${resultid} AcceptAnon) exten => s,4,MYSQL(Disconnect ${connid}) exten => s,5,NoOp(Les appels anonymes sont-ils autorisés ? ${Resultat})