• 沒有找到結果。

預付式網頁式電話於網際網路語音服務平台上之實作

N/A
N/A
Protected

Academic year: 2021

Share "預付式網頁式電話於網際網路語音服務平台上之實作"

Copied!
11
0
0

加載中.... (立即查看全文)

全文

(1)The Implementation of a Prepaid Web-based Phone on the VoIP Platform 預付式網頁式電話於網際網路語音服務平台上之實作 Tai-Liang Chen, Liang-Chang Yu, Wei-Zu Yang and Po-Chou Chen Department of Computer Science and Information Engineering Asia University Taichung, Taiwan, R.O.C. {tlchen0619, [email protected]}{[email protected]}{[email protected]} VoIP environment (including the billing system) and to design a web-based phone for prepaid VoIP services. The web-based phone provides a warning message window and helps the subscribers to obtain the relevant information of the prepaid services rapidly. By setting up the low-cost platform for prepaid services and offering the web-based phone to the subscribers, we hope that our experience can be shared with the universities and colleges in the future.. 摘要 預付式服務(Prepaid Services)能快速提供用 戶服務,並允許用戶根據自己的經濟能力與需求來 控制通話成本,使得預付式服務在最近幾年成為通 訊市場中用戶數成長最快的應用。網際網路語音 (Voice over IP,VoIP)服務挾帶低通話成本的優 勢,不斷地吸引傳統電話的用戶,轉而使用這項新 興的技術。所以,發展結合兩者優點的整合服務系 統,乃是必然的趨勢。另外,瀏覽器(Browser) 已成為不可或缺的一項上網利器,利用瀏覽器方便 使用的網頁式電話(Web-based Phone)遂應運而 生。本論文的目的是建立一個低成本之網際網路語 音服務平台(含計費系統),以及設計實作一個以 此平台為基礎,並且能提供警告訊息視窗的預付式 服務之網頁式電話,方便用戶快速獲取預付式服務 之相關訊息。希望藉由上述提出的系統,作為日後 推廣至一般院校建置此平台之參考。. Keywords:VoIP, Prepaid Service, Web-based Phone, Billing System.. 一、簡介 網際網路語音服務(Voice over IP,VoIP)在 這幾年快速成長,目前除了 MSN 之外,亦有蕃薯 藤、新浪等入口網站推出網際網路語音服務。以最 近迅速竄紅的 Skype 軟體為例,目前估計下載次數 早已超過一億人次 [24]。雖然這個數字只是針對 Skype 這套網際網路語音服務軟體,但這也很明顯 的指出網際網路語音服務已逐漸成為大眾普遍使 用的應用。. 關鍵詞:網際網路語音服務、預付式服務、網 頁式電話、計費系統。. 在 2001 年時,亞洲的預付式服務(Prepaid Services)行動電話用戶數成長了三倍 [26]。在 2003 年底前,預付式服務在全球行動電話用戶佔 有率高達 62% [8],可見其用戶數成長之快速。現 在已有廠商(例如:Mind、Globalinx)也開始在 網際網路語音服務系統上提供預付式服務,快速服 務顧客並廣泛分布銷售點。而網際網路語音服務的 低費率特性,更符合對通話費率敏感的預付式服務 用戶之需求。另外亦有一些廠商(例如:IXC、 D-TAC、Aradial)針對網際網路語音服務的計費方 式,提供一套完善的彈性計費方案,可幫助業者改 進現金交易的方式,即時地實現通話餘額的管理, 有效防止電信詐欺及因預付式服務而産生的呆 賬,降低客戶流失和擴大市場的佔有率 [1]。因此 網際網路語音服務與預付式計費系統服務的結 合,將是未來網際網路語音服務發展的必然趨勢。. ABSTRACT Recently, prepaid service has become one of the applications with fastest growth of subscription rate in the telecommunication market. It can offer services rapidly and can allow the subscribers to control the conversation cost based on their economic ability and their own demand. Due to the low cost and the convenience of Internet, the VoIP services are also attracting the subscribers of the traditional telephone to turn to use this new technology. Thus, it is an inevitable trend to develop an integrated system that merges the merits of these two services. In addition, the browser has become an indispensable tool to surf the Internet. Therefore, it comes with the tide of fashion to use the convenient web-based phone for VoIP services. The purpose of this paper is to set up a 1.

