ou utiliser features.conf. Je m'en sers pour des ouvertures de portes.
ou utiliser features.conf. Je m'en sers pour des ouvertures de portes.
Bhaa dit donc ! ça c'est de la réponse rapide !!
Cela dit vu mon niveau en Téléphonie IP je ne sais pas ni comment ni par où commencer…
Je n'ai pas le module dont tu parles et les AGI… bhaaa.. c'est quoi?
Pouvez vous m'aider SVP?
(Désolé d'encombrer le forum avec ça, mais même avec l'outil recherche ou google je ne trouve pas de réponse)
D'avance merci
Les agi sont des appels à des programmes externes par Asterisk, comme les CGI sur un serveur Web. Tu peux les appeler depuis le dialplan :
en ael
context porte {
2233 => {
Agi(porte.py,${CALLERID(num)});
WaitExten(1);
Hangup();
}
dans cet exemple : appel d'un programme en Python en lui passant le numéro appelant en paramètre.
ou en cours de communication utiliser une "feature" = un code dtmf, regarde les exemples dans features.conf
[applicationmap]
; Note that the DYNAMIC_FEATURES channel variable must be set to use the features
; defined here. The value of DYNAMIC_FEATURES should be the names of the features
; to allow the channel to use separated by '#'. For example:
; Set(DYNAMIC_FEATURES=myfeature1#myfeature2#myfeatu re3)
;
;testfeature => #9,callee,Playback,tt-monkeys ;Play tt-monkeys to
;callee if #9 was pressed
porte => *5,self/callee,Agi,porteB
Comme suggéré par quintana, si c'est juste une url a fetcher, il peut etre plus simple d'utiliser curl.
Il faut que la lib curl soit installée et avec un petit configure, on valide que func_curl est selectionnée avant la recompil d'asterisk.Code:exten => _X.,1,curl(http://192.168.1.100/test.php?Prise1=ON)
Cheers !
Fastm3.
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 !!
olppp=> La c'est pareil, a vrai dire je ne sais même pas ou se trouve la requête Http dans ton code.
Pour rappel je suis cour RASPBX que je gère via FREEPBX.
Je suis largué, pourtant j'ai cherché sur google avant de poster, ça m'énerve de rien comprendre.
De plus je n'y connais rien ni en Python , Ni en PHP…
c'est pas gagné...
Test si function curl installée
Sous asterisk cli ( lancer asterisk -r a la console )
Tu dois avoir un resultat comme cela si la fonction a été correctement compilée dans ta version:Code:core show function CURL
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: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.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()
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.
Merci pour l'info !
Je vais essayer ça
Pour le PHP hummm... comment dire... je ne maitrise pas.
Pour être honnête j'ai passé au de 50heures a essayer de faire tourner un simple script pour piloter mon PC.
J'ai essayé avec easy php ou camp server, meme avec le server actif (Pastille verte) mon PC n'a jamais voulu lancer mon .bat…
l'appel se fait bien et la réponse ECHO correcte mais aucune action coté serveur…
bref c'est du Vindoz Seven …Mais que de mauvais souvenir ce PHP…
Au moins j'ai gardé les notions.
- je vais voir si j'ai cURL, si oui je testerai mon script PHP depuis une autre machine pour voir.
Merci pour tout , je part en vacance mais vous ne vous débarrasserez pas de moi comme ça !
I'll be back..