Asterisk conntected with 7962G

之前比较偷懒,通过sip trunk连接CUCM和Asterisk,实现了7962G->CUCM->Asterisk->Xlite这样一个方案. 现在直接配置7962G和Asterisk进行连接,遇到了各种各样怪异的问题,才发现这实在是不容易.写个步骤下来,不然自己都怕忘记.
Step 1 下载7962G SIP Firmware Image
如果你有CCO帐号,可以直接访问http://www.cisco.com/cgi-bin/tablebuild.pl/ip-7900ser,获取相应的Image文件,注意后缀名是cop.
cop文件其实是一个tar压缩文件,修改后缀名以后可以打开了.注意其中有一个xxxxx.loads的文件.xxxxxx代表的就是当前Firmware Image的版本号.
Step 2 下载配置文件
我已经把配置文件模板放在了我的网站上,可以通过configs下载,其中包含三个文件.

  • XMLDefault.cnf.xml:默认配置文件,其中是各个型号Phone的默认版本号.
  • dialplan.xml:顾名思义,dialplan配置文件.默认情况下不需要配置.
  • SEPXXXX.cnf.xml:Phone的配置文件,

Step 3 配置XMLDefault.cnf.xml
打开XMLDefault.cnf.xml,添加下面的语句

<loadInformation5 model="Cisco 7962">SIP42.9-0-2S</loadInformation5>

标签中的内容就是之前Firmware Image的版本号.

Step 4 添加sip帐号
如果是Trixbox应该可以自动在界面添加,我用的是纯Asterisk(-,-),修改sip.conf

[555]
type=friend
secret=555
callerid="555"
host=100.100.3.85
nat=no
qualify=yes
canreinvite=no ; Typically set to NO if behind NAT
disallow=all
allow=gsm ; GSM consumes far less bandwidth than G711-u (ulaw)
allow=ulaw
allow=alaw
context=cloud

Step 5 配置SEPXXXX.cnf.xml
这是最主要的配置部分,具体的reference可以参考
http://www.voip-info.org/wiki/index.php?page_id=3242
首先要把该文件名中的XXXX用Phone的Mac地址替换,例如修改成SEP001B2C24CC.cnf.xml.
然后打开该文件,有几个地方需要修改.

  • ipAddr1:修改成Asterisk的IP
  • sipIpAddr1:修改成Asterisk的IP
  • backupProxy:修改成Asterisk的IP
  • emergencyProxy:修改成Asterisk的IP
  • outboundProxy:修改成Asterisk的IP
  • line::proxy:修改成Asterisk的IP
  • line::featureLabel:sip帐号的显示名称
  • line::authName:sip帐号的用户名
  • line::authPassword:sip帐号的secret
  • loadInformation:Firmware Image的版本号

另外每个line都代表了一个号码,可以按照需要自己添加或者删除.
Step 5 搭建TFTP Server
我用的是Ubuntu的tftpd,简单方便,这里就不多说了.
把cop文件解药后的所有文件以及三个配置文件都放到tftp的folder下.
Step 6 运行起来
最后要做的就是让Phone通过tftp下载这些Firmware Image, Configuration File.
可以用的方法主要有两种:
1)修改DHCP,在dhcpd.conf中添加如下语句

option tftp-server-addr 100.100.3.70;

2)通过Phone->Settings->Network Configuration->IPv4 Configuration,按”**#”解除锁.修改”Alternative TFTP”设置成”Yes”,修改”TFTP Server”成你TFTP Server的IP地址.

怎么样,试试看?让你的Cisco TNP Phones连接Asterisk吧.同样的办法我也把7975G连上了,打电话肯定没问题,ohyeah.

F&Q:
Q1:Phone在Registering这步就走不下去了怎么办?
A1:在sip.conf中配置”nat=never”,把SEPXXX.cnf.xml中sipProxies中各个标签的内容都设置成空,应该就没问题了.
Q2:Unable to create channel of type ‘SIP’ (cause 20 – Unknown) ?
A2:可能的问题是你把sipProxies中内容全部删除了,其实是标签留着,内容删除.或者在sip.conf中将host设置成静态IP也可以.
Q3:有噪音怎么办?
Q3:我解决的办法是删除sip.conf中”dtmfmode=rfc2833″.

参考链接:http://www.asterisktutorials.com/cisco-7970-ip-phone/
参考链接:http://www.greenwireit.com/blog/2008/12/a-guide-a-faq-how-to-unbrick-the-cisco-7970g/

 

无觅相关文章插件,快速提升流量