
Envoyé par
nykolium
Merci!
mais…
fastm3=> je ne sais pas si j'ai bien cURL, j'ai regardé dans les module mais sans succès,
cette méthode m'irait bien je ne sais pas ou aller !!
Test si function curl installée
Sous asterisk cli ( lancer asterisk -r a la console )
Code:
core show function CURL
Tu dois avoir un resultat comme cela si la fonction a été correctement compilée dans ta version:
Code:
telisk*CLI> core show function CURL
-= Info about function 'CURL' =-
[Synopsis]
Retrieves the contents of a URL
[Description]
url - URL to retrieve
post-data - Optional data to send as a POST (GET is default action)
[Syntax]
CURL(url[,post-data])
[Arguments]
Not available
[See Also]
Not available
telisk*CLI>
Si la fonction est installée, tu peux juste pour commencer à tester , utilise le contexte from-internal-custom ( dans /etc/asterisk/extensions_custom.conf )
Pour faire un test rapide, tu mets ce genre de bout de code dedans:
Code:
exten => 9000,1,answer()
exten => 9000,n,Set(result=${CURL(http://localhost/domotique/domotique.php?num=${EXTEN})})
exten => 9000,n,NoOp(Results: ${result})
exten => 9000,n,GotoIf($["${result}" = "ON"]?ON)
exten => 9000,n,GotoIf($["${result}" = "OFF"]?OFF)
exten => 9000,n,Playback(domotique/erreurinconnue)
exten => 9000,n,Hangup()
exten => 9000,n(ON),Playback(domotique/operationON)
exten => 9000,n,Hangup()
exten => 9000,n(OFF),Playback(domotique/operationOFF)
exten => 9000,n,Hangup()
C'est le principe pour un exemple tres simple qui en l'etat ne marchera pas sans les fichiers audios , ni le script php. En gros , si tu composes le 9000, tu appelles ton script PHP, par simplification, en resultat , on fera juste un echo ON ou OFF en sortie. Le diaplan teste et renvoie un message de l'etat ou de la bonne execution.
Ca n'est pas compliqué mais ca demande un minimum de petites competences. Un peu de php, savoir editer un fichier, connaitre un minimum le dialplan...
Isole les pbs 1 par 1. Crée deja un script en php faisant ce que tu veux et retournant un statut simple a traiter pour le dialplan.
Tu peux regarder ce qui se passe sur la console: asterisk -r pendant que tu fais le 9000
Francois.