Well it’s not easy. I’m still exploring differences between ROW_Generic_3GPP and a phone mbn for Vodafone UK. The phone mbns sometimes load but don’t activate and leave missing NV items. I think you can get everything working with the ROW_generic file by changing the NV items with AT+QNVFW command.
I found with UK Vodafone you have to set the ims_reg_config_db in order to receive SMS via IMS. It’s different from the ROW_generic
To add the items below you need to send:
at+qnvfw=“/nv/item_files/ims/qp_ims_reg_config_db”,0310011105000000882000006702110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010033005000000883000000052000000920000
You also need to understand the format of this item in order to go from the nice json string to the hex above. You can see the version is easy (just 1-byte hex).
The 272 is 1001 (it’s little endian) so is: 0110 which is 272 in hex. The “VoLte_Sms” is represented by 05 and VoLte_Vt_Sms is 07…
You’ll need to active the ROW_Generic file and often you’ll need to reset everything with:
at+qprtpara=3
at+qnvfr=“/nv/item_files/ims/qp_ims_reg_config_db” << you can’t just read then write this because the mostly unused APN characters make it too long.
It’s best to work on a network by network basis.
“QpImsRegConfigDb”: {
“Version”: 3,
“Items”: [
{
“Rat”: 272,
“ApnIndex”: 17,
“ImsServiceInfoString”: “VoLte_Sms”,
“AuthSecType”: 0,
“IpTypeInfo”: 0
},
{
“Rat”: 8328,
“ApnIndex”: 0,
“ImsServiceInfoString”: “26368”,
“AuthSecType”: 2,
“IpTypeInfo”: 17
},
{
“Rat”: 0,
“ApnIndex”: 0,
“ImsServiceInfoString”: “None”,
“AuthSecType”: 0,
“IpTypeInfo”: 0
},
{
“Rat”: 0,
“ApnIndex”: 0,
“ImsServiceInfoString”: “None”,
“AuthSecType”: 0,
“IpTypeInfo”: 0
},
{
“Rat”: 0,
“ApnIndex”: 0,
“ImsServiceInfoString”: “None”,
“AuthSecType”: 0,
“IpTypeInfo”: 0
},
{
“Rat”: 0,
“ApnIndex”: 0,
“ImsServiceInfoString”: “None”,
“AuthSecType”: 0,
“IpTypeInfo”: 0
},
{
“Rat”: 0,
“ApnIndex”: 0,
“ImsServiceInfoString”: “None”,
“AuthSecType”: 0,
“IpTypeInfo”: 0
},
{
“Rat”: 0,
“ApnIndex”: 0,
“ImsServiceInfoString”: “None”,
“AuthSecType”: 0,
“IpTypeInfo”: 0
},
{
“Rat”: 0,
“ApnIndex”: 0,
“ImsServiceInfoString”: “None”,
“AuthSecType”: 0,
“IpTypeInfo”: 0
},
{
“Rat”: 0,
“ApnIndex”: 0,
“ImsServiceInfoString”: “None”,
“AuthSecType”: 0,
“IpTypeInfo”: 0
}
],
“Items2”: [
{
“RatApnFallback”: 0,
“ServicePriorityWwan”: 0
},
{
“RatApnFallback”: 0,
“ServicePriorityWwan”: 0
},
{
“RatApnFallback”: 0,
“ServicePriorityWwan”: 0
},
{
“RatApnFallback”: 0,
“ServicePriorityWwan”: 0
},
{
“RatApnFallback”: 0,
“ServicePriorityWwan”: 0
},
{
“RatApnFallback”: 0,
“ServicePriorityWwan”: 0
},
{
“RatApnFallback”: 0,
“ServicePriorityWwan”: 0
},
{
“RatApnFallback”: 4096,
“ServicePriorityWwan”: 12291
},
{
“RatApnFallback”: 5,
“ServicePriorityWwan”: 0
},
{
“RatApnFallback”: 12424,
“ServicePriorityWwan”: 0
}
],
“AllowedImsSrvOnWlanString”: “20992”,
“AddAllFTs”: 0,
“AcsPriority”: 0,
“ISimPriority”: 0,
“NvPriority”: 146,
“PcoPriority”: 0,
“ImsServiceStatus”: 0,
“ApnNames”: [
“”,
“”,
“”
],