定義和實現(xiàn)座席特性集合
 


執(zhí)行摘要

  Dialogic的交換產(chǎn)品提供坐席接口和其它類型的資源,是當今通信系統(tǒng)中的重要構建塊。這個文檔用來幫助開發(fā)者使用這些Dialogic構建塊定義和實現(xiàn)座席的功能。

介紹

  用一個通信系統(tǒng)中的Dialogic的交換產(chǎn)品提供座席接口和其它類型的資源來創(chuàng)建一個應用,需要了解坐席設置屬性,也需要分析不同的產(chǎn)品特性和屬性怎樣影響這些功能的應用。

  這個文件描述了普通座席功能,然后描述了該功能的應用,首先是在組合式座席卡上的應用,然后是在Dialogic的Dialogic座席卡和Dialogic的?座席卡上的應用。

  本文檔中全部的函數(shù)調(diào)用列表參見附錄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日宣布停產(chǎn)。本文檔中的信息能夠指導開發(fā)者從Dialogic停產(chǎn)的接口板轉(zhuǎn)移到Dialogic的其它座席卡上。附錄A是產(chǎn)品密度陣列,幫助確定基于資源要求的最好的替換板和一系列建議替換板。

  縮略語:
  為了文檔的清晰,表1中的縮略語可以用于板卡的索引。

參考板卡 縮略語
Dialogic Dialogic座席卡 DI
Dialogic 座席卡 HDSI
組合式座席卡 MSI

表1 板卡索引的縮略語


通用坐席集合特性

  設備管理:

  所有座席的設置都是通過調(diào)用ms_open()和ms_close() API 函數(shù)來管理的。開、關操作在所有座席產(chǎn)品中都是一樣的。

  一般通過ms_open()API調(diào)用來打開一個座席接口設備,并要求以ASCIIZ字符串形式傳遞這個設備的名字,格式是misB<b>C<c>,這里的<b>代表板號,<c>代表座席號,此數(shù)范圍從1到板上的座席接口的最大數(shù)目。

  ms_open()函數(shù)在座席設備成功打開之后返回設備的句柄。

  設備名可以在注冊表中查到,在HKEY_LOCAL_MACHINE\SOFTWARE\Dialogic\Configuration\Protocol Drivers下。具有Spring Ware結構的設備設置放在DlcSram目錄里,DM3結構的設備設置放在DLGCDM目錄里。

  關掉一個設備要求將設備的句柄傳遞到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座席的設置不提供相關的語音資源。需要語音資源的應用必須在系統(tǒng)配置中添加可路由語音資源的板卡,并且使用這些板卡上的可路由語音資源。使用MSI站設置的應用只要需要語音操作就必須向坐席集合提供一個語音資源。

  使用大部分DI和HDSI板卡的座席帶有永久的語音資源。由于這樣的語音資源不能從座席路由至需要它的地方,分配給一個座席的語音資源當系統(tǒng)服務開始時就不能再改變了。

  要判定哪個語音資源永久地路由到了一個特定的座席,參見注冊表\\HKEY_LOCAL_MACHINE\SOFTWARE\
