资源描述
文档编号:
NMS板卡安装与配置手册
日期:2007-11-29
文档修改记录
版本
日期
修改页
作者
批准人
备注
2007-11-20发布
目录索引
1 介绍 5
2 软件安装 5
3 板卡基本配置 5
3.1 板卡配置——ISDN环境: 6
3.1.1 板卡配置第一步 6
3.1.2 配置板卡的第二步 6
3.1.3 板卡配置第三步 8
3.2 板卡配置——SIP环境 14
3.2.1 安装SIP驱动程序 14
3.2.2 申请SIP sip demo license 14
3.2.3 启动SIP Server 14
3.2.4 板卡中SIP配置 15
3.2.5 压力测试中配置SIP需注意的问题 18
4 会议配置 18
4.1.1 配置会议第一步 18
4.1.2 配置会议第二步 21
4.1.3 测试会议是否配置成功 22
5 传真配置 23
6 启动板卡 24
7 板卡启不来的解决方法 25
8 测试板卡 27
9 跟踪板卡信息 28
1 介绍
NMS通信公司是美国的一家从事语音通信领域研究的上市公司。NMS通信公司有各种语音板卡,其中AG系列和CG系列板卡是我们最常用的。AG4000C已经停产,它的升级产品是AG4040C,停产的原因是给NMS公司生产某些芯片的公司部再生产那些芯片了,推出了新的芯片升级产品,所以以后要想用AG卡,一般就只能找到AG4040C了。
我们最常用的CG卡有CG6500C和CG6000。CG6500C最后的C代表是CPCI插槽,没有C的CG6000指的是PCI插槽,此规律对AG卡同样生效,AG4000C是CPCI插槽的板卡,AG4000是PCI插槽的板卡。
AG系列的板卡的密度低,AG4000最多支持 四个E1,AG卡的DSP的资源少,最多不超过40个(我们常用的是8个或16个DSP)。CG系列的板卡密度高,CG6500最多支持32个E1,最多有96个DSP资源(我们常用的是64个DSP和96个DSP)。CG6000的密度低,最多有四个E1,我们常用的是16个DSP。
本文主要讲述CG系列板卡,并以CG6500为主来介绍其安装与配置,同时把CG6565配置中与6500的不同之处,都加以介绍,因此此文档同时适合CG6565卡的配置。
2 软件安装
2.1 安装NMS板卡驱动
VoiceCenter 1.0的安装包中包含了板卡驱动的安装。在装语音网关时,会出现如下界面:
选择“是”,出现
点击执行下一步,出现:
点击下一步,出现如下界面,点击“Select All”:
点击下一步,出现如下,并选择China.
点击“NEXT”,出现:
在这儿可以选择安装路径,不过,一般最好按默认路径装。一直点击下一步,出现:
选择第一个,即让系统检查环境。点击下一步,下面会进行文件拷贝等安装过程。在遇到下面提示时,即提示你是否安装Hot Swap 热插拔,一定要选择“否”。目前NMS卡对我们项目选用的工控机的热插拔支持的不是很好。
出现是否安装CoolEdit的提示,选择否。
安装完毕后,选择重新启动计算机。
如果有补丁包,当然也可以不用重启,把补丁包打完重启也可以。
如有Patch包的补丁只需要解压后放到NMS\bin\下即可。
安装完毕后,选择重新启动计算机。
如果有补丁包,当然也可以不用重启,把补丁包打完重启也可以。
如有Patch包的补丁只需要解压后放到NMS\bin\下即可。
2.2 安装SIP驱动
(1)SIP驱动程序选择1.1版本,双击该安装程序。
选择下一步,选择接受协议,出现:
在这儿可以选择安装路径,不过,建议按默认路径来装。
选择曲型安装,下一步。开始复制文件,安装成功。如下。
至此,SIP的驱动程序安装完毕,接下来的工作是加载SIP的license,启动SIP服务等,具体见下面的板置配置中SIP环境部分。
3 板卡基本配置
板卡的配置需要配置以下几个文件:
Ø NMS\CTAccess\cfg\cta.cfg 该文件可以修改NMS卡的运行参数,例如应答时间,信令差异等等。一般不会变动,除非项目的上端局和项目本身有特殊的要求。
Ø NMS\OAM\cfg\oamsys.cfg 该文件用来定位板卡,一般也是第一步需要需要配置的文件。
Ø NMS板卡的key文件,即在oamsys.cfg中指定的板卡加载的资源文件,CG的key文件在NMS\cg\cfg目录中。
Ø NMS\CTAccess\CFG\cnf.cfg 板卡使用会议资源的时候指定dsp会议资源。
Ø 另外,若加ASR功能,则需要在资源池中加入回声消除,即加入echo_v3.ln20_apt100。另外注意:echo.ln20_apt25在CG6565的板卡中不再支持,它只在CG6500的板卡中支持,而echo_v3.ln20_apt100在CG6565中是支持的。
Ø 如果接7号信令,则只需将资源池中的TCPs设置为nocc即可。
3.1 板卡配置——ISDN环境:
3.1.1 板卡配置第一步
板卡的驱动安装完毕,板卡正确插上(注意前后板都要插,且要对应)以后,先打开DOS窗口,执行pciscan,查找板卡,一般而言,该命令都可以正确执行。会看到如下信息:
C:\Documents and Settings\Administrator>pciscan
NMS PCI Boards Scanner
Bus Slot NMS ID
--- ---- ------
2 13 0x6500 CG_6500C_16
--- ---- ------
There were 1 NMS PCI board(s) detected
注意:当看到 2 13 0x6500 CG_6500C_16,说明找到板卡了,如果不是CG_6500C_16而是CG_6500C是不正确的,说明没有正确识别板卡,你可以把前后板都换个插槽试试,一般换几次插槽基本都能正确识别到板卡,如果换插槽还是不管用就重装板卡驱动。
从以上的命令执行结果可看到一些板卡的信息:
Bus 板卡所在的bus(总线)号
Slot 检测到的板卡插槽的位置
ID 板卡型号
这些信息在接下来的第二步中将要用来配置oamsys.cfg文件。
3.1.2 配置板卡的第二步
根据第一步执行的命令pciscan显示出的板卡信息,修改配置文件:oamsys.cfg,存放于NMS\oam\cfg目录中。
打开oamsys.cfg文件,看到有用的(没有被注释掉的)很少,从第一步显示板卡信息的命令中,可以获得Bus,Slot及ID,ID对应oamsys.cfg文件中的Product配置项。于是可以这样来配置:
[Name0]
Product = CG_6500C_16
Number = 0
Bus = 2
Slot = 13
File = cg6500.cfg
[Name0] 标识一个配置块的名字,一般一块板卡有一个配置块
Product = CG_6500C_16 填上板卡的型号,在pciscan里可以看到
Number = 0 指第一块板卡
Bus = 2 板卡所在的bus(总线)号
Slot = 13检测到的板卡插槽的位置
File = cg6500.cfg 指定一个配置文件,在这个配置文件中详细的规定了板卡配成什么协议,DSP资源怎么分等事项。这个名字可以随意定义,只要在NMS\CG\CFG\下有这个配好的文件就行,具体内容需要根据项目的平台需求来配置。在nms的环境中,这个配置文件是对板卡硬件进行配置内容进行加载的key文件。
如果有两块卡,在oamsys.cfg中,第二块板卡可以这样配置
[Name1]
Product = CG_6500C_16
Number = 1
Bus = 2
Slot = 14
File = cg6500_2.cfg
当然Bus和Slot以及Product要和pciscan得到的信息一致。
相当于每块板卡有一个自己的配置文件。那么一块是主板卡,另一块是从板卡。
这样oamsys.cfg就配完了。下面就可以配置在oamsys.cfg 中指定的配置文件了。
3.1.3 板卡配置第三步
配置在oamsys.cfg 中指定的配置文件。
这个配置文件对初学者稍微有点麻烦,建议没有经验的同事可以找配置好的模板来做稍微的改动就能用。
下面是一个ISDN环境下配置好的CG6500C板卡文件,通过它来分别讲述每个参数的意思。蓝色字体表示要经常改动的。另外,#号后面表示是注释掉的,不需要去配置,下面这个配置文件已经包含了经常需要用到的功能。后面会有详细的注释说明。
#
# c65isdn.cfg
# CG 6500C configuration file
#
# This file configures the board to run ISDN on T1 (8 trunks - 120 ports).
# E1 configuration is commented out by default
#
Clocking.HBus.ClockMode = MASTER_A
Clocking.HBus.ClockSource = NETWORK
Clocking.HBus.ClockSourceNetwork = 1
#*******************************************************************************************
# NOTE: E1 configuration is commented out. If you want E configuration, uncomment below,
# and comment out OR remove T1 configuration
#
# NOTE: Adjust idle code and TCP Files for the country you are using accordingly
#*******************************************************************************************
#*******************************************************************************************
# E1 configuration (! commented out by default)
#*******************************************************************************************
DSPStream.VoiceIdleCode[0..15] = 0xD5
DSPStream.SignalIdleCode[0..15] = 0x0D
Hdlc[0..15].Boot = YES
Hdlc[0..15].Hardware.TxTimeSlot = 16
Hdlc[0..15].Hardware.RxTimeSlot = 16
NetworkInterface.T1E1[0..15].Type = E1
NetworkInterface.T1E1[0..15].Impedance = G703_120_OHM
NetworkInterface.T1E1[0..15].LineCode = HDB3
NetworkInterface.T1E1[0..15].FrameType = CEPT
NetworkInterface.T1E1[0..15].SignalingType = PRI
NetworkInterface.T1E1[0..15].D_Channel = ISDN
NetworkInterface.T1E1[0..15].CRCMFMode = C44OFF
DSP.C5x[0..63].Libs[0] = cg6kliba
DSP.C5x[0..63].XLaw = A_LAW
DSP.C5x[0..1].Files = 8tsignal
#*******************************************************************************************
# Resource management
#*******************************************************************************************
Resource[0].Name = RSC1
Resource[0].Size = 240
Resource[0].TCPs = isd0
Resource[0].StartTimeslot = 0
#*******************************************************************************************
# Before modifying this resource definition string refer to the CG6500C
# Installation and Developers Manual.
#*******************************************************************************************
Resource[0].Definitions = ( dtmf.det_all & echo_v3.ln20_apt100 & tone.gen & \
( (rvoice.rec_mulaw & rvoice.play_mulaw) | \
(rvoice.rec_alaw & rvoice.play_alaw) | \
(oki.rec_24 & oki.play_24_100 ) | \
(oki.rec_32 & oki.play_32_100 ) \
) )
Resource[0].DSPs = 2 3 8 9 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
#*******************************************************************************************
# NOTE: DLMs to download
#*******************************************************************************************
DLMFiles[0] = cg6500run
DLMFiles[1] = c65igen
# DLMFiles[1] = c65dpnss
#*******************************************************************************************
# NOTE: Uncomment below if using IMGT service
#*******************************************************************************************
# DLMFiles[2] = c65imgt
DebugMask = 0x0
Clocking.HBus.ClockMode = MASTER_A:常用的ClockMode有 STANDALONE 和 MASTER_A ,如果只有一块板卡,此处配成 STANDALONE ;如果有两块板卡,那么一块是主板卡,另一块是从板卡,如果是主板卡的配置文件配成:MASTER_A,如果是从板卡的配置文件配成:SLAVE,很显然这个配置文件是两块板卡的主卡配置文件。
Clocking.HBus.ClockSource = NETWORK:此处建议使用:NETWORK,表示从网络上取时钟(上端交换机),如果是一块卡或两块卡的主卡可以使用NETWORK,从卡使用:A_CLOCK(指定使用CT_C8_A和CT_Frame_A时钟信号作为板卡的首要时钟参考),如果是一块卡此处也可以设成:OSC,使用板上的振荡器来驱动E1线传输时钟
Clocking.HBus.ClockSourceNetwork = 1:在指定Clocking.HBus.ClockSource的值为NETWORK的时候该值有效。可选的值为1、2、3、4,一般配置为1。
DSPStream.VoiceIdleCode[0..15] = 0xD5:在指定的DSP语音流上给时间片设置语音空闲代码 ,所有的中继必须配置成一样的DSPStream.VoiceIdleCode,可以看到,0..15表示所有的16个E1 ,值0xD5不用变。
DSPStream.SignalIdleCode[0..15]= 0x0D: 在DSP信令流上给时间片设置空闲码
,所有的中继必须配置成一样的DSPStream.SignalIdleCode,把所有中继都配上, 值0x0D不用改变。
Hdlc[0..15].Boot = YES:允许或者不允许高级数据链路控制(HDLC)通道和特定中继关联,此处值为yes,不用变
Hdlc[0..15].Hardware.TxTimeSlot = 16:指定特定中继(E1)HDLC通道TDM时间片,值16不用改变。
Hdlc[0..15].Hardware.RxTimeSlot = 16:指定接收特定中继(E1)HDLC通道TDM时间片,值16不用改变。
NetworkInterface.T1E1[0..15].Type = E1:指定板卡上每个中继的类型,需要说明一点,一般用到的都是E1,所以只关注E1这组配置,至于下面的T1那组不用去关注。
NetworkInterface.T1E1[0..15].Impedance = G703_120_OHM:指定连接CG6500和电话网的线缆类型,值G703_120_OHM不用改变,即使你连接的是75殴的E1,不平衡变压器会把75欧姆转成120欧姆。
NetworkInterface.T1E1[0..15].LineCode = HDB3:是基带电信设备之间进行基带传输的编码,HDB3码(三阶高密度双极性码),值HDB3不用改变。
NetworkInterface.T1E1[0..15].FrameType = CEPT:定义当前板卡的E1中继结构形式,值CEPT不用改变。
NetworkInterface.T1E1[0..15].SignalingType = PRI:定义语音和信令信息从E1和DSP资源怎样被发送出去。值PRI不用改变。
NetworkInterface.T1E1[0..15].D_Channel = ISDN:指定中继是有D通道以便ISDN跑在上面,值ISDN不用改变。
NetworkInterface.T1E1[0..15].CRCMFMode = C44OFF:指定板卡是否需要执行CRC信号校验,值C44OFF不用改变。
DSP.C5x[0..63].Libs[0] = cg6kliba:指定DSP的库文件名字,这些库文件定义了A律或u律转换。值cg6kliba不用改变。其中0..63表示总共有64个DSP资源。若有sip,则需要加 f_shared。并且必须将Libs后面的中括号去掉,即改为:DSP.C5x[0..63].Libs= cg6kliba f_shared
DSP.C5x[0..63].XLaw = A_LAW:定义DSP硬件压缩模式,我们都用A_LAW,值A_LAW不用改变。
DSP.C5x[0..1].Fi les = 8tsignal:指定被装载到CG卡上的DSP用来满足应用的数字信号
处理功能模式,0..1表示拿出两个DSP实现这个功能,在CG6500上用8tsignal,在CG6000上用qtsignal,且只用一个DSP即可,象这样:DSP.C5x[0].Files = qtsignal
下面使用一个资源池,目的是定义多少个DSP资源用来做什么:
Resource[0]中的0表示第一个资源池;
Resource[0].Name = RSC1:是资源池的名字,可以随便定义,只要不重复;
Resource[0].Size =240: 指定在此DSP资源池中支持多少个通道或端口。具体能配成多少个通道和几方面有关:
1、 你给这个资源池分配了多少个DSP资源
2、 在这个资源池中你要支持的媒体功能,放什么格式的语音文件,是否支持录音,收键、Tone音等,每个媒体功有特定的mips,每个dsp能支持多少媒体功能与dsp能支持的mips总数和媒体功能的mips总和有关。你只需要配置你需要的媒体功能,以便节省DSP资源。
Resource[0].TCPs= isd0 :指定使用的协议类型,如果是接7号信令网关此处要写成nocc,如果是用ISDN信令,此处要写成isd0,注意是0不是o。本场景是ISDN环境。
Resource[0].StartTimeslot = 0:指定资源池的开始时隙,可以根据实际情况配置,一般都是0。
Resource[0].Definitions = ( dtmf.det_all & echo_v3.ln20_apt100 & tone.gen &\
callp.gnc&\
( (rvoice.rec_mulaw & rvoice.play_mulaw) | \
(rvoice.rec_alaw & rvoice.play_alaw) | \
(wave.rec_11_8b & wave.play_11_8b) | \
(oki.rec_24 & oki.play_24_100 ) | \
(oki.rec_32 & oki.play_32_100 ) \
) )
下面说明资源池中配置支持的媒体功能的方法:
dtmf.det_all: 这一项一般都要加上,支持DTMF功能
tone.gen: Tone音检测,这项没有什么用,可以不加
echo_v3.ln20_apt100::回音消除,如果语音网关需要ASR功能,需要加echo_v3.ln20_apt100.在6500的板卡中回音消除还支持另外一种格式即:echo.ln20_apt25,但是要注意在6565的板卡中并不支持此种格式。只支持echo_v3.ln20_apt100。
callp.gnc; 呼叫控制的选项,没什么用,可以不加
(rvoice.rec_alaw & rvoice.play_alaw ): 如果要想支持ALAW的WAV音,这项需要配上。
(rvoice.rec_mulaw & rvoice.play_mulaw): 如果要想支持MULAW的WAV音,这项需要配上。
(wave.rec_11_8b & wave.play_11_8b): 支持11k 8bit的语音文件,实际上是8k 8bit,(因为对于一个两兆的中继来说,一条线路最大是64k),如果需要16bit的可以配成(wave.rec_11_16b & wave.play_11_16b)
(oki.rec_24 & oki.play_24_100):支持6k 8bit的VOX语音,这一项比较全的配置是(oki.rec_24 & (oki.play_24_100 | oki.play_24_150 | oki.play_24_200)),后面的100、150、200是放音速率,我们一般只要配一个100就行了:
(oki.rec_32 & oki.play_32_100) :说明支持8k 8bit的VOX语音文件,这一项比较全的配置是(oki.rec_32 & (oki.play_32_100 | oki.play_32_150 | oki.play_32_200)),后面的100、150、200是放音速率,我们一般只要配一个100就行了。
Resource[0].DSPs = \
2 3 8 9 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:定义在这个资源池中都有哪些个DSP,总共有64个DSP,从0到63,第0个和第1个DSP用来处理信令 ,DSP.C5x[0..1].Files = 8tsignal ,其余的DSP除了可以划分为普通媒体功能外,还可以配成给会议使用的DSP,给传真使用的DSP。读者发现这里面少了一些DSP,就是用来配置会议了,关于会议将在接下来的场景中描述。
下面是通过配置文件指定传送给板卡的可选的执行时组件,DLM类型文件是运行模块的一种类型,对于CG卡来说,运行在板卡处理器上的软件有核心文件和一些运行模块组成:
DLMFiles[0]= cg6500run:如果是CG6500的卡,DLMFiles[0]配成cg6500run;如果是CG6000的卡,此处配成cg6krun。
DLMFiles[1]= c65igen:如果是CG6500的卡,DLMFiles[1]的配置有两种情况:
1、 NMS板卡驱动是2003的,此处配成c65ietsi;
2、 NMS板卡驱动是2005的,此处配成c65igen;
如果是CG6000的卡,DLMFiles[1] 的配置有两种情况:
1、 NMS板卡驱动是2003的,此处配成isdnetsi;
2、 NMS板卡驱动是2005的,此处配成isdngen;
DebugMask= 0x0:指定跟踪板卡执行的标准,相当于一些Trace信息的等级,要想看Trace结果得用OAMMON命令。值DebugMask 一般都设为0x0,不用改变。
注意:对于CG6565c的板卡来说,KEY文件[板卡的主配置文件,在CG\CFG目录下。]的配置基本上与6500c差不多,只是会出现以下几项,与6500c的异同之处:
DSP.C5x[0..95].Os = dspos6u:指定当前板卡dsp内核所使用的数字信号处理模块
DLMFiles[0] = c6565igen:含义与前面6500板卡的类似,只是指定的文件不一样。
DSPStream.SignalIdleCode[0..15] = 0x09:含义与前面6500板卡的类似,只是指定的值不一样。
Hdlc[0..15].RxTimeSlot = 16:含义与前面6500板卡的类似,只是表达的格式有所不同。
Hdlc[0..15].TxTimeSlot = 16: 同上
3.2 板卡配置——SIP环境
3.2.1 安装SIP驱动程序
在安装之前,有几点需要确认,第一就是板卡驱动要装2005,其次就是板卡上的ip接口要插上网线,并且先装板卡驱动,再装SIP驱动。
3.2.2 申请SIP sip demo license
在安装好板卡驱动后,如果license(nccsip-eval.lic)文件在目录\nms\oam\cfg\下,在目录C:\nms\nmslm下执行如下命令:
nmslm_tool -c \nms\oam\cfg\nccsip-eval.lic
注意:这个license可能会过期。
3.2.3 启动SIP Server
其配置文件nccsip.cfg(文件名必须是nccsip.cfg)放置于\NMS\OAM\cfg目录下。
启动命令:nmssip register
nmssip start
nccsip.cfg举例如下,具体的配置项请参考SIP_for_NCC 文档《NMS SIP for Natural Call
Control Developer's Reference Manual》。
general.sendProtocolEvents = false
general.manualACK = false
general.manualPRACK = false
general.numPorts = 1200
附带有模版。
3.2.4 板卡中SIP配置
板卡配置要改动或是添加几处:
Ø 网络接口配置
IPC.AddRoute[0].DestinationAddress:该键值后面配板卡的IP地址,该IP地址为没有被占用的IP地址。
IPC.AddRoute[0].Mask :网络掩码,一般可以设为255.255.255.0
IPC.AddRoute[0].Interface : 一般设为1即可
IPC.AddRoute[1].DestinationAddress:
IPC.AddRoute[1].Mask:网络掩码
IPC.AddRoute[1].GatewayAddress:网关地址
例如:假如选择了板卡的IP地址为10.130.130.130,可以做如下配置:
IPC.AddRoute[0].DestinationAddress = 10.130.130.130
IPC.AddRoute[0].Mask = 255.255.255.0
IPC.AddRoute[0].Interface = 1
IPC.AddRoute[1].DestinationAddress = 0.0.0.0
IPC.AddRoute[1].Mask = 0.0.0.0
IPC.AddRoute[1].GatewayAddress = 10.130.1.5
Ø DSP配置
这个需要在资源池中加入配置项f_g711.cod & f_g711.dec,用于G.711编解码,但是加载f_g711.cod & f_g711.dec后会使Resource[0].Size 变小,在项目应用中需要注意。
可以这样配置资源池;
Resource[0].Definitions = (dtmf.det_all & echo_v3.ln20_apt100 & tone.gen & \
((f_g711.cod & f_g711.dec) |\
(rvoice.rec_mulaw & rvoice.play_mulaw) | \
(rvoice.r
展开阅读全文