Vous êtes sur la page 1sur 35

I.

Partie I : Présentation de la Voix sur IP

 Définition de la VoIP
 Les protocoles utilisés par la VoIP

Partie II : Présentation d’Asterisk


 Qu’est-ce que asterisk
 Installation d’asterisk
 Configuration d’asterisk
 Mise en place de la boite vocale ;
 Accéder à la boite vocale ;
 Musique d’attende ;
 La conférence téléphonique.

Partie III : Etude avec deux serveurs Asterisk


 Trunk SIP
 Réalisation
 Configuration de trunk SIP
 Description horaire
 Trunk IAX

Partie IV : Trunk entre CME et Asterisk

 Introduction
 Prérequis
 Composants d’occasion
 Le protocole SIP
 CME SIP Trunk
 Relais DMTF pour les Trunk SIP
 Codecs et transcodages
 Mise en oeuvre

Conclusion

Dimitri LEMBOKOLO 1
I. Présentation de la Voix sur IP

1. Définition de la VoIP

La Voix sur IP ou VoIP (Voice Over Internet Protocol) est le transport de la voix sous forme de
paquets IP. On parle également de Téléphonie sur IP (ToIP).

Principe de fonctionnement :

La voix qui est un signal analogique est d’abord échantillonnée. C’est ce qu’on appelle la
numérisation de la voix. Puis, le signal numérique est compressé en utilisant des codecs. En
téléphonie classique, la bande passante est de 64 kbps (codec G711). Le codec G729, par exemple, a
une bande passante de 8 kbps. Certains mécanismes permettent de réduire la bande passante
nécessaire en détectant les silences lors d’une conversation.
Contrairement à la téléphonie traditionnelle qui utilise la commutation de circuits, le transport de la
voix sur IP est à commutation de paquets. La voix est transformée en paquets qui vont transiter sur le
réseau en utilisant le protocole UDP. UDP est un protocole de transport qui procure de meilleurs
délais d’envoi des paquets que TCP car il n’utilise pas de contrôle de réception (pas d’acquittement).
Le protocole RTP (Real Time Protocol) est utilisé pour les flux temps réel encapsulés dans des
paquets UDP. RTP permet que la perte de quelques paquets voix soit compensée par des algorithmes
de correction d’erreur.
La VoIP implique des contraintes sur les performances du réseau telles que :
 Le délai de latence (RTD = Round Trip Delay) : c’est le temps que met un paquet IP pour
traverser le réseau. (Valeur acceptable : inférieur ou égal à 200 ms)
 La gigue (ou Jitter): c’est la variation du délai de latence. (Valeur acceptable : inférieur ou égal
à 75 ms)
 Le taux de perte de paquets : parfois, certains datagrammes UDP sont détruits (surtout à cause
de l’engorgement du réseau). Pour qu’une conversation soit compréhensible, la dégradation du
signal voix ne doit pas dépasser un certain seuil. (valeur acceptable : inférieur ou égal à 3%)

Dans un réseau, la qualité de service (QoS) va permettre d’accorder une priorité aux flux voix par
rapport aux flux datas.
Le phénomène d’écho va également dégrader la qualité de la conversation téléphonique. Il est dû à
des raisons techniques.

Un problème de l’utilisation de la ToIP se pose lors de l’appel vers les numéros d’urgence. En effet,
l’adresse IP est indépendante de la localisation géographique de l’utilisateur. Dans le cas de la
téléphonie traditionnelle, l’appel sera envoyé vers le service d’urgence le plus proche car l’usager
aura été localisé.

Dimitri LEMBOKOLO 2
2. Les protocoles utilisés pour la VoIP

Un protocole de signalisation est un protocole de la couche 5 (Session) du modèle OSI. Il gère une
communication téléphonique IP ainsi :

1) L’appelant indique les coordonnées de la personne qu’il veut joindre (composition du numéro)
2) Indication au correspondant d’un appel (le téléphone du correspondant sonne)
3) Acceptation de l’appel par le correspondant (le correspondant décroche)
4) Information aux tiers cherchant à joindre les deux interlocuteurs de leur indisponibilité (occupé)
5) Fin de la communication et disponibilité des lignes (raccroché)

Les principaux protocoles utilisés pour l'établissement de connexions en voix sur IP sont :
 H.323 ;
 SIP ;
 MGCP ;
 IAX (Asterisk);

 H.323

H.323 a été élaboré par l’UIT (Union Internationale des Télécommunications) en 1996. Il est donc
issu du monde des télécoms.
Cette norme est pénalisée par sa complexité et son manque d’évolutivité pour l’ouverture vers les
systèmes d’information.

 SIP

SIP (Session Initiation Protocol) est un protocole qui a été normalisé par l’IETF (Internet Engineering
Task Force) en 1999. Il est issu du monde de l’internet. Il se charge de l’authentification et de la
localisation des participants. Mais il ne transporte pas de données.

