■ 執(zhí)行摘要
Dialogic的交換產(chǎn)品提供坐席接口和其它類(lèi)型的資源,是當(dāng)今通信系統(tǒng)中的重要構(gòu)建塊。這個(gè)文檔用來(lái)幫助開(kāi)發(fā)者使用這些Dialogic構(gòu)建塊定義和實(shí)現(xiàn)座席的功能。
■ 介紹
用一個(gè)通信系統(tǒng)中的Dialogic的交換產(chǎn)品提供座席接口和其它類(lèi)型的資源來(lái)創(chuàng)建一個(gè)應(yīng)用,需要了解坐席設(shè)置屬性,也需要分析不同的產(chǎn)品特性和屬性怎樣影響這些功能的應(yīng)用。
這個(gè)文件描述了普通座席功能,然后描述了該功能的應(yīng)用,首先是在組合式座席卡上的應(yīng)用,然后是在Dialogic的Dialogic座席卡和Dialogic的?座席卡上的應(yīng)用。
本文檔中全部的函數(shù)調(diào)用列表參見(jiàn)附錄B。
Dialogic座席卡
本文檔中的信息應(yīng)用于三種類(lèi)型的板卡:
Dialogic Dialogic座席卡:
DISI16R2
DISI24R2
DISI32R2
DI0408LSAR2
Dialogic 座席卡:
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日宣布停產(chǎn)。本文檔中的信息能夠指導(dǎo)開(kāi)發(fā)者從Dialogic停產(chǎn)的接口板轉(zhuǎn)移到Dialogic的其它座席卡上。附錄A是產(chǎn)品密度陣列,幫助確定基于資源要求的最好的替換板和一系列建議替換板。
縮略語(yǔ):
為了文檔的清晰,表1中的縮略語(yǔ)可以用于板卡的索引。
參考板卡 |
縮略語(yǔ) |
Dialogic Dialogic座席卡 |
DI |
Dialogic 座席卡 |
HDSI |
組合式座席卡 |
MSI |
■ 通用坐席集合特性
設(shè)備管理:
所有座席的設(shè)置都是通過(guò)調(diào)用ms_open()和ms_close() API 函數(shù)來(lái)管理的。開(kāi)、關(guān)操作在所有座席產(chǎn)品中都是一樣的。
一般通過(guò)ms_open()API調(diào)用來(lái)打開(kāi)一個(gè)座席接口設(shè)備,并要求以ASCIIZ字符串形式傳遞這個(gè)設(shè)備的名字,格式是misB<b>C<c>,這里的<b>代表板號(hào),<c>代表座席號(hào),此數(shù)范圍從1到板上的座席接口的最大數(shù)目。
ms_open()函數(shù)在座席設(shè)備成功打開(kāi)之后返回設(shè)備的句柄。
設(shè)備名可以在注冊(cè)表中查到,在HKEY_LOCAL_MACHINE\SOFTWARE\Dialogic\Configuration\Protocol
Drivers下。具有Spring Ware結(jié)構(gòu)的設(shè)備設(shè)置放在DlcSram目錄里,DM3結(jié)構(gòu)的設(shè)備設(shè)置放在DLGCDM目錄里。
關(guān)掉一個(gè)設(shè)備要求將設(shè)備的句柄傳遞到ms_close API調(diào)用。
CT總線(xiàn)路由(routing)
創(chuàng)建、切斷電話(huà)資源之間的音頻連接都需要CT總線(xiàn)路由。CT總線(xiàn)與SC總線(xiàn)同義,但CT總線(xiàn)比較快,支持2048時(shí)隙(PCI版本),SC總線(xiàn)支持1024時(shí)隙1。
如果一個(gè)系統(tǒng)同時(shí)包含CT總線(xiàn)和SC總線(xiàn),系統(tǒng)使用SC總線(xiàn)的性能。
MSI板不包括板內(nèi)語(yǔ)音資源。由于這個(gè)原因,MSI座席的設(shè)置不提供相關(guān)的語(yǔ)音資源。需要語(yǔ)音資源的應(yīng)用必須在系統(tǒng)配置中添加可路由語(yǔ)音資源的板卡,并且使用這些板卡上的可路由語(yǔ)音資源。使用MSI站設(shè)置的應(yīng)用只要需要語(yǔ)音操作就必須向坐席集合提供一個(gè)語(yǔ)音資源。
使用大部分DI和HDSI板卡的座席帶有永久的語(yǔ)音資源。由于這樣的語(yǔ)音資源不能從座席路由至需要它的地方,分配給一個(gè)座席的語(yǔ)音資源當(dāng)系統(tǒng)服務(wù)開(kāi)始時(shí)就不能再改變了。
要判定哪個(gè)語(yǔ)音資源永久地路由到了一個(gè)特定的座席,參見(jiàn)注冊(cè)表\\HKEY_LOCAL_MACHINE\SOFTWARE\
Dialogic\Configuration\ProtocolDrivers\DLGCDM3\Devices。
所有的使用DM3結(jié)構(gòu)的設(shè)備列在這個(gè)目錄下。每一座席集合都保存在一個(gè)唯一目錄中,該目錄包括一套座席使用的關(guān)鍵值。VoiceDevice
關(guān)鍵詞包括座席的語(yǔ)音資源的名字。
所有座席都可以通過(guò)調(diào)用ms_getxmitslot()函數(shù)得到傳送它們的CT總線(xiàn)的時(shí)隙。在一個(gè)使用DM3結(jié)構(gòu)的靜態(tài)配置下,
必須通過(guò)ms_getxmitslot()獲得傳輸聲音資源的CT總線(xiàn)時(shí)隙,而不是通過(guò)調(diào)用語(yǔ)音API函數(shù)dx_getxmitslot()。靜態(tài)配置時(shí)在一個(gè)語(yǔ)音資源上調(diào)用dx_getxmitslot()將產(chǎn)生"EDX_SH_MISSING"錯(cuò)誤信息,指示CT總線(xiàn)交換矩陣丟失。
座席的音頻連接是通過(guò)調(diào)用ms_listen()和ms_unlisten()來(lái)創(chuàng)建和斷開(kāi)的。要在DM3結(jié)構(gòu)的座席和固定設(shè)置中的語(yǔ)音資源之間創(chuàng)建一個(gè)全雙工的音頻連接,傳給ms_listen()的SC總線(xiàn)/CT總線(xiàn)時(shí)隙應(yīng)該是座席傳輸音頻的SC總線(xiàn)/CT總線(xiàn)時(shí)隙。換句話(huà)說(shuō),站的設(shè)置應(yīng)該"監(jiān)聽(tīng)它自己"。在一個(gè)座席和另一個(gè)語(yǔ)音資源之間創(chuàng)建一個(gè)全雙工的音頻連接,傳遞給ms_listen()的SC總線(xiàn)/CT總線(xiàn)時(shí)隙是xx_getmitslot()API調(diào)用的返回值.
1.使用簡(jiǎn)潔PCI的CT總線(xiàn)支持4096時(shí)隙。
2.HDSI/1200不提供相關(guān)的聲音資源。D40408LSAR2為專(zhuān)用語(yǔ)音資源或路由聲音資源提供資源配置。
表2 支持的和不支持的API調(diào)用
信令
所有座席通過(guò)把設(shè)備的句柄傳遞給ATMS_TSSGBIT() MSI API來(lái)檢測(cè)當(dāng)前的摘掛機(jī)狀態(tài)。這個(gè)函數(shù)會(huì)返回以下兩種值之一。
MS_ONHOOK - 座席掛機(jī)
MS_OFFHOOK - 座席摘機(jī)
振鈴產(chǎn)生和主叫ID(FSK)信令
應(yīng)用程序可以通過(guò)下面的MSI API函數(shù)在一個(gè)座席中初始化振鈴周期:ms_genring()、s_genringEx()和
ms_genring
-CallerID()。MSI振鈴產(chǎn)生能力受限于ms_genring()和擴(kuò)展的ms_genringEx()API調(diào)用。
為主叫ID提供頻移鍵控(FSK)能力,HDSI和DI座席支持ms_genringCallerID() API調(diào)用,也支持基礎(chǔ)的和擴(kuò)展的MSI振鈴產(chǎn)生函數(shù)調(diào)用。表2列出了每一座席產(chǎn)品支持的產(chǎn)生振鈴的API函數(shù),支持的API調(diào)用以"S"表示,不支持的調(diào)用用"U"表示。
基本的振鈴產(chǎn)生API調(diào)用是ms_genring(),它需要得到這個(gè)座席設(shè)備的句柄,產(chǎn)生振鈴周期的的最大值,和API阻塞模式(同步或異步)。
通過(guò)擴(kuò)展的MSI API函數(shù)ms_genringex()和ms_genringCallerID(),可以產(chǎn)生特殊的振鈴。特殊的振鈴要求應(yīng)用程序通過(guò)ms_setbrdparm()
MSI API 函數(shù)激活MSG_DISTINCTRNG板層的參數(shù)。
調(diào)用ms_setbrdparm()要求一個(gè)空指針指向MS_CADENCE結(jié)構(gòu),MS_CADENCE結(jié)構(gòu)要求cadid字段有一個(gè)1到8之間的值來(lái)唯一的標(biāo)識(shí)這個(gè)頻率。
這個(gè)節(jié)奏的長(zhǎng)度在cadlength字段內(nèi)規(guī)定,應(yīng)該通過(guò)MS_RNGA_CADLENGTH設(shè)置為6秒的默認(rèn)長(zhǎng)度。
MS_CADENCE的最后的字段是一個(gè)指向節(jié)奏(cadence)模式的指針。表3列出了不同的板卡支持的節(jié)奏模式。
注意HDSI和DI板不支持MS_RNGA_SPLASH3和MS_RNGA_SPLASH4節(jié)奏模式。 在ms_genringex()
或者
ms_genringCallerID()中使用這些模式不會(huì)產(chǎn)生錯(cuò)誤,但是在座席上不會(huì)產(chǎn)生振鈴。
一個(gè)特殊的振鈴會(huì)被分配到某個(gè)座席,并且成為這個(gè)座席默認(rèn)的振鈴節(jié)奏。將來(lái)使用參數(shù)MS_RNG_DEFAULT調(diào)用ms_genringex()
或者調(diào)用ms_genring()產(chǎn)生的振鈴就會(huì)使用新的默認(rèn)振鈴節(jié)奏。
當(dāng)通過(guò)呼叫在配置為DM3的站上產(chǎn)生振鈴時(shí),主叫鑒權(quán)可以被傳遞給ms_genringCallerID(),這個(gè)函數(shù)允許應(yīng)用開(kāi)發(fā)者詳細(xì)定義一個(gè)FSK調(diào)制格式的主叫鑒權(quán)字符串。增加的ms_genringCallerID()函數(shù)使用ms_genringCallerID()API函數(shù)調(diào)用完成FSK格式的主叫鑒權(quán)傳遞,讓?xiě)?yīng)用開(kāi)發(fā)人員不必在主機(jī)層設(shè)置主叫鑒權(quán)功能。
需要注意的是同時(shí)使用MS_RNGA_SHORTLONG特殊振鈴和ms_genringCallerID()調(diào)用會(huì)引起主叫鑒權(quán)傳輸失敗。表4列出了現(xiàn)在支持的FSK組鑒權(quán)標(biāo)記。
HDSI和DI板在<INSTALL DIRECTORY>\Dialogic\Data目錄下有這個(gè)config文件可以用于改變默認(rèn)的站動(dòng)作.默認(rèn)的振鈴節(jié)奏模板可以通過(guò)編輯Net_RingOn和Net_RingOff參數(shù)來(lái)改變,參數(shù)放在<country>_hdsi.config或者di<product>.config文件中的CAS段.Net_RingOn和Net_RingOff參數(shù)包括下面的屬性:Pulse=<Signal
ID>, <Off PulseCode>, <On Pulse Code>, <PrePulse
Interval>, <Min Pulse Interval>,<Nominal Pulse
Interval>, <MaxPulse Interval>, <Post Pulse
Interval>
下面的屬性可以改變,但是這三個(gè)參數(shù)的值必須相同:<Min Pulse Interval>, <Nominal
Pulse Interval>和<Max Pulse Interval>.圖1繪出了這些參數(shù)怎樣影響振鈴模式。
圖1中的振鈴模式在Net_RingOn和Net_RingOff參數(shù)如下配置時(shí)可以使用:pulse=0xC15CA036,0xA4,0xAA,0,2000,2000,2000,50
!Net_RingOn
pulse=0xC15CA037,0xA4,0xA4,50,3900,3900,3900,0 ! Net_RingOff
當(dāng)一個(gè)config文件被修改時(shí),<INSTALL DIRECTORY>\Dialogic\Bin\fcdgen
工具必須用修改過(guò)的或者新的config文件的位置和名字執(zhí)行。這個(gè)工具會(huì)創(chuàng)建一個(gè)新的FCD文件,該文件必須在配置管理列表中相應(yīng)板卡的FCD文件Name域上詳細(xì)說(shuō)明.例見(jiàn)圖2.
表3支持和不支持的音頻模式

