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
Dernière révision Les deux révisions suivantes
asterisk [Le 25/09/2021, 23:59]
90.79.55.31
asterisk [Le 10/03/2023, 16:14]
197.14.204.188 [Autre méthode]
Ligne 4: Ligne 4:
 ====== Asterisk (For VoIP) ====== ====== Asterisk (For VoIP) ======
  
-{{ http://​upload.wikimedia.org/​wikipedia/​fr/​7/​7f/​Asterisk_logo4.png?​200}}+{{ https://​upload.wikimedia.org/​wikipedia/​fr/​7/​7f/​Asterisk_logo4.png?​200}}
  
 ===== Préambule ===== ===== Préambule =====
Ligne 17: Ligne 17:
  
 ===== Installation ===== ===== Installation =====
-Tout d'​abord,​ veillez à avoir une distribution à jour : +Tout d'​abord,​ veillez à avoir une distribution à jour :
 <​code>​sudo apt update <​code>​sudo apt update
 sudo apt upgrade </​code>​ sudo apt upgrade </​code>​
Ligne 24: Ligne 24:
 <​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 : 
-<​code>​mkdir /​usr/​src/​asterisk + 
-cd /​usr/​src/​asterisk+1 - Auparavant vérifier la version à utiliser et modifiez les trois lignes (3, 4, 5) en fonction de la version d'​Asterisk 
 + 
 +2 - Exécuter la ligne 6 en étant dans le répertoire /​usr/​src/​asterisk/​asterisk-18.6.0 (car configure est un fichier exécutable du répertoire asterisk-18.6.0) 
 +<​code>​ 
 +mkdir /​usr/​src/​asterisk 
 +cd /​usr/​src/​asterisk ​                      ​
 wget http://​downloads.asterisk.org/​pub/​telephony/​asterisk/​asterisk-18-current.tar.gz wget http://​downloads.asterisk.org/​pub/​telephony/​asterisk/​asterisk-18-current.tar.gz
-tar -xvzf asterisk-16-current.tar.gz +tar -xvzf asterisk-18-current.tar.gz 
-cd asterisk-18.6.0 ​                        # <--- Modifiez cette ligne en fonction de la version d'​Asterisk+cd asterisk-18.6.0
 ./configure --with-jansson-bundled ./configure --with-jansson-bundled
-make menuselect</​code>​+make menuselect 
 +</​code>​
  
 Lorsque vous faites le ./​configure,​ il est possible qu'il manque des paquets; dans ce cas, installez la version dev de ce paquet (par exemple, s'il manque le paquet libedit, exécutez la commande sudo apt-get install libedit-dev) puis relancez le ./​configure. Lorsque vous faites le ./​configure,​ il est possible qu'il manque des paquets; dans ce cas, installez la version dev de ce paquet (par exemple, s'il manque le paquet libedit, exécutez la commande sudo apt-get install libedit-dev) puis relancez le ./​configure.
Ligne 49: Ligne 55:
 make config</​code>​ make config</​code>​
  
-Enfin, lancez Asterisk avec la commande suivante : +Enfin, lancez Asterisk avec la commande suivante :
  
 <​code>/​etc/​init.d/​asterisk start</​code>​ <​code>/​etc/​init.d/​asterisk start</​code>​
  
-Lancez la console Asterisk avec la commande suivante : +Lancez la console Asterisk avec la commande suivante :
  
 <​code>​sudo asterisk -rvvvv</​code>​ <​code>​sudo asterisk -rvvvv</​code>​
Ligne 71: 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>​ sudo apt-get install gcc zaptel zaptel-source +<​code>​ 
- sudo module-assistant auto-install zaptel</​code>​+sudo apt-get install gcc zaptel zaptel-source 
 +sudo module-assistant auto-install zaptel 
 +</​code>​
  
 Fin de l'​installation des pilotes Zaptel, redémarrez maintenant votre ordinateur a l'aide de la commande : Fin de l'​installation des pilotes Zaptel, redémarrez maintenant votre ordinateur a l'aide de la commande :