SIP remplace progressivement H.323 car il est plus souple et plus évolutif.

Fonctionnement de SIP :

SIP est un protocole de type requête/réponse comme http. Une adresse SIP se présente sous cette
forme :
sip:100@192168.1.130

Dimitri LEMBOKOLO 3
100 est le numéro d’extension SIP et 192.168.1.130 l’adresse IP du serveur SIP.

Les utilisateurs (clients SIP) vont s’enregistrer auprès de serveurs proxy.

Schéma

1- Le Softphone A s'inscrit dans le proxy SIP il effectue une demande d'appel auprès de ce proxy
SIP Le proxy SIP transfère la demande au téléphone SIP B.

2- Le téléphone SIP B sonne et demande à l'utilisateur s'il souhaite répondre. La réponse positive
(200 OK) part alors vers le proxy et arrive sur le softphone A pour lui indiquer que l'appel est
accepté.

3- Le softphone A renvoie directement au téléphone B un accusé de réception (ACK), et la


communication est engagée.

 MGCP (Media Gateway Control Protocol)

MGCP est implémenté dans les solutions de passerelle entre le monde de l’IP et le monde des télécoms. Il
est complémentaire à H.323 et SIP. Il est surtout utilisé par les FAI (Fournisseur d’accès à Internet)

 IAX (Inter-Asterisk eXchange)

L’IAX est un protocole de voix sur IP spécifique à Asterisk.


Il permet la communication entre un client et serveur Asterisk ainsi qu’entre deux serveurs Asterisk.
Il a été conçu pour la transmission de flux multimédia avec un débit plus faible (notamment pour la
voix). Par exemple, avec le codec de compression G.729 et en utilisant l’IAX, on peut « faire passer »
103 appels à travers 1 Mbits de bande passante.
Au lieu d’utiliser RTP (Real Time Protocol), IAX utilise UDP (User Datagram Protocol) et un seul
port (le port 5036 pour IAX1 et le port 4569 pour IAX2).
Contrairement à SIP, le protocole IAX2 peut s’implémenter simplement derrière un NAT et traverse
facilement les firewalls.
Il envoie constamment des requêtes pour savoir si la ligne est active.
IAX2 est à apparu longtemps après SIP qui s’est vite avéré être le protocole de référence par les
constructeurs et les fournisseurs de services VoIP. Avant le protocole SIP, il s’agissait du protocole
H323 qui était le plus utilisé.
Ce succès grandissant de IAX2 n’est cependant pas vraiment une menace pour SIP de la manière que
SIP l’a été pour H323. SIP est bien installé, mais nul doute qu‟IAX2 va s’imposer comme une
véritable alternative.

II. Présentation d’Asterisk

1. Qu’est-ce qu’Asterisk ?
Dimitri LEMBOKOLO 4
Asterisk est un logiciel qui, installé sur un PC, fait office de PABX.
C’est un logiciel libre (Open Source), publié sous licence GPL et crée par Mark Spencer de la société
Digium. Il tourne sur Linux, BSD et Mac OS X.

 Les caractéristiques
Asterisk offre tous les services de téléphonie « classiques » d’un PBX ainsi que des fonctions avancées :
 Boîte vocale (avis par courriel de réception d’un message vocal, voyant indicateur de
message en attente…) ;
 Conférence téléphonique ;
 Serveur vocal interactif ;
 Applications CTI (ex : possibilité de composer un numéro de téléphone à partir du carnet
d’adresses d’Outlook) ;
 Visiophonie ;
 Rapport détaillé sur les appels

 Protocoles et codecs

Asterisk effectue une interconnexion transparente entre les divers protocoles voix sur IP et
l'équipement de téléphonie traditionnel. De plus, Asterisk effectue le transfert des appels d'un système
à un autre au moyen du protocole IAX.

 Protocole IAX (Inter-Asterisk eXchange)


 H.323
 Protocole SIP (Session Initiation Protocol)
 Protocole MGCP (Media Gateway Control Protocol)

Fonctionne avec les systèmes de téléphonie traditionnels


 Signalisation RBS (Robbed-bit Signaling)
 FXS et FXO
 Prise par bouclage
 Déclenchement par la terre
 Kew start
 Émission-réception (E&M)
 Signalisation d'émission-réception (E&M Wink)
 Groupe de caractéristiques D

 Protocoles PRI
 4ESS
 Lucent 5E
 DMS100
 National ISDN2
 EuroISDN
 BRI (ISDN4Linux)
 Codecs :
 Système GSM