表4 FSK組標(biāo)識(shí)記號(hào)的意義

圖1 振鈴音頻模板示例
消息等待指示器
MSI API可以通過(guò)調(diào)用ms_SetMsgWaitInd()接入消息等待指示器(MWI),該函數(shù)可以產(chǎn)生一個(gè)FSK信號(hào)來(lái)點(diǎn)亮消息等待LED。這個(gè)API函數(shù)的調(diào)用要求應(yīng)用開(kāi)發(fā)者提供設(shè)備的句柄和兩個(gè)MWI的狀態(tài)變量之一來(lái)實(shí)現(xiàn)MWI
LED的操作:
- MS_MSGINDON :打開(kāi)MWI LED
- MS_MSGINDOFF:關(guān)上MWI LED
只有HDSI和DI板支持ms_SetMsgWaitInd()。這個(gè)API函數(shù)調(diào)用讓?xiě)?yīng)用開(kāi)發(fā)者不必在主機(jī)層通過(guò)FSK消息完成消息等待功能。
壓縮音
只有MSI站的設(shè)備支持壓縮音,配置為DM3結(jié)構(gòu)座席可以使用自身的語(yǔ)音資源(通過(guò)dx_playtone() 或者dx_playtoneEx())產(chǎn)生一個(gè)類(lèi)似于壓縮音的音調(diào),而不是用MSI
API產(chǎn)生一個(gè)壓縮音。
會(huì)議
DISI16R2, DISI24R2, 和 DISI32R2 板有16個(gè)可以取消回聲的會(huì)議資源,DI0408LSAR2有9個(gè)可以取消回聲的會(huì)議資源,MSI板有32個(gè)不能取消回聲的會(huì)議資源。HDSI產(chǎn)品目前還沒(méi)有會(huì)議資源。
音調(diào)的產(chǎn)生和檢測(cè)
由于MSI API沒(méi)有提供產(chǎn)生和檢測(cè)音調(diào)的函數(shù),聲音API函數(shù)就用于產(chǎn)生和檢測(cè)音調(diào)。針對(duì)各種聲音資源和坐席集合的組合,應(yīng)用開(kāi)發(fā)人員必須遵循可路由的方針。
在Windows操作系統(tǒng)下的聲音資源,參見(jiàn):
http://www.dialogic.com
在Linux操作系統(tǒng)下的聲音資源,參見(jiàn):
http://www.dialogic.com
動(dòng)態(tài)的判定一個(gè)語(yǔ)音資源的音調(diào)產(chǎn)生能力和檢測(cè)能力,可以調(diào)用dx_getfeaturelist()
語(yǔ)音API函數(shù)。在語(yǔ)音API的頭文件dxxxlib.h中定義了用FEATURE_TABLE數(shù)據(jù)結(jié)構(gòu)中的某個(gè)參數(shù)代表的特性。FEATURE_TABLE結(jié)構(gòu)中的ft_tone字段包括一個(gè)位掩碼,它指出了一個(gè)特定的語(yǔ)音設(shè)備支持的音調(diào)特性。
播放和錄音
由于MSI API沒(méi)有提供播放或者紀(jì)錄媒體的調(diào)用函數(shù),采用語(yǔ)音API函數(shù)進(jìn)行播放和錄音。針對(duì)各種聲音資源和坐席集合的組合,應(yīng)用開(kāi)發(fā)人員必須遵循可路由的方針。
Windows操作系統(tǒng)下的語(yǔ)音資源,參見(jiàn):
http://www.dialogic.com
Linux操作系統(tǒng)下的語(yǔ)音資源,參見(jiàn):
http://www.dialogic.com
想要?jiǎng)討B(tài)的判定所有的語(yǔ)音資源的播放和錄制功能,可以使用dx_getfeaturelist()語(yǔ)音API函數(shù)。在語(yǔ)音API的頭文件dxxxlib.h中定義了用FEATURE_TABLE數(shù)據(jù)結(jié)構(gòu)中的某個(gè)字段代表的特性。ft_play字段包含的一個(gè)位掩碼指定了一個(gè)特定的語(yǔ)音設(shè)備支持的播放特性。ft_record字段包含的一個(gè)位掩碼指定了一個(gè)特定的語(yǔ)音設(shè)備支持的錄音特性。

