[Feature][T8TSK-209][Modem]Update Modem version to P5 0531

Change-Id: I2e8eae57738092652f476deea2da04d69e7f8426
diff --git a/mcu/custom/protocol/common/ps/custom_imc_config.c b/mcu/custom/protocol/common/ps/custom_imc_config.c
index a6e5f8c..57f0fb3 100755
--- a/mcu/custom/protocol/common/ps/custom_imc_config.c
+++ b/mcu/custom/protocol/common/ps/custom_imc_config.c
@@ -6346,14 +6346,14 @@
         case 302: /* Ooredoo Oman*/
         case 304: /*CTMO Macau */
         case 306: /*HKCU Hongkong */
+        case 314: /* TelePost/Greenland */
         case 315: /*Beeline Kazakhstan*/
         case 316: /* Nex-Tech/US */
-        case 319: /* Monaco Telecom/Epic Cyprus */
-        case 321: /*Ora(viti) french*/
-        case 314: /* TelePost/Greenland */
         case 317: /* Commnet, Choice */
         case 318: /* Vianova Italy */
+        case 319: /* Monaco Telecom/Epic Cyprus */
         case 320: /* Coriolis France */
+        case 321: /*Ora(viti) french*/
         case 322: /* UPC Switzerland  */
         case 323: /* Lycamobile Italy */
         case 329: /* Plintron Italy */
@@ -6392,20 +6392,31 @@
         case 390: /* LTC-Mobile/Liberia */
         case 391: /* Bravado/US */
         case 392: /* MobileNation */
+        case 393: /* US/ IT-E Wireless */
         case 396: /* Thumb Cellular */
         case 397: /* MECTEL/Myanmar */
+        case 399: /* American Samoa/ASTCA */
         case 403: /* Brunei/Imagine */
         case 404: /* Brunei/Progesif */
         case 405: /* Brunei/UNN */
         case 406: /* Brunei/DST */
 		case 407: /* Americanet Brazil*/
-        case 410: /* Mtel */
-        case 413: /* Ufone/Pakistan */
 		case 408: /* Bitel/Peru*/
+        case 410: /* Mtel */
         case 411: /* Evolve Broadband - US*/
         case 412: /*Standing Rock Telecom US*/
-		case 418: /* Emtel/Mauritius */
+        case 413: /* Ufone/Pakistan */
 		case 416: /* Brisanet/Brazil */
+		case 418: /* Emtel/Mauritius */
+		case 419: /* Airtel/Uganda */
+        case 420: /*Redbull - Saudi Arabia*/
+		case 421: /*Yemen Mobile */
+        case 424: /* Vodafone/Iceland */
+        case 426: /* NLC/Pakistan */
+        case 430: /* Airtel/Nigeria */
+        case 431: /* Unifique Brazil*/
+        case 434: /* Mobicom Mongolia*/
+        case 437: /* 3/Indonesia */
         case 1002: /* Nokia Finland */
         case 1004: /* Huawei IMS */
         case 0x6001: /* Sony GTE/Beijing */
@@ -6612,19 +6623,6 @@
             }
             break;
         }
-        case 106: /* 3HK */
-        {
-            if (!with_imsi_info) {
-                //dynacmic generate
-            }
-            else if (imsi_mnc_len == 2) {
-                kal_snprintf((char *)conf_factory_uri, len-1, "sip:19099@ims.mnc0%c%c.mcc%c%c%c.3gppnetwork.org", mccmnc[3], mccmnc[4], mccmnc[0], mccmnc[1], mccmnc[2]);
-            }
-            else if (imsi_mnc_len == 3) {
-                kal_snprintf((char *)conf_factory_uri, len-1, "sip:19099@ims.mnc%c%c%c.mcc%c%c%c.3gppnetwork.org", mccmnc[3], mccmnc[4], mccmnc[5], mccmnc[0], mccmnc[1], mccmnc[2]);
-            }
-            break;
-        }
         case 103: /* SingTel */
         {
             kal_snprintf((char *)conf_factory_uri, len-1, "sip:conference@conference.ims.singtel.com");
@@ -6640,6 +6638,19 @@
             kal_snprintf((char *)conf_factory_uri, len-1, "sip:mmtel@conf-factory.ims.mnc002.mcc744.3gppnetwork.org");
             break;
         }
+        case 106: /* 3HK */
+        {
+            if (!with_imsi_info) {
+                //dynacmic generate
+            }
+            else if (imsi_mnc_len == 2) {
+                kal_snprintf((char *)conf_factory_uri, len-1, "sip:19099@ims.mnc0%c%c.mcc%c%c%c.3gppnetwork.org", mccmnc[3], mccmnc[4], mccmnc[0], mccmnc[1], mccmnc[2]);
+            }
+            else if (imsi_mnc_len == 3) {
+                kal_snprintf((char *)conf_factory_uri, len-1, "sip:19099@ims.mnc%c%c%c.mcc%c%c%c.3gppnetwork.org", mccmnc[3], mccmnc[4], mccmnc[5], mccmnc[0], mccmnc[1], mccmnc[2]);
+            }
+            break;
+        }
         case 108: /* TWN */
         {
             kal_snprintf((char *)conf_factory_uri, len-1, "sip:conf-factory@ims.taiwanmobile.com");
@@ -7857,6 +7868,7 @@
     ua->add_pani_in_cancel = 0;
     ua->use_from_uri_if_pai_missing = 0;
     ua->set_operator_as_ims_only = 0;
+    ua->disable_num_validity_check = 0;
 
     /* nvram_imc_struct */
     imc->resource_retain_timer = 3000;
@@ -8616,6 +8628,7 @@
     if (src_ua->send_cancel_tcall_timeout_no_resp != IMS_UNDEF_CONFIG_8) {dest_ua->send_cancel_tcall_timeout_no_resp = src_ua->send_cancel_tcall_timeout_no_resp;}
     if (src_ua->use_from_uri_if_pai_missing != IMS_UNDEF_CONFIG_8) {dest_ua->use_from_uri_if_pai_missing = src_ua->use_from_uri_if_pai_missing;}
     if (src_ua->set_operator_as_ims_only != IMS_UNDEF_CONFIG_8) {dest_ua->set_operator_as_ims_only = src_ua->set_operator_as_ims_only;}
+    if (src_ua->disable_num_validity_check != IMS_UNDEF_CONFIG_8) {dest_ua->disable_num_validity_check = src_ua->disable_num_validity_check;}
 
     /* nvram_imc_struct */
     if (src_imc->resource_retain_timer != IMS_UNDEF_CONFIG_32) {dest_imc->resource_retain_timer = src_imc->resource_retain_timer;}
@@ -9059,6 +9072,8 @@
             nvram_ims_profile_ptr->imc_config.switch_prefer_rat_dereg           = 1;      //IMS deregistartion when forced RAT selection is done
             nvram_ims_profile_ptr->imc_config.no_ims_reg_during_active_cs_call  = 1;      // not to initiate VoWiFi registration during an active CS call
                                                                                           // WIFI_MOB_15 and MOB_VS_WP_10
+            nvram_ims_profile_ptr->imc_config.is_ims_retry_status               = 4;      // update IMS retry status when watchdog timer expires
+            nvram_ims_profile_ptr->imc_config.is_ims_retry_watchdog_timer       = 30;     // if re-reg does not succeed in 30sec, update IMS retry status as false 
 
             set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
 
@@ -9080,12 +9095,14 @@
             nvram_ims_profile_ptr->ua_config.reg_add_content_disposition        = 1;
             nvram_ims_profile_ptr->ua_config.de_subscribe                       = 0;      // Orange global requirement: MOB_VS_03 and MOB_VS_04
             nvram_ims_profile_ptr->ua_config.est_client_tcp_when_send_response  = 0;
+            nvram_ims_profile_ptr->ua_config.UA_reg_t1_timer                    = 500;    // Orange global requirement
 
             /* SMS */
             nvram_ims_profile_ptr->ua_config.sms_network_types                  = 0x00;
 
             /* IMCB */
-            memset(&nvram_ims_profile_ptr->imc_config.pdn_rej_handle[0],0,64);            //Orange: "N,33,18,0;N,27,18,0;N,*,0,1;E,*,0,1;"
+            nvram_ims_profile_ptr->imc_config.pcscf_reselect_flag               = 1;      // Orange global requirement: IMS_RES_NW_10
+            memset(&nvram_ims_profile_ptr->imc_config.pdn_rej_handle[0],0,64);            // Orange: "N,33,18,0;N,27,18,0;N,*,0,1;E,*,0,1;"
             strncpy((char *)nvram_ims_profile_ptr->imc_config.pdn_rej_handle,
                     "N,33,18,0;N,27,18,0;N,*,0,1;E,*,0,1;",
                     sizeof (nvram_ims_profile_ptr->imc_config.pdn_rej_handle)-1
@@ -9117,6 +9134,7 @@
                     nvram_ims_profile_ptr->ua_config.call_tcall_timer_timeout       = 20;
                     nvram_ims_profile_ptr->ua_config.conf_participant_not_subscribe = 1;
                     nvram_ims_profile_ptr->ua_config.when_stop_tcall                = 100;
+                    nvram_ims_profile_ptr->ua_config.show_octet_align               = 0;
 
 #ifdef __EVS_SUPPORT__
                     nvram_ims_profile_ptr->ua_config.evs_support                        = 1;
@@ -9194,6 +9212,7 @@
 
                     /* Reg/Stack */
                     nvram_ims_profile_ptr->ua_config.bypass_403_reason_phrase           = 1;
+                    nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                = 0;
 
                     /* IMCB */
                 }
@@ -9236,6 +9255,7 @@
                     nvram_ims_profile_ptr->ua_config.not_auto_reg_403                   = 1;
                     nvram_ims_profile_ptr->ua_config.pend_dereg_in_initial_reg          = 1;
                     nvram_ims_profile_ptr->ua_config.bypass_403_reason_phrase           = 1;
+                    nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                = 0;
 
                     /* IMCB */
                 }
@@ -9243,6 +9263,7 @@
                 else if (strncmp((char *)&mccmnc[0], "260", 3) == 0) {
                     nvram_ims_profile_ptr->imc_config.ims_reg_allowed_at_23g            = 2;      //IMS reg maintained at 23G (MOB_VS_08 & MOB_VS_09)
                     nvram_ims_profile_ptr->imc_config.rfc5626_flow_recovery             = 1;
+                    nvram_ims_profile_ptr->imc_config.location_info_support             = 1;      //lbs location info service: on
 
                     /* IMCB, Reg/Stack, UA internal configurations */
                     /* Call */
@@ -9269,6 +9290,12 @@
 #endif /* __EVS_SUPPORT__ */
                     nvram_ims_profile_ptr->ua_config.block_refer_sending_if_max_num_of_participants = 1;
 
+                    memset(&nvram_ims_profile_ptr->ua_config.required_loc_info_num_set[0],0,128);
+                    strncpy((char *)nvram_ims_profile_ptr->ua_config.required_loc_info_num_set,
+                            "112,999,998,997,985,984,996,995,994,993,992,991,987,986,989",
+                            sizeof (nvram_ims_profile_ptr->ua_config.required_loc_info_num_set)-1
+                            );
+
                     /* Reg/Stack */
                     nvram_ims_profile_ptr->ua_config.initial_reg_without_pani           = 1;
                     nvram_ims_profile_ptr->ua_config.register_cap_whenever              = 1;
@@ -9353,10 +9380,6 @@
 
                     /* Reg/Stack */
                     nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_TCP_MTU_Size     = 1300;
-                    nvram_ims_profile_ptr->ua_config.UA_reg_t1_timer                    = 2000;
-                    nvram_ims_profile_ptr->ua_config.UA_reg_t2_timer                    = 16000;
-                    nvram_ims_profile_ptr->ua_config.UA_reg_t4_timer                    = 17000;
-                    nvram_ims_profile_ptr->ua_config.UA_reg_b_timer                     = 128000;
                     nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                = 0;
                     nvram_ims_profile_ptr->ua_config.bypass_403_reason_phrase           = 1;
                     
@@ -9391,6 +9414,7 @@
                     nvram_ims_profile_ptr->ua_config.initial_reg_without_pani           = 1;
                     nvram_ims_profile_ptr->ua_config.pidf_country                       = 1;
                     nvram_ims_profile_ptr->ua_config.bypass_403_reason_phrase           = 1;
+                    nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                = 0;
 
                     /* IMCB */
                 }
@@ -9446,6 +9470,7 @@
                     nvram_ims_profile_ptr->ua_config.initial_reg_without_pani           = 1;
                     nvram_ims_profile_ptr->ua_config.not_auto_reg_403                   = 1;
                     nvram_ims_profile_ptr->ua_config.bypass_403_reason_phrase           = 1;
+                    nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                = 0;
 
                     /* SMS */
 
@@ -9458,6 +9483,7 @@
                     nvram_ims_profile_ptr->imc_config.ussd_support                      = 1;
                     nvram_ims_profile_ptr->imc_config.ims_v4v6_preference               = 2;      // v4_prefer
                     nvram_ims_profile_ptr->imc_config.nw_vops_rule                      = 0x12;   //10010, not to register on IMS, de-register if IMS registration exist
+                    nvram_ims_profile_ptr->imc_config.sms_support                       = 1;
 
                     nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout         = 90;
                     nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout        = 90;
@@ -9477,6 +9503,10 @@
                     nvram_ims_profile_ptr->ua_config.initial_reg_without_pani           = 1;
                     nvram_ims_profile_ptr->ua_config.pidf_country                       = 1;
                     nvram_ims_profile_ptr->ua_config.bypass_403_reason_phrase           = 1;
+                    nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                = 0;
+
+                    /* SMS */
+                    nvram_ims_profile_ptr->ua_config.sms_network_types                  = 0x03;   //(LTE+WIFI)
 
                     /* IMCB */
                 }
@@ -9602,11 +9632,11 @@
             nvram_ims_profile_ptr->ua_config.show_octet_align                   = 0;
             nvram_ims_profile_ptr->ua_config.session_refresher_in_req           = 1;      // TMOEU TISD 2018.1-3
             nvram_ims_profile_ptr->ua_config.session_refresher_in_resp          = 1;      // TMOEU TISD 2018.1-3
-            nvram_ims_profile_ptr->ua_config.srvcc_feature_enable               = 0x000F; // enable SRVCC, aSRVCC, midSRVCC, bSRVCC
             nvram_ims_profile_ptr->ua_config.add_199_feature_tag                = 1;
             nvram_ims_profile_ptr->ua_config.use_eps_prefix_in_phone_context    = 0;
             nvram_ims_profile_ptr->ua_config.call_tcall_timer_timeout           = 5;      // MTR-32456
             nvram_ims_profile_ptr->ua_config.when_stop_tcall                    = 100;    // MTR-32456. Notice: if timer needed between 100 and 18x please consider to set mo_invite_to_bw_cnf_timer_timeout for example 20s
+            nvram_ims_profile_ptr->ua_config.UA_reg_ipsec_algo                  = 0x33;   // NULL + AES
 #ifdef __EVS_SUPPORT__
             nvram_ims_profile_ptr->ua_config.evs_support                        = 1;
             nvram_ims_profile_ptr->ua_config.UA_call_codec_order1               = 17;
@@ -9637,7 +9667,8 @@
             nvram_ims_profile_ptr->ua_config.sms_support_in_23g                 = 0;
 
             /* IMCB */
-            memset(&nvram_ims_profile_ptr->imc_config.pdn_rej_handle[0],0,64);              //DTAG: "N,33,16,0;N,30,16,0;N,*,0,1;E,*,0,1;"
+            nvram_ims_profile_ptr->imc_config.pcscf_reselect_flag               = 1;
+            memset(&nvram_ims_profile_ptr->imc_config.pdn_rej_handle[0],0,64);           //DTAG: "N,33,16,0;N,30,16,0;N,*,0,1;E,*,0,1;"
             strncpy((char *)nvram_ims_profile_ptr->imc_config.pdn_rej_handle,
                     "N,33,16,0;N,30,16,0;N,*,0,1;E,*,0,1;",
                     sizeof (nvram_ims_profile_ptr->imc_config.pdn_rej_handle)-1
@@ -9662,7 +9693,7 @@
                     nvram_ims_profile_ptr->ua_config.ect_enable                     = 1;
                     nvram_ims_profile_ptr->ua_config.ect_refer_to_use_pai           = 1;
                     nvram_ims_profile_ptr->ua_config.ect_refer_to_use_sip_uri       = 1;
-                    nvram_ims_profile_ptr->ua_config.UA_reg_ipsec_algo              = 0x33;     // NULL + AES
+                    nvram_ims_profile_ptr->imc_config.not_acquire_audio_rtcp        = 1;
                 }
                 /* Czech */
                 else if (strncmp((char *)&mccmnc[0], "230", 3) == 0) {
@@ -9672,7 +9703,6 @@
                     nvram_ims_profile_ptr->ua_config.ecall_get_puid_from_normal_ims_reg = 1;  // copy UID from normal IMS registration
                     nvram_ims_profile_ptr->ua_config.ignore_380_emg_xml             = 1;
                     nvram_ims_profile_ptr->ua_config.transfer_conf_call_as_1to1     = 1;
-                    nvram_ims_profile_ptr->ua_config.UA_reg_ipsec_algo              = 0x33;     // NULL + AES
                 }
                 /* Poland */
                 else if (strncmp((char *)&mccmnc[0], "260", 3) == 0) {
@@ -9694,7 +9724,6 @@
                     nvram_ims_profile_ptr->ua_config.reuse_transport_methods        = 0x00000250;
                     nvram_ims_profile_ptr->ua_config.prefer_original_codec          = 0;
                     nvram_ims_profile_ptr->ua_config.call_id_with_host_inCall       = 1;
-                    nvram_ims_profile_ptr->ua_config.UA_reg_ipsec_algo              = 0x33;     // NULL + AES
                 }
                 /* Greece (Cosmote) */
                 else if (strncmp((char *)&mccmnc[0], "202", 3) == 0) {
@@ -9749,7 +9778,6 @@
                             sizeof (nvram_ims_profile_ptr->imc_config.pdn_rej_handle)-1
                             );
                     nvram_ims_profile_ptr->ua_config.always_use_sip_uri_for_mo_call     = 0;
-                    nvram_ims_profile_ptr->ua_config.srvcc_feature_enable               = 0x03;
                 }
                 /* Hungary */
                 else if (strncmp((char *)&mccmnc[0], "216", 3) == 0) {
@@ -9805,7 +9833,6 @@
                     nvram_ims_profile_ptr->imc_config.ims_v4v6_preference               = 2;      // v4_prefer
                     nvram_ims_profile_ptr->imc_config.sms_support                       = 0;
                     nvram_ims_profile_ptr->ua_config.sms_network_types                  = 0x00;
-                    nvram_ims_profile_ptr->ua_config.srvcc_feature_enable               = 0x000F; // enable SRVCC, aSRVCC, midSRVCC, bSRVCC
                     nvram_ims_profile_ptr->ua_config.force_srvcc_transfer               = 0;
                     nvram_ims_profile_ptr->ua_config.always_use_sip_uri_for_mo_call     = 0;
                     nvram_ims_profile_ptr->ua_config.conf_participant_not_subscribe     = 1;
@@ -9906,6 +9933,8 @@
                     nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_TCP_MTU_Size     = 1390;
                     nvram_ims_profile_ptr->ua_config.conf_participant_not_subscribe     = 1;
                     nvram_ims_profile_ptr->ua_config.bypass_403_reason_phrase           = 1;
+                    nvram_ims_profile_ptr->ua_config.register_expiry                    = 7200;
+                    nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                = 0;
 
                     /* IMCB */
 
@@ -9917,7 +9946,6 @@
                     nvram_ims_profile_ptr->imc_config.nw_vops_rule                  = 0x14;           // 10100, relied on but not in call
                     nvram_ims_profile_ptr->imc_config.not_acquire_audio_rtcp        = 1;
                     nvram_ims_profile_ptr->imc_config.wifi_em_reg_by_em_pdn         = 1;              // Allow WiFi emergency PDN creation
-                    nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_TCP_MTU_Size = 1200;
                     nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout     = 180;
                     nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout    = 180;
                     nvram_ims_profile_ptr->ua_config.UA_reg_t1_timer                = 1000;
@@ -9942,9 +9970,6 @@
                     nvram_ims_profile_ptr->ua_config.UA_call_codec_order1           = 17;
                     nvram_ims_profile_ptr->ua_config.UA_call_codec_order2           = 2;
                     nvram_ims_profile_ptr->ua_config.UA_call_codec_order3           = 1;
-                    nvram_ims_profile_ptr->ua_config.br_begin                       = 3;
-                    nvram_ims_profile_ptr->ua_config.br_send_begin                  = 3;
-                    nvram_ims_profile_ptr->ua_config.br_recv_begin                  = 3;
                     nvram_ims_profile_ptr->ua_config.br_end                         = 6;
                     nvram_ims_profile_ptr->ua_config.br_send_end                    = 6;
                     nvram_ims_profile_ptr->ua_config.br_recv_end                    = 6;
@@ -10020,6 +10045,7 @@
                     nvram_ims_profile_ptr->ua_config.delay_unhold_call                  = 1;
                     nvram_ims_profile_ptr->ua_config.ect_block_in_remote_hold           = 1;
                     nvram_ims_profile_ptr->ua_config.ect_delay_target_unhold            = 2;
+                    nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_TCP_MTU_Size     = 1500;
                 #ifdef __EVS_SUPPORT__            
                     nvram_ims_profile_ptr->ua_config.evs_support                        = 1;
                     nvram_ims_profile_ptr->ua_config.UA_call_codec_order1               = 17;
@@ -10027,7 +10053,7 @@
                     nvram_ims_profile_ptr->ua_config.UA_call_codec_order3               = 1;
                 #endif /* __EVS_SUPPORT__ */
                     /* Reg */
-                    
+                    nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                = 0;
                     /*IMCB*/
                     nvram_ims_profile_ptr->imc_config.ims_v4v6_preference               = 2;        //v4_prefer
                 }
