海外运营商反馈:no user agent in initial register
解决方案:
VND/device/sprd/vnd_mpool/module/vendor/telephony/main.mk
++PRODUCT_VENDOR_PROPERTIES += persist.vendor.radio.feature.bitmask ?= 8
VND/vendor/sprd/modules/rild/impl-ril/impl_ril.c
void sendImsUserAgentProp(RIL_SOCKET_ID socket_id) {
int err = -1;
char cmd[MAX_BUFFER_BYTES] = {0};
char type[AT_COMMAND_LEN] = {0};
++//char type1[AT_COMMAND_LEN] = {0};
++//char type2[AT_COMMAND_LEN] = {0};
++//char type3[AT_COMMAND_LEN] = {0};
++//char type4[AT_COMMAND_LEN] = {0};
++//char type5[AT_COMMAND_LEN] = {0};
........
++/*snprintf(type, sizeof(type), "%s", model_val); //default
snprintf(type1, sizeof(type1), "%s%s%s", model_val, " ", sw_version_a);
snprintf(type2, sizeof(type2), "%s%s%s%s%s%s", model_val, " ", sw_version_a, " ", "Android", android_version);
snprintf(type3, sizeof(type3), "%s%s%s", model_val, " ", sw_version_b);
snprintf(type4, sizeof(type4), "%s%s%s%s%s", model_val, " ", model_display_val, " ", sw_version_a);
snprintf(type5, sizeof(type5), "%s%s%s%s%s%s%s", "Telstra", " ", model_val, " ", m++odel_display_val, " ", sw_version_a);*/
++snprintf(type, sizeof(type), "%s", "XXXX");//客户型号
++/*RLOGD("sendImsUserAgentProp: type = %s, type1 = %s, type2 = %s, type3 = %s, type4 = %s, type5 = %s, type6 = %s",
++ type, type1, type2, type3, type4, type5, type6);*/
++RLOGD("sendImsUserAgentProp: type = %s",type);
++/*the length of a single UA does not exceed 128 and the total length of UA does ++not exceed 1024*/
++/*snprintf(cmd, sizeof(cmd), "AT+SPENGMDVOLTE=22,1,\"%s||%s||%s||%s||%s||%s||%s\"", type, type1, type2, type3, type4, type5, type6);*/
++snprintf(cmd, sizeof(cmd), "AT+SPENGMDVOLTE=22,1,\"%s\"", type);
验证:
插SIM卡开机,查看ylog\poweron\modem里面的log,查找对应的user agent值