圖2.配置管理舉例
播放語(yǔ)速和音量控制
HDSI板不支持語(yǔ)速和音量的控制。DISI16R2, DISI24R2, 和DISI32R2支持語(yǔ)速和音量控制3。
播放語(yǔ)速和音量可以通過(guò)語(yǔ)音API函數(shù)來(lái)控制。
- 直接改變語(yǔ)速和聲音,使用dx_adjsv().
dx_adjsv()語(yǔ)音API函數(shù)可以直接在已說(shuō)明的信道調(diào)節(jié)語(yǔ)速或者音量。語(yǔ)速或者音量可設(shè)置成一個(gè)值,再逐漸的調(diào)節(jié)或者是設(shè)置為鎖定。語(yǔ)速和音量調(diào)節(jié)表有21個(gè)條目,代表21個(gè)不同級(jí)別的語(yǔ)速和音量,分別在默認(rèn)語(yǔ)速和音量上下各有10個(gè)。dx_setsvmt()函數(shù)通過(guò)可設(shè)置的值來(lái)調(diào)用這個(gè)表。
- 在指定的條件下修改語(yǔ)速或者音量(例如:如果DTMF是"1",語(yǔ)速就增加一個(gè)級(jí)別),使用dx_setsvcond():dx_setsvcond()語(yǔ)音API函數(shù)為稍后在指定語(yǔ)音設(shè)備上的播放文件設(shè)置語(yǔ)速和音量調(diào)節(jié)以及調(diào)節(jié)條件?梢栽谝粋(gè)播放文件開(kāi)始時(shí)設(shè)置調(diào)節(jié)條件,或者在播放中間為一個(gè)即將到來(lái)的數(shù)字設(shè)置播放條件。任何時(shí)候,調(diào)節(jié)條件都可以改變或者取消,
dx_setsvcond()的函數(shù)調(diào)用可以重復(fù)。調(diào)用函數(shù)dx_clrsvcond()可以清除當(dāng)前的速度和聲音條件。
API數(shù)據(jù)結(jié)構(gòu)
MSI數(shù)據(jù)結(jié)構(gòu):
MS_CADENCE
MS_CADENCE數(shù)據(jù)結(jié)構(gòu)用于說(shuō)明詳細(xì)的節(jié)奏ID的振鈴模式和長(zhǎng)度。
typedef ms_cadence {
BYTE cadid; // Cadence ID, <1-8>
BYTE cadlength; // Cadence length
BYTE* cadpattern; // Pointer to cadence pattern
} MS_CADENCE;
語(yǔ)音數(shù)據(jù)結(jié)構(gòu)
FEATURE_TABLE
FEATURE_TABLE數(shù)據(jù)結(jié)構(gòu)用于說(shuō)明一個(gè)特定的設(shè)備支持的特性。
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中的掩碼域指定說(shuō)明的語(yǔ)音設(shè)備的特性:

