El proceso es sencillo, googleando un poco encontre la forma de hacer la migracion, cuando lo entiendes parece facil pero si no sabes nada de estos telefonos si se complica un poco…
Asi que aqui les dejo el procedimiento:
Primero debemos tener el firmware al cual queremos migrar nuestros telefonos…
Yo escogi la version P0S3-08-8-00 porque es la que se tiene aqui en la empresa, aunque ya hay otras mayores…
Software necesario …
– xinetd
Intente hacerlo por inetd pero la verdad se me hizo mucho mas facil por xinetd
– tftp
Lugar donde residira el firware y las configuraciones de los telefonos
– dhcp
Haste la vida mas facil si tienes como yo que migrar 14 telefonos…
Paso No. 1: Instalar
Instalamos xinetd, tftp, dhcp
fvasquez@fvasquez:~$ sudo apt-get install xinetd tftpd dhcp3-server
Paso No. 2: Configurar TFTP
Editamos inetd.conf y borramos el contenido para tftp
fvasquez@fvasquez:~$ sudo nano /etc/inetd.conf
Borramos la linea
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp
Ahora editamos el siguiente archivo (si no existe crealo)
fvasquez@fvasquez:~$ sudo nano /etc/xinetd.d/tftp
Y lo dejamos como se indica
service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
Podemos ver en la clausula server_args estamos definiendo a /tftboot como el area de almacenaje de nuestros archivos:
Asi que debemos crearlo y lo vamos a hacer directamente dependendiente de la raiz de documentos y le damos todos los permisos al directorio:
fvasquez@fvasquez:~$ sudo mkdir /tftpboot
fvasquez@fvasquez:~$ sudo chmod 777 /tftboot -rf
reiniciamos el servicio xinetd.d
fvasquez@fvasquez:~$ sudo /etc/init.d/xinetd restart
probamos que todo este funcionado
fvasquez@fvasquez:~$ sudo netstat -a -p | grep tftp
udp 0 0 *:tftp *:* 2726/xinetd
Paso No. 3: Probando el TFTP
p.e debemos tener en el directorio activo el archivo que queremos subir
fvasquez@fvasquez:~/Imágenes$ ls
bike-blue2.jpg
Para subir bike-blue2.jpg primero debo crear un archivo con el mismo nombre dentro del directorio /tftboot y asignarle permisos, en el siguiente caso lo hare para todo el directorio porque todo lo que este dentro del tftpboot tendra todos los permisos…
fvasquez@fvasquez:~/Imágenes$ touch /tftboot/bike-blue2.jpg
fvasquez@fvasquez:~/Imágenes$ sudo chown root.root /tftpboot -Rf
fvasquez@fvasquez:~/Imágenes$ sudo chmod 777 /tftpboot -Rf
Ahora si a subir el archivo
fvasquez@fvasquez:~/Imágenes$ tftp localhost
tftp> put bike-blue2.jpg
Sent 258863 bytes in 0.0 seconds
tftp> quit
Descargar el archivo en otro directorio
fvasquez@fvasquez:~/Imágenes$ cd ..
fvasquez@fvasquez:~$ tftp localhost
tftp> get bike-blue2.jpg
Received 258863 bytes in 0.1 seconds
tftp> quit
Paso No. 3: Creando configuracion para DHCP
Todo esta funcionando ahora vamos con el DHCP, asumiendo que tenemos una ip clase 192.168.1.x
Editamos el siguiente archivo:
fvasquez@fvasquez:/$ sudo nano /etc/dhcp3/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option nis-domain “myasterisk.local”;
option domain-name “myasterisk.local”;
option domain-name-servers 192.168.1.1;
option time-offset -18000; # Eastern Standard Time
option ntp-servers 192.168.0.250;
option tftp-server-name “192.168.0.250”;
range dynamic-bootp 192.168.1.128 192.168.1.254;
default-lease-time 43200;
max-lease-time 86400;
}
Listo ahora solo prendemos el dhcp
fvasquez@fvasquez:/$ sudo /etc/init.d/dhcp3-server start
Paso No. 4: Subiendo firmware al TFTP
IMPORTANTE:
Dentro de la documentacion de cisco indica que para migrar un telefono 7940 con protocolo SCCP a SIP debemos hacer alguna de las siguientes dos cosas migrarlo a una version vieja de SIP p.e P0S3-06-3-00 y de ahi subirlo la version 7 u 8 o en su defecto actualizarlo a una version superior de SCCP y despues pasarlo a SIP 7 u 8, yo elegi la primera opcion asi que a buscar la version P0S3-06-3-00
Subimos al tftp la version P0S3-06-3-00 segun como indica la documentacion….
fvasquez@fvasquez:~$ cp P0S3-06-3-00.zip /tftpboot/
fvasquez@fvasquez:~$ cd /tftpboot/
Descomprimimos el archivo
fvasquez@fvasquez:/tftpboot$ unzip P0S3-06-3-00.zip
Archive: P0S3-06-3-00.zip
inflating: P0S3-06-3-00.sbn
inflating: P0S3-06-3-00.bin
Asignamos todo a root con propiedad 777
fvasquez@fvasquez:/tftpboot$ sudo chmod 777 * -Rf
fvasquez@fvasquez:/tftpboot$ sudo chown root.root * -Rf
Revisamos el tftboot
fvasquez@fvasquez:/tftpboot$ ls -al
total 1800
drwxrwxrwx 2 root root 75 2009-04-14 11:08 .
drwxr-xr-x 22 root root 4096 2009-04-14 08:57 ..
-rwxrwxrwx 1 root root 486794 2004-03-08 16:11 P0S3-06-3-00.bin
-rwxrwxrwx 1 root root 487198 2004-03-08 16:11 P0S3-06-3-00.sbn
-rwxrwxrwx 1 root root 860626 2009-04-14 11:07 P0S3-06-3-00.zip
Paso No. 5: Configurando archivos extras el TFTP
Ya tenemos la version del firmware pero aun nos faltan archivos en nuestro tftp, la documentacion dice que debemos tener los siguientes
OS79XX.TXT
SIPDefault.cnf
xmlDefault.CNF.XML
XMLDefault.cnf.xml
y tambien un SIPmac.cnf pero ese para la migracion no lo vamos a crear…
Aqui les dejo la conf de cada uno de estos archivos….
OS79XX.TXT
P0S3-06-3-00
SIPDefault.cnf
# Image Version
image_version: “P0S3-06-3-00”
# Proxy Server
# Note: I put the proxy server information in the individual conf files
# for each machine, since each box has different configs. You could, of course,
# put all of them here in the Default file…
proxy1_address: “192.168.1.254”
proxy2_address: “”
proxy3_address: “”
proxy4_address: “”
proxy5_address: “”
proxy6_address: “”
# Proxy Server Port (default – 5061)
proxy1_port:”5060″
proxy2_port:”5060″
proxy3_port:”5060″
proxy4_port:”5060″
proxy5_port:”5060″
proxy6_port:”5060″
# 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: “”
# 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: “120”
# 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: “1” ; 0-Disabled (default), 1-Enabled, 2-Privileged
# Inband DTMF Settings (0-disable, 1-enable (default))
dtmf_inband: “0”
# 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 UOne box
messages_uri: “2500”
#********* Release 2 new config parameters **********
# TFTP Phone Specific Configuration File Directory
tftp_cfg_dir: “./”
# Time Server
sntp_mode: “directedbroadcast”
sntp_server: “192.168.1.254”
time_zone: “PST”
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”
xmlDefault.CNF.XML
# Do Not Disturb Control (0-off, 1-on, 2-off with no user control, 3-on with no
user 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-enabl
ed no user control)
callerid_blocking: “0” ; Default 0 (Disable sending all calls as anon
ymous)
# 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 cal
ls)
# Call Waiting (0-disabled, 1-enabled, 2-disabled with no user control, 3-enable
d 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: “1”
####### New Parameters added in Release 4.0 #######
# XML URLs
#services_url: “http://192.168.1.254/menu.pl” ; URL for external Phone Services
#services_url: “http://192.168.1.254/cgi-bin/cisco7960/menu.xml” ; test
url
#directory_url:
“http://192.168.1.254/voip_xml_utils/index.cfm?fuseaction=dspEmployeeMenu”
# URL for external Directory location
logo_url: “http://192.168.1.254/milogo.bmp”
# ; URL for branding logo to be used on phone display
# put your own logo in the logo_url location; I include the 10-20.com one for re
ference in building your own
# HTTP Proxy Support
http_proxy_addr: “” ; Address of HTTP Proxy server
http_proxy_port: 80 ; Port of HTTP Proxy Server (80-default)
# Dynamic DNS/TFTP Support
dyn_dns_addr_1: “” ; restricted to dotted IP
dyn_dns_addr_2: “” ; restricted to dotted IP
dyn_tftp_addr: “192.168.1.254” ; restricted to dotted IP
# The dynamic tftp server should be set to whatever your TFTP server is. This w
ay, it
# keeps the tftp server setting even though you might be using DHCP (default beh
avior
# is to use the DHCP server as a tftp server, which is rarely correct.)
# Remote Party ID
remote_party_id: 1 ; 0-Disabled (default), 1-Enabled
xmlDefault.CNF.XML
<Default>
<callManagerGroup>
<members>
<member priority=”0″>
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
</ports>
<processNodeName>192.168.77.4</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
<loadInformation6 model=”IP Phone 7910″></loadInformation6>
<loadInformation124 model”Addon 7914″></loadInformation124>
<loadInformation9 model=”IP Phone 7935″></loadInformation9>
<loadInformation8 model=”IP Phone 7940″>P003-06-3-00</loadInformation8>
<loadInformation7 model=”IP Phone 7960″>P003-08-8-00</loadInformation7>
<loadInformation20000 model=”IP Phone 7905″></loadInformation20000>
<loadInformation30008 model=”IP Phone 7902″></loadInformation30008>
<loadInformation30007 model=”IP Phone 7912″></loadInformation30007>
</Default>
XMLDefault.cnf.xml
<Default>
<callManagerGroup>
<members>
<member priority=”0″>
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
</ports>
<processNodeName>192.168.77.4</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
<loadInformation6 model=”IP Phone 7910″></loadInformation6>
<loadInformation124 model”Addon 7914″></loadInformation124>
<loadInformation9 model=”IP Phone 7935″></loadInformation9>
<loadInformation8 model=”IP Phone 7940″>P003-06-3-00</loadInformation8>
<loadInformation7 model=”IP Phone 7960″>P003-08-8-00</loadInformation7>
<loadInformation20000 model=”IP Phone 7905″></loadInformation20000>
<loadInformation30008 model=”IP Phone 7902″></loadInformation30008>
<loadInformation30007 model=”IP Phone 7912″></loadInformation30007>
</Default>
una vez creados estos archivos nuestro directorio lucira asi
fvasquez@fvasquez:/tftpboot$ ls -al
total 1824
drwxrwxrwx 2 root root 4096 2009-04-14 11:25 .
drwxr-xr-x 22 root root 4096 2009-04-14 08:57 ..
-rwxrwxrwx 1 root root 13 2009-04-14 11:23 OS79XX.TXT
-rwxrwxrwx 1 root root 486794 2004-03-08 16:11 P0S3-06-3-00.bin
-rwxrwxrwx 1 root root 487198 2004-03-08 16:11 P0S3-06-3-00.sbn
-rwxrwxrwx 1 root root 860626 2009-04-14 11:07 P0S3-06-3-00.zip
-rwxrwxrwx 1 root root 5290 2009-04-14 11:24 SIPDefault.cnf
-rwxrwxrwx 1 root root 957 2009-04-14 11:25 xmlDefault.CNF.XML
-rwxrwxrwx 1 root root 958 2009-04-14 11:25 XMLDefault.cnf.xml
Paso No. 6: DETALLES
Para indicar que se va a migrar a la version P0S3-06-3-00 se configuran los siguientes puntos….
En OS79XX.TXT
P0S3-06-3-00
En SIPDefault.cnf
image_version: “P0S3-06-3-00”
en xmlDefault.CNF.XML
<loadInformation8 model="IP Phone 7940">P003-06-3-00</loadInformation8>
XMLDefault.cnf.xml
<loadInformation8 model="IP Phone 7940">P003-06-3-00</loadInformation8>
Ahora si a conectar los telefonos a la computadora y a migrar de SCCP a SIP P0S3-06-3-00
Paso No. 7: Monitoreando la actualizacion
podemos ir viendo lo que sucede con un
fvasquez@fvasquez:~$ tail -f /var/log/messages
Paso No. 8: Actualizando a la version P0S3-08-8-00
Listo ya tenemos los telefonos en la version P0S3-06-3-00 ahora necesitamos pasarlos a la version P0S3-08-8-00
Teniendo el firware mas nuevo P0S3-08-8-00 debemos hacer lo mismo que en el paso ‘Paso No. 4: Subiendo firware al TFTP’ y hacer las siguentes
modificaciones
En OS79XX.TXT
P003-08-8-00
En SIPDefault.cnf
image_version: “P0S3-08-8-00”
En xmlDefault.CNF.XML
<loadInformation8 model="IP Phone 7940">P003-08-8-00</loadInformation8>
En XMLDefault.cnf.xml
<loadInformation8 model="IP Phone 7940">P003-08-8-00</loadInformation8>
Conectar nuevamente telefonos a la computadora e ir monitoreando los sucesos…..
fvasquez@fvasquez:~$ tail -f /var/log/messages
Esto es todo para hacer la migracion unicamente…. aun falta la provision para cada telefono en el asterisk y y crear el archivo SIPmac.cnf pero ese es cuestion de otro manual…
Atte Faustino Vasquez Limon