(2) 目前上述廠商建置一套包含網際網路語音服 務及預付式計費系統的完整方案至少需要美金 $300,000 以上的昂貴費用。而利用開放原始碼軟體 建置,實際所需成本不到美金$30,000。另外,網 際網路語音服務之硬體電話(Hard Phone)、軟體 電話(Soft Phone)及使用者代理器(User Agent, UA),在需求供應方面水漲船高,價格也相當高 昂。例如使用 X-Pro 軟體,1 人授權費用便需 US$50,一支 CISCO VoIP Phone 更高達 US$150 至 US$400 [21][23]。因此,亦有廠商傾向使用便 利的網頁式電話(Web-based Phone)概念來應用。 例如 2004 年 12 月,著名入口網站蕃薯藤宣布推出 YAMGTD 網際網路語音服務 [28],透過網頁提供 簡單的單一方電話撥打服務。. 目前 Skype 推出的 SkypeOut 付費服務是提供 使用者 PC to Phone 的模式撥打國際電話、市內電 話及手機,而我們所開發的系統同樣具有 PC to Phone 的模式,提供預付式付費服務。再者,我們 系統主要以方便建置及節省經費為出發點,提供便 利的撥打服務,開發技術較 Skype 容易掌握。另 外,由於 Skype 所使用的 VoIP 協定並不是以 SIP 為標準,而是以 P2P 的概念所開發出來的協定 [15][16]。而在官方網站上亦有提到未來將提供與 SIP 整合的服務。因此,我們在建置系統時,即按 照目前當下的主流-SIP 作為 VoIP 的應用協定。再 加上網頁式電話是 Skype 所沒有的服務,這對於小 範圍的公司或一般校園是一個非常便利的服務。所 以,本系統的開發確實有其價值存在。. 本論文之目的,為提供適合學校及小型辦公室 建置的低成本 VoIP 服務系統。我們利用開放原始 碼軟體來建立包含計費系統的低成本整合性平 台,並基於此平台,設計實作一個可互動之預付式 服務之網頁式電話。透過網頁形式提供的網頁式電 話服務,我們結合 B2BUA(Back-to-Back User Agent)[20] 的預付式計費應用服務,整合 RADIUS (Remote Authentication Dial In User Service)[3] Server 的 AAA [5](Accounting、Authorization and Authentication)機制,利用網頁容易延伸的特性, 提供用戶雙方相互使用網頁式電話互動,並隨時隨 地透過訊息視窗(例如:預付式服務餘額、剩餘可 撥打秒數、警告訊息等)得知目前個人的使用情 況。本論文希望藉由網際網路語音服務平台結合方 便的網頁式電話服務,降低因建置系統所需的高昂 設備成本及使用者代理器購買使用版權的費用,提 供各學校單位建構一個價格低廉,功能完整的網際 網路語音服務之參考。. 三、預付式網際網路語音服務平台 (一)預付式網際網路語音服務平台架構圖 藉由 NTP(電信國家型計畫)的推廣,目前 在亞洲大學(原臺中健康暨管理學院)利用開放原 始碼軟體建置 NTP 平台 [25],平台架構如圖 3.1 所示。圖 3.1 中包含兩個部分,右邊部分是以黑色 線條表示傳統有線電話網路,包含亞洲大學校內的 校園電話網路和以 PSTN 連接的其他電話網路(例 如:靜宜大學或行動電話網路)。 圖 3.1 的左邊部分是以紅色線條表示目前本校 建立的預付式網際網路語音服務平台,其中 SIP [9] (Session Initiation Protocol) Proxy Server 包含 SER [27](SIP Express Router)軟體和 B2BUA 軟 體 。 Billing Platform / AAA Server 是 使 用 FreeRADIUS [2,22] 軟體來架設的。而通話所產生 的紀錄資料是存在 MySQL 資料庫中。. 二、相關研究. SIP Proxy Server 負責建立所有 SIP 網路之間 或 SIP 網路與傳統電話之間的通話 [4]。B2BUA 軟體可同時作為 User Agent Client 和 User Agent Server,負責溝通 SER 軟體、FreeRADIUS 軟體及 PSTN Gateway 之間訊息的接收及處理,作為預付 式網際網路語音服務通話控制器,及產生預付式計 費服務的資訊。在 Billing Platform / AAA Server 方 面,藉由使用 FreeRADIUS 軟體,透過 AAA 的機 制,管理者或是用戶可以藉由認證、授權和計費的 機制來管理或使用各種通話服務 [7]。它可提供後 付式(Postpaid)和預付式通話服務機制。目前這 兩種通話服務機制已建立完成,並與靜宜大學實際 連線測試成功,未來可提供校園師生網際網路語音 服務的使用。而 PSTN Gateway 日前已經購入,並 已實際連結至亞洲大學 PBX 系統。透過此 Gateway 已順利連接 SIP Network 和 PSTN,能提供透過網 際網路語音服務經由學校撥打至校外電話或手機 等服務。. 國內外有關網際網路語音服務架構之研究,已 有非常多的研究者利用開放原始碼(Open Source) 軟體開發網際網路語音服務及計費系統。雖然,計 費系統不是位於網路核心部分,但往往卻是決定通 訊服務是否能成功的關鍵。所以,近幾年有針對建 立一個健全的網際網路語音服務計費機制而提出 的研究 [6],其內容關於計費的種類,並提出一個 網際網路語音服務計費機制的流程。另外亦有提出 一個以 SIP 架構為基礎之網際網路語音服務的應 用設計與實作 [17,18],以及有關 Call(撥打)管 理機制的建置 [14] 等。而過去在行動通訊領域 中,關於預付式服務主要有 Hot Billing 及 Service Node 兩種計費方式的研究 [10,11,12,13,19]。因 此,藉由以上理論與實務方面的研究基礎,本論文 已有較多的掌握。. 2.