Dimitri LEMBOKOLO 5
 G.729 (sur l'achat de licences)
 G.723.1 (fonction émulation)
 Linéaire
 Mu-Law
 A-Law
 ADPCM
 G.726
 ILBC
 LPC-10
 MP3 (décodage seulement)

2. Installer Asterisk

Nous allons marcher à travers l'installation d'Asterisk à partir du code source. Beaucoup de gens
répugnent à cette méthode, affirmant qu'il est trop difficile et de longue haleine. Notre objectif ici
est de démontrer que l'installation d'Asterisk à partir des sources n'est pas réellement si difficile à
faire. Plus important encore, nous voulons vous offrir la meilleure plate-forme Asterisk sur lequel
d'apprendre.

 Installez les dépendances logicielles:

# yum install gcc gcc-c++ libxml2-devel ncurses-devel

 Télécharment des paquets (tar.gz)

http://www.asterisk.org/downloads

 Asterisk

asterisk 1.x.xx.tar.gz

 Libpri

libpri-1.x.xx.tar.gz

 DAHDI Linux / DAHDI Tools

dahdi-linux-complete-2.6.0+2.6.0.tar.gz

 Asterisk Add-Ons

asterisk-addons-1.x.x.tar.gz

Dimitri LEMBOKOLO 6
 Créer votre structure de répertoire:

mkdir -p ~/src/asterisk-complete/asterisk
cd ~/src/asterisk-complete/asterisk

idem pour Libpri et Dahdi et asterisk add-ons


Outre l’installation à partir des paquets tar.gz, on peut aussi installer asterisk par commande.
commandes:

#yum install Asterisk

Manuellement:

# cd ../libpri-1.4.x
# make; make install

#cd …/asterisk-1.4.x
#tar -xvzf <nom_du_paquet>
#./configure
#make menuselect
#make
#make install &&make samples
Présentation de l’installation d’asterisk add-ons

# cd …/asterisk-addons-1.4.x
#. /configure
#make
#make install

3. Configuration d’Asterisk

Nous avons installé la version 1.4 d’Asterisk sur une Fedora 11 et Linux Mint 12 (pour le serveur
secondaire d’Asterisk).

Nous allons maintenant faire la configuration d’Asterisk. L'ensemble des fichiers de configuration se
trouve dans le dossier /etc/asterisk/
# cd /etc/asterisk/
La configuration nécessite la compréhension du principe de routage. Chaque extension est manipulée
depuis sa source (une ligne analogique ou numérique, un téléphone IP ou un softphone, l’appel en
provenance d‟un autre PABX) vers une destination via des règles de routage qui s’enchaînent. On
regroupe les règles dans des contextes permettant de séparer les utilisateurs, les usages ou les sources.
La configuration de base comporte au minimum les fichiers asterisk.conf et extensions.conf. Les

Dimitri LEMBOKOLO 7
sources sont dans différents fichiers en fonction de leur type: mgcp.conf, iax.conf, sip.conf
(protocoles) ou encore zapata.conf (matériel).

 asterisk.conf

Par défaut on positionne certains chemins de base au fonctionnement du moteur asterisk, la présence
de ce fichier n’est pas obligatoire, mais voici un exemple de contenu:

 sip.conf

Le fichier sip.conf, va définir l'ensemble de nos utilisateurs. Pour connaitre l'ensemble des
fonctions utilisables, rendez-vous sur le site http://www.asteriskguru.com/tutorials/ et
également sur le site http://www.voip-info.org/

Nous éditons le fichier sip.conf (avec vim, par exemple). A la fin du fichier nous allons créer
deux utilisateurs ainsi :

[general]

Port=5060

Dimitri LEMBOKOLO 8
Port=5060 => port sur lequel Asterisk écoute pour recevoir les connexions SIP

username=dimi => si Asterisk agit entre un client SIP et un serveur SIP distant, ce champ est utilisé
pour authentifier le message INVITE envoyé par Asterisk au serveur

Type=friend => il existe 3 types d’utilisateurs :


 user = peut appeler mais ne peut pas recevoir d’appel
 peer = peut recevoir des appels
 friend = peut appeler et recevoir des appels

secret= passer => définit le mot de passe de l’utilisateur

host=dynamic => permet de se connecter avec cet utilisateur depuis n'importe quelle adresse IP.

context=brazza => l'option "context" sera ensuite utilisée dans le fichier extensions.conf, lorsque
l'utilisateur émet un appel, il rentrera dans la zone "brazza", qu'on définira plus tard.

language=fr => permet d'utiliser les fichiers audio français.

callerid=”dimi” <1000> => permet d’afficher le nom de l’appelant sur le poste appelé

mailbox=10 => numéro de la boîte vocale associée

 extensions.conf

Le fichier extensions.conf permet de définir les règles de routage c’est-à-dire les actions à faire lors
d'un appel sur un numéro de téléphone.
Dans le contexte brazza, nous définissons comment joindre les différents postes. Chaque extension de

Dimitri LEMBOKOLO 9
notre plan de numérotation interne va être interprété et acheminé vers des liens physiques (IAX ou
SIP dans notre cas).
Ajout d'extension
[brazza]
exten => 1000,1,Dial(SIP/dimi)
exten => 1001,1,Dial(SIP/crea)

Transfert d'appel
On utilise la fonction tTr. Par exemple:
exten => 1000,1,Dial(SIP/dimi,tTr)
exten => 1001,1,Dial(SIP/crea,tTr)

Le t permet à l’appelé de transférer l’appel et le T permet à l’appelant de transférer l’appel.

Les commandes utilisées pour la définition des extensions ont la forme suivante :

exten => <extension>,<priorité>,<application(paramètres)>

 extension : numéro composé pour contacter Asterisk. Ce paramètre peut également prendre la
valeur d’une extension prédéfinie par Asterisk (a, i, s, t, etc.).

 priorité : permet de définir l’ordre dans lequel plusieurs commandes pour une même
extension vont être exécutées. La priorité la plus élevée est 1, puis on incrémente de 1 pour la
priorité des commandes suivantes (1, 2, 3, etc.) ;

 application : permet de définir l’action à réaliser pour l’extension en cours.

L’application Dial est utilisée pour l’acheminement de l’appel dans le contexte brazza, le premier
argument passé est la ligne préfixée par son type (IAX2 ou SIP).

 Mise en place d'une boite vocale

La configuration se fait dans voicemail.conf.


Par exemple:

login => code,nom-utilisateur

On fait une mise à jour dans le fichier extensions.conf pour attribuer la messagerie vocale.
Par
Exemple:

Dimitri LEMBOKOLO 10
exten => 1000,1,Dial(SIP/dimi,10,tTr)
exten => 1000,2,VoiceMail(10@dimi,u)
exten => 1000,102,VoiceMail(10@dimi,b)

Et la traduction est la suivante : on compose le numéro 1000 pour appeler dimi. S'il ne décroche pas
après 10 secondes, transférer l'appel sur sa boite vocale. L'option u indique que le correspondant est
indisponible et l'option b indique qu'il est occupé.

Accéder à la boite vocale

Pour accéder à sa messagerie vocale, l'utilisateur compose 710(pour dimi) et 720(pour crea) .Puis il
entre son login et son mot de passe conformément à ceux qui lui sont fixer par le serveur dans
voicemail.conf

Musique d'attente

1) créer le dossier /var/lib/asterisk/mohmp3

