Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 11

國立台北大學資訊工程系

專題報告

題目:
全方位車用保全-
車用行動通訊監控系統之研究與實作

指導教授:莊東穎、陳裕賢

專題組員:陳俊志、黃國彰、林甫濬
I、摘要   
II、研究動機   
  一般人最常透過瀏覽器存取 IP 網路上的文字、圖片、影片…等相關服務。事實上,它
潛藏更大的可能。此專題將實現其中之ㄧ,而即將到來的 WiMax 將會使它明朗化。

  VoIP(Voice over Internet Protocol)是在 Internet 或其他基於 IP 網路上的語音會談繞徑


(Routing)。它可簡化用傳統網路不易達成的工作,如:
1. 可在同一有寬頻連接的電話線上傳輸一個以上的電話呼叫,這使 VoIP 成為一個能多
加入一個電話線於家或辦公室中的簡單方案。
2. 使用上是無關於位置的:我們只需有一個能連接到 VoIP provider 的網路連線,它就可
以運作。
3. 其安全性可建立在已存在之協定上。如 SRTP(Secure Real-time Transport
Protocol)。建立ㄧ安全之呼叫所涉及之困難點,諸如數位化(Digitizing)和數位傳
送均已被適當處理。
它較明顯的一大優勢莫過於因為它是利用網路傳送聲音,故使用者只需向 ISP 付使用網路的
費用,長期使用下來,比傳統電話可多省下不少費用。

  在台灣,最近的統計資料顯示,96 年 1 至 5 月汽車竊盜案有 12813 件,而破獲率為


69.39%。雖然現今大部分的汽車均配有基本的防盜設備,但由以上的資訊得知,似乎迫切
地需要更有效的防盜系統。

  然而,先進的人性化防盜系統仍需要一定水準的費用。因此專題中,我們要提出一個以
