主にandroidとかのメモ

Notificationに「アクセス制限が変更されました」と表示されるのは何なのか?

Notificationに「アクセス制限が変更されました」と表示されるのは何なのか?
Xperia SXで通知エリアに何度も表示されたり消えたりしたとの事。

「アクセス制限」という言葉は何でしょう。
一般のユーザ視点で考えると、PCでいうセキュリティソフトの通信制御のようにも感じます。それが勝手に変更されるとは?不安を感じさせるメッセージです。

結論から言うと、業界用語でいう「アクセス」は無線通信を指します。
「制限」はどちらかというと「規制」の意味です。

つまり端末が「無線通信に対する規制」を受けたという事です。
専門用語をそのまま訳してユーザに通知してしまってるようです(–;)

通信事業者側の都合で一時的に規制がかかっただけだと思うので、ユーザ側の対応としてはあまり心配せずに待っていれば良いと思います。

折角のレア状態発生なので、無線側のログを確認します。

adb logcat -b radio

ログを眺めているとまんま日本語で出ている所がありました。


V/RILJ ( 779): [UNSL]< UNSOL_RESTRICTED_STATE_CHANGED {18}

D/GSM ( 779): [GsmSST] setNotification: put notification アクセス制限が変更されました / 音声サービスがブロックされています。

D/GSM ( 779): [GsmSST] onRestrictedStateChanged: X rs Restricted State CS: normal call PS:true

端末がネットワーク側から規制状態の変更通知{18}を受信し、表示しているようです。
そして、CS:normal、PS:trueという規制状態を認識したみたい。

専門用語
CS:回線交換呼(音声、テレビ電話、データ通信64kなど)
PS:パケット呼

「Restricted State CS: normal call PS:true」や{18}はなんでしょう?

androidのソースコードのril.hを見ます。


/* No restriction at all including voice/SMS/USSD/SS/AV64 and packet data. */
#define RIL_RESTRICTED_STATE_NONE 0x00
/* Block emergency call due to restriction. But allow all normal voice/SMS/USSD/SS/AV64. */
#define RIL_RESTRICTED_STATE_CS_EMERGENCY 0x01
/* Block all normal voice/SMS/USSD/SS/AV64 due to restriction. Only Emergency call allowed. */
#define RIL_RESTRICTED_STATE_CS_NORMAL 0x02
/* Block all voice/SMS/USSD/SS/AV64 including emergency call due to restriction.*/
#define RIL_RESTRICTED_STATE_CS_ALL 0x04
/* Block packet data access due to restriction. */
#define RIL_RESTRICTED_STATE_PS_ALL 0x10

PS規制は1種類の規制しかなく、CS規制は3種類あるのですね。

{18}は16進数0x12=RIL_RESTRICTED_STATE_CS_NORMAL | RIL_RESTRICTED_STATE_PS_ALL
で、CS-noral規制とPS全規制がかかっていると。
#CS_NORMALとCS_ALLの違いがぱっと見分かりませんが

ログの「Restricted State CS: normal call PS:true」とも一致しますね。

色々教えてくれた@MichiTsuchidaに感謝!

追記:
事象の出ていた本日1時過ぎについて、神奈川県の工事情報が出ていました。
神奈川県:1月19日(土曜) 午前1時~午前6時のうち 5分~10分 音声およびパケット通信がご利用いただけなくなります。
今回の原因はこれですね。

docomo工事のお知らせ
http://www.nttdocomo.co.jp/info/construction/