知乎日報:運營商是怎樣判斷用户是關機還是不在服務區的?
一般對於網絡(主要是指核心網)來説,手機可以認為只有兩種大的狀態,即 attach(附着)和 detach(去附着)。
如果是用户自己按下電源鍵關機或者手機知道自己快沒電即將自動關機的時候,此時手機會發起 IMSI detach operation 流程,告知網絡(主要是告知 MSC/VLR,再由 MSC/VLR 告知給 HLR)要關機了,然後網絡側將此用户標記為關機狀態。此時如果有針對這個 IMSI 號碼的呼叫,直接回復“您撥打的用户已關機”就行了,以便節省尋呼資源。大致的 IMSI detach 説明和流程可以參見 3GPP TS23.012 或者此方面的書籍。
而如果是用户突然把電池給拔了,那手機來不及發起 IMSI detach operation 流程,網絡側還是會認為手機處於 attach 狀態。而在手機沒電池這段時間有針對這部手機的呼叫,可是網絡尋呼了老半天(其實也就幾秒鐘)卻完全聽不到手機的回應,那麼此時就會回覆主叫用户類似“您撥打的用户暫時無法接通”這樣的語音。
再假設手機一直沒上電,可是網絡側又不知道手機究竟是個什麼情況,是被綁架了還是卡機了?還是所處的地方信號太差導致網絡沒收到手機的尋呼響應?如果手機君直接被撕票了,那無論如何再怎麼尋呼也尋呼不到,而且還浪費了尋呼資源。對此情景的一個應對方法就是設置一個週期性位置更新定時器(比如 3GPP TS24.008 中定義的 T3212 定時器),手機通過網絡下發的這個定時器來定時的上報自己的位置信息,讓網絡知道自己還活着的同時還更新了自己的位置信息,便於網絡尋呼。而如果超出了這個定時器時間,而手機卻沒有上報位置更新信息,那麼網絡則將手機置於 Implicit IMSI detach 狀態(3GPP TS23.012),此時有針對此用户的尋呼,則不再浪費尋呼資源,直接回復“您所撥打的用户已關機”。一般現網中的週期性位置更新定時器設置為 30 分鐘到 1 個小時左右。
上述討論的都是一些比較簡單的情況,實際上移動性管理裏,手機在網絡側的標記中還會有更多的狀態和多個定時器設置,感興趣且想深入瞭解可以參閲 3GPP 規範或者此方面的書籍。