1. 程式人生 > >5-AT命令互動之-APN

5-AT命令互動之-APN

APN指一種網路接入技術,是通過手機上網時必須配置的一個引數,它決定了手機通過哪種接入方式來訪問網路。

對於APN在運營商上面的具體使用過程可能要查專門的資訊。

百科對APN的使用過程有以下例項:

GPRS專網系統終端上網登入伺服器平臺的流程為:
1)使用者發出GPRS登入請求,請求中包括由運營商為GPRS專網系統專門分配的專網APN;
2)根據請求中的APN,SGSN向DNS伺服器發出查詢請求,找到與企業伺服器平臺連線的GGSN,並將使用者請求通過GTP隧道封裝送給GGSN;
3)GGSN將使用者認證資訊(包括手機號碼、使用者賬號、密碼等)通過專線送至Radius進行認證;
4)Radius認證伺服器看到手機號等認證資訊,確認是合法使用者發來的請求,向DHCP伺服器請求分配使用者地址;
5)Radius認證通過後,由Radius向GGSN傳送攜帶使用者地址的確認資訊;
6)使用者得到了IP地址,就可以攜帶資料包,對GPRS專網系統資訊查詢和業務處理平臺進行訪問。

在我們使用模組上網時,一般在查詢到IMSI之後就要設定APN了,對於APN的設定有很多AT介面可以設定,下面以移遠的和SimCom的模組進行舉例

移遠模組

1.AT+CGDCONT 定義 PDP 上下文

AT+CGDCONT=1,"IP","apn"
<cid>  1~3  數值型引數;用於指定 PDP 上下文標識。該引數對 TE-MT 介面而言是本地引數,
並且可用於其他 PDP 上下文相關命令
<PDP_type> “IP”  (分組資料協議型別)字元型引數;用於指定分組資料協議的型別。僅支援”IP”,
網際網路協議 IP(Internet Protocol)(IETF STD5)
<APN>  接入點名稱;表示一個字串引數,用於選擇 GGSN 或外部分組資料網路的邏輯名稱。若
該引數取值為空或省略,則需要請求籤約值
<PDP_addr> 字元型引數;用於表示對於特定 PDP 上下文,MT 分配的地址空間。若該引數取值為空或
省略,則 TE 在 PDP 啟動過程中提供其他取值;若不能提供其他取值,則需要請求動態地
址。即便在 PDP 啟動過程中已分配地址,該命令的讀出形式仍繼續返回為空。使用
AT+CGPADDR 命令,可讀出該分配地址
<d_comp> 關閉(若取值省略,則該引數為預設值);數值型引數;用於控制 PDP 資料壓縮
<h_comp>  關閉(若取值省略,則該引數為預設值);數值型引數;用於控制 PDP 頭

2.AT+QICSGP 設定 CSD 或 或 GPRS

AT+QICSGP=1,"apn","username","passward"
<mode> 數字引數;表明無線連線模式
0  CSD 連線
1  GPRS 連線

GPRS 連線配置的引數說明:
<apn> 字串引數;表明接入點名稱
<user name>  字串引數;表明使用者名稱
<password> 字串引數;表明使用者密碼

<dial number> 字串引數;表明 CSD 號碼
<user name>  字串引數;表明 CSD 連線使用者名稱
<password> 字串引數;表明 CSD 連線使用者密碼
<rate> 數字引數;表明 CSD 連線速率
0  2400
1  4800
2  9600(預設值)
3  14400

3.AT+QIREGAPP 啟動任務並設定接入點 APN 、使用者名稱和密碼