Puis on copie une musique, pour notre cas c’est zik.mp3

2) éditer le fichier musiconhold.conf

Dimitri LEMBOKOLO 11
3) créer une classe de musique

m=option permettant de jouer la musique d'attente


pn=la classe de la musique dans musiconhold.conf

La visiophonie

Elle est l’association de la téléphonie et la vidéo initiée par deux interlocuteurs. On passe à la notion
de visioconférence lorsqu’un troisième interlocuteur se pressente. Pour activer la
visiophonie on édite le fichier /etc/asterisk/sip.conf et on décommette videosupport=yes.
Optionnellement, vous pouvez ajouter un certain nombre de codecs sur un compte SIP.

Dans le fichier sip.conf

Dimitri LEMBOKOLO 12
Idem pour les autres utilisateurs

Teste Polycom X-Lite


Remarque : lors des captures, je travaillais avec les numéros (5000), puis changea mon plan de
numérotation en utilisant les numéros (2000).

Dimitri LEMBOKOLO 13
La conférence téléphonique

Dimitri LEMBOKOLO 14
Vous êtes en communication avec un collègue de travail et vous avez besoin d’obtenir rapidement
une information d’un troisième collaborateur. La conférence de déclencher quand il a au moins trois
interlocuteurs. Le softphone X-lite peut héberger des conférences sans aucune configuration des
fichiers du serveur. Les conférences sur Asterisk sont configurées dans le fichier
/etc/asterisk/meetme.conf. Toutes les conférences sont déclarées dans le context room.

- Editer le fichier /etc/asterisk/meetme.conf

III. Asterisk Etude avec deux serveurs Asterisk


Dimitri LEMBOKOLO 15
1. Trunk SIP
Introduction

L’un des principaux arguments pour la migration d’un réseau RTC vers la VOIP est la réduction des
coûts. L’une des méthodes pour réduire les coûts est d’abandonner l’opérateur historique et de
souscrire un abonnement chez un provider SIP. Vous pourrez alors choisir un provider qui vous
fournira des tarifs en fonction de vos besoins.

Pour arriver à ce résultat, il faut mettre en place un trunk SIP. Un trunk SIP est une liaison entre deux
serveurs VOIP. Une autre application de ce trunk SIP est la création d’un lien entre deux sites
distants. Dans ce cas, les coûts de communication entre sites se réduisent aux coûts d’abonnement
d’Internet.

Dimitri LEMBOKOLO 16
2. Réalisation

Dans un premier temps, il faut configurer les deux serveurs en local avec deux plans de numérotation
distincts. En effet, il va falloir permettre aux serveurs de différencier les téléphones de l’agence A de
ceux de l’agence B. Dans notre cas, les numéros compris entre 1000 et 1999 seront dans l’agence A et
les numéros compris entre 2000 et 2999 seront dans l’agence B.

Sur le serveur de l’agence A :