表5:FEATURE_TABLE中域的特性說(shuō)明
DX_SVCB
速度/音量條件塊(DX_SVCB)數(shù)據(jù)結(jié)構(gòu)用于詳細(xì)說(shuō)明一個(gè)播放文件的調(diào)節(jié)條件,根據(jù)這個(gè)條件,可以在重放前或者重放過(guò)程中按照用戶(hù)輸入的數(shù)字調(diào)節(jié)速度或者音量。

DX_SVMT
速度/音量調(diào)節(jié)表(DX_SVMT)數(shù)據(jù)結(jié)構(gòu)有21個(gè)代表不同級(jí)別的速度和音量的條目,用于指定信道的速度或者音量調(diào)節(jié)的變化率。這些值可以設(shè)置或者用dx_setsvmt()和dx_getsvmt()從表中取值。

其它Dialogic產(chǎn)品中的MSI API支持
HDSI
由于HDSI板卡現(xiàn)在沒(méi)有會(huì)議資源或者能力,下面的調(diào)用不支持:

當(dāng)座席用戶(hù)使用耳機(jī)而不是電話(huà)時(shí),可以使用壓縮音。耳機(jī)不能振鈴,因此要產(chǎn)生一個(gè)壓縮音。由于HDSI板卡具有板上語(yǔ)音資源,而語(yǔ)音資源可以產(chǎn)生一個(gè)音調(diào),因此不一定需要壓縮音同時(shí)也不支持ms_genziptone。
DI
由于在DI板卡中不具備會(huì)議連接擴(kuò)展功能,下面的調(diào)用不支持:

