Comment mettre en place sa téléphonie grâce à Asterisk
Le 25 juin, 2011 - 01:36 | Ulhume

De la ligne téléphonique d'une freebox (et sûrement des autres "box") à Skype en passant par les très nombreuses offres disponibles sur le Net, la VoIP (Voice over IP) est partout. Pris dans le contexte d'une architecture domestique ou d'entreprise, la VoIP (Voice over IP ou Voix sur IP) est un nouveau faisceau de service, comme la messagerie, qu'il est possible d'intégrer à un degré professionnel grâce à un outil libre souvent considéré, à tord, comme complexe, Asterisk.

Pour quoi faire ?

Comme toujours il est important avant de se lancer, de comprendre ce que peut apporter une intégration VoIP domestique ou professionnelle. Et pour cela, il est nécessaire d'avoir en tête ce que permet Asterisk.

Asterisk est un projet qui démarré il y a plus de 10 ans (1999) par Mark Spencer. Son objectif était alors de fournir à Linux un commutateur téléphonique complet et totalement libre. Aujourd’hui Asterisk est un PABX (Private Automatic Branch eXchange) d'une rare puissance et souplesse, capable de gérer la téléphonie analogique, mais surtout, et c'est ce qui nous intéresse, la voix sur IP.

La VoIP sur Asterisk passe entre autre par la prise en charge d'un protocole standard, ouvert et très largement utilisé, le SIP (Session Initiation Protocol). SIP qui est un protocole très proche d'HTTP qui n'est pas limité à la seule voix mais qui prend aussi en charge la vidéo et la messagerie instantanée.

