PDA

Voir la version complète : Mysql add-ons



Geo
27/05/2015, 09h17
Bonjour à tous,
je revient à nouveau vers vous car j'ai un problème avec MySQL car dans mon fichier extension.conf j'utilise des : MYSQL()

et ça ne marche pas donc j'ai fait des recherches sur :

WARNING[29593]: pbx.c:4724 pbx_extension_helper: No application 'MYSQL' for extension

(erreur que je vois apparaître dans le CLI)

et donc j'ai trouvé ce site qui avait l'aire de répondre a mon besoin :http://wiki.kolmisoft.com/index.php/No_application_%27MYSQL%27_for_extension
mais j'ai un soucie je n'arrive pas car quand j'exécute :

asterisk -vvrx 'module load app_mysql.so'
Ca me donne:

Unable to load module app_mysql.so
Command 'module load app_mysql.so' failed.

fastm3
27/05/2015, 10h43
Tu as bien tout recompilé ? C'est probablement un probleme de compil ou dependance.
Fait par exemple un

find /usr -name "app_mysql*" -ls
Pour voir les versions compilées et installées par exemple.
Tu peux regarder le log /var/log/asterisk/full qui t'en dira probablement plus sur la raison de l'echec du chargement de la lib.
Sauf usage super simple, un petit agi fait aussi l'affaire et est plus simple a maintenir au lieu de faire le sql direct dans le dialplan.
Francois.

Geo
27/05/2015, 11h40
bonjour francois,
je suis désolé mais je comprend pas trop je suis encore novice dans ce domaine j'essaie de me former en tout cas voila ce que j'obtient:

1453972 4 -rw-r--r-- 1 root root 126 mai 22 11:16 /usr/local/src/certified-asterisk-1.8.28-cert5/addons/app_mysql.exports
1453974 272 -rwxr-xr-x 1 root root 275960 mai 22 11:16 /usr/local/src/certified-asterisk-1.8.28-cert5/addons/app_mysql.so
1453968 520 -rw-r--r-- 1 root root 528536 mai 22 11:16 /usr/local/src/certified-asterisk-1.8.28-cert5/addons/app_mysql.o
1449646 20 -rw-r--r-- 1 root root 18157 juil. 31 2012 /usr/local/src/certified-asterisk-1.8.28-cert5/addons/app_mysql.c
1449277 4 -rw-r--r-- 1 root root 1044 juin 30 2009 /usr/local/src/certified-asterisk-1.8.28-cert5/configs/app_mysql.conf.sample
1454779 20 -rw-r--r-- 1 root root 18110 mai 27 09:54 /usr/local/src/certified-asterisk-1.8.28-cert5/asterisk-1.8.13.1~dfsg1/addons/app_mysql.c
1582522 4 -rw-r--r-- 1 root root 1044 juin 30 2009 /usr/local/src/certified-asterisk-1.8.28-cert5/asterisk-1.8.13.1~dfsg1/configs/app_mysql.conf.sample
1454703 20 -rw-r--r-- 1 root root 18147 juil. 14 2011 /usr/local/src/certified-asterisk-1.8.28-cert5/asterisk-1.8.13.1~dfsg1/.pc/enable_addons/addons/app_mysql.c
397370 4 -rw-r--r-- 1 root root 1044 juin 30 2009 /usr/share/doc/asterisk-config/examples/configs/app_mysql.conf.sample


et j'ai deja des trucs dans mon fichier agi mais je pense pas qu'il est executé lui non plus parce que dans le Cli ca ne va pas jusqu'au AGI et de toute façon j'ai besoin de certain argument pour mon fichier agi qui sont différents des arguments utilisés par mes commandes mysql

fastm3
27/05/2015, 11h57
Quand tu charges un module, il faut que asterisk le trouve et qu'on lui indique ou le trouver. A priori, on voit que tu as compilé le 22 Mai mais je ne vois pas le repertoire modules qui devrait apparaitre si la lib y a été copiée. Si la lib ne se trouve pas dans le repertoire ou asterisk va la chercher , ca ne peut pas marcher.
Tu as fais un make install ?
Mais regarde les erreurs dans le fichier log d'asterisk lorsqu'il charge le module. Tu verras l'erreur. A mon avis , il ne trouve pas la lib. Le make install doit copier les libs au bon endroit. Difficile de diagnostiquer mieux sans plus d'element.
Si tu es debutant, sache qu'en compilant et installant , tu peux potentiellement "casser" l'install. Mais bon , c'est comme ca qu'on progresse...
Francois.

jean
27/05/2015, 14h54
if I may....

il suffit d'aller dans le répertoire de compil, faire un make menuselect, chercher les add ons, chercher mysql, et en sepositionnant dessus, on a les dépendances qui apparaissent en bas - tant qu'il n'est pas possible de sélectionner le module, c'est qu'elles ne sont pas satisfaites

fastm3
27/05/2015, 15h41
Plus on est de fous...:)
Oui Jean sauf que la j'avais vu que la lib a bien été compilée et généré le 22 mai d'apres le find. Ca a donc du etre fait. Le probleme doit etre ailleurs. Le make install recopiant la lib dans le rep modules n'a pas du etre fait.
Mais en fait, j'ai l'impression qu'il y a 2 versions de sources différentes d'asterisk aussi d'apres le find:

certified-asterisk-1.8.28-cert5 et les sources de asterisk-1.8.13.1~dfsg1 à l'interieur de ceux-ci. Bref pas tres bon pour avoir une install propre et parfait pour melanger des binaires de 2 versions...

Je recommanderai a Geo de suivre un tuto ( il y en a un vieux dans la section tuto ) pour tout recompiler quitte a s'entrainer d'abord dans une vm. Ca permettra de comprendre un peu les makefiles, l'emplacement des libs, les fichiers de conf...Et tant qu'a faire autant passer en meme temps sur une version plus récente d'Asterisk. Le melange de 2 versions genere souvent l'impossibilité de charger un module. ( son absence aussi )

Geo
find /usr/lib/asterisk/modules -ls listera les modules qui ont été copiés si tu as gardé l'emplacement standard. Si tu n'y trouves pas app_mysql.so , ca ne peut pas marcher. Si les dates des libs sont differentes, c'est que tu n'as pas tout recompilé en meme temps. Ca ne pose pas probleme mais si on change d'arbre de sources , il faut etre sur de tout recompiler et reinstaller.

Francois.