- Modifiez le fichier sip.conf et ajouter les extensions de franck et dimi.
- Configurez les téléphones pour qu’ils s’enregistrent sur le serveur.
- Modifiez le fichier extensions.conf pour « router » les appels vers les téléphones.
- Vérifiez la configuration en passant des appels de franck vers dimi et vice versa.

Faites de même sur le serveur de l’agence B en respectant le plan de numérotation

3. Configuration de trunk SIP

sip.conf sur Serveur A

Dans un premier temps, il faut ajouter un utilisateur dans le fichier sip.conf sur le serveur A. Cet
utilisateur est de la même forme que les autres utilisateurs.

Sip.conf sur Serveur B

Dimitri LEMBOKOLO 17
sip.conf sur Serveur B

Une fois l’utilisateur créé sur le serveur A, il faut que le serveur B s’enregistre. Dans le fichier
sip.conf du serveur B il faut ajouter la ligne suivante.

Cette ligne permet au serveur B de s’enregistrer sur le serveur A à l’adresse 192.168.1.130 avec le
login trunk_A_vers_B et le mot de passe passer.

Sip.conf sur Serveur A

Cette ligne permet au serveur A de s’enregistrer sur le serveur B à l’adresse 192.168.1.186 avec le
login trunk_B_vers_A et le mot de passe passer.

extentions.conf sur serveur A

Quand le serveur B s’est bien enregistré, le serveur A pourra rediriger les appels compris entre 1000
et 1999, vers le serveur B avec cette ligne dans le fichier extentions.conf

Dimitri LEMBOKOLO 18
extentions.conf sur serveur B

Quand le serveur A s’est bien enregistré, le serveur B pourra rediriger les appels compris entre 2000
et 2999, vers le serveur A avec cette ligne dans le fichier extentions.conf

Pour vérifier la bonne configuration, il faut afficher les utilisateurs enregistrés sur le serveur et l’état
de la ligne avec les commandes suivantes :

Dimitri LEMBOKOLO 19
Teste des appels (1000 vers 2000)

Dimitri LEMBOKOLO 20
Teste des appels (2000 vers 1000)

4. Discrimination horaire

La discrimination horaire permet d’autoriser les appels dans une plage de temps définie. On peut
définir cette plage de temps en fonction :

 du jour de la semaine
 de l’heure
 du jour du mois
 du mois

La syntaxe est la suivante :

include => context|days|times|days of month|months of year

Dans l’exemple suivant, les appels ne seront possible que du lundi au vendredi de 8h à 17h, peu
importe le jour ou le mois.

Dimitri LEMBOKOLO 21
On fait la même chose pour le context (pn)

5. Trunk IAX

Coopération

Dès qu'un utilisateur du serveur A composera un numéro entre 1000 et 1999


Il sera directement redirigé vers le serveur B.
Dès qu'un utilisateur du serveur B composera un numéro entre 2000 et 2999
Il sera directement redirigé vers le serveur A.

 Sécurité de l’authentification :

Le protocole IAX permet 3 types de mots de passe pour l'authentification des clients / serveurs
Il n'est pas possible de crypter les données transmises via le protocole IAX, seul l'authentification
permet plusieurs types de mots de passes plus ou moins sécurisés.

 Plain text
Cette méthode est déconseillée, car les mots de passe sont écrits en clair dans les
fichiers de configuration.
 MD5
Les mots de passe sont écrits cryptés à l'aide de la méthode MD5 dans les fichiers de
configurations, donc difficilement décryptables (difficile mais pas impossible)
 RSA
L'authentification RSA (Rivest Shamir Adleman) utilise deux clés partagées, une clé

Dimitri LEMBOKOLO 22
publique ainsi qu'une clé privée. Généralement, ces clés ont une longueur entre 1024 et
2048 bits.

Génération de clés RSA :

Pour générer des clés de cryptage RSA, Asterisk nous fournit un utilitaire: astgenkey.
Les clés RSA doivent se trouver dans le répertoire /var/lib/asterisk/keys.
L'utilitaire "astgenkey" génère deux clés, une clé publique à mettre sur le(s) poste(s) client(s) et une
clé privée à garder sur le serveur.

Note: Il est important que la clé privée ne soit accessible que par Asterisk, car si quelqu'un arrive à
prendre cette clé il pourra décrypter la clé plus facilement.

Pour générer une clé il suffit de se déplacer dans le répertoire de stockage des clés d'Asterisk et de
lancer l'application "astgenkey"

# cd var/lib/asterisk/keys

Lorsque nous lançons astgenkey nous mettons le paramètres "-n" car par défaut "astgenkey"
demande une "passphrase" à chaque démarrage d'Asterisk.
Avec le paramètres "-n"' il enregistre la clé sans "passphrase"

# astgenkey -n

Dimitri LEMBOKOLO 23
Nous avons créé 2 clefs dans le serveur B:
 dimi_iax.pub qui est la clef publique
 dimi_iax.key qui est la clef privée

