1. 执行摘要:
。。Dialogic的交换产品提供局站接口和其它类型的资源,是当今通信系统中的重要构建块。这个文档用来帮助开发者使用这些Dialogic构建块定义和实施局站的特性。
2.介绍:
。。用一个通信系统中的Dialogic的交换产品提供局站接口和其它类型的资源来创建一个应用,需要了解局站设置属性,也需要分析不同的产品特性和属性怎样影响这些功能的应用。
这个文件描述了普通局站功能,然后描述了该功能的应用,首先是在组合式局站接口板上的应用,然后是在Dialogic的Dialogic局站接口板和Dialogic的NetStructure?站接口板上的应用。
。。本文档中全部的函数调用列表参见附录B。
Dialogic局站接口板
本文档中的信息应用于三种类型的板卡:
Dialogic Dialogic局站接口板:
DISI16R2
DISI24R2
DISI32R2
DI0408LSAR2
Dialogic NetStructure 局站接口板:
HDSI/480
HDSI/720
HDSI/960
HDSI/1200
组合式局站接口板
MSI/80SC-GBL
MSI/80PCI-GBL
MSI/160SC-GBL
MSI/160PCI-GBL
MIS/240SC-GBL
。。上面所列的组合式局站接口板已于2003年2月11日宣布停产。本文档中的信息能够指导开发者从Dialogic停产的接口板转移到Dialogic的其它局站接口板上。附录A是产品密度阵列,帮助确定基于资源要求的最好的替换板和一系列建议替换板。
缩略语:
。。为了文档的清晰,表1中的缩略语可以用于板卡的索引。
参考板卡 |
缩略语 |
Dialogic Dialogic局站接口板 |
DI |
Dialogic NetStructure 局站接口板 |
HDSI |
组合式局站接口板 |
MSI |
表1 板卡索引的缩略语
通用局站设置特性:
设备管理:
。。所有局站的设置都是通过调用ms_open()和ms_close()
API 函数来管理的。开、关操作在所有局站产品中都是一样的。
。。一般通过ms_open()API调用来打开一个局站接口设备,并要求以ASCIIZ字符串形式传递这个设备的名字,格式是misB<b>C<c>,这里的<b>代表板号,<c>代表局站号,此数范围从1到板上的局站接口的最大数目。
。。ms_open()函数在局站设备成功打开之后返回设备的句柄。
。。设备名可以在注册表中查到,在HKEY_LOCAL_MACHINE\SOFTWARE\Dialogic\Configuration\Protocol
Drivers下。具有Spring Ware结构的设备设置放在DlcSram目录里,DM3结构的设备设置放在DLGCDM目录里。
关掉一个设备要求将设备的句柄传递到ms_close API调用。
CT总线路由(routing)
。。创建、切断电话资源之间的音频连接都需要CT总线路由。CT总线与SC总线同义,但CT总线比较快,支持2048时隙(PCI版本),SC总线支持1024时隙1。
。。如果一个系统同时包含CT总线和SC总线,系统使用SC总线的性能。
。。MSI板不包括板内语音资源。由于这个原因,MSI局站的设置不提供相关的语音资源。需要语音资源的应用必须在系统配置中添加可路由语音资源的板卡,并且使用这些板卡上的可路由语音资源。使用MSI站设置的应用只要需要语音操作就必须向局站设置提供一个语音资源。
。。使用大部分DI和HDSI板卡的局站带有永久的语音资源。由于这样的语音资源不能从局站路由至需要它的地方,分配给一个局站的语音资源当系统服务开始时就不能再改变了。
。。要判定哪个语音资源永久地路由到了一个特定的局站,参见注册表\\HKEY_LOCAL_MACHINE\SOFTWARE\Dialogic\Configuration
\ProtocolDrivers\DLGCDM3\Devices。所有的使用DM3结构的设备列在这个目录下。每一局站配置都保存在一个唯一目录中,该目录包括一套局站使用的关键值。VoiceDevice
关键词包括局站的语音资源的名字。
。。所有局站都可以通过调用ms_getxmitslot()函数得到传送它们的CT总线的时隙。在一个使用DM3结构的静态配置下,
必须通过ms_getxmitslot()获得传输声音资源的CT总线时隙,而不是通过调用语音API函数dx_getxmitslot()。静态配置时在一个语音资源上调用dx_getxmitslot()将产生"EDX_SH_MISSING"错误信息,指示CT总线交换矩阵丢失。
。。局站的音频连接是通过调用ms_listen()和ms_unlisten()来创建和断开的。要在DM3结构的局站和固定设置中的语音资源之间创建一个全双工的音频连接,传给ms_listen()的SC总线/CT总线时隙应该是局站传输音频的SC总线/CT总线时隙。换句话说,站的设置应该"监听它自己"。在一个局站和另一个语音资源之间创建一个全双工的音频连接,传递给ms_listen()的SC总线/CT总线时隙是xx_getmitslot()API调用的返回值。
1 使用简洁PCI的CT总线支持4096时隙。
2 HDSI/1200不提供相关的声音资源。D40408LSAR2为专用语音资源或路由声音资源
提供媒体负荷。
振铃产生API调用
|
MSI |
HDSI |
DI |
|
S |
S |
S |
|
S |
S |
S |
|
U |
S |
S |
表2 支持的和不支持的API调用
信令
。。所有局站通过把设备的句柄传递给ATMS_TSSGBIT()
MSI API来检测当前的摘挂机状态。这个函数会返回以下两种值之一。
·MS_ONHOOK - 局站挂机
·MS_OFFHOOK - 局站摘机
振铃产生和主叫ID(FSK)信令
。。应用程序可以通过下面的MSI API函数在一个局站中初始化振铃周期:。。ms_genring()、s_genringEx()和
ms_genring
-CallerID()。MSI振铃产生能力受限于ms_genring()和扩展的ms_genringEx()API调用。
。。为主叫ID提供频移键控(FSK)能力,HDSI和DI局站支持ms_genringCallerID()
API调用,也支持基础的和扩展的MSI振铃产生函数调用。表2列出了每一局站产品支持的产生振铃的API函数,支持的API调用以"S"表示,不支持的调用用"U"表示。
基本的振铃产生API调用是ms_genring(),它需要得到这个局站设备的句柄,产生振铃周期的的最大值,和API阻塞模式(同步或异步)。
。。通过扩展的MSI API函数ms_genringex()和ms_genringCallerID(),可以产生特殊的振铃。特殊的振铃要求应用程序通过ms_setbrdparm()
MSI API 函数激活MSG_DISTINCTRNG板层的参数。
。。调用ms_setbrdparm()要求一个空指针指向MS_CADENCE结构,MS_CADENCE结构要求cadid字段有一个1到8之间的值来唯一的标识这个节奏。
。。这个节奏的长度在cadlength字段内规定,应该通过MS_RNGA_CADLENGTH设置为6秒的默认长度。
。。MS_CADENCE的最后的字段是一个指向节奏(cadence)模式的指针。表3列出了不同的板卡支持的节奏模式。
。。注意HDSI和DI板不支持MS_RNGA_SPLASH3和MS_RNGA_SPLASH4节奏模式。
在ms_genringex() 或者
ms_genringCallerID()中使用这些模式不会产生错误,但是在局站上不会产生振铃。
。。一个特殊的振铃会被分配到某个局站,并且成为这个局站默认的振铃节奏。将来使用参数MS_RNG_DEFAULT调用ms_genringex()
或者调用ms_genring()产生的振铃就会使用新的默认振铃节奏。
。。当通过呼叫在配置为DM3的站上产生振铃时,主叫鉴权可以被传递给ms_genringCallerID(),这个函数允许应用开发者详细定义一个FSK调制格式的主叫鉴权字符串。增加的ms_genringCallerID()函数使用ms_genringCallerID()API函数调用完成FSK格式的主叫鉴权传递,让应用开发人员不必在主机层设置主叫鉴权功能。
。。需要注意的是同时使用MS_RNGA_SHORTLONG特殊振铃和ms_genringCallerID()调用会引起主叫鉴权传输失败。表4列出了现在支持的FSK组鉴权标记。
HDSI和DI板在<INSTALL DIRECTORY>\Dialogic\Data目录下有

