1. La base de données AstDB
Le stockage de données au sein même du plan de numérotation, à
l’aide de fonction et de variables, atteint vite ses limites en terme
d’exploitation.
Asterisk permet de stocker des valeurs à l’aide d’une base de
données interne, AstDB (Asterisk
DataBase) qui est au format Berkeley.
Les données sont sauvegardées dans des familles et sont
identifiées par des clés. Celles-ci sont uniques par famille.
Il faut noter que les données de la base sont persistantes dans le
sens où elles demeurent accessibles depuis n’importe où dans le plan de
numérotation même après un reboot du serveur. La base est stockée dans
/var/lib/asterisk/astdb.
Les postes connectés sont stockés dans la base AstDB (clé SIP /
Registry).
a. AstDB dans le plan de numérotation
Exemple : Écriture d’une valeur dans la clé
prenom de la famille utilisateur
${prenom}=Zoe
exten => s, 1, Set(DB(utilisateur/prenom=${prenom})
Exemple : Lecture de la valeur de la clé
prenom de la famille utilisateur
exten => s, 1, Set(prenom=${DB(utilisateur/prenom)})
exten => s, 2, NoOP($prenom)
b. Commandes AstDB
DBdel(famille/clé) : supprime une clé de la
base.
DBdeltree(famille) : supprime une famille de la
base.
DBget(variable=famille/clé) : recherche une valeur
dans la base.
DBput(famille/clé=valeur) : enregistre une valeur
dans ...