Cisco IP Phone 7940 con Asterisk
Nuova aquisizione in casa: due splendenti telefoni voip cisco 7940 che andranno ad aumentare il mio desiderio di voip domestico integrato
Appena arrivati, la domanda è stata ovvia: come farli andare? Un rapido giro al sito cisco, seguito da uno su google e sono riuscito ad arrivare ad una soluzione.
Fase 1: Firmware
I telefoni Cisco 7940 possono operare in due modalità: SCCP (o Skinny protocol) nel caso figli di CUCM o SIP nel caso di altri centralini. Innanzitutto bisogna prendere il Firmware adeguato per il telefono (serve l’abbonamento Cisco Smart Net o simili).
L’archivio comprenderà: (solo i files per noi vitali)
- P0S3-8-12-00.loads
- P0S3-8-12-00.sb2
- P003-8-12-00.bin
- P003-8-12-00.sbn
- OS79XX.TXT
Nel mio caso, ho dovuto usare il firmware P0S, ossia quello per il protocollo SIP (P00 è Skinny).
Fase 2: Server DHCP
Questa fase è piuttosto semplice, dato che già utilizzo ISC Dhcpd per l’autoconfigurazione di tutto quello che posso attaccare alla mia rete. Nel caso specifico, bisogna aggiungere le voci necessarie a far riconoscere ai telefoni l’indirizzo del server TFTP da usare per il provisioning di firmware e configurazione (nel mio caso, 10.0.1.1).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | option option-150 code 150 = ip-address; subnet 10.0.1.0 netmask 255.255.255.0 { option ntp-servers time.ien.it; option subnet-mask 255.255.255.0; option routers 10.0.1.1; option broadcast-address 10.0.1.255; option domain-name-servers 10.0.1.1; option ip-forwarding off; default-lease-time 86400; max-lease-time 86400; deny unknown-clients; next-server 10.0.1.1; range dynamic-bootp 10.0.1.1 10.0.1.254; host phone01 { hardware ethernet 00:AA:AA:AA:AA:AA; fixed-address 10.0.1.2; } host phone02 { hardware ethernet 00:AA:AA:AA:AA:AA; fixed-address 10.0.1.3; } host phone03 { hardware ethernet 00:AA:AA:AA:AA:AA; fixed-address 10.0.1.4; } host cisco7940-1 { hardware ethernet 00:AA:AA:AA:AA:AA; fixed-address 10.0.1.5; } host cisco7940-2 { hardware ethernet 00:AA:AA:AA:AA:AA; fixed-address 10.0.1.6; } } |
Fase 3: Server TFTP
Anche in questo caso, mi è andata piuttosto bene, dato che già me lo trovo pronto e configurato per il backup della mia roba cisco. Nella fattispecie, ho configurato tftpd-hpa per esporre /var/tftpboot.
Qualunque sia la directory esposta, dovremmo copiarvi all’interno i files estratti dall’archivio del firmware e dovremmo aggiungervi anche i files di provisioning della configurazione:
- SIPDefault.cnf (configurazione di default per i telefoni non specificati)
- SIPMACADDRESS.cnf (per ogni telefono da configurare, sostituendo MACADDRESS con il mac del proprio telefono, senza separatore)
Il contenuto di SIPDefault.cnf (case sensitive, su linux…) è il seguente
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | image_version: P0S3-8-12-00 proxy1_address: "10.0.1.1" ; Can be dotted IP or FQDN proxy2_address: "" ; Can be dotted IP or FQDN proxy3_address: "" ; Can be dotted IP or FQDN proxy4_address: "" ; Can be dotted IP or FQDN proxy5_address: "" ; Can be dotted IP or FQDN proxy6_address: "" ; Can be dotted IP or FQDN proxy_register: 1 messages_uri: "1" phone_password: "cisco" ; Limited to 31 characters (Default - cisco) sntp_mode: unicast sntp_server: "time.ien.it" time_zone: "GMT" ; assuming you're in GMT time_format_24hr: 1 ; to show the time in 24hour format date_format: "Y/M/D" ; format you would like the date in dial_template: dialplan |
In generale, qui basta modificare l’indirizzo dei vari proxy utilizzabili.
Contenuto di SIPMACADDRESS.cnf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | # SIP Configuration Generic File (start) # Proxy Server proxy1_address: "10.0.1.1" proxy2_address: "10.0.1.1" proxy3_address: "10.0.0.129" proxy4_address: "10.0.0.1" proxy5_address: "10.0.0.1" proxy6_address: "10.0.0.1" # Line 1 Settings line1_name: "1007" ; Line 1 Extension\User ID line1_displayname: "1007" ; Line 1 Display Name line1_authname: "1007" ; Line 1 Registration Authentication line1_password: "password" ; Line 1 Registration Password # Line 2 Settings line2_name: "1008" ; Line 2 Extension\User ID line2_displayname: "1008" ; Line 2 Display Name line2_authname: "1008" ; Line 2 Registration Authentication line2_password: "password" ; Line 2 Registration Password # Emergency Proxy info proxy_emergency: "" proxy_emergency_port: "5060" # Backup Proxy info proxy_backup: "" proxy_backup_port: "5060" # Outbound Proxy info outbound_proxy: "" outbound_proxy_port: "5060" # NAT/Firewall Traversal nat_enable: "1" nat_address: "" voip_control_port: "5060" start_media_port: "16384" end_media_port: "32766" nat_received_processing: "1" # Phone Label (Text desired to be displayed in upper right corner) phone_label: "Ash-terisk 2" ; Has no effect on SIP messaging #preferred_codec: "g711alaw" # Time Zone phone will reside in time_zone: "GMT" # Telnet Level (enable or disable the ability to telnet into this phone telnet_level: "1" ; 0-Disabled (default), 1-Enabled, 2-Privileged # Phone prompt/password for telnet/console session phone_prompt: "Go Away" ; Telnet/Console Prompt phone_password: "baco" ; Telnet/Console Password # Enable_VAD (1-enabled, 0-disabled) enable_vad: "0" # Network Media Type (auto, full100, full10, half100, half10) network_media_type: "auto" user_info: phone # URL for external Directory location logo_url: "http://10.0.1.1/asterisk-tux.bmp" ; URL for branding logo to be used on phone display # SIP Configuration Generic File (stop) |
Questo conterrà attualmente TUTTA la reale configurazione offerta ai telefoni ed andrà modificata in accordo a quella che è la nostra configurazione su asterisk.



hehehe grazie infinite!!!
[...]dopo questa… posso uscire sereno[...]