Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
asterisk [Le 11/09/2022, 12:13] moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
asterisk [Le 03/12/2024, 09:41] (Version actuelle) 197.149.244.234 [Configuration] |
||
---|---|---|---|
Ligne 22: | Ligne 22: | ||
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 : | ||
Ligne 77: | Ligne 77: | ||
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 | ||
Ligne 100: | Ligne 100: | ||
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 | ||
Ligne 217: | Ligne 217: | ||
des sonneries et messages personnalisés, etc. | des sonneries et messages personnalisés, etc. | ||
+ | === Exemple d'AGI : allumer la lumière === | ||
+ | AGI permet à Asterisk d’exécuter des scripts. L'exemple ci-dessous ouvre la piste vers toute sorte de solutions domotiques. | ||
+ | |||
+ | L'idée est la suivante: Asterisk modifie à distance un fichier sur le Raspberry. Sur celui-ci un script python analyse le fichier et active le GPIO en fonction. | ||
+ | |||
+ | == Du côté du serveur Raspberry == | ||
+ | |||
+ | 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: | ||
+ | |||
+ | <code>import RPi.GPIO as GPIO | ||
+ | import time | ||
+ | GPIO.setmode(GPIO.BCM) | ||
+ | GPIO.setup(24, GPIO.OUT) | ||
+ | |||
+ | while True: | ||
+ | with open('command.txt', 'r') as fichier: | ||
+ | contenu = fichier.read() | ||
+ | |||
+ | if "on" in contenu: | ||
+ | # Turn on | ||
+ | print('on') | ||
+ | GPIO.output(24, GPIO.HIGH) | ||
+ | else: | ||
+ | # Turn off | ||
+ | print('off') | ||
+ | GPIO.output(24, GPIO.LOW)</code> | ||
+ | |||
+ | == Du côté d'Asterisk == | ||
+ | |||
+ | 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> | ||
+ | |||
+ | Partager la clé avec le raspberry: | ||
+ | |||
+ | <code>ssh-copy-id info@192.168.1.111</code> | ||
+ | |||
+ | Configurer ensuite l'AGI, en ajoutant ces lignes dans extensions.conf: | ||
+ | |||
+ | <code>exten => 801,n,AGI(allumer.agi) | ||
+ | exten => 800,n,AGI(eteindre.agi)</code> | ||
+ | |||
+ | 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 | ||
+ | scp /root/on.txt info@192.168.1.111:/home/info/command.txt</code> | ||
+ | |||
+ | 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! | ||
===== Matériel compatible ===== | ===== Matériel compatible ===== | ||