Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
unix:peering_sip_asterisk [2006/04/04 16:01]
imil
unix:peering_sip_asterisk [2010/01/12 13:29] (current)
Line 1: Line 1:
 +FIXME (à completer)
 +
 +**Préambule**:​ Après avoir réalisé la même experience en utilisant IAX (le protocole de communication entre serveurs Asterisk), nous conseillons fortement cette dernière, bien plus simple à mettre en oeuvre que la methodologie qui suit.
 +
 +En suivant les instructions de l'​excellent [[http://​beta.gcu.info/​doc/​AsteriskTFOT.zip|Asterisk,​ the future of telephony]],​ vous avez certainement reussi en quelques coups de cuiller a pot à monter un simple PBX sur lequel se connectent directement vos clients SIP, typiquement des softphones tels qu'​[[http://​www.ekiga.org/​|ekiga]].
 +
 +Tahorg et moi avions envie de monter un truc qui nous permette :
 +
 +1. de pouvoir communiquer entre nous et tous les lutins
 +mais aussi
 +2. de garder nos PBX maison qui relient les differents soft / hardphones au sein de nos demeures et gèrent éventuellement differents accès téléphoniques.
 +
 +Voici l'​architecture simple que nous avons monté :
 +
 +{{unix:​asterisk-lutin-sip.png}}
 +
 +Voici le //​sip.conf//​ d'un PBX client, celui chez soi donc, ne comportant que les informations nécessaires au dialogue avec le PBX "​maitre"​.
 +
 +<​code>​
 +[general]
 +register => imil:​mot_de_passe@host.pbx.public ; on enregistre son serveur SIP comme client sur le serveur PBX public
 +videosupport=yes ; on supporte le transport video
 +allow=all ; on authorise tous les codecs (uniquement pour les tests)
 +
 +[monpbxpublic-out]
 +type=peer ; voir http://​www.voip-info.org/​wiki/​view/​Asterisk+SIP+user+vs+peer pour l'​explication
 +secret=mot_de_passe
 +insecure=very ; nécessaire pour un peering SIP (à contrario d'IAX)
 +username=imil
 +host=host.pbx.public
 +nat=no ; le serveur est public
 +context=from-monpbxpublic ; contexte a renseigner dans extensions.conf
 +
 +; à la suite du fichier, les definitions des postes locaux par exemple
 +</​code>​
 +
 +Voici l'//​extensions.conf//​ correspondant :
 +
 +<​code>​
 +[maison]
 +exten => 100,​1,​Dial(SIP/​imil) ; numero local
 +exten => _88299.,​1,​Dial(SIP/​${EXTEN}@monpbxpublic-out,​30,​r) ; lorsque je compose un numero qui matche 88299 (voir e164.org), on utilise le lien monpbxpublic-out
 +
 +
 +[from-monpbxpublic]
 +exten => s,​1,​Dial(SIP/​imil) ; par defaut (entrée "​s"​),​ lorsqu'​on recoit un call depuis le pbx public, on appelle cette ligne.
 +</​code>​
 +
 +Maintenant, voici le //​sip.conf//​ du serveur Asterisk public :
 +
 +<​code>​
 +[general]
 +videosupport=yes
 +allow=all
 +
 +[imil]
 +type=friend ; on peut se connecter ici via un telephone ou via un peer asterisk
 +username=imil
 +secret=mot_de_passe
 +host=dynamic
 +context=pbxpublic
 +
 +[tahorg]
 +type=friend
 +username=tahorg
 +secret=mod_de_passe
 +host=dynamic
 +context=pbxpublic
 +</​code>​
 +
 +Et l'//​extensions.conf//​ correspondant (les numeros ne sont pas les bons evidemment...) :
 +
 +<​code>​
 +[pbxpublic]
 +exten => 8829900349801,​1,​Dial(SIP/​imil)
 +exten => 8829900349802,​1,​Dial(SIP/​tahorg)
 +</​code>​
 +
 +Reste maintenant à démarrer votre asterisk sur le pbx public (préferablement en mode console pour le debug: //asterisk -cvvv//) et de placer les variables suivantes :
 +
 +<​code>​
 +*CLI> set debug 25
 +*CLI> set verbose 25
 +</​code>​
 +
 +Faites de même sur votre PBX maison, et vous deviez vous apparaitre :
 +<​code>​-- Registered SIP '​imil'​ at xx.xx.xx.xx port 5063 expires 1800</​code>​
 +
 +...Et c'est maintenant que le cauchemar commence ;)
  
unix/peering_sip_asterisk.txt · Last modified: 2010/01/12 13:29 (external edit)