Dialogic\Configuration\ProtocolDrivers\DLGCDM3\Devices。
所有的使用DM3結構的設備列在這個目錄下。每一座席集合都保存在一個唯一目錄中,該目錄包括一套座席使用的關鍵值。VoiceDevice 關鍵詞包括座席的語音資源的名字。

  所有座席都可以通過調(diào)用ms_getxmitslot()函數(shù)得到傳送它們的CT總線的時隙。在一個使用DM3結構的靜態(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結構的座席和固定設置中的語音資源之間創(chuàng)建一個全雙工的音頻連接,傳給ms_listen()的SC總線/CT總線時隙應該是座席傳輸音頻的SC總線/CT總線時隙。換句話說,站的設置應該"監(jiān)聽它自己"。在一個座席和另一個語音資源之間創(chuàng)建一個全雙工的音頻連接,傳遞給ms_listen()的SC總線/CT總線時隙是xx_getmitslot()API調(diào)用的返回值.

1.使用簡潔PCI的CT總線支持4096時隙。
2.HDSI/1200不提供相關的聲音資源。D40408LSAR2為專用語音資源或路由聲音資源提供資源配置。


表2 支持的和不支持的API調(diào)用

  信令

  所有座席通過把設備的句柄傳遞給ATMS_TSSGBIT() MSI API來檢測當前的摘掛機狀態(tài)。這個函數(shù)會返回以下兩種值之一。
  MS_ONHOOK - 座席掛機
  MS_OFFHOOK - 座席摘機

  振鈴產(chǎn)生和主叫ID(FSK)信令
  應用程序可以通過下面的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)用,也支持基礎的和擴展的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(),它需要得到這個座席設備的句柄,產(chǎn)生振鈴周期的的最大值,和API阻塞模式(同步或異步)。

  通過擴展的MSI API函數(shù)ms_genringex()和ms_genringCallerID(),可以產(chǎn)生特殊的振鈴。特殊的振鈴要求應用程序通過ms_setbrdparm() MSI API 函數(shù)激活MSG_DISTINCTRNG板層的參數(shù)。

  調(diào)用ms_setbrdparm()要求一個空指針指向MS_CADENCE結構,MS_CADENCE結構要求cadid字段有一個1到8之間的值來唯一的標識這個頻率。

  這個節(jié)奏的長度在cadlength字段內(nèi)規(guī)定,應該通過MS_RNGA_CADLENGTH設置為6秒的默認長度。

  MS_CADENCE的最后的字段是一個指向節(jié)奏(cadence)模式的指針。表3列出了不同的板卡支持的節(jié)奏模式。

  注意HDSI和DI板不支持MS_RNGA_SPLASH3和MS_RNGA_SPLASH4節(jié)奏模式。 在ms_genringex() 或者

  ms_genringCallerID()中使用這些模式不會產(chǎn)生錯誤,但是在座席上不會產(chǎn)生振鈴。

  一個特殊的振鈴會被分配到某個座席,并且成為這個座席默認的振鈴節(jié)奏。將來使用參數(shù)MS_RNG_DEFAULT調(diào)用ms_genringex() 或者調(diào)用ms_genring()產(chǎn)生的振鈴就會使用新的默認振鈴節(jié)奏。

  當通過呼叫在配置為DM3的站上產(chǎn)生振鈴時,主叫鑒權可以被傳遞給ms_genringCallerID(),這個函數(shù)允許應用開發(fā)者詳細定義一個FSK調(diào)制格式的主叫鑒權字符串。增加的ms_genringCallerID()函數(shù)使用ms_genringCallerID()API函數(shù)調(diào)用完成FSK格式的主叫鑒權傳遞,讓應用開發(fā)人員不必在主機層設置主叫鑒權功能。

  需要注意的是同時使用MS_RNGA_SHORTLONG特殊振鈴和ms_genringCallerID()調(diào)用會引起主叫鑒權傳輸失敗。表4列出了現(xiàn)在支持的FSK組鑒權標記。

  HDSI和DI板在<INSTALL DIRECTORY>\Dialogic\Data目錄下有這個config文件可以用于改變默認的站動作.默認的振鈴節(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
當一個config文件被修改時,<INSTALL DIRECTORY>\Dialogic\Bin\fcdgen 工具必須用修改過的或者新的config文件的位置和名字執(zhí)行。這個工具會創(chuàng)建一個新的FCD文件,該文件必須在配置管理列表中相應板卡的FCD文件Name域上詳細說明.例見圖2.


表3支持和不支持的音頻模式


表4 FSK組標識記號的意義


圖1 振鈴音頻模板示例

  消息等待指示器

  MSI API可以通過調(diào)用ms_SetMsgWaitInd()接入消息等待指示器(MWI),該函數(shù)可以產(chǎn)生一個FSK信號來點亮消息等待LED。這個API函數(shù)的調(diào)用要求應用開發(fā)者提供設備的句柄和兩個MWI的狀態(tài)變量之一來實現(xiàn)MWI LED的操作:

  • MS_MSGINDON :打開MWI LED
  • MS_MSGINDOFF:關上MWI LED

  只有HDSI和DI板支持ms_SetMsgWaitInd()。這個API函數(shù)調(diào)用讓應用開發(fā)者不必在主機層通過FSK消息完成消息等待功能。

  壓縮音

  只有MSI站的設備支持壓縮音,配置為DM3結構座席可以使用自身的語音資源(通過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)。針對各種聲音資源和坐席集合的組合,應用開發(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ù)結構中的某個參數(shù)代表的特性。FEATURE_TABLE結構中的ft_tone字段包括一個位掩碼,它指出了一個特定的語音設備支持的音調(diào)特性。

  播放和錄音

  由于MSI API沒有提供播放或者紀錄媒體的調(diào)用函數(shù),采用語音API函數(shù)進行播放和錄音。針對各種聲音資源和坐席集合的組合,應用開發(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ù)結構中的某個字段代表的特性。ft_play字段包含的一個位掩碼指定了一個特定的語音設備支持的播放特性。ft_record字段包含的一個位掩碼指定了一個特定的語音設備支持的錄音特性。

 


圖2.配置管理舉例

  播放語速和音量控制

  HDSI板不支持語速和音量的控制。DISI16R2, DISI24R2, 和DISI32R2支持語速和音量控制3。
播放語速和音量可以通過語音API函數(shù)來控制。

  • 直接改變語速和聲音,使用dx_adjsv().
    dx_adjsv()語音API函數(shù)可以直接在已說明的信道調(diào)節(jié)語速或者音量。語速或者音量可設置成一個值,再逐漸的調(diào)節(jié)或者是設置為鎖定。語速和音量調(diào)節(jié)表有21個條目,代表21個不同級別的語速和音量,分別在默認語速和音量上下各有10個。dx_setsvmt()函數(shù)通過可設置的值來調(diào)用這個表。
  • 在指定的條件下修改語速或者音量(例如:如果DTMF是"1",語速就增加一個級別),使用dx_setsvcond():dx_setsvcond()語音API函數(shù)為稍后在指定語音設備上的播放文件設置語速和音量調(diào)節(jié)以及調(diào)節(jié)條件?梢栽谝粋播放文件開始時設置調(diào)節(jié)條件,或者在播放中間為一個即將到來的數(shù)字設置播放條件。任何時候,調(diào)節(jié)條件都可以改變或者取消, dx_setsvcond()的函數(shù)調(diào)用可以重復。調(diào)用函數(shù)dx_clrsvcond()可以清除當前的速度和聲音條件。

  API數(shù)據(jù)結構
  MSI數(shù)據(jù)結構:
  MS_CADENCE
  MS_CADENCE數(shù)據(jù)結構用于說明詳細的節(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ù)結構
  FEATURE_TABLE
  FEATURE_TABLE數(shù)據(jù)結構用于說明一個特定的設備支持的特性。
  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)數(shù)據(jù)結構用于詳細說明一個播放文件的調(diào)節(jié)條件,根據(jù)這個條件,可以在重放前或者重放過程中按照用戶輸入的數(shù)字調(diào)節(jié)速度或者音量。

  

  DX_SVMT

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

  

  其它Dialogic產(chǎn)品中的MSI API支持

  HDSI
  由于HDSI板卡現(xiàn)在沒有會議資源或者能力,下面的調(diào)用不支持:

  

  當座席用戶使用耳機而不是電話時,可以使用壓縮音。耳機不能振鈴,因此要產(chǎn)生一個壓縮音。由于HDSI板卡具有板上語音資源,而語音資源可以產(chǎn)生一個音調(diào),因此不一定需要壓縮音同時也不支持ms_genziptone。

  DI
  由于在DI板卡中不具備會議連接擴展功能,下面的調(diào)用不支持:

  

  當座席用戶使用耳機而不是電話時,可以使用壓縮音。耳機不能振鈴,因此要產(chǎn)生一個壓縮音。由于HDSI板卡具有板上語音資源,而語音資源可以產(chǎn)生一個音調(diào),因此不一定需要壓縮音同時也不支持ms_genziptone。

  MSI
  不支持下面的調(diào)用。在每一個函數(shù)調(diào)用后面提供了附加的信息

  ms_genringCallerID
  加入ms_genringCallerID()調(diào)用可以讓應用開發(fā)人員不必在應用層完成FSK主叫鑒權。DI和HDSI板卡的板上語音資源具有FSK能力,能夠在內(nèi)部控制FSK的產(chǎn)生。

  ms_ResultMsg和ms_Result值
  加入ms_ResultMsg和ms_Result調(diào)用可以加強站設置中的處理錯誤消息的能力。

  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代表特定的資源配置的國家代碼。
  結合產(chǎn)品數(shù)據(jù)表的產(chǎn)品特性的另外一個對比,請參見:http://www.dialogic.com


