ELASTIX / ASTERISK - PROVISION ET SUPERVISION AUTOMATIQUE
Provision automatique et supervision des lignes sur Cisco SPA 303
Procédure "prise en main Elastix / Asterisk"
knarou@Octobre2012 – fabrice@mounin.com
Cette procédure vous permettra de faire du Provisioning automatique de vos téléphones SPA 303 avec EndPoint Manager de FreePBX sous Elastix.
Vous trouverez aussi le paramétrage pour avoir les voix, emails et téléphone en français, pour les supervisions de lignes (function blf et cp) et aussi pour le Trunk avec les lignes SIP OVH.
Pré requis :
Install Elastix 2.3 (asterisk v 1.8)
Elastix-2.3.0-i386-bin-02Apr2012.iso
Dispo ici : http://sourceforge.net/projects/elastix/files/Elastix%20PBX%20Appliance%20Software/2.3.0/
1 - DEBLOCAGE DE L'INTERFACE FREEPBX
Déblocage de l'interface FreePBX.
Sur l'interface web Elastix (juste après l'onglet rapports)
Onglet Security / Advanced settings
Mettre "Enable Direct Access to FreePBX" à ON, et en profitez pour mettre un password connu dans le change password
Ensuite on va Installer le endpoint manager sous FreePBX
Onglet PBX / PBX Configuration
Allez tout en bas du menu et choisissez : Unembedded freePBX
Vous voilà maintenant dans le FreePBX Elastix débloqué
On passe à l'installation de End Point Manager (on bypass le Endpoint Manager de Elastix)
2 - INSTALLATION DE ENDPOINT MANAGER POUR FREEPBX
Téléchargez sur votre ordi le dernier endpoint manager
http://mirror.freepbx.org/modules/release/2.9/endpointman-2.9.latest.tgz
Renommer le fichier en .tar.gz
Sur FreePBX : http://votreipserverelastix/admin
Menu Setup / Module Admin
Cliquez sur le lien Upload Module et choisissez votre fichier .tar.gz téléchargé
Faire un chmod 777 /var/www/html (pour l'install en mode console)
Revenir sur Menu Setup / Module Admin
Regardez dans Connectivity / PBX End Point Manager et prendre action INSTALL et cliquez ensuite sur le bouton Process + Confirmer
Ensuite cliquez sur "Apply config change" pour mettre en route le service
Allez sur End Point Configuration and cliquez sur "Check For Updates"
Ensuite vous voyez les marques :
Cliquez Install sur Cisco/Linksys
Ensuite dans Linksys/Cisco/Sipura SPA Phone Models 5xx, 3xx [303,501G,502G,504G,525G,525G2]
Cliquez sur Enable pour le SPA303
3 - PREPARATION PROVISIONING PAR LE SERVEUR TFTP
Préparation Provisioning par le serveur tftp
Allez dans le menu system /network de elastix
Activer le DHCP Server avec les adresses de votre réseau local
Ensuite éditez le fichier /etc/dhcp.conf
Sur la ligne option tftp-server-name enlever le tftp:// mais laisser l'adresse du server elastix
/etc/init.d/dhcpd restart
Allez dans le dossier /tftpboot de votre serveur et supprimez (ou déplacez tous les fichiers dans un autre dossier)
(Très important, car il ne doit pas y avoir de XMLdefault.....xml)
On en profite pour mettre sur téléphone le dictionnaire Français du SPA303
Dans le répertoire tftp de votre serveur elastix
Copier ces fichiers dans le dossier /tftpboot
http://public.ciscosupport.eu/spa50x_30x_fr_v749.xml
http://public.ciscosupport.eu/spa50x_30x_en_v749.xml
4 - PROVISION SUR NOS TELEPHONES SPA303
Maintenant on peut faire du Provisioning automatique.
Sur FreePBX : http://votreipserverelastix/admin
Menu Tools / End Point Advanced Settings
Rentrez les infos manquantes
IP address of phone server :
Choisissez le bon Time Zone
Maintenant sur la même page cliquez sur le lien OUI Manager
Et rajoutez le début d'adresse MAC de vos SPA303
Pour moi c'est 3CCE73
Allez dans End Point Template Manager
Creer un nouveau Template avec mettant comme nom SPA303 et en utilisant Linksys/Cisco.....SPA Phone et SPA303
Je vous donne un exemple qui fonctionne sur les SPA303
Modification du fichier $model.cfg
<flat-profile>
<!-- The Phone will load up this file first -->
<!-- Don't put anything else into this file except the two lines below! It will never be referenced again! -->
<!-- Trick the Phone into loading a specific file for JUST that phone -->
<!-- Set the resync to 3 seconds so it reboots automatically, we set this to 86400 seconds in the other file -->
<Resync_Periodic>3</Resync_Periodic>
<Profile_Rule>{$provisioning_type}://{$provisioning_path}/spa$MA.xml</Profile_Rule>
<!-- Parametre pour mettre le Tel en Francais -->
<Text_Logo group="Phone/General">{$text_logo}</Text_Logo>
<Select_Background_Picture ua="ro">Text Logo</Select_Background_Picture>
<Dictionary_Server_Script group="Regional/Miscellaneous">serv={$provisioning_type}://{$provisioning_path}/;d0=English-US;x0=spa50x_30x_en_v749.xml;d1=French;x1=spa50x_30x_fr_v749.xml;</Dictionary_Server_Script>
<Language_Selection group="Regional/Miscellaneous">French</Language_Selection>
<Locale group="Regional/Miscellaneous">fr-FR</Locale>
<!-- Parametres Generaux -->
<Voice_Mail_Number group="Phone/General">*97</Voice_Mail_Number>
<Screen_Saver_Enable group="Phone/General">Yes</Screen_Saver_Enable>
<Screen_Saver_Wait group="Phone/General">120</Screen_Saver_Wait>
<Screen_Saver_Icon group="Phone/General">DateTime</Screen_Saver_Icon>
<Date_Format >day/month</Date_Format>
<Time_Format group="User/Supplementary_Services">24hr</Time_Format>
<Enable_Web_Server ua="na">Yes</Enable_Web_Server>
<Web_Server_Port ua="na">80</Web_Server_Port>
<Enable_Web_Admin_Access ua="na">Yes</Enable_Web_Admin_Access>
<Admin_Passwd ua="na"></Admin_Passwd>
<User_Password ua="na"></User_Password>
<Time_Zone group="Regional/Miscellaneous">GMT+02:00</Time_Zone>
<Station_Display_Name group="Phone/General">{$station_name}</Station_Display_Name>
<Default_Ring__1__ group="Ext_1/Call_Feature_Settings">5</Default_Ring__1__>
<Default_Ring__2__ group="Ext_1/Call_Feature_Settings">6</Default_Ring__2__>
<Default_Ring__3__ group="Ext_1/Call_Feature_Settings">7</Default_Ring__3__>
</flat-profile>
Modification du fichier spa$mac.xml
<flat-profile>
<!-- Reset the global configuration options, now we will reset per day instead of every second -->
<Resync_Periodic>86400</Resync_Periodic>
<Resync_On_Reset>Yes</Resync_On_Reset>
<Profile_Rule>{$provisioning_type}://{$provisioning_path}/spa$MA.xml</Profile_Rule>
<!-- Line Registration Information -->
{line_loop}
<Extension_{$line}_ group="Phone/Line_Key_{$line}">{$line}</Extension_{$line}_>
<Short_Name_{$line}_ group="Phone/Line_Key_{$line}">{$short_name}</Short_Name_{$line}_>
<Line_Enable_{$line}_ group="Ext_{$line}/General">Yes</Line_Enable_{$line}_>
<Proxy_{$line}_ group="Ext_{$line}/Proxy_and_Registration">{$server.ip.1}</Proxy_{$line}_>
<Register_{$line}_ group="Ext_{$line}/Proxy_and_Registration">Yes</Register_{$line}_>
<Display_Name_{$line}_ group="Ext_{$line}/Subscriber_Information">{$displaynameline}</Display_Name_{$line}_>
<User_ID_{$line}_ group="Ext_{$line}/Subscriber_Information">{$ext}</User_ID_{$line}_>
<Password_{$line}_ group="Ext_{$line}/Subscriber_Information">{$pass}</Password_{$line}_>
<Auth_ID_{$line}_ group="Ext_{$line}/Subscriber_Information">{$ext}</Auth_ID_{$line}_>
<Dial_Plan_{$line}_ group="Ext_{$line}/Dial_Plan">(*xxxxx|[3469]11|0|00|[2-9]xxxxxx|1xxx[2-9]xxxxxxS0|xxxxxxxxxxxx.)</Dial_Plan_{$line}_>
{/line_loop}
</flat-profile>
Ensuite dans Point Device List
Scan du réseau et il devrait trouvé votre ou vos téléphone.
Vous attribuez un numéro pour valider.
Ensuite vous modifier la ligne en mettant le template que vous avez créé "SPA303"
Il ne vous reste plus qu'a faire un Factory Reset de votre téléphone et laissez le Provisioning se faire.
Sur le spa303, Bouton Menu, tapez 14 et sélectionnez OK
Après reset le spa303 récupère le fichier spa303.cfg
Ensuite il reboote, et récupère les fichiers langues fr + us ainsi que le fichier spa(MACdutel).xml.
Il reboote encore et ensuite il est opérationnel...
ATTENTION : j'ai remarqué un Bug quand on à la langue de téléphone en Francais. Il est impossible de rajouter un Logo(BMP) sur le telephone en provision,
sinon le telephone reboot sans arrêt....
Par contre, si vous restez en US-English vous pouvez rajouter un logo(BMP)
DEBUG :
Faite un "tail -f /var/log/messages" pour le diag
Pour voir ce que votre téléphone spa303 récupère comme fichier
http://ipDuTelephone/admin/spacfg.xml
Pour voir le XML du paramétrage du téléphone, et de rajouter dans vos paramètres de Provisioning
5 - CUSTOM CONF
Un petit custom pour la configuration des lignes SIP OVH, mettre les voix françaises, ajouter de la supervision de ligne (blf + cp) et modification des mails de messagerie vocale en Francais
5.1 - CUSTOM - Mettre les Voix Francaises
Mettre voix française
cd /root
mkdir sounds
cd sounds
wget http://www.tux89.com/wp-content/uploads/2009/10/Prompt.FR.AF.Ver.2.1.GSM.Released.tar.gz
tar zxvf Prompt.FR.AF.Ver.2.1.GSM.Released.tar.gz
cd /root/sounds
cp fr/* /var/lib/asterisk/sounds/fr
cp dictate/fr/* /var/lib/asterisk/sounds/fr/dictate
cp digits/fr/* /var/lib/asterisk/sounds/fr/digits
mkdir /var/lib/asterisk/sounds/fr/ha
cp ha/fr/* /var/lib/asterisk/sounds/fr/ha
cp letters/fr/* /var/lib/asterisk/sounds/fr/letters
mkdir /var/lib/asterisk/sounds/fr/wx
cp wx/fr/* /var/lib/asterisk/sounds/fr/wx
cp silence/fr/* /var/lib/asterisk/sounds/fr/silence
vi /etc/asterisk/sip_custom.conf
ajouter language=fr
Redémarrer asterisk
5.2 - CUSTOM email messagerie vocal en Français
/etc/asterisk/vm-general.inc
modif de fromstring avec le nom de votre choix
/etc/asterisk/voicemail.conf
rajout dans section general
emailsubject=${MVM_COUNER} nouveaux message(s) sur votre ligne ${VM_MAILBOX}
/etc/asterisk/vm_email.inc
emailbody=Bonjour ${VM_NAME},\n\nVous avez un nouveau message sur votre ligne ${VM_MAILBOX}\n\n\t De :\t${VM_CALLERID}\n\tTaille:\t${VM_DUR} seconds\n\t Date:\t${VM_DATE}\n\nComposez le *97 pour ecouter votre messagerie.\nVisitez http://ipdevotreserver/recordings/index.php?login=${VM_MAILBOX} Pour verifier votre messagerie depuis un navigateur.\n
redemarrer asterisk
5.3 - CUSTOM SUPERVISION DE LIGNE / état (blf) recup appel (cp) appel (sd)
PARTIE ASTERISK
vi /etc/asterisk/extensions.conf
Rajouter dans la section défault, les postes supervisés
[default]
exten => 1000,hint,SIP/1000
exten => 1001,hint,SIP/1001
vi /etc/asterisk/sip.conf
Rajouter dans la section general...
[general]
allowsubscribe=yes
limitonpeers=yes
notifyringing=yes
notifyhold=yes
notifycid=ignore-context
tcpenable=yes
qualify=yes
call-limit=100
redemarrer asterisk
Dans l'admin PBX de Elastix
Pour l'exemple, j'ai modifié le Feature code dans menu le menu basic
Directed Call Pickup = *36
PARTIE TELEPHONE
sur l'admin SPA303
http://IpTel.x.x.x/admin/advanced
dans l'onglet phone
Line Key 2
Extension : disabled
ShareCall Appea... : private
Extended Function : fnc=blf+sd+cp;sub=1001@$PROXY;ext=1001@$PROXY
(1001 est le poste que je veux visualiser)
Dans l'onglet Attendant Keys
Server type : Asterisk
Attendant Console Call Pickup Code : *36#
(Sachant que # est très important, est le numéro qui sera appelé)
Dans l'onglet Ext 1, et Ext 2 et Ext 3 modif du Dial Plan (a mettre dans le provisioning)
(*xxxxxx|[3469]11|0|00|[2-9]xxxxxx|1xxx[2-9]xxxxxxS0|xxxxxxxxxxxx.)
Ensuite Submit All Changes
5.4 - CUSTOM - LIGNE SIP OVH
Pour ajouter des TRUNKS
Trunk Name : ovh_+ 4 derniers chiffres Tel
Outbound Caller ID : Num ovh avec 0033
PEER DETAILS
type=peer
host=sip.ovh.net
context=from-trunk
language=fr
insecure=very
username=0033XXXXXXX
secret=PASSWORD_SIP
disallow=all
allow=alaw&ulaw
nat=yes
canreinvite=no
dtmfmode=inband
restrictcid=no
amaflags=default
fromuser=0033XXXXXXX
USER DETAILS
(effacez tout)
Register String :
0033XXXXXXX:PASSWORD_SIP@sip.ovh.net/0033XXXXXXX
FIN
Le but de cette documentation est de vous familiariser avec elastix et asterix.
Cette procédure vous permet de comprendre la provision de téléphone cisco SPA303 automatique ainsi que les fonctions de base comme la supervision de ligne téléphonique.
N'hésitez pas à critiquer ce document pour l'amélioration.
knar@Octobre2012 – fabrice@mounin.com
...Do you have an english version LOL...