Maintenant, il faut transférer la clef publique dans l’autre serveur.


Pour cela, nous allons nous positionner sur le serveur A et utiliser ssh avec la commande suivante :
scp user@IPserveur:/répertoire/nom_du_fichier /destination/nom_du_fichier

Dimitri LEMBOKOLO 24
Il faudra répéter l’opération dans l’autre sens afin de créer une interconnexion bidirectionnelle.

 Configuration des paramètres IAX sur chaque serveur

La configuration des paramètres IAX se fait dans le fichier iax.conf se trouvant dans le répertoire
/etc/asterisk/
Sur chaque serveur nous allons configurer un utilisateur IAX qui servira à l'authentification avec le
serveur opposé.

[VOIP1] et [VOIP2]

Configuration du fichier iax.conf pour le serveur B :

Note : le trunk entres clients IAX peut aussi se faire sans partage de clés, mais comme plus avec
SIP en décommandant (register) et faire une configuration par mot de passer et host à dynamic.

Dimitri LEMBOKOLO 25
On fait de même sur le serveur A

 Définition du “dialplan”

Nous devons maintenant créer les contextes dans le fichier extensions.conf dans le serveur A.

[pn]

include => voip1

[voip2]

exten => _1XX,1,Dial(IAX2/${EXTEN})

exten => _2XX,1,Dial(IAX2/voip2/${EXTEN})

Ce qui signifie que dans le contexte [pn] est inclus le contexte [voip1] qui définit que pour les
extensions commençant par 1, l’appel sera acheminé en interne et pour les appels commençant par 2,
l’appel sera transmis au serveur B.

Nous faisons de même sur le serveur B.

[brazza]

include => voip2

[voip1]

exten => _2XX,1,Dial(IAX2/${EXTEN})

exten => _1XX,1,Dial(IAX2/voip1/${EXTEN})

IV. Trunk entre un CME et Asterisk

1. Introduction

Aujourd'hui, l'industrie des télécommunications est en train de faire la transition à long établissant
Techonologies de commutation et de transport pour le transport basé sur IP et de dispositifs de bord.
La révolution de la communication IP a commencé à créer un impact énorme commercial dans les
entreprises petites et moyennes. Ces petites et moyennes entreprises se rendent compte que
l'utilisation de la propriété intellectuelle est très efficace car la propriété intellectuelle peut utiliser les
fonctions vocales, vidéo et données sur un réseau unique, au lieu d'utiliser les opérations distinctes à
vocation spéciale réseaux. La figure montre un déploiement de téléphonie IP trunking IP tendre vers.

Dimitri LEMBOKOLO 26
IPBX commencent à prédominer dans les affaires de la technologie vocale, et les PBX TDM ne sont
plus la principale source de la liaison permanente entre deux réseaux vocaux. L'utilisation du PBX
TDM a diminué au cours des deux dernières années, et l'utilisation de l'IPBX est de devenir un bon
investissement dans IP LAN et WAN. Afin de se connecter au réseau PSTN, PBX besoin d'une sorte
de goulotte tel que le TDM (T1/E1) ou des lignes analogiques. IPBX qui peuvent accéder au RTPC
en utilisant ces types de troncs, mais il faut une passerelle multimédia qui convertit le trafic voix sur
IP à RTC traditionnelle, qui peut parfois donner lieu à une traduction successive à partir du domaine
IP TDM de domaine. Ces traductions successives d'augmenter les coûts de maintenance des
passerelles, augmente la latence, et réduit la qualité de voix.

Afin d'éviter ces problèmes, les IPBX utilisent des protocoles pour initiation de session et de gestion,
le plus important est celui de Session Initiation Protocol (SIP). Ce document fournit une description
de la SIP trunking et Cisco CallManager Express (CME), et une configuration à mettre en œuvre un
système de téléphonie sur IP avec les MEC en utilisant SIP trunking pour les appels entrants et
sortants.

Prérequis

Exigences

Assurez-vous que vous répondez à ces exigences avant de tenter cette configuration:

 CME version 4.1 est installé


 Une image de Cisco IOS ® Software T sortie 12.4 (11) XJ ou IOS 12.4 (6e) est sur le routeur
 Un module NM-CUE est installé avec la version 2.3.4 CUE

Dimitri LEMBOKOLO 27
Composants d'occasion

Les informations contenues dans ce document sont basé sur ces versions logicielles et matérielles:

 Cisco 3825 routeur sur le logiciel Cisco IOS 12.4 de sortie (11) XJ
 Cisco Catalyst 3550 Commutateur sur le logiciel Cisco IOS Release 12.4
 Téléphone IP Cisco 7960
 Cisco CallManager Express 4.1
 Cisco Unity Express 2.3.4

2. Le protocole SIP

