View
216
Download
0
Category
Preview:
Citation preview
8/2/2019 Trixbox 2
1/22
Guide dinstallation de Trixbox 2.0
Sommaire :
Installation
Obtenir Trixbox
Installation du systme
Premier dmarrage
Configuration dAsterisk
Accs linterface de configuration
Ajouter des extensions
Configurer les appels sortants
Trunks
Routes
Configurer les appels entrants
Cration de dial-plans (custom applications)
Codecs
Codecs installs par dfaut
Installation des codecs g723 et g729 :
Connatre le codec utilis pendant un appel
Problmes de transcodage avec iLBC
Administration de Trixbox
Modification des mots de passe par dfaut
FreePBX
MySQL
Installation des modules disponibles par dfaut
Divers
Gnrer du trafic pour tester le fonctionnement dAsterisk
Commandes utiles
Switzernet, Fvrier 2006
box 2 http://www.switzernet.com/public/080701-stage-student-jobs/docs-exa...
r 22 01/03/2012 17:43
8/2/2019 Trixbox 2
2/22
Installation
Obtenir Trixbox
Tlcharger limage ISO (trixbox2.0.iso) partir du site http://www.trixbox.org/ (le lien de tlchargement mne sur
sourceforge.net) et graver limage ISO sur un CDROM.
Installation du systme
Trixbox est une distribution linux complte (utilisant CentOS), intgrant entre autres Asterisk, FreePBX, Apache et
MySQL. Son installation est donc entirement automatique.
Au dmarrage, insrer le CDROM dans le lecteur et presser sur entre lcran de dmarrage de linstalleur. Quand
demand, slectionner le bon type de clavier (fr_CH-Latin1) :
Ainsi que la localisation (Europe/Zurich) :
Et choisir le mot de passe root :
box 2 http://www.switzernet.com/public/080701-stage-student-jobs/docs-exa...
r 22 01/03/2012 17:43
8/2/2019 Trixbox 2
3/22
Linstallation se droule ensuite automatiquement (plusieurs redmarrages seront ncessaires).
Ne pas oublier de retirer le CDROM au premier redmarrage (il sjecte automatiquement).
Par dfaut, le systme sinstalle sur le disque entier sans demander de partitionnement.
Premier dmarrage
Paramtrer le rseau pour un serveur statique (la configuration par dfaut est en DHCP). Par exemple avec la
commande netconfig :
Attention ! Cette opration va compltement effacer les valeurs prcdentes !!
Configurer ladresse IP, masque de rseau, passerelle et serveur DNS et cliquer sur OK.
Il faut alors relancer linterface rseau avec la commande :
sercice network restart
box 2 http://www.switzernet.com/public/080701-stage-student-jobs/docs-exa...
r 22 01/03/2012 17:43
8/2/2019 Trixbox 2
4/22
ou
/etc/init.d/network restart
Le serveur est maintenant fonctionnel et prt tre configur.
box 2 http://www.switzernet.com/public/080701-stage-student-jobs/docs-exa...
r 22 01/03/2012 17:43
8/2/2019 Trixbox 2
5/22
Configuration dAsterisk
Accs linterface de configuration
On accde linterface web de configuration de Trixbox en entrant ladresse du serveur dans un navigateur internet :
Passer en mode administrateur en cliquant sur "switch". Par dfaut :
utilisateur : maint
mot de passe : password
Cliquer sur le menu "Asterisk" "FreePBX" :
puis "Setup" :
box 2 http://www.switzernet.com/public/080701-stage-student-jobs/docs-exa...
r 22 01/03/2012 17:43
8/2/2019 Trixbox 2
6/22
Ajouter des extensions
On commence par ajouter des extensions (ici generic SIP device). Une extension reprsente simplement un numro
de tlphone.
Pour chaque extension, indiquer le numro SIP (o XXXX est le short SIP), le nom qui saffichera pour les appels
passs et le mot de passe SIP ("secret"). Le bouton "submit" enregistre les modifications, mais sans les appliquer.
Aprs avoir ajout toutes les extensions, il faut appliquer les modifications sur le serveur, ce qui redmarrera le
service asterisk (notez que vous avez des messages de feedback sur lcran du serveur) :
box 2 http://www.switzernet.com/public/080701-stage-student-jobs/docs-exa...
r 22 01/03/2012 17:43
8/2/2019 Trixbox 2
7/22
Maintenant, les tlphones SIP branchs sur le rseau du serveur doivent pouvoir communiquer entre eux
(uniquement en utilisant un des codecs supports par Asterisk).
Remarque importante pour une utilisation commerciale (but final de notre
installation) :
Par dfaut, nimporte qui peut accder linterface web (FreePBX) du serveur par son IP, et peut alors voir toutes
les extensions, trunks, !
Pour y remdier, voici une solution brutale mais rudement efficace : il faut simplement diter le template de la page
FOP (Flash Operator Panel) pour les utilisateurs externes, qui est dans le dossier /var/www/html/user
/modules/04_fop et commenter (en html) le template :
# nano /www/html/user/modules/04_fop/fop.tpl
box 2 http://www.switzernet.com/public/080701-stage-student-jobs/docs-exa...
r 22 01/03/2012 17:43
8/2/2019 Trixbox 2
8/22
Lors de la prochaine ouverture de la page FOP sur linterface FreePBX, le fichier flash ne sera alors pas charg,
mais il le sera pour linterface administrateur (maint).
Autre technique encore plus brutale, mais surtout plus sre pour nos intrts : laisser le fichier fop.tpl
compltement vide !!
Pour ne pas laisser lapplication flash tourner pour rien (sa gnration peut tre assez coteuse en CPU), on peut
maintenant totalement la supprimer du lancement du service amportal :
On dite le fichier/usr/sbin/amportal . Dans la partie qui ressemble un script dinit, on commente les appels
aux mthodes run_fop et stop_fop (pour viter les messages derreur ventuels). Normalement, commenter les
lignes run_fop, redmarrer amportal puis commenter les lignes stop_fop est suffisant. Si on veut tre vraiment
sur de ne pas laisser de traces de lapplication flash, on peut faire aussi un killall op_server.pl (le script perl
qui gnre le flash), ou mme directement rebooter le serveur.
Configurer les appels sortants
Trunks
box 2 http://www.switzernet.com/public/080701-stage-student-jobs/docs-exa...
r 22 01/03/2012 17:43
8/2/2019 Trixbox 2
9/22
Un trunkreprsente un accs du serveur vers lextrieur. Par exemple vers un serveur spcifique, un routeur Tous
les trunks que nous utilisons ici sont des trunks SIP.
Dans la configuration du trunk, on donne ladresse du serveur externe auquel on veut se connecter (ici un autre
serveur SIP), la liste des codecs autoriss (dans lordre de prfrence) et le type du serveur externe (peer ou
friend). Le type "friend" est la mthode de connexion la plus simple, mais aussi la moins sre.
Les autres champs peuvent tre laisss vides. On dclare un trunk diffrent pour chaque serveur sortant.
Routes
Une route va permettre de diriger un appel sortant vers une destination particulire, par exemple en fonction du
numro compos ("dial pattern"). Par exemple ici, on cre une route qui redirige lappel vers le trunk "swiss-sip" si le
numro appel est prfix dun 4.
A ce stade, le serveur sera capable dappeler des appareils externes suivant les trunks dfinis.
box 2 http://www.switzernet.com/public/080701-stage-student-jobs/docs-exa...
r 22 01/03/2012 17:43
8/2/2019 Trixbox 2
10/22
Configurer les appels entrants
On va maintenant permettre aux appels entrants dtre dirigs sur le bon appareil. On ajoute une route entrante pour
chaque extension qui doit tre atteignable de lextrieur.
On entre le numro SIP comme identifiant de la route, et on indique quoi faire de lappel entrant. Ici, il est
simplement redirig vers lappareil concern.
box 2 http://www.switzernet.com/public/080701-stage-student-jobs/docs-exa...
ur 22 01/03/2012 17:43
8/2/2019 Trixbox 2
11/22
Notes
Il est utile dajouter une route entrante supplmentaire, qui va rejeter tous les numros non dclars. On peut
laisser le "DID Number" vide, et mettre la destination sur "Core : Hangup".
Ne pas oublier daccepter les appels entrants non authentifis. Sans cela, le tlphone reste inatteignable :
Dans longlet "General Settings" :
Cration de dial-plans (custom applications)
Dans la configuration dAsterisk, un dial-plan reprsente la suite dactions qui se droule pendant un appel. Toute la
configuration dAsterisk passe par ces dial-plans, mme si linterface FreePBX les cache lutilisateur. Pour obtenirdes fonctions plus avances, on doit passer par la cration de dial-plans personnaliss.
Au lieu de simplement faire sonner un appareil, on peut dfinir des actions particulires (par exemple, lire un
message, demander une entre lutilisateur). Ici on dfinit un dial-plan personnalis pour les appels entrants,
dans longlet "Inbound Routes" (qui ne concerne que les appels venant de lextrieur, et pas les connexions SIP
SIP) :
Dans ce cas, on lappelle dans le champ "Custom App" de la destination.
La syntaxe dappel est "nom_du_dial_plan,no_extension,premiere_action. Ici, custom-mes,41215500308,1 , qui
appelle le plan custom_mes, avec le numro dextension qui reoit lappel, et on commence lexcution du plan la
position 1.
Les dials plans sont dfinis dans le fichier/etc/asterisk/extensions_custom.conf , quon peut diter par le
menu "Config Edit" de FreePBX :
On dfinit le dial-plan custom-mes (le nom de tous les dial-plans personnaliss doit commencer parcustom_) :
box 2 http://www.switzernet.com/public/080701-stage-student-jobs/docs-exa...
ur 22 01/03/2012 17:43
8/2/2019 Trixbox 2
12/22
Son droulement est assez simple :
[custom-mes]
exten => _4121550.,1,Answer 1. Dcrocher lappel
exten => _4121550.,2,Wait(1) 2. Attendre une seconde
exten => _4121550.,3,Set(fromext=${EXTEN:4}) 3. Mmoriser le numro appel dans la variable
fromext (moins les 4 premiers chiffres)
exten => _4121550.,4,SayDigits(${fromext}) 4. Dire le numro
exten => _4121550.,5,Playback(fpm-world-mix) 5. Jouer une musique
exten => _4121550.,6,Hangup 6. Raccrocher lappel
Chaque ligne du plan commence par lextension concerne. Ici on utilise "_4121550.", qui matche tous les numros
de la forme 4121550*. Le "_" au dbut de lextension signifie quelle doit tre interprte comme une expression
rgulire. Les expressions utilisables sont :
X Nimporte quel chiffre de 0 9Z Nimporte quel chiffre de 1 9N Nimporte quel chiffre de 2 9[1237-9] Nimporte lequel des caractres entre crochets ( ici 1,2,3,7,8,9). Nimporte quelle suite (un ou plus) de caractres! Nimporte quelle suite (zro ou plus) de caractres, mais interprt ds que lexpression
correspond.
On donne ensuite pour chaque commande sa priorit dexcution, et enfin la commande elle-mme.
En pratique, on peut crer des plans bien plus compliqus.
box 2 http://www.switzernet.com/public/080701-stage-student-jobs/docs-exa...
ur 22 01/03/2012 17:43
8/2/2019 Trixbox 2
13/22
Codecs
Codecs installs par dfaut
Par dfaut, asterisk supporte (entre autres) les codecs suivants :
PCMU (ulaw, g711u, principalement utilis aux Etats-Unis et au Japon)PCMA (alaw, g711a, utilis dans le reste du monde)
iLBC
g723.1, uniquement en pass-through
Des codecs supplmentaires peuvent tre installs sous forme de modules.
Installation des codecs g723 et g729 :
Ces deux codecs sont normalement soumis une taxe payer pour lutilisation.
Identifier le type de processeur, identifi par le mot cl model name :# cat /proc/cpuinfo
model name : Intel(R) Pentium(R) 4 CPU 1.70GHz
Aller dans le rpertoire des modules dasterisk :# cd /usr/lib/asterisk/modules
Tlcharger les codecs correspondant au processeur utilis :
Pentium 4 :
# wget http://kvin.lv/pub/Linux/Asterisk/built-for-asterisk-1.2/codec_g729-gcc-pentium4.so# wget http://kvin.lv/pub/Linux/Asterisk/built-for-asterisk-1.2/codec_g723-icc-pentium4.so
Pour les autres processeurs, voir la liste des fichiers disponibles ladresse suivante :
http://kvin.lv/pub/Linux/Asterisk/built-for-asterisk-1.2/
box 2 http://www.switzernet.com/public/080701-stage-student-jobs/docs-exa...
ur 22 01/03/2012 17:43
8/2/2019 Trixbox 2
14/22
Ajouter ces nouveaux codecs au fichiersip.conf :
Aussi ajouter les nouveaux codecs dans le fichier/etc/asterisk/sip_custom.conf (mettre les codecs dans
lordre de prfrence). Crer le fichier sil nexiste pas :
allow=g723
allow=g729
NB : Ceci nest pas trs utile, pour ne pas dire gnant pour linstant Oublier cette tape.
Redmarrer le serveur Asterisk et linterface FreePBX ; le tout est regroup sous le service amportal (voir #
amportal --help pour plus dinformations) :
# amportal restart
Connatre le codec utilis pendant un appel
En mode console pour Asterisk (CLI), accessible en tapant # asterisk -r dans un terminal, la commande show
channels donne la liste de toutes les communications en cours (un canal [channel] par appareil).
Aprs avoir trouv le bon canal, show channel donne des informations supplmentaires sur lacommunication.
Note : utiliser la touche tabulation pour complter le suffixe du canal que lon veut tudier.
box 2 http://www.switzernet.com/public/080701-stage-student-jobs/docs-exa...
ur 22 01/03/2012 17:43
8/2/2019 Trixbox 2
15/22
Les champs NativeFormat, WriteFormat et ReadFormat indiquent le codec utilis.
Pour obtenir le codec correspondant au code prcdent, on utilise la commande show codecs, qui liste tous les
codecs disponibles.
box 2 http://www.switzernet.com/public/080701-stage-student-jobs/docs-exa...
ur 22 01/03/2012 17:43
8/2/2019 Trixbox 2
16/22
Ici on voit que le codec utilis est iLBC.
On peut obtenir la mme chose avec plus de dtails en utilisant la commande sip show channels, puis sip
show channel avec le canal dsir :
Problmes de transcodage avec iLBC
Par dfaut, les appareils Grandstream (BudgeTone et HandyTone) sont configurs pour utiliser un frame size de
20ms avec le codec iLBC. Cela pose problme pour le transcodage vers g723. Dans ce cas, aucun son ne sort dundes appareils, alors que de lautre ct le son est trs mauvais (uniquement des bruits de compression). De plus, du
ct du serveur et des routeurs, lappel semble se drouler normalement.
Pour remdier ce problme, il suffit de modifier le frame size utilis par iLBC 30ms (ce qui correspond au frame
box 2 http://www.switzernet.com/public/080701-stage-student-jobs/docs-exa...
ur 22 01/03/2012 17:43
8/2/2019 Trixbox 2
17/22
size du codec g723). On le fait directement depuis linterface web de lappareil :
Administration de Trixbox
A la place du gestionnaire de paquets par dfaut (yum), on peut directement utiliser linterface web de Trixbox pour
effectuer les mises jour et installations de nouveaux paquets.
Il faut dabord se crer un compte en cliquant sur le bouton "register". Si a ne marche pas, on peut aussi sinscrire
directement sur les forums Trixbox (cest le mme login) :
http://www.trixbox.org/modules/newbb/
Modification des mots de passe par dfaut
FreePBX
Utilisateur de maintenance :
Depuis la console (en root), lancer la commande
# passwd-maint
Utilisateur : maint
Mot de passe par dfaut : password
Utilisateur secondaire (pas daccs au mode maintenance) :
Depuis la console (en root), lancer la commande :
# passwd-amp
Utilisateur : wwwadmin
Mot de passe par dfaut : password
MySQLDepuis la console (en root), lancer la commande :
# mysqladmin -p -u root password 'new_password'
box 2 http://www.switzernet.com/public/080701-stage-student-jobs/docs-exa...
ur 22 01/03/2012 17:43
8/2/2019 Trixbox 2
18/22
Il faudra entrer le mot de passe actuel.
Utilisateur : root
Mot de passe par dfaut : passw0rd
Installation des modules disponibles par dfaut
Depuis la section Tools de linterface FreePBX, aller dans Module Admin, et tout installer :
Tous les modules ne sont pas forcment utiles, mais nous anticipons pour la suite ; par exemple nous sommes
particulirement intresss par les Ring Groups, comme nous allons le voir ci-dessous.
Divers
Gnrer du trafic pour tester le fonctionnement dAsterisk
Pour tester la capacit du serveur, au lieu dutiliser vraiment un grand nombre de tlphones, on peut aussi gnrer
du trafic en utilisant les routes et les groupes de sonneries.
On na mme pas besoin de crer dextensions. On commence par dclarer un "ring group" (accessible dans la
section Setup) pour chaque appareil dsir, ici on a choisi la plage des numros 02155090XX. Ce nest pas un vrai
ring group, dans le sens ou il ne fait sonner quun seul appareil.
box 2 http://www.switzernet.com/public/080701-stage-student-jobs/docs-exa...
ur 22 01/03/2012 17:43
8/2/2019 Trixbox 2
19/22
On garde les options par dfaut du ring group. La seule diffrence est que le numro appel doit tre dclar
comme un numro externe (on ajoute un # la fin). Il faut juste changer le time-out sur 60 secondes (cercle bleu) si
nous mettons beaucoup de ring groups la suite (dans notre cas, il y en a une vingtaine).
Pour chaque ring group, on cre ensuite une route entrante :
Jusquici, ces routes sont aussi laisses aux valeurs par dfaut. Cest maintenant quon met en place le systme
dappels en chane. Pour obtenir leffet dsir, chaque route pointe sur le ring group suivant :
box 2 http://www.switzernet.com/public/080701-stage-student-jobs/docs-exa...
ur 22 01/03/2012 17:43
8/2/2019 Trixbox 2
20/22
Cela cre une chane dappels aussi longue que lon veut (ici par exemple 9000 9002 9003 9020
0303). Le numro 0215500303 est cette fois un "vrai" numro, qui pointe sur un appareil physique (cela peut tre un
natel, p.e.), pour pouvoir dcrocher finalement lappel.
Remarque : ne pas oublier de dfinir ces numros sur le Cisco entrant ! (voir la documentation ce sujet)
On voit pourquoi les numros dappels des ring groups sont dclars comme numros externes. De cette manire,
les appels sortent de lAsterisk, sans cela, tout resterait sur le rseau SIP. Le chemin que prennent les appels
est donc le suivant :
On appelle le numro 0215509000 de lextrieur, mais au lieu de dcrocher, lappel est transfr dans la boucle
dappels. Il y fait un passage pour chacun des ring groups dclars prcdemment, et la fin on le renvoie sur le
0215500303, qui dcroche lappel.
Si on examine le cheminement des appels sur les routeurs entrant et sortant, on obtient le fonctionnement suivant :
box 2 http://www.switzernet.com/public/080701-stage-student-jobs/docs-exa...
ur 22 01/03/2012 17:43
8/2/2019 Trixbox 2
21/22
box 2 http://www.switzernet.com/public/080701-stage-student-jobs/docs-exa...
ur 22 01/03/2012 17:43
8/2/2019 Trixbox 2
22/22
Commandes utiles
Commandes linux :
Redmarrer le serveur Asterisk amportal restart
Mode console (CLI) dAsterisk (contacte une
instance dj lance) / mode verbeux
asterisk r
asterisk -r vvvvv
Commandes en mode Asterisk CLI :
Activer/dsactiver le debug SIP (affiche beaucoup
dinformations sur les connexions)
sip debug
sip no debug
Afficher la liste des peers connects au serveur / les
dtails dun peer
sip show peers
sip show peer
Afficher la liste des canaux en cours dutilisation / les
dtails dun canal
sip show channels
sip show channel
Changer la verbosit (zro pour le minimum de
verbosit)
set verbose
box 2 http://www.switzernet.com/public/080701-stage-student-jobs/docs-exa...
Recommended