Chinaunix首页 | 论坛 | 博客
  • 博客访问: 251905
  • 博文数量: 29
  • 博客积分: 698
  • 博客等级: 上士
  • 技术积分: 293
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-11 11:14
文章分类

全部博文(29)

文章存档

2013年(2)

2012年(5)

2011年(22)

分类: LINUX

2011-11-14 09:31:58

                                         前言
    公司让我从淘宝上买了4部二手的 CISCO IP PHONE 7940 电话(每部300元)【店主家的宝贝挺好的,先后买了11部 7940和7960G,这是店家的链接】,用来拨打网络电话。但是到货之后发现这几个家伙还没有解锁而且是SCCP的固件,纠结了一阵子。最终google了些英文网站和咨询了一个网友,然后通过一个朋友在CISCO官网上下载了SIP固件后(这玩意得是cisco的金牌代理的账号才能下载)成功完成SCCP固件到SIP固件的转变。在此记录一下,也供大家学习交流。

    首先看下women要做些什么:让电话有自己的IP(DHCP);寻址到资源所在地(SIP固件),将资源更新到自己身上(TFTP)。这就是刷机或者更新固件的工作原理。
    
     先看下我的环境:安装在ubuntu10.04上的asterisk和DHCP服务;架设在windows上的tftpd的tftp服务
是的,我是将DHCP架设在了linux上,将tftp架设在了windows上面(其实我也想将tftp架设在linux上但是时间有点紧,就懒了一下)
    所以大家如果也懒得话,可以将DHCP和TFTP都架设在windows上,当然要借助tftpd32这个强悍实用的小东东。tftpd32是集TFTP,SNTP,DHCP,DNS,和Syslog功能于一身的强悍软件,只要简单配置下就可以起作用。(下载地址和使用方法大家可以google下,现在网上有绿色版本可供下载)
    Okay,那么我们首先在ubuntu上配置下DHCP服务:
安装:#apt-get install dhcp3-server
配置:#vi /etc/dhcp3/dhcpd.conf
      ddns-update-style interim;
      ignore client-updates;
      option voip-tftp-servers code 150 = ip-address; //可以解决“协议错误”的问题
      option voip-tftp-servers 192.168.1.20;         //我的TFTPD服务器的地址是 192.168.1.20
      subnet 192.168.1.0 netmask 255.255.255.0 {    //网段1.0和子网掩码
      option routers                       192.168.1.1;     //路由
      option subnet-mask                   255.255.255.0;  //掩码
      option nis-domain                    "";
      option domain-name                   "";
      option domain-name-servers           192.168.1.1;
      option ntp-servers                   192.168.1.200; 
      option tftp-server-name              "192.168.1.20";
      range  192.168.1.50                  192.168.1.60;   //可获取的IP范围
      default-lease-time                   3600;          //默认地址租期
      max-lease-time                       7200;         //最长地址租期
      }
重启dhcp:#/etc/init.d/dhcp3-server restart
TFTPD32 配置:
      
      
     从上图可知,我们只需将tftp开启,然后指定下SIP固件的位置即可,我的放在F:/cisco/cisco下面。
注意此时要关闭计算机的防火墙。(我排查了很长时间才发现的 = =)

好了,让我们说下怎么配置sip固件吧:
XMLDefault.cnf.xml

 
 
     
         
           
               
                2000  
                 
                   2427  
                   2428  
                 
               
               
           
         
     
   
P0S3-8-12-00  
P0S3-8-12-00 
SIP45.8-4-2S
SIP70.8-0-3S 
 
 
 
 
 
 
 
SIPDefault.cnf

# SIP Default Generic Configuration File 
image_version: P0S3-8-12-00
proxy1_address: "192.168.1.200"
proxy1_port: 5060 
proxy_register: 1 
timer_register_expires: 3600 
preferred_codec: g711ulaw
tos_media: 5
dtmf_inband: 1
dtmf_outofband: avt
dtmf_db_level: 3
timer_t1: 500
timer_t2: 4000
sip_retx: 10
sip_invite_retx: 6
timer_invite_expires: 180
tftp_cfg_dir: ""
sntp_server: ""
sntp_mode: directedbroadcast
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
time_format_24hr: 1
dnd_control: 0
callerid_blocking: 0
anonymous_call_block: 0
dtmf_avt_payload: 101
sync: 1
proxy_backup: "192.168.1.200"
proxy_backup_port: 5060
proxy_emergency: "192.168.1.200"
proxy_emergency_port: 5060
enable_vad: 0
nat_enable: 0                  
nat_address: ""        
voip_control_port: 5060      
start_media_port: 16384
end_media_port: 32766  
nat_received_processing: 0
outbound_proxy: "192.168.1.200"
outbound_proxy_port: 5060       
cnf_join_enable : 1
semi_attended_transfer: 1
telnet_level: 1
services_url: ""
directory_url: ""
logo_url: ""
http_proxy_addr: ""
http_proxy_port: 80
dyn_dns_addr_1: ""              
dyn_dns_addr_2: ""              
dyn_tftp_addr: ""              
remote_party_id: 0
call_hold_ringback: 0
stutter_msg_waiting: 0
call_stats: 0

OS79XX.TXT
P003-8-12-00 

SEPXXXXXXXXXXXX.cnf.xml   //XXXXXXXXXXXX代表电话的类似MAC地址的东东,且一个                                     SEPXXXXXXXXXXXX.cnf.xml对应一个SIPXXXXXXXXXXXX.cnf(有                             几个电话,tftp的目录里面就改有几对这样的文件)
 
 
     
         
           
               
                2000  
                 
                   2427  
                   2428  
                 
               
               
           
         
     
   
P0S3-8-12-00  
P0S3-8-12-00 
SIP45.8-4-2S
SIP70.8-0-3S 
 
 
 
 
 
 


SIPXXXXXXXXXXXX.cnf      //asterisk账户注册信息
line1_name: alan
line1_authname: "alan"
line1_password: "6004"
phone_label: ""
line1_displayname: "alan"
phone_prompt:   "SIP Phone"       
phone_password: "cisco" 
user_info: none 

旁的sip固件就不用做什么配置了,来上张我的tftp目录里的东东吧
好了,以上做好之后。将cisco电话加电后先按住 “#”键,然后依次按下“123456789*0#”之后提示你是否保存网络配置,yes or no(任意),之后就等着刷机注册吧。 ^_^ 如有问题  欢迎留言@!





     

阅读(5947) | 评论(10) | 转发(0) |
0

上一篇:tomcat 安装

下一篇:linux常用基本命令详解

给主人留下些什么吧!~~

admin111111222222020-11-13 13:26:51

lexunix:好啊  我加你Q了

QQ 多少 我也要问下?

回复 | 举报

admin111111222222020-11-13 13:26:44

lexunix:好啊  我加你Q了

QQ 多少 我也要问下?

回复 | 举报

lexunix2012-05-03 14:50:29

xrmolee: 请问一下,7940怎么支持2个账号,不同的OUTBOUND Proxy?.....
你的意思是两个号码?

lexunix2012-02-23 15:17:00

xrmolee: 请问一下,7940怎么支持2个账号,不同的OUTBOUND Proxy?.....
修改下SIPXXXXXXXXXXXX.cnf  这个文件,添加line2账号(
line1_name: alan
line2_name:alex
line1_authname: "alan"
line2_authname: "alex"
line1_password: "6004"
line2_password: "6005"
phone_label: ""       
line1_displayname: "alan"
line2_displayname: "al

xrmolee2012-02-11 20:38:52

请问一下,7940怎么支持2个账号,不同的OUTBOUND Proxy?