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 :D

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.

 

Comments: 1

Leave a reply »

 
 

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

Leave a Reply

 
(will not be published)
 
 
Comment