自动APN说明
一、背景¶
部分海外网络需要在注册时带上APN信息,才能注册成功。为了用户使用方便,AT版本从R4.1.0开始,部分版本支持自动APN。该功能是根据用户使用的SIM卡,自动匹配对应的APN,省去了用户手动配置APN的麻烦。可以做到插卡就用,国内和大部分海外网络,读到这里就可以了,不需要继续看下面的专业内容。下面内容只针对一些很特殊的网络网络环境,需要再配置新的APN或者想了解一些细节的,可以继续看下去。
1.1 专业术语¶
| 术语 | 解释 |
|---|---|
| MCC | Mobile Country Code,移动国家代码,用于唯一标识一个移动国家。可通过网站www.mcc-mnc.com查询对应码 |
| MNC | Mobile Network Code,移动网络代码,用于唯一标识一个移动网络。可通过网站www.mcc-mnc.com查询对应码 |
| APN | Access Point Name,访问点名称,注册网络或者激活Bearer时需要使用 |
| Bearer | LTE核心网(EPC)UE和PDN-GW(P-GW)之间的逻辑通道,用于数据通信,一般也说是PDP或者承载 |
| ATTACH | LTE注网 |
| UE | User Equipment,用户终端设备,这里指的就是模组。 |
1.2 功能描述¶
本文中描述的内置APN功能,只是针对LTE ATTACH流程中用到的APN信息,包括:
- apn
- username
- password
- auth_type
- ip_type
以上信息为LTE ATTACH流程中ESM_INFORMATION_RESPONSE消息会携带的参数。并不是激活第二路Bearer时需要的参数,需要注意区分。
协议消息大致内容如下:
ESM_INFORMATION_RESPONSENon-Access-Stratum (NAS)PDU
0000 .... = EPS bearer identity: No EPS bearer identity assigned (0)
.... 0010 = Protocol discriminator: EPS session management messages (0x2)
Procedure transaction identity: 1
NAS EPS session management messages: ESM information response (0xda)
Access Point Name
Element ID: 0x28
Length: 11
APN: cmnet ##########携带的APN信息
....
sequenceDiagram
participant UE
participant Network as 网络侧(MME)
Note over UE,Network: UE附着流程 - NAS消息交互视图
UE->>Network: 1. Attach Request
Note right of Network: 可能缺少APN等ESM信息
alt 如果UE未提供完整ESM信息
Network->>UE: 2. ESM Information Request
UE->>Network: 3. ESM Information Response
Note left of UE: 提供APN, PDN类型等
end
Network->>UE: 4. Authentication Request
UE->>Network: 5. Authentication Response
Network->>UE: 6. Security Mode Command
UE->>Network: 7. Security Mode Complete
Network->>UE: 8. Attach Accept +<br/>Activate Default EPS Bearer Context Request
Note left of UE: 包含分配的IP地址
UE->>Network: 9. Attach Complete +<br/>Activate Default EPS Bearer Context Accept
Note over UE,Network: 默认承载建立完成<br/>UE进入已注册状态
二、使用说明¶
一般情况下,用户只需要确认使用版本已经支持内置APN功能,就可以直接使用,无需做额外配置。目前已经支持的AT版本包括:X09C_AT.S61、X09C_AT.S80、X09C_AT.U60、X09S_AT、W09C_AT版本,具体可以查看:AT普通版本差异表。如需查看已经支持APN列表,使用AT+CAUTOAPN=2,mcc[,<mnc>]命令:
查询对应国家码的APN列表
AT+CAUTOAPN=2,302
+CAUTOAPN: 302,220,"sp.telus.com","","",0,1
+CAUTOAPN: 302,270,"wisp.mobi.eastlink.ca","","",0,3
+CAUTOAPN: 302,370,"sp.mts","","",0,3
+CAUTOAPN: 302,490,"internet.windmobile.ca","","",0,3
+CAUTOAPN: 302,500,"media.ng","","",0,3
+CAUTOAPN: 302,520,"media.ng","","",0,3
+CAUTOAPN: 302,610,"pda.bell.ca","","",0,1
+CAUTOAPN: 302,720,"ltemobile.apn","","",0,3
+CAUTOAPN: 302,780,"pda.stm.sk.ca","","",0,3
OK
或查询指定运营商的APN列表
AT+CAUTOAPN=2,302,270
+CAUTOAPN: 302,270,"wisp.mobi.eastlink.ca","","",0,3
OK
2.1、关闭自动APN¶
如果用户不希望使用自动APN功能,可以使用AT+CAUTOAPN=0命令关闭内置APN功能。
2.2、替换自动APN¶
如果自动APN列表无法满足要求,可以通过AT+CPNETAPN=2,apn,username,password,auth_type,ip_type命令设置当前APN。由于空间限制,目前还不支持根据运营商进行逐个替换,一旦使用该指令,系统将关闭自动APN,不管什么网络环境,都会使用用户设置的APN信息。
三、相关AT指令描述¶
3.1 AT+CAUTOAPN¶
该命令可以设置或查询UE的自动APN功能。
| 命令 | 响应 |
|---|---|
| 使能内置APN命令 AT+CAUTOAPN=<enable> |
正常: OK 如果发生错误: +CME ERROR: <err> |
| 查询内置APN命令 AT+CAUTOAPN=2,<mcc>[,<mnc>] |
正常: +CAUTOAPN: <mcc>,<mnc>,<apn>,<username>,<password>,<auth_type>,<ip_type> ... OK 如果发生错误: +CME ERROR: <err> |
| 查询命令 AT+CAUTOAPN? |
正常: +CAUTOAPN: <enable>[,<mcc>,<mnc>,<apn>,<username>,<password>,<auth_type>,<ip_type>] OK 如果发生错误: +CME ERROR: <err> |
| 最大响应时间 | 5s |
| 参数保存模式 | 自动保存,重启生效 |
- 参数定义:
| 参数 | 解释 |
|---|---|
| enable | 使能内置APN功能: 0:关闭, 1:使能(默认值) |
| mcc | 移动国家码 |
| mnc | 移动网络码 |
| apn | 访问点名称,注册网络或者激活Bearer时需要使用 |
| username | 用户名,用于APN认证 |
| password | 密码,用于APN认证 |
| auth_type | 认证类型: 0:无认证, 1: PAP认证, 2: CHAP认证 3:CHAP_PAP认证 |
| ip_type | IP类型: 1:IPv4, 2:IPv6, 3:IPv4v6 |
3.2 AT+CPNETAPN¶
该命令可以查询或设置UE的APN信息。
| 命令 | 响应 |
|---|---|
| 设置当前APN(mode=2): AT+CPNETAPN=2,<apn>,<username>,<password>,<auth_type>[,<ip_type>] |
正常: OK 如果发生错误: +CME ERROR: <err> |
| 清空当前APN(mode=3): AT+CPNETAPN=3 |
正常: OK 如果发生错误: +CME ERROR: <err> |
| 查询当前APN: AT+CPNETAPN? |
正常: MODE:<mode> APN:<apn> USR:<user> PWD:<password> AUTHMODE:<authmode> IPTYPE:<iptype> OK |
| 最大响应时间 | 30s |
| 参数保存模式 | 自动保存,立即生效 |
- 参数定义:
| 参数 | 解释 |
|---|---|
| mode | 2:设置当前APN,3:清空当前APN |
| apn | 访问点名称,注册网络或者激活Bearer时需要使用 |
| username | 用户名,用于APN认证 |
| password | 密码,用于APN认证 |
| auth_type | 认证类型: 0:无认证, 1: PAP认证, 2: CHAP认证 3:CHAP_PAP认证 |
| ip_type | IP类型: 1:IPv4, 2:IPv6, 3:IPv4v6 |
四、常见问题¶
- Q1、如何确认当前版本已经支持内置APN功能?
- A1.1: 查看AT软件介绍,确认当前版本是否支持内置APN功能。
- A1.2: 或者通过
AT+CAUTOAPN?命令查询是否支持。支持内置APN AT+CAUTOAPN=2,302 +CAUTOAPN: 302,220,"sp.telus.com","","",0,1 +CAUTOAPN: 302,270,"wisp.mobi.eastlink.ca","","",0,3 +CAUTOAPN: 302,370,"sp.mts","","",0,3 +CAUTOAPN: 302,490,"internet.windmobile.ca","","",0,3 +CAUTOAPN: 302,500,"media.ng","","",0,3 +CAUTOAPN: 302,520,"media.ng","","",0,3 +CAUTOAPN: 302,610,"pda.bell.ca","","",0,1 +CAUTOAPN: 302,720,"ltemobile.apn","","",0,3 +CAUTOAPN: 302,780,"pda.stm.sk.ca","","",0,3 OK 不支持内置APN AT+CAUTOAPN? ERRROR
- Q2、如何确认内置APN已经生效?
- A:插上SIM卡,通过
AT+CAUTOAPN?查询当前APN信息。如果能查询到当前使用的APN信息,就表示内置APN生效。 AT+CAUTOAPN? +CAUTOAPN: 1,302,220,"sp.telus.com","","",0,1 OK 查询不到当前APN信息,表示当前网络没有可用的内置APN信息; 或者未插卡 AT+CAUTOAPN? +CAUTOAPN: 1 OK 未打开自动APN功能 AT+CAUTOAPN? +CAUTOAPN: 0 OK
- A:插上SIM卡,通过
- Q3、有了内置APN功能,是不是就不用手动配置APN了?
- A:大部分网络环境下,都可以使用内置APN。只有在特殊网络环境下,或者卡商要求强制使用自定义APN时,才需要手动配置APN。
-
Q4、内置APN和CPNETAPN设置的APN和CGDCONT、CSTT设置的APN有何区别?
- A4.1:内置APN是根据IMSI自动选择的APN,是注册网络ATTACH流程中使用的APN,用户无需手动配置。
- A4.2:CPNETAPN设置的是注册网络ATTACH流程中使用的APN,且设置后会自动开关飞行模式,立即生效。使能CPNETAPN功能后,系统会自动关闭内置APN功能。
- A4.3:CGDCONT也可以设置APN,但只有CID=1的APN设置,才是注册网络ATTACH流程中使用的APN;其他CID,发起第二路Bearer激活请求时才会使用。且CGDCONT设置后,需要重启或者自行开关飞行模式才生效。且不影响内置APN功能。
- A4.4:CSTT设置的APN是注网成功后,发起第二路Bearer激活请求时才会使用。注意:如果CSTT参数设置为空或者和内置APN一致,就还是会用内置APN。
-
Q5、模块在多个运营商网络环境下使用,且内置APN信息无法满足要求,应该如何配置当前APN?
- A:根据IMSI确定运营商MCC&MNC,然后根据运营商或卡商提供的APN信息,通过
AT+CPNETAPN=2,apn,username,password,auth_type,ip_type命令设置当前APN。
- A:根据IMSI确定运营商MCC&MNC,然后根据运营商或卡商提供的APN信息,通过
- Q6、国内运营商开了自动APN是否有影响?
- A: 国内运营商,没有内置相关APN信息,不会有影响。