@@ -10067,6 +10093,7 @@
                     nvram_ims_profile_ptr->ua_config.bypass_403_reason_phrase       = 1;
                     nvram_ims_profile_ptr->ua_config.ims_notify_feature_enabled     = 1;
                     nvram_ims_profile_ptr->ua_config.play_local_tone_when_no_rtp_pkt_on_remote_hold   = 1;
+                    nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail            = 0;
                 }
                 /* VDF Czech */
                 else if (strncmp((char *)&mccmnc[0], "230", 3) == 0) {
@@ -10097,6 +10124,7 @@
                     nvram_ims_profile_ptr->ua_config.UA_reg_t4_timer                = 5000;
                     /* IMCB */
                     nvram_ims_profile_ptr->imc_config.not_acquire_audio_rtcp        = 1;
+                    nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail            = 0;
                 }
                 /* VDF UK */
                 else if (strncmp((char *)&mccmnc[0], "234", 3) == 0) {
@@ -10160,6 +10188,7 @@
                     nvram_ims_profile_ptr->ua_config.use_new_pcscf_for_reg          = 1;  // VOLTE_REG_NEW_PCSCF_FOR_PCO_CHANGE
                     nvram_ims_profile_ptr->ua_config.bypass_403_reason_phrase       = 1;
                     nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_TCP_MTU_Size = 1280;
+                    nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail            = 0;
                     /* SMS */
                     nvram_ims_profile_ptr->ua_config.sms_support_in_23g             = 0;
                     nvram_ims_profile_ptr->ua_config.in_reply_to_support            = 0;
@@ -10173,6 +10202,12 @@
                     nvram_ims_profile_ptr->ua_config.pend_dereg_in_initial_reg      = 1;
                     nvram_ims_profile_ptr->ua_config.allow_non_sendrecv_rtcp_0      = 1;
                     nvram_ims_profile_ptr->ua_config.conf_participant_not_subscribe = 1;
+                    nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_TCP_MTU_Size = 1500;
+                    nvram_ims_profile_ptr->ua_config.UA_reg_t1_timer                = 1000;
+                    nvram_ims_profile_ptr->ua_config.UA_reg_t2_timer                = 4000;
+                    nvram_ims_profile_ptr->ua_config.UA_reg_t4_timer                = 5000;
+                    nvram_ims_profile_ptr->ua_config.register_expiry                = 21720;
+                    nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail            = 0;
 
                 #ifdef __EVS_SUPPORT__
                     nvram_ims_profile_ptr->ua_config.evs_support                    = 1;
@@ -10224,9 +10259,11 @@
                 #endif /* __EVS_SUPPORT__ */
 
                     /* Reg/Stack */
+                    nvram_ims_profile_ptr->ua_config.register_expiry                    = 7200;
                     nvram_ims_profile_ptr->ua_config.UA_reg_t1_timer                    = 500;
                     nvram_ims_profile_ptr->ua_config.UA_reg_t2_timer                    = 4000;
                     nvram_ims_profile_ptr->ua_config.UA_reg_t4_timer                    = 4000;
+                    nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                = 0;
 
                     /* SMS */
                     nvram_ims_profile_ptr->ua_config.sms_support_in_23g                 = 0;
@@ -10480,7 +10517,7 @@
                     nvram_ims_profile_ptr->ua_config.br_send_end                        = 6;
                 #endif /* __EVS_SUPPORT__ */
                     /* Reg */
-                    
+                    nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                = 0;
                     /* IMCB */
                     nvram_ims_profile_ptr->imc_config.ims_v4v6_preference               = 2;        //v4_prefer
                 }
@@ -10580,6 +10617,41 @@
                     
                     /* IMCB */
                 }
+                /* VDF-EU IOT */
+                if (strncmp((char *)&mccmnc[0], "901", 3) == 0) {
+                    /* reset to default */
+                    imc_set_mtk_default_value(nvram_ims_profile_ptr);
+                    
+                    set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
+                    
+                    /* IMC */
+                    nvram_ims_profile_ptr->ua_config.operator_code                      = 0x0006;   //operator_code = 6(Vodafone)
+                    nvram_ims_profile_ptr->imc_config.nw_vops_rule                      = 0x18;     // IMS reg maintained but initial reg not allowed
+                    nvram_ims_profile_ptr->imc_config.no_ims_reg_during_active_cs_call  = 1;        // not register for IMS during a CS call
+                    nvram_ims_profile_ptr->imc_config.srvcc_no_ims_dereg_until_call_rel = 1;        // delay IMS dereg in 23G until call is released
+                    nvram_ims_profile_ptr->imc_config.rfc5626_flow_recovery             = 1;
+
+                    /* IMCB, Reg/Stack, UA internal configurations */
+                    /* Call*/
+                    nvram_ims_profile_ptr->ua_config.UA_call_session_min_se             = 90;
+                    nvram_ims_profile_ptr->ua_config.merge_send_bye                     = 0;
+                    nvram_ims_profile_ptr->ua_config.force_srvcc_transfer               = 0;
+                    nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout        = 120;
+                    nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout         = 120;
+                    nvram_ims_profile_ptr->ua_config.UA_reg_ipsec_algo                  = 0x33;   // NULL + AES
+                    nvram_ims_profile_ptr->ua_config.refer_dialog_to_server             = 1;
+                    nvram_ims_profile_ptr->ua_config.subscribe_dialog_to_server         = 1;
+
+                    /* Reg/Stack */
+                    nvram_ims_profile_ptr->ua_config.initial_reg_without_pani           = 1;
+                    nvram_ims_profile_ptr->ua_config.not_auto_reg_403                   = 1;
+                    nvram_ims_profile_ptr->ua_config.reg_gruu_support                   = 0;
+                    nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_TCP_MTU_Size     = 1430;
+                    nvram_ims_profile_ptr->ua_config.bypass_403_reason_phrase           = 1;
+                    nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                = 0;
+
+                    /* IMCB */
+                }  
             }
             break;
         }
@@ -10826,6 +10898,7 @@
             nvram_ims_profile_ptr->ua_config.stir_shaken_for_privacy        = 1;
             nvram_ims_profile_ptr->ua_config.video_add_plus_one             = 1;
             nvram_ims_profile_ptr->ua_config.add_pani_in_cancel             = 1;
+            nvram_ims_profile_ptr->ua_config.call_id_with_host_inCall       = 1;
 
             /* Reg/Stack */
             nvram_ims_profile_ptr->ua_config.add_pani_in_ack = 1;
@@ -10875,8 +10948,10 @@
             nvram_ims_profile_ptr->imc_config.emergency_pdn_retain_timer    = 900*1000;  // 2018Q2
             nvram_ims_profile_ptr->imc_config.default_fallback_support          = 1; // 22Q1 GID-MTRREQ-519828 allow to use default bearer
             nvram_ims_profile_ptr->imc_config.enable_audio_precondition         = 1;
-            nvram_ims_profile_ptr->imc_config.enable_video_precondition         = 1;
+            nvram_ims_profile_ptr->imc_config.enable_video_precondition         = 0;
             nvram_ims_profile_ptr->imc_config.enable_text_precondition          = 1;
+            nvram_ims_profile_ptr->imc_config.video_default_fallback_support    = 2;
+            nvram_ims_profile_ptr->imc_config.video_resource_retain_timer       = 40000;    // 40 seconds
             break;
         }
         case 9: /* CT */
@@ -11407,6 +11482,7 @@
             nvram_ims_profile_ptr->ua_config.operator_code                          = 0x000F; //operator_code = 15(Telefonica)
             nvram_ims_profile_ptr->imc_config.nw_vops_rule                          = 0x18;   // 11000, special
             nvram_ims_profile_ptr->imc_config.no_ims_reg_during_active_cs_call      = 1;      // not register for WFC during a CS call
+            nvram_ims_profile_ptr->imc_config.rfc5626_flow_recovery                 = 1;
 
             set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
 
@@ -11420,13 +11496,14 @@
             nvram_ims_profile_ptr->ua_config.always_use_sip_uri_for_mo_call         = 0;
             nvram_ims_profile_ptr->ua_config.transfer_conf_call_as_1to1             = 0;
             nvram_ims_profile_ptr->ua_config.ect_enable                             = 1;
-            nvram_ims_profile_ptr->ua_config.upgrade_cancel_feature                 = 1;                    
+            nvram_ims_profile_ptr->ua_config.upgrade_cancel_feature                 = 1;
 
             /* Reg/Stack */
             nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                    = 0;
             nvram_ims_profile_ptr->ua_config.ipsec_fail_allowed                     = 0;
             nvram_ims_profile_ptr->ua_config.random_init_ipsec_port                 = 0;
-
+            nvram_ims_profile_ptr->ua_config.initial_reg_without_pani               = 1;
+            
             /* IMCB */
             memset(&nvram_ims_profile_ptr->imc_config.pdn_rej_handle[0],0,64);
             strncpy((char *)nvram_ims_profile_ptr->imc_config.pdn_rej_handle,
@@ -11442,7 +11519,7 @@
                     nvram_ims_profile_ptr->imc_config.ims_reg_allowed_at_23g         = 2;
                     nvram_ims_profile_ptr->imc_config.not_acquire_audio_rtcp         = 1;
                     nvram_ims_profile_ptr->imc_config.not_acquire_video_rtcp         = 1;
-                    nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_TCP_MTU_Size  = 1180;
+                    nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_TCP_MTU_Size  = 1380;
                     nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout      = 180;
                     nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout     = 180;
                     nvram_ims_profile_ptr->ua_config.call_tcall_timer_timeout        = 20;
@@ -11450,6 +11527,8 @@
                     nvram_ims_profile_ptr->ua_config.transfer_conf_call_as_1to1      = 1;
                     nvram_ims_profile_ptr->ua_config.from_header_peer_addr           = 1;
                     nvram_ims_profile_ptr->ua_config.omit_sip_instance_in_contact    = 0x03; // B0000_0011
+                    nvram_ims_profile_ptr->ua_config.add_cni_in_wifi                 = 1;                    
+                    nvram_ims_profile_ptr->ua_config.add_cell_info_age_to_cni        = 1;
 #ifdef __EVS_SUPPORT__
                     nvram_ims_profile_ptr->ua_config.evs_support                     = 1;
                     nvram_ims_profile_ptr->ua_config.UA_call_codec_order1            = 17;
@@ -11463,13 +11542,16 @@
                     nvram_ims_profile_ptr->ua_config.bw_send_end                     = 2;
                     nvram_ims_profile_ptr->ua_config.bw_recv_end                     = 2;
 #endif /* __EVS_SUPPORT__ */
+                    nvram_ims_profile_ptr->ua_config.contact_with_accesstype         = 1;
                     nvram_ims_profile_ptr->ua_config.use_local_conf_participant_list_in_srvcc = 1;
                     nvram_ims_profile_ptr->ua_config.audio_dscp                      = 46;
+                    nvram_ims_profile_ptr->ua_config.check_conference_subscribe      = 1;
                     /* IMCB */
                     nvram_ims_profile_ptr->imc_config.dedicated_fallback_support        = 1;
                 }
                 /* UK */
                 else if (strncmp((char *)&mccmnc[0], "234", 3) == 0) {
+                    nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_TCP_MTU_Size  = 1280;
                     nvram_ims_profile_ptr->ua_config.register_expiry                 = 7190;
                     nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout      = 90;
                     nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout     = 90;
@@ -11481,20 +11563,20 @@
                     nvram_ims_profile_ptr->ua_config.UA_call_amr_oct_pt              = 96;
                     nvram_ims_profile_ptr->ua_config.UA_call_amr_wb_oct_pt           = 107;
                     nvram_ims_profile_ptr->ua_config.UA_call_tel_evt_pt              = 110;
-                    nvram_ims_profile_ptr->ua_config.UA_call_tel_evt_wb_pt           = 111;                    
-                    nvram_ims_profile_ptr->ua_config.UA_call_evs_pt                  = 112;                    
+                    nvram_ims_profile_ptr->ua_config.UA_call_tel_evt_wb_pt           = 111;
+                    nvram_ims_profile_ptr->ua_config.UA_call_evs_pt                  = 112;
                     nvram_ims_profile_ptr->ua_config.UA_call_amr_wb_pt               = 116;
                     nvram_ims_profile_ptr->ua_config.UA_call_amr_pt                  = 118;
-                    nvram_ims_profile_ptr->ua_config.show_octet_align                = 0;                                          
+                    nvram_ims_profile_ptr->ua_config.show_octet_align                = 0;
                     nvram_ims_profile_ptr->ua_config.UA_call_amr_fmt_variant         = 0x1111;
-                    nvram_ims_profile_ptr->ua_config.reuse_transport_methods         = 0x00000254; // REFER, CANCEL, ACK, SUBSCRIBE                     
+                    nvram_ims_profile_ptr->ua_config.reuse_transport_methods         = 0x00000254; // REFER, CANCEL, ACK, SUBSCRIBE
                     nvram_ims_profile_ptr->ua_config.use_pau_at_sdp_origin           = 1;
                     nvram_ims_profile_ptr->ua_config.set_des_strength_optional       = 1;
                     nvram_ims_profile_ptr->ua_config.rereg_in_oos_end                = 1;
                     nvram_ims_profile_ptr->ua_config.oos_end_reset_tcp_client        = 1;
                     nvram_ims_profile_ptr->ua_config.init_reg_delay_time             = 2;
                     nvram_ims_profile_ptr->ua_config.sdp_group_rtpmap_fmtp           = 1;
-                    nvram_ims_profile_ptr->ua_config.sdp_group_rtpmap_ptime          = 0;                   
+                    nvram_ims_profile_ptr->ua_config.sdp_group_rtpmap_ptime          = 0;
                     nvram_ims_profile_ptr->ua_config.from_header_peer_addr           = 1;
 #ifdef __EVS_SUPPORT__
                     nvram_ims_profile_ptr->ua_config.evs_support                     = 1;
@@ -11512,11 +11594,8 @@
                 }
                 /* Spain */
                 else if (strncmp((char *)&mccmnc[0], "214", 3) == 0) {
-                    nvram_ims_profile_ptr->imc_config.sms_support                       = 0;
-                    nvram_ims_profile_ptr->imc_config.rfc5626_flow_recovery             = 1;
                     nvram_ims_profile_ptr->imc_config.switch_prefer_rat_dereg           = 1;
-                    nvram_ims_profile_ptr->ua_config.sms_network_types                  = 0x00;
-                    nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_TCP_MTU_Size     = 1080;
+                    nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_TCP_MTU_Size     = 1280;
                     nvram_ims_profile_ptr->ua_config.always_use_sip_uri_for_mo_call     = 1;
                     nvram_ims_profile_ptr->ua_config.register_expiry                    = 3600;
                     nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout         = 90;
@@ -11545,7 +11624,6 @@
                     nvram_ims_profile_ptr->ua_config.always_add_user_phone_in_conf_refer = 1;
                     nvram_ims_profile_ptr->ua_config.use_org_sdp_for_invite_without_sdp = 1;
                     nvram_ims_profile_ptr->ua_config.audio_dscp                         = 46;
-
                     /* IMCB */
                     nvram_ims_profile_ptr->imc_config.dedicated_fallback_support        = 1;
                 }
@@ -11642,6 +11720,7 @@
             nvram_ims_profile_ptr->imc_config.emergency_pdn_retain_timer = 18000;
             nvram_ims_profile_ptr->imc_config.not_acquire_audio_rtcp    = 1;
             nvram_ims_profile_ptr->imc_config.is_ims_retry_status       = 1; // ALWAYS
+            nvram_ims_profile_ptr->imc_config.allow_emergency_dereg     = 2; //deactivate emergency PDN directly
 
             /* IMCB, Reg/Stack, UA internal configurations */
             /* Call */
@@ -11831,7 +11910,8 @@
                     nvram_ims_profile_ptr->ua_config.UA_call_codec_order2               = 2;
                     nvram_ims_profile_ptr->ua_config.UA_call_codec_order3               = 1;
 #endif /* __EVS_SUPPORT__ */
-                    nvram_ims_profile_ptr->ua_config.add_cni_in_wifi                    = 1;
+                    nvram_ims_profile_ptr->ua_config.add_cni_in_wifi                    = 1;                   
+					nvram_ims_profile_ptr->ua_config.evs_configuration_profile          = 1;                   
                     nvram_ims_profile_ptr->ua_config.delay_unhold_call                  = 1;
                     nvram_ims_profile_ptr->ua_config.add_country_to_pani                = 1;
 
@@ -11955,9 +12035,9 @@
             nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout    = 90;
             nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout     = 90;
             nvram_ims_profile_ptr->ua_config.confidence_level               = 90;
-            nvram_ims_profile_ptr->ua_config.subscribe_dialog_to_server     = 0;        //30808.12
-            nvram_ims_profile_ptr->ua_config.refer_dialog_to_server         = 0;        //30808.12
-            nvram_ims_profile_ptr->ua_config.send_refer_to_peer             = 1;
+            nvram_ims_profile_ptr->ua_config.subscribe_dialog_to_server     = 1;        //30808.12
+            nvram_ims_profile_ptr->ua_config.refer_dialog_to_server         = 1;        //30808.12
+            nvram_ims_profile_ptr->ua_config.send_refer_to_peer             = 0;
             nvram_ims_profile_ptr->ua_config.rereg_in_rat_change            = 1;
             nvram_ims_profile_ptr->ua_config.wfc_refresh_23g                = 1;
             nvram_ims_profile_ptr->ua_config.call_mo_pidf_usage             = 0x0E;     // PIDF_WFC_EMERG_ENABLE
@@ -11966,6 +12046,7 @@
 
             /* IMC */
             nvram_ims_profile_ptr->imc_config.allow_emergency_dereg  = 2;   // deactivate ECC PDN directly
+			nvram_ims_profile_ptr->imc_config.nr_recovery_support    = 1;
 
             break;
         }
@@ -12047,6 +12128,7 @@
             nvram_ims_profile_ptr->ua_config.emerg_reg_timer                = 10;
             /* IMC */
             nvram_ims_profile_ptr->imc_config.allow_emergency_dereg         = 2;   // deactivate ECC PDN directly
+            nvram_ims_profile_ptr->imc_config.emergency_reg_retain_timer    = 300000;   //300s
 
             break;
         }
@@ -13154,12 +13236,13 @@
                     nvram_ims_profile_ptr->ua_config.call_id_with_host_inCall           = 1;
                     nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout        = 30;
                     nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout         = 30;
-                    nvram_ims_profile_ptr->ua_config.call_tcall_timer_timeout           = 25;
+                    nvram_ims_profile_ptr->ua_config.call_tcall_timer_timeout           = 8;
                     nvram_ims_profile_ptr->ua_config.merge_send_bye                     = 0;
                     nvram_ims_profile_ptr->ua_config.refer_dialog_to_server             = 1;
                     nvram_ims_profile_ptr->ua_config.subscribe_dialog_to_server         = 1;
                     nvram_ims_profile_ptr->ua_config.force_srvcc_transfer               = 0x03;
                     nvram_ims_profile_ptr->ua_config.sub_def_expires                    = 259200;
