C'est un projet qui est à l'ordre du jour à MiNET depuis fort fort longtemps, qui a été étudié en projet industriel (PJ) en 200x et dont le rapport est en annexe et aussi là pour le moment :
L'étude a été reprise sous la forme d'un stage de 4 mois à partir d'octobre 2009. Stage rémunéré par la Maisel, sur proposition émanant du contre WEI 2009 (l'équipe MiNET en Toulousie), se déroulant dans les locaux de MiNET (maintenant Gala). Au départ, l'objectif était de mettre des téléphones fixes (hardphones) au bâtiment u6, il fallait donc trouver des postes adaptés au réseaux MiNET. Mais le coût desdits téléphones, et les difficultés liées à la taxation des appels sortant, ont eu raison de l'aboutissement du projet dans ce sens. On s'est donc limités en janvier 2011 à une téléphonie sur ordinateur (usage de softphones) vers le campus uniquement (plus aucune pression financière sur le projet)
Ont été mis en place deux serveurs :
Tout se trouve dans /etc/asterisk/
Les fichiers de conf principaux sont les suivants :
Les ; en début de ligne commentent celles-ci. Attention, la version 1.6 installée sur anna est configurée avec un annuaire LDAP : la ligne “realm=minet.net” indique au serveur qu'il doit aller directement lire les infos sur le LDAP.
Le reste est plutôt transparent : [general] Les crochets indiquent le contexte pour lequel s'appliquent les règles suivantes. Général est le contexte générique appliqué à tous les autres par défaut.
port=5060 C'est port UDP de base pour la signalisation SIP.
nat=yes C'est utile notamment pour la compatibilité avec le wifi !
localnet=192.168.26.0/255.255.255.0
Cela identifie le vlan 26 pour les hardphones
context=default Le contexte d'appel dans lequel est placée une extension (par exemple un numéro appelant)
disallow=all allow=alaw allow=ulaw
On empêche tous les codecs pour ne tolérer que les deux indiqués.
J'ai laissé de vieilles config commentées…
Fonctionne aussi avec les contextes dans lesquels les appelants arrivent. Il y a des include pour inclure certains dans d'autres. Background joue le fichier sont placés dans le répertoire /var/lib/asterisk/sounds/en/
exten=> _94XXX, 1, Answer() exten=> _94XXX, 2, Dial(SIP/${EXTEN:1}@patton)
Les extensions commençant par 94 (notez le _) sont envoyées vers le contexte patton (de sip.conf ie du LDAP) avec un numéro en moins (le 9, notons le :1) par exemple si 94546 est appelé, asterisk traduit 4546@patton
Il y a aussi des vieilles conf commentées, et des vieux numéros qui marchent encore…
/etc/asterisk/res_ldap.conf et extconfig.conf
Ceci est de la cuisine minetienne, cela n'a pas grand chose de standard. Ça marche plus ou moins… il faut voir avec le schéma LDAP.
tail -100 /var/log/asterisk/messages /var/log/asterisk/full
tail -100 /var/log/asterisk/cdr-csv/Master.csv
sudo tail -100 /var/log/fail2ban.log sudo iptables -vnL
Malgré la présence d'un fail2ban : mettre en quarantaine les ip qui saturent les logs d'appel, cf :
vim /etc/fail2ban/filter.d/asterisk.conf
Il est régulièrement nécessaire de relancer asterisk (nécessaire pour prise en compte des modifs sur extensions, mais aussi si ça plante):
sudo /etc/init.d/asterisk (re)start
ou mieux
sudo asterisk -vr
plus verbeux :
sudo asterisk -vvvvvr restart now
ou help restart et choix adéquat
et s'il y a juste des modif sur le sip.conf
sip reload
et pour le LDAP
realtime ldap status
et par exemple :
sip show peer 333 load
Le lien avec la DISI est important puisqu'il offre l'accès au pabx, et donc la possibilité d'appeler un numéro sur le campus, ou d'être appelé depuis l'extérieur.
IP de la passerelle patton : 157.159.22.150 accès en telnet : minet mi2010net
enable, show running configuration, …
1 seul SDA (numéro selection directe à l'arrivée, c'est à dire numéro appelable), le 6666 routé vers nous. Dans l'autre sens, MiNET ne peux sortir que vers l'intérieur du campus et vers les numéros d'urgence.
Améliorations possibles : mieux gérer les codecs, rajouter les numéros internes manquants,… Voir avec la DISI, un jour.
La DISI est en train de mettre en place un serveur asterisk à eux, il faudra voir pour les faire communiquer entre eux par la suite.
Testés : doro/tiptel, ST2030, depaepe.. Sip fonctionnel, mais pas de gestion / prise en compte des vlan (ou limitée)
Le seul testé qui marche avec le dot1x : Aastra 6731i FW 2 5 0 82 (je l'ai acheté pour moi et pour continuer d'éventuels tests, il est au local MiNET)
Imakys (Stéphane Grasset) pouvait nous en avoir à 65€HT en 2009.
Il faut les configurer en vlan pc 26 et vlan lan 26 aussi, étrangement.
Rajouter simplement la ligne switchport voice vlan 26 sur les ports des switchs cisco, qui doivent être poe sinon il faut acheter l'adaptateur.
Mis en place sur maria;
apt get install slapd ldap-utils
Pour ce qui est d'asterisk, il faut inclure le bon schéma, asterisk et inetorgpersonne version adh4. J'ai fait ça comme j'ai pu (attachements):
Accès via imagine ou directement avec le mdp “guill”
Admins avec mdp de type clear, peut être à changer.
Adhérents : ce sont des inetorgpersons ordonnées par uid
sipcompte : astcompte astsipuser by cn=chambre, astaccountname = tel
Nécessaire à la création et à la prise en compte par asterisk : host, name, secret
patton : astcompte + sipuser
pour convertir en wav : mpg123 -w nouveauson.wav son.mp3
pour convertir en gsm :
on Debian systems the libsox-fmt-gsm package is required in addition to sox sox nouveauson.wav -r 8000 -c 1 nouveau.gsm resample -ql
ou :
ffmpeg -i server_vocal_cult_movie.WMA -ar 8000 -ac 1 step3.wav puis sox step3.wav step3.gsm
La principale chose importante à retenir :
./configure with-ldap
Il faut installer ncurses-dev cf rapport Aymeric
1.4 vieille version sans LDAP, maria est disponible pour tester la 1.8 et les version plus récentes… php
J'ai mis en place une interface de gestion web. Je pensais qu'elle serait provisoire, avant d'être intégrée à ADH5, mais ce n'est pas encore à l'ordre du jour.
Code sur wwwusers.minet.net/gaillard/maisel/ fonctions LDAP adaptées de ADH4.
L'appli est relativement claire, je l'ai adaptée au fur et à mesure (disparition du lien chambre-numéro avec L'apparition des softphones, disparition du LDAP ADH4)
Elle envoie un mail à l'adhérent avec son numéro, son mot de passe, et un lien vers les supers tuto d'utilisation sur le portail..
Le numéro affiché par défaut est le premier numéro disponible
presentation maisel mi stage (2010)
présentation maisel mi-stage 2010
présentation maisel mi-stage 2009