Blog Blue Networks Technologies

La technologies sans fil en toute securité

Serveur asterisk et installation VOip

décembre 23rd, 2008 by Jérôme

Le monde des Logiciels libres dispose de différentes solutions VoIP axées sur des protocoles standards (H323, SIP…). Voyons comment réaliser une architecture simple de VoIP à l’aide d’un serveur Asterisk et de client téléphonique ( dans mon cas un grandstream et des siemens portable VOIP). Puis, comment configurer différentes fonctionnalités de ce serveur Asterisk.

1. Mise en situation

L’objet de cet article est d’initier à la mise en œuvre d’une petite architecture VoIP basée sur des Logiciels libres. Cette architecture est typiquement celle que l’on pourrait trouver dans une petite entreprise ou éventuellement chez un particulier. Elle s’articule autour d’un réseau local, avec un serveur de téléphonie Asterisk et plusieurs postes clients VOIP. En s’appuyant sur cette architecture, quelques fonctionnalités courantes du serveur Asterisk sont illustrées.
Côté serveur, le logiciel Asterisk dispose de nombreuses fonctionnalités dignes des meilleures solutions VoIP commerciales. De plus, il supporte pratiquement tous les protocoles VoIP standards (H323, SIP, MGCP…). Côté client, les téléphone Utilisés son compatibles avec le standard voip.
La versions des logiciels utilisées sont Asterisk 1.4 . L’architecture VoIP proposée utilise exclusivement le protocole VoIP de signalisation SIP (Session Initiation Protocol) et les codecs audio G.711 loi µ. Les problématiques réseau de qualité de service ne sont pas abordées.

2. Configuration du serveur Asterisk

Installation rapide

Sur la Alixbox (article précédent ) d’une distribution debian par le mode réseau. Installation par default avec le minimum.

Une foi l installe de debian fini

nous allons procéder à l’installation de Asterisk :

 sudo apt-get install asterisk

Un fois installé, modifiez ces paramètres pour que Asterisk demarre au démarrage de l’ordinateur :

 sudo vim /etc/default/asterisk
RUNASTERISK=yes
RUNASTSAFE=no

Pour installer les paquets français de Asterisk, vous devez lancer cette commande :

sudo apt-get install asterisk-prompt-fr

Après installation du serveur de téléphonie Asterisk sur votre distribution favorite, il est possible de tester rapidement le fonctionnement en lançant simultanément le processus serveur en mode « verbeux » (option -v) avec un processus client CLI attaché (option -c).

asterisk -vvvvc

Une invite de commande doit apparaître à la fin si tout se déroule correctement :

Asterisk Ready.
*CLI>

On peut alors rapidement voir l’ensemble des commandes disponibles via l’interface CLI (Command Line Interface).

Asterisk Ready.
*CLI>help

Pour arrêter le serveur depuis l’interface CLI, on peut utiliser la commande stop now :

Asterisk Ready.
*CLI>stop now

/img-articles/lm/90/art-2/fig-1.jpg

Dans ce cas, on connecte des clients CLI à l’aide de l’option :

asterisk -r

La configuration du serveur est réalisée à travers plusieurs fichiers textes qui se situent dans le répertoire /etc/asterisk. Parmi eux, le fichier sip.conf permet la déclaration des téléphones. Pour déclarer trois téléphones logiciels Ekiga, il faut simplement ajouter les lignes suivantes à la fin de ce fichier :

[grandstream]		; nom du téléphone
type=friend		; type de téléphone
host=dynamic	; enregistrement dynamique de l’adresse IP du téléphone
username=ekiga1	; nom d’utilisateur associé
secret=toto		; mot de passe
disallow=all		; interdit tous les codecs
allow=ulaw		; autorise uniquement le codec G711 loi µ
[tel2]		; nom du téléphone
type=friend		; type de téléphone
host=dynamic	; enregistrement dynamique de l’adresse IP du téléphone
username=ekiga2	; nom d’utilisateur associé
secret=toto		; mot de passe
disallow=all		; interdit tous les codecs
allow=ulaw		; autorise uniquement le codec G711 loi µ
[tel3]		; nom du téléphone
type=friend		; type de téléphone
host=dynamic	; enregistrement dynamique de l’adresse IP du téléphone
username=ekiga3	; nom d’utilisateur associé
secret=toto		; mot de passe
disallow=all		; interdit tous les codecs
allow=ulaw		; autorise uniquement le codec G711 loi µ