+					nvram_ims_profile_ptr->ua_config.add_cni_in_wifi                    = 1;
                     nvram_ims_profile_ptr->ua_config.conf_participant_not_subscribe     = 1;
                     memset(&nvram_ims_profile_ptr->ua_config.UA_call_amr_mode_set[0],0,16);
                     strncpy ( (char *)nvram_ims_profile_ptr->ua_config.UA_call_amr_mode_set,
@@ -13175,7 +13258,8 @@
                     /* Reg/Stack */
                     nvram_ims_profile_ptr->ua_config.register_expiry                    = 3600;
                     nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_TCP_MTU_Size     = 1080;
-                    nvram_ims_profile_ptr->ua_config.add_country_to_pani                = 1;
+                    nvram_ims_profile_ptr->ua_config.add_country_to_pani                = 3;        // Add country in WFC and VOLTE MESSAGE/REG/INVITE
+                    nvram_ims_profile_ptr->ua_config.geolocation_type                   = 2;
                     nvram_ims_profile_ptr->ua_config.contact_with_accesstype            = 1;
                     nvram_ims_profile_ptr->ua_config.pidf_country                       = 1;
                     nvram_ims_profile_ptr->ua_config.pend_dereg_in_initial_reg          = 1;
@@ -13448,6 +13532,8 @@
                     nvram_ims_profile_ptr->imc_config.pdn_retry_base_time                   = 10;
                     nvram_ims_profile_ptr->imc_config.pdn_retry_max_time                    = 10000;
                     nvram_ims_profile_ptr->imc_config.pdn_retry_pre_backoff_count           = 0;
+                    /* IMC */
+                    nvram_ims_profile_ptr->imc_config.emergency_call_category_mapping       = 1;
                 }
                 /* Chile */
                 else if (strncmp((char *)&mccmnc[0], "730", 3) == 0) {
@@ -13989,6 +14075,9 @@
             nvram_ims_profile_ptr->ua_config.pend_dereg_in_initial_reg      = 1;
             nvram_ims_profile_ptr->ua_config.sip_compact_headers            = 1;
             nvram_ims_profile_ptr->imc_config.wifi_em_reg_by_em_pdn         = 1;
+            /* IMCB */
+            nvram_ims_profile_ptr->imc_config.normal_pdn_retry_count        = 2;
+            nvram_ims_profile_ptr->imc_config.emergency_pdn_retain_timer    = 60000;
             nvram_ims_profile_ptr->imc_config.pcscf_reselect_flag           = 1;
             /* Call */
             nvram_ims_profile_ptr->ua_config.short_code_support             = 1;
@@ -14220,6 +14309,7 @@
             nvram_ims_profile_ptr->ua_config.add_cni_in_wifi                    = 0x01;  // Add CNI to all operations. 
             nvram_ims_profile_ptr->ua_config.contact_with_transport             = 0;
             nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_Force_Use_UDP    = 1;
+			nvram_ims_profile_ptr->ua_config.initial_reg_without_pani           = 1;
 
             /* IMCB */
             nvram_ims_profile_ptr->imc_config.not_acquire_audio_rtcp            = 1;
@@ -14268,6 +14358,7 @@
 
                     /* Reg/Stack */
                     nvram_ims_profile_ptr->ua_config.retry_interval_after_403       = 7200;
+					nvram_ims_profile_ptr->ua_config.initial_reg_without_pani       = 1;
                     /* IMCB */
                     memset(&nvram_ims_profile_ptr->imc_config.pcscf_home_policy_list[0],0,32);
                     strncpy((char *)nvram_ims_profile_ptr->imc_config.pcscf_home_policy_list,
@@ -14308,6 +14399,7 @@
                     nvram_ims_profile_ptr->ua_config.not_auto_reg_403               = 1;
                     nvram_ims_profile_ptr->ua_config.conf_participant_not_subscribe = 1;
                     nvram_ims_profile_ptr->ua_config.pend_dereg_in_initial_reg      = 1;
+					nvram_ims_profile_ptr->ua_config.initial_reg_without_pani       = 1;
                     /*IMC*/
                     nvram_ims_profile_ptr->imc_config.location_info_support         = 1;
                     nvram_ims_profile_ptr->imc_config.pdn_retry_base_time           = 10;
@@ -14347,6 +14439,8 @@
 
 					/*IMC*/
                     nvram_ims_profile_ptr->imc_config.nr_recovery_support           = 1;
+					/* Reg/Stack */
+					nvram_ims_profile_ptr->ua_config.initial_reg_without_pani       = 1;
                 }
                 /* Mexico */
                 else if (strncmp((char *)&mccmnc[0], "334", 3) == 0) {
@@ -14383,6 +14477,7 @@
                     nvram_ims_profile_ptr->ua_config.UA_reg_b_timer                 = 90000;
                     nvram_ims_profile_ptr->ua_config.UA_reg_t1_timer                = 5000;
                     nvram_ims_profile_ptr->ua_config.reuse_transport_methods        = 0x00000254;
+					nvram_ims_profile_ptr->ua_config.initial_reg_without_pani       = 1;
                 }
                 /*Chile*/
                 else if (strncmp((char *)&mccmnc[0], "730", 3) == 0) {
@@ -14413,6 +14508,7 @@
                     nvram_ims_profile_ptr->ua_config.UA_reg_ipsec_algo              = 0x28;
                     nvram_ims_profile_ptr->ua_config.rereg_in_oos_end               = 1;
                     nvram_ims_profile_ptr->imc_config.auto_re_reg_max_timer         = 300000;
+					nvram_ims_profile_ptr->ua_config.initial_reg_without_pani       = 1;
 
                     /*IMCB*/
                     nvram_ims_profile_ptr->imc_config.ims_v4v6_preference           = 2;
@@ -14462,6 +14558,7 @@
                     nvram_ims_profile_ptr->ua_config.UA_reg_t4_timer                    = 5000;
                     nvram_ims_profile_ptr->ua_config.UA_reg_ipsec_algo                  = 0x3C;
                     nvram_ims_profile_ptr->ua_config.conf_participant_not_subscribe     = 1;
+					nvram_ims_profile_ptr->ua_config.initial_reg_without_pani           = 1;
 
 
                     /*IMCB*/
@@ -14491,6 +14588,7 @@
 
                     /* Reg/Stack */
                     nvram_ims_profile_ptr->ua_config.reg_gruu_support                   = 0;
+					nvram_ims_profile_ptr->ua_config.initial_reg_without_pani           = 1;
 
 
                     /*IMCB*/
@@ -14789,6 +14887,7 @@
                     nvram_ims_profile_ptr->ua_config.session_refresher_in_req           = 1;          
                     nvram_ims_profile_ptr->ua_config.session_refresher_in_resp          = 1;          
                     nvram_ims_profile_ptr->ua_config.subscribe_dialog_to_server         = 1;          
+                    nvram_ims_profile_ptr->ua_config.check_380_xml_with_no_action       = 1;					
 
                     /* Reg/Stack */
                     nvram_ims_profile_ptr->ua_config.add_country_to_pani                = 1;          
@@ -14844,9 +14943,9 @@
                     nvram_ims_profile_ptr->ua_config.rtcp_interval                      = 0;
                     nvram_ims_profile_ptr->ua_config.refer_dialog_to_server             = 1;
                     nvram_ims_profile_ptr->ua_config.send_183_when_prcd_none            = 0;
-                    nvram_ims_profile_ptr->ua_config.use_org_sdp_for_invite_without_sdp = 1;
                     nvram_ims_profile_ptr->ua_config.transfer_conf_call_as_1to1         = 0;
                     nvram_ims_profile_ptr->ua_config.early_media_when_rtp_coming        = 1;
+					nvram_ims_profile_ptr->ua_config.delay_unhold_call                  = 1;
 
                     /* Reg/Stack */
                     nvram_ims_profile_ptr->ua_config.authorization_with_algo            = 1;
@@ -15004,6 +15103,42 @@
                     nvram_ims_profile_ptr->ua_config.reg_gruu_support                   = 0;
                     nvram_ims_profile_ptr->ua_config.bypass_403_reason_phrase           = 1;
                 }
+                /* Latvia */
+                else if(strncmp((char *)&mccmnc[0], "247", 3) == 0){
+                    nvram_ims_profile_ptr->imc_config.nw_vops_rule                      = 0x18;     // 11000, IMS reg maintained but initial reg not allowed
+                    nvram_ims_profile_ptr->imc_config.no_ims_reg_during_active_cs_call  = 1;        // not register for WFC during a CS call
+                    nvram_ims_profile_ptr->imc_config.srvcc_no_ims_dereg_until_call_rel = 1;        // delay IMS dereg in 23G until call is released
+                    nvram_ims_profile_ptr->imc_config.ussd_support                      = 1;
+                    nvram_ims_profile_ptr->imc_config.emergency_call_category_mapping   = 1;
+                    nvram_ims_profile_ptr->imc_config.rfc5626_flow_recovery             = 1;
+
+                    /*IMCB, Reg/Stack, UA internal configurations */
+                    /* Call */
+                    nvram_ims_profile_ptr->ua_config.UA_call_session_min_se             = 90;
+                    nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout         = 180;
+                    nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout        = 180;
+                    nvram_ims_profile_ptr->ua_config.always_use_sip_uri_for_mo_call     = 0;
+                    nvram_ims_profile_ptr->ua_config.subscribe_dialog_to_server         = 1;
+                    nvram_ims_profile_ptr->ua_config.refer_dialog_to_server             = 1;
+                    nvram_ims_profile_ptr->ua_config.merge_send_bye                     = 0;
+                    nvram_ims_profile_ptr->ua_config.force_srvcc_transfer               = 0;
+                #ifdef __EVS_SUPPORT__
+                    nvram_ims_profile_ptr->ua_config.evs_support                        = 1;
+                    nvram_ims_profile_ptr->ua_config.UA_call_codec_order1               = 17;
+                    nvram_ims_profile_ptr->ua_config.UA_call_codec_order2               = 2;
+                    nvram_ims_profile_ptr->ua_config.UA_call_codec_order3               = 1;
+                    nvram_ims_profile_ptr->ua_config.br_end                             = 6;
+                    nvram_ims_profile_ptr->ua_config.br_send_end                        = 6;
+                    nvram_ims_profile_ptr->ua_config.br_recv_end                        = 6;
+                    nvram_ims_profile_ptr->ua_config.ch_aw_recv                         = -1;
+                #endif
+
+                    /* Reg/Stack */
+                    nvram_ims_profile_ptr->ua_config.not_auto_reg_403                   = 1;
+                    nvram_ims_profile_ptr->ua_config.initial_reg_without_pani           = 1;
+                    nvram_ims_profile_ptr->ua_config.reg_gruu_support                   = 0;
+                    nvram_ims_profile_ptr->ua_config.bypass_403_reason_phrase           = 1;
+                }
             }
             break;
         }
@@ -15522,6 +15657,7 @@
             nvram_ims_profile_ptr->ua_config.geolocation_type                   = 4;
             nvram_ims_profile_ptr->ua_config.pidf_country                       = 1;
             nvram_ims_profile_ptr->ua_config.always_fetch_1st_entry_in_hisInfo  = 1;
+            nvram_ims_profile_ptr->ua_config.add_cni_in_wifi                    = 1;
             nvram_ims_profile_ptr->ua_config.upgrade_cancel_feature             = 1;
             
 #ifdef __EVS_SUPPORT__
@@ -15682,6 +15818,9 @@
             /*IMCB, Reg/Stack, UA internal configurations */
             /* Call */
             nvram_ims_profile_ptr->ua_config.refer_dialog_to_server             = 1;
+            nvram_ims_profile_ptr->ua_config.subscribe_dialog_to_server         = 1;
+            nvram_ims_profile_ptr->ua_config.conf_participant_not_subscribe     = 1;
+            nvram_ims_profile_ptr->ua_config.merge_send_bye                     = 0;
             nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout         = 180;
             nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout        = 180;
             nvram_ims_profile_ptr->ua_config.early_media_when_rtp_coming        = 1;
@@ -15706,6 +15845,7 @@
             nvram_ims_profile_ptr->ua_config.ect_refer_to_use_pai               = 1;
             nvram_ims_profile_ptr->ua_config.ect_refer_to_use_sip_uri           = 1;
             nvram_ims_profile_ptr->ua_config.call_mo_pidf_usage                 = 8; // PIDF_WFC_EMERG_ENABLE, PIDF_WFC_ENABLE, PIDF_VOLTE_EMERG_ENABLE
+            nvram_ims_profile_ptr->ua_config.call_invite_no_rsp_ran_prio_req_timer_timeout = 3;
 
             /* Reg/Stack */
             nvram_ims_profile_ptr->ua_config.random_init_ipsec_port             = 0;
@@ -15902,6 +16042,9 @@
             /* IMCB */
             nvram_ims_profile_ptr->imc_config.is_ims_retry_status               = 2;        // Rely on AUTO_REREG
 
+            /* Reg/Stack */
+            nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                = 0;            
+            
             /* Country specific configurations */
             if (with_imsi_info) {
                 /* Denmark */
@@ -15953,6 +16096,7 @@
                     nvram_ims_profile_ptr->ua_config.follow_nw_ims_vops_support         = 1;
                     nvram_ims_profile_ptr->ua_config.add_precondition_in_hold_unhold_sdp= 0;
                     nvram_ims_profile_ptr->ua_config.query_other_sim_call_state         = 1;
+                    nvram_ims_profile_ptr->ua_config.conf_participant_not_subscribe     = 1;
                 #ifdef __EVS_SUPPORT__
                     nvram_ims_profile_ptr->ua_config.evs_support                        = 1;
                     nvram_ims_profile_ptr->ua_config.UA_call_codec_order1               = 17;
@@ -15968,7 +16112,6 @@
                     nvram_ims_profile_ptr->ua_config.reg_gruu_support                   = 0;
                     nvram_ims_profile_ptr->imc_config.ignore_sgn_qci_check              = 0x7; // 111
                     nvram_ims_profile_ptr->ua_config.not_auto_reg_403                   = 1;
-                    nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                = 0;
 
                     /* IMCB */
                     nvram_ims_profile_ptr->imc_config.not_acquire_audio_rtcp            =1;
@@ -16017,6 +16160,7 @@
                     nvram_ims_profile_ptr->ua_config.geolocation_type                   = 2;
                     nvram_ims_profile_ptr->ua_config.init_reg_delay_time                = 30;
                     nvram_ims_profile_ptr->ua_config.not_auto_reg_403                   = 1;
+                    nvram_ims_profile_ptr->ua_config.contact_with_accesstype            = 1;
 
                     /* IMCB */
                     nvram_ims_profile_ptr->imc_config.not_acquire_audio_rtcp            = 1;
@@ -16840,6 +16984,31 @@
                     );
                     
                 }
+                 /* Jordan mcc = 416*/
+                else if(strncmp((char *)&mccmnc[0], "416", 3) == 0){
+                /* reset to default */
+                    imc_set_mtk_default_value(nvram_ims_profile_ptr);
+                    nvram_ims_profile_ptr->ua_config.operator_code                      = 0x009E;     //operator_code = 158(Zain)
+                    set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
+                
+                    /* Common */
+                    nvram_ims_profile_ptr->imc_config.disable_isim_application          = 1;
+                    
+                    /* Reg */
+                    nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_Force_Use_UDP  	= 1;
+    
+                    /* Bearer */
+                    nvram_ims_profile_ptr->imc_config.resource_retain_timer             = 6000;
+
+                    /* Call */
+                    nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout         = 90;
+                    nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout        = 90;
+                    nvram_ims_profile_ptr->ua_config.refer_dialog_to_server             = 1;
+                    nvram_ims_profile_ptr->ua_config.conf_participant_not_subscribe     = 1;
+
+                    /* SMS */
+                    nvram_ims_profile_ptr->ua_config.sms_network_types                  = 0x00;
+                  }
                 /* Iraq */
                 else if (strncmp((char *)&mccmnc[0], "418", 3) == 0) {
                     /* reset to default */
@@ -17105,7 +17274,7 @@
             nvram_ims_profile_ptr->ua_config.use_eps_prefix_in_phone_context    = 0;
             nvram_ims_profile_ptr->ua_config.call_invite_no_rsp_ran_prio_req_timer_timeout = 3;
             nvram_ims_profile_ptr->ua_config.always_add_user_phone_in_conf_refer = 1;
-            nvram_ims_profile_ptr->ua_config.ims_notify_feature_enabled         = 1;
+            // nvram_ims_profile_ptr->ua_config.ims_notify_feature_enabled         = 1; Disabled temporarily due ALPS07861338/MOLY01027524(Network isssue) 
             nvram_ims_profile_ptr->ua_config.call_tcall_timer_timeout           = 18;
 
             /* Reg/Stack */
@@ -17406,6 +17575,10 @@
             nvram_ims_profile_ptr->ua_config.register_expiry                    = 1800;       
 
             /* IMCB */
+			nvram_ims_profile_ptr->imc_config.pdn_retry_backoff_enable          = 1;          
+            nvram_ims_profile_ptr->imc_config.pdn_retry_base_time               = 10;         
+            nvram_ims_profile_ptr->imc_config.pdn_retry_max_time                = 10000;      
+            nvram_ims_profile_ptr->imc_config.pdn_retry_pre_backoff_count       = 0;
 
             /* IMC */
             if (with_imsi_info) {
@@ -17815,6 +17988,24 @@
             nvram_ims_profile_ptr->imc_config.pdn_retry_base_time               = 10;
             nvram_ims_profile_ptr->imc_config.pdn_retry_max_time                = 10000;
             nvram_ims_profile_ptr->imc_config.pdn_retry_pre_backoff_count       = 0;
+			
+			/* Country specific configurations */
+            if(with_imsi_info){
+                if(strncmp((char *)&mccmnc[0], "744", 3) == 0){
+                    imc_set_mtk_default_value(nvram_ims_profile_ptr);
+                    nvram_ims_profile_ptr->ua_config.operator_code                      = 0x00B7;   //operator_code = 183 (Personal)
+                    set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
+                    /* Call */
+			        nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout         = 120;
+			        nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout        = 120;
+					nvram_ims_profile_ptr->ua_config.UA_call_session_timer              = 900;
+					nvram_ims_profile_ptr->ua_config.UA_call_tel_evt                    = 0;
+                    /* IMC */
+                    
+                    /*Reg*/
+                    nvram_ims_profile_ptr->ua_config.reg_gruu_support                   = 0;
+                }
+            }
             break;
         }
         case 184: /* Viettel/Vietnam */
@@ -18364,6 +18555,7 @@
                     nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout         = 180;        
                     nvram_ims_profile_ptr->ua_config.show_octet_align                   = 0;          
                     nvram_ims_profile_ptr->ua_config.refer_dialog_to_server             = 1;
+                    nvram_ims_profile_ptr->ua_config.prefer_original_codec              = 0;
 
                     /* Reg/Stack */
                     nvram_ims_profile_ptr->ua_config.UA_reg_ipsec_algo                  = 0x03;       
@@ -19224,12 +19416,6 @@
                     nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout         = 120;        
                     nvram_ims_profile_ptr->ua_config.refer_dialog_to_server             = 1;
                     nvram_ims_profile_ptr->ua_config.prefer_original_codec              = 0;
-                #ifdef __EVS_SUPPORT__
-                    nvram_ims_profile_ptr->ua_config.UA_call_codec_order1               = 17;
-                    nvram_ims_profile_ptr->ua_config.UA_call_codec_order2               = 2;
-                    nvram_ims_profile_ptr->ua_config.UA_call_codec_order3               = 1;
-                    nvram_ims_profile_ptr->ua_config.evs_support                        = 1;
-                #endif /* __EVS_SUPPORT__ */
 
                     /* Reg/Stack */
                     nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_Force_Use_UDP    = 1;          
@@ -19241,6 +19427,35 @@
                     nvram_ims_profile_ptr->imc_config.ussd_support                      = 1;
                     nvram_ims_profile_ptr->imc_config.switch_prefer_rat_dereg           = 1;
                 }    
+				/* Panama mcc = 714*/
+                else if(strncmp((char *)&mccmnc[0], "714", 3) == 0){
+                    /* reset to default */
+                    imc_set_mtk_default_value(nvram_ims_profile_ptr);
+                    nvram_ims_profile_ptr->ua_config.operator_code                      = 0x00dc;     //operator_code = 220(Tigo)
+                    set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
+                    /* IMCB, Reg/Stack, UA internal configurations */
+                    /* Call*/
+                    nvram_ims_profile_ptr->ua_config.use_eps_prefix_in_phone_context    = 0;
+                    nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout        = 60;
+                    nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout         = 60;
+                    nvram_ims_profile_ptr->ua_config.refer_dialog_to_server             = 1;
+                    nvram_ims_profile_ptr->ua_config.subscribe_dialog_to_server         = 1;
+                    nvram_ims_profile_ptr->ua_config.add_country_to_pani                = 2;
+                    #ifdef __EVS_SUPPORT__
+                    nvram_ims_profile_ptr->ua_config.UA_call_codec_order1               = 17;
+                    nvram_ims_profile_ptr->ua_config.UA_call_codec_order2               = 2;
+                    nvram_ims_profile_ptr->ua_config.UA_call_codec_order3               = 1;
+                    nvram_ims_profile_ptr->ua_config.evs_support                        = 1;
+                    #endif  /* __EVS_SUPPORT__ */
+
+                    /* Reg/Stack */
+					nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_Force_Use_UDP    = 1;
+					
+                    /* IMCB */
+
+                    /* IMC */
+					
+                }
                 /* Colombia */
                 else if (strncmp((char *)&mccmnc[0], "732", 3) == 0) {
                     /* reset to default */
@@ -19299,6 +19514,7 @@
 					nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout         = 90;
 
                     /* Reg/Stack */     
+                    nvram_ims_profile_ptr->ua_config.reg_gruu_support                   = 0;
 
                     /* IMCB */
 
@@ -19513,6 +19729,8 @@
                     nvram_ims_profile_ptr->ua_config.pend_dereg_in_initial_reg          = 1;
                     nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                = 0;
                     nvram_ims_profile_ptr->ua_config.add_pcni_in_vowifi                 = 1;
+                    nvram_ims_profile_ptr->ua_config.not_auto_reg_403                   = 1;
+                    nvram_ims_profile_ptr->ua_config.bypass_403_reason_phrase           = 1;
                     
                     /* IMCB */
                     nvram_ims_profile_ptr->imc_config.auto_re_reg_max_timer             = 300000;     
@@ -20035,6 +20253,7 @@
             /* IMC, IMCB */
             nvram_ims_profile_ptr->imc_config.not_acquire_audio_rtcp            = 1;
             nvram_ims_profile_ptr->imc_config.not_acquire_video_rtcp            = 1;
+            nvram_ims_profile_ptr->imc_config.is_ims_retry_status               = 2;   //IMC_IS_IMS_RETRY_RELETED_ON_AUTO_REREG
             break;
         }
 