(3) SIP Proxy Server (Fedora Core 2 : SER+B2BUA). Asia University PBX PSTN Gateway. Phone Asia University. Billing Platform / AAA Server (Fedora Core 2 : FreeRADIUS) PSTN SIP Network Phone 6191. Hard Phone 5900. Soft Phone 5901. W eb-based Phone 5902. Phone 6181. Phone 6121. Phone 6101. DB IVR. Providence University. (MySQL). Phone. 圖 3.1:預付式網際網路語音服務平台架構圖 的使用權,避免未授權用戶可以任意登入 或侵入,及浪費系統資源和網路頻寬。. 而藍色線條代表未來欲新增整合到現存系統 的部份。互動式語音應答系統(Interactive Voice Response,IVR)是利用語音引導用戶,透過用戶 選按電話鍵提供語音查詢通話紀錄細節功能。目前 我們尚未購入,預計未來會將此系統結合預付式服 務,提供用戶補充預付式額度。. 步驟 2: 接 著 當 撥 話 方 欲 撥 打 經 由 PSTN Gateway 結合學校 PBX 至付費的校外電話 或手機電話時,撥話方必須對 SER 軟體提 出 INVITE 的請求。SER 軟體再將 INVITE 的請求訊息傳送至 B2BUA 軟體。B2BUA 軟 體 接 收 INVITE 的 請 求 後 , 會 對 FreeRADIUS 軟體發出 Access-Request 訊 息 。 FreeRADIUS 軟 體 接 收 到 Access-Request 訊息後,向 MySQL 資料庫 發出第二次身分查詢的訊息 -- QUERY, 確認撥話方是否具有撥打至付費電話的資 格及有無餘額可撥打。當 FreeRADIUS 軟 體確認無誤後會回應 Access-Response 給 B2BUA 軟體,並告知 B2BUA 軟體撥話方 仍可撥打的時間 -- Session-Timeout。相反 的,FreeRADIUS 軟體即回應不允許撥話 方使用或回應無餘額可撥打的訊息給 B2BUA 軟體。. (二)預付式網際網路語音服務平台通話訊息流程 圖 3.2 是預付式網際網路語音服務平台通話訊 息流程圖。圖 3.2 的使用者代理器(UA)泛指網 頁式電話、硬體電話或軟體電話。 從圖 3.2 整個流程來看,我們可以發現到 B2BUA 軟體在整個預付式服務中是一個非常重要 的關鍵元件,專門用來處理有關預付式計費方面的 服務。另外,在 FreeRADIUS 軟體與 MySQL 資料 庫 之 間 存 有 accounting_start_query 、 accounting_onoff_query 、 accounting_update_query 和 accounting_stop_query 等四組紀錄的動作。這四 組紀錄是 FreeRADIUS 軟體裡的 sql.conf 設定檔的 四組 SQL Command,其功用是用來將計費的資料 記錄到 MySQL 資料庫的 RADIUS DB 中的 radacct table。所以,我們將整個流程圖分成下列七個步 驟,分別依序說明如下。. 步驟 3:. 步驟 1:. B2BUA 軟體再對 FreeRADIUS 軟體 發出 Accounting-Request 訊息,並設定開 始計時 -- Acct-Status-Type=Start。接著, FreeRADIUS 軟體裡的 sql.conf 設定檔的 accounting_start_query 會予以啟動,並將 撥打所產生的相關資料寫入到 MySQL 資 料庫的 RADIUS DB 中的 radacct table -INSERT,成為這一通話的一筆紀錄(見以 下 SQL Command 粗斜體部分)。. 撥話方使用使用者代理器登入 SIP Proxy Server 中的 SER 軟體。SER 軟體會 啟動認證模組,將撥話方 LOGIN 的帳號 及密碼連線到 MySQL 資料庫,作第一次 查詢比對 -- QUERY,確認身分後並回傳 ACK 訊息到撥話方。使用者代理器向 SER 軟體認證帳號密碼的目的是確保合法用戶 3.

(4) SIP Proxy Server UA. Step 1. SE R L O G IN. B2B U A. FreeR A D IU S. M ySQ L. SIP N etw ork. PSTN G atew ay. PSTN. UA. QUERY. ACK. Step 2. IN V ITE 100 Trying. IN V IT E. A ccess-R equest A ccess-A ccept Session-T im eout. 100 Trying. Step 3. QUERY. IN SE R T (accounting_start_query ) (accounting_onoff_query). A ccounting-R equest A cct-Status-T ype = Start A ccounting-R esponse. Step 4. IN V ITE 100 Trying. IN V ITE 180 R inging. 180 R inging PC or SIP Phone. 180 R inging. 180 R inging. 200 O K. 200 O K. 200 O K 200 O K ACK. ACK. ACK. Step 5. Phone or M obile Phone. ACK. A ccounting-R equest A cct-Status-T ype = A live A cct-D elay-T im e. U PD A T E (accounting_update_query). A ccounting-R esponse. Step 6. C onversation BY E 200 O K. Step 7. A ccounting-R equest A cct-Status-Type = Stop A cct-Session-T im e. U PD A T E (accounting_stop_query ). A ccounting-R esponse. 圖 3.2:預付式網際網路語音服務平台通話訊息流程圖 accounting_start_query = "INSERT into ${acct_table1}(即 radacct table) (AcctSessionId(計費通話 ID,即 Call-ID, 針對每一通由 SER 軟體送出的電話撥打 訊息,SER 軟體會給予一個計費通話 ID), AcctUniqueId ( 計 費 唯 一 ID , 即 FreeRADIUS 軟體會針對接收到每一通電 話撥打完後的計費訊息給予一個計費唯一 ID), UserName(撥話方的使用名稱), Realm(即 SIP Proxy Server 領域,如: csie.asia.edu.tw), NASIPAddress ( 網 路 附 屬 儲 存 裝 置 (Network Attached Storage,NAS)的 IP Address), NASPortId ( 網 路 附 屬 儲 存 裝 置 的 Port Number), NASPortType(網路附屬儲存裝置的 Port 型態,如:Async,即數據機連線), AcctStartTime(計費起始時間), AcctStopTime(計費停止時間), AcctSessionTime(計費通話時間), AcctAuthentic(計費認證,如:RADIUS, 意即是透過 RADIUS 來認證), ConnectInfo_start(連線資訊_開始,如:. 28800 V42BIS/LAPM,意即一開始連線的 資訊。首先是傳輸速度(即網路附屬儲存 裝置數據機的傳輸速度),如果後面跟著 反斜線(/),在反斜線後面是接收速度, 然後是其它關於數據機的訊息。因此,上 述例子中的 28800 是指傳輸速度,以 bps 為單位。後面則是使用 V42bis 的 LAPM, 有關數據機規格), ConnectInfo_stop(連線資訊_停止,如: 52000/31200 V90,意即停止連線的資訊, 52000 是指傳輸速度,31200 是指接收速 度,都是以 bps 為單位。後面則是使用 V90,有關數據機規格), AcctInputOctets(計費輸入 Octet 數量,意 即針對撥打服務收到多少 Octet 數), AcctOutputOctets(計費輸出 Octet 數量, 意即針對撥打服務輸出多少 Octet 數), CalledStationId(受話方電話號碼), CallingStationId(撥話方電話號碼), AcctTerminateCause(計費終止啟動,如: User Request、Session Timeout), ServiceType ( 服 務 型 態 , 如 : Login 、 Authenticate only), FramedProtocol(訊框協定,如:PPP、 SLIP), FramedIPAddress(訊框 IP 位址,意指如 4.

