硬核科普!攜號(hào)轉(zhuǎn)網(wǎng)的技術(shù)原理分析!
11月11日,工信部發(fā)布《攜號(hào)轉(zhuǎn)網(wǎng)服務(wù)管理規(guī)定》,標(biāo)志著國(guó)內(nèi)三大運(yùn)營(yíng)商的“攜號(hào)轉(zhuǎn)網(wǎng)”業(yè)務(wù)正式進(jìn)入試運(yùn)行階段。
根據(jù)規(guī)劃,從12月1日開(kāi)始,“攜號(hào)轉(zhuǎn)網(wǎng)”業(yè)務(wù)將在全國(guó)范圍內(nèi)正式推出。
這幾天,關(guān)于“攜號(hào)轉(zhuǎn)網(wǎng)”的新聞反復(fù)刷屏,相信大家都看到了。
小棗君今天也來(lái)湊個(gè)熱鬧,和大家聊聊“攜號(hào)轉(zhuǎn)網(wǎng)”。
不過(guò),我要說(shuō)的不是“攜號(hào)轉(zhuǎn)網(wǎng)”的業(yè)務(wù)辦理,而是更深層次的內(nèi)容——“攜號(hào)轉(zhuǎn)網(wǎng)”的技術(shù)原理。
我想通過(guò)這篇文章,幫助大家了解這項(xiàng)特殊業(yè)務(wù)背后的具體實(shí)現(xiàn)方式。更重要的是,趁機(jī)介紹一下關(guān)于移動(dòng)通信用戶號(hào)碼和呼叫流程方面的知識(shí)。
好啦,廢話不多說(shuō),我們趕緊開(kāi)始!
首先,我先解釋一下,到底什么是“攜號(hào)轉(zhuǎn)網(wǎng)”。
“攜號(hào)轉(zhuǎn)網(wǎng)”,顧名思義,就是帶著號(hào)碼換網(wǎng)絡(luò)。
舉個(gè)例子:你現(xiàn)在是139開(kāi)頭的中國(guó)移動(dòng)號(hào)碼,辦理“攜號(hào)轉(zhuǎn)網(wǎng)”之后,號(hào)碼保持不變,但運(yùn)營(yíng)商歸屬關(guān)系變了——變成了電信或聯(lián)通的了。你使用的網(wǎng)絡(luò)和套餐,也變成電信或聯(lián)通的。這種電信業(yè)務(wù),就是“攜號(hào)轉(zhuǎn)網(wǎng)”。
行業(yè)術(shù)語(yǔ)里,“攜號(hào)轉(zhuǎn)網(wǎng)”的真正名字應(yīng)該叫做“號(hào)碼攜帶”,或者“號(hào)碼可攜帶”。
這個(gè)業(yè)務(wù)從表面上看并不復(fù)雜,就是換個(gè)運(yùn)營(yíng)商,然后號(hào)碼帶著走。
但是實(shí)際上,對(duì)于移動(dòng)通信系統(tǒng)來(lái)說(shuō),實(shí)現(xiàn)起來(lái)并不容易。
我們的手機(jī)號(hào),實(shí)際上有兩個(gè),分別是IMSI和MDN。
IMSI的全名是International Mobile Subscriber Identity,國(guó)際移動(dòng)用戶識(shí)別碼。它是一種“永久用戶標(biāo)識(shí)”,每一個(gè)手機(jī)SIM卡,對(duì)應(yīng)一個(gè)IMSI號(hào)碼。
IMSI號(hào)碼由三部分組成,分別是:
- MCC (Mobile Country Code) 移動(dòng)國(guó)家碼
- MNC (Mobile Network Code) 移動(dòng)網(wǎng)絡(luò)碼
- MSIN (Mobile Subscriber Identity) 移動(dòng)用戶識(shí)別碼
MCC是3位數(shù)字(中國(guó)是460),MNC是2-3位數(shù)字,MSIN是10-11位數(shù)字。加起來(lái)的IMSI,一般不超過(guò)15位,通常就是15位(例如我們國(guó)家)。
大家在手機(jī)撥號(hào)界面,輸入 *#*#4636#*#* ,就可以看到自己的IMSI號(hào)碼。
大家注意,除了IMSI號(hào)碼之外,還有一個(gè)IMEI號(hào)碼,兩者不要搞混了。
IMEI是International Mobile Equipment Identity,國(guó)際移動(dòng)設(shè)備識(shí)別碼(大約15-17位數(shù)字)。也就是常說(shuō)的手機(jī)序列號(hào)(手機(jī)串號(hào)),是每個(gè)手機(jī)硬件的“身份證”(2個(gè)卡槽就有2個(gè)IMEI號(hào)碼)。
那我們平時(shí)使用的139、153、189開(kāi)頭的號(hào)碼,又是什么呢?
這些號(hào)碼,真正的學(xué)名叫MDN,Mobile Directory Number(移動(dòng)用戶號(hào)碼簿號(hào)碼)。
MDN由國(guó)家碼(CC)、移動(dòng)接入號(hào)(MAC)、HLR識(shí)別碼、移動(dòng)用戶號(hào)共同組成。
介紹了這個(gè)碼那個(gè)碼,大家沒(méi)有暈掉吧?
沒(méi)暈的話,我們繼續(xù)!
說(shuō)到這里,大家其實(shí)應(yīng)該也明白了。所謂“號(hào)碼攜帶”,不變的是MDN號(hào)碼,變化的是IMSI號(hào)碼。而IMSI,才是你的“真正”號(hào)碼。
說(shuō)完了號(hào)碼,我們?cè)賮?lái)說(shuō)說(shuō)網(wǎng)絡(luò)側(cè)這邊的處理。
目前我們使用的移動(dòng)通信業(yè)務(wù),其實(shí)主要就是通話、短信、上網(wǎng)。
大家都知道,上網(wǎng)是單個(gè)用戶的事情。某用戶手機(jī)發(fā)起數(shù)據(jù)業(yè)務(wù)請(qǐng)求,獲得IP等資源,然后連入運(yùn)營(yíng)商網(wǎng)絡(luò),訪問(wèn)互聯(lián)網(wǎng)。
只要你的IMSI合法,業(yè)務(wù)正常開(kāi)通,沒(méi)有欠費(fèi),就可以上網(wǎng)。
但是通話和短信就不一樣了,這是兩個(gè)用戶之間的業(yè)務(wù),存在“主叫”和“被叫”。
主叫用戶沒(méi)什么大問(wèn)題,反正自己的號(hào)碼就是一個(gè)編號(hào)而已。但是被叫那邊,麻煩就來(lái)了——號(hào)碼就像門牌,別人通過(guò)門牌找你,你搬家把門牌都帶走了,這咋整?
我們先看看,以前沒(méi)有號(hào)碼攜帶業(yè)務(wù)的時(shí)候,一次正常通話的過(guò)程是怎樣的:
(注:為了便于理解,呼叫流程描述有所簡(jiǎn)略。)
假設(shè)主叫用戶A是中國(guó)移動(dòng)139開(kāi)頭的號(hào)碼。
當(dāng)他撥打被叫號(hào)碼的時(shí)候,它所在的本地局核心網(wǎng)設(shè)備(MSC,移動(dòng)交換中心),會(huì)根據(jù)設(shè)計(jì)好的規(guī)則,對(duì)被叫號(hào)碼進(jìn)行“號(hào)碼分析”。
按照之前的設(shè)計(jì),如果撥打的是138開(kāi)頭的號(hào)碼,那MSC就會(huì)分析為中國(guó)移動(dòng)的號(hào)碼,按運(yùn)營(yíng)商內(nèi)部呼叫的流程處理。(具體來(lái)說(shuō),MSC會(huì)去中國(guó)移動(dòng)自己的HLR,問(wèn)被叫的位置,然后一路找過(guò)去。HLR是歸屬位置寄存器,存儲(chǔ)著中國(guó)移動(dòng)用戶的數(shù)據(jù)和信息。)
如果被叫是“自家人”
如果撥打的是185開(kāi)頭的聯(lián)通號(hào)碼,本地局設(shè)備則會(huì)分析為“它網(wǎng)號(hào)碼”,會(huì)路由到運(yùn)營(yíng)商之間的關(guān)口局,然后送到聯(lián)通那邊,查找被叫,一路最終完成電話接續(xù)。
如果被叫是“別人家的”
如果撥打的是185開(kāi)頭的聯(lián)通號(hào)碼,本地局設(shè)備則會(huì)分析為“它網(wǎng)號(hào)碼”,會(huì)路由到運(yùn)營(yíng)商之間的關(guān)口局,然后送到聯(lián)通那邊,查找被叫,一路最終完成電話接續(xù)。
現(xiàn)在,要搞號(hào)碼攜帶了,麻煩來(lái)了。
還是舉例,139開(kāi)頭的A,撥打138開(kāi)頭的B。B是辦理了號(hào)碼攜帶的用戶,號(hào)碼雖然是138開(kāi)頭,但不能按中國(guó)移動(dòng)內(nèi)部呼叫的流程處理,否則就會(huì)送錯(cuò)了目的地。
中國(guó)移動(dòng)的MSC,必須把B號(hào)碼當(dāng)作特例,單獨(dú)處理。
如果只有一個(gè)特例,那還好說(shuō),問(wèn)題是,這個(gè)業(yè)務(wù)面向全國(guó)用戶開(kāi)放,會(huì)有成千上萬(wàn)個(gè)特例。這樣的話,號(hào)碼分析就會(huì)變得非常龐大,對(duì)系統(tǒng)容量造成負(fù)擔(dān)。
所以,在我們國(guó)家現(xiàn)在的網(wǎng)絡(luò)里,采取的方案是這樣的:
如果某個(gè)被叫號(hào)碼辦理了號(hào)碼攜帶業(yè)務(wù)(例如,從移動(dòng)跳到了聯(lián)通)。
那么,移動(dòng)的HLR會(huì)對(duì)已攜出的號(hào)碼加一個(gè)特殊前綴數(shù)字,返回給主叫MSC,告訴它這個(gè)號(hào)碼已經(jīng)不是我們的了。
主叫這邊的中國(guó)移動(dòng)MSC會(huì)對(duì)前綴號(hào)碼進(jìn)行特殊處理,直接按其它運(yùn)營(yíng)商號(hào)碼處理。
如果是這個(gè)號(hào)碼是聯(lián)通跳到移動(dòng)的:
運(yùn)營(yíng)商會(huì)先新增一個(gè)NP-HLR,也就是號(hào)碼攜帶HLR,把所有攜入號(hào)碼都放在這個(gè)HLR里。主叫MSC會(huì)針對(duì)“所有其它運(yùn)營(yíng)商號(hào)段的被叫號(hào)碼”,都先查一遍NP-HLR。
如果是攜入號(hào)碼,則按自己的號(hào)碼處理,去查自家的HLR。
如果是非攜入號(hào)碼(也就是別人正常的號(hào)碼),則再去查一遍別人家的HLR。
總而言之,相當(dāng)于查兩遍HLR。
上面的解決方案,雖然流程復(fù)雜了一些,但是速度很快,用戶感知不受任何影響。
這就是我們國(guó)家現(xiàn)在使用的號(hào)碼攜帶實(shí)施方案。大家看懂了沒(méi)?
哈哈,能堅(jiān)持看下來(lái)的,都是猛士,小棗君免費(fèi)推薦核心網(wǎng)工程師o(wú)ffer!
最后再做個(gè)總結(jié)。
攜號(hào)轉(zhuǎn)網(wǎng)業(yè)務(wù),對(duì)于普通用戶來(lái)說(shuō),毫無(wú)疑問(wèn)是件好事,畢竟增加了議價(jià)權(quán),也增加了自主選擇權(quán)。
但是,站在通信工程師的角度來(lái)說(shuō),這個(gè)業(yè)務(wù)增加了一些小困難和小麻煩——我們?cè)谔幚砉收蠒r(shí),無(wú)法再像之前一樣,通過(guò)號(hào)段來(lái)迅速判斷投訴者的用戶屬性。而不同的用戶屬性,意味著完全不同的故障處理流程和思路。
也就是說(shuō),號(hào)碼攜帶業(yè)務(wù)的普及,將會(huì)“略微”增加通信工程師處理故障的難度,以及故障恢復(fù)的時(shí)間。