表3支持和不支持的节奏模式
。。这个config文件可以用于改变默认的站动作.默认的振铃节奏模板可以通过编辑Net_RingOn和Net_RingOff参数来改变,参数放在<country>_hdsi.config或者di<product>.config文件中的CAS段.Net_RingOn和Net_RingOff参数包括下面的属性:Pulse=<Signal
ID>, <Off PulseCode>, <On Pulse Code>, <PrePulse
Interval>, <Min Pulse Interval>,<Nominal Pulse
Interval>, <MaxPulse Interval>, <Post Pulse
Interval>
。。下面的属性可以改变,但是这三个参数的值必须相同:<Min
Pulse Interval>, <Nominal Pulse Interval>和<Max
Pulse Interval>.图1绘出了这些参数怎样影响振铃模式
。。图1中的振铃模式在Net_RingOn和Net_RingOff参数如下配置时可以使用:pulse=0xC15CA036,0xA4,0xAA,0,2000,2000,2000,50
!Net_RingOn
pulse=0xC15CA037,0xA4,0xA4,50,3900,3900,3900,0 ! Net_RingOff
当一个config文件被修改时,<INSTALL DIRECTORY>\Dialogic\Bin\fcdgen
工具必须用修改过的或者新的config文件的位置和名字执行。这个工具会创建一个新的FCD文件,该文件必须在配置管理列表中相应板卡的FCD文件Name域上详细说明.例见图2.
FSK 组鉴权标号
|
意义
|
T:
|
日期和时间
|
N:
|
名字
|
B:
|
无名字原因
|
I:
|
电话号码
|
A:
|
无电话号码原因
|
R:
|
用户定义数据
|
表4 FSK组标识记号的意义

