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"