SIP est un ASCII basé sur le protocole de contrôle de la couche application qui peut être utilisé pour
établir, maintenir et terminer les appels entre deux ou plusieurs points de terminaison. SIP a
rapidement émergé comme le protocole standard utilisé dans les communications IP, car il est un
protocole multimédia qui peut être utilisé pour les sessions vidéo et la messagerie instantanée, en plus
de voix. En outre, SIP peut gérer des sessions de conférences et d'émissions, ainsi que d'une des
séances individuelles. SIP a un grand potentiel dans la transformation et le développement de la façon
de communiquer les gens. Pour cette raison, Cisco a été et continue à jouer un rôle important dans la
prise d'un leadership pour créer de nouvelles technologies qui rendent SIP et ses applications à la
norme de communications IP.

SIP sont similaires à une ligne téléphonique, sauf que les SIP d'utiliser le réseau IP et non le RTPC.
En outre, SIP permet la convergence de la voix et des données sur tous les courants-connexions IP.
Afin d'accéder au réseau IP en utilisant une liaison SIP il est nécessaire que les configurations être
faite au prestataire de services, ainsi que sur le côté client. Les clients ont besoin pour établir et
configurer CME, qui est le PBX qui va interpréter le signal SIP de manière adéquate et passer le trafic
avec succès. Le prestataire de services a besoin pour configurer un serveur proxy SIP. Cependant, SIP
sont plus compliqués à établir que les troncs RTPC ordinaires. La raison en est que le client fait face à
des défis dans le traitement de l'interprétation différente et les implémentations de SIP par les
fournisseurs d'équipement, la prestation de sécurité, la qualité de gestion de service (QoS), ce qui
permet la traduction d'adresses réseau (NAT) et de pare-feu de traversée, et d'assurer la fiabilité de
classe transporteur et de la continuité de service.

Ces points de décrire pourquoi SIP deviennent si apparente dans les entreprises petites et
moyennes:

Déploiement rapide et facile


 Amélioration de l'utilisation de la capacité de réseau
 Potentiel de consolidation et réduire les coûts de téléphonie
 Économique Direct Dial l'arrivée (SDA)
 business Continuity

Dimitri LEMBOKOLO 28
3. CME SIP Trunk

Cisco CME est une solution de téléphonie IP qui est intégré directement dans le logiciel Cisco IOS.
CME permet aux entreprises petites et moyennes de déployer voix, données et vidéo sur une seule
plate-forme. Un réseau de téléphonie IP est simple à installer, car CME fonctionne sur un seul
routeur, qui offre une fonctionnalité PBX pour les entreprises. Par conséquent, en utilisant CME,
petites et moyennes entreprises peuvent offrir la téléphonie IP et de données de routage à l'aide d'une
solution unique convergé à un coût minime.

4. Relais DMTF pour les Trunks SIP

CME supporte le protocole SIP à partir du CME 3.1 a été publié. Cependant, certains problèmes
existaient déjà lorsque un téléphone SIP appelé un téléphone CSPC ou essayé d'accéder à la
messagerie vocale. Le problème est que les téléphones SCCP connectés à CME nécessitent
l'utilisation d'out-of-band relais DTMF au transport DTMF (chiffres) à travers les connexions VoIP,
et les téléphones SIP utilisent dans la bande Transports. Une distorsion DTMF existait entre les deux
appareils. Lorsque CME 3.2 a été publié, le soutien a été ajouté au relais DTMF. Chiffres DTMF de
SCCP pourrait être converti en in-band mécanisme de relais DTMF par RFC2833 ou prévenir
méthodes.

CME prend actuellement en charge de cette liste de DTMF d'interconnexion pour les appels SIP SIP:

 Avertissez <---> Notify depuis 12.4 (4) T


 RFC2833 <---> Notify depuis 12.4 (4) T
 Avertissez <---> RFC2833 depuis 12.4 (4) T
 Intrabande G711 <---> depuis 12.4 (11) T [Nécessite Transcoder]

CME prend actuellement en charge de cette interconnexion de réseaux DTMF pour les appels SIP
SCCP:

 SCCP hors-bande SIP NOTIFY / RFC2833 depuis 12.4 (4) T

5. Codec et transcodage

Un autre aspect important à considérer lorsque vous mis en place un réseau SIP est les codecs pris en
charge. Codecs représentent l'échantillon de modulation d'impulsions de code pour les signaux à
fréquences vocales. SIP soutenir ces codecs: G.711 et G.729. Toutefois, pour les différentes
caractéristiques telles que Cisco Unity Express (CUE) et la musique d'attente (MOH), seulement
codec G.711 est pris en charge. Cela signifie que les appels vocaux qui utilisent SIP en utilisant le
codec G.729 ne peut pas accéder CUE, sauf si un transcodeur existe pour permettre à la compression
et la décompression des flux de voix pour correspondre aux capacités CUE. Ministère de la Santé

