- La téléphonie Internet libre basée sur Asterisk par Sylvain Thérien - http://www.tux89.com -

Configuration d’un poste téléphonique Cisco 7940/7960 sous Asterisk

Je tiens pour acquis que votre poste téléphonique Cisco a déjà la bonne version micrologiciel SIP. Cet article ne traite pas de la mise en place de nouvelle version micrologiciel SIP.

Comme référence à cet article, j’utiliserai un poste Cisco modèle 7940 que l’on peut se procurer à très bon prix sur eBay [1]. Veuillez noter que les postes 7960 peuvent aussi être utilisés et sont aussi compatibles au modèle 7940. Donc, avant de débuter la configuration du poste en soit, certaines étapes préliminaires doivent au préalable être effectuées.

Service TFTP

La première étape consiste à installer et configurer le service tftp qui servira à la distribution des fichiers de configuration du serveur vers les postes téléphoniques. Ouvrez une session « Shell » et exécutez la ligne de commande suivante :

setup-tftp

Cette commande activera le service sur le serveur, fera la création du répertoire « /tftpboot » et assignera les droits d’accès appropriés au répertoire.

Option TFTP sur serveur DHCP

La deuxième étape consiste à configurer l’option 66 (tftp) sur votre serveur DHCP. Lorsque vous branchez un téléphone Cisco au réseau, la toute première chose qu’il essayera de faire est d’acquérir une adresse IP par l’intermédiaire du protocole DHCP. En plus d’assigner une adresse IP dynamique au téléphone, le serveur DCHP peut envoyer d’autre information telle que l’adresse d’un serveur TFTP, soit l’option 66 dans le « scope » DCHP. Avec cette information, le téléphone pourra incessamment obtenir sa configuration téléphonique du serveur TFTP. Puisque le service tftp s’exécute sur notre serveur Asterisk, il faut donc configurer l’option 66 du serveur DHCP à l’adresse IP ou au « Fully Qualified Domain Name » FQDN de notre serveur Asterisk. Question sécurité, cette adresse doit être privée et ne doit pas être accessible publiquement puisque les configurations des postes téléphoniques seront accessibles en clair à partir du service tftp.

Si votre serveur DHCP ne supporte pas cette option, vous devrez, sur le poste téléphonique Cisco exécuter les actions suivantes :

Pressez sur le bouton « configuration » afin d’avoir accès aux menus de paramétrisation du téléphone. Effectuez ensuite les actions suivantes :

(9) Unlock config