消息等待指示器
。。MSI API可以通过调用ms_SetMsgWaitInd()接入消息等待指示器(MWI),该函数可以产生一个FSK信号来点亮消息等待LED。这个API函数的调用要求应用开发者提供设备的句柄和两个MWI的状态变量之一来实现MWI
LED的操作:
·MS_MSGINDON :打开MWI LED
·MS_MSGINDOFF:关上MWI LED
。。只有HDSI和DI板支持ms_SetMsgWaitInd()。这个API函数调用让应用开发者不必在主机层通过FSK消息完成消息等待功能。
压缩音
。。只有MSI站的设备支持压缩音,配置为DM3结构局站可以使用自身的语音资源(通过dx_playtone()
或者dx_playtoneEx())产生一个类似于压缩音的音调,而不是用MSI API产生一个压缩音。
会议
。。DISI16R2, DISI24R2, 和 DISI32R2
板有16个可以取消回声的会议资源,DI0408LSAR2有9个可以取消回声的会议资源,MSI板有32个不能取消回声的会议资源。HDSI产品目前还没有会议资源。
音调的产生和检测
。。由于MSI API没有提供产生和检测音调的函数,声音API函数就用于产生和检测音调。针对各种声音资源和局站设置的组合,应用开发人员必须遵循可路由的方针。
在Windows操作系统下的声音资源,参见:http://resource.Dialogic.com/telecom/support/releases/winnt
/SR511FP1/onldoc/htmlfiles/pgmgd3/1456-04.html
在Linux操作系统下的声音资源,参见:
http://resource.Dialogic.com/telecom/support/releases/unix51/
linux51/SR5.1_Linux/Onldoc/html_files/vox_api/1453-02.html
。。动态的判定一个语音资源的音调产生能力和检测能力,可以调用dx_getfeaturelist()
语音API函数。在语音API的头文件dxxxlib.h中定义了用FEATURE_TABLE数据结构中的某个参数代表的特性。FEATURE_TABLE结构中的ft_tone字段包括一个位掩码,它指出了一个特定的语音设备支持的音调特性。
播放和录音
。。由于MSI API没有提供播放或者纪录媒体的调用函数,采用语音API函数进行播放和录音。针对各种声音资源和局站设置的组合,应用开发人员必须遵循可路由的方针。
Windows操作系统下的语音资源,参见:http://www.Dialogic.com/
Linux操作系统下的语音资源,参见:
http://www.Dialogic.com/
。。想要动态的判定所有的语音资源的播放和录制功能,可以使用dx_getfeaturelist()语音API函数。在语音API的头文件dxxxlib.h中定义了用FEATURE_TABLE数据结构中的某个字段代表的特性。ft_play字段包含的一个位掩码指定了一个特定的语音设备支持的播放特性。ft_record字段包含的一个位掩码指定了一个特定的语音设备支持的录音特性。
播放语速和音量控制
。。HDSI板不支持语速和音量的控制。DISI16R2,
DISI24R2, 和DISI32R2支持语速和音量控制3。
播放语速和音量可以通过语音API函数来控制。
- 直接改变语速和声音,使用dx_adjsv().
。。dx_adjsv()语音API函数可以直接在已说明的信道调节语速或者音量。语速或者音量可设置成一个值,再逐渐的调节或者是设置为锁定。语速和音量调节表有21个条目,代表21个不同级别的语速和音量,分别在默认语速和音量上下各有10个。dx_setsvmt()函数通过可设置的值来调用这个表。
- 在指定的条件下修改语速或者音量(例如:如果DTMF是"1",语速就增加一个级别),使用dx_setsvcond():
其它板卡支持速度和音量控制的情况列表,参见RTP21973
。。x_setsvcond()语音API函数为稍后在指定语音设备上的播放文件设置语速和音量调节以及调节条件。可以在一个播放文件开始时设置调节条件,或者在播放中间为一个即将到来的数字设置播放条件。任何时候,调节条件都可以改变或者取消,
dx_setsvcond()的函数调用可以重复。调用函数dx_clrsvcond()可以清除当前的速度和声音条件。
API数据结构
MSI数据结构:
MS_CADENCE
MS_CADENCE数据结构用于说明详细的节奏ID的振铃模式和长度。
typedef ms_cadence {
BYTE cadid; // Cadence ID, <1-8>
BYTE cadlength; // Cadence length
BYTE* cadpattern; // Pointer to cadence pattern
} MS_CADENCE;
语音数据结构
FEATURE_TABLE
FEATURE_TABLE数据结构用于说明一个特定的设备支持的特性。
typedef struct feature_table {
unsigned short ft_play;
unsigned short ft_record;
unsigned short ft_tone;
unsigned short ft_e2p_brd_cfg;
unsigned short ft_fax;
unsigned short ft_front_end;
unsigned short ft_misc;
unsigned short ft_rfu[8];
} FEATURE_TABLE;
表5列出了在FEATURE_TABLE中的掩码域指定说明的语音设备的特性:
域
|
特性
|
ft_play
|
播放
|
ft_record
|
记录
|
ft_tone
|
音调
|
ft_e2p_brd_cfg
|
板卡的配置
|
ft_fax
|
传真
|
ft_frontend
|
前端
|
ft_misc
|
混和
|
表5:FEATURE_TABLE中域的特性说明
DX_SVCB
。。速度/音量条件块(DX_SVCB)数据结构用于详细说明一个播放文件的调节条件,根据这个条件,可以在重放前或者重放过程中按照用户输入的数字调节速度或者音量。
DX_SVMT
。。速度/音量调节表(DX_SVMT)数据结构有21个代表不同级别的速度和音量的条目,用于指定信道的速度或者音量调节的变化率。这些值可以设置或者用dx_setsvmt()和dx_getsvmt()从表中取值。
其它Dialogic产品中的MSI API支持
HDSI
由于HDSI板卡现在没有会议资源或者能力,下面的调用不支持:
。。当局站用户使用耳机而不是电话时,可以使用压缩音。耳机不能振铃,因此要产生一个压缩音。由于HDSI板卡具有板上语音资源,而语音资源可以产生一个音调,因此不一定需要压缩音同时也不支持ms_genziptone。
DI
。。由于在DI板卡中不具备会议连接扩展功能,下面的调用不支持:
。。当局站用户使用耳机而不是电话时,可以使用压缩音。耳机不能振铃,因此要产生一个压缩音。由于HDSI板卡具有板上语音资源,而语音资源可以产生一个音调,因此不一定需要压缩音同时也不支持ms_genziptone。
MSI
。。不支持下面的调用。在每一个函数调用后面提供了附加的信息
ms_genringCallerID
。。加入ms_genringCallerID()调用可以让应用开发人员不必在应用层完成FSK主叫鉴权。DI和HDSI板卡的板上语音资源具有FSK能力,能够在内部控制FSK的产生。
ms_ResultMsg和ms_Result值
。。加入ms_ResultMsg和ms_Result调用可以加强站设置中的处理错误消息的能力。
ms_SendData
加入ms_SendData()调用可以把FSK数据送到一个摘机局站。DI和HDSI板卡的板上语音资源具有FSK能力,能够在内部控制FSK的产生。
ms_SetMsgWaitlnd
。。ms_SetMsgWaitlnd函数用FSK数据去控制消息等待灯的亮或者灭。DI和HDSI板卡在他们的板上语音资源上具有FSK能力,能够在内部控制FSK的产生。
附录A 产品密度矩阵表示
。。表6的产品密度矩阵是为了帮助确定基于基本资源要求的最优硬件解决方案。在媒体负荷一列,xx代表特定的媒体负荷的国家代码。
。。结合产品数据表的产品特性的另外一个对比,请参见:http://www.Dialogic.com/design/network/products/telecom/boards/switching.htm
板卡 |
媒体负荷 |
站的Intrfcs |
会议Rsrcs< |
声音Dvcs |
网络Intrfcs< |
传真Rsrcs |
CSP4 |
MSI/80SC-GBL |
N/A |
8 |
32 |
0 |
0 |
0 |
0 |
MSI/80PCI-GBL |
N/A |
8 |
32 |
0 |
0 |
0 |
0 |
MSI/160SC-GBL |
N/A |
16 |
32 |
0 |
0 |
0 |
0 |
MSI/160PCI-GBL |
N/A |
16 |
32 |
0 |
0 |
0 |
0 |
MSI/240SC-GBL |
N/A |
24 |
32 |
0 |
0 |
0 |
0 |
HDSI/480 |
xx_hdsi_48_play_rec
|
48 |
0 |
48 |
0 |
0 |
0 |
HDSI/720 |
xx_hdsi_72_play_rec
|
72 |
0 |
72 |
0 |
0 |
0 |
HDSI/960 |
xx_hdsi_96_play_rec |
96 |
0 |
96 |
0 |
0 |
0 |
HDSI/1200 |
xx_hdsi |
120 |
0 |
0 |
0 |
0 |
0 |
DISI16R2 |
disi16 |
16 |
16 |
16 |
0 |
0 |
0 |
DISI24R2 |
disi24 |
24 |
16 |
24 |
0 |
0 |
0 |
DISI32R2 |
disi32 |
32 |
16 |
32 |
0 |
0 |
0 |
DI0408LSAR2 |
di0408lsa -媒体下载1 |
8 |
9 |
12 |
4 |
2 |
0 |
DI0408LSAR2 |
di0408lsa -媒体下载2 |
8 |
9 |
85 |
4 |
2 |
0 |
DI0408LSAR2 |
di0408lsa -媒体下载4 |
8 |
9 |
86 |
4 |
2 |
4 |
表6 产品密度矩阵
下面的表列出了本文档中讨论过的停产了的板卡和建议作为替换的板卡
旧板卡 |
建议替换的板卡 |
MSI/80SC-GBL |
DI0408LSAR2 |
MSI/80PCI-GBL |
DI0408LSAR2 |
MSI/160SC-GBL |
DISI16R2 |
MSI/160PCI-GBL |
DISI16R2 |
MSI/240SC-GBL |
DISI24R2, DISI32R2, HDSI[xxxPCI]7 |
表7 停产板卡的替换建议
4持续的语音处理
5可路由语音
6可路由语音
7任何有PCI形式因素的HDSI板卡
附录B 函数调用列表:
。。下面的函数调用包括在本文档的信息范围之内:
附录C 注意事项:
。。下面的问题追踪记录(PTRs)描述了与本文档中讨论的板子相关的事项:
- PTR 22914 -如果当前局站处在摘机状态,则调用ms_open()时ATMS_TSSGBIT()将返回MS_ONHOOK
- PTR 22919 - dx_playtone()在DI板子上只能播放35个单音
- PTR 26866 -当局站处在摘机状态时,如果调用ms_close(),必须重启系统服务以便正确的操作站的设置。
- PTR 28203 -Dialogic Dialogic DI/0408-LS-A不检测一个在边缘条件下正在摘机的远端电话。即使呼叫已经连接了,板卡也不发送已连接结果消息。
- PTR 29235 - DX_MAXNOSIL终端条件不按照预计精确地终止。(例如:设置的两秒钟的最大化非静音终止条件,而实际可能是在大于两秒钟之后完成终止的。)
。。想要了解更多,可以登录我们的网站:http://www.Dialogic.com.
。。本文档所提供的信息与Dialogic产品相关,本文档不包含产品的任何知识产权。除非以Dialogic的名义提供并且为销售本产品服务,Dialogic不负任何责任,并且不为在产品的销售和/或使用中所遇到的问题提供担保,包括对某一特殊用途的适用性、产品销路、以及侵害专利或者其他的版权和知识产权。
。。Dialogic产品不适用于任何可能产生人体伤害或死亡的应用,比如医疗、急救或维生的应用。
。。Dialogic随时可能修改本手册,恕不另行通知。
。。Dialogic、Dialogic对话、Dialogic网络结构和Dialogic的标识是在美国和其他国家的Dialogic公司及其子公司的商标和注册商标。
其它的命名和商标为其它单位产权。
。。性能和额定值的测试是在特定的计算机系统和部件上进行的,这些测试大致反映了产品的性能。硬件上的差别或软件设计及配置的改变可能会影响实际的性能。购买者在购买的时候应该参考其他资源的信息以评价系统或者部件的性能。欲知Dialogic产品性能测试详情,可以参考:http://www.Dialogic.com/
[
本文英文版 ]
|