第二章 相關技術簡介
2.1 TAPI介紹
2.1.5 H.323
H.323 是一種複雜的國際電信聯盟(ITU) 標準,適用於服務品質無法 保證的無連接網路的多媒體傳輸(聲音、視訊和資料),例如IP 網路
和Internet 等。它提供點對點和多點會議的呼叫控制、多媒體管理 和頻寬管理。H.323 指令支援標準語音和視訊碼,支援透過T.120 的 資料共享。而且,H.323 標準獨立於網路、作業平台和應用程式,使 任何H.323 相容的終端機與其它任何終端機進行相互操作。
H.323 可以在現行封包交換網路上傳送多媒體資料流。為了減小區
個指令和控制通訊協定:
31
態) 訊號傳輸功能
制資訊,包含功 圖 2.1.5-1 H.323 的架構
域網路反應時間的影響,H.323 可當作「即時傳輸通訊協定(RTP)」
使用,RTP 是設計用來處理Internet 上即時語音和視訊資料流需求 的IETF 標準。
H.323 標準指定三 l 呼叫控制的H.245 l 呼叫訊號傳輸的Q.9 l RAS (登錄、許可權和狀
H.245 控制通道負責控制H.323 終端機操作的控
端點。所有終端機都必須支援聲音傳輸;
保證任何H.323 用戶端都支援下列標準:H.261 和G.711。H.261
是ITU 標準的視訊編解碼器,用來傳輸速度為64 Kbps、解析度為
H.323 用戶端可以選擇性地支援其它編解碼器:H.263 和G.723 H.263 是以
特別的是H.323「電話服務提供程式(TSP)」建置了H.323 訊號 傳輸堆疊TSP 接受許多不同的
郵件位址。
H.323 MSP 負責建立H.323 連接(包含RTP、RTP 有效負載處理 器、編解碼器
雜。TAPI H.323 TSP 使用Windows 2000 ActiveDirectory 服務執行使用者至 IP 的位址解析。特別的是使用「Internet 定位器服務(ILS) 動態目錄」
(Active Directory 的即時伺服器元件),來儲存和不斷重新整理使用者至IP 的映射資訊。下列使用者分析藍本說明H.323 TSP 中的IP 位址解析:
1. John 希望啟動與區域網路上另一位使用者Alice 的H.323 會 議。當Alice 的視訊會議應用程式建立位址物件並使它成為接聽 模式之後,Alice 的IP 位址就由H.323 TSP 加到Windows 2000 Active Directory 中。這個資訊的生存時間(TTL) 有限,會定期
過「輕型目錄存取通訊協定(LDAP)」來重新整理。
2. John 的H.323 TSP 隨後查詢ILS 動態目錄伺服器中Alice 的 IP 位址。特別的是John 在Alice 的相關目錄中查詢任何和所有 RTPerson 物件。
透
圖 2.1.5-4 Alice註冊並更新她的IP位址
圖2.1.5-5 John查詢Alice的位址
3. 有了Alice 的最新IP 位址,John 就開始呼叫Alice 電腦的 H.323,然後兩部電腦上的同等TSP 之間就會出現H.323 標準的 協商和媒體選擇。一旦完成功能協商,兩個H.323「媒體資料流提 供程式(MSP)」都會建立適當的DirectShow 篩選器圖表,所有媒 體資料流都送到DirectShow 處理。然後會議就開始了。
讓我們來研究有關其他兩種用於建立元件的技術,來逐漸了解 COM。請試
之前已配置相同的序數,此舉就可能會產生問題。 式表」(virtual function tables)類似,稱為 vtables。在 Visual C++
COM 的 vtables 與 C++的虛擬函式表有著相同結構。對其他編譯器來說,
一定是正確的,也就是說他們在代表 C++中 COM 物件時 的
在 EXE 中
成為「連線處理」(in-process 或 in-proc) 線處理」(out-of-process)。的例子是在提供 COM 物件作為較大應用程式的一 部份時,例如由 WORD 與 EXCEL 等應用程
式,或是執行特定的計算。下圖顯示此一概念:
圖 2.2.3-1 COM 介面和 vtable 的關係 介面是由許多指向實際函式本身的函式指標(pFunA ,pFunB
如果我們取得了介面的指標,那麼我們就可以呼叫函式。
然將任何一組的函式一同歸類到一個介面是有可能的,不
等等)所構成
,
過像 C++類 別,
圖顯示一般取得 COM 介面的方式,其方塊代表物件,而圈圈代表物件所 顯示的介面
的 雖
你就會期望在成員之間有一種基本的凝聚力。按照習慣,見面的名稱是以 I 開始的,例如 Iunknown 與 Idispatch。
下
小。方法很簡單,一旦已經定義並出版一種介面(換言之,就是一但用戶端可 以使用),就已成定局了,沒有東西能改變使用該介面的方式。
介面就像是物件與用戶端的協議,如果你需要改變介面,該怎麼辦呢?在 COM 中,你會建立一個新的介面,然後從現有的介面來合併你所需要的元素,
重點是在於物件仍然會支持舊的介面,因此那些有需要的較舊的用戶就可以找 的到它,下圖顯示其
圖 2 式
運作方式。
.2.3-3 新舊 COM 介面版本的處理方
在上圖中,COM 物件有個支援三項函式的簡單原始介面,這三項函式稱為 A(
程式仍然可 找到 IoldInterFace,而較新的應用程式則會得到 IoldInterFace。
nknown: 叫 QueryInterface()並傳送我們的有興趣介面的 ID,來詢問物件是否支 援特定的介面。當我們將一個介面傳給 IDQueryInterface 時,如果可以它 就會傳回一個指標給介面,不行的話,就會傳回 NULL。
) B()與 C(),然後有了新的需求,突然新增函式 ONE() TWO(),並將 參考資料移致 A()。因此產生了 INewInterFace,它合併了 IoldInterFace 的其中兩種函式,然後在新增自己的。結果皆大歡喜,較舊的應用
以
2.2.4 COM 基本介面介紹:
Iu
資料
資料/傳真
資料/傳真/語音/對講電話
而語音 MODEM 就是一個 MODEM 在一個電話路上撥放及紀錄聲音。當大部分的 MOD 包含有資料/傳真功能的時候,越來越多的 MODEM 也包含語音的功能。
什麼 相容的 MODEM
TAPI(Telephony Application Programming Interface)是微軟所提供的 一種程式寫作標準。它允許軟體開發者在發展電信方面的軟體,可以適用於每 一種跟 TAPI 相容的 MODEM。
為了讓 MODEM 可以跟 TAPI 相處的愉快,這 MODEM 必須要有語音和聲音的 驅動程式。WIN9X/ME 藉著 Unimodem/V 而 WIN2000/XP 藉著 Unimodem 5 來語音 驅動程式做溝通。聲音的驅動程式通常語音 modem 的製造商都會提供
如何確認 MODEM 的聲音驅動程式是否安裝
假使你的 MODEM 支援語音,那麼 MODEM 的聲音驅動程式必定會列在 WINDOWS 的系統裝置管理員上
EM 都
是 TAPI
我的 MODEM 支援語音但我不能找到語音裝置
MODEM 驅動程式來包含所有多人 用的晶片組,在粉多的情況下,增加、改變或移除 MODEM 是粉簡單的。隨插 即用
在許多情況下,Windows 2000/XP 會認為你的資料/傳真/語音是只有資料 MODEM 功能,並且安裝 Windows 內建的"generic"MODEM,所以你不能看到 MODEM 的語音裝置列在裝置管理員上。這樣你只能撥號到網際網路上而不能用你的 MODEM 紀錄電話呼叫。
圖 2.3-1 Win9X 及 2K/XP 下的語音裝置位址
Windows 2000/XP 使用一個"generic"的 使
,但它不總是完全適用的。
3.開啟數據機的前面的+號來展開,再來雙擊你的 MODEM 裝置選擇驅動程 式那一頁,就能看到更新驅動程式按鍵
4.現在你就能更新你的驅動程式
你數據機的驅動程式 PartI 圖 2.3-2 如何更新
圖 2.3-3 如何更新你數據機的驅動程式 PartII
如何重新安裝驅動程式
1.找到正確的 MODEM 驅動程式:MODEM 的附的 COROM 或者廠商所提供的下載位 址。
2.開啟裝置管理
3.開啟數據機的前面的+號來展開,再來 MODEM 裝置上按右鍵,就能看到解除 驅動程式的選項
4.現在你就能解除你的驅動程式,再來使用新增/移除軟體就行了 員,可參考下面的圖。
Aopen FM56-PX (內接 PCI)
MyAopen :http://store.yahoo.com/myaopen/aopenmodem Axiontech :http://www.axiontech.com/prdt.php?item=16259
NCIX
( Canada):http://www.ncix.com/index.php?affiliateid=2632562
MyAopen
: http://store.yahoo.com/myaopen/aopenmodem NCIX
( Canada)Aopen FM56-EXV (外接式)
:http://www.ncix.com/index.php?affiliateid=2632562
第三章 系統架構 3.1 系統需求
作業系統:Win2000、XP
硬體設備:個人電腦、麥克風、喇叭、視訊網眼
3.2 系統架構圖
第三章 系統架構
3.1 求
3.2 系統流程圖 系統需
WebCamara(網眼)
Windows 2000/XP 以上
3.2 系統流程圖
圖 3.2-1 系統應用流程圖
圖 3.2-2 TAPI Application 與電話架構示意圖
圖 3.2-3 Initial TAPI Object
圖 3.2-4 初始化 Event 及 Register Filter
圖 3.2-5 建立連線及撥號
圖 3.2-6 接聽電話
圖 3.2-7 斷線處理
圖 3.2-8 接聽電話 event 資料流程圖
圖 3.2.9 接聽電話 USE-CASE 圖型
第四章 結論 4.3 應用與展望
4.4 工作分配
4.1 軟體功能介紹
和 Incoming (接聽) 兩個單獨的應用程式。後 來又改成整合成一個應用程式,共用一個 Call 物件。
圖 4.1-1 等待接聽電話的圖片 原本分成 Outgoing(撥號)
圖 4.1-2 電話訊息來電中
圖 4.1-3 通話中的圖片
圖 4.1-4 撥號中的圖片
在這個專題中,我們第一次碰到有關 TAPI 的東東,有很多地方都不知道該
方繼輝:
(1) 利用新硬體達成整合電話接聽的功能
出介面,由於 Microsoft 的整合,將所有相關的 Telephony 應用程式都統一由 TAPI 來做連接的動作,使得程式元件可以重覆利用。
4.5
不能針對 EventNotify 介面註冊失敗?
曾經遭遇困難的解決方法及探討
Modem 提供的 Driver 不支援 TAPI,更新到最新的 Driver。但不一定 能相容,除非有微軟的認證,或是廠商有依照微軟提供的 TSP 標準去 新的蝙蝠俠系列的外接式 56K Data/Fax/Voice Modem。對於傳統電話線路的 撥號及來電接聽的測試上都嘗到不少挫敗。一直以為是 TAPI 的問題到最後深 入研究,一個一個問題去測試才發現問題出在 Modem 的 Voice 處理晶片的 Drive
到底是哪邊出了錯? 這有點跟 TAPI 推出的時間有關。
在 TAPI 2.x 時代,TAPI 僅支援傳統的電話網路(PSTN),也就是 Windows 95/98 時期推出,但受到的重視程度並不大。因為推出的 TAPI 標準必須有硬 體廠商
出支援
Windows 2000 推出時,微軟也一併推出了 TAPI 3.0 的版本。同時以 COM base 改寫 TA
不用去 會議。
即使如此,此時亦是 ADSL,Cable 等寬頻時代的來臨。56Kbps 的 Modem 聲音,否則對方只會聽
再者,一個比較實際的問題。使用 Modem 來銜接電話線路時,若是可以成 功的撥打電話或接聽來電,需要將耳機和麥克風裝在 Modem 提供的輸出輸入孔 上。若以
些裝置都 不到音樂了。除非外接的
裝置可以做到同時接兩種線路的功能。
理 便得自己動手寫程式處理了。自己寫 AT 指令集去驅動 Modem 也許是可行的方法,但是以目前我們組員的能力和時間無法完成,實在 是可
我們題目而言,使用者帶著無線的麥克風或耳機在聽音樂的同時,這 是要裝在音效卡上的,若插在 Modem 上就聽
另外一種解決方法,去使用幾種市面上所謂的 FAX 傳真電話答錄機軟體和 聲稱支援 TAPI 的軟體,發現,大部份的廠商都是自己寫 UniModem 的驅動程式,
即利用標準的 AT 指令集,但是一來大部份的 Connect Control 和 Event 處 還有音訊的輸出輸入
惜。
4.6 工作分配 資料收集:
方繼輝 50%
徐麒翔 50%
方繼輝 65%
程式規劃:
徐麒翔 35%
偵錯&測試:
方繼輝 40%
麒翔 40%
其他人 20%
報告:
方繼輝 30%
徐麒翔 70%
程式設計:
方繼輝 60%
徐麒翔 40%
徐
南”,華彩股份有限公司,2000年6月
南”,華彩股份有限公司,2000年6月