@@ -20787,6 +21006,11 @@
             nvram_ims_profile_ptr->ua_config.UA_reg_t4_timer                    = 10000;   
             nvram_ims_profile_ptr->ua_config.initial_reg_without_pani           = 1;
             nvram_ims_profile_ptr->ua_config.not_auto_reg_403                   = 1;
+            nvram_ims_profile_ptr->ua_config.contact_with_accesstype            = 1;
+            nvram_ims_profile_ptr->ua_config.add_country_to_pani                = 1;
+            nvram_ims_profile_ptr->ua_config.add_cni_in_wifi                    = 0x01;  // Add CNI to all operations.
+            nvram_ims_profile_ptr->ua_config.add_cell_info_age_to_cni           = 1;
+            nvram_ims_profile_ptr->ua_config.call_id_with_host_inReg            = 1;
 
             /* IMCB */
             nvram_ims_profile_ptr->imc_config.ims_v4v6_preference               = 2;        // v4_prefer
@@ -20800,6 +21024,7 @@
             nvram_ims_profile_ptr->imc_config.location_info_support               = 2;
             nvram_ims_profile_ptr->imc_config.auto_re_reg_max_timer               = 60000;  // 60 sec
             nvram_ims_profile_ptr->imc_config.wifi_em_reg_by_em_pdn               = 1;
+            nvram_ims_profile_ptr->imc_config.is_ims_retry_status			      = 2;      //IMC_IS_IMS_RETRY_RELETED_ON_AUTO_REREG
 
             /* IMCB, Reg/Stack, UA internal configurations */
             /* Call */
@@ -20828,6 +21053,7 @@
             nvram_ims_profile_ptr->ua_config.ect_refer_to_use_sip_uri           = 1;
             nvram_ims_profile_ptr->ua_config.set_non_sendrecv_rtcp_0            = 1;
             nvram_ims_profile_ptr->ua_config.in_reply_to_support                = 0;
+            nvram_ims_profile_ptr->ua_config.UA_call_amr_fmt_variant            = 0x1111;
 
             /* Reg/Stack */
             nvram_ims_profile_ptr->ua_config.UA_net_ipsec                         = 0x01;  // IPsec for Normal Registration only
@@ -20969,32 +21195,6 @@
             
             break;
         }
-        case 282: /* Mobily */
-        {
-            /*Saudi mcc = 420*/
-            nvram_ims_profile_ptr->ua_config.operator_code                      = 0x011a;     //operator_code = 282(Mobily)
-            set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
-            /* IMCB, Reg/Stack, UA internal configurations */
-            /* Call*/
-            nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout        = 90;         
-            nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout         = 90;        
-            nvram_ims_profile_ptr->ua_config.refer_dialog_to_server             = 1;            
-            nvram_ims_profile_ptr->ua_config.transfer_conf_call_as_1to1         = 0;
-            nvram_ims_profile_ptr->ua_config.add_cni_in_wifi                    = 0x01; 
-
-            /* Reg/Stack */
-            nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_TCP_MTU_Size     = 1500;       
-            nvram_ims_profile_ptr->ua_config.pend_dereg_in_initial_reg          = 1;
-
-            /* IMCB */
-            nvram_ims_profile_ptr->imc_config.pdn_retry_backoff_enable          = 1;          
-            nvram_ims_profile_ptr->imc_config.pdn_retry_base_time               = 10;         
-            nvram_ims_profile_ptr->imc_config.pdn_retry_max_time                = 10000;      
-            nvram_ims_profile_ptr->imc_config.pdn_retry_pre_backoff_count       = 0;          
-
-            /* IMC */
-            break;
-        }
         case 280: /* OTZ-US */
         {
             nvram_ims_profile_ptr->ua_config.operator_code                        = 0x0118; //operator_code = 280
@@ -21084,6 +21284,32 @@
         
             break;
         }
+        case 282: /* Mobily */
+        {
+            /*Saudi mcc = 420*/
+            nvram_ims_profile_ptr->ua_config.operator_code                      = 0x011a;     //operator_code = 282(Mobily)
+            set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
+            /* IMCB, Reg/Stack, UA internal configurations */
+            /* Call*/
+            nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout        = 90;         
+            nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout         = 90;        
+            nvram_ims_profile_ptr->ua_config.refer_dialog_to_server             = 1;            
+            nvram_ims_profile_ptr->ua_config.transfer_conf_call_as_1to1         = 0;
+            nvram_ims_profile_ptr->ua_config.add_cni_in_wifi                    = 0x01; 
+
+            /* Reg/Stack */
+            nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_TCP_MTU_Size     = 1500;       
+            nvram_ims_profile_ptr->ua_config.pend_dereg_in_initial_reg          = 1;
+
+            /* IMCB */
+            nvram_ims_profile_ptr->imc_config.pdn_retry_backoff_enable          = 1;          
+            nvram_ims_profile_ptr->imc_config.pdn_retry_base_time               = 10;         
+            nvram_ims_profile_ptr->imc_config.pdn_retry_max_time                = 10000;      
+            nvram_ims_profile_ptr->imc_config.pdn_retry_pre_backoff_count       = 0;          
+
+            /* IMC */
+            break;
+        }
         case 283: /* MEO */
         {
             nvram_ims_profile_ptr->ua_config.operator_code                        = 0x011B;   //operator_code = 283(MEO/Portugal)
@@ -21165,6 +21391,27 @@
             
             break;
         }
+        case 285: /* Vinafhone/Vietnam */
+        {
+            nvram_ims_profile_ptr->ua_config.operator_code                      = 0x011d;     //operator_code = 285(Vinafhone)
+            /* IMCB, Reg/Stack, UA internal configurations */
+            /* Call*/
+            nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout        = 90;         
+            nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout         = 90;         
+            nvram_ims_profile_ptr->ua_config.refer_dialog_to_server             = 1;          
+
+            /* Reg/Stack */
+            nvram_ims_profile_ptr->ua_config.reg_gruu_support                   = 0;          
+            nvram_ims_profile_ptr->ua_config.register_expiry                    = 7200;       
+
+            /* IMCB */
+            nvram_ims_profile_ptr->imc_config.ims_v4v6_preference               = 2;          
+
+            /* IMC */          
+            nvram_ims_profile_ptr->imc_config.ussd_support                      = 1;          
+            nvram_ims_profile_ptr->imc_config.disable_isim_application          = 1;          
+            break;
+        }
         case 286: /* MNShubs */
         {
             nvram_ims_profile_ptr->ua_config.operator_code                        = 0x011e; //operator_code = 286(MNShubs)
@@ -21216,27 +21463,6 @@
 
             break;
         }
-        case 285: /* Vinafhone/Vietnam */
-        {
-            nvram_ims_profile_ptr->ua_config.operator_code                      = 0x011d;     //operator_code = 285(Vinafhone)
-            /* IMCB, Reg/Stack, UA internal configurations */
-            /* Call*/
-            nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout        = 90;         
-            nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout         = 90;         
-            nvram_ims_profile_ptr->ua_config.refer_dialog_to_server             = 1;          
-
-            /* Reg/Stack */
-            nvram_ims_profile_ptr->ua_config.reg_gruu_support                   = 0;          
-            nvram_ims_profile_ptr->ua_config.register_expiry                    = 7200;       
-
-            /* IMCB */
-            nvram_ims_profile_ptr->imc_config.ims_v4v6_preference               = 2;          
-
-            /* IMC */          
-            nvram_ims_profile_ptr->imc_config.ussd_support                      = 1;          
-            nvram_ims_profile_ptr->imc_config.disable_isim_application          = 1;          
-            break;
-        }
         case 287: /* Free France */
         {
             nvram_ims_profile_ptr->ua_config.operator_code                        = 0x011F;   //operator_code = 287(Free/France)
@@ -21318,6 +21544,29 @@
         
             break;
         }
+        case 289: /* Batelco */
+        {
+            /*Bahrain mcc = 426*/
+            nvram_ims_profile_ptr->ua_config.operator_code                      = 0x0121;     //operator_code = 289(Batelco)
+            /* IMCB, Reg/Stack, UA internal configurations */
+            set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
+            /* Call*/
+            nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout        = 60;         
+            nvram_ims_profile_ptr->ua_config.call_tcall_timer_timeout           = 9;          
+            nvram_ims_profile_ptr->ua_config.enable_in_band_tone_in_hold        = 0;          
+            nvram_ims_profile_ptr->ua_config.subscribe_dialog_to_server         = 1;
+            nvram_ims_profile_ptr->ua_config.refer_dialog_to_server             = 1;
+
+            /* Reg/Stack */
+            nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_TCP_MTU_Size     = 1280;       
+            nvram_ims_profile_ptr->ua_config.add_country_to_pani                = 1;          
+
+            /* IMCB */
+
+            /* IMC */
+            nvram_ims_profile_ptr->imc_config.disable_isim_application          = 1;          
+            break;
+        }
         case 290: /* Omantel */
         {
             /*Oman mcc = 422*/
@@ -21342,29 +21591,6 @@
             nvram_ims_profile_ptr->imc_config.disable_isim_application          = 1;          
             break;
         }
-        case 289: /* Batelco */
-        {
-            /*Bahrain mcc = 426*/
-            nvram_ims_profile_ptr->ua_config.operator_code                      = 0x0121;     //operator_code = 289(Batelco)
-            /* IMCB, Reg/Stack, UA internal configurations */
-            set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
-            /* Call*/
-            nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout        = 60;         
-            nvram_ims_profile_ptr->ua_config.call_tcall_timer_timeout           = 9;          
-            nvram_ims_profile_ptr->ua_config.enable_in_band_tone_in_hold        = 0;          
-            nvram_ims_profile_ptr->ua_config.subscribe_dialog_to_server         = 1;
-            nvram_ims_profile_ptr->ua_config.refer_dialog_to_server             = 1;
-
-            /* Reg/Stack */
-            nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_TCP_MTU_Size     = 1280;       
-            nvram_ims_profile_ptr->ua_config.add_country_to_pani                = 1;          
-
-            /* IMCB */
-
-            /* IMC */
-            nvram_ims_profile_ptr->imc_config.disable_isim_application          = 1;          
-            break;
-        }
         case 291: /* LMT */
         {
             nvram_ims_profile_ptr->ua_config.operator_code                        = 0x0123;   //operator_code = 291(Latvian Mobile Telephone)
@@ -21461,12 +21687,6 @@
             nvram_ims_profile_ptr->ua_config.ect_enable                         = 1;
             nvram_ims_profile_ptr->ua_config.refer_dialog_to_server             = 1;
             nvram_ims_profile_ptr->ua_config.subscribe_dialog_to_server         = 1;
-#ifdef __EVS_SUPPORT__            
-            nvram_ims_profile_ptr->ua_config.evs_support                       = 1;
-            nvram_ims_profile_ptr->ua_config.UA_call_codec_order1              = 17;
-            nvram_ims_profile_ptr->ua_config.UA_call_codec_order2              = 2;
-            nvram_ims_profile_ptr->ua_config.UA_call_codec_order3              = 1;
-#endif /* __EVS_SUPPORT__ */
             nvram_ims_profile_ptr->ua_config.conf_participant_not_subscribe    = 1;
             nvram_ims_profile_ptr->ua_config.early_media_when_rtp_coming       = 1;
             nvram_ims_profile_ptr->ua_config.asymmetric_payload_type_enable    = 1;
@@ -21800,6 +22020,73 @@
             break;
         }
 
+        case 314: /* TelePost/Greenland */
+        {
+            nvram_ims_profile_ptr->ua_config.operator_code                       = 0x013A;     //operator_code = TelePost/Greenland
+            set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
+
+            /* IMCB, Reg/Stack, UA internal configurations */
+            nvram_ims_profile_ptr->ua_config.contact_with_transport              = 0;
+            nvram_ims_profile_ptr->ua_config.dereg_clear_ipsec                   = 1;
+            nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                 = 0;
+            nvram_ims_profile_ptr->ua_config.ipsec_fail_allowed                  = 0;
+            nvram_ims_profile_ptr->ua_config.tcp_connect_max_time_all            = 20;
+            nvram_ims_profile_ptr->ua_config.default_reg_retry_mechanism         = 1;
+            nvram_ims_profile_ptr->ua_config.pend_dereg_in_initial_reg           = 1;
+
+            nvram_ims_profile_ptr->imc_config.not_acquire_audio_rtcp              = 1;
+            nvram_ims_profile_ptr->imc_config.not_acquire_video_rtcp              = 1;
+
+            /* Call*/
+            nvram_ims_profile_ptr->ua_config.rtp_rtcp_local_port_start           = 49512;
+            nvram_ims_profile_ptr->ua_config.rtp_rtcp_local_port_range           = 16383;
+            nvram_ims_profile_ptr->ua_config.rtcp_interval                       = 5000;
+            nvram_ims_profile_ptr->ua_config.UA_call_session_min_se              = 90;
+            nvram_ims_profile_ptr->ua_config.UA_call_rej_by_user_code            = 603;
+#ifdef __EVS_SUPPORT__
+            nvram_ims_profile_ptr->ua_config.evs_support                         = 1;
+            nvram_ims_profile_ptr->ua_config.UA_call_codec_order1                = 17;
+            nvram_ims_profile_ptr->ua_config.UA_call_codec_order2                = 2;
+            nvram_ims_profile_ptr->ua_config.UA_call_codec_order3                = 1;
+            nvram_ims_profile_ptr->ua_config.br_end                              = 6;
+            nvram_ims_profile_ptr->ua_config.bw_end                              = 2;
+            nvram_ims_profile_ptr->ua_config.bw_send_end                         = 2;
+            nvram_ims_profile_ptr->ua_config.bw_recv_end                         = 2;
+            nvram_ims_profile_ptr->ua_config.ch_aw_recv                          = 0;
+#endif /* __EVS_SUPPORT__ */
+            nvram_ims_profile_ptr->ua_config.refer_dialog_to_server              = 1;
+            nvram_ims_profile_ptr->ua_config.merge_send_bye                      = 0;
+            nvram_ims_profile_ptr->ua_config.conf_participant_not_subscribe      = 1;
+            nvram_ims_profile_ptr->ua_config.call_id_with_host_inCall            = 1;
+            nvram_ims_profile_ptr->ua_config.subscribe_dialog_to_server          = 1;
+            nvram_ims_profile_ptr->ua_config.early_media_when_rtp_coming         = 1;
+            nvram_ims_profile_ptr->ua_config.histinfo_in_supported               = 1;
+            nvram_ims_profile_ptr->ua_config.prefer_original_codec               = 0;
+            nvram_ims_profile_ptr->ua_config.resp_precondition_without_bw_cnf    = 1;
+            nvram_ims_profile_ptr->ua_config.force_srvcc_transfer                = 0;
+            nvram_ims_profile_ptr->ua_config.show_octet_align                    = 0;
+            nvram_ims_profile_ptr->ua_config.check_curr_qos                      = 1;
+            nvram_ims_profile_ptr->ua_config.keep_original_refresher_in_reinvite = 1;
+            nvram_ims_profile_ptr->ua_config.force_csfb_when663                  = 1;
+            nvram_ims_profile_ptr->ua_config.set_text_rtcp_0                     = 0;
+            nvram_ims_profile_ptr->ua_config.use_lower_anonymous                 = 1;
+            nvram_ims_profile_ptr->ua_config.update_call_id_with_host            = 1;
+            nvram_ims_profile_ptr->ua_config.use_pau_at_sdp_origin               = 1;
+            nvram_ims_profile_ptr->ua_config.ect_refer_to_use_pai                = 1;
+            nvram_ims_profile_ptr->ua_config.ect_refer_to_use_sip_uri            = 1;
+            nvram_ims_profile_ptr->ua_config.set_non_sendrecv_rtcp_0             = 1;
+            nvram_ims_profile_ptr->ua_config.add_param_in_rm_prtcpnt             = 1;
+            memset(&nvram_ims_profile_ptr->ua_config.UA_call_amr_mode_set[0],0,16);
+            memset(&nvram_ims_profile_ptr->ua_config.UA_call_amr_wb_mode_set[0],0,20);
+            strncpy((char *)nvram_ims_profile_ptr->ua_config.UA_call_amr_wb_mode_set,
+            "0,2,4,7", sizeof(nvram_ims_profile_ptr->ua_config.UA_call_amr_wb_mode_set)-1);
+            strncpy((char *)nvram_ims_profile_ptr->ua_config.UA_call_amr_mode_set,
+            "0,2,4,7", sizeof(nvram_ims_profile_ptr->ua_config.UA_call_amr_mode_set)-1);
+
+            /* Reg/Stack */
+            
+            break;
+        }
         case 315: /*Beeline Kazakhstan*/
         {
              nvram_ims_profile_ptr->ua_config.operator_code                        = 0x013B;      //operator_code = 315(Beeline Kazakhstan)
@@ -21966,113 +22253,6 @@
             break;
         }
 