Il suffit maintenant d’attribuer un numéro de téléphone à chacun de nos trois téléphones. Le fichier extensions.conf permet d’associer à chaque numéro de téléphone une suite de commandes. Pour ce faire, il suffit d’ajouter les trois lignes suivantes à la fin de ce fichier (plus exactement à la fin du contexte [default]) :

exten => 555,1,Dial(SIP/grandstream)	; 555 appelle le téléphone grandsream
exten => 556,1,Dial(SIP/tel2) ; 556 appelle le téléphone tel2
exten => 557,1,Dial(SIP/tel3)	; 557 appelle le téléphone tel3

Le serveur Asterisk est maintenant prêt à enregistrer les trois clients Ekiga qui disposent respectivement des numéros de ligne 555, 556 et 557.

3. Configuration des téléphones

Pour utiliser le téléphone LIRE LA DOC !!!

Et compléter comme ce si les différents champs comme ci-dessous :

NomDuCompte : MonAsterisk
Protocole : SIP
Registrar : Adresse IP de votre serveur Asterisk
Utilisateur : VOIR PLUS HAUT le nom du téléphone
Mot de Passe : toto plus haut aussi

Puis, confirmez ou appliquer suivant model de telephone
Dès que ces trois premiers “clients” sont correctement configurés, il est possible d’effectuer des appels internes. Le client tel2 peut, par exemple, appeler le client  grandstream en composant le 555.

4. Enregistrement chez un fournisseur SIP

SIP pour Session Initiation Protocol est un protocole normalisé et standardisé par l’IETF (RFC 3261 + RFC 3265). Il se charge de l’authentification et de la localisation des multiples participants d’une session multimédia. SIP remplace progressivement H323.

L’architecture mise en place jusqu’à présent permet uniquement d’effectuer des appels internes. Pour pouvoir accéder au réseau téléphonique commuté, qui est toujours le standard de fait, une solution élégante est l’utilisation d’un fournisseur SIP. Ce dernier constitue une passerelle entre la téléphonie IP (basée sur le protocole SIP) et le réseau de l’opérateur historique. La plupart des fournisseurs SIP fonctionnent suivant le principe du crédit temps : vous créditez un compte chez le fournisseur qui est débité en fonction des communications. Les tarifs de la minute dépendent de la destination de l’appel. Les appels nationaux vers des fixes sont souvent gratuits.
Tous les fournisseurs SIP permettent les appels sortants vers le Réseau Téléphonique Commuté. Par contre, pour les appels entrants, seulement certains proposent l’attribution d’un numéro.
Le fournisseur d’accès internet « Free » propose un service de téléphonie SIP appelé « freephonie.net » pour les appels sortants et entrants. La configuration donnée pour ce fournisseur SIP peut facilement s’adapter à d’autres (voir les liens donnés plus bas).
Sur la page d’accueil de votre fournisseur d’accès « Free », dans l’encadré « Gestion de mes services de téléphonie », sélectionnez Gestion de mon compte SIP.

/img-articles/lm/90/art-2/fig-11.jpg

Il s’agit ensuite de configurer le service SIP. Pour ce faire, il faut saisir un mot de passe, puis valider les options « Rediriger les appels entrants vers le SIP » et « Activer le service ».

/img-articles/lm/90/art-2/fig-2.jpg

Cliquez alors « ENVOYER », à ce moment le téléphone de la Freebox est désactivé et tous les appels transitent à travers la passerelle SIP.
Ensuite, on paramètre le serveur Asterisk pour qu’il s’enregistre auprès de son fournisseur SIP.
Cela se fait en ajoutant la ligne suivante dans le fichier /etc/asterisk/sip.conf à la fin du contexte [general] juste avant le contexte [authentication].
Il faut à présent déclarer le faisceau correspondant au fournisseur. Pour cela, il faut ajouter les lignes suivantes à la fin du fichier sip.conf :

[fournisseursip]
type=friend       	     ; type de lien correspondant
insecure=very    	     ; indispensable
host=freephonie.net	     ; le fournisseur SIP
username=0807060504	     ; le nom d’utilisateur chez le fournisseur SIP
secret=MotDePasse	     ; le mot de passe chez le fournisseur SIP
fromuser=087060504
fromdomain=freephonie.net
context=fournisseursip-entrant ; le contexte ou diriger les appels entrants

Enfin, il reste à affecter un préfixe qui permet de sélectionner le faisceau du fournisseur SIP. On peut, par exemple, définir le préfixe 0. Ainsi, tous les numéros débutant par 0 sont envoyés vers le réseau téléphonique commuté. Cette règle est à définir en ajoutant la ligne suivante à la fin du fichier extensions.conf :

