7. CT ADE 體系結(jié)構(gòu)(Topaz)介紹
7.1.3. CTADE_A,路由
7.1.4. CTADE_A,路由類(lèi)型:全雙工和半雙工
7.1.5. CTADE_A, 呼叫控制、掛機(jī)處理和掛斷事件
7.1.6. CTADE_Architecture技術(shù)
7.1.7. CTADE_A 特征ID
7.1.8. CTADE_A. 設(shè)置,TOPAZ.INI
7.1.9CTADE_A. 提示音(Tones)
8. VOS 運(yùn)行日志
7. CT ADE 體系結(jié)構(gòu)(Topaz)介紹 7.1.3. CTADE_A,路由
許多電話(huà)操作需要兩種資源共同工作。例如,向呼叫者播放一段語(yǔ)音要求使用媒體資源播放文件,使用中繼資源建立與呼叫者的連接。中繼資源必須偵聽(tīng)媒體資源的輸出,這樣呼叫者才能聽(tīng)到播放的文件,媒體資源應(yīng)該偵聽(tīng)中繼資源,這樣才能處理呼叫者輸入的數(shù)字。
在大多情況下,用戶(hù)不需明確地控制路由:缺省狀態(tài)下,CTADE_A通過(guò)用戶(hù)使用的函數(shù)將用戶(hù)所需的資源路由到一起。例如,當(dāng)播放一個(gè)文件時(shí),CTADE_A確定當(dāng)前媒體資源已經(jīng)路由到了當(dāng)前中繼資源上。
但用戶(hù)可以替換Topaz的自動(dòng)路由。
看下面的一個(gè)例子:
·如果有一個(gè)媒體資源,MediaUse函數(shù)預(yù)留媒體資源并且將其路由到當(dāng)前的中繼資源上。
·缺省狀態(tài)下,F(xiàn)axUse函數(shù)預(yù)留一個(gè)與當(dāng)前中繼資源兼容的傳真資源,并且將兩者路由到一起。
·如果使用MediaPlayFile函數(shù)時(shí)還沒(méi)有打開(kāi)一個(gè)媒體資源,播放文件前,Topaz會(huì)保留一個(gè)媒體資源,并且把它路由到當(dāng)前的中繼資源,如果沒(méi)有保留中繼資源,Topaz在保留媒體資源前會(huì)先保留一個(gè)中繼資源。
·向一個(gè)會(huì)議添加任何資源時(shí),Topaz都會(huì)將兩者路由到一起。
然而,也可以調(diào)用下面的函數(shù)使自動(dòng)路由失效:
TopazDisableAutoRoute();
可以調(diào)用下面的函數(shù)使自動(dòng)路由重新有效:
TopazEnableAutoRoute();
7.1.4. CTADE_A,路由類(lèi)型:全雙工和半雙工
如果使用全雙工連接,兩種資源之間有雙向的路由,如下圖所示。每一種資源偵聽(tīng)其他資源的傳輸,典型的情況如媒體和中繼設(shè)備之間的相互路由:
然而,半雙工中,只是一種資源偵聽(tīng)另一種資源:
一個(gè)全雙工連接函數(shù)TopazRoute(Res1, Index1,
Res2, Index2)
可以創(chuàng)建如第一個(gè)圖所示的路由,資源2在偵聽(tīng)資源1,反過(guò)來(lái),資源1也在偵聽(tīng)資源2。
一個(gè)全雙工路由相當(dāng)于兩個(gè)偵聽(tīng)命令。
一個(gè)半雙工連接如第二個(gè)圖所示,資源2在偵聽(tīng)資源1,但反過(guò)來(lái)資源1沒(méi)有偵聽(tīng)資源2(除非之前有路由命令使資源1偵聽(tīng)資源2)。
7.1.5. CTADE_A, 呼叫控制、掛機(jī)處理和掛斷事件
掛斷過(guò)程中有兩個(gè)重要的問(wèn)題:
·檢測(cè)呼叫者何時(shí)掛斷
·掛斷時(shí)處理
7.1.5.1.掛斷檢測(cè)
掛斷檢測(cè)操作可以體現(xiàn)出Topaz API透明性的好處。因?yàn)楫?dāng)使用中繼函數(shù)開(kāi)發(fā)應(yīng)用程序時(shí),不需要考慮CTADE_A進(jìn)行掛斷檢測(cè)的技術(shù)細(xì)節(jié)。
當(dāng)使用開(kāi)發(fā)的應(yīng)用程序時(shí),可以使用相同的VOS代碼,不用考慮系統(tǒng),只需要改變一下Topaz的一下設(shè)置細(xì)節(jié)即可。
7.1.5.2 掛斷處理
檢測(cè)到呼叫者的掛斷操作后,VOS在當(dāng)前的p-code指令執(zhí)行完后(可能正在語(yǔ)句和表達(dá)式執(zhí)行中)停止運(yùn)行,并將控制權(quán)交給onhangup函數(shù)。然后onhangup函數(shù)就會(huì)一種執(zhí)行,直到遇見(jiàn)重啟、返回或掛斷結(jié)束(endhangup)的語(yǔ)句。如果遇見(jiàn)endhangup語(yǔ)句,效果與return語(yǔ)句相同,如果遇見(jiàn)return語(yǔ)句,程序返回到中斷的語(yǔ)句繼續(xù)執(zhí)行,如果處理onhangup的過(guò)程中又有一個(gè)掛斷事件發(fā)生,此事件將會(huì)被忽略。
大多應(yīng)用中,建議使用restart將控制權(quán)交回程序的開(kāi)始,這樣會(huì)使體系結(jié)構(gòu)比較明確。
如果掛斷發(fā)生時(shí)正在執(zhí)行象MediaPlayFile、MediaRecordFile或MediaWaitDigits等異步CTADE_A函數(shù)。VOS會(huì)中斷函數(shù),立即轉(zhuǎn)到onhangup處理。
如果掛斷發(fā)生時(shí)只在執(zhí)行其他的阻塞函數(shù)如sem_set或ser_rdbuf。VOS直到函數(shù)完成后再轉(zhuǎn)到onhangup處理。
TrunkDeferOnHangup函數(shù)和TrunkClearDeferOnHangup函數(shù)允許應(yīng)用程序定義關(guān)鍵代碼區(qū),這些代碼區(qū)不允許被onhangup處理函數(shù)中斷。一個(gè)典型的例子就是一組數(shù)據(jù)庫(kù)更新,一旦開(kāi)始,必須完全接收。當(dāng)有掛斷事件時(shí),TrunkDeferOnHangup函數(shù)后面的任何電話(huà)阻塞函數(shù)都將終止?刂茩(quán)交給onhangup函數(shù)的操作被推遲,直到函數(shù)TrunkClearDeferOnHangup。
例:
7.1.6. CTADE_Architecture技術(shù)
CTADE_Architecture(Topaz)是為API的透明性設(shè)計(jì)的,即一套程序可以在所有的電話(huà)API和所支持的所有中繼類(lèi)型下運(yùn)行。但某些特征只適用于某種技術(shù),例如,GloblaCall系統(tǒng)發(fā)送記帳比率信息,但其他中繼接口API不使用協(xié)議定義的記帳比率。所以,函數(shù)TrunkGetBilling不能提供R4GcTrunk技術(shù)到其他技術(shù)的接口,所以是不透明的。
VOS提供了控制電話(huà)資源技術(shù)細(xì)節(jié)的函數(shù),象TrunkGetInt一樣,Get/Set函數(shù)可以操作特定的技術(shù)參數(shù)和API函數(shù)。
Get/Set函數(shù)可以讀取和設(shè)置CTADE_A中只應(yīng)用于特殊技術(shù)的參數(shù)。
Get函數(shù),象MediaGetInt返回技術(shù)的布爾、字符串和整數(shù)參數(shù),比如,要獲取R4DxMedia資源當(dāng)前的播放聲音的大小,可以使用MediaGetInt函數(shù)和REGID_PlaySpeed
RegID(702):
Value = MediaGetInt(702);
Set函數(shù),象MediaSetInt可以設(shè)定技術(shù)參數(shù),例如要設(shè)定R4DxMedia資源當(dāng)前播放聲音值為7,可以使用MediaSetInt函數(shù)和REGID_PlaySpeed(702):
MediaSetInt(702, 7);
注意:
必須注意,調(diào)用API級(jí)的函數(shù)設(shè)置一個(gè)CTADE_A參數(shù)可能不只改變電路板級(jí)的參數(shù)。例如,R4DxMedia中,使用函數(shù)MediaSetBool設(shè)置REGID_R4DxMediaDisableAllToneDetection(280)為0或1來(lái)清除Dialogic提示音ID。
MediaSetBool(280, 0);
此處函數(shù)MediaSetBool沒(méi)有設(shè)置Board級(jí)的參數(shù)為0,此函數(shù)調(diào)用Dialogic的函數(shù)dx_deltones來(lái)刪除以前在此通道上的用戶(hù)定義提示音。
要詳細(xì)了解VOS中可用的函數(shù)和方法以及更多例子,參見(jiàn)Get/Set函數(shù)。
可以從CTADE_A RegIDs中找到一系列可用的RegIDs。
當(dāng)前的CTADE_A技術(shù)如下:
中繼技術(shù)
技術(shù) ID號(hào)碼 描述
SimTrunk 1001 SimPhone Trunk
R4AgTrunk 1002 R4 ag_ / dx_ API (aka LSI)
R4GcTrunk 1003 R4 gc_ API
S100Trunk 1005 S.100 CTscr_ API
R4MsTrunk 1006 R4 ms_ station API
媒體技術(shù)
技術(shù) ID號(hào)碼 描述
SimMedia 2001 SimPhone Media
R4DxMedia 2002 R4 dx_ API (aka VOX)
S100Media 2003 S.100 CTplyr_/CTrcdr_ API
WaveMedia 2004 Win32 Wave API
傳真技術(shù)
技術(shù) ID號(hào)碼 描述
R4FxFax 3001 R4 fx_ API
R4GrtFax 3002 GammaLink fax
S100Fax 3003 S.100 Fax
會(huì)議技術(shù)
技術(shù) ID號(hào)碼 描述
R4MsConf 5001 R4 ms_ conference API
R4DcbConf 5002 R4 dcb_ API
S100Conf 5003 S.100 CTconf_ API
例如,下面為R4DxMedia技術(shù)的一些(some3)RegId:
R4DxMedia RegIDs
7.1.7. CTADE_A 特征ID
特征ID
保存在Topaz 特征(Profile)中的一些描述系統(tǒng)細(xì)節(jié)的RegID稱(chēng)為特征ID。Profile的內(nèi)容可以通過(guò)TopazProfile.exe
-L命令來(lái)查看,Profile的內(nèi)容產(chǎn)生一個(gè)包含文件,產(chǎn)生的文件中的每一項(xiàng)都代表一個(gè)特征(Profile)ID。
可以通過(guò)適當(dāng)?shù)腉et函數(shù)獲得特征(profile)ID的值,例如,要查出是否支持ANI(呼叫者ID),可以使用函數(shù)TrunkGetBool
和REGID_ANISupported(301):
Support = TrunkGetBool(301);
Topaz Profile是類(lèi)似于Windows注冊(cè)表的一個(gè)數(shù)據(jù)庫(kù),是一個(gè)文件和目錄樹(shù),包括以下信息:
·所有安裝的硬件資源細(xì)節(jié),由資源掃描器決定。
·用戶(hù)提供的硬件配置信息,資源掃描器檢查不到。
·用戶(hù)可設(shè)的選項(xiàng),象缺省的語(yǔ)言(英語(yǔ)、西班牙語(yǔ)… …)。
運(yùn)行的VOS應(yīng)用程序把Profile當(dāng)作只讀來(lái)處理,這些程序開(kāi)始運(yùn)行前,Profile應(yīng)該完全初始化。
Topaz Profile中不包含任何動(dòng)態(tài)改變的信息,象某一資源的狀態(tài)等等。
Profile中的各項(xiàng),稱(chēng)為Profile ID,具有名字和值。某一項(xiàng)的名字與一個(gè)文件系統(tǒng)中的路徑名相似。所有的名字從根段開(kāi)始,以反斜線(xiàn)表示。比如,Topaz
代碼內(nèi)部使用的Profile ID如下:
\Techs\TechCount
TechCount的值是本PC機(jī)安裝的不同的CTADE_A提示的數(shù)目(一個(gè)技術(shù)是指一個(gè)特定的硬件和相應(yīng)的API函數(shù),如DialogicR4
VOX)。
值分三種類(lèi)型:整數(shù),字符串和布爾值(True/False)。
常?梢钥吹饺缦碌臄(shù)值和名字:
\Techs\TechCount=4
一個(gè)Topaz 目錄可以包含一些數(shù)值,象TechCount,也可以包含一個(gè)數(shù)值數(shù)組,名字相同,索引不同。(Topaz不允許在同一目錄下既包含數(shù)組又包含非數(shù)組值)。如,\TechTypes
包含一個(gè)整數(shù)值的數(shù)組,\TechTypes[0],\TechTypes[1],…..最大的索引為T(mén)echCount-1。
此例中數(shù)組可以包含連續(xù)的索引,或數(shù)組的索引可以不連續(xù),比如,可以只有A[1]、A[16]和A[19]有值。如果數(shù)組的索引不連續(xù),CTADE_A要求有一個(gè)索引連續(xù)的數(shù)組,其值為上個(gè)數(shù)組中有值的索引,如上例,可以有另一個(gè)數(shù)組B[0]=1,B[1]=16和B[2]=19.設(shè)計(jì)規(guī)則:CTADE_A
不需要查詢(xún)提供的第一個(gè)數(shù)組,但需要查找第二個(gè)數(shù)組的值以及指定數(shù)組大小的值。比如TechCount。這有助于提供系統(tǒng)的前向和后向的兼容性,并且提高資源掃描器改變時(shí)程序的健壯性。
7.1.7.1. 更新Topaz Profile
TopazProfile 數(shù)據(jù)庫(kù)使用下面程序進(jìn)行更新:
C:\Program Files\Parity Software\Common\Topaz\Bin\TopazProfile.exe
TopazProfile.exe是一個(gè)Win32平臺(tái)的應(yīng)用程序,有以下的選項(xiàng):
·-S 掃描設(shè)備(刪除Profile并且重新建立)
·-L 將Profile列入"TopazProfile.exe"
·-D 刪除Profile
·-C<file> 從文件中向Profile拷貝關(guān)鍵字
·-I 與-C一樣更新Profile,文件名取自"TOPAZ.INI"的[ProfileInclude
Files]
部分。
·-F<file> 讀取文件,標(biāo)準(zhǔn)輸出
·-K 以整數(shù)值排列關(guān)鍵詞(缺省以字母排列)
創(chuàng)建和設(shè)置Topaz Profile文件
與Windows注冊(cè)表不同,用戶(hù)的應(yīng)用程序不能直接訪(fǎng)問(wèn)Profile,并且不能創(chuàng)建新的條目。Profile只能由Topaz在內(nèi)部使用。
完成下列設(shè)置后通過(guò)運(yùn)行TopazProfile程序創(chuàng)建TopazProfile。
缺省的情況下,TopazProfile安裝在主機(jī)的系統(tǒng)盤(pán):
C:\Program Files\Parity Software\Common\Topaz\Profile
為了Topaz能夠運(yùn)行,文件Topaz.ini的[Profile]部分必須指定Topaz
Profile的路徑。
"通過(guò)在Topaz設(shè)置文件(Topaz.ini)和Profile包含文件中添加合適的條目,在Topaz
Profile設(shè)置某種資源參數(shù)。"
RegId和Get/Set函數(shù)
Topaz通過(guò)在內(nèi)部使用其他的RegID來(lái)操作技術(shù)級(jí)的信息。這些RegID不在Topaz
Profile中,但可以通過(guò)Get/Set函數(shù)檢索系統(tǒng)信息或執(zhí)行一個(gè)技術(shù)級(jí)的命令。
下列RegIDs用于Get/Set函數(shù)中。同時(shí)也列出了每種技術(shù)的特定RegID。
看下列RegsID:
7.1.7.2Topaz RegID:R4AgTrunk
7.1.7.3
7.1.7.4 Topaz RegID:R4DxMedia
7.1.7.5 Topaz RegID:R4GcTrunk
7.1.7.6 Topaz RegID:R4MsTrunk
7.1.7.7. Topaz RegIDs: S100Conf
7.1.7.8. Topaz RegIDs:S100Fax
7.1.7.9. Topaz RegID:S100Media
7.1.8. CTADE_A. 設(shè)置,TOPAZ.INI
Topaz.ini文件設(shè)定系統(tǒng)首次Topaz引擎時(shí)所要讀取的各種設(shè)置參數(shù)。要改變Topaz.ini中的任何項(xiàng)時(shí),必須確保這些變化生效時(shí)VOS和CallSuite的所有例程已全部關(guān)閉,因?yàn)檫@些例程使用Topaz。
7.1.8.1 [Profile]部分
Topaz.ini文件的Profile部分設(shè)定開(kāi)始時(shí)控制Topaz Profile的參數(shù)
7.1.8.2. [ProfileIncludeFiles] 部分
Topaz.ini文件的ProfileIncludeFiles部分列出了每次TopazProfile.exe運(yùn)行時(shí)(使用Include選項(xiàng))都要拷貝到Topaz
Profile的文件。例:
7.1.8.3. [ProfileExcludeTechnologies]部分
Topaz.ini文件中的ProfileExcludeTechnologies部分列出了TopazProfile.exe自動(dòng)掃描時(shí)排除的技術(shù)。
例:
7.1.8.4. [ProfileDependencies] 部分
Topaz.ini文件的ProfileDependencies部分列出了TopazProfile.exe運(yùn)行前必須啟動(dòng)的Windows
NT/2000的服務(wù)程序。例:
7.1.8.5. [SimMediaScanner]部分
Topaz.ini文件的SimMediaScanner部分指定了SimMedia使用的Wave
IN和Wave Out 設(shè)備的ID。
缺省情況下,兩個(gè)Wave ID都為0。例:
7.1.8.6 [WaveScanner]部分
Topaz.ini文件的WaveScanner部分指定了WaveMedia技術(shù)所使用的Wave
IN和Wave Out 設(shè)備的ID。例:
7.1.8.7. [S100Groups] 部分
Topaz.ini文件的S100Groups部分指定了應(yīng)用程序所使用的S100組和相關(guān)的Topaz資源。
S100Groops部分的缺省設(shè)置保存在[S100Defaults]部分中。例:
7.1.8.8. [S100Defaults]部分
Topaz.ini文件的S100Defaults部分指定S100Groups部分的缺省值,如果沒(méi)有設(shè)定S100Defaults部分的關(guān)鍵詞,Topaz使用標(biāo)準(zhǔn)的缺省設(shè)置。有效的關(guān)鍵詞和相應(yīng)的缺省值如下例所示:
例:
MakeCallGroupSet、SPROnlyGroupSet和SPRGroupSet只用于CT
Media版本V1。版本V2中被刪除。
此部分的詳細(xì)描述參見(jiàn)S100Topaz.ini配置中此部分的描述和S100Groups部分。
7.1.9CTADE_A. 提示音(Tones)
此章中介紹如何產(chǎn)生和檢測(cè)提示音。
7.1.9.1 播放提示音
Tones,也稱(chēng)為全程Tones或全局Tones,可以為以下4中類(lèi)型:?jiǎn)我、雙音、有步調(diào)的單音和有步調(diào)的雙音。
單音和雙音
單音只有一個(gè)幅度和頻率,雙音有兩套幅度和頻率。公眾網(wǎng)中的大部分相似的聲音,包括Touch-tones,都是雙音。
步調(diào)
步調(diào)音有規(guī)則的步調(diào),一段為音調(diào),一段為靜音。在美國(guó),忙音采用步調(diào)音,步調(diào)如下所示:
沒(méi)有步調(diào)的音稱(chēng)為連續(xù)音,比如,摘機(jī)音是連續(xù)音。
播放音調(diào)
可以使用函數(shù)MediaPlaySingleContinuousTone播放一段連續(xù)音。
MediaPlaySingleContinuousTone(Freq1,
Amp1, Duration, StopTones);
Freq1參數(shù)定義聲音的頻率,可在300到2000hz之間。Amp1定義聲音的幅度,有效的范圍為-40到2dB。Duration
參數(shù)指定聲音的長(zhǎng)度,以0.1秒為單位。StopTones參數(shù)是一個(gè)摘機(jī)音(touch tone)位的字符串,可以中斷任何語(yǔ)音文件的播放和錄制。
使用函數(shù)MediaPlayDualContinuousTone播放一段連續(xù)的雙音:
MediaPlayDualContinuousTone(Freq1, Amp1,
Freq2, Amp2, Duration, StopTones);
除了Freq2和Amp2這兩個(gè)參數(shù)外,其他參數(shù)和函數(shù)MediaPlaySingleContinuousTone的參數(shù)相同,F(xiàn)req2和Amp2指定雙音第二部分的頻率和幅度。
播放步調(diào)音的函數(shù)與播放連續(xù)音的函數(shù)相同:
MediaPlaySingleCadenceTone(Freq1, Amp1,
OnTime, OffTime, Count, StopTones);
MediaPlayDualCadenceTone(Freq1, Amp1,
Freq2, Amp2, OnTime, OffTime, Count,
StopTones);
除了參數(shù)Freq1、Amp1、Freq2和Amp2外,OnTime參數(shù)指定播放聲音的時(shí)間長(zhǎng)度,由0.1秒為單位表示,OffTime參數(shù)指定靜音的時(shí)間長(zhǎng)度,也由0.1秒為單位表示。Count參數(shù)指定了步調(diào)重復(fù)的次數(shù)。
如果在Topaz Profile中指定了某一聲音的參數(shù),就可以在媒體資源中使用函數(shù)MediaPlayTone來(lái)播放:
MediaPlayTone(ToneName, StopTones);
參數(shù)ToneName必須與Topaz Profile中設(shè)置的聲音名字一致,可選的StopTones參數(shù)指定停止音。
7.1.9.2. Tone 包含文件
tone包含文件以.TZP為擴(kuò)展名,指定了CTADE_A直接支持的聲音。
注意:
要從聲音包含文件中向Topaz Profile中添加信息,必須使用TopazProfile.exe(使用Copy命令,-C)將Topwz
Profile和包含的文件合并起來(lái)。為了保證每次CTADE_A啟動(dòng)時(shí)都合并最新的聲音包含文件,可以使用函數(shù)TopazProfile.exe(使用Include選項(xiàng),-I)向Topaz.ini文件的[ProfileIncludeFiles]部分添加一個(gè)索引。
ToneCount
ToneCount Profile ID指出需要定義的聲音的數(shù)目,從0開(kāi)始。
ToneName
VOS應(yīng)用程序使用ToneName來(lái)確定播放哪一個(gè)聲音。
ToneType
當(dāng)前CTADE_A支持四種聲音:
SingleContinuous
SingleCadence
DualContinuous
DualCadence
這些種類(lèi)聲音的描述參見(jiàn)Playing Tones 部分。
Freqencies(ToneFreq1,ToneFreq2)
聲音的頻率在300Hz到2000Hz之間。
Amplitudes(ToneAmp1,ToneAmp2)
以分貝表示聲音的幅度,有效幅度范圍是:-40到2 dB。
ToneOnTime
ToneOnTime參數(shù)指定了播放步調(diào)聲音時(shí)的聲音時(shí)間長(zhǎng)度,以0.1秒為單位。
ToneOffTime
ToneOffTime Profile ID定義了播放步調(diào)聲音時(shí)靜音的時(shí)間長(zhǎng)度,以0.1秒為單位。
ToneFreq1Var
檢測(cè)頻率1時(shí)允許的誤差,以Hz為單位。 ToneFreq2Var
檢測(cè)頻率2時(shí)允許的誤差,以Hz為單位。
ToneOnTimeVar
檢測(cè)步調(diào)音時(shí),"OnTime"所允許的誤差,以0.1秒為單位。
ToneOffTimeVar
檢測(cè)步調(diào)音時(shí),"OffTime"所允許的誤差,以0.1秒為單位。
ToneRepetitions
確定檢測(cè)出步調(diào)音要求的步調(diào)音的重復(fù)次數(shù)。
ToneChar
ToneChar為聲音分配一個(gè)字符(從E到Z)。自定義聲音檢測(cè)前,必須為聲音分配一個(gè)字符。
ToneIsBuffered
ToneIsBuffered是一個(gè)布爾值,指出CTADE_A是否將聲音字符放入數(shù)字緩沖,可以使用VOS函數(shù)MediaGetDigitBuffer來(lái)檢索。
例:
8. VOS 運(yùn)行日志
VOS運(yùn)行時(shí)產(chǎn)生日志文件VOS1.log和VOS2.log。最新的日志總在VOS1.log文件中。這些文件的內(nèi)容如下:
Start of run
010518 172034.35 VOS loaded from C:\Program Files\Parity
Software\Graphical
VOS\Bin\Vos7d.dll
010518 172034.35 VOS 7 (Debug) Built Apr 4 2001
13:43:51
End of run
010518 172038.05 CASEST~1:062b[0] VOS 7 (Debug)
Built Apr 4 2001 13:43:51
010518 172038.05 CASEST~1:062b[0] Stopping: exit(21)
Warnings, Failures, and Errors
010518 172036.14 @W 713 RLL Adorll missing, wrong
version or loaded in wrong order
010518 172036.17 CASEST~1:149b[0] @F fil_open(LOGO,r):
088 error 2
010518 172037.91 CASEST~1:0606[0] @E CADOConn
'Open' : Films : COM Error
0x80004005(Unspecified error ) : _Connection::Open()
010518 172037.91 CASEST~1:0606[0] Source = Microsoft
OLE DB Provider for ODBC
Drivers
010518 172037.91 CASEST~1:0606[0] Description
= [Microsoft][ODBC Microsft
Access Driver] Could not find file '(unknown)'.
Builtin function calls
010518 172036.15 CASEST~1:004b[0] @B getpid()
= 0
Driver / API
010727 164728.19 @D ATDX_TERMMSK(1[dxxxB1C1])=0x0
010727 164728.19 @D Dev 1 dxxxB1C1 Evt 0x86 Data
0x15b9350 CST Data 0x0 Rings received
010727 164728.19 @D ATDX_TERMMSK(1[dxxxB1C1])=0x0
Topaz Events / States
010727 164728.19 CASEST~2:0017[1] @Y Trunk:0 Event
dxxxB1C1[1] 134 CST Data 0x0 Rings
received
010727 164728.19 CASEST~2:0017[1] @Z Trunk:0 Idle->InboundRinging
(1)
010727 164728.19 ResumeTask(1, 1)
010727 164728.27 CASEST~2:001f[1] @D dx_sethook(1[dxxxB1C1],
1, EV_ASYNC)=0
010727 164728.27 CASEST~2:001f[1] @B TrunkAnswerCall()
= 1
[ 全文英文版 ]
|