Dimitri LEMBOKOLO 29
peut également utiliser le codec G.729 pour économiser la bande passante, mais le codec ne contient
pas suffisamment de flux de MS de qualité. Cela est dû au fait que G.729 est optimisée pour la parole.
Par conséquent, vous devez forcer MS à utiliser G.711.

6. Mise en oeuvre

Etape 1 : Configuration du CME

Type de routeur CISCO utilisé est le C3700 avec l’IOS : c3745-ipvoicek9-mz.124-9.T

 Attribution d’une adresse IP à l’interface FastEternet 0/0

Configuration de l’interface
R3>en
#conf t
#interface fa 0/0

#ip address 192.168.1.70 255.255.255.0

#no shutdown

#exit

Configuration DHCP

#conf t

#ip dhcp pool voip

#network 192.168.1.0

//*ici on peut autorise tout comme on peut interdire exemple inter les adresses de 1 7

#ip dhcp excluded-address 192.168.1.1 192.168.1.7

#exit

 Configuration du routeur come serveur sip

#voice service voip


#allow-connection sip to sip
#sip
#registrar server expires max 3600 min 500
#exit
#exit

Dimitri LEMBOKOLO 30
 Définir l'adresse et port d'écoute - nombre maximum de numéros et nombre maximum
de téléphone - création de profil définition de type d'authentification

voice register global


mode cme
source-address 192.168.1.70 port 5060
max-dn 10
max-pool 10
authenticate realm 192.168.1.70
create profile sync 0000819220144413
!
 Création de numéros de téléphones

voice register dn 1
number 4001
name charwel
!
voice register dn 2
number 4002
name martial
!
voice register dn 3
number 4003
name espoir
!
 Attribution des numéros aux téléphones et les codecs
voice register pool 1

id mac 0000.0000.4001

number 1 dn 1

username 4001 password passer

codec g711ulaw

voice register pool 2

id mac 0000.0000.4002

number 1 dn 2

username 4002 password passer

codec g711ulaw

Dimitri LEMBOKOLO 31
voice register pool 3

id mac 0000.0000.4003

number 1 dn 3

username 4003 password passer

codec g711ulaw

exit

! ainsi de suite

#copy running-config startup-config

Étape 2: Trunk entre le CME et le serveur SIP

Sur le serveur :

7. Création du compte CME

Dans sip.conf

Dans extensions.conf

Dimitri LEMBOKOLO 32
 Sur le routeur Cisco

#voice service voip

#sip

#allow-connections sip to sip

!---Active SIP et autorise les connections entre clients SIP---

#exit

#voice class codec 1

#codec preference 1 g711ulaw

#codec preference 2 g711alaw

#exit

#sip-ua

#authentication username cme-dimitri password passer

#retry register 10

#retry invite 2

#no remote-party-id

#timers register 100

#registrar ipv4:192.168.1.130 expires 3600

#sip-server ipv4:192.168.1.130!-- Permet de spécifier l’@ IP de l’interface du serveur Asterisk

#exit

 Cas des Appels Entrants

Dimitri LEMBOKOLO 33
#dial-peer voice 1 voip

#description **Appels entrants du trunk SIP**

# voice-class codec 1

# session protocol sipv2

# session target sip-server

# incoming called-number .%

# voice-class sip dtmf-relay force rtp-nte

# dtmf-relay rtp-nte

!--- Comme expliquer précèdement, cette commande permet de forcer CME à utiliser la
RFC2833 pour les codes DTMF en mode « Inband », c'est-à-dire à transporter dans le même
flux RTP que la voix les codes DTMF ---

#no vad

!--- Beaucoup d’IP-Phone utilise en Voice Activity Detector (VAD) pour détecter les périodes
de silence dans le signal voix. Ainsi le signal n’est plus transmis, temporairement, pendant la
durée du signal. Pour nos test et capture de trames nous avons préféré, dans un premier temps,
de désactiver cette fonctionnalité avec la commande ci-dessus. ---

 Cas des Appels Sortants

#dial-peer voice 2 voip

# description **Appel sortant trunk SIP**

# destination-pattern 2[0-9]0 !--- Cette commande indique que ce dial-peer est utilisé pour les
appels sortant dont les numéros sont

# voice-class codec 1

# session protocol sipv2

# session target sip-server

# voice-class sip dtmf-relay force rtp-nte

# dtmf-relay rtp-nte

# no vad

 Plan de numérotation pour acheminer les appels vers les utilisateurs de Asterisk et

Dimitri LEMBOKOLO 34
activation de codec

dial-peer voice 10 voip


destination-pattern 2...
session protocol sipv2
session target sip-server
codec g711ulaw
!
!
telephony-service
max-ephones 5
max-dn 5
ip source-address 192.168.1.70 port 2000
auto assign 1 to 5
max-conferences 8 gain -6
transfer-system full-consult
!
!
ephone-dn 1
number 3000
!
!
ephone-dn 2
number 3001
!
!
ephone-dn 3
number 3002
!

To be continued

Dimitri LEMBOKOLO 35

Vous aimerez peut-être aussi