(5) 方的使用者代理器,撥話方的使用者代理 器則會再傳送 ACK 訊息給受話方使用者 代理器,如此,通話連線已經建立完成, 可以準備開始進行對話。. 果是使用網路附屬儲存裝置的用戶而言, 網路附屬儲存裝置會從自己的 IP 位址池 (IP Pool)中選擇一個 IP 位址分配給該用 戶), AcctStartDelay(計費起始延遲時間), AcctStopDelay)(計費停止延遲時間) values ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', '%S', '0','0', '%{Acct-Authentic}', '%{Connect-Info}', '0', '0', '%{Called-Station-Id}', '%{Calling-Station-Id}', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', '%{Acct-Delay-Time}', '0')". 步驟 5: 當雙方建立通話連線後,B2BUA 軟 體 再 向 FreeRADIUS 軟 體 發 出 Accounting-Request 及確認連線存在訊息 -- Acct-Status-Type=Alive , 告 知 FreeRADIUS 軟體確認此連線仍然存在, 並且計算出 Acct-Delay-time 因建立連線而 造成延遲的時間。接著,FreeRADIUS 軟 體 裡 的 sql.conf 設 定 檔 的 accounting_update_query 會予以啟動並執 行更新動作,將資料更新到原先已寫進到 radacct table 中 的 那 一 筆 紀 錄 上 -UPDATE(見以下 SQL Command 粗斜體 部分)。. 另外,如果發生如 SIP Proxy Server、 Billing System 或 網 路 附 屬 儲 存 裝 置 (Network Attached Storage,NAS)等重 開 機 的 情 況 下 , 會 啟 動 accounting_onoff_query 執行更新資料的動 作 -- UPDATE(見以下 SQL Command 粗 斜體部分)。accounting_onoff_query 的執 行會暫時將計費予以停止,以避免用戶在 撥打使用的過程中遭遇系統重開機狀態, 計費仍在計時的狀況。. accounting_update_query = "UPDATE ${acct_table1} SET FramedIPAddress = '%{Framed-IP-Address}', AcctSessionTime = '%{Acct-Session-Time}', AcctInputOctets = '%{Acct-Input-Octets}', AcctOutputOctets = '%{Acct-Output-Octets}' WHERE AcctSessionId = '%{Acct-Session-Id}' AND UserName = '%{SQL-User-Name}' AND NASIPAddress= '%{NAS-IP-Address}'". accounting_onoff_query = "UPDATE ${acct_table1} SET AcctStopTime='%S', AcctSessionTime=unix_timestamp('%S') unix_timestamp(AcctStartTime), (重開機後的時間減掉計費起始時間,得 出使用者在重開機前的計費通話時間) AcctTerminateCause='%{Acct-TerminateCause}', AcctStopDelay ='%{Acct-Delay-Time}' WHERE AcctSessionTime=0 AND AcctStopTime=0 AND NASIPAddress= '%{NAS-IP-Address}' AND AcctStartTime <= '%S'". 最 後 , FreeRADIUS 軟 體 再 回 送 Accounting-Response 給 B2BUA 軟體確認。 步驟 6: 此時雙方可以開始通話。假設當受話 方先掛斷電話,會發出 BYE 訊息到撥話 方,撥話方再回應 OK 訊息給受話方,通 話就此結束。 步驟 7:. 最 後 , FreeRADIUS 軟 體 再 回 送 Accounting-Response 給 B2BUA 軟體確認。. 當雙方通話完畢,B2BUA 軟體再向 FreeRADIUS 軟體發出 Accounting-Request 訊 息 , 並 設 定 停 止 計 時 -Acct-Status-Type=Stop,及計算此通電話的 時間 Acct-Session-Time(電話撥打時間)。 接著,FreeRADIUS 軟體裡的 sql.conf 設定 檔的 accounting_stop_query 會啟動,將通 話結束後的紀錄,再一次更新到 radacct table 的那一筆紀錄上 -- UPDATE(見以下 SQL Command 粗斜體部分)。. 步驟 4: 當 B2BUA 軟體收到 FreeRADIUS 軟 體的 Accounting-Response 回應後,B2BUA 軟體便可以將撥話方 INVITE 的請求轉送 到 PSTN Gateway,PSTN Gateway 再將 INVITE 的請求送至受話方的使用者代理 器。等到受話方的使用者代理器收到 INVITE 的請求,並回應 OK 訊息到撥話 5.

