| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| asterisk [Le 30/12/2022, 16:43] – [Configuration du Dialplan] Ouessant | asterisk [Le 03/12/2024, 09:41] (Version actuelle) – [Configuration] 197.149.244.234 |
|---|
| |
| Nous procédons ensuite à l'[[:tutoriel:comment_installer_un_paquet|installation]] des dépendances : | Nous procédons ensuite à l'[[:tutoriel:comment_installer_un_paquet|installation]] des dépendances : |
| <code>sudo apt install build-essential libxml2-dev libncurses5-dev linux-headers-`uname -r` libsqlite3-dev libssl-dev libedit-dev uuid-dev libjansson-dev</code> | <code>sudo apt install build-essential libxml2-dev libncurses5-dev linux-headers-$(uname -r) libsqlite3-dev libssl-dev libedit-dev uuid-dev libjansson-dev</code> |
| |
| On télécharge la dernière version d’Asterisk et on l’installe : | On télécharge la dernière version d’Asterisk et on l’installe : |
| KERNEL=="zap[0-9]*", NAME="zap/%n", OWNER="asterisk", GROUP="asterisk", MODE="0660"</code> | KERNEL=="zap[0-9]*", NAME="zap/%n", OWNER="asterisk", GROUP="asterisk", MODE="0660"</code> |
| |
| Ensuite, il faut compiler et installer les pilotes : | Ensuite, il faut compiler et installer les pilotes :soumaya |
| <code> | <code> |
| sudo apt-get install gcc zaptel zaptel-source | sudo apt-get install gcc zaptel zaptel-source |
| La configuration d'Asterisk s'articule sur les fichiers de configuration suivants : | La configuration d'Asterisk s'articule sur les fichiers de configuration suivants : |
| |
| * **''/etc/asterisk/sip.conf''** : Configuration globale d'Asterisk | * **''/etc/asterisk/pjsip.conf reload ''** : Configuration globale d'Asterisk |
| * **''/etc/asterisk/users.conf''** : Configuration des utilisateurs | * **''/etc/asterisk/users.conf''** : Configuration des utilisateurs |
| * **''/etc/asterisk/extensions.conf''** : Configuration du Dialplan | * **''/etc/asterisk/extensions.conf''** : Configuration du Dialplan |
| == Du côté du serveur Raspberry == | == Du côté du serveur Raspberry == |
| |
| Installer un raspberry avec Pi Os Lite. Activer le ssh. Pour l'exemple, l'utilisateur sera info. | Installer un raspberry avec Pi Os Lite. Activer le ssh. Pour l'exemple, l'utilisateur sera info, l'adresse IP du Raspberry 192.168.1.111. |
| |
| Dans /home/info créer le script python command.py: | Dans /home/info créer le script python command.py: |
| GPIO.setmode(GPIO.BCM) | GPIO.setmode(GPIO.BCM) |
| GPIO.setup(24, GPIO.OUT) | GPIO.setup(24, GPIO.OUT) |
| | |
| while True: | while True: |
| with open('command.txt', 'r') as fichier: | with open('command.txt', 'r') as fichier: |
| contenu = fichier.read() | contenu = fichier.read() |
| if "on" in contenu: | |
| # Turn on | if "on" in contenu: |
| print('on') | # Turn on |
| GPIO.output(24, GPIO.HIGH) | print('on') |
| else: | GPIO.output(24, GPIO.HIGH) |
| # Turn off | else: |
| print('off') | # Turn off |
| GPIO.output(24, GPIO.LOW)</code> | print('off') |
| | GPIO.output(24, GPIO.LOW)</code> |
| |
| == Du côté d'Asterisk == | == Du côté d'Asterisk == |
| |
| Il faut d'abord autoriser du ssh sans mot de passe. Dans la console: | Il faut d'abord autoriser du ssh sans mot de passe. Dans la console (ne rien entrer comme nom de fichier et comme passphrase): |
| |
| <code>ssh-keygen -t rsa</code> (ne rien entrer comme nom de fichier et comme passphrase). | <code>ssh-keygen -t rsa</code> |
| |
| On partage la clé avec le raspberry: | Partager la clé avec le raspberry: |
| |
| <code>ssh-copy-id info@192.168.1.xxx</code> | <code>ssh-copy-id info@192.168.1.111</code> |
| |
| On configure ensuite l'AGI dans extensions.conf: | Configurer ensuite l'AGI, en ajoutant ces lignes dans extensions.conf: |
| |
| <code>exten => 801,n,AGI(allumer.agi) | <code>exten => 801,n,AGI(allumer.agi) |
| exten => 800,n,AGI(eteindre.agi)</code> | exten => 800,n,AGI(eteindre.agi)</code> |
| |
| On crée les scripts correspondants: le fichier /var/lib/asterisk/agi-bin/allumer.agi et le rendre éxécutable: | On crée ensuite les scripts correspondant. Créer le fichier /var/lib/asterisk/agi-bin/allumer.agi et le rendre éxécutable: |
| |
| <code>#!/bin/bash | <code>#!/bin/bash |
| scp on.txt info@192.168.40.51:/home/info/command.txt</code> | scp /root/on.txt info@192.168.1.111:/home/info/command.txt</code> |
| |
| Faire de même pour eteindre.agi | Faire de même pour eteindre.agi. Il faut aussi créer un fichier /root/on.txt contenant uniquement le mot on, et son équivalent off. |
| |
| Recharger Asterisk. C'est sensé fonctionner! | Recharger Asterisk. C'est sensé fonctionner! |