#liste_articles {display:block}

Mini étude VoIP - Architecture libre - Asterisk

vendredi 30 juillet 2004

 

Mini étude VoIP - Architecture libre - Asterisk

1. Présentation des différents modules

Les principaux protocoles de voix sur IP sont des standards, on peut citer

  • SIP
  • H323
  • MGCP

Le protocole H323 est dérivé de l’architecture télécoms, il est largement implémenté dans les équipements.
Le protocole SIP est dérivé de l’architecture http, moins développé que H323 il est néanmoins largement utilisé par les Softphones (émulations de téléphone sur PC) et toutes les extensions logiciels.

Les téléphones et logiciels libres implémentant SIP sont légions, on peut citer :

  • Xlite
  • SJPhone

Pour relier tous ces équipements, il faut un IPBX, le logiciel libre implémentant cette fonctionnalité s’appelle Asterisk (www.asterisk.org).

Pour plus d’informations voir l’excellent site : http://www.voip-info.org/tiki-index.php

2. Asterisk - Principales fonctionnalités

  • un logiciel PBX pour Linux développé par Digium.
  • mise en relation des correspondants, échantillonnage par Codec,...
  • sources disponibles (GNU Public Licence).
  • Implémente un protocole propriétaire IAX pour le dialogue entre PBX Asterisk
  • Protocoles implémenté : SIP , H323, MGCP

3. Asterisk - Hardware

  • PRI (E1/T1)
    Cartes vendues par Digium
    D’autres fournisseurs existent (voir le site Web)
  • ISDN BRI
  • CAPI
  • POTS (téléphones analogiques standards)
  • FXO et FXS
  • Linux Soundcard

Rappels :

  • interface FX0 (Foreign eXchange Office) : reçoit le courant et le signal ring, utilisé pour connecter des lignes analogiques ou des PBX.
  • Interface FXS (Foreign eXchange Station) : fournit le courant et génère le signal ring, utilisé pour connecter des téléphones (POTS)

4. Asterisk - Installation

L’installation se fait en compilant les sources, voir le site Web, elle nécessite le module CVS pour obtenir les sources. La compilation a été effectuée sans problèmes sur une Fedora Core 2.

Les librairies suivantes sont nécessaires mais elles sont généralement présentes :

  • OpenSSL
  • libncurses
  • libpthread

5. fichiers de configuration

ces fichiers se trouvent dans le répertoire /etc/asterisk
plusieurs frontaux de configuration existent, les tests ont été menés avec ATOS (voir voip_info.org pour détails).

ATOS permet de modifier les fichiers « sip.conf », « iax.conf » et « extensions.conf »

Asterisk implémente une machine à état :

  • Origine de l’appel (quel user SIP ? PSTN ? Anonymous SIP ? Local POTS ?)

= CONTEXT

  • numéro appelé

= EXTENSION

  • un compteur de programme pour ordonner les commandes

= PRIORITY

6. exemple d’utilisation avec SIP

  • sip.conf

[mylogin]

type=friend

context=authorized  ; in which context start calls from that phone ?

username=mylogin  ; Authentication info

secret=no1knows

callerid=300  ; Set the callerID for this phone

host=dynamic  ; Dynamic Address : wait for it to REGISTER

  • extensions.conf

exten => 300,1,Dial(SIP/mylogin,30)

exten => 300,2,Voicemail(u200)  ; if not answered

exten => 300,3,Hangup

exten => 300,102,Voicemail(b200)  ; if busy

exten => 300,103,Hangup

syntaxe de extensions.conf :
exten => pattern,priority,command

• pattern :

  • 12345  ; chaine de caractère
  • _[1-4]XX.  ; expression régulière
  • s  ; "start"
  • i  ; "invalid"
  • t  ; "timeout"

Documents :

par jrepetti