2011/10/2

Android CTS - painful with RTSP

這幾個月經常被 Android CTS 的網路測試弄得火冒三丈. 尤其現在大部份時間在大陸, 要得到一個乾淨的網路 (不經過 great firewall, no tunneling, no VPN) 的環境實在太難了. 但是 CTS 本身基本是為了 Android API 相容性, 跟 Google 服務 package (GMS) 做測試的, 所以網路的設定基本上是建立在:

1. 可以使用 Google 服務的網路上
2. Device 從 DHCP 取得的網路設定是值得相信的

但是 1 跟 2 其實在大陸都很難達到. 對網路長城有一點研究就知道, 其實長城並不是靠 blocking IP 那種暴力的方式來擋住所有 connection, 而是包含 DNS redirect, URL filitering...etc 來達到 blocking 的方式. 所以 CTS 測項中跟網路有關最多的 DNS 連結跟查詢工作, 就會失敗. 不過拜both side 氣氛和緩之賜, 還是可以用 hinet 的 DNS resolve 正確的 IP, 連結到那些無害的測試網站 (like php.net/others)

原先 CTS 2.3 r5 之前, AP 的 DHCP 改個 default DNS 就可以過了, 但是從 CTS R7(錯誤的 release), R8, R9 之後, 加了該死的 RTSP/HTTP streaming test, 內容更是從該死的 youtube 下載. HTTP 還好, 先天就有可 tunneling 的優勢...但是 RTSP 真的是被弄到了.....f 理論上用 VPN 應該可以避開, 但實際結果是 Android 至少在 2.3 base, RTSP 即使 protocol ok, streaming 不見得 VPN 內可以建得起來 stream, 因為你不會知道是 VPN 的出口不能建 port 554 connection, 還是 youtube 有設 routing rule, filter 掉某些 routing. 但是結果不是被 firewall 擋就是被 youtube filter...@)@*@*#!

雖然最後靠台北同事幫忙測試 ok, 但是過程實在太怒了....

Anyway, 最後還是找一個技術上正確的 VPN 來解決這種無聊的測試環境假想設定.

Appendix: Great Firewall of China
http://en.wikipedia.org/wiki/Great_Firewall_of_China
張貼留言
 
Creative Commons License
著作 係採用創用 CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款授權.