-<​code>​ sudo reboot</​code>​+<​code>​sudo reboot</​code>​
  
 Ensuite nous allons procéder à l'​installation de Asterisk : Ensuite nous allons procéder à l'​installation de Asterisk :
-<​code>​ sudo apt-get install asterisk</​code>​+<​code>​sudo apt-get install asterisk</​code>​
  
 Un fois installé, modifiez ces paramètres pour que Asterisk demarre au démarrage de l'​ordinateur : Un fois installé, modifiez ces paramètres pour que Asterisk demarre au démarrage de l'​ordinateur :
-<​code>​ sudo vim /​etc/​default/​asterisk</​code>​+<​code>​sudo vim /​etc/​default/​asterisk</​code>​
 <​code>​RUNASTERISK=yes <​code>​RUNASTERISK=yes
 RUNASTSAFE=no</​code>​ RUNASTSAFE=no</​code>​
Ligne 90: Ligne 98:
  
 ===== Configuration ===== ===== Configuration =====
-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/​sip.conf''​** : Configuration globale d'​Asterisk
Ligne 103: Ligne 111:
 ==== Paramétrer les sons en français ==== ==== Paramétrer les sons en français ====
 [[:​tutoriel:​comment_modifier_un_fichier|Modifier le fichier]] ​ **''/​etc/​asterisk/​sip.conf''​** et modifiez la ligne :  [[:​tutoriel:​comment_modifier_un_fichier|Modifier le fichier]] ​ **''/​etc/​asterisk/​sip.conf''​** et modifiez la ligne : 
 +<​code>​
 +language=en;​ Default language setting for all users/peers
 +</​code>​
 +en :
 +<​code>​
 +language=fr;​ Default language setting for all users/peers
 +</​code>​
  
-<​code>;​language=en ​                    ; Default language setting for all users/​peers</​code>​ 
- 
-en :  
- 
-<​code>​language=fr ​                    ; Default language setting for all users/​peers</​code>​ 
 <note important>​N'​oubliez pas d'​enlever le point-virgule au début de la ligne.</​note>​ <note important>​N'​oubliez pas d'​enlever le point-virgule au début de la ligne.</​note>​
 ==== Modifier les utilisateurs ==== ==== Modifier les utilisateurs ====
Ligne 129: Ligne 139:
  
 === Méthode sans template === === Méthode sans template ===
-Pour chaque utilisateur,​ ajoutez le code suivant (avec les modifications nécessaires) : +Pour chaque utilisateur,​ ajoutez le code suivant (avec les modifications nécessaires) :
  
 <​code>​[6001] ;​ Numéro SIP <​code>​[6001] ;​ Numéro SIP
Ligne 143: Ligne 153:
  
 === Méthode avec template === === Méthode avec template ===
-Pour chaque template, ajoutez le code suivant (avec les modifications nécessaires) : +Pour chaque template, ajoutez le code suivant (avec les modifications nécessaires) :
 <​code>​ <​code>​
 [template](!) ;​ Nom du template (ici template) [template](!) ;​ Nom du template (ici template)
Ligne 154: Ligne 164:
 </​code>​ </​code>​
  
-Pour chaque utilisateur,​ ajoutez le code suivant (avec les modifications nécessaires) : +Pour chaque utilisateur,​ ajoutez le code suivant (avec les modifications nécessaires) :
 <​code>​[6001](template) ;​ Numéro SIP et template utilisé <​code>​[6001](template) ;​ Numéro SIP et template utilisé
 fullname = John DOE ; Nom complet de l'​utilisateur (ce qui s'​affichera sur le téléphone) fullname = John DOE ; Nom complet de l'​utilisateur (ce qui s'​affichera sur le téléphone)
Ligne 207: 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 =====
  
Ligne 249: Ligne 311:
  
 Cette passerelle compte 2 port T0. Mais la programmation Smartnode semble identique sur toutes les passerelles Patton RNIS. Cette passerelle compte 2 port T0. Mais la programmation Smartnode semble identique sur toutes les passerelles Patton RNIS.