exten=>_0.,1,Dial(SIP/${EXTEN:1}@fournisseursip)

Pour tester, il suffit de composer le 0 suivi d’un numéro de téléphone quelconque, soit 11 chiffres. Dans l’autre sens, si vous appelez votre numéro freephonie depuis le réseau commuté, vous entendez le message d’accueil d’Asterisk. On peut diriger les appels entrant sur les trois postes clients ekiga en ajoutant les lignes suivantes à la fin du fichier extensions.conf :

5. Fonctions utilisateurs

Comme tout serveur de téléphonie, Asterisk dispose des fonctions utilisateurs de base sur les appels : transfert, mise en attente, interception, enregistrement…
Ces fonctions sont activées par l’envoi de tonalités DTMF (Dual-Tone Multi-Frequency). Ces tonalités seront envoyées en cours de communication à l’aide de l’onglet « numéroteur » du téléphone logiciel « Ekiga ». La configuration de ces fonctions est réalisée à travers le fichier features.conf.

5.1 Paramétrage des tonalités DTMF

Le serveur de téléphonie Asterisk et le téléphone logiciel Ekiga doivent utiliser le même mode de fonctionnement DTMF. En principe, Asterisk et Ekiga utilisent le format DTMF « RFC2833 » par défaut. Mais, pour être rigoureux, il est préférable de forcer ce mode pour nos deux logiciels. Côté Asterisk, il suffit de décommenter la ligne suivante dans le fichier sip.conf (en supprimant le ; en début de ligne) :

 ;dtmfmode = rfc2833 ; Set default dtmfmode for sending DTMF. Default: rfc2833

Côté Ekiga, dans le menu Edition, sélectionnez Préférences, puis Paramètres SIP. Vérifiez alors, que « mode DTMF » est à « RFC2833 ».