D'un point de vue fonctionnalité, Asterisk permet tout ce que l'on peut attendre d'un PABX moderne, et plus particulièrement dans notre contexte :

  • La prise en charge de tous vos comptes SIP (et pas seulement, Skype et Gtalk aussi).
  • La gestion des postes téléphonique sur IP locaux. Il peut s'agir de téléphones physiques (tout en un ou via un adaptateur ATA - Analog Telephone Adapter), mais aussi logiciels (ou SoftPhone) comme Ekiga ou csipsimple.
  • La téléphonie de poste à poste en local, comme le permettent les téléphones DECT (mais sans vous bourrez la tête d'onde).
  • Un nombre illimité de boites vocales, et en français s'il vous plait !
  • La mise en attente et le transfert d'un appel, d'un poste local à l'autre.

Asterisk est un beau joujou, nous allons le voir, très simple à mettre en œuvre, mais comme toute chose cela demande du temps. Il faut donc bien se poser l'intérêt de cette technologie dans votre configuration. Si vous désirez que votre ligne Freebox (ou autre fournisseur SIP) fasse sonner tous les téléphone sur IP (ce qui est impossible avec freephonie sans PABX), si vous désirez irriguer en téléphonie une petite entreprise à moindre frais (les grosses préférerons sûrement passer par un prestataire plutôt que bricoler cela eux-même ;-), ou si, comme moi, vous êtes une famille d'indépendants qui reçoivent finalement des appels perso, comme pro, Asterisk est sans aucun doute une option à envisager sérieusement.

Installation d'asterisk

Avant de partir dans l'installation de paquets, sachez qu'il existe de nombreuses distribution Asterisk toutes faites (allez sur la page wikipedia d'asterisk pour en savoir plus), ainsi que des configurateur sensé être user-friendly (par exemple freePBX). Mais si vous êtes ici, c'est que vous aimez savoir ce qui se passe, en direct. Nous allons donc voir comment monter tout cela à la mano, sur une debian de base.

La première chose à faire est évidement d'installer Asterisk. Cela se fait sans douleur sur la grande majorité des distribution modernes, par exemple debian :

aptitude install asterisk asterisk-config asterisk-prompt-fr-proformatique
Installation d'asterisk

Ici nous avons installé l'outil, sa configuration, ainsi que, en prévision de la suite, une séries de messages en français de haute qualité pour la boite vocale.

Ceci fait, Asterisk est prêt à être lancé avec sa configuration par défaut dans le dossier /etc/asterisk. Nous allons cependant nous en garder pour faire d'abord un peu de paramétrage.

Communication de poste à poste

Paramétrage SIP général

Pour commencer nous n'allons pas faire aussi compliqué. Notre configuration va consister à déclarer deux softphones Ekiga et ainsi permettre de passer des appels internes de l'un à l'autre.

Pour cela nous allons créer la configuration de la partie SIP en écrasant /etc/asterisk/sip.conf avec la configuration suivante :

[general]
defaultexpirey=1800
dtmfmode=auto
qualify=yes
configuration de base pour le SIP

Dans cette section [general] sont placés les paramétrages communs à tous les éléments connectés au moteur SIP d'asterisk.

Ajout des deux postes

A la suite de sections, nous allons en ajouter deux nouvelles, correspondant aux deux téléphones :

[salon]
type=friend
username=salon
qualify=no
secret=salon_password
host=dynamic
context=maison
language=fr

[bureau]
type=friend
username=bureau
qualify=no
secret=bureau_password
host=dynamic
context=maison
language=fr
configuration du softphone

Bien évidement, vous pouvez remplacer salon|bureau par les noms de votre choix, de même pour xxx_password. Ces identifiants et mots de passe seront à reporter, ainsi que l'adresse IP de la machine sur laquelle tourne asterisk, dans la configuration du softphone. Le host est dynamique car on ne connaît pas à l'avance l'IP des téléphones (ce qui est faux dans mon cas, mais bon ;-). La variable language sera utilisé par la boîte vocale. Enfin notez le context=maison commun aux deux téléphones qui vont nous permettre de programmer les extensions.

Paramétrage des extensions

Les extensions d'Asterisk sont un peu le plan d'adressage des numéros composés en fonction du contexte. De manière grossière, il s'agit d'associer un motif de numéro de téléphone à une commande Asterisk. En réalité, il est possible d'aller très loin et de définir de véritables scripts (avec des fonctions, des goto, etc...).

Pour l'heure nous allons nous contenter de faire correspondre le numéro 11 à salon et 12 pour bureau. Cela se fait en écrasant le contenu de /etc/asterisk/extensions.conf par les informations suivantes :

[maison]
exten => 11,1,Dial(SIP/salon)
exten => 12,1,Dial(SIP/bureau)
Paramétrage du mode talkie-walkie

Nous avons ici déclaré deux extensions dans le contexte maison (celui là même que nous avons défini pour nos téléphones). Chaque extension commence par une série de chiffre à composer sur l'un des cadrant pour déclencher l'extension. Le second paramètre est une priorité car une extension peut être un véritable script composé de plusieurs lignes. Enfin le dernier paramètre est une macro Asterisk, ici Dial, qui va composer le numéro SIP d'un des deux téléphones.

Paramétrage du routeur

Ceci ne vaut évidement que si votre serveur est derrière un routeur NAT. Dans ce cas, pour qu'Asterisk puisse correctement fonctionner il est nécessaire de le configurer pour permettre la redirection du port 5060, en UDP, vers le port 5060 de la machine Asterisk sur votre réseau local.

Premier lancement d'Asterisk

Nous pouvons maintenant faire nos premiers tests. Pour cela, nous allons arrêter Asterisk qui a sûrement été lancé automatiquement lors de l'installations (/etc/init.d/asterisk stop), puis le relancer à la main en mode "console debug" par la commande asterisk -cvvv.

#/etc/init.d/asterisk stop
Stopping Asterisk PBX: asterisk.
#asterisk -cvvv
....
[Aug 17 13:39:32] NOTICE[13575]: chan_sip.c:18223 handle_response_peerpoke: Peer 'salon' is now Reachable. (108ms / 2000ms
[Aug 17 13:49:10] NOTICE[13575]: chan_sip.c:18223 handle_response_peerpoke: Peer 'bureau' is now Reachable. (108ms / 2000ms
Lancement d'asterisk

Ok asterisk est lancé en mode console. Il ne reste qu'à paramétrer les Ekiga's.

Paramétrage des softphones

Un softphone (ou téléphone SIP) est un terme générique désignant aussi bien une application SIP sur votre ordinateur (ex. ekiga) ou un terminal mobile (ex. android), qu'un téléphone physique sur IP ou encore un ATA (Analog Telephone Adapters) transformant un téléphone standard en téléphone sur IP. Pour ma part j'utilise deux ATA Linksys (PAP2T), un terminal Android avec le logiciel libre CSIPSimple et deux Ekiga sous Windows et sous Linux.

Pour paramétrer Ekiga, rien de plus simple. Lancez la bête, allez dans Édition → Comptes puis Comptes → Ajouter un compte SIP. Pour le Nom, mettez ce qui vous fait plaisir.

Registrar qui doit contenir l'adresse IP ou le nom de la machine sur laquelle est lancée Asterisk. Pour utilisateur et Identifiant d'authentification, utilisez la même valeur username qui nous avons saisi dans la configuration SIP d'asterisk pour ce poste. Et enfin le mot de passe provenant lui aussi de sip.conf Asterisk. Validez et normalement Ekiga devrait indiquer que le compte est en état Inscrit. Faire de même avec le second post.

Si Ekiga pose problème, une option utile est de le lancer en mode debuggage par la commande ekiga -d4. Cela devrait produire suffisamment de traces en console pour permettre de trouver la solution.

Lorsque le compte passe en état Inscrit, cela devrait provoquer du côté d'Asterisk un message du genre Peer 'salon' is now Reachable. (117ms / 2000ms). Lorsque les deux téléphones sont actifs, vous pouvez vérifier leur rattachement à asterisk en tapant la commande sip show peers

*CLI>#sip show peers
Name/username Host Dyn Nat ACL Port Status
salon/salon 192.168.154.11 D 5060 OK (48 ms)
bureau/bureau 192.168.154.22 D 5060 OK (108 ms)
2 sip peers [Monitored: 2 online, 0 offline Unmonitored: 0 online, 0 offline]
*CLI>#
</code>
Lancement d'asterisk

Maintenant le test, aller dans l'application SIP du téléphone salon et taper le numéro 12, ce qui doit faire sonner le second téléphone et permettre une communication entre les deux appareils. Dans la console Asterisk, nous voyons la trace de l'appel apparaître : Qui as dit qu'asterisk était compliqué ? Enfin si, c'est super compliqué, mais pour l'instant, il reste magnifiquement simple à mettre en œuvre.

Ajout d'un boîte vocale

L'ajout d'une boîte vocale n'est pas beaucoup plus compliqué que ce que nous venons de voir. Et lorsque je dis boîte vocale, j'entends le truc complet, avec accueil en français avec voix de qualité pro, interrogation à distance, etc.

Pour mettre cela en œuvre, prenons un exemple un peu idiot, à passer sur la messagerie vocale du propriétaire du second téléphone (bureau) s'il n'est pas joignable (soit il raccroche pendant la sonnerie, soit il ne répond pas, soit son softphone n'est pas connecté).

La première chose à faire est d'écraser un autre fichier de configuration, /etc/asterisk/voicemail.conf

[general]
format=wav49|gsm|wav
serveremail=salon-voicemail@mon-domaine.com
attach=yes
maxsilence=10
silencethreshold=128
maxlogins=3
sendvoicemail=yes

emaildateformat=%A, %d %B %Y a %H:%M:%S
emailsubject=[ASTERIX] Nouveau message dans la boite ${VM_MAILBOX}
emailbody=Bonjour ${VM_NAME},\n\n\tLe numero ${VM_CALLERID} a tente de vous joindre sans succes le ${VM_DATE}.\nCette personne vous a laisse un message de ${VM_DUR} secondes. Vous pouvez le consulter en appelant votre boite vocale.\n\n\tBonne journee !\n\n\t\t\t\t--Asterix\n
pagerfromstring=[Asterix]
pagersubject=Nouveau message vocal
pagerbody=Nouveau message de ${VM_DUR} secondes dans la boite ${VM_MAILBOX} laisse le ${VM_DATE} par ${VM_CALLERID}.
Configuration des boîtes vocales

Là aussi la configuration est assez lisible. Le format est celui des fichiers vocaux, la référence à l'adresse courriel sera utilisé par asterisk comme expéditeur des courriers vous indiquant qu'un nouveau message est arrivé (attach=yes permet, comme chez free, de recevoir le dit message attaché au courrier de notification). Ensuite vient un bloc permettant de personnaliser (ici franciser) les messages envoyés dans le courriel.

Continuons à modifier le fichier voicemail.conf pour créer notre boite vocale à proprement parler en ajoutant à la fin du fichier :

[default]
maison => 1234,Gaston,gaston@son-mail.com
Configuration des boîtes vocales

Ici nous définissons une boîte vocale appelé maison appartenant à gaston (le propriétaire de bureau), ayant pour code d'accès 1234 et pour adresse de notification gaston@son-mail.com.

Pour ce qui est de la langue de la boîte vocale, nous avons déjà fait le travail de francisation. C'est en effet pour cela que nous avons installer le paquet asterisk-prompt-fr-proformatique (les voix en français), et mis dans la définition de chaque téléphone une variable language=fr. Ce dernier point implique que la langue est spécifique à chaque téléphone. Nous pouvons donc faire une messagerie vocale en chinois sur salon, et français sur bureau. Très utile non ? ;-)

Nous alons maintenant ajouter quelques nouvelles extensions dans extensions.conf, à la suite de celles déjà saisies, dans la section maison :

[default]
exten => 11,1,Dial(SIP/salon)
exten => 12,1,Dial(SIP/bureau, 10)
exten => 12,2,Voicemail(maison)
exten => 600,1,VoiceMailMain(maison)
Configuration des boîtes vocales

La dernière extension permet d'accéder à la boîte vocale. Ainsi en tapant l'extension 600 sur un téléphone du groupe "maison", vous exécutez la commande VoiceMailMain(maison) qui est comprise par Asterisk comme "interrogation de la boîte vocale 'maison'". Vous pouvez, après avoir tapé le code que nous avons défini plus haut (1234), l'interroger, mais ou la configurer. Il s'agit exactement de la même que celle que vous avez coutume d'utiliser avec votre mobile.

L'autre extension que nous avons ajouté est plus intéressante. En réalité nous avons subrepticement modifié l'extension 12 de sorte à rajouter un paramètre 10 à la fonction Dial. 10 voulant dire 10 secondes, ce qui veut dire qu'Asterisk, lorsqu'un téléphone cherchera à composer le 12, fera sonner bureau pendant 10 secondes maximum. Ensuite c'est l'extension juste en dessous qui prend la main. Comme vous le constatez, ces deux extensions sont les mêmes (le 12), mais diffère le second chiffre qui représente la priorité (ici 2). Du coup c'est cette seconde ligne d'extension qui prend la main lorsque le correspondant sur bureau n'a pas décroché au bout de 10 secondes. Et l'action qui est induite est bien évidement un passage de mail à la boîte vocale "maison".

Pour tester, vous devez maintenant arrêter (Ctrl-C) puis relancer Asterisk et vérifier que vous pouvez bien atteindre le 600 de salon et bureau, puis si vous obtenez bien la boite vocale en laissant bureau sonner plus de 10 secondes.

Connexion vers extérieur

Connexion à un fournisseur SIP

Pour l'instant nous avons surtout réussi à fabriquer deux talkie-walkie de luxe. Il est temps de connecter tout cela au vrai monde. Free, à travers son service Freephonie, propose la téléphone SIP en standard à tous ses abonnés. Il est donc possible de connecter ce service à notre PBX. De même vous avez sur internet de très nombreux fournisseurs SIP plus ou moins sympa ou compétitifs. Comme j'ai mon activité professionnelle dans mon garage, et que le numéro de notre freebox est dédiée depuis longtemps à notre famille, j'ai eu besoin d'un autre numéro pour mon boulot. Plutôt que de faire tirer une ligne, j'ai simplement créé un compte chez un fournisseur SIP et le tour était joué. Après pour le choix du fournisseur, c'est question de goût, mais pour l'instant je suis très content d'IPPI qui propose gratuitement un numéro local (en 01, 02, etc..) et permet de recharge par Paypal son compte pour les appels sortants.

Bref, quel que soit votre fournisseur SIP, vous allez pouvoir le connecter à votre PBX. Du coup vous allez pouvoir avoir notre propre boîte vocale (en prenant soin de déconnecter celle du fournisseur), faire sonner tous les téléphones lorsque l'on est appelé de l'extérieur, et aussi passer jusqu'à des appels simultanés (2 pour freephonie, 3 sur IPPI, variable d'un fournisseur à l'autre).

La première chose à faire est d'ajouter un nouveau partenaire de jeu à sip.conf comme pour le téléphone. Mais à la différence du téléphone, il faut en plus ajouter un enregistrement du fournisseur dans la section general pour prendre en charge les appels entrant. Cela nous donne pour freephonie :

[general]
...
register => 09XXXXXX:freephonie_password@freephonie.net

[freephonie]
type=peer
insecure=port,invite
host=freephonie.net
username=09XXXXXXXX
secret=freephonie_password
context=from-freephonie
language=fr
configuration de freephonie

Ici il vous faut remplacer 09XXXXXX et freephonie_password respectivement pas l'identifiant et le mot de passe freephonie. Dans la section [general], ajoutez la commande register permettant à Asterisk de s'enregistrer sur FreePhonie. Ensuite nous créeons une section [freephonie] pour déclarer le nouveau partenaire. Le paramètre insecure est spécifique à se service. Ce paramétrage est le même pour IPPI mais il faudra peut-être le modifier pour un autre fournisseur. Enfin, point important, on définit un contexte from-freephonie qui nous servira pour de nouvelles extension spécifiques aux appels entrant de ce partenaire SIP.

Si vous n'avez pas défini de mot de passe, vous n'avez sûrement pas activé le SIP non plus. Il vous faut donc aller dans la console de votre freebox, section Téléphone puis Gestion de mon compte SIP. Vous y trouverez un rappel de votre identifiant/numéro de téléphone, la possibilité de définir un mot de passe une case à cocher pour activer le service SIP et enfin, un bouton radio à placer sur Rediriger les appels entrants vers le compte SIP de sorte à ce que les appels soient redirigés sur asterisk et non plus sur le téléphone branché à la freebox. Ceci fait, terminez en cliquant sur Enregistrer.

Nous allons maintenant rajouter deux nouvelles extensions.

[default]
exten => 11,1,Dial(SIP/salon)
exten => 12,1,Dial(SIP/bureau, 10)
exten => 12,2,Voicemail(maison)
exten => 600,1,VoiceMailMain(maison)
exten => _0.,1,Dial(SIP/freephonie/${EXTEN})

[from-freephonie]
exten => s,1,Dial(SIP/salon&SIP/bureau,10)
exten => s,2,Voicemail(maison)
Configuration des boîtes vocales

La première commune à tous les téléphones du groupe maison, va nous permettre de passer des appels en utilisant les tarifs de free. Comme vous le voyez, il s'agit d'une expression régulière indiquant "tous les numéros commençant par un 0". La variable ${EXTEN} permet de composer ce numéro en passant par le partenaire freephonie (défini dans sip.conf).

En réalité La variable EXTEN est ici la variable correspondant au numéro effectivement tapé. ${...} est quant à elle une fonction permettant d'en récupérer le contenu et qui peut prendre deux paramètres optionnels. Le début de la chaîne à retourner (ex. ${1234:3} renverra 34). Et la taille de la chaîne à retourner (${1234:3:1} renverra 3). Ainsi un SIP/ippi/33${EXTEN:1} renverra pour le numéro 0102030405 la chaîne /SIP/ippi/33102030405.

La deuxième extension, cette fois spécifique au contexte from-freephonie nous permet de gérer les appels entrant. Ici nous indiquons à Asterisk de faire sonner nos deux téléphones simultanément pendant 10 secondes. L'appel sera transféré au premier qui décrochera. Dans le cas contraire (priorité 2 sur la même extension), nous basculons sur la boite vocale.

Nous pouvons maintenant relancer asterisk et déjà vérifier que FreePhonie est bien connecté en utilisant la commande sip show peers, puis en tentant de s'appeler avec un portable par exemple.

Intégrer Skype

Certains se demande pourquoi je me casse la nénette avec Skype, un protocole propriétaire qui pour la téléphonie n'apporte pas grand chose (surtout pour le client GNU/Linux) par rapport à SIP. La raison est assez simple, tout le monde, et donc mes clients aussi, l'utilise. On peut se battre comme on veut, c'est comme essayer de leur venter les mérites de GNU/Linux, ça passe le temps mais le taux d'échec est élevé. Bref, Skype est ce qu'il est et il est là. La question est donc de voir comment l'intégrer à notre ensemble SIP.

Cette intégration à Asterisk est possible de trois manière. La première est de passer par le service Skype Connect, 4€95/mois pour un canal et un nuts... le prix du monopole des esprits j'imagine, sans moi, merci bien...

Autre possibilité, acheter une licence pour un module Skype qui s'intègre à Asterisk pour 66$ édité par la société Adium dont le fondateur n'est autre que l'auteur du projet Asterisk. Solution intéressante pour les entreprises, moins pour le particulier.

Et enfin, siptosis, une passerelle Skype vers SIP sous licence libre (GPL v3), SipToSis, multi-plateformes (java), pouvant être utilisée seule, ou intégrée à Asterisk.

Vous l'aurez compris, nous allons opter pour la troisième solution.

Tout commence par le téléchargement de l'archive au format zip que vous décompresserez dans un dossier siptosis où bon vous semble, suivi de l'installation d'un jre java. Ensuite arrive un petit peu de paramétrage pour faire causer cette passerelle avec Asterisk. Cela commence par la modification du fichier siptosis.cfg qu'il faut commencer par recopier du dossier samples vers la racine de l'application. Allez d'abord en ligne 270, et commentez tout le bloc "Sample AUTO Config with NO registration".

Ensuite descendez en ligne 329 pour trouver le bloc "Sample Asterisk registration example", décommentez et modifiez comme ceci :

host_port=5070
contact_url=sip:votre_identifiant_skype@127.0.0.1:5070
from_url="votre_identifiant_skype" <sip:siptosis@127.0.0.1:5060>
username=siptosis
passwd=un_mot_de_passe_pour_siptosis
realm=asterisk
expires=3600
do_register=yes
minregrenewtime=120
regfailretrytime=15  
Modification de siptosis.cfg pour Asterisk

Rien d'étonnant dans cette configuration, nous y définissons juste les deux URL de la passerelle ainsi qu'un identifiant et mot de passe qui sera utilisé par Asterisk pour s'y enregistrer (que vous devez évidement modifier pour votre installation).

Ensuite, créez à la racine un fichier SkypeToSipAuth.props (attention à la case) et collez-y les informations suivantes :

*,sip:1234@127.0.0.1:5060
SkypeToSipAuth.props

Alors ceci va permettre à la passerelle de contacter Asterisk pour les appels venant de Skype. Le principe est que tout appel entrant est redirigé sur l'extension (à définir) 1234 d'asterisk (vous pouvez mettre ici ce qui vous chante).

Étape suivante, une fois de plus modifier sip.conf pour ajouter notre nouveau partenaire.

[siptosis]
type=friend
username=siptosis
secret=un_mot_de_passe_pour_siptosis
context=from-skype
host=dynamic
dtmfmode=auto
canreinvite=no
qualify=yes
incominglimit=1
outgoinglimit=1
call-limit=1
busylevel=1
insecure=invite,port
language=fr
Ajout du partenaire SipToSis au SIP d'asterisk

Vous retrouvez ici peu ou prou la même chose que pour un partenaire SIP classique. Passons donc aux extensions

[default]
exten => 11,1,Dial(SIP/salon)
exten => 12,1,Dial(SIP/bureau, 10)
exten => 12,2,Voicemail(maison)
exten => 600,1,VoiceMailMain(maison)
exten => _0.,1,Dial(SIP/freephonie/${EXTEN})
exten => _*.,1,Dial(SIP/siptosis/${EXTEN:1})

[from-freephonie]
exten => s,1,Dial(SIP/salon&SIP/bureau,10)
exten => s,2,Voicemail(maison)


[from-skype]
exten => 1234,1,Dial(SIP/salon&SIP/bureau,10)
exten => 1234,2,Voicemail(maison)
Configuration des boîtes vocales

Pour le block from-skype, on commence à connaître. La seule astuce est ici l'utilisation de l'extension 1234 que l'on a programmé dans SkypeToSipAuth.props. Ceci nous permet donc de router les appels entrants (appels d'autres utilisateurs Skype, ou de lignes téléphone standard si vous avec un numéro SkypeIn) vers l'ensemble des softphones. La ligne suivante est la cerise sur le gâteau, à savoir une messagerie vocale Skype pour pas un rond :-) Car oui, Skype facture tout, la boite vocale, le numéro entrant, la passerelle SIP, et bien sur les appels sortant. Lorsque l'on voit ce que coute un opérateur SIP standard, j'ai du mal à comprendre que certaines sociétés soient passées au "tout skype", peut-être des prix, ou des SkypeNuts...

La dernière extension du block default est quant à elle un peu plus étrange. Il ne faut juste pas imaginer que le caractère * est autre chose que ce qu'il est, à savoir l'étoile du clavier téléphonie. En fait, le principe adopté par cette extension est que tous les "numéros" commençant par * sont automatiquement routé sur Skype. Notez la présence du :1 à la fin de la variable EXTENT, qui demande à Asterisk de supprimer 1 caractère avant de passer le numéro au partenaire SIP.

Ainsi, si vous tapez *echo123 sur l'un des téléphones, vous accéderez au service test de Skype. En tapant *identifiant_skype vous entrez en communication avec un utilisateur Skype. Et si vous avec de crédits SkypeOut, *numéro de téléphone permet d'aller sur le monde extérieur.

Maintenant que tout est en place, il ne reste plus qu'à redémarrer Astesisk pour que toutes nos modifications soient prises en compte, puis lancer SipToSis. A ce stade il y a plusieurs possibilités.

  • Si votre PBX est installé sur une machine disposant de Skype et d'un serveur X11 (ce qui est mon cas), vous devez d'abord lancer Skype comme à l'accoutumé, puis lancer le script SipToSis_linux. La passerelle va démarrer, puis se connecter à Skype via l'API. Skype va alors vous demande une autorisation pour cela, que vous allez accepter en prenant soin de cocher le fait de rendre ce choix permanent. Content, SipToSis va poursuivre son initialisation et se connecter à Asterisk, tout simplement.
  • Si l'ensemble de votre PBX est placé sur un serveur (sans service X11), et vous pouvez utiliser le script stsTrunk_linux qui va dans l'ordre lancer Xvfb (un faux serveur X en mémoire, qu'il vous faudra installer), Skype (qui va donc utiliser Xvfb croyant qu'il est dans un environnement X11 standard), et enfin SipToSts. Le problème est que le dernier utilise le second en passant API Skype, et que cette passerelle implique que vous acceptiez ce lien par... un boîte de dialogue. Pour contourner cela, connectez-vous une première fois sur votre serveur via SSH avec X11 forwarding activé, lancez Skype, puis SipToSis_linux, validez la boîte de dialogue (en oubliant pas de cocher), quittez Skype et arrêtez SipToSis. Le paramétrage de Skype doit maintenant être sauvegardé vous permettant de fonctionner avec stsTrunk_linux. Lorsque tout fonctionne, vous pouvez placer le lancement du trunk dans un script d'init pour que tout soit fait à chaque redémarrage.

Maintenant il ne reste plus qu'à tester, d'abord en composant *echo123 sur votre softphone. Si tout se passe bien (écoute, enregistrement, etc.) vous pouvez ouvrir une conversation avec echo123 en utilisant le client Skype et taper callme. Quelques secondes plus tard votre softphone devrait sonner pour vous permettre de prendre la communication.

Transfert d'appel

Reste un point très important dans notre histoire, la capacité à envoyer un appel reçu sur un poste A, sur un poste B. Ici aussi, une fois que l'on connaît le "truc" c'est extrêmement simple à mettre en œuvre (j'ai juste passé 2h à trouver le truc simple ;-)).

Le transfert d'appel se fait par la touche #. Cette touche envoie un signal DTMF qui va être interprété par Asterisk pour permettre la redirection sur un autre poste. La première chose est donc de s'assurer de la manière dont Asterisk intercepte ces codes. Pour cela il faut rajouter à notre sip.conf, section [general] la prise en compte de la norme RFC2833 (me demandez pas ce que c'est, c'est une norme qu'elle est sûrement très bien :-)

dtmfmode=rfc2833

Ensuite, il faut indiquer à chaque commande Dial de notre fichier extensions.conf que l'on accepte les transferts entrants t et sortants T. Par exemple pour un appel venant de freephonie, cela nous donne :

[from-freephonie]
exten => s,1,Dial(SIP/salon&SIP/bureau,10,tT)
exten => s,2,Voicemail(maison)

Et puis... et puis c'est tout. On relance Asterisk et on peut tester en s'appelant avec un portable. Une fois la communication établie, on presse # ce qui est reconnu par Asterisk d'une petite voix qui nous dit transfert. Ensuite il suffit de composer l'extension du poste cible (11, 12, etc.).

Conclusion

J'espère avoir au moins démontré qu'Asterisk est un monstre gentil dont il ne faut vraiment pas avoir peur. Personnellement la simplicité de mis en œuvre et la qualité du résultat obtenu m'a bluffé au regard de tout ce que cet outil sait faire. Chapeau bas donc pour ce très beau soft et bonne téléphonie à vous.

Vos remarques et commentaires...

®om, le 28 août, 2010 - 13:49

Merci beaucoup pour le tuto. Je vais sans doute essayer prochainement d'au moins faire "des talkies-walkies de luxe" : si les personnes qu'on contacte le plus souvent ont un compte SIP sur notre serveur, des talkies-walkies ça suffit :-)

D'ailleurs, si j'ai mon serveur asterisk, et que quelqu'un d'autre a son propre serveur asterisk, j'imagine qu'on peut faire en sorte de se contacter l'un l'autre (comme avec les mails par smtp), non?

Autre question, est-il possible d'activer le chiffrement pour les communications? Par exemple, pour chiffrer une communication VoIP passant sur un réseau mobile (ce qui est abusivement interdit dans le contrat).

Merci encore.

Ulhume, le 28 août, 2010 - 20:02

Désolé j'aurais du citer cette sources qui est une mine d'information sur Asterisk, et ici sur le chiffrement (qui ne semble pas encore pris en charge) : http://www.voip-info.org/wiki/view/Asterisk+encryption

Pour ce qui est de faire communiquer des serveurs asterisk jepense que cela doit effectivement être faisable, ne serais-ce qu'à travers AIX (Inter-Asterisk eXchange), ou alors simplement en déclarant l'un et l'autre comme partenaire mutuel.

Felip, le 29 juin, 2011 - 21:22

Merci pour ce billet qui m'a permis de mettre le pied à l'étrier. En ce qui concerne la documentation, on pourra également consulter le livre publié par O'Reilly ; la deuxième édition est librement téléchargeable, la troisième vient tout juste de sortir.

Charles, le 12 novembre, 2010 - 22:24

Bonjour,

j'ai lu l'article avec intérêt, ayant moi-même expérimenté la mise en oeuvre d'un serveur Asterisk dans un datacenter et que j'utilise pour faire de la téléphonie entre membres de la famille et entre copains.
Ca fonctionne très bien. De plus, j'ai ajouté des passerelles vers les numéros fixes et les mobiles via des opérateurs comme Neuftalk, Ippi, Kiwak ou Nomado, avec la selection de l'opérateur pour pouvoir bénéficier de tarifs intéressants.
En revanche, je n'ai pas encore vraiment testé l'interconnexion entre deux "abonnés" connectés à des serveurs distincts mais connectés entre eux. J'aimerai bien pouvoir tester les trunks IAX en mettant en place un plan de numérotation global.
Donc si ça interesse quelqu'un, je peux mettre à disposition mon serveur Asterisk en l'interconnectant avec un autre et en définissant un plan de numérotation.
Vous pouvez me contacter par mail : contact@maisonblv.net
Je vous aurai bien laissé mon numéro d'appel sur mon IPPBX, mais il faut y être connecté au préalable. Ca peut se faire si ça vous intéresse !

Cordialement,

Charles

®om, le 28 août, 2010 - 19:25

Quelques petites coquilles :

  • /etc/asterisk/extensions.conf

    au lieu de

    /etc/extensions.conf
  • "respectivement par l'identifiant" au lieu de "respectivement pas l'identifiant"

J'ai presque réussi à faire talkie-walkie, j'arrive de mon téléphone (csipsimple) à appeler mon PC (ekiga), et vice-versa, mais quand je décroche, je n'ai pas le son…

Ulhume, le 28 août, 2010 - 20:05

Merci pour la coquille, je vais corriger cela.

csipsimple est très bon mais bouge énormément en ce moment (en gros une version tout les deux jours) avec des fois de sérieux bugs. C'est pour moi l'application SIP pour droid la plus prometteuse, mais elle est encore jeune. Si j'étais toi j'essaierais avec sipdroid, moins sympa mais plus stable sur les fonctionnalité de base.

En revanche, quelque soit le client SIP que j'ai utilisé, j'ai toujours eu une sorte de voix un peu métallique en réception sur le terminal android (un desire en l'instance). Problème que je n'ai pas du tout avec Ekiga. Lorsque tu auras de l'audio, dis moi si tu as le même problème.

®om, le 28 août, 2010 - 20:30

Avec sipdroid, j'arrive à entendre le son qui vient du PC, mais ça ne fonctionne pas dans le sens inverse. Le son est moyen (je ne saurais pas dire plus précisément).

Ulhume, le 28 août, 2010 - 21:41

Un autre bidouille possible, dans sip.conf, section générale, à la fin, rajoute ceci

disallow=all
allow=ulaw

Relance astersik et voit si cela arrange le son.

®om, le 29 août, 2010 - 16:02

Ah merci, avec ces deux lignes en plus, ça fonctionne nickel ;-)

Ulhume, le 29 août, 2010 - 19:01

Attention à ces deux lignes ceci dit, c'est très bien pour un talkie-walkie, mais le forçage du codec ulaw risque de ne pas fonctionner avec tous les fournisseurs. Au pire, tu peux dans ce cas transporter ces deux lignes sur le peer qui t'intéresse, ou alors laisser comme cela, et rajouter sur le peer du fournisseur un 'allow=all'.

r3gis3r, le 29 août, 2010 - 15:38

CSipSimple en ce moment c'est une version tous les jours voire les demi-journée presque ;).
En effet, c'est vraiment une version alpha et il ne faut pas l'utiliser en prod, ça risque de vous bouffer de la batterie et ce n'est pas hyper stable; mais ça devrait bientot devenir quelque chose d'utilisable.... j'y travaille ;)

Pour les problèmes de son en général deux causes possible :
* Network : (souvent quand rien n'est reçu)
-> dans ce cas là il faut revoir la conf du client : j'ai récement rajouté l'ajout automatique du proxy sip en même temps que le registrar dans le wizard Basic dans CSipSimple. Ce n'était pas le cas avant. (Les versions de dev sont bien bien plus avancées que la version sur le market). Et ça peut aider car sinon ton terminal envoie directement sa requete au serveur sans passer par ton asterisk.
-> Il y a aussi moyen de rajouter un serveur stun. Suivant la conf réseau devant ton android ça peux aider à passer le NAT.
* Codec : comme signalé plus loin, forcer ulaw/alaw ( aussi connu sous le nom de g711 ou pcmu ) peut faciliter les choses. Par défaut les clients sip supportent un grand nombre de codec, mais certains codecs ne sont pas vraiment optimaux suivant la bande passante et le cpu disponible sur le terminal. Il faut donc un peu tuner tout ça (soit sur le client en changer les priorités des codecs soit sur le serveur).

Ulhume, le 29 août, 2010 - 19:05

ET bien ravis de te voir ici !

C'est déjà très utilisable à mon sens, j'ai juste eu une version qui n'avait pas de retour audio, d'où mon conseil de tester avec SIPDroid.

Sinon pour l'audio, moi j'avais vraiment un soucis de son métallique sur le désire (uniquement en écoute, ma voix elle était nickelle pour le correspondant). J'ai essayer à peu prés tous les clients et tous les codecs sans succès. Là sur une ROM itanium que je viens d'installer, j'ai vu apparaître un réglage de DSP, je vais peut-être tenter ma chance par là. En attendant, je suis revenu malheureusement au casque via ekiga.

En tout cas, magnifique application que la tienne, j'ai hâte qu'elle soit finalisée car les autres ne rivalisent tout simplement pas, notamment sur la simplicité de paramétrage par profile et le multi-compte. Félicitations !

r3gis3r, le 29 août, 2010 - 19:36

En fait je suis avec interêt ton blog depuis pas mal de temps. J'ai d'ailleurs été assez surpris de voir sur mon reader de flux rss qu'on parlais de csipsimple ;) (surtout que pour l'instant je n'ai pas vraiment fait de com autour vu que c'est en phase d'alpha).

Pour ton problème d'audio c'est assez étrange.
En effet, les features en DSP de la ROM peuvent jouer un rôle là dedans. L'OS android est vraiment génial.... sauf pour les gens qui essaient d'utiliser la stack audio en streaming... là chaque constructeur fait un peu ce qu'il veux ce qui fait que je me retrouve avec des tests dans tous les sens pour savoir sur quel appareil je me trouve.

Cependant pour le Desire vu que c'est HTC, ça devrait aller en principe (je fais mes tests sur un nexus one, un htc magic (le G2)) et en principe ils sont assez consistant sur la stack audio d'un appareil à un autre chez HTC. Du coup je suis assez perplexe sur ton souci (d'autant plus si d'autres implémentation que la mienne ne fonctionnent pas - en d'autant plus que la plupart des problèmes que j'ai avec la stack audio maintenant sont surtout sur le micro et non plus la lecture (à part utilisation de codec lourds sur petit hardware) ).

As tu essayé Linphone pour Android? Ils ont fait un très bon boulot. La stack sip qu'ils utilisent est plus légère que celle que j'utilises ça peut peut-être aider.
Sinon, dans CSipSimple, tu peux aussi jouer avec des paramètres comme la fréquence audio (à défaut je met 8kHz mais d'experience sur les HTC 16kHz ça mange un peu moins de CPU).
En tout cas si t'as du temps à y consacrer, je suis toujours assez interessé par des logs (tu peux regarder sur le wiki du googlecode, il y a un tuto pour la collecte de logs).

Grummfy, le 28 août, 2010 - 21:45

Coucou,
l'avantage d'un station asterisk chez soi est aussi de pouvoir avoir un transfert de son tel vers un endroit de vacance par exemple ou d'autre redirection. On peux aussi imaginer avoir un menu du genre pousser sur 1 pour tonton paul, sur 2 pour tati jannine, etc dans le cadre d'une activité professionnel cela peut-être très intéressant pour faire patienter la personne.
Par ailleurs, on peut très bien recevoir par email le message laisser sur le répondeur ...

Sinon pour la question du son, cela dépends des codec choisi, du fournisseur sip, de la bande passante, etc mais surtout du codec

Une chose intéressante a savoir est qu'il existe des téléphone ip qui peuvent être paramétré notamment par asterisk

Pour ceux qui ne voudrait pas se compliquer trop la vie, freepbx est très intéressant.

Pour info, j'ai eu une intro à la voip où j'ai tester une solution Ms (franchement pas terrible), une solution cisco et asterisk et franchement les deux derniers sont énorme dans leurs possibilités mais sans une sérieuse documentation on s'y perd vite ...

Ulhume, le 30 août, 2010 - 08:09

Effectivement la possibilité de "publier" le service vers l'extérieur est aussi un usage intéressant de l'outil. Ceci étant dit, y'a du coup intérêt à bien blinder la sécurité :)

Concernant la qualité audio, ce que tu dis est juste, mais je penche tout de même sur un soucis plus "hardware" me concernant avec l'HTC desire. Faudra que je reteste avec csipsimple et un réglage DSP plus poussé, maintenant que c'est intégré dans Froyo.

Guillaume, le 29 août, 2010 - 14:08

Pour avoir manié Asterisk durant tout le long de mon stage de fin de DUT Réseaux et Télécoms, je confirme que c'est un IPBX ultra puissant. Un article comme le tien à l'époque m'aurait bien aidé pour commencer car je n'y connaissais pas grand chose. Mais la configuration ne s'avère pas si compliqué à faire que ça une fois qu'on a pigé le principe.

Bravo pour l'article en tout cas.

Ulhume, le 30 août, 2010 - 08:12

Oui et ça me fait rire quant je pense qu'il y a des années que je voulais intégrer la téléphonie et que j'étais retenus par la trouille que me foutait Asterisk. J'étais persuadé que c'était un inbitable bousin sur lequel j'allais passer des jours sans résultats. Sans doute un peu traumatisé par ma vie pre-libre où j'avais testé ce genre d'outils sous MS-DOS (ça date en effet ;-) sans jamais réussir à obtenir le résultat désiré. Maintenant c'est vrai aussi qu'à l'époque c'était de l'analogique et que la VOIP et les réseaux large-bande simplifient largement le débat.

Dab, le 29 août, 2010 - 20:12

Merci pour cet article qui m'aurait bien aidé il y a quelques temps.
Je n'avais rien trouvé de très probant concernant la visio conférence, sais tu si Asterisk le permet aujourdhui ?

Ulhume, le 29 août, 2010 - 22:47

Désolé de ne pas l'avoir écrit plus tôt alors ;-)

Pour la visioconf, j'avais bookmarqué cela sans pour autant l'avoir testé :
http://sourceforge.net/projects/appconference/

someOne, le 30 août, 2010 - 00:02

Bonsoir

Excellent, le tout sera mis en place sur mon serveur prochainement. Je compte mettre en place les deux points manquant :
-> la mise en attente
-> le transfert d'appel

Au passage une petite faute de frappe dans le paragraphe situé si après variable EXTEN et pas EXTENT non .

"La dernière extension du block default est quant à elle un peu plus étrange. Il ne faut juste pas imaginer que le caractère * est autre chose que ce qu'il est, à savoir l'étoile du clavier téléphonie. En fait, le principe adopté par cette extension est que tous les "numéros" commençant par * sont automatiquement routé sur Skype. Notez la présence du :1 à la fin de la variable EXTENT, qui demande à Asterisk de supprimer 1 caractère avant de passer le numéro au partenaire SIP."

Vive le libre

*§*

Ulhume, le 30 août, 2010 - 08:14

Et bien pour le transfert d'appel, n'hésite pas à me faire un retour, je l'intégrerais cela sans soucis. Je vais corrigé pour la faute, merci pour cela.

Visiteur de passage, le 30 août, 2010 - 13:05

Une petite remarque : le sigle VOIP s'écrit VoIP et ne signifie pas VOix Sur IP mais Voice over IP (c'est de l'anglais). ;-)

Ulhume, le 13 novembre, 2010 - 12:29

C'est corrigé, merci :)

Charles, le 7 février, 2011 - 11:48

Remarque ô combien utile, effectivement :

Voice Over IP != VOix sur IP ?

Tu as d'autres remarques pertinentes ?

jinh, le 24 septembre, 2010 - 21:28

Ca fait bien longtemps que je n'étais plus passé ici, et je suis ravi de voir que la qualité de tes articles est toujours de mise :).

Asterisk, VoIP, libre, voici un thème carrément d'actualité et plus qu'on ne le croit au sein des entreprises, que ce soit des PME ou plus grandes entreprises.

J'ai eu l'occasion de tester une alternative à Asterisk, nommée Freeswitch. Pour la petite histoire, c'est un ancien développeur d'Asterisk qui a décidé de se lancer il y'a quelques années en corrigeant ce qui était pour lui des soucis de conception dans le produit de Digium.

Ce que j'ai particulièrement apprécié est la configuration par xml qui est plus intuitive que celle par fichiers à la sauce Asterisk.

Pour plus de détails, voici le lien pour ceux que ça intéresse : http://www.freeswitch.org/.

Ulhume, le 13 novembre, 2010 - 12:28

Ah ? Et bien je vais regardé cela de prés (freeswitch). C'est vrai que la configuration d'asterisk est assez ésotérique de prime abord :) Et certaines choses restent flou même si cela fonctionne "un peu trop magiquement" ;-)

Flotho, le 25 janvier, 2011 - 00:51

Bonsoir,

Sympa le tuto.

Pourriez vous m'indiquer grosso modo combien de temps cela vous a t il pris pour réaliser la mise en oeuvre de cette solution.

Cordialement,

flotho, le 4 octobre, 2012 - 15:48

une commande du style

amportal restart

n'est elle pas plus efficace?

Ulhume, le 6 octobre, 2012 - 11:05

Euh je sais pas, c'est quoi "amportal" ?

NimaX, le 7 février, 2011 - 11:26

J'ai suivi le tuto et lorsque j'ai voulu connecter mon Iphone en passant par Fring (logiciel sip), je mets mon identifiant (tel1) et mot de passe (tel1) et dans proxy j'ai mis l'@ ip de mon poste où est installé astérisk. Il cherche un moment et affiche le message "Oupps, le nom d'utilisateur ou mot de passe invalide" .
D'où pourrait venir le problème, merci d'avance.

Charles, le 7 février, 2011 - 11:46

Salut Nimax,

que disent les logs d'Asterisk ? Si tu es sous Linux, regarde dans /var/log/asterisk/messages.
Tu peux aussi lancer Asterisk en mode console sur ton serveur :

asterisk -vvvr

(le nombre de "v" dépend du niveau de "verbosité" que tu veux avoir)

tu arrives sur la "CLI", la console en ligne, puis refait une tentative de connexion depuis ton iPhone. Asterisk devrait t'afficher des informations sur la tentative en cours, et si elle échoue, tu devrais avoir des informations pour identifier le problème.

Cdlt,

Charles

NimaX, le 4 mars, 2011 - 21:02

Un grand merci à ULHUME,
J'ai enfin réussi à installer astérisk sur un eeepc qui tourne sous Ubuntu.

@Charles: la connerie..... C'était l'application fring que j'utilise sur mon IPhone qui ne marchait pas et à cause de cette application, je n'arretais pas de déinstaller et de réinstaller astérisk. Au bout de nième fois je me suis dis je vais tester en passant par Ekiga sur mon poste windows et ça a marché.

Dire que j'ai perdu pas mal de temps et je me suis pris la tête à cause de Fring alors ce qui m'a induit en erreur c'est que lorsque je me connectais à mon compte freephonie par cette même application, la connexion réussie sans problème. Donc il n'y avait pas de raison que la connexion à mon serveur astérisk ne marche pas.

En tout cas, je suis content de mes talkies-walkies.

bartounet, le 26 juin, 2011 - 14:49

Merci pour cet excellent tuto.
J'ai une petite question.

Imagineons que jemonte ce serveur asterisk sur un serveur dédié type Dedibox, que j'ouvre les ports qui vont bien.

1 - Pourrais-je connecter cet asterisk à mon compte sip Free?

2 - Pourrais-je en 3G ou edge/gprs connecter mes smartphones android sur ce serveur ? (ile me semble de mémoire, que Bouygues ne laisse pas passer la voIP sur ses réseau GSM non ?)
Mon but si je n'ai plus de forfait voix sur mon mobile, utiliser mon asterisk avec sip free pour continuer à appeler grace à mon forfait data ilimité.

Ulhume, le 26 juin, 2011 - 17:14

Pour le (1) je ne sais pas, je n'ai jamais testé. Mon service asterisk est sur un serveur domestique, derrière une freebox. Cependant, comme Asterisk est vu par freephonie comme n'importe quel client SIP ET que j'arrive à me connecter sur freephonie de n'importe quelle connexion, j'en déduis qu'un service asterisk hors domaine freebox doit pouvoir se connecter à freephonie. Juste de la déduction, aucune assurance.

Pour le (2) C'est sans aucun problème. Je viens de m'en rendre compte à l'instant pour tout te dire... J'ai fait une redirection de port 5060 sur la freebox vers la machine qui héberge Asterisk et je viens d'essayer de m'y connecter de l’extérieur, ça marche sans soucis. Va donc falloir que je sécurise un peu mes mots de passe :-)

mario_26, le 4 octobre, 2012 - 15:51

Bonjour !

J'ai réussit à faire fonctionner Astérisk à l'aide de ce tuto, merci à l'auteur !

Cependant si je lance Astérisk avec : /etc/init.d/asterisk start

Impossible de connecté mes clients, je comprend pas, pouvez vous m'aider ?

En revanche avec : asterisk -cvvv

Tout es OK ça fonctionne...

(J'utilise Debian Squeeze sur le serveur)

Ulhume, le 6 octobre, 2012 - 11:11

Difficile de t'aider en l'état, tu vois quoi lorsque tu listes tes hosts sur la console asterisk ?

Charles, le 7 octobre, 2012 - 09:17

Est-ce que déjà tes clients atteignent ton serveur Asterisk ? Essaie de donner plus de détails, éventuellement le contenu des log d'Asterisk… Sans un minimum d'information, on peut difficilement t'aider.

mario_26, le 7 octobre, 2012 - 15:23

Bonjour,

Oui mes clients atteignent bien mon serveur Asterisk mais que si Asterisk est démarré dans son mode "debug" avec : sudo asterisk -cvvv

Si je le lance avec "init" : sudo /etc/init.d/asterisk start ça ne fonctionne plus, mes clients ne se connecte plus au serveur.

Après réflexion, je suis tombé sur une piste, en faite : sudo asterisk -cvvv démarre Asterisk avec "root" et : sudo /etc/init.d/asterisk start démarre Asterisk avec l'utilisateur définit dans la variable $USERS du script "init"

Donc dans le script "init" ligne "83" on a : PARAMS="$PARAMS -U $USER" que j'ai remplacé par : PARAMS="$PARAMS" # -U $USER se qui fait que Asterisk démarre maintenant avec "root" par "init" et ça fonctionne mes clients se connecte bien au serveur.

Cependant démarré Asterisk avec "root" c'est super alors je me demande bien comment réparer ça....

Je pense que j'ai ce soucis car dans ton tuto tu nous fait démarré Asterisk direct par : sudo asterisk -cvvv on devrais peut être pour son premier lancement le lancé par "init" ? (Se n'es qu'une suggestion)

J'ai un petit tuyau pour les connexions à un fournisseur SIP (Free pour mon cas). Il me semble pas avoir vue dans ton tuto comment émettre un appel depuis son client SIP vers l'extérieur ? Donc pour pouvoir le faire suffit d'ajouté au fichier extensions.conf :

exten => _9.,1,Dial(SIP/freephonie-out/${EXTEN:1}) ; quand on compose un numero qui commence par 9, on utilise le lien "freephonie" et on passe le numero au peer en ôtant le premier digit.

(A mettre au bonne endroit :p)

Et pour ceux et celles qui souhaite le support de la vidéo, il vous suffit d'ajouter au fichier "sip.conf" dans la partie "general" :

disallow=all
allow=gsm
allow=ulaw
allow=h264
allow=h263
;...
videosupport=yes  

Avec ça vous aurez la vidéo si votre client SIP le permet.

Voila j'espère que je vous aurais mieux avancer sur mon problème...

Déon, le 16 mai, 2013 - 15:18

faire communiquer 2 Serveurs asterisk

un tuto très bien expliqué que j'ai trouvé !

http://www.ec2lt.sn/sites/default/files/ra029.pdf

Ulhume, le 18 mai, 2013 - 12:27

Merci pour la ressource (j'ai mis le lien direct)

Publier un nouveau commentaire

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement. If you have a Gravatar account associated with the e-mail address you provide, it will be used to display your avatar.
  • To highlight piece of code, just surround them with <code type="language"> Your code &tl;/code>>. Language can be java,c++,bash,etc... Everything Geshi support.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <div> <p> <br>
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.

Plus d'informations sur les options de formatage

CAPTCHA
Cette question est là pour déterminer si vous êtes humain ou pas...