Entrez le mot de passe (définit dans /tftpboot/SIPxxxxxxxxxxxx.cnf

(3) Network Configuration

(30) Changez le DHCP Enable à Yes

(1) Changez le DHCP Serveur à 192.168.1.1

(32) Changez l’option alternate TFTP à Yes

(7) Changez le serveur TFTP à 192.168.1.6

Fichiers de base Cisco

La troisième étape consiste à mettre en place les bons fichiers de configurations pour les postes Cisco. À partir de la même session « Shell », exécutez la ligne de commande suivante :

setup-cisco

Cette commande fera la création du fichier de configuration pour les postes 7940 et 7960. Ce fichier se nomme SIPDefault.cnf et sera placé dans le répertoire /tftpboot. Le fichier est requis par les postes Cisco lorsque ces derniers démarrent et essaient d’obtenir une configuration à partir du serveur tftp. L’adresse proxy qui sera configuré par la commande setup-cisco sera l’adresse IP de votre serveur Asterisk. Si vous changez l’adresse IP de votre serveur Asterisk, vous n’avez qu’à ré exécuter la commande setup-cisco.

Le fichier SIPDefault.cnf contient les options communes de configuration relative à tous les téléphones Cisco 7940/7960 SIP. Le fichier ressemble à ceci :

# Image Version
image_version: « P0S3-08-12-00 »
# Proxy Server
# Adresse de Asterisk
proxy1_address: « 192.168.1.6 »
# Proxy Server Port (default – 5060)
proxy1_port: »5060″
# Emergency Proxy info
# Adresse de Asterisk
proxy_emergency: « 192.168.1.6 »
proxy_emergency_port: « 5060 »
# Backup Proxy info
# Adresse de Asterisk
proxy_backup: « 192.168.1.6 »
proxy_backup_port: « 5060 »
# Outbound Proxy info
outbound_proxy: «  »
outbound_proxy_port: « 5060 »
# NAT/Firewall Traversal
nat_enable: « 0 »
nat_address: «  »
voip_control_port: « 5061 »
start_media_port: « 16384 »
end_media_port:  « 32766 »
nat_received_processing: « 0 »
# Proxy Registration (0-disable (default), 1-enable)
proxy_register: « 1 »
# Phone Registration Expiration [1-3932100 sec] (Default – 3600)
timer_register_expires: « 3600 »
# Codec for media stream (g711ulaw (default), g711alaw, g729)
preferred_codec: « none »
# TOS bits in media stream [0-5] (Default – 5)
tos_media: « 5 »
# Enable VAD (0-disable (default), 1-enable)
enable_vad: « 0 »
# Allow for the bridge on a 3way call to join remaining parties upon hangup
cnf_join_enable: « 1 »     ; 0-Disabled, 1-Enabled (default)
# Allow Transfer to be completed while target phone is still ringing
semi_attended_transfer: « 0 »   ; 0-Disabled, 1-Enabled (default)
# Telnet Level (enable or disable the ability to telnet into this phone
telnet_level: « 2 »      ; 0-Disabled (default), 1-Enabled, 2-Privileged
# Inband DTMF Settings (0-disable, 1-enable (default))
dtmf_inband: « 1 »
# Out of band DTMF Settings (none-disable, avt-avt enable (default), avt_always- always avt )
dtmf_outofband: « avt »
# DTMF dB Level Settings (1-6dB down, 2-3db down, 3-nominal (default), 4-3db up,5-6dB up)
dtmf_db_level: « 3 »
# SIP Timers
timer_t1: « 500 »                   ; Default 500 msec
timer_t2: « 4000 »                  ; Default 4 sec
sip_retx: « 10 »                     ; Default 11
sip_invite_retx: « 6 »               ; Default 7
timer_invite_expires: « 180 »        ; Default 180 sec
# Setting for Message speeddial to mail box
messages_uri: « *97 »
# TFTP Phone Specific Configuration File Directory
tftp_cfg_dir: « ./ »
# Time Server
sntp_mode: « unicast »
# Adresse de Asterisk qui offre le service NTP
sntp_server: « 192.168.1.6 »
time_zone: « EST »
dst_offset: « 1 »
dst_start_month: « April »
dst_start_day: «  »
dst_start_day_of_week: « Sun »
dst_start_week_of_month: « 1 »
dst_start_time: « 02 »
dst_stop_month: « Oct »
dst_stop_day: «  »
dst_stop_day_of_week: « Sunday »
dst_stop_week_of_month: « 8 »
dst_stop_time: « 2 »
dst_auto_adjust: « 1 »
# Do Not Disturb Control (0-off, 1-on, 2-off with no user control, 3-on with nouser control)
dnd_control: « 0 »                  ; Default 0 (Do Not Disturb feature is off)
# Caller ID Blocking (0-disabled, 1-enabled, 2-disabled no user control, 3-enabled no user control)
callerid_blocking: « 0 »            ; Default 0 (Disable sending all calls as anonymous)
# Anonymous Call Blocking (0-disbaled, 1-enabled, 2-disabled no user control, 3-enabled no user control)
anonymous_call_block: « 0 »         ; Default 0 (Disable blocking of anonymous calls)
# Call Waiting (0-disabled, 1-enabled, 2-disabled with no user control, 3-enabled with no user control)
call_waiting: « 1 »                 ; Default 1 (Call Waiting enabled)
# DTMF AVT Payload (Dynamic payload range for AVT tones – 96-127)
dtmf_avt_payload: « 101 »           ; Default 100
# XML file that specifies the dialplan desired
dial_template: « dialplan »
# Network Media Type (auto, full100, full10, half100, half10)
network_media_type: « auto »
#Autocompletion During Dial (0-off, 1-on [default])
autocomplete: « 1 »
#Time Format (0-12hr, 1-24hr [default])
time_format_24hr: « 0 »
# URL for external Phone Services
services_url: « http://192.168.1.6/xmlservices/index.php »
# URL for external Directory location
directory_url: « http://192.168.1.6/xmlservices/PhoneDirectory.php »
# URL for branding logo
logo_url: « http://192.168.1.6/cisco/bmp/trixbox.bmp »
# Remote Party ID
remote_party_id: 1              ; 0-Disabled (default), 1-Enabled

Un autre fichier contient aussi des options communes de configuration pour les téléphones Cisco 7940/7960. Ce fichier se nomme « xmlDefault.CNF.XML », et peut aussi porter le nom « XMLDefault.cnf.xml » pour les plus anciennes versions de micrologiciel. Le fichier contient la définition des numéros de ports pour le protocole Skinny et  MGCP ainsi que la définition des services sur le serveur Asterisk. De plus, il contient les balises de versions du micrologiciel des postes téléphoniques selon les modèles. Vous devrez donc ajuster la balise pour un modèle 7940 à <loadInformation8 model= »IP Téléphone 7940″> P003-08-12-00 </ loadInformation8> ou encore pour un modèle 7960 à <loadInformation7 model= »IP Téléphone 7960″> P003-08-12-00 </ loadInformation7>. Dans notre cas, la version de l’image micro-logiciel est 8.12, c’est  pourquoi nous avons écrit P003-08-12-00. Si vous utilisez une version différente de micrologiciel, la séquence représentant la version sera différente.

Le fichier « XMLDefault.cnf.xml » ressemble à ceci :

<Default>
<callManagerGroup>
<members>
<member priority= »0″>
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<mgcpPorts>
<listen>2427</listen>
<keepAlive>2428</keepAlive>
</mgcpPorts>
</ports>
<processNodeName></processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
<loadInformation8 model= »IP Phone 7940″>P003-08-12-00</loadInformation8>
<loadInformation7 model= »IP Phone 7960″>P003-08-12-00</loadInformation7>
<loadInformation6 model= »IP Phone 7970″>SIP70.8-5-2S</loadInformation6>
<authenticationURL></authenticationURL>
<directoryURL></directoryURL>
<idleURL></idleURL>
<informationURL></informationURL>
<messagesURL></messagesURL>
<servicesURL></servicesURL>
</Default>

Certains autres fichiers sont aussi requis par les postes Cisco. Ils doivent être transférés sur votre serveur tftp dans le répertoire /tftpboot. Vous pouvez utiliser scp pour effectuer le transfert à partir d’un autre système. L’application WinSCP sous Windows ou Fugu sous OSX peut aussi être utilisée afin d’effectuer le transfert. Alternativement, si vous possédez déjà une archive contenant le micro logiciel et les fichiers associés, vous pouvez aussi exécuter les lignes de commandes suivantes afin de les transférer sur le serveur tftp.

cd /tftpboot
wget http://ADRESSE_DU_SERVEUR_SOURCE/P0S3-08-12-00.zip
unzip -j P0S3-08-12-00.zip

Les fichiers en question sont les suivants :

RINGLIST.DAT et les fichiers de sonneries

Les sonneries sont configurables sur les postes 7940/7960 de la famille Cisco. Les fichiers audio contenant les sonneries doivent avoir un taux d’échantillonnage de 8000 Hertz à 8 bits par échantillon, un format de compression ulaw et doivent généralement contenir  entre 240 et 16080 échantillons, soit en temps de 0,03 à 2,01 secondes. Vous pouvez créer vos propres sonneries en utilisant ces spécifications via le très bon logiciel de source libre audacity. Téléchargez Audacity [2] à partir de ce lien [3].

Maintenant, relativement à la localisation des fichiers audio, vous n’avez qu’à créer un sous-répertoire à la racine du serveur tftp et y mettre quelques sonneries. Ouvrez une session « Shell » et exécutez la ligne de commande suivante :

cd /tftpboot
mkdir ciscosonneries

Par la suite, placez vos fichiers de sonneries dans ce répertoire. Si vous n’avez pas de fichier sonnerie, vous pouvez utiliser le lien suivant [4] afin de trouver sur Google ce que vous voulez. Finalement, créez un fichier nommé RINGLIST.DAT que vous placerez sous le répertoire /tftpboot. Ce fichier décrit la liste des sonneries qui seront disponibles sur le poste téléphonique et il doit avoir le format suivant :

Sonnerie 1       /ciscosonneries/ringer1.pcm
Sonnerie 2       /ciscosonneries/ringer2.pcm
Sonnerie 3       /ciscosonneries/rigner3.raw

Le comportement à défaut du téléphone est de débuter à composer un numéro 5 secondes seulement après que vous l’aviez tapé.  Disons que c’est un peu un long comme délais et il est possible d’amorcer la composition dès que certaines règles sont définies.  Ces règles se retrouvent sous forme de modèle dans le fichier dialplan.xml. Voici celui que j’utilise :

<DIALTEMPLATE>
<TEMPLATE MATCH= »10.. » TIMEOUT= »0″/>  <!—Poste interne 1000 a 1099–>
<TEMPLATE MATCH= »40.. » TIMEOUT= »0″/>  <!—Poste interne 4000 a 4099–>
<TEMPLATE MATCH= »60.. » TIMEOUT= »0″/>  <!—Poste interne 6000 a 6099–>
<TEMPLATE MATCH= »1………. » TIMEOUT= »0″/> <!—Appel externe interurbain–>
<TEMPLATE MATCH= »91………. » TIMEOUT= »0″/> <!—Appel externe interurbain Trunk 1–>
<TEMPLATE MATCH= »81………. » TIMEOUT= »0″/> <!—Appel externe interurbain Trunk 2–>
<TEMPLATE MATCH= »9………. » TIMEOUT= »0″/> <!—Appel externe local Trunk 1–>
<TEMPLATE MATCH= »8………. » TIMEOUT= »0″/> <!—Appel externe local Trunk 2–>
<TEMPLATE MATCH= »* » Timeout= »5″/> <!—Tout le reste–>
</DIALTEMPLATE>

Fichier particulier pour chaque poste téléphonique

Nous devons d’abord créer un fichier de configuration qui servira au poste téléphonique lors de l’amorce initiale du poste. Trouvez l’adresse MAC de votre téléphone, soit par la navigation dans les menus d’écran du téléphone, soit en regardant le petit autocollant sous le téléphone, ou soit en regardant les assignations de votre serveur DHCP.  Ensuite, créez un fichier de configuration correspondant à l’adresse MAC de votre téléphone, par exemple, si votre téléphone a l’adresse MAC «0001A8C0FFEE» alors créez le fichier «SIP0001A8C0FFEE.cnf» avec le contenu suivant :

# Cisco SIP Configuration
phone_label: « Cisco 7940 »
line1_name: « 1001 »
line1_shortname: « 1001 »
line1_displayname: « 1001 »
line1_password: « password »
line2_name: « 4001 »
line2_shortname: « 4001 »
line2_displayname: « 4001 »
line2_password: « password »
line3_name: « UNPROVISIONED »
line3_shortname: « UNPROVISIONED »
line3_displayname: « UNPROVISIONED »
line3_password: « UNPROVISIONED »
line4_name: « UNPROVISIONED »
line4_shortname: « UNPROVISIONED »
line4_displayname: « UNPROVISIONED »
line4_password: « UNPROVISIONED »
line5_name: « UNPROVISIONED »
line5_shortname: « UNPROVISIONED »
line5_displayname: « UNPROVISIONED »
line5_password: « UNPROVISIONED »
line6_name: « UNPROVISIONED »
line6_shortname: « UNPROVISIONED »
line6_displayname: « UNPROVISIONED »
line6_password: « UNPROVISIONED »
line1_authname: « 1001 »
line2_authname: « 4001 »
line3_authname: « UNPROVISIONED »
line4_authname: « UNPROVISIONED »
line5_authname: « UNPROVISIONED »
line6_authname: « UNPROVISIONED »

Configuration de l’extension du poste téléphonique sous Asterisk

Pour la configuration du poste téléphonique sous Asterisk, nous utiliserons l’interface graphique d’administration FreePBX. Premièrement, cliquez sur le composant « Extensions », choisir le type de périphérique « Périphérique SIP » et appuyez sur « Soumettre ».

Nous utiliserons une configuration en spécifiant les valeurs de paramètres tels que décrits ci-dessous. Il est à noter que les valeurs non mentionnées doivent être laissées telles quelles.

Extension utilisateur :  1001
Nom affiché (CID) :  Cisco
secret: password
Permit : 192.168.1.0/255.255.255.0
Voicemail & Directory Status : Activé
Voicemail Password:  123456

Appuyez sur « Soumettre ».

Retournez maintenant dans l’interface FreePBX, sur la configuration du poste que vous venez de créer et modifiez les valeurs de paramètres tels que décrits ci-dessous.

nat: no
qualify: no

Appuyez encore une fois sur « Soumettre ».

Créez un autre extension en répétant les 2 étapes précédentes avec les valeurs suivantes :

Extension utilisateur :  4001
Nom affiché (CID) :  CiscoInterphone
Voicemail & Directory Status : Déactivé

Une fois terminé, appuyez sur « Activer nouvelle configuration » située en haut de l’écran (couleur orange) et puis sur « Activer ».

Activer l’interphone sur la deuxième ligne du poste téléphonique

Pressez sur le bouton « configuration » afin d’avoir accès aux menus de paramétrisation du téléphone. Effectuez ensuite les actions suivantes :

(9) Unlock config

Entrez le mot de passe (définit dans /tftpboot/SIPxxxxxxxxxxxx.cnf

(6) Call Preferences

(8) Auto Answer (Intercom)

Line 1 OFF

Line 2 ON

Appuyez sur « Save »

Droits d’accès au répertoire

Finalement, afin de s’assurer que les postes téléphoniques puissent lire les fichiers de configurations, à partir d’une session « Shell », exécutez les lignes de commandes suivantes sur le serveur Asterisk :

cd /tftpboot
chown asterisk:asterisk *
chmod 666 *

ou

chown –hR root:asterisk  /tftpboot
chmod g+w /tftpboot

Références

Configuring Cisco 79xx phones with Asterisk [5]

Cisco 7940/7960 IP Phone (SIP) Configuration [6]

Cisco 7960 IP Phone – SIP firmware version [7]

pixelstats trackingpixel
Comments Disabled (Open | Close)

Comments Disabled To "Configuration d’un poste téléphonique Cisco 7940/7960 sous Asterisk"

#1 Comment By Arsène Richard On 5 juillet 2013 @ 5 h 02 min

bonjour à tous,
je souhaiterais savoir s’il est possible de faire marcher un téléphone cisco sur astérix sachant qu’il a au par-avant fonctionné sur cisco call manager. Comment devrais faire si c’est possible de le faire?

#2 Comment By Sylvain Thérien On 5 juillet 2013 @ 17 h 14 min

Bonjour,

Oui c’est possible, je l’ai fait à plusieurs reprises avec différents modèles. Le plus simple est d’utiliser une version micrologiciel SIP. Si tu as une version Skinny (SCCP), tu devras installer des pilotes SCCP à Asterisk.

Le plus simple pour débuter est d’utiliser le lien suivant (en anglais) : [5]. Si tu cherche les pilotes sccp pour Asterisk, consulte ce lien : [8].

Bon succès !