Asterisk

Un article de Wiki de la communauté Mandriva.

Jump to: navigation, search


Asterisk est un PABX logiciel libre (central téléphonique), il intègre de nombreuses fonctionnalités (la messagerie vocale, la conférence, les serveurs vocaux, la distribution des appels), dont la VOIP et utilise pour ce dernier le protocole SIP (Session Initial Protocol) ou/et IAX (Inter-Asterisk eXchange). Ce logiciel permet donc de mettre en place son propre service de VOIP sur son intranet, sans être tributaire de serveur extérieur...

[modifier] Installation

Un RPM est disponible pour Mandriva. L'installation est donc des plus faciles :

Image:Konsole.png
[root@ordi ~]# urpmi asterisk

[modifier] Configuration du serveur VOIP

L'ensemble des fichiers de configuration se trouve dans /etc/asterisk.

Je vais exposer ici la configuration du serveur VOIP, pour une utilisation à l'aide de softphone (Asterisk prend en charge des téléphones IP, mais je n'ai pas étudié ces derniers). Les softphone utilisés prennent en charge le protocole SIP.

Les 2 fichiers à modeler sont:

  • sip.conf -> contient les informations des clients (utilisateurs) autorisés à utiliser le service.
  • extensions.conf -> contient le "dialplan", les associations entre numéros d'appel et utilisateurs. Quoi faire en cas de non réponse etc...

Nous allons déclarer 2 utilisateurs dans le fichier /etc/asterisk/sip.conf :

  [general]
  
  ;J'autorise la vidéo
  videosupport=yes
  
  
  [client1]
  
  type=friend    ;le type friend permet d'appeler et d'être appelé.
  context=phones ;le context se retrouve dans le dialplan
  host=dynamic   ;client1 peut avoir une adresse IP différente à chaque connexion,
                 ;dans le cas ou son adresse lui est attribué dynamiquement par DHCP
  
  [client2]
  
  type=friend
  context=phones
  host=dynamic

Note: Les clients sont ici configurés le plus simplement. De nombreuses options peuvent être ajoutées pour demander un mot de passe lors de la connexion, quelle méthode sécurisée est utilisée pour la vérification des mots de passe, et bien plus encore...

Création du dialplan, fichier /etc/asterisk/extensions.conf :

  [globals]
  
  [general]
  
  [internal]
  
  ;Numero 500 pour tester la latence
  
  exten => 500,1,Verbose(1|Echo test application) ;console asterisk
  exten => 500,2,Playback(tt-weasels) ;message a ecouter
  exten => 500,n,Echo() ;je parle et je m'entend
  exten => 500,n,Hangup() ;déconnection
  
  ;Numéro 728 pour joindre client1
  
  exten => 728,1,Verbose(1|Vers client1) ;console asterisk
  exten => 728,n,Dial(SIP/client1,15) ;appel de client1
  exten => 728,n,Hangup()
  
  ;Numéro 254 pour joindre client2
  
  exten => 254,1,Verbose(1|Vers client2)
  exten => 254,n,Dial(SIP/client2,15)
  exten => 254,n,Hangup()
  
  [phones] ;on retrouve ici le context=phones qui renvoi au context
  
  include => internal


Voilà, il suffit de demander à asterisk de prendre en compte les modifications, en le redémarrant:

Image:Konsole.png
[root@ordi ~]# service asterisk restart

ou en se connectant à la console du logiciel:

Image:Konsole.png
[root@ordi ~]# asterisk -rvv
CLI> reload


Les softphone se connectent au serveur avec le nom d'utilisateur client1 et client2. Une fois connecté au serveur, composer le 254 appel client2 et 728 appel client1. Composer le 500 permet de tester la connexion en écoutant un message d'accueil Playback(tt-weasels), puis en s'écoutant parler… et en se regardant bien sûr.

Là encore, le dialplan est simple, et peut être agrémenté de nombreuses fonctionnalités, comme le renvoi vers un serveur vocal avec menu à choix multiple, une messagerie vocal eavec enregistrement du message et envoi de ce dernier en pièce jointe par mail… etc… KB - [Asterisk]