Asterisk

De Wiki de la communauté Mandriva.


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...

Installation

Pour installer asterisk, lancez Image:drakrpm-icon.png Installer et désinstaller des logiciels et recherchez le paquet asterisk.

Sélectionnez-le et cliquez sur Appliquer (Aide).

Vous pouvez également l'installer en utilisant la console en tant qu'administrateur avec la commande suivante : urpmi asterisk

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]