-        case 321: /* Ora(viti) French */
-        {
-            nvram_ims_profile_ptr->ua_config.operator_code                             = 0x0141;      //operator_code = 141(Viti/french polynesia)
-            set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
-            /* Country specific configurations */
-            if (with_imsi_info) {
-                /* Ora(viti) French */
-                if (strncmp((char *)&mccmnc[0], "547", 3) == 0) {
-                /* call */
-                    nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout         = 35;
-                    nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout        = 35;
-                    nvram_ims_profile_ptr->ua_config.always_use_sip_uri_for_mo_call     = 0;
-                    nvram_ims_profile_ptr->ua_config.ch_aw_recv                         = 0xff;     // ch-aw-recv: -1
-                    nvram_ims_profile_ptr->ua_config.early_media_when_rtp_coming        = 1;
-                    nvram_ims_profile_ptr->ua_config.asymmetric_payload_type_enable     = 1;
-                    nvram_ims_profile_ptr->ua_config.mod_session_cnf_timer_timeout      = 30;
-                    nvram_ims_profile_ptr->ua_config.conf_call_final_notify_timer_timeout = 5;
-                    nvram_ims_profile_ptr->ua_config.upgrade_cancel_feature             = 1;
-                    nvram_ims_profile_ptr->ua_config.hold_unhold_send_eimscmode         = 1;
-                    nvram_ims_profile_ptr->ua_config.conf_participant_not_subscribe     = 1;
-                    #ifdef __EVS_SUPPORT__            
-                    nvram_ims_profile_ptr->ua_config.evs_support                        = 1;
-                    nvram_ims_profile_ptr->ua_config.UA_call_codec_order1               = 17;
-                    nvram_ims_profile_ptr->ua_config.UA_call_codec_order2               = 2;
-                    nvram_ims_profile_ptr->ua_config.UA_call_codec_order3               = 1;
-                    #endif /* __EVS_SUPPORT__ */
-                /* Reg/Stack */
-                    nvram_ims_profile_ptr->ua_config.pend_dereg_in_initial_reg          = 1;
-                    nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_TCP_MTU_Size     = 1080;
-                    nvram_ims_profile_ptr->ua_config.contact_with_accesstype            = 1;
-                    nvram_ims_profile_ptr->ua_config.add_country_to_pani                = 1;
-                    nvram_ims_profile_ptr->ua_config.add_cni_in_wifi                    = 0x01;  // Add CNI to all operations.
-                /* IMCB */
-                    nvram_ims_profile_ptr->imc_config.sms_support                       = 1;
-                     nvram_ims_profile_ptr->imc_config.ims_v4v6_preference              = 2;
-                }
-            }
-            break;
-        }
-               
-        case 314: /* TelePost/Greenland */
-        {
-            nvram_ims_profile_ptr->ua_config.operator_code                       = 0x013A;     //operator_code = TelePost/Greenland
-            set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
-
-            /* IMCB, Reg/Stack, UA internal configurations */
-            nvram_ims_profile_ptr->ua_config.contact_with_transport              = 0;
-            nvram_ims_profile_ptr->ua_config.dereg_clear_ipsec                   = 1;
-            nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                 = 0;
-            nvram_ims_profile_ptr->ua_config.ipsec_fail_allowed                  = 0;
-            nvram_ims_profile_ptr->ua_config.tcp_connect_max_time_all            = 20;
-            nvram_ims_profile_ptr->ua_config.default_reg_retry_mechanism         = 1;
-            nvram_ims_profile_ptr->ua_config.pend_dereg_in_initial_reg           = 1;
-
-            nvram_ims_profile_ptr->imc_config.not_acquire_audio_rtcp              = 1;
-            nvram_ims_profile_ptr->imc_config.not_acquire_video_rtcp              = 1;
-
-            /* Call*/
-            nvram_ims_profile_ptr->ua_config.rtp_rtcp_local_port_start           = 49512;
-            nvram_ims_profile_ptr->ua_config.rtp_rtcp_local_port_range           = 16383;
-            nvram_ims_profile_ptr->ua_config.rtcp_interval                       = 5000;
-            nvram_ims_profile_ptr->ua_config.UA_call_session_min_se              = 90;
-            nvram_ims_profile_ptr->ua_config.UA_call_rej_by_user_code            = 603;
-#ifdef __EVS_SUPPORT__
-            nvram_ims_profile_ptr->ua_config.evs_support                         = 1;
-            nvram_ims_profile_ptr->ua_config.UA_call_codec_order1                = 17;
-            nvram_ims_profile_ptr->ua_config.UA_call_codec_order2                = 2;
-            nvram_ims_profile_ptr->ua_config.UA_call_codec_order3                = 1;
-            nvram_ims_profile_ptr->ua_config.br_end                              = 6;
-            nvram_ims_profile_ptr->ua_config.bw_end                              = 2;
-            nvram_ims_profile_ptr->ua_config.bw_send_end                         = 2;
-            nvram_ims_profile_ptr->ua_config.bw_recv_end                         = 2;
-            nvram_ims_profile_ptr->ua_config.ch_aw_recv                          = 0;
-#endif /* __EVS_SUPPORT__ */
-            nvram_ims_profile_ptr->ua_config.refer_dialog_to_server              = 1;
-            nvram_ims_profile_ptr->ua_config.merge_send_bye                      = 0;
-            nvram_ims_profile_ptr->ua_config.conf_participant_not_subscribe      = 1;
-            nvram_ims_profile_ptr->ua_config.call_id_with_host_inCall            = 1;
-            nvram_ims_profile_ptr->ua_config.subscribe_dialog_to_server          = 1;
-            nvram_ims_profile_ptr->ua_config.early_media_when_rtp_coming         = 1;
-            nvram_ims_profile_ptr->ua_config.histinfo_in_supported               = 1;
-            nvram_ims_profile_ptr->ua_config.prefer_original_codec               = 0;
-            nvram_ims_profile_ptr->ua_config.resp_precondition_without_bw_cnf    = 1;
-            nvram_ims_profile_ptr->ua_config.force_srvcc_transfer                = 0;
-            nvram_ims_profile_ptr->ua_config.show_octet_align                    = 0;
-            nvram_ims_profile_ptr->ua_config.check_curr_qos                      = 1;
-            nvram_ims_profile_ptr->ua_config.keep_original_refresher_in_reinvite = 1;
-            nvram_ims_profile_ptr->ua_config.force_csfb_when663                  = 1;
-            nvram_ims_profile_ptr->ua_config.set_text_rtcp_0                     = 0;
-            nvram_ims_profile_ptr->ua_config.use_lower_anonymous                 = 1;
-            nvram_ims_profile_ptr->ua_config.update_call_id_with_host            = 1;
-            nvram_ims_profile_ptr->ua_config.use_pau_at_sdp_origin               = 1;
-            nvram_ims_profile_ptr->ua_config.ect_refer_to_use_pai                = 1;
-            nvram_ims_profile_ptr->ua_config.ect_refer_to_use_sip_uri            = 1;
-            nvram_ims_profile_ptr->ua_config.set_non_sendrecv_rtcp_0             = 1;
-            nvram_ims_profile_ptr->ua_config.add_param_in_rm_prtcpnt             = 1;
-            memset(&nvram_ims_profile_ptr->ua_config.UA_call_amr_mode_set[0],0,16);
-            memset(&nvram_ims_profile_ptr->ua_config.UA_call_amr_wb_mode_set[0],0,20);
-            strncpy((char *)nvram_ims_profile_ptr->ua_config.UA_call_amr_wb_mode_set,
-            "0,2,4,7", sizeof(nvram_ims_profile_ptr->ua_config.UA_call_amr_wb_mode_set)-1);
-            strncpy((char *)nvram_ims_profile_ptr->ua_config.UA_call_amr_mode_set,
-            "0,2,4,7", sizeof(nvram_ims_profile_ptr->ua_config.UA_call_amr_mode_set)-1);
-
-            /* Reg/Stack */
-            
-            break;
-        }
         case 318: /* Vianova */
         {
             nvram_ims_profile_ptr->ua_config.operator_code                        = 0x013e;   //operator_code = 318(Vianova/Italy )
@@ -22229,6 +22409,46 @@
             
             break;
         }
