中國做美國酒店的網(wǎng)站制作網(wǎng)站公司
1、問題背景
?????????在手機(jī)開發(fā)過程中,經(jīng)常遇見各種緊急號碼問題,在此特意總結(jié)下緊急號碼相關(guān)知識。
2、緊急號碼來源
?????????在MTK RILD EccNumberSource.h中,定義了如下幾種緊急號碼來源。
按優(yōu)先級排序介紹如下
2.1、SOURCE_NETWORK
網(wǎng)絡(luò)下發(fā),通過DL下發(fā)。
可以參考:
https://www.sharetechnote.com/html/Handbook_UMTS_EmergencyNumberList.html
MTK平臺通過 +CEN1, +CEN2 來進(jìn)行上報(bào)
//代表 73001 網(wǎng)絡(luò)支持緊急號碼上報(bào)
10-20 ?12:31:53.418255 ? ? ?1430 ? ? ?1443 ?I ?AT ? ? ? ? ? ? ? ? ?: ?[0] ?AT< ?+CEN1:1,730,01 (RIL_URC_READER, tid:494604676352)
//網(wǎng)絡(luò)上報(bào)緊急號碼 133,Category 為 31 即代表該號碼同時(shí)為 Police,Ambulance,Fire Brigade, Marine Guard, Marine Guard 的服務(wù)臺
10-20 ?12:31:53.418329 ? ? ?1430 ? ? ?1443 ?I ?AT ? ? ? ? ? ? ? ? ?: ?[0] ?AT< ?+CEN2:31,133 (RIL_URC_READER, tid:494604676352
2.2、SOURCE_SIM
USIM卡通過+ESIMECC消息上報(bào)卡中ECC信息
CSIM卡通過+CECC消息上報(bào)ECC信息
12-12 17:43:50.745462 1268 1275 V RtcEccNumberController: [0] [parseSimEcc] line: +ESIMECC: 0
12-12 17:43:50.745484 1268 1275 V RtcEccNumberController: [0] [parseSimEcc] There is no ECC number stored in SIM
2.3、SOURCE_CONFIG
MTK RILD 中默認(rèn)配置路徑來自 EccNumberSource.h
#define ECC_OM_FILE_PATH ? "/system/vendor/etc/ecc_list.xml"
2.4、SOURCE_DEFAULT
協(xié)議規(guī)定 3GPP TS 22.101必須是緊急號碼
#define ECC_DEFAULT ? ? ? ?"112,911"
#define ECC_DEFAULT_NO_SIM "112,911,000,08,110,118,119,999"
? ? /**
? ? ?* Indicates the number is available as default. Per the reference, 112, 911 must always be
? ? ?* available; additionally, 000, 08, 110, 999, 118 and 119 must be available when sim is not
? ? ?* present.
? ? ?*/
? ? SOURCE_DEFAULT ? ? ?= 1 << 3,
2.5、其他來源
? ? 暫時(shí)沒用到,暫時(shí)不做處理
? ? /**
? ? ?* Indicates the number is from the OEM property.
? ? ?* Will mapping to AOSP source type MODEM_CONFIG
? ? ?*/
? ? SOURCE_OEM_PROPERTY = 1 << 4,
? ? /**
? ? ?* Indicates the number is from framework
? ? ?* Will mapping to AOSP source type MODEM_CONFIG
? ? ?*/
? ? SOURCE_FRAMEWORK ? ?= 1 << 5,
? ? /**
? ? ?* Indicates the number is from test property which add through
? ? ?* Engineer Mode -> Telephony -> Emergency Numbers
? ? ?* Will mapping to AOSP source type MODEM_CONFIG
? ? ?*/
? ? SOURCE_TEST ? ? ? ? = 1 << 6
?2.6、Android FRAMEWORK
packages\services\Telephony\ecc\input\eccdata.txt
Android Q上google添加了相關(guān)ecc緊急號碼配置,EmergencyNumber.java
對應(yīng)EMERGENCY_NUMBER_SOURCE_DATABASE
3、緊急號碼來分類
對于"/system/vendor/etc/ecc_list.xml"配置來說
typedef enum {CONDITION_NO_SIM = 0, // Only ECC when NO SIMCONDITION_ALWAYS = 1, // Always ECCCONDITION_MMI = 2, // Fake/Special ECC (normal call setup flow)CONDITION_SIM_ONLY = 3, // Only ECC when SIM insertCONDITION_NEVER = 4 // Not ECC in any condition (ex: customer service number)
} EmergencyNumberCondition;
condition 表示緊急號碼類型,真緊急,假緊急,無卡緊急
真緊急 ATDE 空口EMERGENCY_SETUP
假緊急? ATD?空口SETUP
enum class EmergencyServiceCategory : int32_t {/*** General emergency call, all categories*/UNSPECIFIED = 0,POLICE = 1 /* 1 << 0 */,AMBULANCE = 2 /* 1 << 1 */,FIRE_BRIGADE = 4 /* 1 << 2 */,MARINE_GUARD = 8 /* 1 << 3 */,MOUNTAIN_RESCUE = 16 /* 1 << 4 */,/*** Manually Initiated eCall (MIeC)*/MIEC = 32 /* 1 << 5 */,/*** Automatically Initiated eCall (AIeC)*/AIEC = 64 /* 1 << 6 */,
};
category表示對應(yīng)的緊急號碼類型
相關(guān)配置表如下