(6) accounting_stop_query = "UPDATE ${acct_table2} SET AcctStopTime = '%S', AcctSessionTime ='%{Acct-Session-Time}', AcctInputOctets = '%{Acct-Input-Octets}', AcctOutputOctets = '%{Acct-Output-Octets}', AcctTerminateCause = '%{Acct-Terminate-Cause}', AcctStopDelay = '%{Acct-Delay-Time}', ConnectInfo_stop = '%{Connect-Info}' WHERE AcctSessionId = '%{Acct-Session-Id}' AND UserName = '%{SQL-User-Name}' AND NASIPAddress = '%{NAS-IP-Address}'". 第一部份: 是 Client。所謂 Client 包括一般個人 電腦、筆記型電腦及客戶端應用程式 -ThmuWebPhone.CAB 。 ThmuWebPhone.CAB 封 裝 了 MySQL ODBC Driver 及內含 RTC Client API 的 ActiveX 等 兩 個 元 件 。 MySQL ODBC Driver 是網頁式電話與 MySQL 資料庫之 間 的 溝 通 橋 樑 。 透 過 MySQL ODBC Driver,我們能順利地從 MySQL 資料庫中 擷取資料。而 ActiveX 是將 RTC Client API 所開發的程式包裝起來,最後再將 ActiveX 鑲嵌在 HTML 上,供用戶在 Client 透 過 網 頁 啟 動 放 置 在 Client 的 ThmuWebPhone.CAB 撥打電話。. 最 後 , FreeRADIUS 軟 體 再 回 送 Accounting-Response 給 B2BUA 軟體確認。. 第二部份:. 以上是預付式服務撥打的七個流程步驟說 明,及 sql.conf 設定檔中四組 SQL Command 的說 明。藉由預付式服務的使用,得知每位用戶的每一 通電話起始和結束的時間,以及最後總共撥打的時 間、可撥打的秒數等。如此,就能透過費率的計算, 換算成用戶可撥打的通話點數,作為預付式電話餘 額抵扣的依據。. 是 Web Server , 裡 面 放 置 著 Webphone.html 及 供 用 戶 下 載 使 用 的 ThmuWebPhone.CAB。 第三部份: 則是 SIP Proxy Server,裡面包含了 MySQL 資料庫及與它結合在一起的 SER 軟體和 FreeRADIUS 軟體,以及作為溝通 SER 軟 體 和 FreeRADIUS 軟 體 之 間 的 B2BUA 軟體。. 四、網頁式電話 (一)網頁式電話架構. 以上是圖 4.1 的三個部份說明。當用戶撥打網 頁式電話時,這三部分彼此互動的步驟順序如圖 4.1 所示,分別依序說明如下。. 網頁式電話之架構如圖 4.1 所示。此架構包含 Client、Web Server、SIP Proxy Server 等三個部份:. 步驟 1:. FreeRADIUS B2BUA. MySQL. SER. 用戶透過 Client 的瀏覽器(Browser) 上網連線到網頁伺服器的 Webphone.html 網頁。. SIP Proxy Server. 步驟 2:. Webphone.html 1. 2. 3. 透過 Webphone.html 裡的 CLASSID (ActiveX 登錄在系統登錄檔的辨識 ID) 及 CODEBASE ( 指 定 下 載 控 制 項 的 位 置 ), 將 置 放 在 網 頁 伺 服 器 的 ThmuWebPhone.CAB 載入至 Client。. Web Server. 4. Client Web-based Phone. 步驟 3:. MySQL ODBC Driver ActiveX RTC Client API. 下載完畢後,用戶就可以使用網頁式 電話。首先,當用戶使用網頁式電話的同 時,用戶必須先進行帳號及密碼確認的動 作,並登入到 SIP Proxy Server 的 SER 軟 體。接著,當帳號及密碼確認完成並已登 入到 SER 軟體,用戶即可啟動已經載入到. ThmuWeb Phone.CAB. 圖 4.1:網頁式電話架構圖 6.

