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édentesRévision précédente
Prochaine révision
Révision précédente
asterisk [Le 11/09/2022, 12:13] – 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) moths-artasterisk [Le 03/12/2024, 09:41] (Version actuelle) – [Configuration] 197.149.244.234
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 =====