AT+QIREGAPP="apn","username","passward"
<apn> 字串引數;表明 GPRS/CSD 接入點名稱
<user name>  字串引數;表明 GPRS/CSD 接入點使用者名稱
<password> 字串引數;表明 GPRS/CSD 接入點使用者密碼
<rate> 表明 CSD 資料傳輸速率```

SimCom模組

AT+CGDCONT 定義 PDP 上下文

AT+CGDCONT=1,"IP","apn"
<cid>  1~3  數值型引數;用於指定 PDP 上下文標識。該引數對 TE-MT 介面而言是本地引數,
並且可用於其他 PDP 上下文相關命令
<PDP_type> “IP”  (分組資料協議型別)字元型引數;用於指定分組資料協議的型別。僅支援”IP”,
網際網路協議 IP(Internet Protocol)(IETF STD5)
<APN>  接入點名稱;表示一個字串引數,用於選擇 GGSN 或外部分組資料網路的邏輯名稱。若
該引數取值為空或省略,則需要請求籤約值
<PDP_addr> 字元型引數;用於表示對於特定 PDP 上下文,MT 分配的地址空間。若該引數取值為空或
省略,則 TE 在 PDP 啟動過程中提供其他取值;若不能提供其他取值,則需要請求動態地
址。即便在 PDP 啟動過程中已分配地址,該命令的讀出形式仍繼續返回為空。使用
AT+CGPADDR 命令,可讀出該分配地址
<d_comp> 關閉(若取值省略,則該引數為預設值);數值型引數;用於控制 PDP 資料壓縮
<h_comp>  關閉(若取值省略,則該引數為預設值);數值型引數;用於控制 PDP 頭

AT+CIPCSGP 設定 CSD 或 或 GPRS

AT+CIPCSGP=1,"apn","username","passward"
<mode> 數字引數;表明無線連線模式
0  CSD 連線
1  GPRS 連線

GPRS 連線配置的引數說明:
<apn> 字串引數;表明接入點名稱
<user name>  字串引數;表明使用者名稱
<password> 字串引數;表明使用者密碼

<dial number> 字串引數;表明 CSD 號碼
<user name>  字串引數;表明 CSD 連線使用者名稱
<password> 字串引數;表明 CSD 連線使用者密碼
<rate> 數字引數;表明 CSD 連線速率
0  2400
1  4800
2  9600(預設值)
3  14400

AT+CSTT 啟動任務並設定接入點 APN 、使用者名稱和密碼

AT+QIREGAPP="apn","username","passward"
<apn> 字串引數;表明 GPRS 接入點名稱
<user name>  字串引數;表明 GPRS 接入點使用者名稱
<password> 字串引數;表明 GPRS 接入點使用者密碼

Android系統

對於Android系統APN的設定必須要有接入點號碼MCC+MNC,接入點名稱APN,呼叫介面設定完是存在apn的資料庫裡面。

當前使用的apn,adb pull /data/data/com.android.providers.telephony/shared_prefs/preferred-apn.xml

預設的apn,adb pull /system/etc/apns-conf.xml

全部apn資料庫,adb pull /data/data/com.android.providers.telephony/databases/telephony.db

用SQLiteSpy.exe檢視db檔案 file -> open database -> carriers

在/system/etc/apns-conf.xml 中新增 對應302720 這條apn 記錄,然後push 進去, 刪除 telephony.db 這個資料庫,重啟測一下

45412:cmhk
46000,46002:cmnet
46001:3gnet
46003:ctlte
46011:ctnet
46004:cmiot
45407:3gnet
23410:giffgaff.com
52505:sct
45403:mb

APN		使用者名稱	密碼	IMSI前位
Internet	空	空	52003
cmhk		空	空	45412
m-wap		mms	mms	45201
celcom3g	空	空	50219
indosatgprs	空	空	51001
Telkomsel	空	空	51010
MCC
202, "Greece",   "GR", "希臘" 
204, "Netherlands, The", "NL", "荷蘭" 
206, "Belgium",  "BE", "比利時" 
208, "France",  "FR", "法國" 
213, "Andorra",  "AD", "安道爾共和國" 
214, "Spain",  "ES", "西班牙" 
216, "Hungary",  "HU", "匈牙利" 
218, "Bosnia and Herzegovina", "BA", "" 
219, "Croatia",  "HR", "克羅埃西亞" 
220, "Serbia and Montenegro", "CS", "塞爾維亞和黑山" 
222, "Italy",  "IT", "義大利" 
226, "Romania",  "RO", "羅馬尼亞" 
228, "Switzerland", "CH", "瑞士" 
230, "Czech Republic", "CZ", "捷克" 
231, "Slovakia", "SK", "斯洛伐克" 
232, "Austria",  "AT", "奧地利" 
234, "United Kingdom", "GB", "英國" 
238, "Denmark",  "DK", "丹麥" 
240, "Sweden",  "SE", "瑞典" 
242, "Norway",  "NO", "挪威" 
244, "Finland",  "FI", "芬蘭" 
246, "Lithuania", "LT", "立陶宛" 
247, "Latvia",  "LV", "拉脫維亞" 
248, "Estonia",  "EE", "愛沙尼亞" 
250, "Russia",  "RU", "俄羅斯" 
255, "Ukraine",  "UA", "烏克蘭" 
257, "Belarus",  "BY", "" 
259, "Moldova",  "MD", "" 
260, "Poland",  "PL", "波蘭" 
262, "Germany",  "DE", "德國" 
266, "Gibraltar", "GI", "直布羅陀" 
268, "Portugal", "PT", "葡萄牙" 
270, "Luxembourg", "LU", "盧森堡" 
272, "Ireland",  "IE", "愛爾蘭" 
274, "Iceland",  "IS", "冰島" 
276, "Albania",  "AL", "阿爾巴尼亞" 
278, "Malta",  "MT", "馬耳他" 
280, "Cyprus",  "CY", "塞普勒斯" 
282, "Georgia",  "GE", "喬治亞州" 
283, "Armenia",  "AM", "亞美尼亞" 
284, "Bulgaria", "BG", "保加利亞" 
286, "Turkey",  "TR", "土耳其" 
288, "Faroe Islands", "FO", "" 
290, "Greenland", "GL", "格陵蘭島" 
293, "Slovenia", "SI", "斯洛維尼亞" 
294, "Macedonia, Former Yugoslav Republic of","MK", "" 
295, "Liechtenstein", "LI", "" 
302, "Canada",  "CA", "加拿大" 
310, "United States", "US", "美國" 
334, "Mexico",  "MX", "墨西哥" 
338, "Jamaica",  "JM", "牙買加" 
340, "French West Indies", "FW", "" 
342, "Barbados", "BB", "" 
344, "Antigua and Barbuda", "AG", "" 
346, "Cayman Islands", "KY", "" 
350, "Bermuda",  "BM", "百慕大" 
352, "Grenada",  "GD", "" 
362, "Netherlands Antillies", "AN", "" 
363, "Aruba",  "AW", "" 
368, "Cuba",  "CU", "古巴" 
370, "Dominican Republic", "DO", "" 
374, "Trinidad and Tobago", "TT", "" 
400, "Azerbaijan", "AZ", "" 
401, "Kazakhstan", "KZ", "哈薩克" 
402, "Bhutan",  "BT", "不丹" 
404, "India",  "IN", "印度" 
410, "Pakistan", "PK", "巴基斯坦" 
412, "Afghanistan", "AF", "阿富汗" 
413, "Sri Lanka", "LK", "" 
414, "Myanmar",  "MM", "緬甸" 
415, "Lebanon",  "LB", "黎巴嫩" 
416, "Jordan",  "JO", "約旦" 
417, "Syria",  "SY", "敘利亞" 
418, "Iraq",  "IQ", "伊拉克" 
419, "Kuwait",  "KW", "科威特" 
420, "Saudi Arabia", "SA", "" 
421, "Yemen",  "YE", "葉門" 
422, "Oman",  "OM", "阿曼" 
424, "United Arab Emirates","UAE", "阿拉伯聯合大公國" 
425, "Israel",  "IL", "以色列" 
426, "Bahrain",  "BH", "巴林島" 
427, "Qatar",  "QA", "卡達" 
428, "Mongolia", "MN", "蒙古" 
429, "Nepal",  "NP", "尼泊爾" 
432, "Iran",  "IR", "伊朗" 
434, "Uzbekistan", "UZ", "烏茲別克" 
437, "Kyrgyzstan", "KG", "" 
438, "Turkmenistan","TM", "土庫曼" 
440, "Japan","JP",日本
452, "Vietnam",  "VN", "越南" 
454, "Hong Kong", "HK", "香港" 
456, "Cambodia", "KH", "柬埔寨" 
457, "Laos",  "LA", "寮國" 
460, "China",  "CN", "中國" 
466, "Taiwan",  "TW", "臺灣" 
467, "North Korea", "KP", "南韓" 
470, "Bangladesh", "BD", "孟加拉國" 
472, "Maldives", "MV", "馬爾地夫" 
502, "Malaysia", "MY", "馬來西亞" 
505, "Australia", "AU", "澳大利亞" 
510, "Indonesia", "ID", "印尼" 
515, "Philippines", "PH", "菲律賓" 
520, "Thailand", "TH", "泰國" 
525, "Singapore", "SG", "新加坡" 
528, "Brunei",  "BN", "汶萊" 
530, "New Zealand", "NZ", "" 
539, "Tonga",  "TO", "東加" 
541, "Vanuatu",  "VU", "" 
542, "Fiji Islands","FJ", "" 
544, "American Samoa", "AS", "薩摩亞"  
546, "New Caledonia","NC", "" 
547, "French Polynesia","PF", "波利尼西亞"  
550, "Micronesia", "FM", "" 
602, "Egypt",  "EG", "埃及" 
603, "Algeria",  "DZ", "阿爾及利亞" 
604, "Morocco",  "MA", "摩洛哥" 
605, "Tunisia",  "TN", "突尼西亞" 
607, "Gambia, The", "GM", "甘比亞" 
608, "Senegal",  "SN", "塞內加爾" 
609, "Mauritania", "MR", "" 
610, "Mali",  "ML", "馬裡" 
611, "Guinea",  "GN", "幾內亞" 
612, "C?te d’Ivoire", "CI", "" 
613, "Burkina Faso", "BF", "" 
614, "Niger",  "NE", "" 
615, "Togo",  "TG", "多哥" 
616, "Benin",  "BJ", "貝南" 
617, "Mauritius", "MU", "模里西斯" 
618, "Liberia",  "LR", "賴比瑞亞" 
620, "Ghana",  "GH", "迦納" 
621, "Nigeria",  "NG", "奈及利亞" 
622, "Chad",  "TD", "查德" 
623, "Central African Republic","CF", "中非" 
624, "Cameroon", "CM", "喀麥隆" 
625, "Cape Verde", "CV", "" 
626, "S?o Tomé and Príncipe", "ST", "" 
627, "Equatorial Guinea", "GQ", "" 
628, "Gabon",  "GA", "加彭" 
629, "Congo",  "CG", "剛果" 
630, "Congo (DRC)", "CD", "剛果" 
631, "Angola",  "AO", "安哥拉" 
633, "Seychelles", "SC", "" 
634, "Mozambique", "MZ", "莫三比克" 
634, "Sudan",  "SD", "蘇丹" 
635, "Rwanda",  "RW", "盧安達" 
636, "Ethiopia", "ET", "衣索比亞" 
637, "Somalia",  "SO", "索馬利亞" 
639, "Kenya",  "KE", "肯亞" 
640, "Tanzania", "TZ", "坦尚尼亞" 
641, "Uganda",  "UG", "烏干達" 
642, "Burundi",  "BI", "蒲隆地" 
646, "Madagascar", "MG", "馬達加斯加" 
647, "Reunion",  "RE", "" 
648, "Zimbabwe", "ZW", "辛巴威" 
649, "Namibia",  "NA", "納米比亞" 
650, "Malawi",  "MW", "馬拉維" 
651, "Lesotho",  "LS", "" 
652, "Botswana", "BW", "" 
653, "Swaziland", "SZ", "" 
654, "Zambia",  "ZM", "尚比亞" 
655, "South Africa","ZA", "南非" 
702, "Belize",  "BZ", "" 
706, "El Salvador", "SV", "" 
710, "Nicaragua", "NI", "尼加拉瓜" 
712, "Costa Rica", "CR", "" 
716, "Peru",  "PE", "祕魯" 
722, "Argentina", "AR", "阿根廷" 
724, "Brazil",  "BR", "巴西" 
730, "Chile",  "CL", "智利" 
734, "Venezuela", "VE", "委內瑞拉" 
736, "Bolivia",  "BO", "玻利維亞" 
744, "Paraguay", "PY", "巴拉圭" 
746, "Suriname", "SR", ""