+        case 321: /* Ora(viti) French */
+        {
+            nvram_ims_profile_ptr->ua_config.operator_code                             = 0x0141;      //operator_code = 141(Viti/french polynesia)
+            set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
+            /* Country specific configurations */
+            if (with_imsi_info) {
+                /* Ora(viti) French */
+                if (strncmp((char *)&mccmnc[0], "547", 3) == 0) {
+                /* call */
+                    nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout         = 35;
+                    nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout        = 35;
+                    nvram_ims_profile_ptr->ua_config.always_use_sip_uri_for_mo_call     = 0;
+                    nvram_ims_profile_ptr->ua_config.ch_aw_recv                         = 0xff;     // ch-aw-recv: -1
+                    nvram_ims_profile_ptr->ua_config.early_media_when_rtp_coming        = 1;
+                    nvram_ims_profile_ptr->ua_config.asymmetric_payload_type_enable     = 1;
+                    nvram_ims_profile_ptr->ua_config.mod_session_cnf_timer_timeout      = 30;
+                    nvram_ims_profile_ptr->ua_config.conf_call_final_notify_timer_timeout = 5;
+                    nvram_ims_profile_ptr->ua_config.upgrade_cancel_feature             = 1;
+                    nvram_ims_profile_ptr->ua_config.hold_unhold_send_eimscmode         = 1;
+                    nvram_ims_profile_ptr->ua_config.conf_participant_not_subscribe     = 1;
+                    #ifdef __EVS_SUPPORT__            
+                    nvram_ims_profile_ptr->ua_config.evs_support                        = 1;
+                    nvram_ims_profile_ptr->ua_config.UA_call_codec_order1               = 17;
+                    nvram_ims_profile_ptr->ua_config.UA_call_codec_order2               = 2;
+                    nvram_ims_profile_ptr->ua_config.UA_call_codec_order3               = 1;
+                    #endif /* __EVS_SUPPORT__ */
+                /* Reg/Stack */
+                    nvram_ims_profile_ptr->ua_config.pend_dereg_in_initial_reg          = 1;
+                    nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_TCP_MTU_Size     = 1080;
+                    nvram_ims_profile_ptr->ua_config.contact_with_accesstype            = 1;
+                    nvram_ims_profile_ptr->ua_config.add_country_to_pani                = 1;
+                    nvram_ims_profile_ptr->ua_config.add_cni_in_wifi                    = 0x01;  // Add CNI to all operations.
+                /* IMCB */
+                    nvram_ims_profile_ptr->imc_config.sms_support                       = 1;
+                     nvram_ims_profile_ptr->imc_config.ims_v4v6_preference              = 2;
+                }
+            }
+            break;
+        }
+
         case 322: /* UPC */
         {
             nvram_ims_profile_ptr->ua_config.operator_code                        = 0x0142;   //operator_code = 322(UPC/Switzerland )
@@ -22876,6 +23096,7 @@
         #endif /*  __EVS_SUPPORT__ */
             nvram_ims_profile_ptr->ua_config.refer_dialog_to_server               = 1;
             nvram_ims_profile_ptr->ua_config.subscribe_dialog_to_server           = 1;
+            nvram_ims_profile_ptr->ua_config.UA_call_session_min_se               = 0;
 
             /* Reg/Stack */
             nvram_ims_profile_ptr->ua_config.UA_reg_ipsec_algo                    = 0x02;   // NULL+SHA1
@@ -23024,6 +23245,16 @@
                 if (strncmp((char *)&mccmnc[0], "655", 3) == 0) {
                     nvram_ims_profile_ptr->imc_config.ims_v4v6_preference         = 2;
                     /* Call */
+                #ifdef __EVS_SUPPORT__
+                    nvram_ims_profile_ptr->ua_config.evs_support                  = 1;
+                    nvram_ims_profile_ptr->ua_config.UA_call_codec_order1         = 17;
+                    nvram_ims_profile_ptr->ua_config.UA_call_codec_order2         = 2;
+                    nvram_ims_profile_ptr->ua_config.UA_call_codec_order3         = 1;
+                    nvram_ims_profile_ptr->ua_config.br_end                       = 6;
+                    nvram_ims_profile_ptr->ua_config.br_recv_end                  = 6;
+                    nvram_ims_profile_ptr->ua_config.br_send_end                  = 6;
+                    nvram_ims_profile_ptr->ua_config.ch_aw_recv                   = 0xff;     // ch-aw-recv: -1
+                #endif /* __EVS_SUPPORT__ */
                     nvram_ims_profile_ptr->ua_config.refer_dialog_to_server       = 1;
                     nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout   = 120;
                     nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout  = 120;
@@ -23042,13 +23273,15 @@
 
             if (with_imsi_info) {
                 if (strncmp((char *)&mccmnc[0], "740", 3) == 0) {
-                    
+                    /* IMC */
+                    nvram_ims_profile_ptr->imc_config.disable_isim_application          = 1;
+
                     /* Call */
                     nvram_ims_profile_ptr->ua_config.send_refer_to_peer                 = 1;
                     nvram_ims_profile_ptr->ua_config.refer_dialog_to_server             = 1;
                     nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout        = 120;
                     nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout         = 120;
-                    nvram_ims_profile_ptr->ua_config.UA_call_session_timer              = 120;
+                    nvram_ims_profile_ptr->ua_config.UA_call_session_timer              = 900;
                     
                     /* Reg/Stack */
                     nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_Force_Use_UDP   = 1;
@@ -24620,6 +24853,69 @@
             break;
         }
 
+        case 393:   /* US/ IT-E Wireless */
+        {
+            nvram_ims_profile_ptr->ua_config.operator_code                          = 0x0189; //operator_code = 393(US/ IT-E Wireless)
+            set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
+
+            /* Call*/
+            nvram_ims_profile_ptr->ua_config.UA_call_precondition                   = 1;
+            nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout             = 60;
+            nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout            = 60;
+
+            /* IMCB */
+            nvram_ims_profile_ptr->imc_config.resource_retain_timer                  = 5000;     //resource_retain_timer = 5000ms (5 seconds)
+            nvram_ims_profile_ptr->imc_config.ims_video_qci                         = 255;
+            
+            /* Suggested value */
+            nvram_ims_profile_ptr->ua_config.rtp_rtcp_local_port_start              = 49512;
+            nvram_ims_profile_ptr->ua_config.rtp_rtcp_local_port_range              = 16383;
+            nvram_ims_profile_ptr->ua_config.UA_call_session_min_se                 = 90;
+            nvram_ims_profile_ptr->ua_config.UA_call_rej_by_user_code               = 603;
+            nvram_ims_profile_ptr->ua_config.refer_dialog_to_server                 = 1;
+            nvram_ims_profile_ptr->ua_config.merge_send_bye                         = 0;
+            nvram_ims_profile_ptr->ua_config.conf_participant_not_subscribe         = 1;
+            nvram_ims_profile_ptr->ua_config.call_id_with_host_inCall               = 1;
+            nvram_ims_profile_ptr->ua_config.subscribe_dialog_to_server             = 1;
+#ifdef __EVS_SUPPORT__            
+            nvram_ims_profile_ptr->ua_config.evs_support                            = 1;
+            nvram_ims_profile_ptr->ua_config.bw_end                                 = 2;
+            nvram_ims_profile_ptr->ua_config.bw_send_end                            = 2;
+            nvram_ims_profile_ptr->ua_config.bw_recv_end                            = 2;
+            nvram_ims_profile_ptr->ua_config.UA_call_codec_order1                   = 17;
+            nvram_ims_profile_ptr->ua_config.UA_call_codec_order2                   = 2;
+            nvram_ims_profile_ptr->ua_config.UA_call_codec_order3                   = 1;
+#endif
+            nvram_ims_profile_ptr->ua_config.early_media_when_rtp_coming            = 1;
+            nvram_ims_profile_ptr->ua_config.histinfo_in_supported                  = 1;
+            nvram_ims_profile_ptr->ua_config.prefer_original_codec                  = 0;
+            nvram_ims_profile_ptr->ua_config.resp_precondition_without_bw_cnf       = 1;
+            nvram_ims_profile_ptr->ua_config.force_srvcc_transfer                   = 0;
+            nvram_ims_profile_ptr->ua_config.show_octet_align                       = 0;
+            nvram_ims_profile_ptr->ua_config.check_curr_qos                         = 1;
+            nvram_ims_profile_ptr->ua_config.keep_original_refresher_in_reinvite    = 1;
+            nvram_ims_profile_ptr->ua_config.force_csfb_when663                     = 1;
+            nvram_ims_profile_ptr->ua_config.set_text_rtcp_0                        = 0;
+            nvram_ims_profile_ptr->ua_config.use_lower_anonymous                    = 1;
+            nvram_ims_profile_ptr->ua_config.update_call_id_with_host               = 1;
+            nvram_ims_profile_ptr->ua_config.contact_with_transport                 = 0;
+            nvram_ims_profile_ptr->ua_config.dereg_clear_ipsec                      = 1;
+            nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                    = 0;
+            nvram_ims_profile_ptr->ua_config.ipsec_fail_allowed                     = 0;
+            nvram_ims_profile_ptr->ua_config.tcp_connect_max_time_all               = 20;
+            nvram_ims_profile_ptr->ua_config.default_reg_retry_mechanism            = 1;
+            nvram_ims_profile_ptr->ua_config.use_pau_at_sdp_origin                  = 1;
+            nvram_ims_profile_ptr->ua_config.ect_refer_to_use_pai                   = 1;
+            nvram_ims_profile_ptr->ua_config.ect_refer_to_use_sip_uri               = 1;
+            nvram_ims_profile_ptr->ua_config.set_non_sendrecv_rtcp_0                = 1;
+            nvram_ims_profile_ptr->ua_config.add_param_in_rm_prtcpnt                = 1;
+            nvram_ims_profile_ptr->imc_config.not_acquire_audio_rtcp                = 1;
+            nvram_ims_profile_ptr->imc_config.not_acquire_video_rtcp                = 1;
+            nvram_ims_profile_ptr->ua_config.pend_dereg_in_initial_reg              = 1;
+
+            break;
+        }
+
         case 396: /* Thumb Cellular */
         {
             nvram_ims_profile_ptr->ua_config.operator_code                          = 0x018c; //operator_code = 396(Thumb Cellular)
@@ -24729,6 +25025,65 @@
             nvram_ims_profile_ptr->imc_config.not_acquire_video_rtcp                = 1;      // Suggestion value
             break;
         }
+		
+		 case 399: /* American Samoa/ASTCA */
+        {
+            nvram_ims_profile_ptr->ua_config.operator_code                        = 0x018f;    //operator_code = 399
+            
+            set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
+
+            /* IMCB, Reg/Stack, UA internal configurations */
+            /* Call*/
+            nvram_ims_profile_ptr->ua_config.rtp_rtcp_local_port_start             = 49152; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.rtp_rtcp_local_port_range             = 16383; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.UA_call_session_min_se                = 90;  // Suggestion value
+            nvram_ims_profile_ptr->ua_config.UA_call_rej_by_user_code              = 603; // Suggestion value
+#ifdef __EVS_SUPPORT__ 
+            nvram_ims_profile_ptr->ua_config.evs_support                           = 1;
+            nvram_ims_profile_ptr->ua_config.UA_call_codec_order1                  = 17;
+            nvram_ims_profile_ptr->ua_config.UA_call_codec_order2                  = 2;
+            nvram_ims_profile_ptr->ua_config.UA_call_codec_order3                  = 1;
+#endif /* __EVS_SUPPORT__ */
+            nvram_ims_profile_ptr->ua_config.refer_dialog_to_server                = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.merge_send_bye                        = 0; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.conf_participant_not_subscribe        = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.call_id_with_host_inCall              = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.subscribe_dialog_to_server            = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.bw_end                                = 2; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.bw_send_end                           = 2; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.bw_recv_end                           = 2; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.early_media_when_rtp_coming           = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.histinfo_in_supported                 = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.prefer_original_codec                 = 0; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.resp_precondition_without_bw_cnf      = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.force_srvcc_transfer                  = 0; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.show_octet_align                      = 0; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.check_curr_qos                        = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.keep_original_refresher_in_reinvite   = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.force_csfb_when663                    = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.set_text_rtcp_0                       = 0; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.use_lower_anonymous                   = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.update_call_id_with_host              = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.use_pau_at_sdp_origin                 = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.ect_refer_to_use_pai                  = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.ect_refer_to_use_sip_uri              = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.set_non_sendrecv_rtcp_0               = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.add_param_in_rm_prtcpnt               = 1; // Suggestion value
+        
+            /* Reg/Stack */
+            nvram_ims_profile_ptr->ua_config.contact_with_transport                = 0;     // Suggestion value
+            nvram_ims_profile_ptr->ua_config.dereg_clear_ipsec                     = 1;     // Suggestion value
+            nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                   = 0;     // Suggestion value
+            nvram_ims_profile_ptr->ua_config.ipsec_fail_allowed                    = 0;     // Suggestion value
+            nvram_ims_profile_ptr->ua_config.tcp_connect_max_time_all              = 20;    // Suggestion value
+            nvram_ims_profile_ptr->ua_config.default_reg_retry_mechanism           = 1;     // Suggestion value
+            nvram_ims_profile_ptr->ua_config.pend_dereg_in_initial_reg             = 1;     // Suggestion value
+
+            /* IMCB */
+            nvram_ims_profile_ptr->imc_config.not_acquire_audio_rtcp               = 1;      // Suggestion value
+            nvram_ims_profile_ptr->imc_config.not_acquire_video_rtcp               = 1;      // Suggestion value
+            break;
+        }
 
         case 403: /* Brunei/imagine */
         {
@@ -25225,6 +25580,321 @@
             break;
         }
 
+        case 419: /* Airtel Uganda*/
+        {
+            
+            nvram_ims_profile_ptr->ua_config.operator_code                                   = 0x1A3; //operator_code = 419(Airtel Uganda)
+            set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
+            if(with_imsi_info){
+                if(strncmp((char *)&mccmnc[0], "641", 3) == 0){
+					/* Call */
+					 nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout             = 90;
+            		 nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout            = 90;
+					/* IMC */
+         
+                }
+            }
+            
+            break;
+        }
+
+        case 420: /*Redbull - Saudi Arabia*/ 
+        {
+             nvram_ims_profile_ptr->ua_config.operator_code                        = 0x1A4;//Redbull - Saudi Arabia
+             set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
+             /* UA */
+             nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout           = 90;
+             nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout          = 90;
+
+             /* IMC */
+
+             break;
+        }
+
+		case 421: /* Yemen Mobile*/
+        {
+            
+            nvram_ims_profile_ptr->ua_config.operator_code                          = 0x1A5; //operator_code = 421(Yemen Mobile)
+            set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
+            if (with_imsi_info) {
+				/* Yemen*/
+                if (strncmp((char *)&mccmnc[0], "421", 3) == 0) {
+                    /* Call */
+                    nvram_ims_profile_ptr->ua_config.use_eps_prefix_in_phone_context        = 0;
+                    nvram_ims_profile_ptr->ua_config.always_use_sip_uri_for_mo_call         = 0;
+					nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout           	= 60;
+            		nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout          	= 60;
+					nvram_ims_profile_ptr->ua_config.ect_enable                         	= 1;
+					nvram_ims_profile_ptr->ua_config.srvcc_feature_enable                   = 0;
+				#ifdef __EVS_SUPPORT__
+					nvram_ims_profile_ptr->ua_config.evs_support							= 1;
+					nvram_ims_profile_ptr->ua_config.UA_call_codec_order1					= 17;
+					nvram_ims_profile_ptr->ua_config.UA_call_codec_order2					= 2;
+					nvram_ims_profile_ptr->ua_config.UA_call_codec_order3					= 1;
+				#endif  /* __EVS_SUPPORT__ */
+
+                    /* IMC */       
+
+                    /* Reg/Stack */
+					nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_Force_Use_UDP        = 1;
+                }
+            }
+            break;
+        }
+
+        case 424: /* Vodafone/Iceland */
+        {
+            nvram_ims_profile_ptr->ua_config.operator_code                      = 0x01A8;    //operator_code = 423(Vodafone/Iceland)
+            
+            set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
+
+            /* IMCB, Reg/Stack, UA internal configurations */
+            /* Call*/
+            nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout        = 90;
+            nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout         = 90;
+            nvram_ims_profile_ptr->ua_config.always_use_sip_uri_for_mo_call     = 0;
+            nvram_ims_profile_ptr->ua_config.refer_dialog_to_server             = 1;
+            nvram_ims_profile_ptr->ua_config.subscribe_dialog_to_server         = 1;
+            nvram_ims_profile_ptr->ua_config.UA_call_session_min_se             = 90;
+            nvram_ims_profile_ptr->ua_config.merge_send_bye                     = 0;
+            nvram_ims_profile_ptr->ua_config.force_srvcc_transfer               = 0;
+            nvram_ims_profile_ptr->ua_config.ect_enable                         = 1;
+            nvram_ims_profile_ptr->ua_config.ect_refer_to_use_pai               = 1;
+            nvram_ims_profile_ptr->ua_config.ect_refer_to_use_sip_uri           = 1;
+            nvram_ims_profile_ptr->ua_config.ect_without_target_hold            = 1;
+#ifdef __EVS_SUPPORT__
+            nvram_ims_profile_ptr->ua_config.evs_support                        = 1;
+            nvram_ims_profile_ptr->ua_config.UA_call_codec_order1               = 17;
+            nvram_ims_profile_ptr->ua_config.UA_call_codec_order2               = 2;
+            nvram_ims_profile_ptr->ua_config.UA_call_codec_order3               = 1;
+            nvram_ims_profile_ptr->ua_config.br_end                             = 6;
+            nvram_ims_profile_ptr->ua_config.br_recv_end                        = 6;
+            nvram_ims_profile_ptr->ua_config.br_send_end                        = 6;
+            nvram_ims_profile_ptr->ua_config.br_begin                           = 3;
+            nvram_ims_profile_ptr->ua_config.br_send_begin                      = 3;
+            nvram_ims_profile_ptr->ua_config.br_recv_begin                      = 3;
+            nvram_ims_profile_ptr->ua_config.ch_aw_recv                         = 3;
+#endif
+            /* Reg/Stack */
+            nvram_ims_profile_ptr->ua_config.initial_reg_without_pani           = 1;
+            nvram_ims_profile_ptr->ua_config.not_auto_reg_403                   = 1;
+            nvram_ims_profile_ptr->ua_config.bypass_403_reason_phrase           = 1;
+            nvram_ims_profile_ptr->ua_config.pend_dereg_in_initial_reg          = 1;          
+            /* IMC */
+            nvram_ims_profile_ptr->imc_config.ussd_support                      = 1;
+            nvram_ims_profile_ptr->imc_config.nw_vops_rule                      = 0x18;     // IMS reg maintained but initial reg not allowed
+            nvram_ims_profile_ptr->imc_config.no_ims_reg_during_active_cs_call  = 1;        // not register for WFC during a CS call
+            nvram_ims_profile_ptr->imc_config.srvcc_no_ims_dereg_until_call_rel = 1;        // delay IMS dereg in 23G until call is released
+            nvram_ims_profile_ptr->imc_config.rfc5626_flow_recovery             = 1;
+            break;
+        }
+
+        case 426: /* NLC/Pakistan */
+        {
+            
+            nvram_ims_profile_ptr->ua_config.operator_code                          = 0x01AA; //operator_code = 426(NLC/Pakistan)
+            set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
+            /* IMCB, Reg/Stack, UA internal configurations */
+            /* Call */
+            nvram_ims_profile_ptr->ua_config.always_use_sip_uri_for_mo_call         = 0;
+            nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout             = 90;
+            nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout            = 90;
+            nvram_ims_profile_ptr->ua_config.UA_call_session_timer                  = 9600;
+            nvram_ims_profile_ptr->ua_config.refer_dialog_to_server                 = 1;
+            nvram_ims_profile_ptr->ua_config.subscribe_dialog_to_server             = 1;
+            nvram_ims_profile_ptr->ua_config.early_media_when_rtp_coming            = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.asymmetric_payload_type_enable         = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.mod_session_cnf_timer_timeout          = 30; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.conf_call_final_notify_timer_timeout   = 5; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.upgrade_cancel_feature                 = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.hold_unhold_send_eimscmode             = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.conf_participant_not_subscribe         = 1; // Suggestion value
+
+            /* Reg/Stack */
+            nvram_ims_profile_ptr->imc_config.switch_prefer_rat_dereg               = 1;
+            nvram_ims_profile_ptr->ua_config.contact_with_transport                 = 0;     // Suggestion value
+            nvram_ims_profile_ptr->ua_config.dereg_clear_ipsec                      = 1;     // Suggestion value
+            nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                    = 0;     // Suggestion value
+            nvram_ims_profile_ptr->ua_config.ipsec_fail_allowed                     = 0;     // Suggestion value
+            nvram_ims_profile_ptr->ua_config.tcp_connect_max_time_all               = 20;    // Suggestion value
+            nvram_ims_profile_ptr->ua_config.default_reg_retry_mechanism            = 1;     // Suggestion value
+            nvram_ims_profile_ptr->ua_config.pend_dereg_in_initial_reg              = 1;     // Suggestion value
+
+            /* IMCB */
+            nvram_ims_profile_ptr->imc_config.not_acquire_audio_rtcp                = 1;      // Suggestion value
+            nvram_ims_profile_ptr->imc_config.not_acquire_video_rtcp                = 1;      // Suggestion value
+            break;
+        }
+        case 430: /* Airtel/Nigeria */
+        {
+            
+            nvram_ims_profile_ptr->ua_config.operator_code                          = 0x01AE; //operator_code = 430(Airtel-Nigeria)
+            set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
+            /* IMCB, Reg/Stack, UA internal configurations */
+            /* Call */
+            nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout             = 120;
+            nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout            = 120;
+			nvram_ims_profile_ptr->ua_config.UA_call_amr_fmt_variant                = 0x1111;
+			nvram_ims_profile_ptr->ua_config.always_use_sip_uri_for_mo_call         = 0;
+			nvram_ims_profile_ptr->ua_config.early_media_when_rtp_coming            = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.asymmetric_payload_type_enable         = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.mod_session_cnf_timer_timeout          = 30; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.conf_call_final_notify_timer_timeout   = 5; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.upgrade_cancel_feature                 = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.hold_unhold_send_eimscmode             = 1; // Suggestion value
+            nvram_ims_profile_ptr->ua_config.conf_participant_not_subscribe         = 1; // Suggestion value
+#ifdef __EVS_SUPPORT__
+            nvram_ims_profile_ptr->ua_config.evs_support                            = 1;
+            nvram_ims_profile_ptr->ua_config.UA_call_codec_order1                   = 17;
+            nvram_ims_profile_ptr->ua_config.UA_call_codec_order2                   = 2;
+            nvram_ims_profile_ptr->ua_config.UA_call_codec_order3                   = 1;    
+#endif /* __EVS_SUPPORT__ */
+
+            /* Reg/Stack */
+            nvram_ims_profile_ptr->ua_config.contact_with_transport                 = 0;     // Suggestion value
+            nvram_ims_profile_ptr->ua_config.dereg_clear_ipsec                      = 1;     // Suggestion value
+            nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                    = 0;     // Suggestion value
+            nvram_ims_profile_ptr->ua_config.ipsec_fail_allowed                     = 0;     // Suggestion value
+            nvram_ims_profile_ptr->ua_config.tcp_connect_max_time_all               = 20;    // Suggestion value
+            nvram_ims_profile_ptr->ua_config.default_reg_retry_mechanism            = 1;     // Suggestion value
+            nvram_ims_profile_ptr->ua_config.pend_dereg_in_initial_reg              = 1;     // Suggestion value
+
+            /* IMCB */
+            nvram_ims_profile_ptr->imc_config.not_acquire_audio_rtcp                = 1;      // Suggestion value
+            nvram_ims_profile_ptr->imc_config.not_acquire_video_rtcp                = 1;     // Suggestion value
+            nvram_ims_profile_ptr->imc_config.ignore_media_qos_check                = 0xfff; 
+            break; 
+        }
+        case 431: /*Unifique Brazil */
+        {
+            nvram_ims_profile_ptr->ua_config.operator_code                          = 0x1AF;      //operator_code = 431 (Unifique Brazil)
+            set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
+            
+            /* IMCB, Reg/Stack, UA internal configurations */
+            /* Call */
+            nvram_ims_profile_ptr->ua_config.conf_participant_not_subscribe         = 1;
+            nvram_ims_profile_ptr->ua_config.always_use_sip_uri_for_mo_call         = 0;
+            nvram_ims_profile_ptr->imc_config.ussd_support                    		= 1;
+            
+#ifdef __EVS_SUPPORT__
+            nvram_ims_profile_ptr->ua_config.evs_support                            = 1;
+            nvram_ims_profile_ptr->ua_config.UA_call_codec_order1                   = 17;
+            nvram_ims_profile_ptr->ua_config.UA_call_codec_order2                   = 2;
+            nvram_ims_profile_ptr->ua_config.UA_call_codec_order3                   = 1;
+#endif /* __EVS_SUPPORT__ */
+            nvram_ims_profile_ptr->ua_config.ch_aw_recv                             = -1;
+            nvram_ims_profile_ptr->ua_config.evs_mode_switch                        = 1;
+            nvram_ims_profile_ptr->ua_config.bw_send_begin                          = 0;
+            nvram_ims_profile_ptr->ua_config.bw_send_end                            = 2;
+            nvram_ims_profile_ptr->ua_config.bw_recv_begin                          = 0;
+            nvram_ims_profile_ptr->ua_config.bw_recv_end                            = 2;
+            nvram_ims_profile_ptr->ua_config.ims_notify_feature_enabled             = 1;
+            nvram_ims_profile_ptr->ua_config.early_media_when_rtp_coming            = 1; //Suggested Value
+            nvram_ims_profile_ptr->ua_config.asymmetric_payload_type_enable         = 1; //Suggested Value
+            nvram_ims_profile_ptr->ua_config.mod_session_cnf_timer_timeout          = 30; //Suggested Value
+            nvram_ims_profile_ptr->ua_config.conf_call_final_notify_timer_timeout   = 5; //Suggested Value
+            nvram_ims_profile_ptr->ua_config.upgrade_cancel_feature                 = 1; //Suggested Value
+            nvram_ims_profile_ptr->ua_config.hold_unhold_send_eimscmode             = 1; //Suggested Value
+            
+            /* Reg/Stack */     
+            nvram_ims_profile_ptr->ua_config.register_expiry                        = 3600; 
+            nvram_ims_profile_ptr->ua_config.add_country_to_pani                    = 3; 
+            nvram_ims_profile_ptr->ua_config.add_pcni_in_vowifi                     = 1;
+
+            nvram_ims_profile_ptr->ua_config.contact_with_transport                 = 0; //Suggested value
+            nvram_ims_profile_ptr->ua_config.dereg_clear_ipsec                      = 1; //Suggested Value
+            nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                    = 0; //Suggested Value
+            nvram_ims_profile_ptr->ua_config.ipsec_fail_allowed                     = 0; //Suggested Value
+            nvram_ims_profile_ptr->ua_config.tcp_connect_max_time_all               = 20; //Suggested Value
+            nvram_ims_profile_ptr->ua_config.default_reg_retry_mechanism            = 1; //Suggested Value
+            nvram_ims_profile_ptr->ua_config.pend_dereg_in_initial_reg              = 1; //Suggested Value
+
+            /* IMCB/IMC*/
+            nvram_ims_profile_ptr->imc_config.allow_emergency_dereg                 = 1;  
+            nvram_ims_profile_ptr->imc_config.switch_prefer_rat_dereg               = 1;
+            nvram_ims_profile_ptr->imc_config.not_acquire_audio_rtcp                = 1; //Suggested Value
+            nvram_ims_profile_ptr->imc_config.not_acquire_video_rtcp                = 1; //Suggested Value
+           
+	        break;
+        }
+        case 434: /* Mobicom Mongolia*/
+        {
+            nvram_ims_profile_ptr->ua_config.operator_code                          = 0x1B2;      //operator_code = 434 (Mobicom Mongolia)
+            set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
+            
+            /* IMCB, Reg/Stack, UA internal configurations */
+            /* Call */
+            nvram_ims_profile_ptr->ua_config.always_use_sip_uri_for_mo_call         = 0;
+            nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout             = 60;
+            nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout            = 60;
+            nvram_ims_profile_ptr->ua_config.UA_call_precondition                   = 0;
+            nvram_ims_profile_ptr->ua_config.refer_dialog_to_server                 = 1;          
+            nvram_ims_profile_ptr->ua_config.subscribe_dialog_to_server             = 1;  
+            nvram_ims_profile_ptr->ua_config.early_media_when_rtp_coming            = 1;
+            nvram_ims_profile_ptr->ua_config.asymmetric_payload_type_enable         = 1;
+            nvram_ims_profile_ptr->ua_config.mod_session_cnf_timer_timeout          = 30;
+            nvram_ims_profile_ptr->ua_config.conf_call_final_notify_timer_timeout   = 5;
+            nvram_ims_profile_ptr->ua_config.upgrade_cancel_feature                 = 1;
+            nvram_ims_profile_ptr->ua_config.hold_unhold_send_eimscmode             = 1;
+            nvram_ims_profile_ptr->ua_config.conf_participant_not_subscribe         = 1;
+            
+            /* Reg/Stack */     
+            nvram_ims_profile_ptr->ua_config.contact_with_transport                 = 0;
+            nvram_ims_profile_ptr->ua_config.dereg_clear_ipsec                      = 1;
+            nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                    = 0;
+            nvram_ims_profile_ptr->ua_config.ipsec_fail_allowed                     = 0;
+            nvram_ims_profile_ptr->ua_config.tcp_connect_max_time_all               = 20;
+            nvram_ims_profile_ptr->ua_config.default_reg_retry_mechanism            = 1;
+
+            /* IMCB/IMC*/
+            nvram_ims_profile_ptr->imc_config.ims_v4v6_preference                   = 0;          
+            nvram_ims_profile_ptr->imc_config.switch_prefer_rat_dereg               = 1;
+            nvram_ims_profile_ptr->imc_config.not_acquire_audio_rtcp                = 1;
+            nvram_ims_profile_ptr->imc_config.not_acquire_video_rtcp                = 1;
+           
+	        break;
+        }
+
+        case 437: /* 3/Indonesia */
+        {
+            nvram_ims_profile_ptr->ua_config.operator_code                          = 0x01B5;    //operator_code = 437(3/Indonesia)
+            
+            set_conf_factory_uri_by_imsi(&nvram_ims_profile_ptr->ua_config.UA_conf_factory_uri[0], with_imsi_info, imsi_mnc_len, mccmnc, op_id, special_profile);
+
+            /* IMCB, Reg/Stack, UA internal configurations */
+            /* Call*/
+            nvram_ims_profile_ptr->ua_config.always_use_sip_uri_for_mo_call         = 0;
+            nvram_ims_profile_ptr->ua_config.call_ringback_timer_timeout            = 120;
+            nvram_ims_profile_ptr->ua_config.call_ringing_timer_timeout             = 120;
+            nvram_ims_profile_ptr->ua_config.UA_call_precondition                   = 0;
+            nvram_ims_profile_ptr->ua_config.refer_dialog_to_server                 = 1;
+            nvram_ims_profile_ptr->ua_config.early_media_when_rtp_coming            = 1;
+            nvram_ims_profile_ptr->ua_config.asymmetric_payload_type_enable         = 1;
+            nvram_ims_profile_ptr->ua_config.mod_session_cnf_timer_timeout          = 30;
+            nvram_ims_profile_ptr->ua_config.conf_call_final_notify_timer_timeout   = 5;
+            nvram_ims_profile_ptr->ua_config.upgrade_cancel_feature                 = 1;
+            nvram_ims_profile_ptr->ua_config.hold_unhold_send_eimscmode             = 1;
+            nvram_ims_profile_ptr->ua_config.conf_participant_not_subscribe         = 1;
+
+            /* Reg/Stack */
+            nvram_ims_profile_ptr->ua_config.VoLTE_Setting_SIP_TCP_MTU_Size         = 1100;
+            nvram_ims_profile_ptr->ua_config.contact_with_transport                 = 0;
+            nvram_ims_profile_ptr->ua_config.dereg_clear_ipsec                      = 1;
+            nvram_ims_profile_ptr->ua_config.use_udp_on_tcp_fail                    = 0;
+            nvram_ims_profile_ptr->ua_config.ipsec_fail_allowed                     = 0;
+            nvram_ims_profile_ptr->ua_config.tcp_connect_max_time_all               = 20;
+            nvram_ims_profile_ptr->ua_config.default_reg_retry_mechanism            = 1;
+         
+            /* IMC */
+            nvram_ims_profile_ptr->imc_config.ussd_support                          = 1;
+            nvram_ims_profile_ptr->imc_config.switch_prefer_rat_dereg               = 1;
+            
+            /*IMCB*/
+            nvram_ims_profile_ptr->imc_config.not_acquire_audio_rtcp                = 1;
+            nvram_ims_profile_ptr->imc_config.not_acquire_video_rtcp                = 1;
+
+            break;
+        }
         case 1001: /* Ericsson IMS IWLAN */
         {
             nvram_ims_profile_ptr->ua_config.operator_code           = 0x03E9;      //operator_code = 1001(Ericsson IMS IWLAN)
diff --git a/mcu/custom/protocol/common/ps/custom_iwlan_config.c b/mcu/custom/protocol/common/ps/custom_iwlan_config.c
index 7599623..87a1c11 100755
--- a/mcu/custom/protocol/common/ps/custom_iwlan_config.c
+++ b/mcu/custom/protocol/common/ps/custom_iwlan_config.c
@@ -237,6 +237,7 @@
                     cfg->ipol_ans_cfg.ipol_ims_vops_barring_hplmn_enable           = 0x00;
                     cfg->ipol_ans_cfg.ipol_ims_incall_voice_cap_pref               = KAL_TRUE;
                     cfg->mms_ans_cfg.mms_wlan_only_barring_enable                  = KAL_TRUE;
+                    cfg->ipol_ans_cfg.ipol_ims_voice_cap_pref_enable               = KAL_TRUE;
                     /* icap */
                     cfg->ipol_ans_cfg.icap_cfg.sms_network_types                   = 0xF;
                     cfg->ipol_ans_cfg.ipol_ims_roaming_barring_enable              = KAL_FALSE;
@@ -248,8 +249,10 @@
                     cfg->ipol_ans_cfg.ipol_ims_roaming_barring_enable              = KAL_FALSE;
                     cfg->ipol_ans_cfg.ipol_ims_roaming_rat_reselect_by_dreg_enable = KAL_TRUE;
                     cfg->ipol_ans_cfg.ipol_ims_roaming_incall_ho_enable            = KAL_FALSE;
+                    /* icap */
+                    cfg->ipol_ans_cfg.icap_cfg.sms_network_types                   = 0xF;
                     break;
-				case 308: 
+                case 308: 
                     cfg->ipol_ans_cfg.ipol_ims_roaming_barring_enable              = KAL_FALSE;
                     cfg->ipol_ans_cfg.ipol_ims_roaming_incall_ho_enable            = KAL_TRUE;
                     cfg->ipol_ans_cfg.ipol_ims_incall_voice_cap_pref               = KAL_TRUE;
@@ -525,7 +528,13 @@
                     cfg->ipol_ans_cfg.sig_cfg.md_sig_thr_cfg.ipol_lte_rsrp_fair_th = -110;
                     cfg->ipol_ans_cfg.sig_cfg.md_sig_thr_cfg.ipol_gsm_rssi_poor_th = -102;
                     cfg->ipol_ans_cfg.sig_cfg.md_sig_thr_cfg.ipol_gsm_rssi_fair_th = -99;
-					cfg->ipol_ans_cfg.ipol_ims_roaming_barring_enable              = KAL_FALSE;
+                    cfg->ipol_ans_cfg.ipol_ims_roaming_barring_enable              = KAL_FALSE;
+                    break;
+                case 901: // VDF-EU IOT
+                    // Supporting RAT
+                    cfg->ipol_ans_cfg.ipol_ims_md_supporting_rat                   = 0x1;       // LTE Only
+                    /* Enable VoLTE roaming */
+                    cfg->ipol_ans_cfg.ipol_ims_roaming_barring_enable              = KAL_FALSE;
                     break;
                 default:
                     break;
@@ -861,7 +870,7 @@
             cfg->comm_ans_cfg.ims_maintain_when_rf_off = KAL_TRUE;
 
             cfg->comm_ans_cfg.pref_cfg.wans_ims_pref_setting = 0x0F; //MS 4bits : 0 = not refer to WFC on/off
-            cfg->comm_ans_cfg.pref_cfg.wans_ecc_pref_setting = 0x0F; //MS 4bits : 0 = not refer to WFC on/off
+            cfg->comm_ans_cfg.pref_cfg.wans_ecc_pref_setting = 0xFF; //MS 4bits : 0 = not refer to WFC on/off
 
             cfg->comm_ans_cfg.pref_cfg.wans_default_pref_setting = 0x0F; //MS 4bits : 0 = not refer to WFC on/off
             cfg->comm_ans_cfg.pref_cfg.wans_mms_pref_setting = 0x0F; //MS 4bits : 0 = not refer to WFC on/off
@@ -882,14 +891,23 @@
                     cfg->ipol_ans_cfg.sig_cfg.wlan_sig_thr_cfg.ipol_wlan_rssi_ho_fair_th = -70;
                     cfg->ipol_ans_cfg.sig_cfg.md_sig_thr_cfg.ipol_lte_rsrp_poor_th       = -116; //-43~-141
                     cfg->ipol_ans_cfg.sig_cfg.md_sig_thr_cfg.ipol_lte_rsrp_fair_th       = -90; //-43~-141
+
+                    /* VoLTE roaming barring */
+                    cfg->ipol_ans_cfg.ipol_ims_roaming_barring_enable = KAL_FALSE;
                     break;
                 case 262: // DE
                     cfg->ipol_ans_cfg.ipol_ims_md_supporting_rat        = 0x40 | 0x7; // NR/LTE/3G/2G
                     cfg->ipol_ans_cfg.ipol_ims_23G_setup_barring_enable = KAL_TRUE;
+
+                    /* VoLTE roaming barring */
+                    cfg->ipol_ans_cfg.ipol_ims_roaming_barring_enable = KAL_FALSE;
+                    cfg->ipol_ans_cfg.ipol_ims_roaming_ho_enable      = KAL_FALSE;
                     break;
                 case 214: // ES
                     /* icap */
                     cfg->ipol_ans_cfg.icap_cfg.sms_network_types = 0x00;
+
+                    /* VoLTE roaming barring */
                     cfg->ipol_ans_cfg.ipol_ims_roaming_barring_enable = KAL_FALSE;
                     break;
                 default:
@@ -920,7 +938,7 @@
         }
         case 17: /* DoCoMo */
         {
-            cfg->ipol_ans_cfg.ipol_ims_roaming_barring_enable = KAL_FALSE;
+            cfg->ipol_ans_cfg.ipol_ims_roaming_barring_enable = KAL_TRUE;
             break;
         }
         case 18: /* RJIL */
@@ -1774,6 +1792,12 @@
         case 158: /* Zain */
         {
             switch (atoi(sim_mcc)) {
+				case 416: // Jordan                   
+					cfg->ipol_ans_cfg.sig_cfg.wlan_sig_thr_cfg.ipol_wlan_rssi_rove_fair_th = -66;
+                    cfg->ipol_ans_cfg.sig_cfg.wlan_sig_thr_cfg.ipol_wlan_rssi_ho_fair_th   = -66;
+                    cfg->ipol_ans_cfg.sig_cfg.wlan_sig_thr_cfg.ipol_wlan_rssi_rove_poor_th = -83;
+                    cfg->ipol_ans_cfg.sig_cfg.wlan_sig_thr_cfg.ipol_wlan_rssi_ho_poor_th   = -83;
+                    break;
                 case 419: //Kuwait
                     cfg->ipol_ans_cfg.ipol_ims_roaming_barring_enable = KAL_FALSE;
                     break;
@@ -2117,8 +2141,17 @@
         {
            switch (atoi(sim_mcc)) {
 			    case 708: /* Honduras*/
+				    cfg->ipol_ans_cfg.ipol_ims_roaming_barring_enable                  = KAL_FALSE;
+					break;
 			    case 714: /* Panama*/
 					cfg->ipol_ans_cfg.ipol_ims_roaming_barring_enable    = KAL_FALSE;
+                    /* ECC call ho disabled */
+					cfg->ipol_ans_cfg.ipol_ims_ecc_over_emerg_ho_enable                = KAL_FALSE;
+					cfg->ipol_ans_cfg.ipol_ims_ecc_over_ims_ho_lte_to_wifi_enable      = KAL_FALSE;
+					cfg->ipol_ans_cfg.ipol_ims_ecc_over_ims_ho_wifi_to_lte_enable      = KAL_FALSE;
+                    /* Normal IMS call ho disabled */
+					cfg->ipol_ans_cfg.ipol_ims_normal_call_ho_lte_to_wifi_enable 	   = KAL_FALSE;
+					cfg->ipol_ans_cfg.ipol_ims_normal_call_ho_wifi_to_lte_enable       = KAL_FALSE;
                     break;
                 case 736: /* Bolivia*/
 					cfg->ipol_ans_cfg.ipol_ims_md_supporting_rat         = 0x40 | 0x7; // NR/LTE/3G/2G
@@ -2166,6 +2199,11 @@
                     /* MD signal strength threshold */
                     cfg->ipol_ans_cfg.sig_cfg.md_sig_thr_cfg.ipol_lte_rsrp_poor_th   = -116;
                     cfg->ipol_ans_cfg.sig_cfg.md_sig_thr_cfg.ipol_lte_rsrp_fair_th   = -110;
+
+                    /* Disable VoLTE roaming and enable VoWiFi roaming barring */
+                    cfg->ipol_ans_cfg.ipol_ims_roaming_barring_enable      = KAL_FALSE;
+                    cfg->ipol_ans_cfg.ipol_ims_wlan_roaming_barring_enable = KAL_TRUE;
+                    cfg->ipol_ans_cfg.loc_cfg.ipol_location_enable         = KAL_TRUE;
                     break;
                 default:
                     break;
@@ -2342,6 +2380,12 @@
 			}
             break;
         }
+        case 255: /* Cellular One */
+        {
+            cfg->ipol_ans_cfg.ipol_ims_roaming_barring_enable = KAL_FALSE;
+            cfg->ipol_ans_cfg.ipol_ims_wlan_roaming_barring_enable = KAL_TRUE;
+            break;
+        }
         case 261: /* ASTAC-United States */
         {
             cfg->ipol_ans_cfg.ipol_ims_roaming_barring_enable = KAL_FALSE;
@@ -2449,6 +2493,15 @@
             cfg->ipol_ans_cfg.ipol_ims_roaming_barring_enable = KAL_FALSE;
             break;
         }
+        case 303: /* Iliad/Italy */
+        {
+            cfg->ipol_ans_cfg.ipol_ims_voice_cap_pref_enable = KAL_TRUE;
+            cfg->ipol_ans_cfg.ipol_ims_roaming_rat_reselect_by_dreg_enable = KAL_TRUE;
+            cfg->ipol_ans_cfg.ipol_ims_roaming_barring_enable   = KAL_FALSE;
+            cfg->ipol_ans_cfg.ipol_ims_roaming_incall_ho_enable = KAL_FALSE;
+            cfg->ipol_ans_cfg.icap_cfg.sms_network_types = 0x00;
+            break;
+        }
         case 304: /* CMTO Macau */
         {
             cfg->ipol_ans_cfg.ipol_ims_roaming_barring_enable = KAL_FALSE;
@@ -2469,7 +2522,8 @@
         {
             cfg->ipol_ans_cfg.ipol_ims_ecc_over_ims_ho_lte_to_wifi_enable   = KAL_FALSE;
             cfg->ipol_ans_cfg.ipol_ims_23g_wifi_rat_reselect_by_dreg_enable = KAL_TRUE;
-            cfg->ipol_ans_cfg.ipol_ims_wlan_roaming_barring_enable          = KAL_TRUE;
+            // In Nex-Tech_Network_APN_Setting.xls, Support VoWiFi calling while roaming
+            cfg->ipol_ans_cfg.ipol_ims_wlan_roaming_barring_enable          = KAL_FALSE;
             cfg->ipol_ans_cfg.ipol_ims_incall_voice_cap_pref                = KAL_TRUE;
             break;
         }
@@ -2779,6 +2833,43 @@
             }
             break; 
         }
+        case 420: /*Redbull - Saudi Arabia*/
+        {
+            cfg->ipol_ans_cfg.ipol_ims_roaming_barring_enable                   = KAL_FALSE; 
+            break;
+        }
+        case 431: /* Unifique */
+        {
+            switch (atoi(sim_mcc)) { 
+                case 724: /* Brazil */ 
+                    /* Prefrence Setting */
+                    cfg->comm_ans_cfg.pref_cfg.wans_ims_pref_setting = 2;
+                    /* Throttling Timer Config */
+                    cfg->comm_ans_cfg.trtl_cfg.wlan_rove_in_trtl_time = 120;
+                    cfg->comm_ans_cfg.trtl_cfg.cell_rove_in_trtl_time = 120;
+                    /* Wlan Signal Threshold Config */
+                    cfg->ipol_ans_cfg.sig_cfg.wlan_sig_thr_cfg.ipol_wlan_rssi_rove_poor_th  = -85;
+                    cfg->ipol_ans_cfg.sig_cfg.wlan_sig_thr_cfg.ipol_wlan_rssi_rove_fair_th  = -75;
+                    /* Celular Signal Threshold Config */
+                    cfg->ipol_ans_cfg.sig_cfg.md_sig_thr_cfg.ipol_lte_rsrp_poor_th  = -126;
+                    cfg->ipol_ans_cfg.sig_cfg.md_sig_thr_cfg.ipol_lte_rsrp_fair_th  = -122;
+                    cfg->ipol_ans_cfg.sig_cfg.md_sig_thr_cfg.ipol_lte_rsrp_good_th  = -120;
+                    cfg->ipol_ans_cfg.sig_cfg.md_sig_thr_cfg.ipol_lte_rsrq_poor_th  = -18;
+                    cfg->ipol_ans_cfg.sig_cfg.md_sig_thr_cfg.ipol_lte_rsrq_fair_th  = -16;
+                    cfg->ipol_ans_cfg.sig_cfg.md_sig_thr_cfg.ipol_lte_rsrq_good_th  = -14;
+                    cfg->ipol_ans_cfg.sig_cfg.md_sig_thr_cfg.ipol_lte_rssnr_poor_th = 0;
+                    cfg->ipol_ans_cfg.sig_cfg.md_sig_thr_cfg.ipol_lte_rssnr_fair_th = 2;
+                    cfg->ipol_ans_cfg.sig_cfg.md_sig_thr_cfg.ipol_lte_rssnr_good_th = 4;
+                    cfg->ipol_ans_cfg.sig_cfg.md_sig_thr_cfg.ipol_umts_rscp_poor_th = -110;
+                    cfg->ipol_ans_cfg.sig_cfg.md_sig_thr_cfg.ipol_umts_rscp_fair_th = -108;
+                    cfg->ipol_ans_cfg.sig_cfg.md_sig_thr_cfg.ipol_umts_ecno_poor_th = -14;
+                    cfg->ipol_ans_cfg.sig_cfg.md_sig_thr_cfg.ipol_umts_ecno_fair_th = -12;
+                    break; 
+                default: 
+                    break; 
+            }
+            break;
+        }
         case 1001: /* Ericsson IMS IWLAN */
         {
             cfg->ipol_ans_cfg.ipol_ims_md_supporting_rat        = 0x40 | 0x7; // NR/LTE/3G/2G
diff --git a/mcu/custom/protocol/common/ps/custom_ltecsr_config.c b/mcu/custom/protocol/common/ps/custom_ltecsr_config.c
index a151cbd..835ef42 100755
--- a/mcu/custom/protocol/common/ps/custom_ltecsr_config.c
+++ b/mcu/custom/protocol/common/ps/custom_ltecsr_config.c
@@ -53,6 +53,7 @@
     nvram_ltecsr_profile_ptr->ra_rsrp_good_th                   = -70;
     nvram_ltecsr_profile_ptr->ra_sinr_poor_th                   = 20;
     nvram_ltecsr_profile_ptr->ra_sinr_good_th                   = 30;
+    nvram_ltecsr_profile_ptr->holdcall_dl_check_para            = 0x1; // 0x1: RTCP expire timer enable
 }
 
 
@@ -105,6 +106,7 @@
     if(src->ra_rsrp_good_th != LTECSR_UNDEF_CONFIG_32)              {dst->ra_rsrp_good_th = src->ra_rsrp_good_th;}
     if(src->ra_sinr_poor_th != LTECSR_UNDEF_CONFIG_32)              {dst->ra_sinr_poor_th = src->ra_sinr_poor_th;}
     if(src->ra_sinr_good_th != LTECSR_UNDEF_CONFIG_32)              {dst->ra_sinr_good_th = src->ra_sinr_good_th;}
+    if(src->holdcall_dl_check_para != LTECSR_UNDEF_CONFIG_16)       {dst->holdcall_dl_check_para = src->holdcall_dl_check_para;}
 
     return;
 }
@@ -367,8 +369,9 @@
             /* Mexico */
             ltecsr_profile_ptr->rtp_expire_warning_timer = 1000;
             ltecsr_profile_ptr->ltecsr_common_para2 = ltecsr_profile_ptr->ltecsr_common_para2 | (1<<1); //LTECSR_FEATURE_HOLDCALL_DL_CHECK
-            ltecsr_profile_ptr->rtp_expire_timer = 10000;
-            ltecsr_profile_ptr->rtcp_expire_timer = 10000;
+            ltecsr_profile_ptr->holdcall_dl_check_para = ltecsr_profile_ptr->holdcall_dl_check_para & 0xFFFE; //disable RTCP timer check when LTECSR_FEATURE_HOLDCALL_DL_CHECK enabled
+            ltecsr_profile_ptr->rtp_expire_timer = 30000;
+            ltecsr_profile_ptr->rtcp_expire_timer = 25000;
             break;
         }
         case 120: /* Claro */
diff --git a/mcu/custom/protocol/common/ps/custom_n3cf_config.c b/mcu/custom/protocol/common/ps/custom_n3cf_config.c
index d32bbdb..c70d1f8 100755
--- a/mcu/custom/protocol/common/ps/custom_n3cf_config.c
+++ b/mcu/custom/protocol/common/ps/custom_n3cf_config.c
Binary files differ
diff --git a/mcu/custom/protocol/common/ps/custom_sdm_utility.c b/mcu/custom/protocol/common/ps/custom_sdm_utility.c
index d248f16..239970c 100755
--- a/mcu/custom/protocol/common/ps/custom_sdm_utility.c
+++ b/mcu/custom/protocol/common/ps/custom_sdm_utility.c
@@ -74,10 +74,7 @@
 
 
 static const sdm_customized_plmn_table_entry sdm_cust_prefer_sms_over_sgs_to_ims_tbl[] =
-{
-    /* Telefonica Germany */
-    {"262", "03", 1}, {"262", "07", 1}, {"262", "08", 1}, {"262", "11", 1}, {"262", "77", 1},
-    
+{    
     /* Telefonica Spain */
     {"214", "05", 1}, {"214", "07", 1},
 
@@ -114,9 +111,6 @@
     /* Orange Belgium */
     {"206", "10", 1},
 
-    /* Orange Luxembourg */
-    {"270", "99", 1},
-
     /* Etisalat United Arab Emirates */
     {"424", "02", 1},
 
@@ -223,10 +217,7 @@
 
     /* VDF Hungary */
     {"216", "70", 0},
-    
-    /* Telefonica Germany */
-    {"262", "03", 0}, {"262", "07", 0}, {"262", "08", 0}, {"262", "11", 0}, {"262", "77", 0},
-    
+        
     /* Telefonica Spain */
     {"214", "05", 0}, {"214", "07", 0},
 
@@ -248,10 +239,7 @@
     /* Orange Belgium */
     {"206", "10", 0},
 
-    /* Orange Luxembourg */
-    {"270", "99", 0},
-
-	/* Orange Morocco*/
+    /* Orange Morocco*/
     {"604", "00", 0},
     
     /* Etisalat United Arab Emirates */
@@ -317,22 +305,22 @@
     /* Free France*/
     {"208", "15", 0}, {"208", "16", 0}, {"208", "35", 0},
 
-	/*Maxis/Malaysia*/
+    /*Maxis/Malaysia*/
     {"502", "12", 0},  {"502", "17", 0},
 
-	/* Zain/Bahrain */
+    /* Zain/Bahrain */
     {"426", "02", 0},
 
-	/* Bateclo/Bahrain */
+    /* Bateclo/Bahrain */
     {"426", "01", 0},
 
-	/*Pelephone/ Israel*/
+    /*Pelephone/ Israel*/
     {"425", "03", 0},
 
-	/*MTN/Nigeria*/
+    /*MTN/Nigeria*/
     {"621", "30", 0},
 
-	/*MPT/Myanmar*/
+    /*MPT/Myanmar*/
     {"414", "01", 0},
 
     /* Eir Ireland */
@@ -549,6 +537,8 @@
     /* Orange Poland */
     {"260", "03", 0},
     
+    /* Orange Luxembourg */
+    {"270", "99", 0},
 };
 
 /*****************************************************************************
@@ -649,7 +639,7 @@
 
         }
     }
-	
+    
 
     return KAL_FALSE;
 
diff --git a/mcu/custom/protocol/common/ps/custom_ssds.c b/mcu/custom/protocol/common/ps/custom_ssds.c
index b561706..1f265b4 100755
--- a/mcu/custom/protocol/common/ps/custom_ssds.c
+++ b/mcu/custom/protocol/common/ps/custom_ssds.c
@@ -223,6 +223,7 @@
 		case 278: /* Jazz-Pakistan */
 		case 294: /* MPT-Mayanmar */
 		case 296:/* CWW-US */
+        case 303: /* Iliad/Italy */
 		case 306: /* CUHK-Hongkong */
 		case 314: /* Telepost-Greenland */
         case 315: /* Tele2-Kazakhstan */
@@ -245,6 +246,14 @@
             *req_ussd_path_type = CUSTOM_SSDS_USSD_PATH_TYPE_CS;
 			is_changed = KAL_TRUE;
             break;
+		case 420: /* Saudi Arabia -Redbull*/
+            *req_ussd_path_type = CUSTOM_SSDS_USSD_PATH_TYPE_CS;
+            is_changed = KAL_TRUE;
+            break;
+		case 426: /* NLC - Pakistan */
+            *req_ussd_path_type = CUSTOM_SSDS_USSD_PATH_TYPE_IMS;
+            is_changed = KAL_TRUE;
+            break;
         case 5: /* TMOEU/DTAG Greece/Netherlands/Hungary/Slovakia */
             if((0 == strcmp(params_info->mcc, "202")) || (0 == strcmp(params_info->mcc, "204")) ||
                (0 == strcmp(params_info->mcc, "216")) || (0 == strcmp(params_info->mcc, "231")) ||
@@ -271,6 +280,13 @@
                 is_changed = KAL_TRUE;
             }
             break;
+		case 113: /* Beeline */
+			if(0 == strcmp(params_info->mcc, "250"))  /* Beeline-Russia */
+            {
+                *req_ussd_path_type = CUSTOM_SSDS_USSD_PATH_TYPE_CS;
+                is_changed = KAL_TRUE;
+            }
+            break;
 		case 137:/* Tele2 */
            	if(0 == strcmp(params_info->mcc, "250")) /* Tele2/Russia USSD over CS */
            	{
@@ -292,13 +308,14 @@
                 is_changed = KAL_TRUE;
             }
             break;
-	    case 9:/* CT */
-		case 304:/* CTMO: only support CF and CW --aomen*/
+        case 9:/* CT */
+        case 304:/* CTMO: only support CF and CW --aomen*/
+        case 430: /* Airtel- Nigeria */
             *req_ussd_path_type = CUSTOM_SSDS_USSD_PATH_TYPE_NOT_SUPPORT;
             is_changed = KAL_TRUE;
             break;
-        case 6: /* VDF */
-            if(0 == strcmp(params_info->mcc, "655"))  /* VDF-South Africa */
+        case 6: /* VDF-South Africa and VDF-EU IOT */
+            if((0 == strcmp(params_info->mcc, "655")) || (0 == strcmp(params_info->mcc, "901")))
             {
                 *req_ussd_path_type = CUSTOM_SSDS_USSD_PATH_TYPE_CS;
                 is_changed = KAL_TRUE;
@@ -1464,6 +1481,10 @@
                         break;
                 }
             }
+            else if(0 == strcmp(params_info->mcc, "901")) /* VDF-EU IOT */
+            {
+                atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_CS_ONLY;
+            }
             need_check_roaming_data_off = KAL_FALSE;
             break;
         }
@@ -2339,7 +2360,7 @@
                     break;
                 default:
                     break;
-			}
+            }
             break;
         }
         case 125: /* DTAC-Thailand */
