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

表4 FSK組標識記號的意義

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

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

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

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

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

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

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

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

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

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