Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 -rlibsqlite3-dev libssl-dev libedit-dev uuid-dev libjansson-dev</​code>​+<​code>​sudo apt install build-essential libxml2-dev libncurses5-dev linux-headers-$(uname -rlibsqlite3-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 =====
  
  • asterisk.1662891189.txt.gz
  • Dernière modification: Le 11/09/2022, 12:13
  • par moths-art