@@ -2370,25 +2391,33 @@
             }
 
             if(0 == strcmp(params_info->mcc, "250"))
-			{
-			    if(0 == strcmp(params_info->mnc, "02")) /* MEGAFON-Russian */
-			    {
+            {
+                if(0 == strcmp(params_info->mnc, "02")) /* MEGAFON-Russian */
+                {
                     if ((KAL_FALSE == params_info->is_ims_registered) &&
-						(params_info->atcmd_type == CUSTOM_SSDS_ATCMD_TYPE_SET_CALL_WAITING ||
+                        (params_info->atcmd_type == CUSTOM_SSDS_ATCMD_TYPE_SET_CALL_WAITING ||
                         params_info->atcmd_type == CUSTOM_SSDS_ATCMD_TYPE_GET_CALL_WAITING))
                     {/* CW service*/
                         atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_TB_SOLUTION;
                     }
-			    }
+                }
             }
             break;
         }
-        case 128: /* DNA */
+        case 128: /* DNA Finland */
         {
-            if (params_info->atcmd_type == CUSTOM_SSDS_ATCMD_TYPE_SET_CLIR ||
-                params_info->atcmd_type == CUSTOM_SSDS_ATCMD_TYPE_GET_CLIR)
-            {/* CLIR service*/
-                atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_TB_SOLUTION;
+            switch(params_info->atcmd_type)
+            {
+                case CUSTOM_SSDS_ATCMD_TYPE_SET_CLIR:
+                case CUSTOM_SSDS_ATCMD_TYPE_GET_CLIR:
+                    atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_TB_SOLUTION;
+                    break;
+                case CUSTOM_SSDS_ATCMD_TYPE_SET_CALL_WAITING:
+                case CUSTOM_SSDS_ATCMD_TYPE_GET_CALL_WAITING:
+                    atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_TB_SOLUTION;
+                    break;
+                default:
+                    break;
             }
             break;
         }
@@ -2400,10 +2429,19 @@
                 case CUSTOM_SSDS_ATCMD_TYPE_GET_CLIR:
                     atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_TB_SOLUTION;
                     break;
+				case CUSTOM_SSDS_ATCMD_TYPE_SET_CLIP:
+                case CUSTOM_SSDS_ATCMD_TYPE_GET_CLIP:
+					atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_TB_SOLUTION;
+					break;
                 case CUSTOM_SSDS_ATCMD_TYPE_SET_CALL_WAITING:
                 case CUSTOM_SSDS_ATCMD_TYPE_GET_CALL_WAITING:
                     atcmd_path_type = (KAL_TRUE == params_info->is_ims_registered)?CUSTOM_SSDS_PATH_TYPE_PS_ONLY:CUSTOM_SSDS_PATH_TYPE_CS_ONLY;
                     break;
+				case CUSTOM_SSDS_ATCMD_TYPE_SET_CALL_BARRING:
+				case CUSTOM_SSDS_ATCMD_TYPE_GET_CALL_BARRING:
+					atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_OPERATION_NOT_SUPPORTED_4;
+					break;
+					
                 default:
                     break;
             }
@@ -2791,6 +2829,18 @@
                         break;
                 }
             }
