Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| asterisk [Le 07/03/2021, 17:30] – [Passerelle FXO] 109.190.93.124 | asterisk [Le 03/12/2024, 09:41] (Version actuelle) – [Configuration] 197.149.244.234 | ||
|---|---|---|---|
| Ligne 4: | Ligne 4: | ||
| ====== Asterisk (For VoIP) ====== | ====== Asterisk (For VoIP) ====== | ||
| - | {{ http:// | + | {{ https:// |
| ===== Préambule ===== | ===== Préambule ===== | ||
| Ligne 17: | Ligne 17: | ||
| ===== Installation ===== | ===== Installation ===== | ||
| - | Tout d' | + | Tout d' |
| < | < | ||
| sudo apt upgrade </ | sudo apt upgrade </ | ||
| Nous procédons ensuite à l' | Nous procédons ensuite à l' | ||
| - | < | + | < |
| - | 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 : |
| - | < | + | |
| - | cd / | + | 1 - Auparavant vérifier la version à utiliser et modifiez les trois lignes (3, 4, 5) en fonction de la version d' |
| - | wget http:// | + | |
| - | tar -xvzf asterisk-16-current.tar.gz | + | 2 - Exécuter la ligne 6 en étant dans le répertoire / |
| - | cd asterisk-16.0.1 # <--- Modifiez cette ligne en fonction de la version d' | + | < |
| + | mkdir / | ||
| + | cd / | ||
| + | wget http:// | ||
| + | tar -xvzf asterisk-18-current.tar.gz | ||
| + | cd asterisk-18.6.0 | ||
| ./configure --with-jansson-bundled | ./configure --with-jansson-bundled | ||
| - | make menuselect</ | + | make menuselect |
| + | </ | ||
| Lorsque vous faites le ./ | Lorsque vous faites le ./ | ||
| Ligne 49: | Ligne 55: | ||
| make config</ | make config</ | ||
| - | Enfin, lancez Asterisk avec la commande suivante : | + | Enfin, lancez Asterisk avec la commande suivante : |
| < | < | ||
| - | Lancez la console Asterisk avec la commande suivante : | + | Lancez la console Asterisk avec la commande suivante : |
| < | < | ||
| Ligne 71: | Ligne 77: | ||
| KERNEL==" | KERNEL==" | ||
| - | Ensuite, il faut compiler et installer les pilotes : | + | Ensuite, il faut compiler et installer les pilotes :soumaya |
| - | < | + | < |
| - | sudo module-assistant auto-install zaptel</ | + | sudo apt-get install gcc zaptel zaptel-source |
| + | sudo module-assistant auto-install zaptel | ||
| + | </ | ||
| Fin de l' | Fin de l' | ||
| - | < | + | < |
| Ensuite nous allons procéder à l' | Ensuite nous allons procéder à l' | ||
| - | < | + | < |
| Un fois installé, modifiez ces paramètres pour que Asterisk demarre au démarrage de l' | Un fois installé, modifiez ces paramètres pour que Asterisk demarre au démarrage de l' | ||
| - | < | + | < |
| < | < | ||
| RUNASTSAFE=no</ | RUNASTSAFE=no</ | ||
| Ligne 90: | Ligne 98: | ||
| ===== Configuration ===== | ===== Configuration ===== | ||
| - | La configuration d' | + | La configuration d' |
| - | * **''/ | + | * **''/ |
| * **''/ | * **''/ | ||
| * **''/ | * **''/ | ||
| Ligne 103: | Ligne 111: | ||
| ==== Paramétrer les sons en français ==== | ==== Paramétrer les sons en français ==== | ||
| [[: | [[: | ||
| + | < | ||
| + | language=en; | ||
| + | </ | ||
| + | en : | ||
| + | < | ||
| + | language=fr; | ||
| + | </ | ||
| - | < | ||
| - | |||
| - | en : | ||
| - | |||
| - | < | ||
| <note important> | <note important> | ||
| ==== Modifier les utilisateurs ==== | ==== Modifier les utilisateurs ==== | ||
| Ligne 129: | Ligne 139: | ||
| === Méthode sans template === | === Méthode sans template === | ||
| - | Pour chaque utilisateur, | + | Pour chaque utilisateur, |
| < | < | ||
| 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) : |
| < | < | ||
| [template](!) ; | [template](!) ; | ||
| Ligne 154: | Ligne 164: | ||
| </ | </ | ||
| - | Pour chaque utilisateur, | + | Pour chaque utilisateur, |
| < | < | ||
| fullname = John DOE ; Nom complet de l' | fullname = John DOE ; Nom complet de l' | ||
| Ligne 207: | Ligne 217: | ||
| des sonneries et messages personnalisés, | des sonneries et messages personnalisés, | ||
| + | === Exemple d'AGI : allumer la lumière === | ||
| + | AGI permet à Asterisk d’exécuter des scripts. L' | ||
| + | |||
| + | L' | ||
| + | |||
| + | == Du côté du serveur Raspberry == | ||
| + | |||
| + | Installer un raspberry avec Pi Os Lite. Activer le ssh. Pour l' | ||
| + | |||
| + | Dans /home/info créer le script python command.py: | ||
| + | |||
| + | < | ||
| + | import time | ||
| + | GPIO.setmode(GPIO.BCM) | ||
| + | GPIO.setup(24, | ||
| + | |||
| + | while True: | ||
| + | with open(' | ||
| + | | ||
| + | |||
| + | if " | ||
| + | # Turn on | ||
| + | print(' | ||
| + | GPIO.output(24, | ||
| + | | ||
| + | # Turn off | ||
| + | print(' | ||
| + | GPIO.output(24, | ||
| + | |||
| + | == Du côté d' | ||
| + | |||
| + | Il faut d' | ||
| + | |||
| + | < | ||
| + | |||
| + | Partager la clé avec le raspberry: | ||
| + | |||
| + | < | ||
| + | |||
| + | Configurer ensuite l'AGI, en ajoutant ces lignes dans extensions.conf: | ||
| + | |||
| + | < | ||
| + | exten => 800, | ||
| + | |||
| + | On crée ensuite les scripts correspondant. Créer le fichier / | ||
| + | |||
| + | < | ||
| + | scp / | ||
| + | |||
| + | Faire de même pour eteindre.agi. Il faut aussi créer un fichier / | ||
| + | |||
| + | 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' | ||
| + | |||
| + | On trouve beaucoup de documentation, | ||
| + | == Configuration de la passerelle == | ||
| + | Pour se connecter à la passerelle, il faut en connaître l' | ||
| + | Deux solutions: le logiciel de Patton, ou bien repérer l' | ||
| + | |||
| + | Par défaut aucune route n'est définie. Il n'est donc pas possible de se connecter depuis un autre sous-réseau. | ||
| + | On peut créer la route depuis l' | ||
| + | |||
| + | On trouve sur le site de Patton un wizard pour créer un fichier de configuration qu'il suffit ensuite de personnaliser. Aller sur [[https:// | ||
| + | |||
| + | Ce wizard a trois défauts: | ||
| + | |||
| + | * Il ne crée pas le mot de passe. Il vaut donc mieux enlever la ligne concernée et créer ensuite login et mdp par l' | ||
| + | * Il ne crée pas de route. | ||
| + | * La passerelle enverra en DTMF le joli nom de " | ||
| + | |||
| + | 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. | ||
| + | |||
| + | < | ||
| + | |||
| + | # | ||
| + | # # | ||
| + | # SN4120/ | ||
| + | # R6.11 2019-07-02 H323 SIP # | ||
| + | # 1970-01-20T23: | ||
| + | # SN/ | ||
| + | # Generated configuration file # | ||
| + | # # | ||
| + | # | ||
| + | |||
| + | cli version 3.20 | ||
| + | |||
| + | clock local default-offset +00:00 | ||
| + | webserver port 80 language en | ||
| + | |||
| + | system | ||
| + | |||
| + | ic voice 0 | ||
| + | low-bitrate-codec g729 | ||
| + | |||
| + | system | ||
| + | clock-source 1 bri 0 0 | ||
| + | clock-source 2 bri 0 1 | ||
| + | |||
| + | profile ppp default | ||
| + | |||
| + | profile tone-set default | ||
| + | |||
| + | profile voip default | ||
| + | codec 1 g711alaw64k rx-length 20 tx-length 20 | ||
| + | codec 2 g711ulaw64k rx-length 20 tx-length 20 | ||
| + | |||
| + | profile pstn default | ||
| + | |||
| + | profile sip default | ||
| + | no autonomous-transitioning | ||
| + | |||
| + | profile aaa default | ||
| + | method 1 local | ||
| + | method 2 none | ||
| + | |||
| + | context ip router | ||
| + | |||
| + | interface WAN | ||
| + | ipaddress 192.168.40.9 255.255.255.0 | ||
| + | |||
| + | context ip router | ||
| + | route 0.0.0.0 0.0.0.0 192.168.40.1 0 # Adresse du routeur | ||
| + | |||
| + | context cs switch | ||
| + | |||
| + | routing-table called-e164 RT_ISDN_TO_SIP | ||
| + | route .T dest-interface IF_SIP | ||
| + | |||
| + | interface isdn IF_ISDN_00 | ||
| + | route call dest-table RT_ISDN_TO_SIP | ||
| + | call-reroute emit | ||
| + | diversion emit | ||
| + | |||
| + | interface isdn IF_ISDN_01 | ||
| + | route call dest-table RT_ISDN_TO_SIP | ||
| + | call-reroute emit | ||
| + | diversion emit | ||
| + | |||
| + | interface sip IF_SIP | ||
| + | bind context sip-gateway GW_SIP | ||
| + | route call dest-service SRV_HG | ||
| + | remote 192.168.40.10 | ||
| + | trust remote | ||
| + | |||
| + | service hunt-group SRV_HG | ||
| + | drop-cause normal-unspecified | ||
| + | drop-cause no-circuit-channel-available | ||
| + | drop-cause network-out-of-order | ||
| + | drop-cause temporary-failure | ||
| + | drop-cause switching-equipment-congestion | ||
| + | drop-cause access-info-discarded | ||
| + | drop-cause circuit-channel-not-available | ||
| + | drop-cause resources-unavailable | ||
| + | route call 1 dest-interface IF_ISDN_00 | ||
| + | route call 2 dest-interface IF_ISDN_01 | ||
| + | |||
| + | context cs switch | ||
| + | no shutdown | ||
| + | |||
| + | authentication-service AUTH_SRV | ||
| + | |||
| + | location-service SER_LOC | ||
| + | domain 1 192.168.40.10 | ||
| + | match-any-domain | ||
| + | |||
| + | identity patton | ||
| + | |||
| + | authentication outbound | ||
| + | authenticate 1 authentication-service AUTH_SRV username patton | ||
| + | |||
| + | registration outbound | ||
| + | registrar 192.168.40.10 | ||
| + | register auto | ||
| + | |||
| + | context sip-gateway GW_SIP | ||
| + | |||
| + | interface IF_GWSIP | ||
| + | bind interface WAN context router port 5060 | ||
| + | |||
| + | context sip-gateway GW_SIP | ||
| + | bind location-service SER_LOC | ||
| + | no shutdown | ||
| + | |||
| + | port ethernet 0 0 | ||
| + | medium auto | ||
| + | bind interface WAN router | ||
| + | no shutdown | ||
| + | |||
| + | port bri 0 0 | ||
| + | clock auto | ||
| + | encapsulation q921 | ||
| + | |||
| + | q921 | ||
| + | permanent-layer2 | ||
| + | uni-side auto | ||
| + | encapsulation q931 | ||
| + | |||
| + | q931 | ||
| + | protocol dss1 | ||
| + | uni-side user | ||
| + | bchan-number-order ascending | ||
| + | encapsulation cc-isdn | ||
| + | bind interface IF_ISDN_00 switch | ||
| + | |||
| + | port bri 0 0 | ||
| + | no shutdown | ||
| + | |||
| + | port bri 0 1 | ||
| + | clock auto | ||
| + | encapsulation q921 | ||
| + | |||
| + | q921 | ||
| + | permanent-layer2 | ||
| + | uni-side auto | ||
| + | encapsulation q931 | ||
| + | |||
| + | q931 | ||
| + | protocol dss1 | ||
| + | uni-side user | ||
| + | bchan-number-order ascending | ||
| + | encapsulation cc-isdn | ||
| + | bind interface IF_ISDN_01 switch | ||
| + | |||
| + | port bri 0 1 | ||
| + | no shutdown | ||
| + | </ | ||
| + | |||
| + | == Configuration d' | ||
| + | Si les adresses IP sont fixes, il n'y a pas besoin d' | ||
| + | |||
| + | Il suffit donc d' | ||
| + | < | ||
| + | [patton] | ||
| + | type=peer | ||
| + | context=incoming | ||
| + | description=passerelle_BRI | ||
| + | host=192.168.40.21 | ||
| + | insecure=port, | ||
| + | </ | ||
| + | |||
| + | **Dans le dialplan (extensions.conf) quelques exemples d' | ||
| + | |||
| + | Pour les appels entrants, la Patton passe en numéro d' | ||
| + | < | ||
| + | [incoming] | ||
| + | exten => 5678, | ||
| + | </ | ||
| + | |||
| + | Pour les appels sortants: | ||
| + | < | ||
| + | exten => _0X., | ||
| + | same => n, | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Téléphones ==== | ||
| + | |||
| + | Matériel testé avec succès: | ||
| + | * Yealink T19 et T33 (interface web intuitive). | ||
| + | * Gigaset N870 (et S650H). La N870 est un système DECT pouvant couvrir de très grandes entreprises. La base N870 peut servir de manager (au moins un par installation) et/ou de base DECT (inscrite auprès de la base manager). La base manager fournit une interface web intuitive et puissante dans laquelle sont configurés tous les téléphones DECT.\\ L' | ||
| + | ('' | ||
| ===== Liens ===== | ===== Liens ===== | ||
| - | * [[http:// | + | * [[https:// |
| - | * [[http:// | + | * [[https:// |
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| * [[http:// | * [[http:// | ||
| * [[http:// | * [[http:// | ||
| - | * [[http:// | + | * [[https:// |
| * [[http:// | * [[http:// | ||