-L'​interface web est acceptable mais le langage du fichier de configuration est mieux. J'ai donc préféré travailler sur le fichier ce qui est simplifié par l'​usage du wizard, comme indiqué ci-dessous. ​+L'​interface web est acceptable mais le langage du fichier de configuration est mieux. J'ai donc préféré travailler sur le fichier ce qui est simplifié par l'​usage du wizard, comme indiqué ci-dessous.
  
 On trouve beaucoup de documentation,​ mais le meilleur guide est sans doute [[https://​www.patton.com/​manuals/​snfrench-gs.pdf|le manuel de configuration simplifié]] On trouve beaucoup de documentation,​ mais le meilleur guide est sans doute [[https://​www.patton.com/​manuals/​snfrench-gs.pdf|le manuel de configuration simplifié]]
 == Configuration de la passerelle == == Configuration de la passerelle ==
-Pour se connecter à la passerelle, il faut en connaître l'​adresse IP. +Pour se connecter à la passerelle, il faut en connaître l'​adresse IP.
 Deux solutions: le logiciel de Patton, ou bien repérer l'​adresse MAC sur votre routeur. Deux solutions: le logiciel de Patton, ou bien repérer l'​adresse MAC sur votre routeur.
  
Ligne 267: Ligne 329:
    * La passerelle enverra en DTMF le joli nom de "​patton"​ et non pas le numéro de l'​appelant.    * La passerelle enverra en DTMF le joli nom de "​patton"​ et non pas le numéro de l'​appelant.
  
-Ci dessous, un fichier de config sans la ligne de login et avec correction des deux derniers points. ​+Ci dessous, un fichier de config sans la ligne de login et avec correction des deux derniers points.
 Il faut penser à modifier les adresses IP selon vos besoins. Il faut penser à modifier les adresses IP selon vos besoins.
  
Ligne 426: Ligne 488:
  
 == Configuration d'​Asterisk == == Configuration d'​Asterisk ==
-Si les adresses IP sont fixes, il n'y a pas besoin d'​authentification. ​+Si les adresses IP sont fixes, il n'y a pas besoin d'​authentification.
  
 Il suffit donc d'​ajouter ces lignes dans sip.conf: Il suffit donc d'​ajouter ces lignes dans sip.conf:
Ligne 462: Ligne 524:
  
 ===== Liens ===== ===== Liens =====
-   * [[http://​www.asterisk.org/​|Asterisk]] +   * [[https://​www.asterisk.org/​|Asterisk]] 
-   * [[http://​www.asterisk.org/​downloads/​asterisknow|AsteriskNow]]+   * [[https://​www.asterisk.org/​downloads/​asterisknow|AsteriskNow]]
    * [[https://​projects.xivo.fr/​|Xivo]]    * [[https://​projects.xivo.fr/​|Xivo]]
    * [[https://​wiki.koumbit.net/​Asterisk14SurOpenWRT|Asterisk14SurOpenWRT]]    * [[https://​wiki.koumbit.net/​Asterisk14SurOpenWRT|Asterisk14SurOpenWRT]]
    * [[http://​www.lululaberlu.com/​category/​Asterisk|TP Asterisk Base]]    * [[http://​www.lululaberlu.com/​category/​Asterisk|TP Asterisk Base]]
    * [[http://​oxydables.free.fr/​page5.html|Informations sur la VOIP et installation d'​asterisk,​ avec le sip de free]]    * [[http://​oxydables.free.fr/​page5.html|Informations sur la VOIP et installation d'​asterisk,​ avec le sip de free]]
-   * [[http://​people.via.ecp.fr/​~alexis/​asterisk/​|Expérience de déploiements Asterisk dans des entreprises françaises]]+   * [[https://​people.via.ecp.fr/​~alexis/​asterisk/​|Expérience de déploiements Asterisk dans des entreprises françaises]]
    * [[http://​denisrosenkranz.com/​tuto-installer-et-configurer-asterisk-sous-debian-6-et-ubuntu/​|Tutoriel sur lequel est basé cette documentation]]    * [[http://​denisrosenkranz.com/​tuto-installer-et-configurer-asterisk-sous-debian-6-et-ubuntu/​|Tutoriel sur lequel est basé cette documentation]]
  
  • asterisk.txt
  • Dernière modification: Le 11/02/2024, 19:56
  • par dexter74