(7) 步驟 5:. Client 的 ThmuWebPhone.CAB,並且使用 ThmuWebPhone.CAB 裡面的 RTC Client API 元件,送出 XML 登入檔到 SER 軟體 進行帳號密碼的確認與登入。. 當 Client 收到由 SER 軟體傳來確認帳 號及密碼無誤的訊息後,用戶即可在 Client 開啟網頁式電話的畫面(見圖 4.4) 。 接著,網頁式電話便藉由 ODBC 與 SIP Proxy Server 的 MySQL 資料庫溝通,讀取 用戶目前可撥打餘額資料。最後將讀取的 資料傳回來顯示在網頁式電話上,使得用 戶能確實掌握可撥打時間及金額的狀況, 當用戶使用網頁式電話開始撥打電話時, 網頁式電話馬上可以計算抵扣撥打金額及 時間,供用戶參考之用。. 步驟 4: 當用戶使用網頁式電話確認登入到 SER 軟 體 完 成 後 , 接 著 Client 裡 的 ThmuWebPhone.CAB 會再透過已經包含 在它裡面的 MySQL ODBC Driver 連線至 MySQL 資料庫擷取用戶的資訊。 (二)預付式網頁式電話流程. 步驟 6 ~ 步驟 7:. 本節將說明預付式網頁電話服務之完整流 程,如圖 4.2 所示。詳細流程步驟依序說明如下。. PSTN Gateway. 12 15. 13. PSTN. 當用戶使用 Client 上的網頁式電話輸 入受話方號碼,撥打行動電話或是一般市 內電話,SER 軟體會將來自網頁式電話的 INVITE 的訊息,傳送給 B2BUA 軟體。. Phone. 14 Mobile Phone. 步驟 8:. SIP Proxy Server. 11 16. B2BUA 軟 體 收 到 由 SER 傳 來 的 INVITE 的 訊 息 後 , B2BUA 軟 體 再 將 INVITE 的訊息傳給 FreeRADIUS 軟體。. 3 SER 7. B2BUA. 10 8 17. FreeRADIUS. 9 18. 步驟 9 ~ 步驟 10:. MySQL. 當 FreeRADIUS 軟體收到由 B2BUA 軟體傳來的撥打訊息後,馬上藉由 AAA 機制與 MySQL 資料庫進行身份認證,並 確認用戶是否有餘額撥打電話。如果用戶 有足夠餘額可撥打,FreeRADIUS 軟體即 將撥打訊息回傳至 B2BUA 軟體。如果沒 有餘額,FreeRADIUS 軟體將回傳 STOP 訊息(當 Session-Timeout 等於零的情況下) 給 B2BUA 軟體,B2BUA 軟體再將 INVITE 的訊息送回到網頁式電話,告知用戶已沒 有餘額可撥打,不能使用,需再購買餘額 才能撥打行動電話或是一般市內電話。. 2 4 6. Client Web-based Phone. 1 19. 20 Web Server 5. 圖 4.2:網頁式電話流程圖 步驟 1: 用戶打開瀏覽器連線至網頁伺服器的 網頁式電話首頁,並且載入網頁式電話的 ActiveX 元件。. 步驟 11 ~ 步驟 13:. 步驟 2:. B2BUA 軟體收到由 FreeRADIUS 軟 體傳來確定用戶仍有餘額可撥打訊息後, B2BUA 軟體會將 INVITE 訊息轉送至 PSTN Gateway , 由 PSTN Gateway 將 INVITE 訊息撥打至 PSTN,與受話方連 線。待雙方建立通話連線作業完成後, B2BUA 軟體啟動計費計時功能,並傳送 開 始 計 費 時 間 至 FreeRADIUS 軟 體 , FreeRADIUS 軟體再存進 MySQL 資料庫 中。用戶可由網頁式電話中的訊息視窗, 在一邊撥打的情況下,即時了解目前餘額 使用的情況。. 接著,用戶在 Client 使用網頁式電 話,登入至 SIP Proxy Server 的 SER 軟體 做帳號及密碼的確認動作。 步驟 3 ~ 步驟 4: SER 軟體聯繫 MySQL 資料庫,比對 查詢帳號密碼是否有誤,以確認用戶身 份,避免非法用戶佔用系統資源及網路頻 寬。當 SER 軟體收到經由 MySQL 資料庫 比對帳號與密碼正確的訊息後,SER 軟體 回送登入成功的訊息给 Client。. 7.

(8) 圖 4.4 為用戶輸入帳號及密碼登入後的主系統 畫 面 圖 , 針 對 重 要 功 能 說 明 如 下 。. 步驟 14 ~ 步驟 16: 當雙方通話完畢,假設受話方先掛斷 電話,PSTN Gateway 將 BYE 訊息回傳至 SIP Proxy Server 裡的 B2BUA 軟體。 步驟 17 ~ 步驟 18: B2BUA 軟體收到由 PSTN Gateway 傳 來掛斷訊息,便會停止計費計時功能,並 將用戶撥打結束時間傳至 FreeRADIUS 軟 體,FreeRADIUS 軟體再存進 MySQL 資 料庫中。. (1). (2). (3). (4). 步驟 19 ~ 步驟 20:. (6). 至此,通話建立。此時,用戶可連線 至網頁伺服器上的網際網路語音服務預付 式服務管理系統,藉由此系統連線至 MySQL 資料庫查詢。如此,用戶經由此 系統可以得知撥打的詳細狀況及明細表。. (5). (三)實驗程式功能與畫面. 圖 4.4:網頁式電話主系統畫面圖. 圖 4.3 為網頁式電話登入的畫面,針對重要功 能說明如下。. (1). 訊息顯示:. 此欄位用以顯示登入狀態、撥打與接 聽狀態及錯誤訊息。 (2). (1). 警告訊息:. 此訊息顯示是用來表示當在第 4 項的 SIP 空 白 欄 位 裡 面 輸 入 錯 誤 的 SIP Address,系統預設 25 秒判斷無法撥通的 情況,及當用戶餘額不足的情況下,主系 統畫面將會顯示警告訊息。. (2). (3). 在空白處輸入 SIP Address 或手機、一 般電話號碼 Address。另外,為了避免用 戶不知 SIP Address 格式,在空白處會出現 提示訊息。. 圖 4.3:網頁式電話登入畫面圖 (1). 帳號密碼:. (4). 用戶輸入登入網頁式電話的帳號及密 碼。帳號如 0939123456、tlchen 等電話號 碼帳號或一般英文字開頭之帳號都可使 用。 (2). SIP 號碼輸入欄位:. 時間及餘額顯示:. 此訊息用來顯示撥打時間、可撥打秒 數及可用金額。當可撥打秒數等於系統設 定的 60 秒時,系統即會出現上述第三項的 警告訊息 -- “警告:您的餘額即將用完, 請準備掛斷電話”,並且出現警告鈴聲提醒 用戶。如果餘額還未補充,當下次再登入 到圖 4.4 主系統畫面時,系統經判斷用戶 的可撥打秒數低於系統設定的 60 秒,即會 在上述第三項的警告訊息出現 -- “警告: 您的餘額即將用完,請記得補充餘額。”。. 登入狀態:. 系統會判斷用戶輸入的帳號及密碼, 經過系統預設 30 秒後是否能登入到 SIP Proxy Server。. 8.