5.2 Transfert d’appel (#)

La fonctionnalité de transfert d’appel est souvent implémentée directement au niveau des terminaux téléphoniques SIP, qu’ils soient logiciels ou matériels. C’est le cas du téléphone logiciel Ekiga où l’on peut accéder cette fonction par le menu déroulant Appel, suivi de Transférer l’appel (raccourci [Ctrl]+[T]).
Cette fonction SIP est également disponible au niveau du serveur de téléphonie. Cela permet d’utiliser le transfert qu’il soit disponible ou non à partir du terminal, et de la même manière quel que soit ce téléphone. Le serveur de téléphonie Asterisk dispose de cette possibilité de transfert au cours d’une communication au travers de commandes DTMF.
Il ne reste plus qu’à autoriser le transfert d’appel au niveau des commandes Dial() associées aux trois numéros de téléphone (555, 556, et 557) du fichier extensions.conf. Pour ce faire, modifiez la fin du fichier extensions.conf comme suit :

exten => 555,1,Dial(SIP/ekiga1,,tT)
exten => 556,1,Dial(SIP/ekiga2,,tT)
exten => 557,1,Dial(SIP/ekiga3,,tT)

Les options t et T autorisent respectivement l’appelé et l’appelant à transférer l’appel.
Pour tester le transfert, il faut alors établir une communication. Puis, durant la conversation, tapez # sur le poste. A ce moment, le serveur répond en prononçant « transfer ». Saisissez alors le numéro du téléphone de destination.

5.3 Interception d’appel (*8)

L’interception d’appel intervient lorsqu’un téléphone sonne. Elle autorise la récupération de l’appel destiné au poste qui sonne à partir d’un autre poste. Pour cela, il faut que l’intercepté appartienne au groupe d’appel qui correspond au groupe d’interception de l’interceptant.
Pour illustrer cela, on peut par exemple autoriser l’interception du téléphone

[gradsream]
type=friend
host=dynamic
username=ekiga1
secret=toto
pickupgroup=1
[tel2]
type=friend
host=dynamic
username=ekiga2
secret=toto
callgroup=1

Conclusion

Le début de cet article a démontré comment mettre en place simplement une architecture VoIP autour d’un serveur Asterisk. La suite du document a expliqué la configuration de quelques fonctionnalités couramment utilisées. Elles ne révèlent que très partiellement les possibilités du serveur Asterisk qui sont en permanente évolution.

Liens:

  • Asterisk : http://www.asterisk.org
  • Ekiga : http://www.ekiga.org
  • Quelques fournisseurs SIP :
    http://www.sipdiscount.com
    http://www.voipbuster.com
    http://www.freecall.com

ARTICLE de linux magazine copier en partie sur l’excelent articles D unixgarden,

Quelque petite photos de mon installations.( SUR MES MEUBLES EN carton oreka )

La suite de l’instalation dans un prochain article.

Category: Expérimentations, Installations en cours, Non classé | No Comments »

Alix System Boards

novembre 19th, 2008 by Jérôme

Pour une de nos installations de VoIp, nous avons étudié différentes solutions alternatives de micro systèmes embarqués.

Aujourd’hui je vous parlerai de la Alix Board de chez PC-Engines dont voici les caractéristiques:

—————————————————————————-

Mini-ITX 500 MHz 256 MB Low Power consumption.

PC-ENGINES Alix1D = LX800 CPU, 256 MB SDRAM

New Mini-ITX board from PC-Engines.

SPECIFICATIONS

CPU: 500 MHz AMD Geode LX

DRAM: 256 MB SDRAM on board

Storage: CompactFlash socket, 44 pin IDE

Power: 12VDC, DC-DC converter on board. No bulky ATX PSU needed. No PoE.

Expansion: MiniPCI + PCI + LPC + optional I2C

Connectivity: 1 Ethernet channel (Via VT6105M 10/100)

I/O: 2 COM, 4 USB, 1 LPT, audio, VGA

Board size: 6.7 x 6.7″ – 170 X 170 mm. (miniITX), low profile.

Firmware: Award BIOS

————————————————————————————-

Pour commencer la carte mère et son boitier ouvert :

Petit zoom sur la carte mère:

Le microprocesseur est un AMD Geode 500Mhz, on voit très bien la ram embarqué a sa gauche..

————-

Installation du système d’exploitation (Debian) au labo sur le vidéoprojecteur..

—————————

Quelques photos en vrac pour vous montrer la taille de ce petit bijou.

À coté d’un routeur buffalo et d’une nanostation. On se rend très vite compte de la taille avec le cd….

L’encombrement vraiment très réduit, à peine plus épais que le diamètre d’une pièce de 2 euros…

—————————————————————————————————————————

Donc place a l’instalation de l’ipbx et des Téléphone qui iront avec. La suite prochainement.

Category: Expérimentations | No Comments »

Wifi en zone Blanche ADSL

octobre 10th, 2008 by Alex

Bluenetech.com adslzoneblanche.fr adslparwifi.fr

BNT porte à chaque foyer intéressé, même très isolé, une connexion à Internet haut débit via un réseau relié à un ou plusieurs accès haut débit xDSL Pro, câble ou fibre. Ce réseau est constitué par des liaisons numériques radio de très faibles puissances, avec la technologie WiFi 802,11b,g,a, en conformité avec les règles imposées par l’ARCEP.

Les réseaux mis en place par BNT sont maillés (mesh), pertinents et redondants ; parfaitement adaptés au milieu rural.

Un réseau de qualité et évolutif
Redondances des connexions en mesh
Pas de “partage de sort” : contrairement au mode “infrastructure” (AP/client), en mode ad’hoc (mesh), si un utilisateur a une mauvaise connexion sur un relais, il ne pénalise pas les autres connexions de ce relais.
Couverture dynamique, évolutive, multi-utilisateurs et inter-opérable
Gestion de la qualité de service (QoS) en temps réel.

La collecte vers Internet Haut Débit

Pour fournir un service d’accès Internet Haut Débit de grande qualité, proches des zones à couvrir, BNT met en place des points de connexion très haut débit sur différents supports (fibre optique, SDSL, ADSL, cable.) pour vous offrir l’internet;
Un même réseau peut être alimenté par plusieurs passerelles (BOX) au fur et à mesure de son extension, garantissant une qualité optimale.
Objectifs et résultats :
- Fourniture d’une IP fixe Publique pour chaque utilisateur raccordé
- Faible latence vers Internet (+2 a 3Ms par rapport a l’adsl classique, La voip marche! )
- Débits maîtrisés et optimisés pour la téléphonie

Un réseau à prix modéré

Les réseaux maillés se contentent d’installations discrètes sur des structures (maison, clocher, poteaux, …) déjà existantes. -  L’utilisation des réseaux maillés réduit considérablement les frais de génie civil et permet une bonne intégration environnementale.

Installation de la connexion chez l’Utilisateur

BNT inclut dans son offre une intégration complète du réseau jusqu’aux équipements des abonnés
Un réseau sécurisé (portail d’authentification client )
chaque équipement d’abonné est émetteur/récepteur, cela assure des redondances pour une excellente qualité des connexions .

Category: Non classé | No Comments »