■ 執(zhí)行摘要
Dialogic的交換產(chǎn)品提供坐席接口和其它類型的資源,是當(dāng)今通信系統(tǒng)中的重要構(gòu)建塊。這個文檔用來幫助開發(fā)者使用這些Dialogic構(gòu)建塊定義和實現(xiàn)座席的功能。
■ 介紹
用一個通信系統(tǒng)中的Dialogic的交換產(chǎn)品提供座席接口和其它類型的資源來創(chuàng)建一個應(yīng)用,需要了解坐席設(shè)置屬性,也需要分析不同的產(chǎn)品特性和屬性怎樣影響這些功能的應(yīng)用。
這個文件描述了普通座席功能,然后描述了該功能的應(yīng)用,首先是在組合式座席卡上的應(yīng)用,然后是在Dialogic的Dialogic座席卡和Dialogic的?座席卡上的應(yīng)用。
本文檔中全部的函數(shù)調(diào)用列表參見附錄B。
Dialogic座席卡
本文檔中的信息應(yīng)用于三種類型的板卡:
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)開發(fā)者從Dialogic停產(chǎn)的接口板轉(zhuǎn)移到Dialogic的其它座席卡上。附錄A是產(chǎn)品密度陣列,幫助確定基于資源要求的最好的替換板和一系列建議替換板。
縮略語:
為了文檔的清晰,表1中的縮略語可以用于板卡的索引。
參考板卡 |
縮略語 |
Dialogic Dialogic座席卡 |
DI |
Dialogic 座席卡 |
HDSI |
組合式座席卡 |
MSI |
■ 通用坐席集合特性
設(shè)備管理:
所有座席的設(shè)置都是通過調(diào)用ms_open()和ms_close() API 函數(shù)來管理的。開、關(guān)操作在所有座席產(chǎn)品中都是一樣的。
一般通過ms_open()API調(diào)用來打開一個座席接口設(shè)備,并要求以ASCIIZ字符串形式傳遞這個設(shè)備的名字,格式是misB<b>C<c>,這里的<b>代表板號,<c>代表座席號,此數(shù)范圍從1到板上的座席接口的最大數(shù)目。
ms_open()函數(shù)在座席設(shè)備成功打開之后返回設(shè)備的句柄。
設(shè)備名可以在注冊表中查到,在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)掉一個設(shè)備要求將設(shè)備的句柄傳遞到ms_close API調(diào)用。
CT總線路由(routing)
創(chuàng)建、切斷電話資源之間的音頻連接都需要CT總線路由。CT總線與SC總線同義,但CT總線比較快,支持2048時隙(PCI版本),SC總線支持1024時隙1。
如果一個系統(tǒng)同時包含CT總線和SC總線,系統(tǒng)使用SC總線的性能。
MSI板不包括板內(nèi)語音資源。由于這個原因,MSI座席的設(shè)置不提供相關(guān)的語音資源。需要語音資源的應(yīng)用必須在系統(tǒng)配置中添加可路由語音資源的板卡,并且使用這些板卡上的可路由語音資源。使用MSI站設(shè)置的應(yīng)用只要需要語音操作就必須向坐席集合提供一個語音資源。
使用大部分DI和HDSI板卡的座席帶有永久的語音資源。由于這樣的語音資源不能從座席路由至需要它的地方,分配給一個座席的語音資源當(dāng)系統(tǒng)服務(wù)開始時就不能再改變了。
要判定哪個語音資源永久地路由到了一個特定的座席,參見注冊表\\HKEY_LOCAL_MACHINE\SOFTWARE\
Dialogic\Configuration\ProtocolDrivers\DLGCDM3\Devices。
所有的使用DM3結(jié)構(gòu)的設(shè)備列在這個目錄下。每一座席集合都保存在一個唯一目錄中,該目錄包括一套座席使用的關(guān)鍵值。VoiceDevice
關(guān)鍵詞包括座席的語音資源的名字。
所有座席都可以通過調(diào)用ms_getxmitslot()函數(shù)得到傳送它們的CT總線的時隙。在一個使用DM3結(jié)構(gòu)的靜態(tài)配置下,
必須通過ms_getxmitslot()獲得傳輸聲音資源的CT總線時隙,而不是通過調(diào)用語音API函數(shù)dx_getxmitslot()。靜態(tài)配置時在一個語音資源上調(diào)用dx_getxmitslot()將產(chǎn)生"EDX_SH_MISSING"錯誤信息,指示CT總線交換矩陣丟失。
座席的音頻連接是通過調(diào)用ms_listen()和ms_unlisten()來創(chuàng)建和斷開的。要在DM3結(jié)構(gòu)的座席和固定設(shè)置中的語音資源之間創(chuàng)建一個全雙工的音頻連接,傳給ms_listen()的SC總線/CT總線時隙應(yīng)該是座席傳輸音頻的SC總線/CT總線時隙。換句話說,站的設(shè)置應(yīng)該"監(jiān)聽它自己"。在一個座席和另一個語音資源之間創(chuàng)建一個全雙工的音頻連接,傳遞給ms_listen()的SC總線/CT總線時隙是xx_getmitslot()API調(diào)用的返回值.
1.使用簡潔PCI的CT總線支持4096時隙。
2.HDSI/1200不提供相關(guān)的聲音資源。D40408LSAR2為專用語音資源或路由聲音資源提供資源配置。
表2 支持的和不支持的API調(diào)用
信令
所有座席通過把設(shè)備的句柄傳遞給ATMS_TSSGBIT() MSI API來檢測當(dāng)前的摘掛機狀態(tài)。這個函數(shù)會返回以下兩種值之一。
MS_ONHOOK - 座席掛機
MS_OFFHOOK - 座席摘機
振鈴產(chǎn)生和主叫ID(FSK)信令
應(yīng)用程序可以通過下面的MSI API函數(shù)在一個座席中初始化振鈴周期:ms_genring()、s_genringEx()和
ms_genring
-CallerID()。MSI振鈴產(chǎn)生能力受限于ms_genring()和擴展的ms_genringEx()API調(diào)用。
為主叫ID提供頻移鍵控(FSK)能力,HDSI和DI座席支持ms_genringCallerID() API調(diào)用,也支持基礎(chǔ)的和擴展的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(),它需要得到這個座席設(shè)備的句柄,產(chǎn)生振鈴周期的的最大值,和API阻塞模式(同步或異步)。
通過擴展的MSI API函數(shù)ms_genringex()和ms_genringCallerID(),可以產(chǎn)生特殊的振鈴。特殊的振鈴要求應(yīng)用程序通過ms_setbrdparm()
MSI API 函數(shù)激活MSG_DISTINCTRNG板層的參數(shù)。
調(diào)用ms_setbrdparm()要求一個空指針指向MS_CADENCE結(jié)構(gòu),MS_CADENCE結(jié)構(gòu)要求cadid字段有一個1到8之間的值來唯一的標(biāo)識這個頻率。
這個節(jié)奏的長度在cadlength字段內(nèi)規(guī)定,應(yīng)該通過MS_RNGA_CADLENGTH設(shè)置為6秒的默認(rèn)長度。
MS_CADENCE的最后的字段是一個指向節(jié)奏(cadence)模式的指針。表3列出了不同的板卡支持的節(jié)奏模式。
注意HDSI和DI板不支持MS_RNGA_SPLASH3和MS_RNGA_SPLASH4節(jié)奏模式。 在ms_genringex()
或者
ms_genringCallerID()中使用這些模式不會產(chǎn)生錯誤,但是在座席上不會產(chǎn)生振鈴。
一個特殊的振鈴會被分配到某個座席,并且成為這個座席默認(rèn)的振鈴節(jié)奏。將來使用參數(shù)MS_RNG_DEFAULT調(diào)用ms_genringex()
或者調(diào)用ms_genring()產(chǎn)生的振鈴就會使用新的默認(rèn)振鈴節(jié)奏。
當(dāng)通過呼叫在配置為DM3的站上產(chǎn)生振鈴時,主叫鑒權(quán)可以被傳遞給ms_genringCallerID(),這個函數(shù)允許應(yīng)用開發(fā)者詳細(xì)定義一個FSK調(diào)制格式的主叫鑒權(quán)字符串。增加的ms_genringCallerID()函數(shù)使用ms_genringCallerID()API函數(shù)調(diào)用完成FSK格式的主叫鑒權(quán)傳遞,讓應(yīng)用開發(fā)人員不必在主機層設(shè)置主叫鑒權(quán)功能。
需要注意的是同時使用MS_RNGA_SHORTLONG特殊振鈴和ms_genringCallerID()調(diào)用會引起主叫鑒權(quán)傳輸失敗。表4列出了現(xiàn)在支持的FSK組鑒權(quán)標(biāo)記。
HDSI和DI板在<INSTALL DIRECTORY>\Dialogic\Data目錄下有這個config文件可以用于改變默認(rèn)的站動作.默認(rèn)的振鈴節(jié)奏模板可以通過編輯Net_RingOn和Net_RingOff參數(shù)來改變,參數(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>
下面的屬性可以改變,但是這三個參數(shù)的值必須相同:<Min Pulse Interval>, <Nominal
Pulse Interval>和<Max Pulse Interval>.圖1繪出了這些參數(shù)怎樣影響振鈴模式。
圖1中的振鈴模式在Net_RingOn和Net_RingOff參數(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)一個config文件被修改時,<INSTALL DIRECTORY>\Dialogic\Bin\fcdgen
工具必須用修改過的或者新的config文件的位置和名字執(zhí)行。這個工具會創(chuàng)建一個新的FCD文件,該文件必須在配置管理列表中相應(yīng)板卡的FCD文件Name域上詳細(xì)說明.例見圖2.
表3支持和不支持的音頻模式
表4 FSK組標(biāo)識記號的意義
圖1 振鈴音頻模板示例
消息等待指示器
MSI API可以通過調(diào)用ms_SetMsgWaitInd()接入消息等待指示器(MWI),該函數(shù)可以產(chǎn)生一個FSK信號來點亮消息等待LED。這個API函數(shù)的調(diào)用要求應(yīng)用開發(fā)者提供設(shè)備的句柄和兩個MWI的狀態(tài)變量之一來實現(xiàn)MWI
LED的操作:
- MS_MSGINDON :打開MWI LED
- MS_MSGINDOFF:關(guān)上MWI LED
只有HDSI和DI板支持ms_SetMsgWaitInd()。這個API函數(shù)調(diào)用讓應(yīng)用開發(fā)者不必在主機層通過FSK消息完成消息等待功能。
壓縮音
只有MSI站的設(shè)備支持壓縮音,配置為DM3結(jié)構(gòu)座席可以使用自身的語音資源(通過dx_playtone() 或者dx_playtoneEx())產(chǎn)生一個類似于壓縮音的音調(diào),而不是用MSI
API產(chǎn)生一個壓縮音。
會議
DISI16R2, DISI24R2, 和 DISI32R2 板有16個可以取消回聲的會議資源,DI0408LSAR2有9個可以取消回聲的會議資源,MSI板有32個不能取消回聲的會議資源。HDSI產(chǎn)品目前還沒有會議資源。
音調(diào)的產(chǎn)生和檢測
由于MSI API沒有提供產(chǎn)生和檢測音調(diào)的函數(shù),聲音API函數(shù)就用于產(chǎn)生和檢測音調(diào)。針對各種聲音資源和坐席集合的組合,應(yīng)用開發(fā)人員必須遵循可路由的方針。
在Windows操作系統(tǒng)下的聲音資源,參見:
http://www.dialogic.com
在Linux操作系統(tǒng)下的聲音資源,參見:
http://www.dialogic.com
動態(tài)的判定一個語音資源的音調(diào)產(chǎn)生能力和檢測能力,可以調(diào)用dx_getfeaturelist()
語音API函數(shù)。在語音API的頭文件dxxxlib.h中定義了用FEATURE_TABLE數(shù)據(jù)結(jié)構(gòu)中的某個參數(shù)代表的特性。FEATURE_TABLE結(jié)構(gòu)中的ft_tone字段包括一個位掩碼,它指出了一個特定的語音設(shè)備支持的音調(diào)特性。
播放和錄音
由于MSI API沒有提供播放或者紀(jì)錄媒體的調(diào)用函數(shù),采用語音API函數(shù)進行播放和錄音。針對各種聲音資源和坐席集合的組合,應(yīng)用開發(fā)人員必須遵循可路由的方針。
Windows操作系統(tǒng)下的語音資源,參見:
http://www.dialogic.com
Linux操作系統(tǒng)下的語音資源,參見:
http://www.dialogic.com
想要動態(tài)的判定所有的語音資源的播放和錄制功能,可以使用dx_getfeaturelist()語音API函數(shù)。在語音API的頭文件dxxxlib.h中定義了用FEATURE_TABLE數(shù)據(jù)結(jié)構(gòu)中的某個字段代表的特性。ft_play字段包含的一個位掩碼指定了一個特定的語音設(shè)備支持的播放特性。ft_record字段包含的一個位掩碼指定了一個特定的語音設(shè)備支持的錄音特性。
圖2.配置管理舉例
播放語速和音量控制
HDSI板不支持語速和音量的控制。DISI16R2, DISI24R2, 和DISI32R2支持語速和音量控制3。
播放語速和音量可以通過語音API函數(shù)來控制。
- 直接改變語速和聲音,使用dx_adjsv().
dx_adjsv()語音API函數(shù)可以直接在已說明的信道調(diào)節(jié)語速或者音量。語速或者音量可設(shè)置成一個值,再逐漸的調(diào)節(jié)或者是設(shè)置為鎖定。語速和音量調(diào)節(jié)表有21個條目,代表21個不同級別的語速和音量,分別在默認(rèn)語速和音量上下各有10個。dx_setsvmt()函數(shù)通過可設(shè)置的值來調(diào)用這個表。
- 在指定的條件下修改語速或者音量(例如:如果DTMF是"1",語速就增加一個級別),使用dx_setsvcond():dx_setsvcond()語音API函數(shù)為稍后在指定語音設(shè)備上的播放文件設(shè)置語速和音量調(diào)節(jié)以及調(diào)節(jié)條件?梢栽谝粋播放文件開始時設(shè)置調(diào)節(jié)條件,或者在播放中間為一個即將到來的數(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)用于說明詳細(xì)的節(jié)奏ID的振鈴模式和長度。
typedef ms_cadence {
BYTE cadid; // Cadence ID, <1-8>
BYTE cadlength; // Cadence length
BYTE* cadpattern; // Pointer to cadence pattern
} MS_CADENCE;
語音數(shù)據(jù)結(jié)構(gòu)
FEATURE_TABLE
FEATURE_TABLE數(shù)據(jù)結(jié)構(gòu)用于說明一個特定的設(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中的掩碼域指定說明的語音設(shè)備的特性:
表5:FEATURE_TABLE中域的特性說明
DX_SVCB
速度/音量條件塊(DX_SVCB)數(shù)據(jù)結(jié)構(gòu)用于詳細(xì)說明一個播放文件的調(diào)節(jié)條件,根據(jù)這個條件,可以在重放前或者重放過程中按照用戶輸入的數(shù)字調(diào)節(jié)速度或者音量。
DX_SVMT
速度/音量調(diào)節(jié)表(DX_SVMT)數(shù)據(jù)結(jié)構(gòu)有21個代表不同級別的速度和音量的條目,用于指定信道的速度或者音量調(diào)節(jié)的變化率。這些值可以設(shè)置或者用dx_setsvmt()和dx_getsvmt()從表中取值。
其它Dialogic產(chǎn)品中的MSI API支持
HDSI
由于HDSI板卡現(xiàn)在沒有會議資源或者能力,下面的調(diào)用不支持:
當(dāng)座席用戶使用耳機而不是電話時,可以使用壓縮音。耳機不能振鈴,因此要產(chǎn)生一個壓縮音。由于HDSI板卡具有板上語音資源,而語音資源可以產(chǎn)生一個音調(diào),因此不一定需要壓縮音同時也不支持ms_genziptone。
DI
由于在DI板卡中不具備會議連接擴展功能,下面的調(diào)用不支持:
當(dāng)座席用戶使用耳機而不是電話時,可以使用壓縮音。耳機不能振鈴,因此要產(chǎn)生一個壓縮音。由于HDSI板卡具有板上語音資源,而語音資源可以產(chǎn)生一個音調(diào),因此不一定需要壓縮音同時也不支持ms_genziptone。
MSI
不支持下面的調(diào)用。在每一個函數(shù)調(diào)用后面提供了附加的信息
ms_genringCallerID
加入ms_genringCallerID()調(diào)用可以讓應(yīng)用開發(fā)人員不必在應(yīng)用層完成FSK主叫鑒權(quán)。DI和HDSI板卡的板上語音資源具有FSK能力,能夠在內(nèi)部控制FSK的產(chǎn)生。
ms_ResultMsg和ms_Result值
加入ms_ResultMsg和ms_Result調(diào)用可以加強站設(shè)置中的處理錯誤消息的能力。
ms_SendData
加入ms_SendData()調(diào)用可以把FSK數(shù)據(jù)送到一個摘機座席。DI和HDSI板卡的板上語音資源具有FSK能力,能夠在內(nèi)部控制FSK的產(chǎn)生。
ms_SetMsgWaitlnd
ms_SetMsgWaitlnd函數(shù)用FSK數(shù)據(jù)去控制消息等待燈的亮或者滅。DI和HDSI板卡在他們的板上語音資源上具有FSK能力,能夠在內(nèi)部控制FSK的產(chǎn)生。
附錄A 產(chǎn)品密度矩陣表示
表6的產(chǎn)品密度矩陣是為了幫助確定基于基本資源要求的最優(yōu)硬件解決方案。在資源配置一列,xx代表特定的資源配置的國家代碼。
結(jié)合產(chǎn)品數(shù)據(jù)表的產(chǎn)品特性的另外一個對比,請參見:http://www.dialogic.com
表6 產(chǎn)品密度矩陣
下面的表列出了本文檔中討論過的停產(chǎn)了的板卡和建議作為替換的板卡
表7 停產(chǎn)板卡的替換建議
附錄B 函數(shù)調(diào)用列表:
下面的函數(shù)調(diào)用包括在本文檔的信息范圍之內(nèi):
附錄C 注意事項:
下面的問題追蹤記錄(PTRs)描述了與本文檔中討論的板子相關(guān)的事項:
[全文英文版]
|