■ 執(zhí)行摘要
Dialogic的交換產品提供坐席接口和其它類型的資源,是當今通信系統中的重要構建塊。這個文檔用來幫助開發(fā)者使用這些Dialogic構建塊定義和實現座席的功能。
■ 介紹
用一個通信系統中的Dialogic的交換產品提供座席接口和其它類型的資源來創(chuàng)建一個應用,需要了解坐席設置屬性,也需要分析不同的產品特性和屬性怎樣影響這些功能的應用。
這個文件描述了普通座席功能,然后描述了該功能的應用,首先是在組合式座席卡上的應用,然后是在Dialogic的Dialogic座席卡和Dialogic的?座席卡上的應用。
本文檔中全部的函數調用列表參見附錄B。
Dialogic座席卡
本文檔中的信息應用于三種類型的板卡:
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日宣布停產。本文檔中的信息能夠指導開發(fā)者從Dialogic停產的接口板轉移到Dialogic的其它座席卡上。附錄A是產品密度陣列,幫助確定基于資源要求的最好的替換板和一系列建議替換板。
縮略語:
為了文檔的清晰,表1中的縮略語可以用于板卡的索引。
參考板卡 |
縮略語 |
Dialogic Dialogic座席卡 |
DI |
Dialogic 座席卡 |
HDSI |
組合式座席卡 |
MSI |
■ 通用坐席集合特性
設備管理:
所有座席的設置都是通過調用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)
創(chuàng)建、切斷電話資源之間的音頻連接都需要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結構的靜態(tài)配置下,
必須通過ms_getxmitslot()獲得傳輸聲音資源的CT總線時隙,而不是通過調用語音API函數dx_getxmitslot()。靜態(tài)配置時在一個語音資源上調用dx_getxmitslot()將產生"EDX_SH_MISSING"錯誤信息,指示CT總線交換矩陣丟失。
座席的音頻連接是通過調用ms_listen()和ms_unlisten()來創(chuàng)建和斷開的。要在DM3結構的座席和固定設置中的語音資源之間創(chuàng)建一個全雙工的音頻連接,傳給ms_listen()的SC總線/CT總線時隙應該是座席傳輸音頻的SC總線/CT總線時隙。換句話說,站的設置應該"監(jiān)聽它自己"。在一個座席和另一個語音資源之間創(chuàng)建一個全雙工的音頻連接,傳遞給ms_listen()的SC總線/CT總線時隙是xx_getmitslot()API調用的返回值.
1.使用簡潔PCI的CT總線支持4096時隙。
2.HDSI/1200不提供相關的聲音資源。D40408LSAR2為專用語音資源或路由聲音資源提供資源配置。
表2 支持的和不支持的API調用
信令
所有座席通過把設備的句柄傳遞給ATMS_TSSGBIT() MSI API來檢測當前的摘掛機狀態(tài)。這個函數會返回以下兩種值之一。
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之間的值來唯一的標識這個頻率。
這個節(jié)奏的長度在cadlength字段內規(guī)定,應該通過MS_RNGA_CADLENGTH設置為6秒的默認長度。
MS_CADENCE的最后的字段是一個指向節(jié)奏(cadence)模式的指針。表3列出了不同的板卡支持的節(jié)奏模式。
注意HDSI和DI板不支持MS_RNGA_SPLASH3和MS_RNGA_SPLASH4節(jié)奏模式。 在ms_genringex()
或者
ms_genringCallerID()中使用這些模式不會產生錯誤,但是在座席上不會產生振鈴。
一個特殊的振鈴會被分配到某個座席,并且成為這個座席默認的振鈴節(jié)奏。將來使用參數MS_RNG_DEFAULT調用ms_genringex()
或者調用ms_genring()產生的振鈴就會使用新的默認振鈴節(jié)奏。
當通過呼叫在配置為DM3的站上產生振鈴時,主叫鑒權可以被傳遞給ms_genringCallerID(),這個函數允許應用開發(fā)者詳細定義一個FSK調制格式的主叫鑒權字符串。增加的ms_genringCallerID()函數使用ms_genringCallerID()API函數調用完成FSK格式的主叫鑒權傳遞,讓應用開發(fā)人員不必在主機層設置主叫鑒權功能。
需要注意的是同時使用MS_RNGA_SHORTLONG特殊振鈴和ms_genringCallerID()調用會引起主叫鑒權傳輸失敗。表4列出了現在支持的FSK組鑒權標記。
HDSI和DI板在<INSTALL DIRECTORY>\Dialogic\Data目錄下有這個config文件可以用于改變默認的站動作.默認的振鈴節(jié)奏模板可以通過編輯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文件的位置和名字執(zhí)行。這個工具會創(chuàng)建一個新的FCD文件,該文件必須在配置管理列表中相應板卡的FCD文件Name域上詳細說明.例見圖2.
表3支持和不支持的音頻模式

表4 FSK組標識記號的意義

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

圖2.配置管理舉例
播放語速和音量控制
HDSI板不支持語速和音量的控制。DISI16R2, DISI24R2, 和DISI32R2支持語速和音量控制3。
播放語速和音量可以通過語音API函數來控制。
- 直接改變語速和聲音,使用dx_adjsv().
dx_adjsv()語音API函數可以直接在已說明的信道調節(jié)語速或者音量。語速或者音量可設置成一個值,再逐漸的調節(jié)或者是設置為鎖定。語速和音量調節(jié)表有21個條目,代表21個不同級別的語速和音量,分別在默認語速和音量上下各有10個。dx_setsvmt()函數通過可設置的值來調用這個表。
- 在指定的條件下修改語速或者音量(例如:如果DTMF是"1",語速就增加一個級別),使用dx_setsvcond():dx_setsvcond()語音API函數為稍后在指定語音設備上的播放文件設置語速和音量調節(jié)以及調節(jié)條件。可以在一個播放文件開始時設置調節(jié)條件,或者在播放中間為一個即將到來的數字設置播放條件。任何時候,調節(jié)條件都可以改變或者取消,
dx_setsvcond()的函數調用可以重復。調用函數dx_clrsvcond()可以清除當前的速度和聲音條件。
API數據結構
MSI數據結構:
MS_CADENCE
MS_CADENCE數據結構用于說明詳細的節(jié)奏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中的掩碼域指定說明的語音設備的特性:

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

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

其它Dialogic產品中的MSI API支持
HDSI
由于HDSI板卡現在沒有會議資源或者能力,下面的調用不支持:

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

當座席用戶使用耳機而不是電話時,可以使用壓縮音。耳機不能振鈴,因此要產生一個壓縮音。由于HDSI板卡具有板上語音資源,而語音資源可以產生一個音調,因此不一定需要壓縮音同時也不支持ms_genziptone。
MSI
不支持下面的調用。在每一個函數調用后面提供了附加的信息
ms_genringCallerID
加入ms_genringCallerID()調用可以讓應用開發(fā)人員不必在應用層完成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的產品密度矩陣是為了幫助確定基于基本資源要求的最優(yōu)硬件解決方案。在資源配置一列,xx代表特定的資源配置的國家代碼。
結合產品數據表的產品特性的另外一個對比,請參見:http://www.dialogic.com

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

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

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