1、 文档编号: NMS板卡安装与配置手册 日期:2007-11-29 文档修改记录 版本 日期 修改页 作者 批准人 备注 2007-11-20发布 目录索引 1 介绍 5
2、 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 测试会议是否配置
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的CG60
4、00指的是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卡的配置
5、 2 软件安装 2.1 安装NMS板卡驱动 VoiceCenter 1.0的安装包中包含了板卡驱动的安装。在装语音网关时,会出现如下界面: 选择“是”,出现 点击执行下一步,出现: 点击下一步,出现如下界面,点击“Select All”: 点击下一步,出现如下,并选择China. 点击“NEXT”,出现: 在这儿可以选择安装路径,不过,一般最好按默认路径装。一直点击下一步,出现: 选择第一个,即让系统检查环境。点击下一步,下面会进行文件拷贝等安装过程。在遇到下面提示时,即提示你是否安装Hot Swap 热插拔,一定要选择
6、否”。目前NMS卡对我们项目选用的工控机的热插拔支持的不是很好。 出现是否安装CoolEdit的提示,选择否。 安装完毕后,选择重新启动计算机。 如果有补丁包,当然也可以不用重启,把补丁包打完重启也可以。 如有Patch包的补丁只需要解压后放到NMS\bin\下即可。 安装完毕后,选择重新启动计算机。 如果有补丁包,当然也可以不用重启,把补丁包打完重启也可以。 如有Patch包的补丁只需要解压后放到NMS\bin\下即可。 2.2 安装SIP驱动 (1)SIP驱动程序选择1.1版本,双击该安装程序。 选择下一步,选择接受协议,出现:
7、 在这儿可以选择安装路径,不过,建议按默认路径来装。 选择曲型安装,下一步。开始复制文件,安装成功。如下。 至此,SIP的驱动程序安装完毕,接下来的工作是加载SIP的license,启动SIP服务等,具体见下面的板置配置中SIP环境部分。 3 板卡基本配置 板卡的配置需要配置以下几个文件: Ø NMS\CTAccess\cfg\cta.cfg 该文件可以修改NMS卡的运行参数,例如应答时间,信令差异等等。一般不会变动,除非项目的上端局和项目本身有特殊的要求。 Ø NMS\OAM\cfg\oamsys.cfg 该文件用来定位板卡,一般也是第一步需要需要配置的
8、文件。 Ø 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 板卡配
9、置——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(
10、s) detected 注意:当看到 2 13 0x6500 CG_6500C_16,说明找到板卡了,如果不是CG_6500C_16而是CG_6500C是不正确的,说明没有正确识别板卡,你可以把前后板都换个插槽试试,一般换几次插槽基本都能正确识别到板卡,如果换插槽还是不管用就重装板卡驱动。 从以上的命令执行结果可看到一些板卡的信息: Bus 板卡所在的bus(总线)号 Slot 检测到的板卡插槽的位置 ID 板卡型号 这些信息在接下来的第二步中将要用来配置oamsys.cfg文件。 3.1.2 配置板卡的第二步 根据第一步执行的命令pciscan
11、显示出的板卡信息,修改配置文件: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
12、16 填上板卡的型号,在pciscan里可以看到 Number = 0 指第一块板卡 Bus = 2 板卡所在的bus(总线)号 Slot = 13检测到的板卡插槽的位置 File = cg6500.cfg 指定一个配置文件,在这个配置文件中详细的规定了板卡配成什么协议,DSP资源怎么分等事项。这个名字可以随意定义,只要在NMS\CG\CFG\下有这个配好的文件就行,具体内容需要根据项目的平台需求来配置。在nms的环境中,这个配置文件是对板卡硬件进行配置内容进行加载的key文件。 如果有两块卡,在oamsys.cfg中,第二块板卡可以这样配置 [Name
13、1] 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 中指定的配置文件。 这个配置文件对初学者稍微有点麻烦,建议没有经验的同事可以找配置好的模板来做稍微的改动就能用
14、 下面是一个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 comm
15、ented out by default # Clocking.HBus.ClockMode = MASTER_A Clocking.HBus.ClockSource = NETWORK Clocking.HBus.ClockSourceNetwork = 1 #*******************************************************************************************
16、 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 #*******************************************************************
17、 #******************************************************************************************* # E1 configuration (! commented out by default) #******************************************************************************************* DSPStream.VoiceIdleCode[0..15]
18、 = 0xD5 DSPStream.SignalIdleCode[0..15] = 0x0D Hdlc[0..15].Boot
19、 = 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].Line
20、Code = 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]
21、 = cg6kliba DSP.C5x[0..63].XLaw = A_LAW DSP.C5x[0..1].Files = 8tsignal #******************************************************************************************* # Resource management #****************************************
22、 Resource[0].Name = RSC1 Resource[0].Size = 240 Resource[0].TCPs = isd0 Resource[0].StartTimeslot = 0 #********************************************
23、 # Before modifying this resource definition string refer to the CG6500C # Installation and Developers Manual. #******************************************************************************************* Resource[0].Definitions = ( dtmf.det_
24、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 ) | \
25、 (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 #******************************
26、 # NOTE: DLMs to download #******************************************************************************************* DLMFiles[0] = cg6500run DLMFiles[1] = c65i
27、gen # DLMFiles[1] = c65dpnss #******************************************************************************************* # NOTE: Uncomment below if using IMGT service #*******************************************************************************************
28、 # DLMFiles[2] = c65imgt DebugMask = 0x0 Clocking.HBus.ClockMode = MASTER_A:常用的ClockMode有 STANDALONE 和 MASTER_A ,如果只有一块板卡,此处配成 STANDALONE ;如果有两块板卡,那么一块是主板卡,另一块是从板卡,如果是主板卡的配置文件配成:MASTER_A,如果是从板卡的配置文件配成:SLAVE,很显然这个配置文件是两块
29、板卡的主卡配置文件。 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。
30、DSPStream.VoiceIdleCode[0..15] = 0xD5:在指定的DSP语音流上给时间片设置语音空闲代码 ,所有的中继必须配置成一样的DSPStream.VoiceIdleCode,可以看到,0..15表示所有的16个E1 ,值0xD5不用变。 DSPStream.SignalIdleCode[0..15]= 0x0D: 在DSP信令流上给时间片设置空闲码
31、 ,所有的中继必须配置成一样的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:指定接收特定中
32、继(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:是
33、基带电信设备之间进行基带传输的编码,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不用改变。 NetworkInterfac
34、e.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
35、不用改变。 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:是资源
36、池的名字,可以随便定义,只要不重复; Resource[0].Size =240: 指定在此DSP资源池中支持多少个通道或端口。具体能配成多少个通道和几方面有关: 1、 你给这个资源池分配了多少个DSP资源 2、 在这个资源池中你要支持的媒体功能,放什么格式的语音文件,是否支持录音,收键、Tone音等,每个媒体功有特定的mips,每个dsp能支持多少媒体功能与dsp能支持的mips总数和媒体功能的mips总和有关。你只需要配置你需要的媒体功能,以便节省DSP资源。 Resource[0].TCPs= isd0 :指定使用的协议类型,如果是接7号信令网关此处要写成nocc,如果是用ISD
37、N信令,此处要写成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.re
38、c_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: 这一项一般都要
39、加上,支持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
40、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
41、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
42、 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,就是用来配置会议了,关于会议将在接下来的场景中描述。 下面是通过配
43、置文件指定传送给板卡的可选的执行时组件,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
44、[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内核所使用的数字
45、信号处理模块 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接口要插上网线,并
46、且先装板卡驱动,再装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
47、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
48、[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].
49、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_g71
50、1.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