網際網路電話程式(Softphone)為核心所發展的汽車保全系統。不僅涵蓋部分現今防盜系統
的人性化功能(如:知道車子的位置、與駕駛人通話﹚,也有相當的經濟價值。
  
  對 VoIP 而言,ITU 訂定的 H.323 整體訊框過於繁雜,亦缺乏支援 VoIP 信號協定的可擴
展性。因此要有效地達成我們專題目標,關鍵在於由 IETF 所制定的 SIP(RFC3261)。它減
少了複雜性,同時增加了可擴展性。SIP 為一可建立、修改與終止多媒體 Session 的應用層
(Application Layer)上之訊令(Signaling)協定,被廣泛使用在 VoIP 的訊令部分。SIP 本
身不提供服務,但是和其他 IETF 制訂的協定一起使用,即可提供完整的多媒體架構。專題
中使用的 Softphone 就用到 RTP(Real-time Transport Protocol):作為傳輸即時資料與提供
QoS 回饋;和 SDP(Session Description Protocol):作為描述多媒體 Session。SIP 使用上是
以 client-server 為架構,因此在執行 Softphone 時,我們常利用碩士班學長所架設的 SIP 伺服
器(擔任 Registrar 及 Proxy 的角色)對它做註冊(傳送 REGISTER)及呼叫(傳送
INVITE)…等相關 SIP 請求的測試。

III、相關文獻探討
  由 Intel 及相關網路設備公司所主導的 IP 都會型無線技術-WiMAX[1]。正開始影響原
有電信網路架構,可以預期將來末端無線傳輸設備將會有機會由 WiMAX 所取代。WiMAX
全名為無線都會區域網路(Worldwide Interoperability for Microwave Access),為一種無線寬
頻傳輸的新技術。此技術隸屬在 IEEE 802.16 的規範之下,可分為固接式和移動式兩種標準,
並支援點對點以及點對多的網路結構。WiMAX 電波涵蓋半徑最大可達 50km,傳輸速率更
可達每秒 70Mbits,加上近幾年 VoIP 的強力推動,使得 WiMAX 可望成為無線傳輸技術中的
超級新星。

固定式 WiMAX 方面:WiMax 最初設計定位是利用一種固定寬頻無線連接的方式來取


代傳統的 Cable 和 DSL,為使用者提供 Last mile 的一種解決方案。某種意義上,特別是對於
很多開發中國家或偏遠地區沒有 Cable 和 DSL 服務,由於有線上網裝置的費用較高,利用
WiMax 的特性,將有助於打開這些市場。

移動式 WiMAX 方面:由於無線上網人口的爆增,傳統 WiFi 的服務範圍較小,Hot spot


的設置早已不敷使用。而 WiMAX 是一個比 WiFi 功能更強、傳輸速度更快而且服務範圍更
廣的新技術。在具有遠距離傳輸和高頻寬服務下,因此,WiMAX 和 WiFi 合作,必定能滿足
大量的無線上網族群。再加上 WiMAX 裝置的建置成本低廉,所以 WiMAX 和 3G 的互補,
更能擴大整個電信服務的範圍與不足。

  綜合以上觀點來看,WiMAX 擁有以下的優勢:
1. 提供更遠的傳輸距離:WiMAX 能提供服務半徑高達 50km 的範圍,這是 WiFi 的 300
英呎所遠遠不及的。
2. 提供更高速的傳輸頻帶:WiMAX 最高傳輸速率可達 70Mbits/s,這個速率是目前 3G
網路提供傳輸速率的 30 倍,對無線網路來說,這是很驚人的一大步。
3. 提供 Last mile 的解決方案:WiMAX 除了可與 WiFi 相結合,也可替代 DSL 與 Cable
等有線網路連接點,使用者無需纜線即可和基地台建立連結。
4. 提 供 Multi-media 和 QoS 服 務 : WiFi 本 身 不 提 供 QoS 服 務 , 而 WiMAX 相 較 於
WiFi,有更好的安全性和擴充性,因而能夠實現電信的多媒體通訊服務。  
  
  文件[2]中提到,IEEE802.16e 更新並擴展了 IEEE802.16,允許了行動與固定式
Subscriber stations,所以它可支援對於企業和消費者市場之固定與行動服務。此加強意味著
IEEE802.16 能開始支援以汽車速度在移動的 Subscriber stations。文件中它詳細指定了 MS 由
一 BS 提供的 Air-interface 移動至另一 BS 提供的 Air-interface 過程中之換手(Handover)程
序。另外在[3]中,作者依據[2]提出之方法,以數個層面加以分析:
1. 小訊號在 Air-interface 上之負載
2. 低換手時間
3. 換手時,最小的封包失去
4. 最小的換手失誤率
5. 網路資源的有效利用
要達成這些目標,802.16e 所運用的是骨幹網路(Backbone Network)支援。最後作者提到,
這些目標都已被考量,而且此標準提供了重要的功能,能達成有效率的換手程序。截至目前
之探討,WiMAX 與其他無線上網技術整合後所展現的架構將為此專題在未來可行性方面,
注入了一劑強心針。

  在 RFC3265 中定義了一可延伸的體制(Framework),其中 SIP 節點可要求自遠端節點


的發出的通知,此通知是關於遠端所做的一些特定動作。但此 RFC 中限制了事件通知的內
容:必須和 SIP 有關聯。然而在[4]中提到,雖有許多基於此限制下所發展出的事件包裹
(Event Package),像是會議事件包裹(RFC4575)、鍵盤按下事件包裹(RFC 4730)…等。
但近幾年來,真正令大家感興趣的是,將此體制用於提供即時通訊相關的事件通知,其與
SIP 較無直接關聯。其中一個例子就是:汽車事件包裹,它可提供由車載通訊(Telematics)
系統發配的汽車狀況及診斷資訊。但上例尚未被接受,而作者就是希望可移除上述限制。由
上可知,想應用 SIP 在汽車防盜已有人開始關注,未來若移除此限,將上例用於此專題程式,
再結合現有功能,相信能使專題之汽車保全系統更加完備。

IV、原理分析
A、Softphone 程式方面  
  此專題中使用的 Softphone 主要用到下列協定:SIP、SDP 和 RTP。而我們重點著重於前
二者,以下開始分別說明:[5]
1、SIP  
  我們說明主要用到的 SIP 請求、回應再來是一些主要動作。
  a、SIP 定址方法
  SIP 位址格式為 user@host。user 為使用者名稱或電話號碼;host 為網域名稱
或者 IP 位址。例如:WMNLAB@iptel.org 或者是 123@203.68.111.106。
b、訊息格式
       不管是請求或回應訊息一律使用 RFC2822 之基本格式。其格式為:
     起始行(請求行/狀態行)
     訊息標頭
     空行
     訊息本體

     c、SIP 的元件
       SIP 環境中,有二個主要元件:UA(User agent)和伺服器。
     UA:
  又可分成 UAC(User Agent Client)及 UAS(User Agent Server)。前者負責
產生請求及回應;後者接受請求及發出回應。呼叫之建立過程中,UA 會接替扮
演這兩個角色。
     伺服器:
  雖然在 RFC2543 定義伺服器分為 Proxy 伺服器()、重新導向伺服器()
與位址伺服器(),但在我們專題實作時,上述三種常常是被合併為一個伺服器。
實例如:SIP Express Router(SER)[4]。
     d、請求
INVITE 表示請求加入一個呼叫 Session
ACK 確認一端已接收到 INVITE 請求之最後回應
BYE 終結一個呼叫
CANCEL 取消尚未建立連線的呼叫
REGISTER 註冊使用者的 URL
OPTIONS 查詢伺服器功能
MESSAGE 兩參與用戶間即時訊息內容之交換
INFO 沿著 SIP 訊令路徑攜帶應用層訊息
表1
     e、回應
1xx 暫時回應(已收到請求,但仍繼續處理中)
2xx 成功回應(請求已成功被接收)
3xx 重新導向回應(需有進一步動作方能完成請求)
4xx 用戶錯誤回應(請求中包含不適當之語法)
5xx 伺服器錯誤回應(伺服器目前無法配合此請求)
6xx 全域失效回應(請求在任一伺服器均無法滿足)
表2
f、註冊
  註冊發生於當一 Client 要讓 Registrar 知道他的位置。過程中,Client 會送出
REGISTER 請求給 Registrar,其中包含他可被聯絡到的位址。一個典型的註冊訊
息如:
REGISTER sip:iptel.org SIP/2.0
From: LAB <sip:GCC@iptel.org>;tag=1b42ff5fe5f918108d7bc6e765017bad
To: sip:GCC@iptel.org
Via: SIP/2.0/UDP 124.8.4.13:5060;branch=z9hG4bK1b42ff5fe5f918108d7cc6e765017bad;rport
CSeq: 1 REGISTER
Call-ID: 1b42ff5f-e5f9-1810-8747-c6e765017bad@iptel.org
Contact: "LAB" <sip:GCC@124.8.4.13:5060;transport=udp>
Expires: 3600
Max-Forwards: 10
Allow: INVITE, BYE, ACK, REFER, MESSAGE, INFO, NOTIFY, OPTIONS
Content-Length: 0

成功註冊的訊息流示意圖可參考圖。
g、起始呼叫
  呼叫的起始發生在當一 SIP 終端邀請另一 SIP 終端加入一呼叫 Session。此過
程中發話端送出一 INVITE 請求,要接收端加入特定的會議或建立單純的雙向會
談。一典型的 INVITE 訊息如:
INVITE sip:123@203.68.111.106 SIP/2.0
From: wmn <sip:12@203.68.111.106>;tag=bc88dda0dbf918108a4cf223004c486a
To: sip:123@203.68.111.106
Via: SIP/2.0/UDP
203.68.111.107:5060;iid=1438;branch=z9hG4bKbc88dda0dbf918108a4bf223004c486a;uas-
addr=203.68.111.106;rport
CSeq: 4711 INVITE
Call-ID: bc88dda0-dbf9-1810-8378-f223004c486a
Contact: "wmn" <sip:12@203.68.111.107:5060>
User-Agent: OpenSIPStack-1.1.7-11
Max-Forwards: 10
Allow: INVITE, BYE, ACK, REFER, MESSAGE, INFO, NOTIFY, OPTIONS
Content-Type: application/sdp
Content-Length: 234

成功的呼叫建立訊息流示意圖可參考圖。
2、SDP
  當呼叫者起始一會談時,他所發出的 INVITE 訊息中就會帶有 SDP。內容包含呼
叫者想使用的多媒體格式、位址及 Port 號碼,被呼叫端即可針對其內容做接受或拒絕
之回應。其本體內容類似於:(重上面的 INVITE 訊息中擷取出來的 SDP)
v=0
o=- 1192097730 1192097730 IN IP4 203.68.111.107
s=OSS RTP Session
c=IN IP4 203.68.111.107
t=0 0
m=audio 5004 RTP/AVP 101 106 3
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=rtpmap:106 iLBC/8000
a=rtpmap:3 GSM/8000

B、GPS 程式方面  
  專題中 GPS 程式所搭配的 GPS 接收器是採用 HOLUX GPSlim236,此款 GPS 接收器所
收到的 NMEA 資料分別為以下五種格式:
1、衛星定位資訊(GGA)
$GPGGA,161229.487,3723.2475,N,12158.3416,W,1,07,1.0,9.0,M, , , ,0000*18
GGA訊息格式說明
名稱 數 單位 說明
訊息代碼 $GPGGA 訊息前引
標準定位時間UTC 161229.487 時時分分秒.秒秒秒 (Hhmmss.sss)
Time
緯度 3723.2475 度度秒秒.秒秒秒秒(ddmm.mmmm)
南 / 北緯 N N:北緯 S:南緯
經度 12158.3416 度度度秒秒.秒秒秒秒
(dddmm.mmmm)
東 / 西經 W E:東經 W:西經
定位代碼 1 詳表(1)
使用中的衛星數 07
水平稀釋精度 1.0 水平稀釋精度,0.5 至 99.9米
海拔高度 9.0 公尺
單位 M 公尺
地表平均高度 公尺
單位 M 公尺
偏差修正使用期間 秒 0 表未使用偏差修正
偏差修正,基地台 0000
代碼
總合檢查碼 *18
表3

數 說明
0 未定位或無法定位
1 SPS 標準定位模式,已定位
2 偏差修正 SPS 標準定位模式,已定位
3 PPS 軍用模式,已定位
表 4 定位代碼

2、GNSS規格資料(RMC)
$GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598, ,*10
RMC 訊息格式說明
名稱 數 單位 說明
訊息代碼 $GPRMC RMC 訊息前引
標準定位時間UTC 161229.48 時時分分秒.秒秒秒(Hhmmss.sss)
Time 7
狀態 A A = 資訊可用。V = 資訊不可用。
緯度 3723.2475 度度秒秒.秒秒秒秒(ddmm.mmmm)
南 / 北緯 N N:北緯 S:南緯
經度 12158.341 度度度秒秒.秒秒秒秒
6 (dddmm.mmmm)
東 / 西經 W E:東經 W:西經
對地速度 0.13 Knots
對地方向 309.62 度 對
日期 120598 日日月月年年
1
磁極變量 Degrees E:東經 W:西經
總和檢查碼 *10
表5

3、對地方向及地面速度(VTG)
$GPVTG,309.62,T, ,M,0.13,N,0.2,K*6E
VTG 資料格式
名稱 數 單位 說明
訊息代碼 $GPVTG VTG 訊息前引
對地方向 309.62 度 行進方向
參考值 T 對
對地方向 度 行進方向
參考值 M 磁極
速度 0.13 Knots 測量水平速度

1 美國瑟孚公司不支援磁極傾角資訊。所有對地方向都是 WGS84 地理座標方向。


單位 N Knots
速度 0.2 Km/hr 測量水平速度
單位 K 公里 / 小時
總和檢查碼 *6E
表6

4、偏差資訊(GNSS DOP)及衛星狀態(GSA)
$GPGSA,A,3,07,02, , , , , ,1.8,1.0,1.5*33
GSA 訊息格式說明
名稱 數 單位 說明
訊息代碼 $GPGSA GSA 訊息前引
模式 1 A 詳表(2)
模式 2 3 詳表(3)
使用中的衛星 07 第一個位置的衛星編號
使用中的衛星 02 第二個位置的衛星編號
...... ......
PDOP 1.8 位置稀釋精度
HDOP 1.0 水平稀釋精度
VDOP 1.5 垂直稀釋精度
總合檢查碼 *33
表7

數 說明
M 手動模式,操作 2 元定位或 3 元定位模式
A 自動模式,自動切換 2 元定位或 3 元定位模式
表 8 模式 1

數 說明
1 未定位
2 2 元定位
3 3 元定位
表 9 模式 2

5、GNSS 所在位置天空中的衛星 (GSV)


$GPGSV,2,1,07,07,79,048,42,02,51,062,43,26,36,256,42,27,27,138,42*71
$GPGSV,2,2,07,09,23,313,42,04,19,159,41,15,12,041,42*41
GSV 訊息格式說明
名稱 數 單位 說明
訊息代碼 $GPGSV 訊息前引
訊息數 2 範圍:1 ~ 3
訊息數 1 範圍:1 ~ 3
天空中的衛星 07
總數
衛星編號 07 第一個位置的衛星 (範圍:1 ~ 32)
衛星仰角 79 Degrees 第一個位置的衛星 (最大 90)
衛星方位角 048 Degrees 第一個位置的衛星 ( 對 ,範圍:0
~ 359)
訊號雜訊比 42 dBHz 範圍:0 ~ 99, 0 表未鎖定
(C/No)

衛星編號 27 第四個位置的衛星 (範圍:1 ~ 32)
衛星仰角 27 Degrees 第四個位置的衛星 (最大 90)
衛星方位角 138 Degrees 第四個位置的衛星 ( 對 ,範圍:0
~ 359)
訊號雜訊比 42 dBHz 範圍:0 ~ 99, 0 表未鎖定
(C/No)
總合檢查碼 *71
表 10
第<4>,<5>,<6>,<7>項個別衛星會重複出現,每行最多有四顆衛星。其餘衛星資訊會於次一
行出現,若未使用,這些欄位會空白。

V、系統架構
A、系統設計   
  專題主要用到與 GPS 程式整合的 Softphone 程式。而配備方面,NBC 上(裝設於遙控車)
配有 GPS 接收器,以下開始簡要作說明:
1. 程式會安裝在一台 NBM(車主監控用)和一台 NBC 上
2. 雙方註冊後,程式進入準備狀態,其中一方即可開始打電話給對方
3. 程式中提供一種安全模式(圖 1):車主離開車子後→將程式切換至安全模式→此時
利用 GPS 儲存當時位置資訊→開始週期性地不斷讀取位置資訊→一旦發現座標與最初
座標差距太遠→NBC 上的程式即發送 SIP Alert 訊息傳送給車主的 NBM→NBM 上的程式
收到後,馬上傳送 INVITE 訊息起始通話→通話建立後,NBM 上的程式依據收到的座
標,在地圖上顯示出來→發送 SIP Move Control 訊息控制車子
圖 1 安全模式運作時的訊息流
B、Softphone 程式設計
1、程式使用到的工具:
  a、使用 C++,以物件導向方式寫成
b、利用 OpenSIPStack 作為 SIP、SDP 與 RTP 函式庫。該函式庫以 Event-driven 的設計,
令軟體開發者較容易地寫出 Softphone 及 SIP 伺服器[7]
c、使用 Qt 製作程式 GUI。Qt 為一被廣泛使用的跨平台 C++函式庫,除了 GUI 功能外,
也提供了 Thread 支援、Socket 支援…等[8]
d、IDE 使用 Microsoft Visual C++ 2005 Express Edition SP1

2、作法:
  我主要用函式庫中提供的範例程式(也使用 Qt)為基礎做修改。但事實上作者的範例
只提供一個簡單的註冊對話框,連註冊的功能都尚未加入。於是我保留對話框部份程式碼、
更改 SIP 函式庫與 Qt 函式庫的初始化順序、將其中一些 class 定義得更清楚並讓它符合我介
面程式需求、加入我的介面 class 及加入函式庫所提供的功能。

  這裡簡要說明使用函式庫的具體做法。在設定好 IDE 讓它連結至 SIP 函式庫後,建立一


個 class 讓它繼承函式庫中的一個 class。因為函式庫中的 class 為抽象類別(Abstract
Class),故必須將一些純虛擬函數(Pure Virtual Function)定義清楚。因為繼承的關係,我
們即可使用 Base Class 的成員函式來做註冊、通話、…等。例如:

class MyClass : public SoftPhoneInterface //SoftPhoneInterface 為 Library 提供

然後在定義 MyClass 成員函式的檔案中:


void SIPPhone::Event_SIPInitialized( const OString & eventInfo ) /*此函數在 Base Class 為純虛
擬*/
{
SIPInitialized = true; //將它定義清楚
}

參考文獻
[1] WiMax Forum, http://www.wimaxforum.org/technology/

[2] IEEE802.16e, IEEE Standard for Local and metropolitan area networks, Part16: Air Interface
for Fixed and Mobile Broadband Wireless Access Systems, Amendment for Physical and Medium
Access Layers for Combined Fixed and Mobile Operation in Licensed Bands, P. iv, 1-3, Feb. 2006

[3] Christian Hoymann, Markus Grauer, WiMax Mobility Support, Aug. 2006

[4] Miguel A. Garcia-Martin, Notification of General Events Using the Session Initiation Protocol,
(SIP) Event Notification Framework, draft-garcia-sipping-general-events-00 (work in progress), P. 2
May 2007

[5] 戴江淮, 姜玲鳳, 網路電話 SIP 原理與應用, 儒林圖書公司, Jun. 2005

[6] SIP Express Router, http://www.iptel.org/ser/

[7] OpenSIPStack, http://www.opensipstack.org/

[8] Qt, http://trolltech.com/products/qt

You might also like