當(dāng)座席用戶(hù)使用耳機(jī)而不是電話(huà)時(shí),可以使用壓縮音。耳機(jī)不能振鈴,因此要產(chǎn)生一個(gè)壓縮音。由于HDSI板卡具有板上語(yǔ)音資源,而語(yǔ)音資源可以產(chǎn)生一個(gè)音調(diào),因此不一定需要壓縮音同時(shí)也不支持ms_genziptone。
MSI
不支持下面的調(diào)用。在每一個(gè)函數(shù)調(diào)用后面提供了附加的信息
ms_genringCallerID
加入ms_genringCallerID()調(diào)用可以讓?xiě)?yīng)用開(kāi)發(fā)人員不必在應(yīng)用層完成FSK主叫鑒權(quán)。DI和HDSI板卡的板上語(yǔ)音資源具有FSK能力,能夠在內(nèi)部控制FSK的產(chǎn)生。
ms_ResultMsg和ms_Result值
加入ms_ResultMsg和ms_Result調(diào)用可以加強(qiáng)站設(shè)置中的處理錯(cuò)誤消息的能力。
ms_SendData
加入ms_SendData()調(diào)用可以把FSK數(shù)據(jù)送到一個(gè)摘機(jī)座席。DI和HDSI板卡的板上語(yǔ)音資源具有FSK能力,能夠在內(nèi)部控制FSK的產(chǎn)生。
ms_SetMsgWaitlnd
ms_SetMsgWaitlnd函數(shù)用FSK數(shù)據(jù)去控制消息等待燈的亮或者滅。DI和HDSI板卡在他們的板上語(yǔ)音資源上具有FSK能力,能夠在內(nèi)部控制FSK的產(chǎn)生。
附錄A 產(chǎn)品密度矩陣表示
表6的產(chǎn)品密度矩陣是為了幫助確定基于基本資源要求的最優(yōu)硬件解決方案。在資源配置一列,xx代表特定的資源配置的國(guó)家代碼。
結(jié)合產(chǎn)品數(shù)據(jù)表的產(chǎn)品特性的另外一個(gè)對(duì)比,請(qǐng)參見(jiàn):http://www.dialogic.com

表6 產(chǎn)品密度矩陣
下面的表列出了本文檔中討論過(guò)的停產(chǎn)了的板卡和建議作為替換的板卡

表7 停產(chǎn)板卡的替換建議
附錄B 函數(shù)調(diào)用列表:
下面的函數(shù)調(diào)用包括在本文檔的信息范圍之內(nèi):

附錄C 注意事項(xiàng):
下面的問(wèn)題追蹤記錄(PTRs)描述了與本文檔中討論的板子相關(guān)的事項(xiàng):
[全文英文版]
|