(9) (5). 步驟 1:. 設定:. 用戶打開瀏覽器上網開啟網頁式電話 後,輸入帳號及密碼,執行登入的動作。. 預設狀態是開啟的。此按鍵是提供用 戶重新設定偵測聲音和麥克風設備的安裝 精靈。 (6). 步驟 2:. 撥打型態:. 系統判斷輸入帳號密碼是否能註冊登 入到 SIP Proxy Server,如果經過系統預設 30 秒後不能登入,回到步驟 1。如果可以 登入,則進入到步驟 3。. 分成電腦對電腦、電腦對電話兩種撥 打型態,選擇電腦對電腦,則上述第四項 SIP 空白欄位出現提示訊息 -- “請輸入, 如 “[email protected]”” 。 選 擇 電 腦 對 電 話,則上述第四項 SIP 空白欄位出現提示 訊 息 -- “ 請 輸 入 , 如 “[email protected]””。. 步驟 3: 系 統 確 認 可 以 登 入 到 SIP Proxy Server,開始執行初始化畫面設定。 步驟 4:. 五、應用劇本. 如果要撥打至受話方手機或一般電話 號碼,選擇電腦對電話的撥打型態,輸入 SIP 電 話 號 碼 , 如 [email protected]。. 本論文將以電腦對電話的撥打型態,作為說明 目前開發網頁式電話應用的劇本,如圖 5.1 所示。 劇本將說明在電腦對電話的情況下,用戶從一開始 啟動網頁式電話到最後掛斷電話終止通話的整個 工作流程。詳細步驟依序說明如下。. 步驟 5: 在前一步驟 4 輸入 SIP 電話號碼後, 執行此步驟撥打動作。. Start 1. 步驟 6:. Login. No 2. 3. 系統判斷 SIP 電話號碼能否撥打出 去,經過系統預設 25 秒判斷,如果無法撥 通,回到步驟 4。如果可以撥通,進到步 驟 7。. Check ID Password ? Yes Initialization. 4. No. 5. 6. 步驟 7: Input SIP Address. 系統判斷用戶是否有餘額可以撥打。 如果用戶沒有餘額,則不准用戶使用電腦 對電話的撥打型態,直接跳到步驟 11,並 且出現警告訊息 -- “警告:您的餘額即將 用完,請記得補充餘額”。如果用戶仍有餘 額,進到步驟 8。. Dial. Check SIP Address ? Yes. 7 No 8. 步驟 8:. Check Balance ?. 待步驟 6 與步驟 7 確認完畢後,雙方 開始進行通話動作。通話完畢後,進到步 驟 11。. Yes Conversation. 9. > 60. Balance = 0, < 60, = 60, > 60 ? 11. 步驟 9:. 10 < 60, = 60. Warning. 在雙方通話的過程中,判斷餘額目前 狀況。如果可撥打秒數大於系統設定的 60 秒,進到步驟 8 繼續通話。如果可撥打秒 數等於或小於系統設定的 60 秒,進到步驟 10。如果用戶可撥打秒數等於 0 秒,進到 步驟 11,終止通話。. =0 Terminate. 圖 5.1:電腦對電話流程圖. 9.

