A propos | Laboratoire | Voisinage | Meilleurs articles | Nous aider | Forums

Panoramisk / Le druide de la VoIP 

Annonce

On peut être passionné par la téléphonie et prendre soin de soi : "Faites du sport, faites du vélo" est la devise du site d'e-commerce lancé par l'un des auteurs de Panoramisk : bikeo. Si vous faites du vélo, que ce soit en ville, sur la route ou sur les chemins plus accidentés, n'hésitez pas à aller faire un petit tour sur www.bikeo.fr pour vos prochains achats verts.
En plus leur plate-forme de téléphonie utilise Asterisk, comme quoi on peut la convergence est une réalité.

Faisceau SIP avec Asterisk

Afin de passer des appels voix sur IP d’un PABX à un autre, l’utilisation du protocole SIP est directe et permet d’assurer une cohérence avec les téléphones utilisant ce même protocole. Cet article explique comment construire simplement une connexion SIP entre deux Asterisk et peut donc service à interconnecter un Asterisk avec d’autres systèmes SIP disponibles sur le marché.

Dans Asterisk, on distingue les appels entrants et les appels sortants. Les premiers nécessitent d’être acceptés d’une part et orientés vers le contexte du plan d’appel qui permettra de les gérer par rapport au besoin. Dans le cas des appels sortants, l’application Dial nécessite soit un profile SIP spécifique, soit un enregistrement dans le cas de l’utilisation d’une adresse IP allouée dynamiquement.

Contexte

La complexité de l’opération d’interconnexion réside dans la compréhension des rôles de chaque partie et les paramètres qu’il faut mettre en regard. L’exemple que nous utiliserons ici est constituée de deux Asterisk, nommés respectivement asterisk-lyon et asterisk-paris, ils utilisent tout deux une adresse IP fixe, sur un réseau d’entreprise traditionnel, sans NAT donc. Nous avons attribué le préfixe 91 à Lyon et le préfixe 98 à Paris pour un routage simplifié.

Configuration simple

Pour commencer, essayons de faire passer un appel de Paris vers Lyon. Pour cela, il me faut configurer mes deux Asterisk comme suit, dans sip.conf :

Lyon Paris
[trunk-lyon-paris]
type=peer
host=asterisk-paris
context=from-asterisk-paris

[trunk-paris-lyon]
type=peer
host=asterisk-lyon

L’appel part de Paris avec dans le plan d’appel, extensions.conf :

exten => _91.,1,Set(CALLERID(num)=98${CALLERID(num)})
exten => _91.,2,Dial(SIP/trunk-paris-lyon/${EXTEN:2},20,rt)

Le Dial dirige donc l’appel sur le faisceau nommé trunk-paris-lyon. Celui ci est défini dans le fichier sip.conf entre crochet, il est de type peer donc on peut faire passer des appels en sortie et le partenaire est l’adresse IP derrière l’hôte asterisk-lyon (cf DNS ou table de hosts).

Le message SIP INVITE arrive à Lyon et Asterisk cherche dans la configuration SIP un profile dont l’adresse IP source correspondrait à asterisk-paris. Il n’a plus qu’à le diriger vers le contexte spécifié.

Configuration bidirectionnelle

Afin que Lyon puisse également appeler Paris, il nous faut effectuer les modifications suivantes (en gras):

Lyon Paris
[trunk-lyon-paris]
type=peer
host=asterisk-paris
context=from-asterisk-paris

[trunk-paris-lyon]
type=peer
host=asterisk-lyon
context=from-asterisk-lyon

A Lyon, le plan d’appel doit également contenir de quoi aller à Paris:

exten => _98.,1,Set(CALLERID(num)=91${CALLERID(num)})
exten => _98.,2,Dial(SIP/trunk-lyon-paris/${EXTEN:2},20,rt)

Avec authentification des appels

S’il on souhaite apporter un peu de sécurité on peut ajouter l’authentification de chaque appel passé sur ce faisceau. Non pas que cette sécurité soit à l’épreuve de tout, mais elle permet d’échafauder un principe de facturation entre les deux entités, lorsque l’on met en place l’authentification dans la configuration, on accepte de fait ce principe. L’authentification utilise un digest et MD5, donc le mot de passe ne circule pas en clair dans la communication.

