SlideShare a Scribd company logo
1 of 44
Download to read offline
1 
IIJmiomtg#5 
MVNOとGPSについて 
株式会社インターネットイニシアティブ
2 
•名前 
大内宗徳 
•所属 
ネットワーク本部ネットーワークサービス部技術開発課 
•経歴 
2002年IIJ入社。以降、研究開発部門に所属 
•業務内容 
ネットワークサービス全般の技術調査、機器の動作検証、 研究開発 
インターネット関連の技術調査、コアルータやスイッチ等機器の動作検証、 ツール開発 
モバイル関連の技術調査、機器の動作検証、ツール開発 
社内エンジニアの後方支援 
最近はモバイルの端末挙動調査からコアネットワーク設備まで色々やってい ます! 
自己紹介/初めてなので
3 
MVNOのGPSについて 
•ネット上ではMVNOとGPSについて情報があふ れています 
•ただし、古い情報や正しくない情報も散見されます 
•次の2つ問題に焦点をあてて解説していきます 
1.MVNOではGPSが使えない? 
2.MVNOでGPSの位置情報取得を高速にで きるのか?
4 
•端末のGPS機能は使うことは出来ます!でき るはずです 
->ただし、端末によってGPSの位置情報取得に 
かなり時間がかかる場合がある 
(白ロム端末だと顕著になる場合も) 
->MVNOだとGPSが使えない、という誤解に 
•この原因を理解するために下記の2つを解説 
•Android端末の位置情報取得 
•GPSとA-GPSの仕組みについて解説 
1.MVNOではGPSが使えない?
5 
(注1)運が良ければこの精度で 
(注2)GPSを直近で使っていれば、暫くの間は早く取得可能 
(注3)Android4.4以降では改善されているらしい。LGG2mini(4.4.2)で確認 
無線LAN 
MNOの基地局情報 
GPS 
位置特定に利用す る情報 
BSSID 
Cell ID 
衛星の信号 
位置情報精度 
数十~百m 
(注1) 
数百m~数km 
(注1) 
数m 
位置取得の時間 
早い 
早い 
遅い(注2) 
無線LANをON 
必要 
不要 
不要 
Googleサーバへの 到達性 
必要 
必要 
不要 
音声orSMS契約 
必要なし 
必要(注3) 
不要 
Android端末での位置情報取得
6 
Android端末での位置情報取得/GoogleMAP 
•飯田橋のIIJ本社で試した結果 
•端末SO-03D で、MVNOSIM利用 
•大体の位置ならば無線LANでもOK。GPSは時間がかかる 
無線LAN 基地局GPS
7 
GPSについて 
•ただし、正確な位置把握のためにはGPSが必要 
->本題のGPSの話題に 
•GPS概要については省略 
•GPSによる位置情報の取得は仕組み的に時間が 掛かる 
•この仕組みをもう少し掘り下げて説明
8 
GPSで位置情報を取得する手順 
•手順の概略 
1.端末がGPS衛星からの信号サーチして見つける 
2.衛星から信号に含まれるナビゲーションメッセージ得る 
GPS時刻/エフェメリス/アルマナック/補正情報 
3.衛星からの信号の到達時間を調べる 
4.衛星の位置と信号の到達時間、各種補正情報をもとに端 末の位置を計算 
5.この時点で端末の大体の位置がわかる 
6.衛星と端末の関係から最適な衛星を割り出して、最適な 衛星からの信号を利用して位置情報を逐次更新 
(補足) 1、2の処理は時間がかかる。3,4の処理は短時間で完了 
エフェメリス: 衛星の詳細な位置情報 
アルマナック: 衛星の概略の位置情報
9 
TimeToFirstFix(TTFF) 
•GPS端末が初期の位置情報取得までにかかる時間 
•GPS端末の位置情報を取得する性能指標として用いられる 
•参考:SiRFStarIII™ 
http://hyperlogos.org/files/GSC3%28f%29_6.20.05.pdf 
•おおまかに分けて3つの状態で値が示されている 
•ColdStart 
GPS衛星に関する情報を何も持ってない状態 
30秒~数分かかる 
•WarmStart 
GPS時刻、アルマナック、過去に計算済の位置情報を持つ状態 
30秒~1分 
•HotStart 
2-3時間以内のエフェメリス、計算済の位置情報を持つ状態 
数秒以内
10 
ColdStartとの関係 
•手順の概略 
1.端末がGPS衛星からの信号サーチして見つける 
2.衛星から信号に含まれるナビゲーションメッセージ得る 
GPS時刻/エフェメリス/アルマナック/補正情報 
3.衛星からの信号の到達時間を調べる 
4.衛星の位置と信号の到達時間、各種補正情報をもとに端 末の位置を計算 
5.この時点で端末の大体の位置がわかる 
6.衛星と端末の関係から最適な衛星を割り出して、最適な 衛星からの信号を利用して位置情報を逐次更新 
1-5のすべての処理を行うため時間がかかる!
11 
WarmStartとの関係 
•手順の概略 
1.端末がGPS衛星からの信号サーチして見つける 
2.衛星から信号に含まれるナビゲーションメッセージ得る 
GPS時刻/エフェメリス/アルマナック/補正情報 
3.衛星からの信号の到達時間を調べる 
4.衛星の位置と信号の到達時間、各種補正情報をもとに端 末の位置を計算 
5.この時点で端末の大体の位置がわかる 
6.衛星と端末の関係から最適な衛星を割り出して、最適な 衛星からの信号を利用して位置情報を逐次更新 
1は以前に取得したアルマナック等の情報からサーチを高速化 でき、また、2のナビゲーションメッセージ取得を一部省ける分、 時間が短くなる!
12 
HotStartとの関係 
•手順の概略 
1.端末がGPS衛星からの信号サーチして見つける 
2.衛星から信号に含まれるナビゲーションメッセージ得る 
GPS時刻/エフェメリス/アルマナック/補正情報 
3.衛星からの信号の到達時間を調べる 
4.衛星の位置と信号の到達時間、各種補正情報をもとに端 末の位置を計算 
5.この時点で端末の大体の位置がわかる 
6.衛星と端末の関係から最適な衛星を割り出して、最適な 衛星からの信号を利用して位置情報を逐次更新 
1,2の処理を省けるため、大幅に時間が短縮される!!
13 
GPSとA-GPSの関係について 
•手順の概略 
1.端末がGPS衛星からの信号サーチして見つける 
2.衛星から信号に含まれるナビゲーションメッセージ得る 
GPS時刻/エフェメリス/アルマナック/補正情報 
3.衛星からの信号の到達時間を調べる 
4.衛星の位置と信号の到達時間、各種補正情報をもとに端 末の位置を計算 
5.この時点で端末の大体の位置がわかる 
6.衛星と端末の関係から最適な衛星を割り出して、最適な 衛星を割だして位置情報を逐次更新 
1,2の部分の情報をIPネットワークから提供する ことで、HotStartに近い時間短縮を目指す! 
=>(MS-based)A-GPS
14 
•ここまで説明して最初の話に戻ります 
•MVNOでGPSの動作を高速化出来ないのか? 
->キャリア端末でもアプリでGPSを高速化できる 
ただし、一部端末は無理 
•GPSの高速化、A-GPS実装について解説 
A-GPSについて 
AndroidのA-GPSの実装 
(おまけ)A-GPSサーバとの通信プロトコル解析 
2.MVNOでGPSの位置情報取得を高速にできるのか?
15 
A-GPSについて-1 
一般的なA-GPSの実装は2種類に大別される 
1.SUPLに基づく実装 
•SUPL(SecureUserPlaneLocation) 
•OMASecureUserPlaneLocationV1.0/V2.X 
•3GPPTS44.031 
•LocationServices(LCS);MobileStation(MS)-ServingMobileLocationCentre(SMLC)RadioResourceLCSProtocol(RRLP) 
•特徴 
•IP通信でのSUPLサーバからGPS測位補助情報を取得可能 
•モバイルデータ通信が必要->無線LAN経由は不可 
•標準化されたプロトコルを利用 
•SSL/TCPport7275を利用 
•SUPLサーバをSSL証明書で確認 
•GoogleはSSLを使わないport7276も利用 
•利用できる端末が制限されることが多い 
•キャリア網内からしかアクセスできない 
•IMSI/MSISDNの認証等がある
16 
A-GPSについて-2 
2.GPSチップメーカー独自実装 
•特徴 
•IP通信でのサーバからGPS測位補助情報を取得可能 
•アクセスネットワークなんでも良い(3G/LTE/WiFi..) 
•HTTPでデータをダウンロードしてGPSチップに与える 
•エフェメリス、アルマナック等を含む 
•データフォーマットはベンダー独自 
•1週間前後有効な場合が多い 
•情報を取得するのに認証等は不要 
•MVNOからでも利用可能! 
•ベンダー実装例 
•Qualcomm:gpsOneXTRA 
•Broadcom:LongTermOrbit(LTO) 
•MediaTek:ExtendedPredictionOrbit(EPO)
17 
AndroidのA-GPSの実装-1 
•A-GPSの実装 
•SUPLとGPSチップメーカーの独自実装の両対応APIあり 
•ただし、端末メーカーによって対応が異なる 
•無線LANのみ端末->メーカー独自のみ 
•3G/LTE端末->両方対応orSUPLのみ対応 
•A-GPSに関する設定 
•/system/etc/gps.conf–端末によって違うファイル、隠しモードで設定 
•root権限がないと書き換え不可能 
•設定からでは変更できない値が多い 
•GPSのドライバーにハードコーディング? 
•SSL利用の有無の設定はできない? 
•3G/LTE経由でSUPLの有効化 
•APNタイプが未設定ordefault,suplの記述であればOK 
•端末によってはこの値を見てない場合も… 
•SSL証明書を利用したSUPLサーバの確認 
•NTTドコモの端末は確認を行っている(?) 
•SIMフリー端末だとSSLを利用してないものがほとんど
18 
•A-GPSの利用 
1.SUPL利用 
•GPSを利用する位置情報取得APIが叩かれると、SUPL サーバへアクセスして補助情報の取得を試みる 
•SUPLサーバへのアクセス 
•ドコモ端末:dcm-supl.com/MSISDN/SSLport7275 
•SIMフリー端末:supl.google.com/IMSI/SSLなしport7276 
•一部のSIMフリー端末だと、音声/SMS契約がないと SUPLが正常に利用できない場合が 
2.GPSチップメーカー独自実装の利用 
•アプリで明示的にAPIを叩かないと利用出来ない?! 
AndroidのA-GPSの実装-2
19 
AndroidのA-GPSの実装-3 
•GPSチップメーカー独自実装のA-GPSの利用 
•APIを明示的に叩く場合の例 
•実際の利用方法 
•GPSStatus&ToolboxなどのAPIを叩くアプリを利用 
•注意点 
•APIを叩いても正常に動作したかはわからない 
•独自実装がされてなくても、APIは叩ける 
android -Problems with sendExtraCommandand force_xtra_injection-Stack Overflow 
http://stackoverflow.com/questions/4961514/problems-with-sendextracommand-and-force-xtra- injection 
public static void downloadGPSXtra(Context context) 
{ 
LocationManagerlocationmanager= (LocationManager)context.getSystemService("location"); 
Bundle bundle= new Bundle(); 
locationmanager.sendExtraCommand("gps", "force_xtra_injection", bundle); 
locationmanager.sendExtraCommand("gps", "force_time_injection", bundle); 
}
20 
AndroidのA-GPSの実装-4 
•GPSStatus&Toolboxの画面サンプル
21 
AndroidのA-GPSの実装-5 
•GPSStatus&Toolboxを利用してTTFFを測定 
•それぞれ2回試した。単位は秒 
•(注)端末のA-GPSデータを消去したColdStart状態で計測 
GPSStatus&Toolbox->ManageA-GPSstate->Reset 
SO-03D:*#*#7378423#*#*->Servicetests->GPS->Purgeassistancedata 
LGG2mini:3845#*620#->GNSSTest–>DeleteAidingData 
GPSのみ 
A-GPS(SUPL) 
SUPLサーバ 
A-GPS(メーカー独自) 
SO-03D/Xi SIM 
35/47 
19/20 
ドコモ 
10/11 
SO-03D/IIJSIM 
39/34 
34/33(注) 
ドコモ 
8/17 
AscendG6/IIJ SIM 
69/70 
12/8 
Google 
10/11 
LG G2 mini/IIJ SIM 
197/254 
42/55 
Google 
16/27 
•GPS信号の捕捉時間は端末に依存 
•GPSのみに比べて、A-GPSを利用すると早くなる 
•MVNOSIMでもA-GPS(メーカー独自)利用で高速化! 
(注)NTTドコモのSUPLは利用できません。
22 
まとめ 
1.MVNOではGPSが使えない? 
->使えます! 
GPSの仕組み的に時間がかかるため、その理由を解説 
2.MVNOでGPSの位置情報取得を高速にでき るのか? 
->キャリア端末でもアプリを使えば高速化出来ます! 
(ただし、一部端末ではダメ) 
GPSのTTFFを高速化するA-GPSについて解説 
実際にA-GPSを利用したTTFFを測定して確認
23 
おまけ 
-Apple(iPhone)のA-GPSの実装 
-A-GPSサーバとのSUPLプロトコル解析 
-dcm-supl.comのSUPLプロトコル解析 
-supl.google.comのSUPLプロトコル解析
24 
Apple(iPhone)のA-GPSの実装-1 
•A-GPSの実装 
•GPSチップメーカーの独自実装のみ?! 
•SUPLは利用してないらしい 
(参考) When Assistance Becomes Dependence: Characterizing the Costs and Inefficiencies of A-GPS 
http://www.tid.es/sites/526e527928a32d6a7400007f/content_entry5321ef0928a32d08900000ac/533c077028a32da56a0024fc/files/agps_mc2r_2013.pdf 
•キャプチャでも、TCPport7275向けの通信は見つからず 
•A-GPSに関する設定 
•設定は一切不可 
•位置情報サービスのOFF/ONぐらい 
•GPSのチップ 
•端末世代毎にGPSのチップが異なる 
•世代毎に異なるデータをダウンロードして利用 
•iPhone3G:LTO 
•iPhone4S:gpsOneXTRA 
•iPhone5/5S/6:?
25 
•GPSチップメーカー独自実装の利用 
•iPhone5c(iOS8.1)の場合 
•位置情報取得APIを叩くと、謎のバイナリデータを取得 
•これがA-GPSのデータか?! 
•モバイル通信/Wi-Fiどちららでも同じ挙動 
•Appleサーバからなので、MVNO SIMでも問題ない 
•HTTPS経由で取得 
•TTFFの計測テスト 
•できませんでした。。。 
•困った点 
•A-GPSデータを消去できない? 
•コールドスタート状態に戻せないので、比較試験が出来ず 
•A-GPSデータ無効相当にするは1週間以上の放置が必要 
•A-GPSデータが有効であるかの確認がアプリからでは難しい 
•iOSはNMEA形式でのGPSデータ出力をサポートしてない? 
(参考) Android でGPS 衛星からの情報をNMEA 形式で取得する方法-A Day In The Life 
http://d.hatena.ne.jp/glass-_-onion/20101123/1290522121 
Apple(iPhone)のA-GPSの実装-2
26 
•謎バイナリデータ(A-GPSデータ?) 
•Proxyを設定し、mitmproxyでHTTPS通信を監視して確認 
(参考) iPhone -iOS実機のSSL通信をプロキシによって傍受したり改ざんする方法-Qiita--- 
http://qiita.com/yimajo/items/c67cb711851f747c35e5 
2014-10-23 15:47:43 GET https://cl2.apple.com/4/v1/124/318/1240000_3180000_0000000001B8000A.gz 
← 200 application/x-gzip468.74kB 4.15MB/s 
Request Response 
Host: cl2.apple.com 
User-Agent: locationd/1753.17 CFNetwork/711.1.12 Darwin/14.0.0 
Connection: close 
Proxy-Connection: close 
https://cl2.apple.com/4/v1/124/318/1240000_3180000_0000000001B8000A.gz 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
上記^部分はアクセスされるごとに異なる。ルールは不明 
上記ファイルを解答して調べたがバイナリーファイルで正体不明 
頻繁に異なる種類のファイルをダウンロードする場合も 
Apple(iPhone)のA-GPSの実装-3
27 
(おまけ)無線LAN/基地局から情報取得するAPI 
•iPhone5c(iOS8.1)の場合 
(参考)Apple社のGeoLocationシステム周りに関するお話 
http://d.hatena.ne.jp/RobinEgg/20140113/p1 
2014-10-2315:47:43POSThttps://gs-loc.apple.com/clls/wloc 
Host:gs-loc.apple.com 
Proxy-Connection:keep-alive 
Accept-Encoding:gzip,deflate 
Content-Type:application/x-www-form-urlencoded 
Accept-Language:en-us 
Connection:keep-alive 
Accept:*/* 
Content-Length:70 
User-Agent:locationd/1753.17CFNetwork/711.1.12Darwin/14.0.0 
Hex000000000000010005656e5f55530013636f6d2e61....en_US..com.a 
000000001070706c652e6c6f636174696f6e64000apple.locationd.. 
0000000020382e312e3132423431310000000100008.1.12B411...... 
0000000030001418002001ca010d08b803100a1883............... 
0000000040f69014209028....( 
Apple(iPhone)のA-GPSの実装-4
28 
A-GPSサーバとのSUPLプロトコル解析-1 
•SUPLサーバとのやりとりをキャプチャ 
•supl-client/supl-proxyをベースに独自改良 
•Assisted GPS (AGPS) SUPL client and proxy 
•http://www.tajuma.com/supl/ 
•Patch to build supl-proxy and fallback to non-TLS connection 
•https://gist.github.com/kanru/3713093 
•キャプチャ環境 
[supl-client]--(非SSL/TCP)--[supl-proxy]—(SSL/TCP)—[SUPLserver] 
[端末]-------(非SSL/TCP)--[socat]—--(非SSL/TCP)—[SUPLserver] 
^^^^^^^^^^^^^^ 
ここでキャプチャ
29 
A-GPSサーバとのSUPLプロトコル解析-2 
•SUPLプロトコルの基本的なやりとり 
[端末]------SUPLSTART-----[SUPLサーバ] 
----SUPLRESPONSE---- 
------SUPLPOSINIT---- 
----SUPLPOS--------- 
•(注意)TCP/SSL通信なので前後に他のシーケンスがあるが詳細略
30 
SUPLサーバ:dcm-supl.com-1 
•試験環境 
•Xiデータ通信サービスSIMを利用 
•APN:mopera.net 
•supl-clientツールを利用してアクセス 
•tcpdumpでキャプチャ 
•Wiresharkでデコード 
•参考:DNSでの名前解決 
•IIJmio SIM 
(host) /root >host dcm-supl.com 
Host dcm-supl.com not found: 2(SERVFAIL) 
•Xiデータ通信SIM 
(host) /root >host dcm-supl.com 
dcm-supl.com has address 61.195.xxx.xxx
31 
SUPLSTART例SUPLRESPONSE例 
OMA UserPlaneLocation Protocol 
ULP-PDU 
length: 30 
version 
maj: 1 
min: 0 
servind: 0 
sessionID 
setSessionID 
sessionId: 1 
setId: msisdn(0) 
msisdn: XXXXXXXXXXXX 
message: msSUPLSTART(1) 
msSUPLSTART 
sETCapabilities 
posTechnology 
.... ..0. agpsSETassisted: False 
.... ...1 agpsSETBased: True 
0... .... autonomousGPS: False 
.0.. .... aFLT: False 
..0. .... eCID: False 
...0 .... eOTD: False 
.... 0... oTDOA: False 
prefMethod: agpsSETBasedPreferred(1) 
posProtocol 
0... .... tia801: False 
.1.. .... rrlp: True 
..0. .... rrc: False 
locationId 
cellInfo: wcdmaCell(1) 
wcdmaCell 
refMCC: 410 
refMNC: 10 
refUC: 3752005 
status: stale (0) 
OMA UserPlaneLocation Protocol 
ULP-PDU 
length: 32 
version 
maj: 1 
min: 0 
servind: 0 
sessionID 
setSessionID 
sessionId: 1 
setId: msisdn(0) 
msisdn: XXXXXXXXXXXX 
slpSessionID 
sessionID: d00535ea 
slpId: fQDN(1) 
fQDN: dcm-supl.com 
message: msSUPLRESPONSE(2) 
msSUPLRESPONSE 
posMethod: agpsSETbased(1) 
SUPLサーバ:dcm-supl.com-2
32 
SUPLPOSINIT例 
OMA UserPlaneLocation Protocol 
ULP-PDU 
length: 49 
version 
maj: 1 
min: 0 
servind: 0 
sessionID 
setSessionID 
sessionId: 1 
setId: msisdn(0) 
msisdn: XXXXXXXXXXXX 
slpSessionID 
sessionID: d00535ea 
slpId: fQDN(1) 
fQDN: dcm-supl.com 
message: msSUPLPOSINIT(3) 
msSUPLPOSINIT 
sETCapabilities 
posTechnology 
...0 .... agpsSETassisted: False 
.... 1... agpsSETBased: True 
.... .0.. autonomousGPS: False 
.... ..0. aFLT: False 
.... ...0 eCID: False 
0... .... eOTD: False 
.0.. .... oTDOA: False 
prefMethod: agpsSETBasedPreferred(1) 
posProtocol 
.... .0.. tia801: False 
.... ..1. rrlp: True 
.... ...0 rrc: False 
requestedAssistData 
..1. .... almanacRequested: True 
...0 .... utcModelRequested: False 
.... 0... ionosphericModelRequested: False 
.... .0.. dgpsCorrectionsRequested: False 
.... ..1. referenceLocationRequested: True 
.... ...1 referenceTimeRequested: True 
1... .... acquisitionAssistanceRequested: True 
.0.. .... realTimeIntegrityRequested: False 
..1. .... navigationModelRequested: True 
navigationModelData 
gpsWeek: 0 
gpsToe: 0 
nSAT: 0 
toeLimit: 0 
locationId 
cellInfo: wcdmaCell(1) 
wcdmaCell 
refMCC: 410 
refMNC: 10 
refUC: 13182428 
status: stale (0) 
SUPLサーバ:dcm-supl.com-3
33 
SUPLPOS例-1 
OMA UserPlaneLocation Protocol 
ULP-PDU 
length: 1689 
version 
maj: 1 
min: 0 
servind: 0 
sessionID 
setSessionID 
sessionId: 1 
setId: msisdn(0) 
msisdn: XXXXXXXXXXXXXXX 
slpSessionID 
sessionID: d00535ea 
slpId: fQDN(1) 
fQDN: dcm-supl.com 
message: msSUPLPOS(4) 
msSUPLPOS 
posPayLoad: rrlpPayload(2) 
rrlpPayload: 201178de99a9f8998a52618a43... 
Radio Resource LCS Protocol (RRLP) 
PDU 
referenceNumber: 1 
component: msrPositionReq(0) 
msrPositionReq 
positionInstruct 
methodType: msBased(1) 
msBased: 60 
positionMethod: gps(1) 
measureResponseTime: 5 
useMultipleSets: oneSet(1) 
gps-AssistData 
controlHeader 
referenceTime 
gpsTime 
gpsTOW23b: 5569612 
gpsWeek: 788 
gpsTowAssist: 11 items 
Item 0 
GPSTOWAssistElement 
satelliteID: 19 
tlmWord: 788 
antiSpoof: 1 
alert: 0 
tlmRsvdBits: 0 
Item 1 
GPSTOWAssistElement 
satelliteID: 27 
tlmWord: 788 
antiSpoof: 1 
alert: 0 
tlmRsvdBits: 0 
. 
refLocation. 
threeDLocation: 9032c5ac635f9900401111007f00 
1001 .... = Location estimate: Ellipsoid point with altitude and uncertainty Ellipsoid (9) 
0... .... = Sign of latitude: North (0) 
.011 0010 1100 0101 1010 1100 = Degrees of latitude: 3327404 (35.69918 degrees) 
Degrees of longitude: 6512537 (139.74389 degrees) 
0... .... .... .... = D: Direction of Altitude: Altitude expresses height (0) 
.000 0000 0100 0000 = Altitude in meters: 64 
.001 0001 = Uncertainty semi-major: 17 (40.5 m) 
.001 0001 = Uncertainty semi-minor: 17 (40.5 m) 
Orientation of major axis: 0 
.111 1111 = Uncertainty Altitude: 127 (990.5 m) 
.000 0000 = Confidence(%): 0 
. 
GPS時刻-> 
位置情報-> 
SUPLサーバ:dcm-supl.com-4
34 
SUPLPOS例-2 
navigationModel 
navModelList: 11 items 
Item 0 
NavModelElement 
satelliteID: 19 
satStatus: newSatelliteAndModelUC(0) 
newSatelliteAndModelUC 
ephemCodeOnL2: 1 
ephemURA: 0 
ephemSVhealth: 0 
ephemIODC: 92 
ephemL2Pflag: 0 
ephemSF1Rsvd 
reserved1: 0 
reserved2: 0 
reserved3: 0 
reserved4: 0 
ephemTgd: -17 
ephemToc: 27900 
ephemAF2: 0 
ephemAF1: 38 
ephemAF0: 517171 
ephemCrs: 997 
ephemDeltaN: 15911 
ephemM0: -412499778 
ephemCuc: 891 
ephemE: 51890437 
ephemCus: 3884 
ephemAPowerHalf: 2702030612 
ephemToe: 27900 
ephemFitFlag: 0 
ephemAODA: 31 
ephemCic: -26 
ephemOmegaA0: -2034760447 
ephemCis: 31 
ephemI0: 633654509 
ephemCrc: 7269 
ephemW: 909022217 
ephemOmegaADot: -24347 
ephemIDot: 900 
. 
almanac 
alamanacWNa: 21 
almanacList: 32 items 
Item 0 
AlmanacElement 
satelliteID: 0 
almanacE: 7451 
alamanacToa: 15 
almanacKsii: 3144 
almanacOmegaDot: -688 
almanacSVhealth: 0 
almanacAPowerHalf: 10554631 
almanacOmega0: 5898737 
almanacW: 1148377 
almanacM0: 5429806 
almanacAF0: 23 
almanacAF1: 0 
. 
. 
acquisAssist 
timeRelation 
gpsTOW: 5569612 
acquisList: 11 items 
Item 0 
AcquisElement 
svid: 19 
doppler0: 249 
addionalDoppler 
doppler1: 28 
dopplerUncertainty: 4 
codePhase: 367 
intCodePhase: 12 
gpsBitNumber: 0 
codePhaseSearchWindow: 0 
addionalAngle 
azimuth: 12 
elevation: 7 
. 
. 
エフェメリス-> 
アルマナック-> 
衛星補足 
補助情報-> 
SUPLサーバ:dcm-supl.com–5
35 
SUPLサーバ:supl.google.com-1 
•試験環境 
•MVNO(IIJSIM)を利用 
•SMS+データ通信SIM 
•データ通信SIM 
•APN:IIJのテスト用APN 
•DNSサーバでsupl.google.comのアドレスをキャプチャ用 サーバのアドレスを返して、トラフィックを捻じ曲げた 
•端末 
•ASUSFonepadME371MG 
•LGG2mini 
•tcpdumpでキャプチャ 
•Wiresharkでデコード
36 
SUPLサーバ:supl.google.com-2 
SUPLSTART例 
データ通信SIMを利用した場合-ASUSFonepadME371MG 
OMA UserPlaneLocation Protocol 
ULP-PDU 
length: 18 
version 
maj: 1 
min: 0 
servind: 0 
sessionID 
setSessionID 
sessionId: 446 
setId: imsi(3) 
imsi: 441030…….. 
message: msSUPLEND(5) 
msSUPLEND 
statusCode: systemFailure(1) 
<-正常なリクエストが 
送られていない 
A-GPS動作せず
37 
SUPLサーバ:supl.google.com-3 
SMS+データ通信SIMを利用した場合-ASUSFonepadME371MG 
SUPLSTART例SUPLRESPONSE例 
OMA UserPlaneLocation Protocol 
ULP-PDU 
length: 30 
version 
maj: 1 
min: 0 
servind: 0 
sessionID 
setSessionID 
sessionId: 502 
setId: imsi(3) 
imsi: 441030….. 
message: msSUPLSTART(1) 
msSUPLSTART 
sETCapabilities 
posTechnology 
.... ..1. agpsSETassisted: True 
.... ...1 agpsSETBased: True 
1... .... autonomousGPS: True 
.0.. .... aFLT: False 
..0. .... eCID: False 
...0 .... eOTD: False 
.... 0... oTDOA: False 
prefMethod: noPreference(2) 
posProtocol 
0... .... tia801: False 
.1.. .... rrlp: True 
..0. .... rrc: False 
locationId 
cellInfo: wcdmaCell(1) 
wcdmaCell 
refMCC: 440 
refMNC: 10 
refUC: 71958552 
status: current (1) 
qoP 
horacc: 19 
maxLocAge: 1 
OMA UserPlaneLocation Protocol 
ULP-PDU 
length: 26 
version 
maj: 1 
min: 0 
servind: 0 
sessionID 
setSessionID 
sessionId: 502 
setId: imsi(3) 
imsi: 441030...... 
slpSessionID 
sessionID: 4a125ae4 
slpId: iPAddress(0) 
iPAddress: ipv4Address (0) 
ipv4Address: 173.194.72.192 (173.194.72.192) 
message: msSUPLRESPONSE(2) 
msSUPLRESPONSE 
posMethod: agpsSETbased(1)
38 
SUPLサーバ:supl.google.com-4 
SMS+データ通信SIMを利用した場合-ASUSFonepadME371MG 
SUPLPOSINIT例 
OMA UserPlaneLocation Protocol 
ULP-PDU 
length: 40 
version 
maj: 1 
min: 0 
servind: 0 
sessionID 
setSessionID 
sessionId: 502 
setId: imsi(3) 
imsi: 441030……. 
slpSessionID 
sessionID: 4a125ae4 
slpId: iPAddress(0) 
iPAddress: ipv4Address (0) 
ipv4Address: 173.194.72.192 (173.194.72.192) 
message: msSUPLPOSINIT(3) 
msSUPLPOSINIT 
sETCapabilities 
posTechnology 
.... 1... agpsSETassisted: True 
.... .1.. agpsSETBased: True 
.... ..1. autonomousGPS: True 
.... ...0 aFLT: False 
0... .... eCID: False 
.0.. .... eOTD: False 
..0. .... oTDOA: False 
prefMethod: noPreference(2) 
posProtocol 
.... ..0. tia801: False 
.... ...1 rrlp: True 
0... .... rrc: False 
requestedAssistData 
...0 .... almanacRequested: False 
.... 0... utcModelRequested: False 
.... .0.. ionosphericModelRequested: False 
.... ..0. dgpsCorrectionsRequested: False 
.... ...1 referenceLocationRequested: True 
1... .... referenceTimeRequested: True 
.0.. .... acquisitionAssistanceRequested: False 
..0. .... realTimeIntegrityRequested: False 
...1 .... navigationModelRequested: True 
navigationModelData 
gpsWeek: 0 
gpsToe: 0 
nSAT: 0 
toeLimit: 0 
locationId 
cellInfo: wcdmaCell(1) 
wcdmaCell 
refMCC: 440 
refMNC: 10 
refUC: 71958552 
status: current (1)
39 
SUPLサーバ:supl.google.com-5 
SMS+データ通信SIMを利用した場合-ASUSFonepadME371MG 
SUPLPOS例-1 
OMA UserPlaneLocation Protocol 
ULP-PDU 
length: 948 
version 
maj: 1 
min: 0 
servind: 0 
. 
. 
message: msSUPLPOS(4) 
msSUPLPOS 
posPayLoad: rrlpPayload(2) 
rrlpPayload: 24134053f68cc51b206... 
Radio Resource LCS Protocol (RRLP) 
PDU 
referenceNumber: 1 
component: assistanceData(2) 
assistanceData 
gps-AssistData 
controlHeader 
referenceTime 
gpsTime 
gpsTOW23b: 5502604 
gpsWeek: 788 
refLocation 
threeDLocation: 9032c737635ff000642c2c007f27 
1001 .... = Location estimate: Ellipsoid point with altitude and uncertainty Ellipsoid (9) 
0... .... = Sign of latitude: North (0) 
.011 0010 1100 0111 0011 0111 = Degrees of latitude: 3327799 (35.70341 degrees) 
Degrees of longitude: 6512624 (139.74576 degrees) 
0... .... .... .... = D: Direction of Altitude: Altitude expresses height (0) 
.000 0000 0110 0100 = Altitude in meters: 100 
.010 1100 = Uncertainty semi-major: 44 (652.6 m) 
.010 1100 = Uncertainty semi-minor: 44 (652.6 m) 
Orientation of major axis: 0 
.111 1111 = Uncertainty Altitude: 127 (990.5 m) 
.010 0111 = Confidence(%): 39 
navigationModel 
navModelList: 13 items 
Item 0 
NavModelElement 
satelliteID: 0 
satStatus: newSatelliteAndModelUC(0) 
newSatelliteAndModelUC 
ephemCodeOnL2: 0 
ephemURA: 0 
ephemSVhealth: 0 
ephemIODC: 81 
ephemL2Pflag: 0 
ephemSF1Rsvd 
reserved1: 0 
reserved2: 0 
reserved3: 0 
reserved4: 0 
ephemTgd: 12 
ephemToc: 27450 
ephemAF2: 0 
ephemAF1: 4 
ephemAF0: 47254 
ephemCrs: -1071 
ephemDeltaN: 12399 
ephemM0: 231454399 
ephemCuc: -905 
ephemE: 30423662 
ephemCus: 5640 
ephemAPowerHalf: 2702010424 
ephemToe: 27450 
ephemFitFlag: 0 
ephemAODA: 31 
ephemCic: 41 
ephemOmegaA0: 1593627408 
ephemCis: 24 
ephemI0: 657148950 
ephemCrc: 5735 
ephemW: 290747099 
ephemOmegaADot: -22274 
ephemIDot: 704 
. 
GPS時刻-> 
位置情報-> 
エフェメリス->
40 
SUPLサーバ:supl.google.com-6 
データ通信SIMを利用した場合–LGG2mini 
SUPLSTART例 
OMA UserPlaneLocation Protocol 
ULP-PDU 
length: 41 
version 
maj: 1 
min: 0 
servind: 0 
sessionID 
setSessionID 
sessionId: 0 
setId: imsi(3) 
imsi: 441030………… 
message: msSUPLSTART(1) 
msSUPLSTART 
sETCapabilities 
posTechnology 
.... ..0. agpsSETassisted: False 
.... ...1 agpsSETBased: True 
1... .... autonomousGPS: True 
.0.. .... aFLT: False 
..1. .... eCID: True 
...0 .... eOTD: False 
.... 0... oTDOA: False 
prefMethod: noPreference(2) 
posProtocol 
0... .... tia801: False 
.1.. .... rrlp: True 
..0. .... rrc: False 
locationId 
cellInfo: wcdmaCell(1) 
wcdmaCell 
refMCC: 440 
refMNC: 10 
refUC: 71958552 
frequencyInfo 
modeSpecificInfo: fdd(0) 
fdd 
uarfcn-DL: 10688 
OMA UserPlaneLocation Protocol 
ULP-PDU 
length: 26 
version 
maj: 1 
min: 0 
servind: 0 
sessionID 
setSessionID 
sessionId: 0 
setId: imsi(3) 
imsi: 441030……………. 
slpSessionID 
sessionID: 9bebd352 
slpId: iPAddress(0) 
iPAddress: ipv4Address (0) 
ipv4Address: 173.194.72.192 (173.194.72.192) 
message: msSUPLRESPONSE(2) 
msSUPLRESPONSE 
posMethod: agpsSETbased(1) 
SUPLRESPONSE例 
primaryScramblingCode: 427 
measuredResultsList: 1 item 
Item 0 
MeasuredResults 
frequencyInfo 
modeSpecificInfo: fdd(0) 
fdd 
uarfcn-DL: 10688 
cellMeasuredResultsList: 1 item 
Item 0 
CellMeasuredResults 
modeSpecificInfo: fdd(0) 
fdd 
primaryCPICH-Info 
primaryScramblingCode: 427 
cpich-Ec-N0: 43 
cpich-RSCP: 47 
status: current (1) 
qoP 
horacc: 19 
maxLocAge: 0 
delay: 7
41 
SUPLサーバ:supl.google.com-7 
SMS+データ通信SIMを利用した場合–LGG2mini 
SUPLPOSINIT例 
OMA UserPlaneLocation Protocol 
ULP-PDU 
length: 51 
version 
maj: 1 
min: 0 
servind: 0 
sessionID 
setSessionID 
sessionId: 0 
setId: imsi(3) 
imsi: 441030………. 
slpSessionID 
sessionID: 9bebd352 
slpId: iPAddress(0) 
iPAddress: ipv4Address (0) 
ipv4Address: 173.194.72.192 (173.194.72.192) 
message: msSUPLPOSINIT(3) 
msSUPLPOSINIT 
sETCapabilities 
posTechnology 
.... 0... agpsSETassisted: False 
.... .1.. agpsSETBased: True 
.... ..1. autonomousGPS: True 
.... ...0 aFLT: False 
1... .... eCID: True 
.0.. .... eOTD: False 
..0. .... oTDOA: False 
prefMethod: noPreference(2) 
posProtocol 
.... ..0. tia801: False 
.... ...1 rrlp: True 
0... .... rrc: False 
requestedAssistData 
...1 .... almanacRequested: True 
.... 1... utcModelRequested: True 
.... .1.. ionosphericModelRequested: True 
.... ..0. dgpsCorrectionsRequested: False 
.... ...1 referenceLocationRequested: True 
1... .... referenceTimeRequested: True 
.0.. .... acquisitionAssistanceRequested: False 
..1. .... realTimeIntegrityRequested: True 
...1 .... navigationModelRequested: True 
navigationModelData 
gpsWeek: 0 
gpsToe: 0 
nSAT: 0 
toeLimit: 0 
locationId 
cellInfo: wcdmaCell(1) 
wcdmaCell 
refMCC: 440 
refMNC: 10 
refUC: 71958552 
frequencyInfo 
modeSpecificInfo: fdd(0) 
fdd 
uarfcn-DL: 10688 
primaryScramblingCode: 427 
measuredResultsList: 1 item 
Item 0 
MeasuredResults 
frequencyInfo 
modeSpecificInfo: fdd(0) 
fdd 
uarfcn-DL: 10688 
cellMeasuredResultsList: 1 item 
Item 0 
CellMeasuredResults 
modeSpecificInfo: fdd(0) 
fdd 
primaryCPICH-Info 
primaryScramblingCode: 427 
cpich-Ec-N0: 43 
cpich-RSCP: 47 
status: current (1)
42 
SUPLサーバ:supl.google.com-8 
SMS+データ通信SIMを利用した場合–LGG2mini 
SUPLPOS例-1 
OMA UserPlaneLocation Protocol 
ULP-PDU 
length: 1700 
version 
maj: 1 
min: 0 
servind: 0 
. 
. 
message: msSUPLPOS(4) 
msSUPLPOS 
posPayLoad: rrlpPayload(2) 
rrlpPayload: 2413785852b4c51b20658e6ec6bfe000c8585800fe4f8084... 
Radio Resource LCS Protocol (RRLP) 
PDU 
referenceNumber: 1 
component: assistanceData(2) 
assistanceData 
gps-AssistData 
controlHeader 
referenceTime 
gpsTime 
gpsTOW23b: 5788340 
gpsWeek: 788 
refLocation 
threeDLocation: 9032c737635ff000642c2c007f27 
1001 .... = Location estimate: Ellipsoid point with altitude and uncertainty Ellipsoid (9) 
0... .... = Sign of latitude: North (0) 
.011 0010 1100 0111 0011 0111 = Degrees of latitude: 3327799 (35.70341 degrees) 
Degrees of longitude: 6512624 (139.74576 degrees) 
0... .... .... .... = D: Direction of Altitude: Altitude expresses height (0) 
.000 0000 0110 0100 = Altitude in meters: 100 
.010 1100 = Uncertainty semi-major: 44 (652.6 m) 
.010 1100 = Uncertainty semi-minor: 44 (652.6 m) 
Orientation of major axis: 0 
.111 1111 = Uncertainty Altitude: 127 (990.5 m) 
.010 0111 = Confidence(%): 39 
GPS時刻-> 
位置情報-> 
エフェメリス-> 
navigationModel 
navModelList: 13 items 
Item 0 
NavModelElement 
satelliteID: 1 
satStatus: newSatelliteAndModelUC(0) 
newSatelliteAndModelUC 
ephemCodeOnL2: 1 
ephemURA: 0 
ephemSVhealth: 0 
ephemIODC: 44 
ephemL2Pflag: 0 
ephemSF1Rsvd 
reserved1: 0 
reserved2: 0 
reserved3: 0 
reserved4: 0 
ephemTgd: -43 
ephemToc: 29250 
ephemAF2: 0 
ephemAF1: 19 
ephemAF0: 1120966 
ephemCrs: -1106 
ephemDeltaN: 13772 
ephemM0: -699419914 
ephemCuc: -952 
ephemE: 118602899 
ephemCus: 6131 
ephemAPowerHalf: 2702017266 
ephemToe: 29250 
ephemFitFlag: 0 
ephemAODA: 31 
ephemCic: 199 
ephemOmegaA0: 1571318455 
ephemCis: 122 
ephemI0: 642485765 
ephemCrc: 4755 
ephemW: -1629536356 
ephemOmegaADot: -23010 
ephemIDot: 234
43 
SUPLサーバ:supl.google.com-9 
SMS+データ通信SIMを利用した場合–LGG2mini 
SUPLPOS例-2 
ionosphericModel 
alfa0: 27 
alfa1: 2 
alfa2: -2 
alfa3: -1 
beta0: 65 
beta1: -1 
beta2: -4 
beta3: 3 
utcModel 
utcA1: -3 
utcA0: -4 
utcTot: 240 
utcWNt: 28 
utcDeltaTls: 16 
utcWNlsf: 159 
utcDN: 0 
utcDeltaTlsf: 16 
almanac 
alamanacWNa: 20 
almanacList: 31 items 
Item 0 
AlmanacElement 
satelliteID: 0 
almanacE: 7445 
alamanacToa: 144 
almanacKsii: 3147 
almanacOmegaDot: -683 
almanacSVhealth: 0 
almanacAPowerHalf: 10554635 
almanacOmega0: 6221907 
almanacW: 1145155 
almanacM0: -7551246 
almanacAF0: 23 
almanacAF1: 0(990.5 m) 
.010 0111 = Confidence(%): 39 
. 
. 
UTCモデル-> 
補正情報-> 
アルマナック->
44 
参考文献 
•NTTドコモ, 国際ローミングSUPLによるFOMA位置情報機能の開発―現在地確認機能― 
•https://www.nttdocomo.co.jp/corporate/technology/rd/technical_journal/bn/vol17_2/006.html 
•NTTドコモ, スマートフォン端末向け位置提供機能の開発 
•https://www.nttdocomo.co.jp/corporate/technology/rd/technical_journal/bn/vol20_2/037.html 
•GPS初期位置算出時間(TTFF)短縮のための検討, 電子情報通信学会SANE研究会電子航法研究所, July 27, 2007 
•http://www.enri.go.jp/%7Esakai/pub/sane0707.ppt 
•The Open Mobile Alliance, Secure User Plane Location V1.0 
•http://technical.openmobilealliance.org/Technical/technical-information/release-program/current-releases/secure-user-plane-location-v1-0 
•3GPP TS44.031, Location Services (LCS); Mobile Station (MS) -Serving Mobile Location Centre (SMLC) Radio Resource LCS Protocol (RRLP) 
•Assisted GPS (AGPS) SUPL client and proxy 
•http://www.tajuma.com/supl/ 
•Patch to build supl-proxy and fallback to non-TLS connection 
•https://gist.github.com/kanru/3713093 
•WirelessMoves: How To Trace An A-GPS SUPL Request 
•http://mobilesociety.typepad.com/mobile_life/2014/09/how-to-trace-an-a-gps-supl-request.html 
•WirelessMoves: How SUPL Reveals My Identity And Location To Google When I Use GPS 
•http://mobilesociety.typepad.com/mobile_life/2014/08/supl-reveals-my-identity-and-location-to-google.html 
•How to create a SuplRootCertfor supl.google.com • Andreas Schneider 
•https://blog.cryptomilk.org/2012/07/24/how-to-create-a-suplrootcert-for-supl-google-com/ 
•Understanding GPS: Principles and Applications, Second Edition 
•GLOBAL POSITIONING SYSTEM STANDARD POSITIONING SERVICE SIGNAL SPECIFICATION 
•http://www.gps.gov/technical/ps/1995-SPS-signal-specification.pdf 
•Chapter 3: THE GPS SIGNALS 
•http://www.gmat.unsw.edu.au/snap/gps/gps_survey/chap3/chap3.htm 
•A-GPS: Assisted GPS, GNSS, and SBAS, Frank Stephen Tromp Van Diggelen 
•Assisted GPS -Wikipedia, the free encyclopedia 
•http://en.wikipedia.org/wiki/Assisted_GPS 
•When Assistance Becomes Dependence: Characterizing the Costs and Inefficiencies of A-GPS 
•http://www.cl.cam.ac.uk/~nv240/papers/agps_mc2r.pdf 
•Security issues with SUPL implementations –rpw 
•https://rpw.io/slides/rpw-bhus2012-supl.pdf 
•Android & Symbian Application and OS Concepts: Android GPS Middleware 
•http://suratechsoft.blogspot.jp/2011/09/android-gps-middleware.html 
•location/java/com/android/internal/location/GpsLocationProvider.java -platform/frameworks/base -Gitat Google 
•https://android.googlesource.com/platform/frameworks/base/+/2f3a615feaa1286612576bc15f6bd8cae011301f/location/java/com/android/internal/location/GpsLocationProvider.java 
•https://android.googlesource.com/platform/hardware/qcom/gps/

More Related Content

What's hot

ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414Kentaro Ebisawa
 
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のか
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のかIIJmio meeting 25 スマートフォンはなぜ「つながらない」のか
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のかtechlog (Internet Initiative Japan Inc.)
 
3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめ3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめTetsuya Hasegawa
 
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン大規模DCのネットワークデザイン
大規模DCのネットワークデザインMasayuki Kobayashi
 
Scapyで作る・解析するパケット
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケットTakaaki Hoyo
 
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたBGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたakira6592
 
Wakamonog6 “ISPのネットワーク”って どんなネットワーク?
Wakamonog6 “ISPのネットワーク”って どんなネットワーク?Wakamonog6 “ISPのネットワーク”って どんなネットワーク?
Wakamonog6 “ISPのネットワーク”って どんなネットワーク?Satoshi Matsumoto
 
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌LINE Corporation
 
本当は楽しいインターネット
本当は楽しいインターネット本当は楽しいインターネット
本当は楽しいインターネットYuya Rin
 
TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話Kazuho Oku
 
インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造Taiji Tsuchiya
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングTomoya Hibi
 
閉域網接続の技術入門
閉域網接続の技術入門閉域網接続の技術入門
閉域網接続の技術入門Masayuki Kobayashi
 

What's hot (20)

IIJmio meeting 24 eSIMプロファイルの取り扱いと今後の展望
IIJmio meeting 24 eSIMプロファイルの取り扱いと今後の展望IIJmio meeting 24 eSIMプロファイルの取り扱いと今後の展望
IIJmio meeting 24 eSIMプロファイルの取り扱いと今後の展望
 
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414
 
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のか
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のかIIJmio meeting 25 スマートフォンはなぜ「つながらない」のか
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のか
 
3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめ3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめ
 
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン大規模DCのネットワークデザイン
大規模DCのネットワークデザイン
 
IIJmio meeting 9 IIJのモバイル&バックボーンインフラ
IIJmio meeting 9 IIJのモバイル&バックボーンインフラIIJmio meeting 9 IIJのモバイル&バックボーンインフラ
IIJmio meeting 9 IIJのモバイル&バックボーンインフラ
 
Scapyで作る・解析するパケット
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケット
 
IIJmio meeting 28 5G SAについて
IIJmio meeting 28 5G SAについてIIJmio meeting 28 5G SAについて
IIJmio meeting 28 5G SAについて
 
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたBGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみた
 
Wakamonog6 “ISPのネットワーク”って どんなネットワーク?
Wakamonog6 “ISPのネットワーク”って どんなネットワーク?Wakamonog6 “ISPのネットワーク”って どんなネットワーク?
Wakamonog6 “ISPのネットワーク”って どんなネットワーク?
 
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
 
IIJmio meeting 16 スマートフォンがつながる仕組み
IIJmio meeting 16 スマートフォンがつながる仕組みIIJmio meeting 16 スマートフォンがつながる仕組み
IIJmio meeting 16 スマートフォンがつながる仕組み
 
IIJmio meeting 16 「通信速度」に影響を与える要素とは
IIJmio meeting 16 「通信速度」に影響を与える要素とはIIJmio meeting 16 「通信速度」に影響を与える要素とは
IIJmio meeting 16 「通信速度」に影響を与える要素とは
 
本当は楽しいインターネット
本当は楽しいインターネット本当は楽しいインターネット
本当は楽しいインターネット
 
TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話
 
インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
 
IIJmio meeting 31 音声通信の世界
IIJmio meeting 31 音声通信の世界IIJmio meeting 31 音声通信の世界
IIJmio meeting 31 音声通信の世界
 
閉域網接続の技術入門
閉域網接続の技術入門閉域網接続の技術入門
閉域網接続の技術入門
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 

Similar to IIJmio meeting 5 MVNOとGPSについて

SORACOM UG 東海 #1 | SORACOM 紹介
SORACOM UG 東海 #1 | SORACOM 紹介SORACOM UG 東海 #1 | SORACOM 紹介
SORACOM UG 東海 #1 | SORACOM 紹介SORACOM,INC
 
LG vs. Samsung スマートTV: あなたを追跡できるのはどちら? by イ・サンミン
LG vs. Samsung スマートTV: あなたを追跡できるのはどちら? by イ・サンミンLG vs. Samsung スマートTV: あなたを追跡できるのはどちら? by イ・サンミン
LG vs. Samsung スマートTV: あなたを追跡できるのはどちら? by イ・サンミンCODE BLUE
 
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Tomoya Hibi
 
45分で理解する ドッコムマスタートリプルスター受験対策 2012
45分で理解する ドッコムマスタートリプルスター受験対策 201245分で理解する ドッコムマスタートリプルスター受験対策 2012
45分で理解する ドッコムマスタートリプルスター受験対策 2012Yukio Saito
 
20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...
20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...
20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...SORACOM,INC
 
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入Juniper Networks (日本)
 
Service Chaining Current and Future
Service Chaining Current and FutureService Chaining Current and Future
Service Chaining Current and FutureKentaro Ebisawa
 
【Connected.T2】システム構築・運用負荷を軽減!SORACOM Beam が実現する、ヒトとモノにやさしいIoT
【Connected.T2】システム構築・運用負荷を軽減!SORACOM Beam が実現する、ヒトとモノにやさしいIoT【Connected.T2】システム構築・運用負荷を軽減!SORACOM Beam が実現する、ヒトとモノにやさしいIoT
【Connected.T2】システム構築・運用負荷を軽減!SORACOM Beam が実現する、ヒトとモノにやさしいIoTSORACOM,INC
 
API meet up #12資料:APIでコントロール可能なIoT通信プラットフォームSORACOM
API meet up #12資料:APIでコントロール可能なIoT通信プラットフォームSORACOMAPI meet up #12資料:APIでコントロール可能なIoT通信プラットフォームSORACOM
API meet up #12資料:APIでコントロール可能なIoT通信プラットフォームSORACOMSORACOM,INC
 
富士市役所におけるCitrix仮想化ソリューション導入成功のポイント ~ノート型ゼロクライアントとICカードログオンの採用~
富士市役所におけるCitrix仮想化ソリューション導入成功のポイント ~ノート型ゼロクライアントとICカードログオンの採用~富士市役所におけるCitrix仮想化ソリューション導入成功のポイント ~ノート型ゼロクライアントとICカードログオンの採用~
富士市役所におけるCitrix仮想化ソリューション導入成功のポイント ~ノート型ゼロクライアントとICカードログオンの採用~Yasunobu Fukasawa
 
コーポレートサイトを Shifter に移行した話
コーポレートサイトを Shifter に移行した話コーポレートサイトを Shifter に移行した話
コーポレートサイトを Shifter に移行した話SORACOM,INC
 
【Interop tokyo 2014】 Internet of Everything / SDN と シスコ技術者認定
【Interop tokyo 2014】 Internet of Everything / SDN と シスコ技術者認定【Interop tokyo 2014】 Internet of Everything / SDN と シスコ技術者認定
【Interop tokyo 2014】 Internet of Everything / SDN と シスコ技術者認定シスコシステムズ合同会社
 
A view on 5G - Internet Week2019/IP Meeting
A view on 5G - Internet Week2019/IP MeetingA view on 5G - Internet Week2019/IP Meeting
A view on 5G - Internet Week2019/IP MeetingYasuo Igano
 
if-up 2017 | A1:IoT通信の選択肢とLoRaWANに見るデバイス開発のポイント
if-up 2017 | A1:IoT通信の選択肢とLoRaWANに見るデバイス開発のポイントif-up 2017 | A1:IoT通信の選択肢とLoRaWANに見るデバイス開発のポイント
if-up 2017 | A1:IoT通信の選択肢とLoRaWANに見るデバイス開発のポイントSORACOM,INC
 
ゲームの通信をつくる仕事はどうなるのだろう?
ゲームの通信をつくる仕事はどうなるのだろう?ゲームの通信をつくる仕事はどうなるのだろう?
ゲームの通信をつくる仕事はどうなるのだろう?Kengo Nakajima
 
Node-redでプロトタイピング
Node-redでプロトタイピングNode-redでプロトタイピング
Node-redでプロトタイピングMakoto SAKAI
 
JANOG35_RPKIやってみませんか? 20150120
JANOG35_RPKIやってみませんか? 20150120JANOG35_RPKIやってみませんか? 20150120
JANOG35_RPKIやってみませんか? 20150120Osamu Kurokochi
 
富士市役所のデスクトップ仮想化 2015年4月版 ~ゼロクライアントとICカード認証の導入~
富士市役所のデスクトップ仮想化 2015年4月版 ~ゼロクライアントとICカード認証の導入~富士市役所のデスクトップ仮想化 2015年4月版 ~ゼロクライアントとICカード認証の導入~
富士市役所のデスクトップ仮想化 2015年4月版 ~ゼロクライアントとICカード認証の導入~Yasunobu Fukasawa
 

Similar to IIJmio meeting 5 MVNOとGPSについて (20)

IIJmio meeting 10 端末の動作確認(後編)
IIJmio meeting 10 端末の動作確認(後編)IIJmio meeting 10 端末の動作確認(後編)
IIJmio meeting 10 端末の動作確認(後編)
 
SORACOM UG 東海 #1 | SORACOM 紹介
SORACOM UG 東海 #1 | SORACOM 紹介SORACOM UG 東海 #1 | SORACOM 紹介
SORACOM UG 東海 #1 | SORACOM 紹介
 
LG vs. Samsung スマートTV: あなたを追跡できるのはどちら? by イ・サンミン
LG vs. Samsung スマートTV: あなたを追跡できるのはどちら? by イ・サンミンLG vs. Samsung スマートTV: あなたを追跡できるのはどちら? by イ・サンミン
LG vs. Samsung スマートTV: あなたを追跡できるのはどちら? by イ・サンミン
 
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
 
45分で理解する ドッコムマスタートリプルスター受験対策 2012
45分で理解する ドッコムマスタートリプルスター受験対策 201245分で理解する ドッコムマスタートリプルスター受験対策 2012
45分で理解する ドッコムマスタートリプルスター受験対策 2012
 
20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...
20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...
20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...
 
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
 
Service Chaining Current and Future
Service Chaining Current and FutureService Chaining Current and Future
Service Chaining Current and Future
 
【Connected.T2】システム構築・運用負荷を軽減!SORACOM Beam が実現する、ヒトとモノにやさしいIoT
【Connected.T2】システム構築・運用負荷を軽減!SORACOM Beam が実現する、ヒトとモノにやさしいIoT【Connected.T2】システム構築・運用負荷を軽減!SORACOM Beam が実現する、ヒトとモノにやさしいIoT
【Connected.T2】システム構築・運用負荷を軽減!SORACOM Beam が実現する、ヒトとモノにやさしいIoT
 
IIJmio meeting 11 MWC2016レポート
IIJmio meeting 11 MWC2016レポートIIJmio meeting 11 MWC2016レポート
IIJmio meeting 11 MWC2016レポート
 
API meet up #12資料:APIでコントロール可能なIoT通信プラットフォームSORACOM
API meet up #12資料:APIでコントロール可能なIoT通信プラットフォームSORACOMAPI meet up #12資料:APIでコントロール可能なIoT通信プラットフォームSORACOM
API meet up #12資料:APIでコントロール可能なIoT通信プラットフォームSORACOM
 
富士市役所におけるCitrix仮想化ソリューション導入成功のポイント ~ノート型ゼロクライアントとICカードログオンの採用~
富士市役所におけるCitrix仮想化ソリューション導入成功のポイント ~ノート型ゼロクライアントとICカードログオンの採用~富士市役所におけるCitrix仮想化ソリューション導入成功のポイント ~ノート型ゼロクライアントとICカードログオンの採用~
富士市役所におけるCitrix仮想化ソリューション導入成功のポイント ~ノート型ゼロクライアントとICカードログオンの採用~
 
コーポレートサイトを Shifter に移行した話
コーポレートサイトを Shifter に移行した話コーポレートサイトを Shifter に移行した話
コーポレートサイトを Shifter に移行した話
 
【Interop tokyo 2014】 Internet of Everything / SDN と シスコ技術者認定
【Interop tokyo 2014】 Internet of Everything / SDN と シスコ技術者認定【Interop tokyo 2014】 Internet of Everything / SDN と シスコ技術者認定
【Interop tokyo 2014】 Internet of Everything / SDN と シスコ技術者認定
 
A view on 5G - Internet Week2019/IP Meeting
A view on 5G - Internet Week2019/IP MeetingA view on 5G - Internet Week2019/IP Meeting
A view on 5G - Internet Week2019/IP Meeting
 
if-up 2017 | A1:IoT通信の選択肢とLoRaWANに見るデバイス開発のポイント
if-up 2017 | A1:IoT通信の選択肢とLoRaWANに見るデバイス開発のポイントif-up 2017 | A1:IoT通信の選択肢とLoRaWANに見るデバイス開発のポイント
if-up 2017 | A1:IoT通信の選択肢とLoRaWANに見るデバイス開発のポイント
 
ゲームの通信をつくる仕事はどうなるのだろう?
ゲームの通信をつくる仕事はどうなるのだろう?ゲームの通信をつくる仕事はどうなるのだろう?
ゲームの通信をつくる仕事はどうなるのだろう?
 
Node-redでプロトタイピング
Node-redでプロトタイピングNode-redでプロトタイピング
Node-redでプロトタイピング
 
JANOG35_RPKIやってみませんか? 20150120
JANOG35_RPKIやってみませんか? 20150120JANOG35_RPKIやってみませんか? 20150120
JANOG35_RPKIやってみませんか? 20150120
 
富士市役所のデスクトップ仮想化 2015年4月版 ~ゼロクライアントとICカード認証の導入~
富士市役所のデスクトップ仮想化 2015年4月版 ~ゼロクライアントとICカード認証の導入~富士市役所のデスクトップ仮想化 2015年4月版 ~ゼロクライアントとICカード認証の導入~
富士市役所のデスクトップ仮想化 2015年4月版 ~ゼロクライアントとICカード認証の導入~
 

More from techlog (Internet Initiative Japan Inc.)

IIJmio meeting 30 追加機能も実装完了!ギガプランリリースに至るまで
IIJmio meeting 30 追加機能も実装完了!ギガプランリリースに至るまでIIJmio meeting 30 追加機能も実装完了!ギガプランリリースに至るまで
IIJmio meeting 30 追加機能も実装完了!ギガプランリリースに至るまでtechlog (Internet Initiative Japan Inc.)
 
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmioIIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmiotechlog (Internet Initiative Japan Inc.)
 
IIJmio meeting 28 MVNOの音声通話料金が安くなるって本当?指定設備卸の適正性検証とは何か
IIJmio meeting 28 MVNOの音声通話料金が安くなるって本当?指定設備卸の適正性検証とは何かIIJmio meeting 28 MVNOの音声通話料金が安くなるって本当?指定設備卸の適正性検証とは何か
IIJmio meeting 28 MVNOの音声通話料金が安くなるって本当?指定設備卸の適正性検証とは何かtechlog (Internet Initiative Japan Inc.)
 
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio (カメラ追加資料)
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio (カメラ追加資料)IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio (カメラ追加資料)
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio (カメラ追加資料)techlog (Internet Initiative Japan Inc.)
 
IIJmio meeting 27 IIJのモバイル業界における活動とVMNO構想について
IIJmio meeting 27 IIJのモバイル業界における活動とVMNO構想についてIIJmio meeting 27 IIJのモバイル業界における活動とVMNO構想について
IIJmio meeting 27 IIJのモバイル業界における活動とVMNO構想についてtechlog (Internet Initiative Japan Inc.)
 
IIJmio meeting 27 「格安スマホ」の音声通話をおさらいしよう
IIJmio meeting 27 「格安スマホ」の音声通話をおさらいしようIIJmio meeting 27 「格安スマホ」の音声通話をおさらいしよう
IIJmio meeting 27 「格安スマホ」の音声通話をおさらいしようtechlog (Internet Initiative Japan Inc.)
 
IIJmio meeting 26 プライベートLTEとパブリックLTEの相互運用における問題とその解決
IIJmio meeting 26 プライベートLTEとパブリックLTEの相互運用における問題とその解決IIJmio meeting 26 プライベートLTEとパブリックLTEの相互運用における問題とその解決
IIJmio meeting 26 プライベートLTEとパブリックLTEの相互運用における問題とその解決techlog (Internet Initiative Japan Inc.)
 

More from techlog (Internet Initiative Japan Inc.) (20)

IIJmio meeting 31 MVNOの音声通話を巡る最新状況
IIJmio meeting 31 MVNOの音声通話を巡る最新状況IIJmio meeting 31 MVNOの音声通話を巡る最新状況
IIJmio meeting 31 MVNOの音声通話を巡る最新状況
 
IIJmio meeting 31 SIMフリースマホの昔と今
IIJmio meeting 31 SIMフリースマホの昔と今IIJmio meeting 31 SIMフリースマホの昔と今
IIJmio meeting 31 SIMフリースマホの昔と今
 
IIJmio meeting 31 IIJmio Updates 2021/07-2021/10
IIJmio meeting 31 IIJmio Updates 2021/07-2021/10IIJmio meeting 31 IIJmio Updates 2021/07-2021/10
IIJmio meeting 31 IIJmio Updates 2021/07-2021/10
 
IIJmio meeting 30 座談会・ギガプラン メンバートーク
IIJmio meeting 30 座談会・ギガプラン メンバートークIIJmio meeting 30 座談会・ギガプラン メンバートーク
IIJmio meeting 30 座談会・ギガプラン メンバートーク
 
IIJmio meeting 30 端末の動作確認から見たギガプラン
IIJmio meeting 30 端末の動作確認から見たギガプランIIJmio meeting 30 端末の動作確認から見たギガプラン
IIJmio meeting 30 端末の動作確認から見たギガプラン
 
IIJmio meeting 30 追加機能も実装完了!ギガプランリリースに至るまで
IIJmio meeting 30 追加機能も実装完了!ギガプランリリースに至るまでIIJmio meeting 30 追加機能も実装完了!ギガプランリリースに至るまで
IIJmio meeting 30 追加機能も実装完了!ギガプランリリースに至るまで
 
IIJmio meeting 30 IIJmio Updates
IIJmio meeting 30 IIJmio UpdatesIIJmio meeting 30 IIJmio Updates
IIJmio meeting 30 IIJmio Updates
 
IIJmio meeting 29 総務省 モバイル市場の現状と政策動向
IIJmio meeting 29 総務省 モバイル市場の現状と政策動向IIJmio meeting 29 総務省 モバイル市場の現状と政策動向
IIJmio meeting 29 総務省 モバイル市場の現状と政策動向
 
IIJmio meeting 29 ご挨拶 MVNO事業部長 矢吹重雄
IIJmio meeting 29 ご挨拶 MVNO事業部長 矢吹重雄IIJmio meeting 29 ご挨拶 MVNO事業部長 矢吹重雄
IIJmio meeting 29 ご挨拶 MVNO事業部長 矢吹重雄
 
IIJmio meeting 29 IIJmio Updates
IIJmio meeting 29 IIJmio UpdatesIIJmio meeting 29 IIJmio Updates
IIJmio meeting 29 IIJmio Updates
 
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmioIIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio
 
IIJmio meeting 28 IIJmio Updates 2020.05-2020.09
IIJmio meeting 28 IIJmio Updates 2020.05-2020.09IIJmio meeting 28 IIJmio Updates 2020.05-2020.09
IIJmio meeting 28 IIJmio Updates 2020.05-2020.09
 
IIJmio meeting 28 MVNOの音声通話料金が安くなるって本当?指定設備卸の適正性検証とは何か
IIJmio meeting 28 MVNOの音声通話料金が安くなるって本当?指定設備卸の適正性検証とは何かIIJmio meeting 28 MVNOの音声通話料金が安くなるって本当?指定設備卸の適正性検証とは何か
IIJmio meeting 28 MVNOの音声通話料金が安くなるって本当?指定設備卸の適正性検証とは何か
 
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio (カメラ追加資料)
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio (カメラ追加資料)IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio (カメラ追加資料)
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio (カメラ追加資料)
 
IIJmio meeting 27 IIJのモバイル業界における活動とVMNO構想について
IIJmio meeting 27 IIJのモバイル業界における活動とVMNO構想についてIIJmio meeting 27 IIJのモバイル業界における活動とVMNO構想について
IIJmio meeting 27 IIJのモバイル業界における活動とVMNO構想について
 
IIJmio meeting 27 「格安スマホ」の音声通話をおさらいしよう
IIJmio meeting 27 「格安スマホ」の音声通話をおさらいしようIIJmio meeting 27 「格安スマホ」の音声通話をおさらいしよう
IIJmio meeting 27 「格安スマホ」の音声通話をおさらいしよう
 
IIJmio meeting 26 IIJmio Updates 2019/10-2019/12
IIJmio meeting 26 IIJmio Updates 2019/10-2019/12IIJmio meeting 26 IIJmio Updates 2019/10-2019/12
IIJmio meeting 26 IIJmio Updates 2019/10-2019/12
 
IIJmio meeting 26 プライベートLTEとパブリックLTEの相互運用における問題とその解決
IIJmio meeting 26 プライベートLTEとパブリックLTEの相互運用における問題とその解決IIJmio meeting 26 プライベートLTEとパブリックLTEの相互運用における問題とその解決
IIJmio meeting 26 プライベートLTEとパブリックLTEの相互運用における問題とその解決
 
IIJmio meeting 26 IIJってMVNOだけの会社じゃないんです
IIJmio meeting 26 IIJってMVNOだけの会社じゃないんですIIJmio meeting 26 IIJってMVNOだけの会社じゃないんです
IIJmio meeting 26 IIJってMVNOだけの会社じゃないんです
 
IIJmio meeting 26 IIJmio公式Twitterの裏側に迫る!
IIJmio meeting 26 IIJmio公式Twitterの裏側に迫る!IIJmio meeting 26 IIJmio公式Twitterの裏側に迫る!
IIJmio meeting 26 IIJmio公式Twitterの裏側に迫る!
 

IIJmio meeting 5 MVNOとGPSについて

  • 1. 1 IIJmiomtg#5 MVNOとGPSについて 株式会社インターネットイニシアティブ
  • 2. 2 •名前 大内宗徳 •所属 ネットワーク本部ネットーワークサービス部技術開発課 •経歴 2002年IIJ入社。以降、研究開発部門に所属 •業務内容 ネットワークサービス全般の技術調査、機器の動作検証、 研究開発 インターネット関連の技術調査、コアルータやスイッチ等機器の動作検証、 ツール開発 モバイル関連の技術調査、機器の動作検証、ツール開発 社内エンジニアの後方支援 最近はモバイルの端末挙動調査からコアネットワーク設備まで色々やってい ます! 自己紹介/初めてなので
  • 3. 3 MVNOのGPSについて •ネット上ではMVNOとGPSについて情報があふ れています •ただし、古い情報や正しくない情報も散見されます •次の2つ問題に焦点をあてて解説していきます 1.MVNOではGPSが使えない? 2.MVNOでGPSの位置情報取得を高速にで きるのか?
  • 4. 4 •端末のGPS機能は使うことは出来ます!でき るはずです ->ただし、端末によってGPSの位置情報取得に かなり時間がかかる場合がある (白ロム端末だと顕著になる場合も) ->MVNOだとGPSが使えない、という誤解に •この原因を理解するために下記の2つを解説 •Android端末の位置情報取得 •GPSとA-GPSの仕組みについて解説 1.MVNOではGPSが使えない?
  • 5. 5 (注1)運が良ければこの精度で (注2)GPSを直近で使っていれば、暫くの間は早く取得可能 (注3)Android4.4以降では改善されているらしい。LGG2mini(4.4.2)で確認 無線LAN MNOの基地局情報 GPS 位置特定に利用す る情報 BSSID Cell ID 衛星の信号 位置情報精度 数十~百m (注1) 数百m~数km (注1) 数m 位置取得の時間 早い 早い 遅い(注2) 無線LANをON 必要 不要 不要 Googleサーバへの 到達性 必要 必要 不要 音声orSMS契約 必要なし 必要(注3) 不要 Android端末での位置情報取得
  • 6. 6 Android端末での位置情報取得/GoogleMAP •飯田橋のIIJ本社で試した結果 •端末SO-03D で、MVNOSIM利用 •大体の位置ならば無線LANでもOK。GPSは時間がかかる 無線LAN 基地局GPS
  • 7. 7 GPSについて •ただし、正確な位置把握のためにはGPSが必要 ->本題のGPSの話題に •GPS概要については省略 •GPSによる位置情報の取得は仕組み的に時間が 掛かる •この仕組みをもう少し掘り下げて説明
  • 8. 8 GPSで位置情報を取得する手順 •手順の概略 1.端末がGPS衛星からの信号サーチして見つける 2.衛星から信号に含まれるナビゲーションメッセージ得る GPS時刻/エフェメリス/アルマナック/補正情報 3.衛星からの信号の到達時間を調べる 4.衛星の位置と信号の到達時間、各種補正情報をもとに端 末の位置を計算 5.この時点で端末の大体の位置がわかる 6.衛星と端末の関係から最適な衛星を割り出して、最適な 衛星からの信号を利用して位置情報を逐次更新 (補足) 1、2の処理は時間がかかる。3,4の処理は短時間で完了 エフェメリス: 衛星の詳細な位置情報 アルマナック: 衛星の概略の位置情報
  • 9. 9 TimeToFirstFix(TTFF) •GPS端末が初期の位置情報取得までにかかる時間 •GPS端末の位置情報を取得する性能指標として用いられる •参考:SiRFStarIII™ http://hyperlogos.org/files/GSC3%28f%29_6.20.05.pdf •おおまかに分けて3つの状態で値が示されている •ColdStart GPS衛星に関する情報を何も持ってない状態 30秒~数分かかる •WarmStart GPS時刻、アルマナック、過去に計算済の位置情報を持つ状態 30秒~1分 •HotStart 2-3時間以内のエフェメリス、計算済の位置情報を持つ状態 数秒以内
  • 10. 10 ColdStartとの関係 •手順の概略 1.端末がGPS衛星からの信号サーチして見つける 2.衛星から信号に含まれるナビゲーションメッセージ得る GPS時刻/エフェメリス/アルマナック/補正情報 3.衛星からの信号の到達時間を調べる 4.衛星の位置と信号の到達時間、各種補正情報をもとに端 末の位置を計算 5.この時点で端末の大体の位置がわかる 6.衛星と端末の関係から最適な衛星を割り出して、最適な 衛星からの信号を利用して位置情報を逐次更新 1-5のすべての処理を行うため時間がかかる!
  • 11. 11 WarmStartとの関係 •手順の概略 1.端末がGPS衛星からの信号サーチして見つける 2.衛星から信号に含まれるナビゲーションメッセージ得る GPS時刻/エフェメリス/アルマナック/補正情報 3.衛星からの信号の到達時間を調べる 4.衛星の位置と信号の到達時間、各種補正情報をもとに端 末の位置を計算 5.この時点で端末の大体の位置がわかる 6.衛星と端末の関係から最適な衛星を割り出して、最適な 衛星からの信号を利用して位置情報を逐次更新 1は以前に取得したアルマナック等の情報からサーチを高速化 でき、また、2のナビゲーションメッセージ取得を一部省ける分、 時間が短くなる!
  • 12. 12 HotStartとの関係 •手順の概略 1.端末がGPS衛星からの信号サーチして見つける 2.衛星から信号に含まれるナビゲーションメッセージ得る GPS時刻/エフェメリス/アルマナック/補正情報 3.衛星からの信号の到達時間を調べる 4.衛星の位置と信号の到達時間、各種補正情報をもとに端 末の位置を計算 5.この時点で端末の大体の位置がわかる 6.衛星と端末の関係から最適な衛星を割り出して、最適な 衛星からの信号を利用して位置情報を逐次更新 1,2の処理を省けるため、大幅に時間が短縮される!!
  • 13. 13 GPSとA-GPSの関係について •手順の概略 1.端末がGPS衛星からの信号サーチして見つける 2.衛星から信号に含まれるナビゲーションメッセージ得る GPS時刻/エフェメリス/アルマナック/補正情報 3.衛星からの信号の到達時間を調べる 4.衛星の位置と信号の到達時間、各種補正情報をもとに端 末の位置を計算 5.この時点で端末の大体の位置がわかる 6.衛星と端末の関係から最適な衛星を割り出して、最適な 衛星を割だして位置情報を逐次更新 1,2の部分の情報をIPネットワークから提供する ことで、HotStartに近い時間短縮を目指す! =>(MS-based)A-GPS
  • 14. 14 •ここまで説明して最初の話に戻ります •MVNOでGPSの動作を高速化出来ないのか? ->キャリア端末でもアプリでGPSを高速化できる ただし、一部端末は無理 •GPSの高速化、A-GPS実装について解説 A-GPSについて AndroidのA-GPSの実装 (おまけ)A-GPSサーバとの通信プロトコル解析 2.MVNOでGPSの位置情報取得を高速にできるのか?
  • 15. 15 A-GPSについて-1 一般的なA-GPSの実装は2種類に大別される 1.SUPLに基づく実装 •SUPL(SecureUserPlaneLocation) •OMASecureUserPlaneLocationV1.0/V2.X •3GPPTS44.031 •LocationServices(LCS);MobileStation(MS)-ServingMobileLocationCentre(SMLC)RadioResourceLCSProtocol(RRLP) •特徴 •IP通信でのSUPLサーバからGPS測位補助情報を取得可能 •モバイルデータ通信が必要->無線LAN経由は不可 •標準化されたプロトコルを利用 •SSL/TCPport7275を利用 •SUPLサーバをSSL証明書で確認 •GoogleはSSLを使わないport7276も利用 •利用できる端末が制限されることが多い •キャリア網内からしかアクセスできない •IMSI/MSISDNの認証等がある
  • 16. 16 A-GPSについて-2 2.GPSチップメーカー独自実装 •特徴 •IP通信でのサーバからGPS測位補助情報を取得可能 •アクセスネットワークなんでも良い(3G/LTE/WiFi..) •HTTPでデータをダウンロードしてGPSチップに与える •エフェメリス、アルマナック等を含む •データフォーマットはベンダー独自 •1週間前後有効な場合が多い •情報を取得するのに認証等は不要 •MVNOからでも利用可能! •ベンダー実装例 •Qualcomm:gpsOneXTRA •Broadcom:LongTermOrbit(LTO) •MediaTek:ExtendedPredictionOrbit(EPO)
  • 17. 17 AndroidのA-GPSの実装-1 •A-GPSの実装 •SUPLとGPSチップメーカーの独自実装の両対応APIあり •ただし、端末メーカーによって対応が異なる •無線LANのみ端末->メーカー独自のみ •3G/LTE端末->両方対応orSUPLのみ対応 •A-GPSに関する設定 •/system/etc/gps.conf–端末によって違うファイル、隠しモードで設定 •root権限がないと書き換え不可能 •設定からでは変更できない値が多い •GPSのドライバーにハードコーディング? •SSL利用の有無の設定はできない? •3G/LTE経由でSUPLの有効化 •APNタイプが未設定ordefault,suplの記述であればOK •端末によってはこの値を見てない場合も… •SSL証明書を利用したSUPLサーバの確認 •NTTドコモの端末は確認を行っている(?) •SIMフリー端末だとSSLを利用してないものがほとんど
  • 18. 18 •A-GPSの利用 1.SUPL利用 •GPSを利用する位置情報取得APIが叩かれると、SUPL サーバへアクセスして補助情報の取得を試みる •SUPLサーバへのアクセス •ドコモ端末:dcm-supl.com/MSISDN/SSLport7275 •SIMフリー端末:supl.google.com/IMSI/SSLなしport7276 •一部のSIMフリー端末だと、音声/SMS契約がないと SUPLが正常に利用できない場合が 2.GPSチップメーカー独自実装の利用 •アプリで明示的にAPIを叩かないと利用出来ない?! AndroidのA-GPSの実装-2
  • 19. 19 AndroidのA-GPSの実装-3 •GPSチップメーカー独自実装のA-GPSの利用 •APIを明示的に叩く場合の例 •実際の利用方法 •GPSStatus&ToolboxなどのAPIを叩くアプリを利用 •注意点 •APIを叩いても正常に動作したかはわからない •独自実装がされてなくても、APIは叩ける android -Problems with sendExtraCommandand force_xtra_injection-Stack Overflow http://stackoverflow.com/questions/4961514/problems-with-sendextracommand-and-force-xtra- injection public static void downloadGPSXtra(Context context) { LocationManagerlocationmanager= (LocationManager)context.getSystemService("location"); Bundle bundle= new Bundle(); locationmanager.sendExtraCommand("gps", "force_xtra_injection", bundle); locationmanager.sendExtraCommand("gps", "force_time_injection", bundle); }
  • 21. 21 AndroidのA-GPSの実装-5 •GPSStatus&Toolboxを利用してTTFFを測定 •それぞれ2回試した。単位は秒 •(注)端末のA-GPSデータを消去したColdStart状態で計測 GPSStatus&Toolbox->ManageA-GPSstate->Reset SO-03D:*#*#7378423#*#*->Servicetests->GPS->Purgeassistancedata LGG2mini:3845#*620#->GNSSTest–>DeleteAidingData GPSのみ A-GPS(SUPL) SUPLサーバ A-GPS(メーカー独自) SO-03D/Xi SIM 35/47 19/20 ドコモ 10/11 SO-03D/IIJSIM 39/34 34/33(注) ドコモ 8/17 AscendG6/IIJ SIM 69/70 12/8 Google 10/11 LG G2 mini/IIJ SIM 197/254 42/55 Google 16/27 •GPS信号の捕捉時間は端末に依存 •GPSのみに比べて、A-GPSを利用すると早くなる •MVNOSIMでもA-GPS(メーカー独自)利用で高速化! (注)NTTドコモのSUPLは利用できません。
  • 22. 22 まとめ 1.MVNOではGPSが使えない? ->使えます! GPSの仕組み的に時間がかかるため、その理由を解説 2.MVNOでGPSの位置情報取得を高速にでき るのか? ->キャリア端末でもアプリを使えば高速化出来ます! (ただし、一部端末ではダメ) GPSのTTFFを高速化するA-GPSについて解説 実際にA-GPSを利用したTTFFを測定して確認
  • 23. 23 おまけ -Apple(iPhone)のA-GPSの実装 -A-GPSサーバとのSUPLプロトコル解析 -dcm-supl.comのSUPLプロトコル解析 -supl.google.comのSUPLプロトコル解析
  • 24. 24 Apple(iPhone)のA-GPSの実装-1 •A-GPSの実装 •GPSチップメーカーの独自実装のみ?! •SUPLは利用してないらしい (参考) When Assistance Becomes Dependence: Characterizing the Costs and Inefficiencies of A-GPS http://www.tid.es/sites/526e527928a32d6a7400007f/content_entry5321ef0928a32d08900000ac/533c077028a32da56a0024fc/files/agps_mc2r_2013.pdf •キャプチャでも、TCPport7275向けの通信は見つからず •A-GPSに関する設定 •設定は一切不可 •位置情報サービスのOFF/ONぐらい •GPSのチップ •端末世代毎にGPSのチップが異なる •世代毎に異なるデータをダウンロードして利用 •iPhone3G:LTO •iPhone4S:gpsOneXTRA •iPhone5/5S/6:?
  • 25. 25 •GPSチップメーカー独自実装の利用 •iPhone5c(iOS8.1)の場合 •位置情報取得APIを叩くと、謎のバイナリデータを取得 •これがA-GPSのデータか?! •モバイル通信/Wi-Fiどちららでも同じ挙動 •Appleサーバからなので、MVNO SIMでも問題ない •HTTPS経由で取得 •TTFFの計測テスト •できませんでした。。。 •困った点 •A-GPSデータを消去できない? •コールドスタート状態に戻せないので、比較試験が出来ず •A-GPSデータ無効相当にするは1週間以上の放置が必要 •A-GPSデータが有効であるかの確認がアプリからでは難しい •iOSはNMEA形式でのGPSデータ出力をサポートしてない? (参考) Android でGPS 衛星からの情報をNMEA 形式で取得する方法-A Day In The Life http://d.hatena.ne.jp/glass-_-onion/20101123/1290522121 Apple(iPhone)のA-GPSの実装-2
  • 26. 26 •謎バイナリデータ(A-GPSデータ?) •Proxyを設定し、mitmproxyでHTTPS通信を監視して確認 (参考) iPhone -iOS実機のSSL通信をプロキシによって傍受したり改ざんする方法-Qiita--- http://qiita.com/yimajo/items/c67cb711851f747c35e5 2014-10-23 15:47:43 GET https://cl2.apple.com/4/v1/124/318/1240000_3180000_0000000001B8000A.gz ← 200 application/x-gzip468.74kB 4.15MB/s Request Response Host: cl2.apple.com User-Agent: locationd/1753.17 CFNetwork/711.1.12 Darwin/14.0.0 Connection: close Proxy-Connection: close https://cl2.apple.com/4/v1/124/318/1240000_3180000_0000000001B8000A.gz ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 上記^部分はアクセスされるごとに異なる。ルールは不明 上記ファイルを解答して調べたがバイナリーファイルで正体不明 頻繁に異なる種類のファイルをダウンロードする場合も Apple(iPhone)のA-GPSの実装-3
  • 27. 27 (おまけ)無線LAN/基地局から情報取得するAPI •iPhone5c(iOS8.1)の場合 (参考)Apple社のGeoLocationシステム周りに関するお話 http://d.hatena.ne.jp/RobinEgg/20140113/p1 2014-10-2315:47:43POSThttps://gs-loc.apple.com/clls/wloc Host:gs-loc.apple.com Proxy-Connection:keep-alive Accept-Encoding:gzip,deflate Content-Type:application/x-www-form-urlencoded Accept-Language:en-us Connection:keep-alive Accept:*/* Content-Length:70 User-Agent:locationd/1753.17CFNetwork/711.1.12Darwin/14.0.0 Hex000000000000010005656e5f55530013636f6d2e61....en_US..com.a 000000001070706c652e6c6f636174696f6e64000apple.locationd.. 0000000020382e312e3132423431310000000100008.1.12B411...... 0000000030001418002001ca010d08b803100a1883............... 0000000040f69014209028....( Apple(iPhone)のA-GPSの実装-4
  • 28. 28 A-GPSサーバとのSUPLプロトコル解析-1 •SUPLサーバとのやりとりをキャプチャ •supl-client/supl-proxyをベースに独自改良 •Assisted GPS (AGPS) SUPL client and proxy •http://www.tajuma.com/supl/ •Patch to build supl-proxy and fallback to non-TLS connection •https://gist.github.com/kanru/3713093 •キャプチャ環境 [supl-client]--(非SSL/TCP)--[supl-proxy]—(SSL/TCP)—[SUPLserver] [端末]-------(非SSL/TCP)--[socat]—--(非SSL/TCP)—[SUPLserver] ^^^^^^^^^^^^^^ ここでキャプチャ
  • 29. 29 A-GPSサーバとのSUPLプロトコル解析-2 •SUPLプロトコルの基本的なやりとり [端末]------SUPLSTART-----[SUPLサーバ] ----SUPLRESPONSE---- ------SUPLPOSINIT---- ----SUPLPOS--------- •(注意)TCP/SSL通信なので前後に他のシーケンスがあるが詳細略
  • 30. 30 SUPLサーバ:dcm-supl.com-1 •試験環境 •Xiデータ通信サービスSIMを利用 •APN:mopera.net •supl-clientツールを利用してアクセス •tcpdumpでキャプチャ •Wiresharkでデコード •参考:DNSでの名前解決 •IIJmio SIM (host) /root >host dcm-supl.com Host dcm-supl.com not found: 2(SERVFAIL) •Xiデータ通信SIM (host) /root >host dcm-supl.com dcm-supl.com has address 61.195.xxx.xxx
  • 31. 31 SUPLSTART例SUPLRESPONSE例 OMA UserPlaneLocation Protocol ULP-PDU length: 30 version maj: 1 min: 0 servind: 0 sessionID setSessionID sessionId: 1 setId: msisdn(0) msisdn: XXXXXXXXXXXX message: msSUPLSTART(1) msSUPLSTART sETCapabilities posTechnology .... ..0. agpsSETassisted: False .... ...1 agpsSETBased: True 0... .... autonomousGPS: False .0.. .... aFLT: False ..0. .... eCID: False ...0 .... eOTD: False .... 0... oTDOA: False prefMethod: agpsSETBasedPreferred(1) posProtocol 0... .... tia801: False .1.. .... rrlp: True ..0. .... rrc: False locationId cellInfo: wcdmaCell(1) wcdmaCell refMCC: 410 refMNC: 10 refUC: 3752005 status: stale (0) OMA UserPlaneLocation Protocol ULP-PDU length: 32 version maj: 1 min: 0 servind: 0 sessionID setSessionID sessionId: 1 setId: msisdn(0) msisdn: XXXXXXXXXXXX slpSessionID sessionID: d00535ea slpId: fQDN(1) fQDN: dcm-supl.com message: msSUPLRESPONSE(2) msSUPLRESPONSE posMethod: agpsSETbased(1) SUPLサーバ:dcm-supl.com-2
  • 32. 32 SUPLPOSINIT例 OMA UserPlaneLocation Protocol ULP-PDU length: 49 version maj: 1 min: 0 servind: 0 sessionID setSessionID sessionId: 1 setId: msisdn(0) msisdn: XXXXXXXXXXXX slpSessionID sessionID: d00535ea slpId: fQDN(1) fQDN: dcm-supl.com message: msSUPLPOSINIT(3) msSUPLPOSINIT sETCapabilities posTechnology ...0 .... agpsSETassisted: False .... 1... agpsSETBased: True .... .0.. autonomousGPS: False .... ..0. aFLT: False .... ...0 eCID: False 0... .... eOTD: False .0.. .... oTDOA: False prefMethod: agpsSETBasedPreferred(1) posProtocol .... .0.. tia801: False .... ..1. rrlp: True .... ...0 rrc: False requestedAssistData ..1. .... almanacRequested: True ...0 .... utcModelRequested: False .... 0... ionosphericModelRequested: False .... .0.. dgpsCorrectionsRequested: False .... ..1. referenceLocationRequested: True .... ...1 referenceTimeRequested: True 1... .... acquisitionAssistanceRequested: True .0.. .... realTimeIntegrityRequested: False ..1. .... navigationModelRequested: True navigationModelData gpsWeek: 0 gpsToe: 0 nSAT: 0 toeLimit: 0 locationId cellInfo: wcdmaCell(1) wcdmaCell refMCC: 410 refMNC: 10 refUC: 13182428 status: stale (0) SUPLサーバ:dcm-supl.com-3
  • 33. 33 SUPLPOS例-1 OMA UserPlaneLocation Protocol ULP-PDU length: 1689 version maj: 1 min: 0 servind: 0 sessionID setSessionID sessionId: 1 setId: msisdn(0) msisdn: XXXXXXXXXXXXXXX slpSessionID sessionID: d00535ea slpId: fQDN(1) fQDN: dcm-supl.com message: msSUPLPOS(4) msSUPLPOS posPayLoad: rrlpPayload(2) rrlpPayload: 201178de99a9f8998a52618a43... Radio Resource LCS Protocol (RRLP) PDU referenceNumber: 1 component: msrPositionReq(0) msrPositionReq positionInstruct methodType: msBased(1) msBased: 60 positionMethod: gps(1) measureResponseTime: 5 useMultipleSets: oneSet(1) gps-AssistData controlHeader referenceTime gpsTime gpsTOW23b: 5569612 gpsWeek: 788 gpsTowAssist: 11 items Item 0 GPSTOWAssistElement satelliteID: 19 tlmWord: 788 antiSpoof: 1 alert: 0 tlmRsvdBits: 0 Item 1 GPSTOWAssistElement satelliteID: 27 tlmWord: 788 antiSpoof: 1 alert: 0 tlmRsvdBits: 0 . refLocation. threeDLocation: 9032c5ac635f9900401111007f00 1001 .... = Location estimate: Ellipsoid point with altitude and uncertainty Ellipsoid (9) 0... .... = Sign of latitude: North (0) .011 0010 1100 0101 1010 1100 = Degrees of latitude: 3327404 (35.69918 degrees) Degrees of longitude: 6512537 (139.74389 degrees) 0... .... .... .... = D: Direction of Altitude: Altitude expresses height (0) .000 0000 0100 0000 = Altitude in meters: 64 .001 0001 = Uncertainty semi-major: 17 (40.5 m) .001 0001 = Uncertainty semi-minor: 17 (40.5 m) Orientation of major axis: 0 .111 1111 = Uncertainty Altitude: 127 (990.5 m) .000 0000 = Confidence(%): 0 . GPS時刻-> 位置情報-> SUPLサーバ:dcm-supl.com-4
  • 34. 34 SUPLPOS例-2 navigationModel navModelList: 11 items Item 0 NavModelElement satelliteID: 19 satStatus: newSatelliteAndModelUC(0) newSatelliteAndModelUC ephemCodeOnL2: 1 ephemURA: 0 ephemSVhealth: 0 ephemIODC: 92 ephemL2Pflag: 0 ephemSF1Rsvd reserved1: 0 reserved2: 0 reserved3: 0 reserved4: 0 ephemTgd: -17 ephemToc: 27900 ephemAF2: 0 ephemAF1: 38 ephemAF0: 517171 ephemCrs: 997 ephemDeltaN: 15911 ephemM0: -412499778 ephemCuc: 891 ephemE: 51890437 ephemCus: 3884 ephemAPowerHalf: 2702030612 ephemToe: 27900 ephemFitFlag: 0 ephemAODA: 31 ephemCic: -26 ephemOmegaA0: -2034760447 ephemCis: 31 ephemI0: 633654509 ephemCrc: 7269 ephemW: 909022217 ephemOmegaADot: -24347 ephemIDot: 900 . almanac alamanacWNa: 21 almanacList: 32 items Item 0 AlmanacElement satelliteID: 0 almanacE: 7451 alamanacToa: 15 almanacKsii: 3144 almanacOmegaDot: -688 almanacSVhealth: 0 almanacAPowerHalf: 10554631 almanacOmega0: 5898737 almanacW: 1148377 almanacM0: 5429806 almanacAF0: 23 almanacAF1: 0 . . acquisAssist timeRelation gpsTOW: 5569612 acquisList: 11 items Item 0 AcquisElement svid: 19 doppler0: 249 addionalDoppler doppler1: 28 dopplerUncertainty: 4 codePhase: 367 intCodePhase: 12 gpsBitNumber: 0 codePhaseSearchWindow: 0 addionalAngle azimuth: 12 elevation: 7 . . エフェメリス-> アルマナック-> 衛星補足 補助情報-> SUPLサーバ:dcm-supl.com–5
  • 35. 35 SUPLサーバ:supl.google.com-1 •試験環境 •MVNO(IIJSIM)を利用 •SMS+データ通信SIM •データ通信SIM •APN:IIJのテスト用APN •DNSサーバでsupl.google.comのアドレスをキャプチャ用 サーバのアドレスを返して、トラフィックを捻じ曲げた •端末 •ASUSFonepadME371MG •LGG2mini •tcpdumpでキャプチャ •Wiresharkでデコード
  • 36. 36 SUPLサーバ:supl.google.com-2 SUPLSTART例 データ通信SIMを利用した場合-ASUSFonepadME371MG OMA UserPlaneLocation Protocol ULP-PDU length: 18 version maj: 1 min: 0 servind: 0 sessionID setSessionID sessionId: 446 setId: imsi(3) imsi: 441030…….. message: msSUPLEND(5) msSUPLEND statusCode: systemFailure(1) <-正常なリクエストが 送られていない A-GPS動作せず
  • 37. 37 SUPLサーバ:supl.google.com-3 SMS+データ通信SIMを利用した場合-ASUSFonepadME371MG SUPLSTART例SUPLRESPONSE例 OMA UserPlaneLocation Protocol ULP-PDU length: 30 version maj: 1 min: 0 servind: 0 sessionID setSessionID sessionId: 502 setId: imsi(3) imsi: 441030….. message: msSUPLSTART(1) msSUPLSTART sETCapabilities posTechnology .... ..1. agpsSETassisted: True .... ...1 agpsSETBased: True 1... .... autonomousGPS: True .0.. .... aFLT: False ..0. .... eCID: False ...0 .... eOTD: False .... 0... oTDOA: False prefMethod: noPreference(2) posProtocol 0... .... tia801: False .1.. .... rrlp: True ..0. .... rrc: False locationId cellInfo: wcdmaCell(1) wcdmaCell refMCC: 440 refMNC: 10 refUC: 71958552 status: current (1) qoP horacc: 19 maxLocAge: 1 OMA UserPlaneLocation Protocol ULP-PDU length: 26 version maj: 1 min: 0 servind: 0 sessionID setSessionID sessionId: 502 setId: imsi(3) imsi: 441030...... slpSessionID sessionID: 4a125ae4 slpId: iPAddress(0) iPAddress: ipv4Address (0) ipv4Address: 173.194.72.192 (173.194.72.192) message: msSUPLRESPONSE(2) msSUPLRESPONSE posMethod: agpsSETbased(1)
  • 38. 38 SUPLサーバ:supl.google.com-4 SMS+データ通信SIMを利用した場合-ASUSFonepadME371MG SUPLPOSINIT例 OMA UserPlaneLocation Protocol ULP-PDU length: 40 version maj: 1 min: 0 servind: 0 sessionID setSessionID sessionId: 502 setId: imsi(3) imsi: 441030……. slpSessionID sessionID: 4a125ae4 slpId: iPAddress(0) iPAddress: ipv4Address (0) ipv4Address: 173.194.72.192 (173.194.72.192) message: msSUPLPOSINIT(3) msSUPLPOSINIT sETCapabilities posTechnology .... 1... agpsSETassisted: True .... .1.. agpsSETBased: True .... ..1. autonomousGPS: True .... ...0 aFLT: False 0... .... eCID: False .0.. .... eOTD: False ..0. .... oTDOA: False prefMethod: noPreference(2) posProtocol .... ..0. tia801: False .... ...1 rrlp: True 0... .... rrc: False requestedAssistData ...0 .... almanacRequested: False .... 0... utcModelRequested: False .... .0.. ionosphericModelRequested: False .... ..0. dgpsCorrectionsRequested: False .... ...1 referenceLocationRequested: True 1... .... referenceTimeRequested: True .0.. .... acquisitionAssistanceRequested: False ..0. .... realTimeIntegrityRequested: False ...1 .... navigationModelRequested: True navigationModelData gpsWeek: 0 gpsToe: 0 nSAT: 0 toeLimit: 0 locationId cellInfo: wcdmaCell(1) wcdmaCell refMCC: 440 refMNC: 10 refUC: 71958552 status: current (1)
  • 39. 39 SUPLサーバ:supl.google.com-5 SMS+データ通信SIMを利用した場合-ASUSFonepadME371MG SUPLPOS例-1 OMA UserPlaneLocation Protocol ULP-PDU length: 948 version maj: 1 min: 0 servind: 0 . . message: msSUPLPOS(4) msSUPLPOS posPayLoad: rrlpPayload(2) rrlpPayload: 24134053f68cc51b206... Radio Resource LCS Protocol (RRLP) PDU referenceNumber: 1 component: assistanceData(2) assistanceData gps-AssistData controlHeader referenceTime gpsTime gpsTOW23b: 5502604 gpsWeek: 788 refLocation threeDLocation: 9032c737635ff000642c2c007f27 1001 .... = Location estimate: Ellipsoid point with altitude and uncertainty Ellipsoid (9) 0... .... = Sign of latitude: North (0) .011 0010 1100 0111 0011 0111 = Degrees of latitude: 3327799 (35.70341 degrees) Degrees of longitude: 6512624 (139.74576 degrees) 0... .... .... .... = D: Direction of Altitude: Altitude expresses height (0) .000 0000 0110 0100 = Altitude in meters: 100 .010 1100 = Uncertainty semi-major: 44 (652.6 m) .010 1100 = Uncertainty semi-minor: 44 (652.6 m) Orientation of major axis: 0 .111 1111 = Uncertainty Altitude: 127 (990.5 m) .010 0111 = Confidence(%): 39 navigationModel navModelList: 13 items Item 0 NavModelElement satelliteID: 0 satStatus: newSatelliteAndModelUC(0) newSatelliteAndModelUC ephemCodeOnL2: 0 ephemURA: 0 ephemSVhealth: 0 ephemIODC: 81 ephemL2Pflag: 0 ephemSF1Rsvd reserved1: 0 reserved2: 0 reserved3: 0 reserved4: 0 ephemTgd: 12 ephemToc: 27450 ephemAF2: 0 ephemAF1: 4 ephemAF0: 47254 ephemCrs: -1071 ephemDeltaN: 12399 ephemM0: 231454399 ephemCuc: -905 ephemE: 30423662 ephemCus: 5640 ephemAPowerHalf: 2702010424 ephemToe: 27450 ephemFitFlag: 0 ephemAODA: 31 ephemCic: 41 ephemOmegaA0: 1593627408 ephemCis: 24 ephemI0: 657148950 ephemCrc: 5735 ephemW: 290747099 ephemOmegaADot: -22274 ephemIDot: 704 . GPS時刻-> 位置情報-> エフェメリス->
  • 40. 40 SUPLサーバ:supl.google.com-6 データ通信SIMを利用した場合–LGG2mini SUPLSTART例 OMA UserPlaneLocation Protocol ULP-PDU length: 41 version maj: 1 min: 0 servind: 0 sessionID setSessionID sessionId: 0 setId: imsi(3) imsi: 441030………… message: msSUPLSTART(1) msSUPLSTART sETCapabilities posTechnology .... ..0. agpsSETassisted: False .... ...1 agpsSETBased: True 1... .... autonomousGPS: True .0.. .... aFLT: False ..1. .... eCID: True ...0 .... eOTD: False .... 0... oTDOA: False prefMethod: noPreference(2) posProtocol 0... .... tia801: False .1.. .... rrlp: True ..0. .... rrc: False locationId cellInfo: wcdmaCell(1) wcdmaCell refMCC: 440 refMNC: 10 refUC: 71958552 frequencyInfo modeSpecificInfo: fdd(0) fdd uarfcn-DL: 10688 OMA UserPlaneLocation Protocol ULP-PDU length: 26 version maj: 1 min: 0 servind: 0 sessionID setSessionID sessionId: 0 setId: imsi(3) imsi: 441030……………. slpSessionID sessionID: 9bebd352 slpId: iPAddress(0) iPAddress: ipv4Address (0) ipv4Address: 173.194.72.192 (173.194.72.192) message: msSUPLRESPONSE(2) msSUPLRESPONSE posMethod: agpsSETbased(1) SUPLRESPONSE例 primaryScramblingCode: 427 measuredResultsList: 1 item Item 0 MeasuredResults frequencyInfo modeSpecificInfo: fdd(0) fdd uarfcn-DL: 10688 cellMeasuredResultsList: 1 item Item 0 CellMeasuredResults modeSpecificInfo: fdd(0) fdd primaryCPICH-Info primaryScramblingCode: 427 cpich-Ec-N0: 43 cpich-RSCP: 47 status: current (1) qoP horacc: 19 maxLocAge: 0 delay: 7
  • 41. 41 SUPLサーバ:supl.google.com-7 SMS+データ通信SIMを利用した場合–LGG2mini SUPLPOSINIT例 OMA UserPlaneLocation Protocol ULP-PDU length: 51 version maj: 1 min: 0 servind: 0 sessionID setSessionID sessionId: 0 setId: imsi(3) imsi: 441030………. slpSessionID sessionID: 9bebd352 slpId: iPAddress(0) iPAddress: ipv4Address (0) ipv4Address: 173.194.72.192 (173.194.72.192) message: msSUPLPOSINIT(3) msSUPLPOSINIT sETCapabilities posTechnology .... 0... agpsSETassisted: False .... .1.. agpsSETBased: True .... ..1. autonomousGPS: True .... ...0 aFLT: False 1... .... eCID: True .0.. .... eOTD: False ..0. .... oTDOA: False prefMethod: noPreference(2) posProtocol .... ..0. tia801: False .... ...1 rrlp: True 0... .... rrc: False requestedAssistData ...1 .... almanacRequested: True .... 1... utcModelRequested: True .... .1.. ionosphericModelRequested: True .... ..0. dgpsCorrectionsRequested: False .... ...1 referenceLocationRequested: True 1... .... referenceTimeRequested: True .0.. .... acquisitionAssistanceRequested: False ..1. .... realTimeIntegrityRequested: True ...1 .... navigationModelRequested: True navigationModelData gpsWeek: 0 gpsToe: 0 nSAT: 0 toeLimit: 0 locationId cellInfo: wcdmaCell(1) wcdmaCell refMCC: 440 refMNC: 10 refUC: 71958552 frequencyInfo modeSpecificInfo: fdd(0) fdd uarfcn-DL: 10688 primaryScramblingCode: 427 measuredResultsList: 1 item Item 0 MeasuredResults frequencyInfo modeSpecificInfo: fdd(0) fdd uarfcn-DL: 10688 cellMeasuredResultsList: 1 item Item 0 CellMeasuredResults modeSpecificInfo: fdd(0) fdd primaryCPICH-Info primaryScramblingCode: 427 cpich-Ec-N0: 43 cpich-RSCP: 47 status: current (1)
  • 42. 42 SUPLサーバ:supl.google.com-8 SMS+データ通信SIMを利用した場合–LGG2mini SUPLPOS例-1 OMA UserPlaneLocation Protocol ULP-PDU length: 1700 version maj: 1 min: 0 servind: 0 . . message: msSUPLPOS(4) msSUPLPOS posPayLoad: rrlpPayload(2) rrlpPayload: 2413785852b4c51b20658e6ec6bfe000c8585800fe4f8084... Radio Resource LCS Protocol (RRLP) PDU referenceNumber: 1 component: assistanceData(2) assistanceData gps-AssistData controlHeader referenceTime gpsTime gpsTOW23b: 5788340 gpsWeek: 788 refLocation threeDLocation: 9032c737635ff000642c2c007f27 1001 .... = Location estimate: Ellipsoid point with altitude and uncertainty Ellipsoid (9) 0... .... = Sign of latitude: North (0) .011 0010 1100 0111 0011 0111 = Degrees of latitude: 3327799 (35.70341 degrees) Degrees of longitude: 6512624 (139.74576 degrees) 0... .... .... .... = D: Direction of Altitude: Altitude expresses height (0) .000 0000 0110 0100 = Altitude in meters: 100 .010 1100 = Uncertainty semi-major: 44 (652.6 m) .010 1100 = Uncertainty semi-minor: 44 (652.6 m) Orientation of major axis: 0 .111 1111 = Uncertainty Altitude: 127 (990.5 m) .010 0111 = Confidence(%): 39 GPS時刻-> 位置情報-> エフェメリス-> navigationModel navModelList: 13 items Item 0 NavModelElement satelliteID: 1 satStatus: newSatelliteAndModelUC(0) newSatelliteAndModelUC ephemCodeOnL2: 1 ephemURA: 0 ephemSVhealth: 0 ephemIODC: 44 ephemL2Pflag: 0 ephemSF1Rsvd reserved1: 0 reserved2: 0 reserved3: 0 reserved4: 0 ephemTgd: -43 ephemToc: 29250 ephemAF2: 0 ephemAF1: 19 ephemAF0: 1120966 ephemCrs: -1106 ephemDeltaN: 13772 ephemM0: -699419914 ephemCuc: -952 ephemE: 118602899 ephemCus: 6131 ephemAPowerHalf: 2702017266 ephemToe: 29250 ephemFitFlag: 0 ephemAODA: 31 ephemCic: 199 ephemOmegaA0: 1571318455 ephemCis: 122 ephemI0: 642485765 ephemCrc: 4755 ephemW: -1629536356 ephemOmegaADot: -23010 ephemIDot: 234
  • 43. 43 SUPLサーバ:supl.google.com-9 SMS+データ通信SIMを利用した場合–LGG2mini SUPLPOS例-2 ionosphericModel alfa0: 27 alfa1: 2 alfa2: -2 alfa3: -1 beta0: 65 beta1: -1 beta2: -4 beta3: 3 utcModel utcA1: -3 utcA0: -4 utcTot: 240 utcWNt: 28 utcDeltaTls: 16 utcWNlsf: 159 utcDN: 0 utcDeltaTlsf: 16 almanac alamanacWNa: 20 almanacList: 31 items Item 0 AlmanacElement satelliteID: 0 almanacE: 7445 alamanacToa: 144 almanacKsii: 3147 almanacOmegaDot: -683 almanacSVhealth: 0 almanacAPowerHalf: 10554635 almanacOmega0: 6221907 almanacW: 1145155 almanacM0: -7551246 almanacAF0: 23 almanacAF1: 0(990.5 m) .010 0111 = Confidence(%): 39 . . UTCモデル-> 補正情報-> アルマナック->
  • 44. 44 参考文献 •NTTドコモ, 国際ローミングSUPLによるFOMA位置情報機能の開発―現在地確認機能― •https://www.nttdocomo.co.jp/corporate/technology/rd/technical_journal/bn/vol17_2/006.html •NTTドコモ, スマートフォン端末向け位置提供機能の開発 •https://www.nttdocomo.co.jp/corporate/technology/rd/technical_journal/bn/vol20_2/037.html •GPS初期位置算出時間(TTFF)短縮のための検討, 電子情報通信学会SANE研究会電子航法研究所, July 27, 2007 •http://www.enri.go.jp/%7Esakai/pub/sane0707.ppt •The Open Mobile Alliance, Secure User Plane Location V1.0 •http://technical.openmobilealliance.org/Technical/technical-information/release-program/current-releases/secure-user-plane-location-v1-0 •3GPP TS44.031, Location Services (LCS); Mobile Station (MS) -Serving Mobile Location Centre (SMLC) Radio Resource LCS Protocol (RRLP) •Assisted GPS (AGPS) SUPL client and proxy •http://www.tajuma.com/supl/ •Patch to build supl-proxy and fallback to non-TLS connection •https://gist.github.com/kanru/3713093 •WirelessMoves: How To Trace An A-GPS SUPL Request •http://mobilesociety.typepad.com/mobile_life/2014/09/how-to-trace-an-a-gps-supl-request.html •WirelessMoves: How SUPL Reveals My Identity And Location To Google When I Use GPS •http://mobilesociety.typepad.com/mobile_life/2014/08/supl-reveals-my-identity-and-location-to-google.html •How to create a SuplRootCertfor supl.google.com • Andreas Schneider •https://blog.cryptomilk.org/2012/07/24/how-to-create-a-suplrootcert-for-supl-google-com/ •Understanding GPS: Principles and Applications, Second Edition •GLOBAL POSITIONING SYSTEM STANDARD POSITIONING SERVICE SIGNAL SPECIFICATION •http://www.gps.gov/technical/ps/1995-SPS-signal-specification.pdf •Chapter 3: THE GPS SIGNALS •http://www.gmat.unsw.edu.au/snap/gps/gps_survey/chap3/chap3.htm •A-GPS: Assisted GPS, GNSS, and SBAS, Frank Stephen Tromp Van Diggelen •Assisted GPS -Wikipedia, the free encyclopedia •http://en.wikipedia.org/wiki/Assisted_GPS •When Assistance Becomes Dependence: Characterizing the Costs and Inefficiencies of A-GPS •http://www.cl.cam.ac.uk/~nv240/papers/agps_mc2r.pdf •Security issues with SUPL implementations –rpw •https://rpw.io/slides/rpw-bhus2012-supl.pdf •Android & Symbian Application and OS Concepts: Android GPS Middleware •http://suratechsoft.blogspot.jp/2011/09/android-gps-middleware.html •location/java/com/android/internal/location/GpsLocationProvider.java -platform/frameworks/base -Gitat Google •https://android.googlesource.com/platform/frameworks/base/+/2f3a615feaa1286612576bc15f6bd8cae011301f/location/java/com/android/internal/location/GpsLocationProvider.java •https://android.googlesource.com/platform/hardware/qcom/gps/