(10) Conference on Advanced Communication Technology, Vol. 2, pp. 756 – 759, 2004.. 步驟 10: 如果用戶的可撥打秒數等於或小於系 統設定的 60 秒狀態,則會發出警告訊息與 警告鈴聲,通知用戶餘額快要使用完畢, 請掛斷電話的訊息,但仍可繼續撥打,回 到步驟 8。. [7] J. Hassell, RADIUS, 1st Ed. Beijing: O’Rilly & Associates, Inc., 2003. [8] J. Martin, “Wireless Prepaid Billing: A Global Overview,” Telecommunications, Sep. 1999. [9] J. Rosenberg, et al., “SIP: Session Initiation Protocol,” RFC3261, June 2002.. 步驟 11: 結束通話有兩種情形:一是當用戶在 步驟 8進行通話完畢後,掛斷終止通話。 另一,當用戶在步驟 9進行通話的過程 中,可撥打秒數等於0秒的情況,系統會強 制掛斷終止通話。. [10] M. F. Chang and W. Z. Yang, “Performance Modeling of Mobile Prepaid and Priority Call Services,” in Proceedings of the National Computer Symposium(NCS), 2001. [11] M. F. Chang and W. Z. Yang, “Performance of Mobile Prepaid and Priority Call Services,” IEEE Communication Letters, 6(2): pp. 61-63, Feb. 2002.. 六、結論 本論文利用整合開放原始碼軟體,建構預付式 服務計費系統的網際網路語音服務平台,並設計具 預付式服務的網頁式電話。本系統除可節省高昂的 硬體電話和軟體電話成本外,亦提供用戶在撥打的 同時,能即時獲得撥打餘額方面的資訊,並且在通 話餘額即將用完之際,傳達餘額不足的警告訊息給 用戶。另外在用戶掛斷電話時,系統也能提供顯示 目前所剩餘額的狀況。透過此整合系統,我們可以 提供使用者既方便又實用的網際網路語音服務應 用工具與環境。. [12] M. F. Chang, W. Z. Yang and Y. B. Lin, “Performance Modeling of Service Node in Mobile Prepaid Service,” IEEE Transaction on Vehicular Technology, 51(3): pp. 597-612, May 2002. [13] M. F. Chang, Y. B. Lin and W. Z. Yang, “Performance of Hot Billing Mobile Prepaid Service,” Computer Networks Journal, 36(2-3): pp. 269-290, July 2001. [14] M. Y. Huh, et al., “Call management mechanism for internet phone services based on SIP,” in Proceedings of the 5th IEEE International Conference on High Speed Networks and Multimedia Communications, pp. 66 – 70, 2002.. 未來我們將針對撥打市話,甚至國際電話及手 機電話來給予不同費率的調整,使本系統能更符合 使用者的需求。另外,我們未來也會針對本系統進 行效能方面的測試,提供相關數據供參考之用。. [15] S. Baset and H. Schulzrinne, “An analysis of the skype peer-to-peer internet telephony protocol,” Technical Report CUCS-039-04, Computer Science Department, Columbia University, New York, NY, Sep. 2004.. 參考文獻 [1] “以即時的計費解決方案營造可盈利的網路,” http://media.ccidnet.com/media/ciw/1275/c1802. htm. [16] K. Singh and H. Schulzrinne, “Peer-to-peer Internet Telephony using SIP”, in Proceedings of the 15th International Workshop on Network and Operating Systems Support for Digital Audio and Video (NOSSDAV), pp. 63 – 68, June 2005.. [2] C. Rigney, “RADIUS Accounting,” RFC2866, June 2000. [3] C. Rigney, et al., “Remote Authentication Dial In User Service (RADIUS),” RFC2865, June 2000.. [17] S. Zeadally and F. Siddiqui, “Design and implementation of a SIP-based VoIP architecture,” in Proceedings of the 18th International Conference on Advanced Information Networking and Applications (AINA), Vol. 2, pp. 187 – 190, 2004.. [4] D. Collins, Carrier Grade Voice over IP, 1st Ed. New York: McGraw-Hill Companies, Inc., 2001. [5] D. Mitton, et al., “Authentication, Authorization, and Accounting: Protocol Evaluation,” RFC 3127, June 2001.. [18] W. Hyun, M. Y. Huh and S. G. Kang, “An implementation of SIP servers for internet telephony,” in Proceedings of the 5th IEEE International Conference on High Speed. [6] H. Wook, et al., “Study on robust billing mechanism for SIP-based internet telephony services,” in Proceedings of the 6th International 10.

(11) [23]. Networks and Multimedia Communications, pp 61 – 65, 2002.. [24] “Logitech and Skype Announce Marketing Agreement,” http://www.skype.com/company/news/2004/logit echannouncement.html. [19] W. Z. Yang, F. S. Lu and M. F. Chang, “Performance Modeling of Integrated Mobile Prepaid Services,” in Proceedings of the 10th Mobile Computing Workshop(MC), pp. 133-138, 2004. [20]. “B2BUA - Back-to-Back http://www.vovida.org/. User. [21]. “Buy Xten Software,” http://www.xten.com/index.php?menu=products &smenu=buy. “Hard Phone,” http://www.voip-info.org/wiki-VOIP+Phones. [25] “NTP VoIP Platform,” http://www/ipv6.club.tw/. Agent,”. [26] “Prepaid: Operators shy away from data,” http://www.telecomasia.net [27] “SIP Express Router,” http://www.iptel.org/ [28] “YamGTD,” http://gtd.yam.com/. [22] “FreeRADIUS,” http://www.freeradius.org/. 11.

(12)

參考文獻

相關文件

步驟一、請各校註冊組長協助,由學務管理系 統計算成績並下載相關成績報表

合平台,同時由同仁以簡訊及電 話聯繫、電子郵件通知符合條件 之求職者前來應徵,並於各處張 貼徵才 DM、於網站及

(1) 輸入 http://kpptr.wda.gov.tw 本分署網站,功能選項中點選「職業訓練」→點選「訓 練課程查詢及報名」.. (2)

形成 形成 形成 研究問題 研究問題 研究問題 研究問題 形成問題 形成問題 形成問題 形成問題 的步驟及 的步驟及 的步驟及 的步驟及 注意事項 注意事項 注意事項

日本電信電話公社宣布,於 9 月 30 日起正式終止呼叫器(BB Call)的服務。日本 呼叫器服務從 1968 年起由電信電話公社開始提供,與當年台灣的

Segmented Bushy Path 分為兩個步驟,第一個步驟是文件結構的切割 (Text Segmentation),也就是分析文件內容並將文件內容切割成幾個具有代 表的結構。Text Segmentation

思考要有角度/單向/正反/個人他人社會/長 短答題/寫作有一定步驟;說話能舉生活事

頁碼編排步驟 (4) 點選 格式 後,出現以下畫面:. 接著選擇頁碼要呈現