La mise en place de l’authentification nécessite un mot de passe, utilisé comme germe lors des premiers échanges, ainsi que d’un nom d’utilisateur (pas obligatoire, mais permet de gagner en clarté et d’éviter les erreurs lorsque les postes ont les mêmes identifiants sur les différents sites). La configuration devient donc:

Lyon Paris
[trunk-lyon-paris]
type=peer
host=asterisk-paris
context=from-asterisk-paris
username=trunk-paris-lyon
secret=super_mot_de_passe

[trunk-paris-lyon]
type=peer
context=from-asterisk-lyon
host=asterisk-lyon
username=trunk-lyon-paris
secret=super_mot_de_passe

Conclusion

La mise en place d’un lien SIP entre deux Asterisk est donc assez simple, du moins lorsque les adresses IP sont cohérentes. C’est également le principe utilisé pour interfacer un Asterisk avec d’autres équipements SIP et notamment ceux chez les fournisseurs de téléphonie, les Centrex.

Posté par: Alexandre Chauvin-Hameau, le 19/06/2007
Trackback | Popularité: 73%
marqué , , , et
AddThis Social Bookmark Button
UselessNothing newInformativeLearned a lotAmazingly helpful (6 votes, average: 4.17 out of 5)
Loading ... Loading ...

Voir aussi

Et pourquoi pas

6 Réponses à “Faisceau SIP avec Asterisk”

  1. Andrew à dit:

    Très intéressant, mais manque cruellement de pédagogie à tel point qu’on ne sait plus de quoi il s’agit vraiment.
    Merci quand même !

  2. Jacques-Thierry à dit:

    Ce que vous donnez comme info est surement logique pour ceux qui comprennent les algos mais je trouve qu’il serait bien que vous pensiez à des curieux de l’informatique comme moi qui ne s’y connaisse pas mais qui en ont entendu parler et qui s’y intéresse bcp. Merci d’en tenir compte.

  3. Alexandre Chauvin-Hameau à dit:

    Je vous remercie de votre remarque mais ne comprends pas spécialement en quoi il est nécessaire de comprendre les algos, je n’en vois en effet aucun dans cet article détaillant un principe avancé de l’utilisation de l’IPBX Asterisk.
    Pourriez-vous me détailler ce que vous auriez souhaité voir dans cet article et que vous n’avez pas trouvé ?

  4. Moussa NDIAYE à dit:

    Bonjour Alexandre.
    Je trouve l’article simple et efficace pour qui voudrait bien faire communiquer deux asterisk.
    Peut etre developper la partie authentification serait aussi bien et utiliser des LAN avec des adresses privees, ….vpn entre les deux pourrait etre bon.
    Des que j’aurais le temps je posterais un article sur ces aspects qui peuvent egalement aider.
    Nice job…. Go on

  5. Julien à dit:

    Bonjour,
    En quoi un lien SIP est plus intéressant qu’un lien IAX2 sur 2 serveurs Asterisk ? quelle est la meilleure solution ?

    Merci de votre avis :)

  6. Moussa NDIAYE à dit:

    SIP est le standard ouvert de VoIP interopérable le plus étendu et vise à devenir le standard des télécommunications multimédia (son, image, etc.). SIP n’est donc pas seulement destiné à la VoIP mais pour de nombreuses autres applications telles que la visiophonie, la messagerie instantanée, ou même les jeux vidéo.

    IAX est un protocole de voix sur IP issu du projet de PABX open source Asterisk.

    Il permet la communication entre client et serveur ainsi qu’entre serveurs. Il est plus puissant que SIP car il a été conçu pour le contrôle et la transmission de flux multimédia avec un débit plus faible (notamment pour la voix) et l’intégration dans les réseaux nates.

    Ses faiblesses sont sa jeunesse et sa non-standardisation.

    Personnellement j’aime utiliser SIP pour faire communiquer deux asterisk…

Laisser un commentaire

© 2008 Panoramisk | Creative Commons License wordpress logo