表6 產(chǎn)品密度矩陣

  下面的表列出了本文檔中討論過的停產(chǎn)了的板卡和建議作為替換的板卡


表7 停產(chǎn)板卡的替換建議

4.持續(xù)的語音處理
5.可路由語音
6.可路由語音
7.任何有PCI插槽的HDSI板卡


  附錄B 函數(shù)調(diào)用列表:

  下面的函數(shù)調(diào)用包括在本文檔的信息范圍之內(nèi):


  附錄C 注意事項:

  下面的問題追蹤記錄(PTRs)描述了與本文檔中討論的板子相關的事項:

  • PTR 22914 -如果當前座席處在摘機狀態(tài),則調(diào)用ms_open()時ATMS_TSSGBIT()將返回MS_ONHOOK
  • PTR 22919 - dx_playtone()在DI板子上只能播放35個單音
  • PTR 26866 -當座席處在摘機狀態(tài)時,如果調(diào)用ms_close(),必須重啟系統(tǒng)服務以便正確的操作站的設置。
  • PTR 28203 -Dialogic Dialogic DI/0408-LS-A不檢測一個在邊緣條件下正在摘機的遠端電話。即使呼叫已經(jīng)連接了,板卡也不發(fā)送已連接結果消息。
  • PTR 29235 - DX_MAXNOSIL終端條件不按照預計精確地終止。(例如:設置的兩秒鐘的最大化非靜音終止條件,而實際可能是在大于兩秒鐘之后完成終止的。)

 

[全文英文版]

 

 

融合通信專欄>>媒體處理板卡>>