+            else if(0 == strcmp(params_info->mcc, "247")) //Latvia)
+            {
+                switch(params_info->atcmd_type)
+                {
+                    case CUSTOM_SSDS_ATCMD_TYPE_SET_CALL_WAITING:
+                    case CUSTOM_SSDS_ATCMD_TYPE_GET_CALL_WAITING:
+                        atcmd_path_type = (KAL_TRUE == params_info->is_ims_registered)?CUSTOM_SSDS_PATH_TYPE_PS_ONLY:CUSTOM_SSDS_PATH_TYPE_CS_ONLY;
+                        break;
+                    default:
+                        break;
+                }
+            }
             break;
         }
         case 139: /* BOUYGUES */
@@ -3250,8 +3300,8 @@
         }
         case 158: /* Zain */
         {
-           /*Kuwait*/
-            if(0 == strcmp(params_info->mcc, "419"))
+           /*Kuwait*Jordan*/
+            if((0 == strcmp(params_info->mcc, "419")) || (0 == strcmp(params_info->mcc, "416")))
             {
                 atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_CS_ONLY;
             }
@@ -4102,6 +4152,10 @@
                    params_info->atcmd_type == CUSTOM_SSDS_ATCMD_TYPE_GET_CLIR)
                 {
                     atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_OPERATION_NOT_SUPPORTED_4;
+                } else if (params_info->atcmd_type == CUSTOM_SSDS_ATCMD_TYPE_SET_CALL_WAITING ||
+                   params_info->atcmd_type == CUSTOM_SSDS_ATCMD_TYPE_GET_CALL_WAITING)
+                {
+                    atcmd_path_type = (KAL_TRUE == params_info->is_ims_registered)?CUSTOM_SSDS_PATH_TYPE_PS_PREFER:CUSTOM_SSDS_PATH_TYPE_CS_ONLY;
                 }
 
             }
@@ -4299,7 +4353,21 @@
         {
             if(0 == strcmp(params_info->mcc, "220")) /* Serbia */
             {
-                 atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_PS_ONLY;
+                atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_PS_ONLY;
+                switch(params_info->atcmd_type)
+                {
+                    case CUSTOM_SSDS_ATCMD_TYPE_SET_CALL_WAITING:
+                    case CUSTOM_SSDS_ATCMD_TYPE_GET_CALL_WAITING:
+                        /* Set to CS only to sync the status with CS, then retun terminal based */
+                        atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_CS_ONLY;
+                        break;
+                    case CUSTOM_SSDS_ATCMD_TYPE_SET_CLIR:
+                    case CUSTOM_SSDS_ATCMD_TYPE_GET_CLIR:
+                        atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_TB_SOLUTION;
+                        break;
+                    default:
+                        break;
+                }
             }
             break;
         }
@@ -4827,6 +4895,11 @@
             }
             break;
         }
+        case 303: /* Iliad/Italy */
+        {
+            atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_CS_ONLY;
+            break;
+        }
 		case 306:/* CUHK */
         {
             atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_CS_ONLY;
@@ -5332,7 +5405,6 @@
 		}
 		case 357:/*CNT-Ecuador*/
 		{
-			atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_CS_ONLY;
 			switch(params_info->atcmd_type)
             {
                 case CUSTOM_SSDS_ATCMD_TYPE_SET_CALL_WAITING:
@@ -5637,6 +5709,100 @@
             }
             break;
         }
+		case 420: /* Redbull - Saudi Arabia */
+        {
+			atcmd_path_type = (KAL_TRUE == params_info->is_ims_registered)?CUSTOM_SSDS_PATH_TYPE_PS_ONLY:CUSTOM_SSDS_PATH_TYPE_CS_ONLY;
+			switch(params_info->atcmd_type)
+            {
+	            case CUSTOM_SSDS_ATCMD_TYPE_SET_CALL_WAITING:
+	            case CUSTOM_SSDS_ATCMD_TYPE_GET_CALL_WAITING:
+	                atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_TB_SOLUTION;
+	                break;
+	            default:
+	                break;
+            }
+            break;
+        }
+        case 421: /* Mobile - Yemen */
+        {
+			switch(params_info->atcmd_type)
+            {
+                case CUSTOM_SSDS_ATCMD_TYPE_SET_CALL_BARRING:
+                case CUSTOM_SSDS_ATCMD_TYPE_GET_CALL_BARRING:
+                    atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_PS_ONLY;
+                    break;
+                default:
+                    break;
+            }
+            if(params_info->roaming_status != CUSTOM_SSDS_ROAMING_TYPE_NO)
+			{
+				atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_CS_ONLY;
+			}			
+            break;
+        }
+        case 424: /* Vodafone/Iceland */
+        {
+            switch(params_info->atcmd_type)
+            {
+                case CUSTOM_SSDS_ATCMD_TYPE_SET_CALL_WAITING:
+                case CUSTOM_SSDS_ATCMD_TYPE_GET_CALL_WAITING:
+                    atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_TB_SOLUTION;
+                    break;
+                default:
+                    break;
+            }
+            if(params_info->roaming_status != CUSTOM_SSDS_ROAMING_TYPE_NO)
+            {
+                atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_CS_ONLY;
+            }
+            break;
+        }
+		case 426: /* NLC - Pakistan*/
+        {
+			atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_CS_ONLY;
+            break;
+        }
+        case 430: /* Airtel - Nigeria*/
+        {
+			switch(params_info->atcmd_type)
+            {
+                case CUSTOM_SSDS_ATCMD_TYPE_SET_CALL_WAITING:
+                case CUSTOM_SSDS_ATCMD_TYPE_GET_CALL_WAITING:
+                    atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_TB_SOLUTION;
+                    break;
+				case CUSTOM_SSDS_ATCMD_TYPE_SET_CLIR:
+                case CUSTOM_SSDS_ATCMD_TYPE_GET_CLIR:
+                    atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_OPERATION_NOT_SUPPORTED_4;
+                    break;
+                default:
+                    break;
+            }
+			if(atcmd_path_type == CUSTOM_SSDS_PATH_TYPE_PS_PREFER ||
+               atcmd_path_type == CUSTOM_SSDS_PATH_TYPE_PS_ONLY)
+            {
+                if(KAL_TRUE != params_info->is_mobile_data_setting_enabled)
+                {
+                    atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_CS_ONLY;
+                    return atcmd_path_type;
+                }
+            }
+			need_check_roaming_data_off_cs_only = KAL_TRUE;
+            break;
+        }
+		case 431: /* Unifique - Brazil */
+        {
+            atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_PS_PREFER;
+            switch(params_info->atcmd_type)
+            {
+                case CUSTOM_SSDS_ATCMD_TYPE_SET_CALL_WAITING:
+                case CUSTOM_SSDS_ATCMD_TYPE_GET_CALL_WAITING:
+                    atcmd_path_type = (KAL_TRUE == params_info->is_ims_registered)?CUSTOM_SSDS_PATH_TYPE_TB_SOLUTION:CUSTOM_SSDS_PATH_TYPE_PS_PREFER;
+                    break;
+                default:
+                    break;
+			}
+            break;
+        }
         case 1002: /* Nokia IODT */
         {
             /* default config */
@@ -6754,6 +6920,12 @@
                 is_ussi_allowed_during_ims_call  = KAL_FALSE;
             }
             break;			
+		case 220: /* Tigo */
+			if(0 == strcmp(params_info->mcc, "704")) /* Tigo-Guatemala */ 
+			{
+			    is_ussi_allowed_during_ims_call  = KAL_FALSE;
+			}
+			break;
 		case 246: /* Ooredoo */
             if(0 == strcmp(params_info->mcc, "427")) /* Ooredoo-Qatar */
             {
@@ -6773,7 +6945,13 @@
     if(params_info->nr_attached == KAL_TRUE)
     {
         switch(params_info->op_id)
-        {    
+        {
+            case 3: /* Orange */
+                if(0 == strcmp(params_info->mcc, "214")) /* Spain */
+                {
+                    is_rat_mode_change_allowed  = KAL_TRUE;
+                }
+                break;
             case 6: /* Vodafone */
                 if(0 == strcmp(params_info->mcc, "262")) /* Vodafone-Germany */
                 {
diff --git a/mcu/custom/protocol/common/ps/custom_xcap_config.c b/mcu/custom/protocol/common/ps/custom_xcap_config.c
index 31978e2..4e641e1 100755
--- a/mcu/custom/protocol/common/ps/custom_xcap_config.c
+++ b/mcu/custom/protocol/common/ps/custom_xcap_config.c
@@ -134,6 +134,8 @@
     xcap_default_info->remove_node_namespace = XCAP_INFO_DEFAULT_REMOVE_NODE_NAMESPACE;
     xcap_default_info->support_if_match_header = XCAP_INFO_DEFAULT_SUPPORT_IF_MATCH_HEADER;
     xcap_default_info->support_put_cf_root_rules = XCAP_SUPPORT_PUT_CF_ROOT_RULES_ALL_CF_CONDITIONAL_CF;
+    xcap_default_info->support_omit_cp_prefix_and_namespace = XCAP_INFO_DEFAULT_SUPPORT_OMIT_CP_PREFIX_AND_NAMESPACE;
+    xcap_default_info->support_put_cb_root = XCAP_INFO_DEFAULT_SUPPORT_PUT_CB_ROOT;
 
     /* GBA default configuration */
     gba_default_info = &(cfg->gba_info);
@@ -548,6 +550,7 @@
             cfg->xcap_info.support_adding_unprovisioned_rule = XCAP_DISABLED;
             cfg->xcap_info.need_check_isim_info = XCAP_ENABLED;
             cfg->xcap_info.ccfc_service_class = XCAP_CCFC_SERVICE_CLASS_VOICE;
+            cfg->cm_info.apn_selection_rule = XCAP_CM_APN_SELECTION_RULE_XCAP_ONLY;
             break;
         }
         case 18: /* RJIO India */
@@ -1023,6 +1026,10 @@
                 cfg->xcap_info.support_media_tag = XCAP_DISABLED;
                 cfg->xcap_info.support_adding_unprovisioned_rule = XCAP_DISABLED;
                 update_str(cfg->gba_info.gba_type, "GBA_ME");
+            } else if (streq(mcc, "247")){/* Latvia */
+                cfg->xcap_info.support_media_tag = XCAP_DISABLED;
+                cfg->xcap_info.support_adding_unprovisioned_rule = XCAP_DISABLED;
+                update_str(cfg->gba_info.gba_type, "GBA_ME");
             }
             break;
         }
@@ -1185,8 +1192,18 @@
                 cfg->xcap_info.support_cfnl = XCAP_DISABLED;
                 cfg->xcap_info.support_put_cf_root = XCAP_DISABLED;
                 cfg->xcap_info.support_adding_unprovisioned_rule = XCAP_DISABLED;
-                if (streq(mnc, "06")){
-                    update_str(cfg->gba_info.gba_url, "bsf.ims.mnc006.mcc240.pub.3gppnetwork.org");
+
+                if (streq(mnc, "06")) { /* MVNO Vimla/Sweden */
+                    cfg->xcap_info.support_adding_namespace = XCAP_DISABLED;
+                    cfg->xcap_info.url_encoding = XCAP_URL_ENCODING_NODE_SELECTOR;
+                    cfg->xcap_info.forwarding_number_use_sip_uri = XCAP_ENABLED;
+                    cfg->xcap_info.support_omit_cp_prefix_and_namespace = XCAP_ENABLED;
+                    cfg->xcap_info.xcap_port = 8443;
+                    cfg->gba_info.gba_port = 443;
+                    update_str(cfg->xcap_info.xcap_protocol, "https");
+                    update_str(cfg->gba_info.gba_protocol, "https");
+                    update_str(cfg->xcap_info.xcap_url, "xcap.ims.mnc006.mcc240.pub.3gppnetwork.org");
+                    update_str(cfg->gba_info.gba_url, "bsf.mnc006.mcc240.pub.3gppnetwork.org");
                 }
                 else if (streq(mnc, "08")){
                     update_str(cfg->gba_info.gba_url, "bsf.ims.mnc008.mcc240.pub.3gppnetwork.org");
@@ -1371,6 +1388,8 @@
             else if (streq(mcc, "232")){ /* Austria */
                 update_str(cfg->gba_info.gba_type, "GBA_ME");
                 cfg->xcap_info.support_adding_unprovisioned_rule = XCAP_DISABLED;
+                update_str(cfg->xcap_info.xcap_protocol, "https");
+                update_str(cfg->gba_info.gba_protocol, "https");
             }
             else if (streq(mcc, "284")){ /* Bulgaria */
                 update_str(cfg->gba_info.gba_type, "GBA_ME");
@@ -1514,6 +1533,11 @@
 				update_str(cfg->xcap_info.xcap_url,"xcap.ims.mnc111.mcc732.pub.3gppnetwork.org");
 				update_str(cfg->gba_info.gba_url, "bsf.mnc111.mcc732.pub.3gppnetwork.org");
 				update_str(cfg->gba_info.gba_type, "GBA_ME");
+			} else if(streq(mcc, "714")){ /* Panama */
+			    update_str(cfg->xcap_info.xcap_protocol, "https");
+                update_str(cfg->gba_info.gba_protocol, "https");
+				cfg->xcap_info.xcap_port = 443;
+				cfg->gba_info.gba_port = 443;
 			}
             break;
         }
@@ -1850,6 +1874,7 @@
             cfg->xcap_info.support_media_tag = XCAP_DISABLED;
             update_str(cfg->xcap_info.auid, "mtasxdms/simservs.ngn.etsi.org");
             cfg->xcap_info.xcap_port = 8080;
+            cfg->xcap_info.support_put_cb_root = XCAP_ENABLED;
             break;
         }
         case 319: /*Monaco Telecom France/Epic Cyprus */
@@ -2021,7 +2046,7 @@
         {
             update_str(cfg->gba_info.gba_url, "bsf.ims.mnc031.mcc454.pub.3gppnetwork.org");
             cfg->xcap_info.media_type = MEDIA_TYPE_ONLY_AUDIO;
-			break;
+            break;
         }
         case 340: /* Vodafone - Papua New Guinea */
         {
@@ -2096,18 +2121,18 @@
 		case 381: /* Asiacell/Iraq */
         {
             if (streq(mcc, "418")) { 
-				update_str(cfg->gba_info.gba_type, "GBA_ME");
+                update_str(cfg->gba_info.gba_type, "GBA_ME");
                 cfg->gba_info.gba_port = 8080;
                 update_str(cfg->xcap_info.xcap_url, "xcap.ims.mnc005.mcc418.pub.3gppnetwork.org");
                 update_str(cfg->gba_info.gba_url, "bsf.ims.mnc005.mcc418.pub.3gppnetwork.org");
             }            
-			break;
+            break;
         }
         case 382: /* Zeop */
         {
             if (streq(mcc, "647")) { /* French Reunion */
-				cfg->xcap_info.xcap_port = 8081;
-				cfg->gba_info.gba_port = 8080;
+                cfg->xcap_info.xcap_port = 8081;
+                cfg->gba_info.gba_port = 8080;
                 update_str(cfg->xcap_info.xcap_url, "xcap.ims.mnc004.mcc647.pub.3gppnetwork.org");
                 update_str(cfg->gba_info.gba_url, "bsf.ims.mnc004.mcc647.pub.3gppnetwork.org");
             }            
@@ -2175,6 +2200,12 @@
             update_str(cfg->xcap_info.xcap_url, "xcap.ims.mnc530.mcc311.pub.3gppnetwork.org");
             break;
         }
+        case 413: /* Ufone-Pakistan */
+        {
+            cfg->xcap_info.support_media_tag = XCAP_DISABLED;
+            update_str(cfg->gba_info.gba_type, "GBA_ME");
+            break;
+        }
         case 419: /* Airtel - Uganda */
         {
             if (streq(mcc, "641")) {
@@ -2187,6 +2218,37 @@
             }
             break;
         }
+        case 420: /* Redbull - Saudi Arabia */
+		{
+            update_str(cfg->gba_info.gba_type, "GBA_ME");
+            update_str(cfg->xcap_info.xcap_url, "xcap.ims.mnc010.mcc420.pub.3gppnetwork.org");
+            update_str(cfg->gba_info.gba_url, "bsf.mnc010.mcc420.pub.3gppnetwork.org");
+            cfg->xcap_info.support_media_tag = XCAP_DISABLED;
+            cfg->xcap_info.support_cfnl = XCAP_DISABLED;
+			
+            break;
+        }
+        case 424: /* Vodafone/Iceland */
+        {
+            cfg->xcap_info.support_cfnl = XCAP_DISABLED;
+            cfg->xcap_info.forwarding_number_use_sip_uri = XCAP_ENABLED;
+            cfg->xcap_info.url_encoding = XCAP_URL_ENCODING_NODE_SELECTOR;
+            cfg->xcap_info.support_put_cf_root = XCAP_DISABLED;
+            cfg->xcap_info.support_adding_unprovisioned_rule = XCAP_DISABLED;
+            update_str(cfg->gba_info.gba_url, "bsf.ims.mnc002.mcc274.pub.3gppnetwork.org");
+            break;
+        }
+        case 430: /* Airtel Nigeria */
+        {
+            update_str(cfg->gba_info.gba_type, "GBA_ME");
+            break;
+        }
+        case 431: /* Unifique Brazil */
+        {
+            update_str(cfg->gba_info.gba_type, "GBA_ME");
+            cfg->gba_info.gba_port = 8080;
+            break;
+        }
         case 1001: /* Ericsson IODT */
         {
             cfg->xcap_info.support_media_tag = XCAP_DISABLED;
diff --git a/mcu/custom/protocol/common/ps/custom_xcap_config.h b/mcu/custom/protocol/common/ps/custom_xcap_config.h
index d5e3aca..754238b 100755
--- a/mcu/custom/protocol/common/ps/custom_xcap_config.h
+++ b/mcu/custom/protocol/common/ps/custom_xcap_config.h
@@ -204,6 +204,8 @@
 #define XCAP_INFO_DEFAULT_CCFC_SERVICE_CLASS XCAP_CCFC_SERVICE_CLASS_VOICE | XCAP_CCFC_SERVICE_CLASS_VIDEO
 #define XCAP_INFO_DEFAULT_REMOVE_NODE_NAMESPACE XCAP_DISABLED
 #define XCAP_INFO_DEFAULT_SUPPORT_IF_MATCH_HEADER XCAP_IF_MATCH_NOT_SUPPORTED
+#define XCAP_INFO_DEFAULT_SUPPORT_OMIT_CP_PREFIX_AND_NAMESPACE XCAP_DISABLED
+#define XCAP_INFO_DEFAULT_SUPPORT_PUT_CB_ROOT XCAP_DISABLED
 
 // GBA Info Default Values
 #define GBA_INFO_DEFAULT_GBA_URL ""