[Feature][Modem]Merge MTK release P3 P4 patch

Change-Id: I1ef3d69e36378ee73a422ecb2721488d6b416427
diff --git a/mcu/interface/service/dns/dns_struct.h b/mcu/interface/service/dns/dns_struct.h
index 2381f2d..327ec94 100755
--- a/mcu/interface/service/dns/dns_struct.h
+++ b/mcu/interface/service/dns/dns_struct.h
@@ -75,6 +75,7 @@
     kal_int16    flags;
     kal_uint32   query_timeout_value;
     kal_uint8    dns_server_priority;
+    kal_uint8    bypass_cache;
     kal_uint32   default_ttl;
 } dns_get_host_by_name_req_struct;
 
diff --git a/mcu/interface/service/icd/ims/ota_message/IMS_SIP_Message.h b/mcu/interface/service/icd/ims/ota_message/IMS_SIP_Message.h
index eb883ae..e62f22f 100755
--- a/mcu/interface/service/icd/ims/ota_message/IMS_SIP_Message.h
+++ b/mcu/interface/service/icd/ims/ota_message/IMS_SIP_Message.h
@@ -4,7 +4,7 @@
 // Layer : IMS
 // Type : RECORD
 // Code : 0x2000
-// Version : t-internal-ims-icd-draft2rc1-11-g02208f5
+// Version : t-internal-ims-icd-draft2rc1-30-g1c0e306
 
 #ifndef _IMS_SIP_MESSAGE_H
 #define _IMS_SIP_MESSAGE_H
@@ -14,43 +14,38 @@
 
 #define ICD_IMS_SIP_MESSAGE 0x2000
 
-#define ICD_IMS_IMS_SIP_MESSAGE_INFO_V2     2
+#define ICD_IMS_IMS_SIP_MESSAGE_INFO_V3     3
 
-#define MAX_ICD_IMS_SIP_MESSAGE_STRUCT_V2_SIP_MESSAGE_LENGTH    8192
+#define MAX_ICD_IMS_SIP_MESSAGE_STRUCT_V3_SIP_MESSAGE_LENGTH    8192
 
-#define ICD_IMS_SIP_MESSAGE_STRUCT_V2_MAX_SIZE      9622
+#define ICD_IMS_SIP_MESSAGE_STRUCT_V3_MAX_SIZE      9750
 
 typedef struct {
     kal_uint8       version;    // Log record structure ID
     kal_uint8       direction;      // Indicates the direction of SIP Message.
-                                    // 0: UE to Network
-                                    // 1: Network to UE
+                                    // Enum {0: UE to Network, 1: Network to UE}
     kal_uint8       rat_information;    // Indicates Rat information.
-                                        // 0:LTE
-                                        // 1:NR
-                                        // 2:Wifi
-                                        // 3:Others
+                                        // Enum {0: LTE, 1: NR, 2: Wifi, 3: Others}
     kal_uint8       transport_type;     // Indicates the SIP transport Type.
-                                        // 1:UDP
-                                        // 2:TCP
+                                        // Enum {1: UDP, 2: TCP}
     kal_uint8       sip_message_type;       // Indicates the SIP message Type.
-                                            // 0:Request
-                                            // 1:Response
+                                            // Enum {0: Request, 1: Response}
     kal_uint8       sip_method;     // Indicates the SIP Message ID.
-                                    // 0:METHOD_SIP_REGISTER
-                                    // 1:METHOD_SIP_INVITE
-                                    // 2:METHOD_SIP_REFER
-                                    // 3:METHOD_SIP_UPDATE
-                                    // 4:METHOD_SIP_CANCEL
-                                    // 5:METHOD_SIP_MESSAGE
-                                    // 6:METHOD_SIP_ACK
-                                    // 7:METHOD_SIP_BYE
-                                    // 8:METHOD_SIP_OPTIONS
-                                    // 9:METHOD_SIP_SUBSCRIBE
-                                    // 10:METHOD_SIP_NOTIFY
-                                    // 11:METHOD_SIP_PUBLISH
-                                    // 12:METHOD_SIP_INFO
-                                    // 13:METHOD_SIP_PRACK
+                                    // Enum {
+                                    // 0:METHOD_SIP_REGISTER,
+                                    // 1:METHOD_SIP_INVITE,
+                                    // 2:METHOD_SIP_REFER,
+                                    // 3:METHOD_SIP_UPDATE,
+                                    // 4:METHOD_SIP_CANCEL,
+                                    // 5:METHOD_SIP_MESSAGE,
+                                    // 6:METHOD_SIP_ACK,
+                                    // 7:METHOD_SIP_BYE,
+                                    // 8:METHOD_SIP_OPTIONS,
+                                    // 9:METHOD_SIP_SUBSCRIBE,
+                                    // 10:METHOD_SIP_NOTIFY,
+                                    // 11:METHOD_SIP_PUBLISH,
+                                    // 12:METHOD_SIP_INFO,
+                                    // 13:METHOD_SIP_PRACK}
     kal_uint16      sip_response_code;      // Indicates the SIP response Code(Refer to RFC3261).
     kal_uint8       request_line[512];      // The first line of a SIP message
     kal_int8    source_ip[64];      // Indicates the source IP address of SIP message.
@@ -59,7 +54,7 @@
     kal_uint16      cseq;       // Indicates the CSeq of the SIP message
     kal_uint8       reason_text[128];       // Indicates the string in Reason Header Field.
     kal_uint8       warning_text[128];      // Indicates the string in Warning Header Field.
-    kal_uint8       user_agent_text[128];       // Indicates the string in User Agent Header Field.
+    kal_uint8       user_agent_text[256];       // Indicates the string in User Agent Header Field.
     kal_uint8       codec_info[256];    // Indicates the SDP codec information in string form.
                                         // "<pt>;<codec>,<pt>;<codec>,... ..."
                                         // codec:
@@ -82,19 +77,23 @@
     kal_uint16      video_as;       // Indicates the video AS in SDP body.
     kal_uint16      session_as;     // Indicates the session AS in SDP body.
     kal_uint16      sip_message_length;     // Length of the SIP message.
-                                            // range[0, 8192]
+                                            // Range[0, 8192]
     kal_uint8       sip_message[FLEXIBLE_ARRAY_SIZE];       // N := SIP Message Length
                                                             // SIP Message OCTET STRING(SIZE (1..8192))
                                                             // Raw SIP Message
-} icd_ims_sip_message_struct_v2;
+} icd_ims_sip_message_struct_v3;
 
-typedef    icd_ims_sip_message_struct_v2    icd_ims_sip_message_struct;
+typedef    icd_ims_sip_message_struct_v3    icd_ims_sip_message_struct;
 
 
 #endif /* _IMS_SIP_MESSAGE_H */
 
 
 /* Public JSON start
-"IMS_SIP_Message": {"info": {"Category": "IMS", "Layer": "IMS", "Code": "0x2000", "Name": "IMS_SIP_Message", "Type": "RECORD", "Desc": "The log is generated every time an IMS message is sent or received.\n"}, "table": {"IMS_SIP_Message": {"ColNum": 6, "Header": ["Field", "Type Name", "Count", "Offset", "Length\n(bits)", "Description"], "Data": {"0": ["Version", "UINT8", "1", "0", "8", "Log record structure ID"], "1": ["Versions", "IMS_SIP_Message_Versions", "1", "8", "VAR", ""]}, "Name": "IMS_SIP_Message"}, "IMS_SIP_Message_Versions": {"ColNum": 3, "Header": ["ID", "Type Name", "Description"], "Data": {"0": ["1", "IMS_SIP_Message_Info_V1", ""], "1": ["2", "IMS_SIP_Message_Info_V2", ""]}, "Name": "IMS_SIP_Message_Versions"}, "IMS_SIP_Message_Info_V1": {"ColNum": 6, "Header": ["Field", "Type Name", "Count", "Offset", "Length\n(bits)", "Description"], "Ref": {"SIP Message": "SIP Message Length"}, "Name": "IMS_SIP_Message_Info_V1", "Data": {"0": ["Direction", "UINT8", "1", "0", "8", "Indicates the direction of SIP Message.\n0: UE to Network\n1: Network to UE"], "1": ["Rat Information", "UINT8", "1", "8", "8", "Indicates Rat information.\n0:LTE\n1:NR\n2:Wifi\n3:Others"], "2": ["Transport Type", "UINT8", "1", "16", "8", "Indicates the SIP transport Type.\n1:UDP\n2:TCP"], "3": ["SIP Message Type", "UINT8", "1", "24", "8", "Indicates the SIP message Type.\n0:Request\n1:Response"], "4": ["SIP Method", "UINT8", "1", "32", "8", "Indicates the SIP Message ID.\n0:METHOD_SIP_REGISTER\n1:METHOD_SIP_INVITE\n2:METHOD_SIP_REFER\n3:METHOD_SIP_UPDATE\n4:METHOD_SIP_CANCEL\n5:METHOD_SIP_MESSAGE\n6:METHOD_SIP_ACK\n7:METHOD_SIP_BYE\n8:METHOD_SIP_OPTIONS\n9:METHOD_SIP_SUBSCRIBE\n10:METHOD_SIP_NOTIFY\n11:METHOD_SIP_PUBLISH\n12:METHOD_SIP_INFO\n13:METHOD_SIP_PRACK"], "5": ["SIP Response Code", "UINT16", "1", "40", "16", "Indicates the SIP response Code(Refer to RFC3261)."], "6": ["Source IP", "INT8", "64", "56", "512", "Indicates the source IP address of SIP message."], "7": ["Destination IP", "INT8", "64", "568", "512", "Indicates the destination IP address of SIP message."], "8": ["Call ID", "UINT8", "128", "1080", "1024", "Indicates the call ID."], "9": ["Reason Text", "UINT8", "128", "2104", "1024", "Indicates the string in Reason Header Field."], "10": ["Warning Text", "UINT8", "128", "3128", "1024", "Indicates the string in Warning Header Field."], "11": ["User Agent Text", "UINT8", "128", "4152", "1024", "Indicates the string in User Agent Header Field."], "12": ["Codec Info", "UINT8", "256", "5176", "2048", "Indicates the SDP codec information in string form.\n\"<pt>;<codec>,<pt>;<codec>,... ...\"\ncodec:\n0:Others\n1:AMR\n2:AMR_WB\n3:EVS\n4:PCMA\n5:PCMU\n21:H263\n22:H264\n23:H265\n31:T140\n32:RED\n41:Telephone-event/8000\n42:Telephone-event/16000"], "13": ["Audio Port", "UINT16", "1", "7224", "16", "Indicates the audio port number in SDP body."], "14": ["Video Port", "UINT16", "1", "7240", "16", "Indicates the video port number in SDP body."], "15": ["Audio AS", "UINT16", "1", "7256", "16", "Indicates the audio AS in SDP body."], "16": ["Video AS", "UINT16", "1", "7272", "16", "Indicates the video AS in SDP body."], "17": ["Session AS", "UINT16", "1", "7288", "16", "Indicates the session AS in SDP body."], "18": ["SIP Message Length", "UINT16", "1", "7304", "16", "Length of the SIP message.\nrange[0, 8192]"], "19": ["SIP Message", "UINT8", "N", "7320", "VAR", "N := SIP Message Length\nSIP Message OCTET STRING(SIZE (1..8192))\nRaw SIP Message"]}}, "IMS_SIP_Message_Info_V2": {"ColNum": 6, "Header": ["Field", "Type Name", "Count", "Offset", "Length\n(bits)", "Description"], "Ref": {"SIP Message": "SIP Message Length"}, "Name": "IMS_SIP_Message_Info_V2", "Data": {"0": ["Direction", "UINT8", "1", "0", "8", "Indicates the direction of SIP Message.\n0: UE to Network\n1: Network to UE"], "1": ["Rat Information", "UINT8", "1", "8", "8", "Indicates Rat information.\n0:LTE\n1:NR\n2:Wifi\n3:Others"], "2": ["Transport Type", "UINT8", "1", "16", "8", "Indicates the SIP transport Type.\n1:UDP\n2:TCP"], "3": ["SIP Message Type", "UINT8", "1", "24", "8", "Indicates the SIP message Type.\n0:Request\n1:Response"], "4": ["SIP Method", "UINT8", "1", "32", "8", "Indicates the SIP Message ID.\n0:METHOD_SIP_REGISTER\n1:METHOD_SIP_INVITE\n2:METHOD_SIP_REFER\n3:METHOD_SIP_UPDATE\n4:METHOD_SIP_CANCEL\n5:METHOD_SIP_MESSAGE\n6:METHOD_SIP_ACK\n7:METHOD_SIP_BYE\n8:METHOD_SIP_OPTIONS\n9:METHOD_SIP_SUBSCRIBE\n10:METHOD_SIP_NOTIFY\n11:METHOD_SIP_PUBLISH\n12:METHOD_SIP_INFO\n13:METHOD_SIP_PRACK"], "5": ["SIP Response Code", "UINT16", "1", "40", "16", "Indicates the SIP response Code(Refer to RFC3261)."], "6": ["Request Line", "UINT8", "512", "56", "4096", "The first line of a SIP message"], "7": ["Source IP", "INT8", "64", "4152", "512", "Indicates the source IP address of SIP message."], "8": ["Destination IP", "INT8", "64", "4664", "512", "Indicates the destination IP address of SIP message."], "9": ["Call ID", "UINT8", "128", "5176", "1024", "Indicates the call ID."], "10": ["CSeq", "UINT16", "1", "6200", "16", "Indicates the CSeq of the SIP message"], "11": ["Reason Text", "UINT8", "128", "6216", "1024", "Indicates the string in Reason Header Field."], "12": ["Warning Text", "UINT8", "128", "7240", "1024", "Indicates the string in Warning Header Field."], "13": ["User Agent Text", "UINT8", "128", "8264", "1024", "Indicates the string in User Agent Header Field."], "14": ["Codec Info", "UINT8", "256", "9288", "2048", "Indicates the SDP codec information in string form.\n\"<pt>;<codec>,<pt>;<codec>,... ...\"\ncodec:\n0:Others\n1:AMR\n2:AMR_WB\n3:EVS\n4:PCMA\n5:PCMU\n21:H263\n22:H264\n23:H265\n31:T140\n32:RED\n41:Telephone-event/8000\n42:Telephone-event/16000"], "15": ["Audio Port", "UINT16", "1", "11336", "16", "Indicates the audio port number in SDP body."], "16": ["Video Port", "UINT16", "1", "11352", "16", "Indicates the video port number in SDP body."], "17": ["Audio AS", "UINT16", "1", "11368", "16", "Indicates the audio AS in SDP body."], "18": ["Video AS", "UINT16", "1", "11384", "16", "Indicates the video AS in SDP body."], "19": ["Session AS", "UINT16", "1", "11400", "16", "Indicates the session AS in SDP body."], "20": ["SIP Message Length", "UINT16", "1", "11416", "16", "Length of the SIP message.\nrange[0, 8192]"], "21": ["SIP Message", "UINT8", "N", "11432", "VAR", "N := SIP Message Length\nSIP Message OCTET STRING(SIZE (1..8192))\nRaw SIP Message"]}}}},
+"IMS_SIP_Message": {"info": {"Category": "IMS", "Layer": "IMS", "Code": "0x2000", "Name": "IMS_SIP_Message", "Type": "RECORD", "Desc": "The log is generated every time an IMS message is sent or received.\n"}, "table": {"IMS_SIP_Message": {"ColNum": 6, "Header": ["Field", "Type Name", "Count", "Offset", "Length\n(bits)", "Description"], "Data": {"0": ["Version", "UINT8", "1", "0", "8", "Log record structure ID"], "1": ["Versions", "IMS_SIP_Message_Versions", "1", "8", "VAR", ""]}, "Name": "IMS_SIP_Message"}, "IMS_SIP_Message_Versions": {"ColNum": 3, "Header": ["ID", "Type Name", "Description"], "Data": {"0": ["1", "IMS_SIP_Message_Info_V1", ""], "1": ["2", "IMS_SIP_Message_Info_V2", ""], "2": ["3", "IMS_SIP_Message_Info_V3", ""]}, "Name": "IMS_SIP_Message_Versions"}, "IMS_SIP_Message_Info_V1": {"ColNum": 6, "Header": ["Field", "Type Name", "Count", "Offset", "Length\n(bits)", "Description"], "Data": {"0": ["Direction", "UINT8", "1", "0", "8", "Indicates the direction of SIP Message.\nRange[ 0, 1]\nEnum {0: UE to Network, 1: Network to UE}"], "1": ["Rat Information", "UINT8", "1", "8", "8", "Indicates Rat information.\nRange[ 0, 3]\nEnum {0: LTE, 1: NR, 2: Wifi, 3: Others}"], "2": ["Transport Type", "UINT8", "1", "16", "8", "Indicates the SIP transport Type.\nRange[ 1, 2]\nEnum {1: UDP, 2: TCP}"], "3": ["SIP Message Type", "UINT8", "1", "24", "8", "Indicates the SIP message Type.\nRange[ 0, 1]\nEnum {0: Request, 1: Response}"], "4": ["SIP Method", "UINT8", "1", "32", "8", "Indicates the SIP Message ID.\nRange[ 0, 13]\nEnum {\n0:METHOD_SIP_REGISTER,\n1:METHOD_SIP_INVITE,\n2:METHOD_SIP_REFER,\n3:METHOD_SIP_UPDATE,\n4:METHOD_SIP_CANCEL,\n5:METHOD_SIP_MESSAGE,\n6:METHOD_SIP_ACK,\n7:METHOD_SIP_BYE,\n8:METHOD_SIP_OPTIONS,\n9:METHOD_SIP_SUBSCRIBE,\n10:METHOD_SIP_NOTIFY,\n11:METHOD_SIP_PUBLISH,\n12:METHOD_SIP_INFO,\n13:METHOD_SIP_PRACK}"], "5": ["SIP Response Code", "UINT16", "1", "40", "16", "Indicates the SIP response Code(Refer to RFC3261)."], "6": ["Source IP", "INT8", "64", "56", "512", "Indicates the source IP address of SIP message."], "7": ["Destination IP", "INT8", "64", "568", "512", "Indicates the destination IP address of SIP message."], "8": ["Call ID", "UINT8", "128", "1080", "1024", "Indicates the call ID."], "9": ["Reason Text", "UINT8", "128", "2104", "1024", "Indicates the string in Reason Header Field."], "10": ["Warning Text", "UINT8", "128", "3128", "1024", "Indicates the string in Warning Header Field."], "11": ["User Agent Text", "UINT8", "128", "4152", "1024", "Indicates the string in User Agent Header Field."], "12": ["Codec Info", "UINT8", "256", "5176", "2048", "Indicates the SDP codec information in string form.\n\"<pt>;<codec>,<pt>;<codec>,... ...\"\ncodec:\n0:Others\n1:AMR\n2:AMR_WB\n3:EVS\n4:PCMA\n5:PCMU\n21:H263\n22:H264\n23:H265\n31:T140\n32:RED\n41:Telephone-event/8000\n42:Telephone-event/16000"], "13": ["Audio Port", "UINT16", "1", "7224", "16", "Indicates the audio port number in SDP body."], "14": ["Video Port", "UINT16", "1", "7240", "16", "Indicates the video port number in SDP body."], "15": ["Audio AS", "UINT16", "1", "7256", "16", "Indicates the audio AS in SDP body."], "16": ["Video AS", "UINT16", "1", "7272", "16", "Indicates the video AS in SDP body."], "17": ["Session AS", "UINT16", "1", "7288", "16", "Indicates the session AS in SDP body."], "18": ["SIP Message Length", "UINT16", "1", "7304", "16", "Length of the SIP message.\nRange[0, 8192]"], "19": ["Reserved", "UINT16", "1", "7320", "16", ""]}, "Name": "IMS_SIP_Message_Info_V1"}, "IMS_SIP_Message_Info_V2": {"ColNum": 6, "Header": ["Field", "Type Name", "Count", "Offset", "Length\n(bits)", "Description"], "Data": {"0": ["Direction", "UINT8", "1", "0", "8", "Indicates the direction of SIP Message.\nEnum {0: UE to Network, 1: Network to UE}"], "1": ["Rat Information", "UINT8", "1", "8", "8", "Indicates Rat information.\nEnum {0: LTE, 1: NR, 2: Wifi, 3: Others}"], "2": ["Transport Type", "UINT8", "1", "16", "8", "Indicates the SIP transport Type.\nEnum {1: UDP, 2: TCP}"], "3": ["SIP Message Type", "UINT8", "1", "24", "8", "Indicates the SIP message Type.\nEnum {0: Request, 1: Response}"], "4": ["SIP Method", "UINT8", "1", "32", "8", "Indicates the SIP Message ID.\nEnum {\n0:METHOD_SIP_REGISTER,\n1:METHOD_SIP_INVITE,\n2:METHOD_SIP_REFER,\n3:METHOD_SIP_UPDATE,\n4:METHOD_SIP_CANCEL,\n5:METHOD_SIP_MESSAGE,\n6:METHOD_SIP_ACK,\n7:METHOD_SIP_BYE,\n8:METHOD_SIP_OPTIONS,\n9:METHOD_SIP_SUBSCRIBE,\n10:METHOD_SIP_NOTIFY,\n11:METHOD_SIP_PUBLISH,\n12:METHOD_SIP_INFO,\n13:METHOD_SIP_PRACK}"], "5": ["SIP Response Code", "UINT16", "1", "40", "16", "Indicates the SIP response Code(Refer to RFC3261)."], "6": ["Request Line", "UINT8", "512", "56", "4096", "The first line of a SIP message"], "7": ["Source IP", "INT8", "64", "4152", "512", "Indicates the source IP address of SIP message."], "8": ["Destination IP", "INT8", "64", "4664", "512", "Indicates the destination IP address of SIP message."], "9": ["Call ID", "UINT8", "128", "5176", "1024", "Indicates the call ID."], "10": ["CSeq", "UINT16", "1", "6200", "16", "Indicates the CSeq of the SIP message"], "11": ["Reason Text", "UINT8", "128", "6216", "1024", "Indicates the string in Reason Header Field."], "12": ["Warning Text", "UINT8", "128", "7240", "1024", "Indicates the string in Warning Header Field."], "13": ["User Agent Text", "UINT8", "128", "8264", "1024", "Indicates the string in User Agent Header Field."], "14": ["Codec Info", "UINT8", "256", "9288", "2048", "Indicates the SDP codec information in string form.\n\"<pt>;<codec>,<pt>;<codec>,... ...\"\ncodec:\n0:Others\n1:AMR\n2:AMR_WB\n3:EVS\n4:PCMA\n5:PCMU\n21:H263\n22:H264\n23:H265\n31:T140\n32:RED\n41:Telephone-event/8000\n42:Telephone-event/16000"], "15": ["Audio Port", "UINT16", "1", "11336", "16", "Indicates the audio port number in SDP body."], "16": ["Video Port", "UINT16", "1", "11352", "16", "Indicates the video port number in SDP body."], "17": ["Audio AS", "UINT16", "1", "11368", "16", "Indicates the audio AS in SDP body."], "18": ["Video AS", "UINT16", "1", "11384", "16", "Indicates the video AS in SDP body."], "19": ["Session AS", "UINT16", "1", "11400", "16", "Indicates the session AS in SDP body."], "20": ["SIP Message Length", "UINT16", "1", "11416", "16", "Length of the SIP message.\nRange[0, 8192]"], "21": ["Reserved", "UINT16", "1", "11432", "16", ""]}, "Name": "IMS_SIP_Message_Info_V2"}, "IMS_SIP_Message_Info_V3": {"ColNum": 6, "Header": ["Field", "Type Name", "Count", "Offset", "Length\n(bits)", "Description"], "Data": {"0": ["Direction", "UINT8", "1", "0", "8", "Indicates the direction of SIP Message.\nEnum {0: UE to Network, 1: Network to UE}"], "1": ["Rat Information", "UINT8", "1", "8", "8", "Indicates Rat information.\nEnum {0: LTE, 1: NR, 2: Wifi, 3: Others}"], "2": ["Transport Type", "UINT8", "1", "16", "8", "Indicates the SIP transport Type.\nEnum {1: UDP, 2: TCP}"], "3": ["SIP Message Type", "UINT8", "1", "24", "8", "Indicates the SIP message Type.\nEnum {0: Request, 1: Response}"], "4": ["SIP Method", "UINT8", "1", "32", "8", "Indicates the SIP Message ID.\nEnum {\n0:METHOD_SIP_REGISTER,\n1:METHOD_SIP_INVITE,\n2:METHOD_SIP_REFER,\n3:METHOD_SIP_UPDATE,\n4:METHOD_SIP_CANCEL,\n5:METHOD_SIP_MESSAGE,\n6:METHOD_SIP_ACK,\n7:METHOD_SIP_BYE,\n8:METHOD_SIP_OPTIONS,\n9:METHOD_SIP_SUBSCRIBE,\n10:METHOD_SIP_NOTIFY,\n11:METHOD_SIP_PUBLISH,\n12:METHOD_SIP_INFO,\n13:METHOD_SIP_PRACK}"], "5": ["SIP Response Code", "UINT16", "1", "40", "16", "Indicates the SIP response Code(Refer to RFC3261)."], "6": ["Request Line", "UINT8", "512", "56", "4096", "The first line of a SIP message"], "7": ["Source IP", "INT8", "64", "4152", "512", "Indicates the source IP address of SIP message."], "8": ["Destination IP", "INT8", "64", "4664", "512", "Indicates the destination IP address of SIP message."], "9": ["Call ID", "UINT8", "128", "5176", "1024", "Indicates the call ID."], "10": ["CSeq", "UINT16", "1", "6200", "16", "Indicates the CSeq of the SIP message"], "11": ["Reason Text", "UINT8", "128", "6216", "1024", "Indicates the string in Reason Header Field."], "12": ["Warning Text", "UINT8", "128", "7240", "1024", "Indicates the string in Warning Header Field."], "13": ["User Agent Text", "UINT8", "256", "8264", "2048", "Indicates the string in User Agent Header Field."], "14": ["Codec Info", "UINT8", "256", "10312", "2048", "Indicates the SDP codec information in string form.\n\"<pt>;<codec>,<pt>;<codec>,... ...\"\ncodec:\n0:Others\n1:AMR\n2:AMR_WB\n3:EVS\n4:PCMA\n5:PCMU\n21:H263\n22:H264\n23:H265\n31:T140\n32:RED\n41:Telephone-event/8000\n42:Telephone-event/16000"], "15": ["Audio Port", "UINT16", "1", "12360", "16", "Indicates the audio port number in SDP body."], "16": ["Video Port", "UINT16", "1", "12376", "16", "Indicates the video port number in SDP body."], "17": ["Audio AS", "UINT16", "1", "12392", "16", "Indicates the audio AS in SDP body."], "18": ["Video AS", "UINT16", "1", "12408", "16", "Indicates the video AS in SDP body."], "19": ["Session AS", "UINT16", "1", "12424", "16", "Indicates the session AS in SDP body."], "20": ["SIP Message Length", "UINT16", "1", "12440", "16", "Length of the SIP message.\nRange[0, 8192]"], "21": ["Reserved", "UINT16", "1", "12456", "16", ""]}, "Name": "IMS_SIP_Message_Info_V3"}}},
  Public JSON end */
-// Checksum : [111e1e24d745a00ea214ec3531621ab3]
+
+/* Internal JSON start
+"IMS_SIP_Message": {"info": {"Category": "IMS", "Layer": "IMS", "Code": "0x2000", "Name": "IMS_SIP_Message", "Type": "RECORD", "Desc": "The log is generated every time an IMS message is sent or received.\n"}, "table": {"IMS_SIP_Message": {"ColNum": 6, "Header": ["Field", "Type Name", "Count", "Offset", "Length\n(bits)", "Description"], "Data": {"0": ["Version", "UINT8", "1", "0", "8", "Log record structure ID"], "1": ["Versions", "IMS_SIP_Message_Versions", "1", "8", "VAR", ""]}, "Name": "IMS_SIP_Message"}, "IMS_SIP_Message_Versions": {"ColNum": 3, "Header": ["ID", "Type Name", "Description"], "Data": {"0": ["1", "IMS_SIP_Message_Info_V1", ""], "1": ["2", "IMS_SIP_Message_Info_V2", ""], "2": ["3", "IMS_SIP_Message_Info_V3", ""]}, "Name": "IMS_SIP_Message_Versions"}, "IMS_SIP_Message_Info_V1": {"ColNum": 6, "Header": ["Field", "Type Name", "Count", "Offset", "Length\n(bits)", "Description"], "Ref": {"SIP Message": "SIP Message Length"}, "Name": "IMS_SIP_Message_Info_V1", "Data": {"0": ["Direction", "UINT8", "1", "0", "8", "Indicates the direction of SIP Message.\nRange[ 0, 1]\nEnum {0: UE to Network, 1: Network to UE}"], "1": ["Rat Information", "UINT8", "1", "8", "8", "Indicates Rat information.\nRange[ 0, 3]\nEnum {0: LTE, 1: NR, 2: Wifi, 3: Others}"], "2": ["Transport Type", "UINT8", "1", "16", "8", "Indicates the SIP transport Type.\nRange[ 1, 2]\nEnum {1: UDP, 2: TCP}"], "3": ["SIP Message Type", "UINT8", "1", "24", "8", "Indicates the SIP message Type.\nRange[ 0, 1]\nEnum {0: Request, 1: Response}"], "4": ["SIP Method", "UINT8", "1", "32", "8", "Indicates the SIP Message ID.\nRange[ 0, 13]\nEnum {\n0:METHOD_SIP_REGISTER,\n1:METHOD_SIP_INVITE,\n2:METHOD_SIP_REFER,\n3:METHOD_SIP_UPDATE,\n4:METHOD_SIP_CANCEL,\n5:METHOD_SIP_MESSAGE,\n6:METHOD_SIP_ACK,\n7:METHOD_SIP_BYE,\n8:METHOD_SIP_OPTIONS,\n9:METHOD_SIP_SUBSCRIBE,\n10:METHOD_SIP_NOTIFY,\n11:METHOD_SIP_PUBLISH,\n12:METHOD_SIP_INFO,\n13:METHOD_SIP_PRACK}"], "5": ["SIP Response Code", "UINT16", "1", "40", "16", "Indicates the SIP response Code(Refer to RFC3261)."], "6": ["Source IP", "INT8", "64", "56", "512", "Indicates the source IP address of SIP message."], "7": ["Destination IP", "INT8", "64", "568", "512", "Indicates the destination IP address of SIP message."], "8": ["Call ID", "UINT8", "128", "1080", "1024", "Indicates the call ID."], "9": ["Reason Text", "UINT8", "128", "2104", "1024", "Indicates the string in Reason Header Field."], "10": ["Warning Text", "UINT8", "128", "3128", "1024", "Indicates the string in Warning Header Field."], "11": ["User Agent Text", "UINT8", "128", "4152", "1024", "Indicates the string in User Agent Header Field."], "12": ["Codec Info", "UINT8", "256", "5176", "2048", "Indicates the SDP codec information in string form.\n\"<pt>;<codec>,<pt>;<codec>,... ...\"\ncodec:\n0:Others\n1:AMR\n2:AMR_WB\n3:EVS\n4:PCMA\n5:PCMU\n21:H263\n22:H264\n23:H265\n31:T140\n32:RED\n41:Telephone-event/8000\n42:Telephone-event/16000"], "13": ["Audio Port", "UINT16", "1", "7224", "16", "Indicates the audio port number in SDP body."], "14": ["Video Port", "UINT16", "1", "7240", "16", "Indicates the video port number in SDP body."], "15": ["Audio AS", "UINT16", "1", "7256", "16", "Indicates the audio AS in SDP body."], "16": ["Video AS", "UINT16", "1", "7272", "16", "Indicates the video AS in SDP body."], "17": ["Session AS", "UINT16", "1", "7288", "16", "Indicates the session AS in SDP body."], "18": ["SIP Message Length", "UINT16", "1", "7304", "16", "Length of the SIP message.\nRange[0, 8192]"], "19": ["SIP Message", "UINT8", "N", "7320", "VAR", "N := SIP Message Length\nSIP Message OCTET STRING(SIZE (1..8192))\nRaw SIP Message"]}}, "IMS_SIP_Message_Info_V2": {"ColNum": 6, "Header": ["Field", "Type Name", "Count", "Offset", "Length\n(bits)", "Description"], "Ref": {"SIP Message": "SIP Message Length"}, "Name": "IMS_SIP_Message_Info_V2", "Data": {"0": ["Direction", "UINT8", "1", "0", "8", "Indicates the direction of SIP Message.\nEnum {0: UE to Network, 1: Network to UE}"], "1": ["Rat Information", "UINT8", "1", "8", "8", "Indicates Rat information.\nEnum {0: LTE, 1: NR, 2: Wifi, 3: Others}"], "2": ["Transport Type", "UINT8", "1", "16", "8", "Indicates the SIP transport Type.\nEnum {1: UDP, 2: TCP}"], "3": ["SIP Message Type", "UINT8", "1", "24", "8", "Indicates the SIP message Type.\nEnum {0: Request, 1: Response}"], "4": ["SIP Method", "UINT8", "1", "32", "8", "Indicates the SIP Message ID.\nEnum {\n0:METHOD_SIP_REGISTER,\n1:METHOD_SIP_INVITE,\n2:METHOD_SIP_REFER,\n3:METHOD_SIP_UPDATE,\n4:METHOD_SIP_CANCEL,\n5:METHOD_SIP_MESSAGE,\n6:METHOD_SIP_ACK,\n7:METHOD_SIP_BYE,\n8:METHOD_SIP_OPTIONS,\n9:METHOD_SIP_SUBSCRIBE,\n10:METHOD_SIP_NOTIFY,\n11:METHOD_SIP_PUBLISH,\n12:METHOD_SIP_INFO,\n13:METHOD_SIP_PRACK}"], "5": ["SIP Response Code", "UINT16", "1", "40", "16", "Indicates the SIP response Code(Refer to RFC3261)."], "6": ["Request Line", "UINT8", "512", "56", "4096", "The first line of a SIP message"], "7": ["Source IP", "INT8", "64", "4152", "512", "Indicates the source IP address of SIP message."], "8": ["Destination IP", "INT8", "64", "4664", "512", "Indicates the destination IP address of SIP message."], "9": ["Call ID", "UINT8", "128", "5176", "1024", "Indicates the call ID."], "10": ["CSeq", "UINT16", "1", "6200", "16", "Indicates the CSeq of the SIP message"], "11": ["Reason Text", "UINT8", "128", "6216", "1024", "Indicates the string in Reason Header Field."], "12": ["Warning Text", "UINT8", "128", "7240", "1024", "Indicates the string in Warning Header Field."], "13": ["User Agent Text", "UINT8", "128", "8264", "1024", "Indicates the string in User Agent Header Field."], "14": ["Codec Info", "UINT8", "256", "9288", "2048", "Indicates the SDP codec information in string form.\n\"<pt>;<codec>,<pt>;<codec>,... ...\"\ncodec:\n0:Others\n1:AMR\n2:AMR_WB\n3:EVS\n4:PCMA\n5:PCMU\n21:H263\n22:H264\n23:H265\n31:T140\n32:RED\n41:Telephone-event/8000\n42:Telephone-event/16000"], "15": ["Audio Port", "UINT16", "1", "11336", "16", "Indicates the audio port number in SDP body."], "16": ["Video Port", "UINT16", "1", "11352", "16", "Indicates the video port number in SDP body."], "17": ["Audio AS", "UINT16", "1", "11368", "16", "Indicates the audio AS in SDP body."], "18": ["Video AS", "UINT16", "1", "11384", "16", "Indicates the video AS in SDP body."], "19": ["Session AS", "UINT16", "1", "11400", "16", "Indicates the session AS in SDP body."], "20": ["SIP Message Length", "UINT16", "1", "11416", "16", "Length of the SIP message.\nRange[0, 8192]"], "21": ["SIP Message", "UINT8", "N", "11432", "VAR", "N := SIP Message Length\nSIP Message OCTET STRING(SIZE (1..8192))\nRaw SIP Message"]}}, "IMS_SIP_Message_Info_V3": {"ColNum": 6, "Header": ["Field", "Type Name", "Count", "Offset", "Length\n(bits)", "Description"], "Ref": {"SIP Message": "SIP Message Length"}, "Name": "IMS_SIP_Message_Info_V3", "Data": {"0": ["Direction", "UINT8", "1", "0", "8", "Indicates the direction of SIP Message.\nEnum {0: UE to Network, 1: Network to UE}"], "1": ["Rat Information", "UINT8", "1", "8", "8", "Indicates Rat information.\nEnum {0: LTE, 1: NR, 2: Wifi, 3: Others}"], "2": ["Transport Type", "UINT8", "1", "16", "8", "Indicates the SIP transport Type.\nEnum {1: UDP, 2: TCP}"], "3": ["SIP Message Type", "UINT8", "1", "24", "8", "Indicates the SIP message Type.\nEnum {0: Request, 1: Response}"], "4": ["SIP Method", "UINT8", "1", "32", "8", "Indicates the SIP Message ID.\nEnum {\n0:METHOD_SIP_REGISTER,\n1:METHOD_SIP_INVITE,\n2:METHOD_SIP_REFER,\n3:METHOD_SIP_UPDATE,\n4:METHOD_SIP_CANCEL,\n5:METHOD_SIP_MESSAGE,\n6:METHOD_SIP_ACK,\n7:METHOD_SIP_BYE,\n8:METHOD_SIP_OPTIONS,\n9:METHOD_SIP_SUBSCRIBE,\n10:METHOD_SIP_NOTIFY,\n11:METHOD_SIP_PUBLISH,\n12:METHOD_SIP_INFO,\n13:METHOD_SIP_PRACK}"], "5": ["SIP Response Code", "UINT16", "1", "40", "16", "Indicates the SIP response Code(Refer to RFC3261)."], "6": ["Request Line", "UINT8", "512", "56", "4096", "The first line of a SIP message"], "7": ["Source IP", "INT8", "64", "4152", "512", "Indicates the source IP address of SIP message."], "8": ["Destination IP", "INT8", "64", "4664", "512", "Indicates the destination IP address of SIP message."], "9": ["Call ID", "UINT8", "128", "5176", "1024", "Indicates the call ID."], "10": ["CSeq", "UINT16", "1", "6200", "16", "Indicates the CSeq of the SIP message"], "11": ["Reason Text", "UINT8", "128", "6216", "1024", "Indicates the string in Reason Header Field."], "12": ["Warning Text", "UINT8", "128", "7240", "1024", "Indicates the string in Warning Header Field."], "13": ["User Agent Text", "UINT8", "256", "8264", "2048", "Indicates the string in User Agent Header Field."], "14": ["Codec Info", "UINT8", "256", "10312", "2048", "Indicates the SDP codec information in string form.\n\"<pt>;<codec>,<pt>;<codec>,... ...\"\ncodec:\n0:Others\n1:AMR\n2:AMR_WB\n3:EVS\n4:PCMA\n5:PCMU\n21:H263\n22:H264\n23:H265\n31:T140\n32:RED\n41:Telephone-event/8000\n42:Telephone-event/16000"], "15": ["Audio Port", "UINT16", "1", "12360", "16", "Indicates the audio port number in SDP body."], "16": ["Video Port", "UINT16", "1", "12376", "16", "Indicates the video port number in SDP body."], "17": ["Audio AS", "UINT16", "1", "12392", "16", "Indicates the audio AS in SDP body."], "18": ["Video AS", "UINT16", "1", "12408", "16", "Indicates the video AS in SDP body."], "19": ["Session AS", "UINT16", "1", "12424", "16", "Indicates the session AS in SDP body."], "20": ["SIP Message Length", "UINT16", "1", "12440", "16", "Length of the SIP message.\nRange[0, 8192]"], "21": ["SIP Message", "UINT8", "N", "12456", "VAR", "N := SIP Message Length\nSIP Message OCTET STRING(SIZE (1..8192))\nRaw SIP Message"]}}}},
+ Internal JSON end */
+// Checksum : [1d45c9e52852e6b41fe2461e185a85e4]
diff --git a/mcu/interface/service/nvram/ims_nvram_editor.h b/mcu/interface/service/nvram/ims_nvram_editor.h
index 1449596..1c04a1e 100755
--- a/mcu/interface/service/nvram/ims_nvram_editor.h
+++ b/mcu/interface/service/nvram/ims_nvram_editor.h
@@ -1483,8 +1483,8 @@
 
 #include "ims_nvram_def.h"
 
-#define NVRAM_EF_IMS_PROFILE_LID_VERNO                      "548"
-#define NVRAM_EF_IMS_PROFILE_LID_HASH                       0x885553C7
+#define NVRAM_EF_IMS_PROFILE_LID_VERNO                      "575"
+#define NVRAM_EF_IMS_PROFILE_LID_HASH                       0x138E3EAB
 
 #define NVRAM_EF_IMS_PROVISIONING_PROFILE_LID_VERNO         "001"
 #define NVRAM_EF_IMS_PROVISIONING_PROFILE_LID_HASH          0x21675CFC
@@ -1612,7 +1612,7 @@
   kal_uint8     tty_red_pt; // default: 112
   kal_uint8     tty_red_level; // default: 2
   kal_uint8     tty_cps; // default: 30
-  kal_uint8     user_agent[128];          // VoLTE/WFC UA
+  kal_uint8     user_agent[256];          // VoLTE/WFC UA
   kal_uint8     UA_call_amr_mode_set[16];      // string: 0,1,2,3,4,5,6,7
   kal_uint8     UA_call_amr_wb_mode_set[20];   // string: 0,1,2,3,4,5,6,7,8
   kal_uint8     UA_icsi_1[64]; // string: urn:urn-7:3gpp-service.ims.icsi.mmtel
@@ -1941,6 +1941,7 @@
   kal_uint8     normal_call_csfb_failure_code_table_after_tone[64];  // string: 0
   kal_uint8     UA_call_codec_order4;        //0
   kal_uint8     send_media_mod_after_active;            //0
+  kal_uint8     add_pani_in_cancel;    //0
   kal_bool      disable_conf_sub;                      //0
   kal_uint8     send_cancel_tcall_timeout_no_resp; //0
 
@@ -2100,6 +2101,7 @@
   kal_uint8     disable_response_source;       //0
   kal_uint32    mo_f1_timer_timeout;          //0x00
   kal_uint8     register_event_subscribe_support;    // 1
+  kal_uint8     set_operator_as_ims_only;  //0
 } nvram_ua_struct;
 
 typedef struct{
@@ -2658,6 +2660,7 @@
         /*                         UA/REG part                         */
         /*****************************************************************/
         ua_config:"[MCF] Call UA, Registration UA, SMS UA, USSD UA"{};
+		ua_config.add_pani_in_cancel:"[INTERNAL]"{};
         ua_config.send_cancel_tcall_timeout_no_resp:"[MCF]"{
             send_cancel_tcall_timeout_no_resp:8 "If not response received for INVITE and TCALL expires,send CANCEL."{
                 0: "Not send CANCEL";
@@ -3286,7 +3289,7 @@
         ua_config.tty_red_pt:"[MCF]The payload type of Redundancy with the text/t140 Format in SDP attribute. It is for text conversation defined in RFC4103. AN:It's dynamic value between 96~127"{};
         ua_config.tty_red_level:"[MCF]The redundancy level for the text packet in SDP attribute. It is for text conversation defined in RFC4103. The recommended two levels of redundancy for the text packets."{};
         ua_config.tty_cps:"[MCF]Text codec clock rate setting"{};
-        ua_config.user_agent:"[MCF,STRING]Information about the UAC originating the request. It can use to reveal User information. AN: Length:128 bytes"{};
+        ua_config.user_agent:"[MCF,STRING]Information about the UAC originating the request. It can use to reveal User information. AN: Length:256 bytes"{};
         ua_config.UA_call_amr_mode_set:"[MCF,STRING]The numeric string should be ascending. AN:Length:16 bytes"{};
         ua_config.UA_call_amr_wb_mode_set:"[MCF,STRING]The numeric string should be ascending. AN:Length:20 bytes"{};
         ua_config.UA_icsi_1:"[STRING,INTERNAL] Obsolete"{};
@@ -5103,6 +5106,12 @@
                 1: "Don't SUBSCRIBE conference event package";
             };
         };
+        ua_config.set_operator_as_ims_only:"[MCF]"{
+            set_operator_as_lte_only:8 "To record if the operator network is IMS only and doesn't support 2G/3G."{
+                0: "Disable";
+                1: "Enable";
+            };
+        };
 
 
         /*****************************************************************/
diff --git a/mcu/interface/service/nvram/l5_nvram_def.h b/mcu/interface/service/nvram/l5_nvram_def.h
index 8f75005..73575e7 100755
--- a/mcu/interface/service/nvram/l5_nvram_def.h
+++ b/mcu/interface/service/nvram/l5_nvram_def.h
@@ -38,7 +38,8 @@
 		NVRAM_EF_L5_IO_CONFIG_LID           = NVRAM_LID_GRP_L5(21),
 		NVRAM_EF_L5_IMS_CAPA_LID            = NVRAM_LID_GRP_L5(24),
         NVRAM_EF_L5_ECALL_DOMAIN_SELECT_MODE_LID          = NVRAM_LID_GRP_L5(25),
-        NVRAM_EF_L5_NITZ_OPER_LID           = NVRAM_LID_GRP_L5(28)
+        NVRAM_EF_L5_NITZ_OPER_LID           = NVRAM_LID_GRP_L5(28),
+        NVRAM_EF_L5_SYS_SLEEP_LEFT_TIMER_LID       = NVRAM_LID_GRP_L5(31)
 } nvram_lid_l5_enum;
 
 //VERNO
@@ -66,6 +67,7 @@
 #define NVRAM_EF_L5_IMS_CAPA_LID_VERNO               "000"
 #define NVRAM_EF_L5_ECALL_DOMAIN_SELECT_MODE_LID_VERNO "000"
 #define NVRAM_EF_L5_NITZ_OPER_LID_VERNO              "000"
+#define NVRAM_EF_L5_SYS_SLEEP_LEFT_TIMER_LID_VERNO   "000"
 
 #define NVRAM_EF_L5_IA_APNINFO_LID_HASH      0xE362A470
 #define NVRAM_EF_L5_APNINFO_LID_HASH         0x3C18C781
@@ -91,6 +93,7 @@
 #define NVRAM_EF_L5_IMS_CAPA_LID_HASH         0xE9650386
 #define NVRAM_EF_L5_ECALL_DOMAIN_SELECT_MODE_LID_HASH       0x1E5C3925
 #define NVRAM_EF_L5_NITZ_OPER_LID_HASH        0x2D46D0D0
+#define NVRAM_EF_L5_SYS_SLEEP_LEFT_TIMER_LID_HASH 0x8BCF5348
 
 typedef struct
 {
@@ -198,6 +201,10 @@
     kal_uint8 tbcw_mode;
 } nvram_l5_ss_tbcw_state_struct;
 
+typedef struct {
+    kal_uint32 left_timer;
+} nvram_l5_sys_sleep_left_timer_struct;
+
 #define NVRAM_L5_MAX_ECC_NUM_LEN  10
 #define NVRAM_L5_MAX_PLMN_ID_LEN  7
 #define NVRAM_L5_MAX_PLMN_OPER_NAME_LEN   50
@@ -318,6 +325,9 @@
 #define NVRAM_EF_L5_SS_TBCW_STATE_SIZE      sizeof(nvram_l5_ss_tbcw_state_struct)
 #define NVRAM_EF_L5_SS_TBCW_STATE_TOTAL     (1*MAX_SIM_NUM)
 
+#define NVRAM_EF_L5_SYS_SLEEP_LEFT_TIMER_SIZE      sizeof(nvram_l5_sys_sleep_left_timer_struct)
+#define NVRAM_EF_L5_SYS_SLEEP_LEFT_TIMER_TOTAL     (1)
+
 #define NVRAM_EF_L5_CC_ECC_LIST_OM_SIZE      sizeof(nvram_l5_cc_ecc_list_om_struct)
 #define NVRAM_EF_L5_CC_ECC_LIST_OM_TOTAL     (1*MAX_SIM_NUM)
 
diff --git a/mcu/interface/service/nvram/l5_nvram_editor.h b/mcu/interface/service/nvram/l5_nvram_editor.h
index 0c7cb5b..0fd8d51 100755
--- a/mcu/interface/service/nvram/l5_nvram_editor.h
+++ b/mcu/interface/service/nvram/l5_nvram_editor.h
@@ -481,6 +481,20 @@
 };
 /********************************************************************************************
 * LID_NAME
+*      NVRAM_EF_L5_SYS_SLEEP_LEFT_TIMER_LID
+* DESCRIPTION
+*      SLEEP LEFT TIMER
+* INFOMATION
+*      Can OTA Reset: No
+*      Update Scenario: 
+*********************************************************************************************/
+LID_BIT VER_LID(NVRAM_EF_L5_SYS_SLEEP_LEFT_TIMER_LID) nvram_l5_sys_sleep_left_timer_struct* NVRAM_EF_L5_SYS_SLEEP_LEFT_TIMER_TOTAL
+{
+    left_timer:"sys sleep left timer " 
+    {};
+};
+/********************************************************************************************
+* LID_NAME
 *      NVRAM_EF_L5_CC_ECC_LIST_OM_LID
 * DESCRIPTION
 *      DEFAULT ECC LIST for OM LOAD
diff --git a/mcu/interface/service/nvram/xcap_nvram_def.h b/mcu/interface/service/nvram/xcap_nvram_def.h
index 98d648d..f660f3c 100755
--- a/mcu/interface/service/nvram/xcap_nvram_def.h
+++ b/mcu/interface/service/nvram/xcap_nvram_def.h
@@ -55,8 +55,8 @@
 }nvram_lid_xcap_enum;
 
 // VERNO
-#define NVRAM_EF_XCAP_PROFILE_LID_VERNO                          "076"
-#define NVRAM_EF_XCAP_PROFILE_LID_HASH                           0x6FAFA63F
+#define NVRAM_EF_XCAP_PROFILE_LID_VERNO                          "087"
+#define NVRAM_EF_XCAP_PROFILE_LID_HASH                           0xC6C32320
 
 // Data Structure of Each LID
 typedef struct {
@@ -113,6 +113,7 @@
 	kal_uint8   support_query_simservs;
 	kal_uint8   support_enable_by_cond;
 	kal_uint8   support_disable_by_cond;
+	kal_uint8   support_erasure_by_cond;
     kal_uint8   support_isim;
     kal_uint8   remove_media_when_not_support_media;
 	kal_uint8   support_xcap_diff;
@@ -160,6 +161,7 @@
     kal_uint8   hide_port_number;         // Hide Port number in HTTP header
     kal_uint8   dns_failover;             // DNS Failover to retry multiple IP addresses
 	kal_uint32  xcap_dns_default_ttl;     // Default DNS TTL Value, MD DNS Will Use Larger One In Default TTL And DNS Server TTL
+	kal_uint8   dns_force_query;          // Force DNS query in AP mode for new PDN connection. When this flag is set, HTTP module pass it to DNS module and it should trigger new DNS query.
 } http_info_t;
 
 typedef struct {
diff --git a/mcu/interface/service/nvram/xcap_nvram_editor.h b/mcu/interface/service/nvram/xcap_nvram_editor.h
index 18f9e4e..fe9c688 100755
--- a/mcu/interface/service/nvram/xcap_nvram_editor.h
+++ b/mcu/interface/service/nvram/xcap_nvram_editor.h
@@ -324,6 +324,14 @@
                     1: "Enabled";
                 };
             };
+			xcap_info.support_erasure_by_cond: "Support erasure service at condition level"
+            {
+                support_erasure_by_cond:8 ""
+                {
+                    0: "Disabled";
+                    1: "Enabled";
+                };
+            };
             xcap_info.support_isim: "Support ISIM"
             {
                 support_isim:8 ""
@@ -518,6 +526,7 @@
                  };
             };
 			http_info.xcap_dns_default_ttl: "Default DNS TTL Value, MD DNS Will Use Larger One In Default TTL And DNS Server TTL";
+            http_info.dns_force_query: "Force DNS query in AP mode for new PDN connection. When this flag is set, HTTP module pass it to DNS module and it should trigger new DNS query";
         sim_info: "[INTERNAL,RUNTIME]" {};
             sim_info.saved_imsi: "***";
             sim_info.saved_xui: "***";
diff --git a/mcu/interface/service/sbp/sbp_feature.def b/mcu/interface/service/sbp/sbp_feature.def
index e7d0714..c3c0048 100755
--- a/mcu/interface/service/sbp/sbp_feature.def
+++ b/mcu/interface/service/sbp/sbp_feature.def
@@ -70,6 +70,7 @@
 		<RECORD Date="2022-05-16" Author="OT901109">Add SBP_NWSEL_CLEAR_RPLMN_FOR_POWER_ON_SEARCH</RECORD>
 		<RECORD Date="2022-05-16" Author="OT901109">Add SBP_NWSEL_CLEAR_RPLMN_FOR_HOME_COUNTRY_POWER_ON_SEARCH</RECORD>
         <RECORD Date="2022-08-16" Author="mtk15164">Add SBP_NAS_SV_RAT_CAP_CONTROL_BY_MRS_CONFIG</RECORD>
+        <RECORD Date="2022-09-21" Author="ot901109">Add SBP_N1_MODE_NOT_ALLOWED_PERMANENT_DISABLING</RECORD>
     </HISTORY>
 </SBP_DOC_INFO>
 ******* SBP Doc End ********/
@@ -29678,7 +29679,7 @@
     SBP_FEATURE_DEF(SBP_DISABLE_EUTRAN_WHEN_ATTACH_REJECT_ESM_CAUSE_27, SBP_ATTR_NONE, "Disable LTE when receive attach reject with ESM cause #27", "Not Supported", "Supported", 0)
 
 /****** SBP Document BEGIN ************************************************************************
-<SBP title="SBP_VZW_PERMANEMT_FTA_LIST - Permanent Forbidden TA List support for VZW">
+<SBP title="SBP_OP12_PERMANENT_FTA_LIST  - Permanent Forbidden TA List support for VZW">
     <DESCRIPTION>
         <PARAG> DUT will support permanent FTA list</PARAG>
     </DESCRIPTION>
@@ -29689,16 +29690,16 @@
     </CONFIG>
     <DEFAULT>0</DEFAULT>
     <OP>N/A</OP>
-    <DEPENDENCY>This SBP can be controlled by compile option __SBP_VZW_PERMANEMT_FTA_LIST__</DEPENDENCY>
+    <DEPENDENCY>This SBP can be controlled by compile option __SBP_OP12_PERMANENT_FTA_LIST__</DEPENDENCY>
     <NOTE>None</NOTE>
     <AUTHOR>mtk11225</AUTHOR>
 </SBP>
 ******* SBP Document END **************************************************************************/
-#ifdef __SBP_VZW_PERMANEMT_FTA_LIST__
-   SBP_FEATURE_DEF(SBP_VZW_PERMANEMT_FTA_LIST, SBP_ATTR_NONE, "Support permanent FTA list", "Disabled", "Enabled", 1)
+#ifdef __SBP_OP12_PERMANENT_FTA_LIST__
+   SBP_FEATURE_DEF(SBP_OP12_PERMANENT_FTA_LIST , SBP_ATTR_NONE, "Support permanent FTA list", "Disabled", "Enabled", 1)
 #else
-   SBP_FEATURE_DEF(SBP_VZW_PERMANEMT_FTA_LIST, SBP_ATTR_NONE, "Support permanent FTA list", "Disabled", "Enabled", 0)
-#endif /*__SBP_VZW_PERMANEMT_FTA_LIST__*/
+   SBP_FEATURE_DEF(SBP_OP12_PERMANENT_FTA_LIST , SBP_ATTR_NONE, "Support permanent FTA list", "Disabled", "Enabled", 0)
+#endif /*__SBP_OP12_PERMANENT_FTA_LIST__*/
 
 /****** SBP Document BEGIN ************************************************************************
 <SBP title="SBP_NWSEL_START_HPPLMN_TIMER_IN_NON_HIGHEST_HPLMN">
@@ -34500,8 +34501,276 @@
    SBP_FEATURE_DEF(SBP_NAS_SV_RAT_CAP_CONTROL_BY_MRS_CONFIG, SBP_ATTR_NONE, "enable the feature.",  "Not Enabled", "Enabled", 1)
 #endif
 
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_N1_MODE_NOT_ALLOWED_PERMANENT_DISABLING - N1 mode not allowed for Registation Reject Cause#27">
+    <DESCRIPTION>
+        <PARAG>
+           When SBP is enabled, UE will disable N1 mode when 5GMM registration is rejected with cause #27 N1 mode not allowed till USIM removal or power off.
+        </PARAG>
+    </DESCRIPTION>
+    <CATEGORY>NAS</CATEGORY>
+    <CONFIG>
+        <VALUE value="0">Disabled</VALUE>
+        <VALUE value="1">Enabled</VALUE>
+    </CONFIG>
+    <DEFAULT>0</DEFAULT>
+    <OP>KT</OP>
+    <DEPENDENCY>This SBP can be controlled by compiler option __N1_MODE_NOT_ALLOWED_PERMANENT_DISABLING__ </DEPENDENCY>
+    <NOTE>
+    IS_VIOLATE_STANDARD=Y
+    VIOLATED_STANDARD=3GPP TS 24.501
+    </NOTE>
+    <AUTHOR>ot901109</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+#ifdef __N1_MODE_NOT_ALLOWED_PERMANENT_DISABLING__
+    SBP_FEATURE_DEF(SBP_N1_MODE_NOT_ALLOWED_PERMANENT_DISABLING, SBP_ATTR_NONE, "Disable N1 mode for Registation Reject Cause#27 till power off", "Disabled", "Enabled", 1)
+#else
+    SBP_FEATURE_DEF(SBP_N1_MODE_NOT_ALLOWED_PERMANENT_DISABLING, SBP_ATTR_NONE, "Disable N1 mode for Registation Reject Cause#27 till power off", "Disabled", "Enabled", 0)
+#endif
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_NOT_RETRY_SKIP_ABNORMAL_PLMN - Not to search abnormal PLMN again">
+    <DESCRIPTION>
+        <PARAG>
+        When this SBP is enabled, some abnormal PLMNs would not reset to search again.
+        </PARAG>
+    </DESCRIPTION>
+    <CATEGORY>NAS</CATEGORY>
+    <CONFIG>
+        <VALUE value="0">Disable.</VALUE>
+        <VALUE value="1">Enable.</VALUE>
+    </CONFIG>
+    <DEFAULT>0</DEFAULT>
+    <OP>N/A</OP>
+    <DEPENDENCY></DEPENDENCY>
+    <NOTE>
+    IS_VIOLATE_STANDARD=N
+    </NOTE>
+    <AUTHOR>mtk02124</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+#ifdef _NOT_RETRY_SKIP_ABNORMAL_PLMN_
+    SBP_FEATURE_DEF(SBP_NOT_RETRY_SKIP_ABNORMAL_PLMN, SBP_ATTR_NONE, "Not to search abnormal PLMN again", "Disabled", "Enabled", 1)
+#else
+    SBP_FEATURE_DEF(SBP_NOT_RETRY_SKIP_ABNORMAL_PLMN, SBP_ATTR_NONE, "Not to search abnormal PLMN again", "Disabled", "Enabled", 0)
+#endif
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_NR_LARGE_BW_CELL_PREFER_FOR_NON_CA">
+    <DESCRIPTION>
+        <PARAG>
+            With this feature enabled, prefer NR cell with large channel bandwidth when cell selection for NON CA condition.
+        </PARAG>
+    </DESCRIPTION>
+    <CONFIG>
+       <VALUE value="0">Disable</VALUE>
+       <VALUE value="1">Enable</VALUE>
+    </CONFIG>
+    <CATEGORY>NRRC</CATEGORY>
+    <DEFAULT>1</DEFAULT>
+    <OP>N/A</OP>
+    <DEPENDENCY>N/A</DEPENDENCY>
+    <NOTE>None</NOTE>
+    <AUTHOR>mtk10726</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+#if defined(__DISABLE_NR_LARGE_BW_CELL_PREFER_FOR_NON_CA__)
+    SBP_FEATURE_DEF(SBP_NR_LARGE_BW_CELL_PREFER_FOR_NON_CA, SBP_ATTR_NONE, "prefer NR cell with large channel bandwidth for NON CA", "Disabled", "Enabled", 0)
+#else
+    SBP_FEATURE_DEF(SBP_NR_LARGE_BW_CELL_PREFER_FOR_NON_CA, SBP_ATTR_NONE, "prefer NR cell with large channel bandwidth for NON CA", "Disabled", "Enabled", 1)
+#endif
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_L5_SS_USSD_HEX">
+    <DESCRIPTION>
+        <PARAG> With the feature enabled, L5 will change ussd payload string to hex </PARAG>
+    </DESCRIPTION>
+    <CATEGORY>L5</CATEGORY>
+    <CONFIG>
+        <VALUE value="0">Disabled</VALUE>
+        <VALUE value="1">Enabled</VALUE>
+    </CONFIG>
+    <DEFAULT>0</DEFAULT>
+    <OP>N/A</OP>
+    <DEPENDENCY>N/A</DEPENDENCY>
+    <NOTE>None</NOTE>
+    <AUTHOR>mtk21078</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+#if defined(__L5_SS_USSD_HEX__)
+    SBP_FEATURE_DEF(SBP_L5_SS_USSD_HEX, SBP_ATTR_NONE, "L5 will change ussd payload string to hex", "Disable", "Enable", 1)
+#else
+    SBP_FEATURE_DEF(SBP_L5_SS_USSD_HEX, SBP_ATTR_NONE, "L5 will change ussd payload string to hex", "Disable", "Enable", 0)
+#endif
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_L5_SS_AUTO_SET_UCS2">
+    <DESCRIPTION>
+        <PARAG> With the feature enabled, L5 will set cscs to ucs2 at start up init phase,default value is enable </PARAG>
+    </DESCRIPTION>
+    <CATEGORY>L5</CATEGORY>
+    <CONFIG>
+        <VALUE value="0">Disabled</VALUE>
+        <VALUE value="1">Enabled</VALUE>
+    </CONFIG>
+    <DEFAULT>0</DEFAULT>
+    <OP>N/A</OP>
+    <DEPENDENCY>N/A</DEPENDENCY>
+    <NOTE>None</NOTE>
+    <AUTHOR>mtk21078</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+#if defined(__L5_SS_AUTO_SET_UCS2__)
+    SBP_FEATURE_DEF(SBP_L5_SS_AUTO_SET_UCS2, SBP_ATTR_NONE, "L5 will set cscs to ucs2 at start up init phase", "Disable", "Enable", 0)
+#else
+    SBP_FEATURE_DEF(SBP_L5_SS_AUTO_SET_UCS2, SBP_ATTR_NONE, "L5 will set cscs to ucs2 at start up init phase", "Disable", "Enable", 1)
+#endif
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_ENABLE_LONG_INTERVAL_FOR_DR_SEARCH - Based on these SBP - ERRC will configure the intv or CSR pattern in CSR request in Gemini mode ">
+    <DESCRIPTION>
+        <PARAG>In Gemini mode -if SBP enabled - ERRC will configure the intv=1(640 ms) which reduce call degradation . otherwise 
+        	ERRC will configure the CSR pattern as CSR_PATTERN_DR_SEARCH_PRIORITY (160ms).
+        </PARAG>
+    </DESCRIPTION>
+    <CATEGORY>LBS</CATEGORY>
+    <CONFIG>
+        <VALUE value="0">ERRC configure CSR request with CSR Pattern in gemini mode</VALUE>
+        <VALUE value="1">ERRC configure CSR request with intv in gemini mode</VALUE>
+    </CONFIG>
+    <DEFAULT>0</DEFAULT>
+    <OP>N/A</OP>
+    <DEPENDENCY>N/A</DEPENDENCY>
+    <NOTE>
+        This feature is available from Gen97. SBP is implemented to handle tradeoff case . if the SBP enable , it makes delay in peer SIM to get service and also chance to miss paging .So it Suggest to disbale these by defualt .
+    </NOTE>
+    <AUTHOR>ot902253</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+    SBP_FEATURE_DEF(SBP_ENABLE_LONG_INTERVAL_FOR_DR_SEARCH, SBP_ATTR_NONE, "Based on these SBP - ERRC will configure the intv or CSR pattern in CSR request in Gemini mode", "Not enabled", "Enabled",0)
+
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_L5_SAVE_APN_TO_NVRAM">
+    <DESCRIPTION>
+        <PARAG> With the feature enabled, L5 will save apn to NVRAM/PARAG>
+    </DESCRIPTION>
+    <CATEGORY>L5</CATEGORY>
+    <CONFIG>
+        <VALUE value="0">Disabled</VALUE>
+        <VALUE value="1">Enabled</VALUE>
+    </CONFIG>
+    <DEFAULT>1</DEFAULT>
+    <OP>N/A</OP>
+    <DEPENDENCY>N/A</DEPENDENCY>
+    <NOTE>None</NOTE>
+    <AUTHOR>mtk14059</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+#ifdef __L5_SAVE_APN_TO_NVRAM_DISABLE__
+    SBP_FEATURE_DEF(SBP_L5_SAVE_APN_TO_NVRAM, SBP_ATTR_NONE, "L5 save APN to NVRAM", "Disable", "Enable", 0)
+#else
+    SBP_FEATURE_DEF(SBP_L5_SAVE_APN_TO_NVRAM, SBP_ATTR_NONE, "L5 save APN to NVRAM", "Disable", "Enable", 1)
+#endif
+
 SBP_FEATURE_DEF_END(172)
 
+/* 174th byte*/
+SBP_FEATURE_DEF_BEGIN(173)
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_GET_EID_FROM_ECASD">
+    <DESCRIPTION>
+        <PARAG>
+            With this SBP enabled, modem will get EID from ECASD in eUICC detection.
+        </PARAG>
+    </DESCRIPTION>
+    <CONFIG>
+       <VALUE value="0">Disable</VALUE>
+       <VALUE value="1">Enable</VALUE>
+    </CONFIG>
+    <CATEGORY>SIM</CATEGORY>
+    <DEFAULT>0</DEFAULT>
+    <OP>N/A</OP>
+    <DEPENDENCY>N/A</DEPENDENCY>
+    <NOTE>N/A</NOTE>
+    <AUTHOR>mtk24100</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+    SBP_FEATURE_DEF(SBP_GET_EID_FROM_ECASD, SBP_ATTR_NONE, "Get EID from ECASD in eUICC detection", "Disable", "Enabled", 0)
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_VOWIFI_DISABLE_5G_SA_CHECK_VONR_BIT - UE will check the VoNR bit for VoWiFi disable 5G SA when this SBP is enabled">
+    <DESCRIPTION>
+        <PARAG>
+            UE will check the VoNR bit for VoWiFi disable 5G SA when this SBP is enabled.
+        </PARAG>
+    </DESCRIPTION>
+    <CATEGORY>SASE</CATEGORY>
+    <CONFIG>
+        <VALUE value="0">Disabled. UE will check the VoNR bit for VoWiFi disable 5G SA when this SBP is enabled</VALUE>
+        <VALUE value="1">Enabled. UE will NOT check the VoNR bit for VoWiFi disable 5G SA when this SBP is enabled</VALUE>
+    </CONFIG>
+    <DEFAULT>1</DEFAULT>
+    <OP>N/A</OP>
+    <DEPENDENCY>N/A</DEPENDENCY>
+    <NOTE>
+        IS_VIOLATE_STANDARD=N
+    </NOTE>
+    <AUTHOR>mtk26590</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+    SBP_FEATURE_DEF(SBP_VOWIFI_DISABLE_5G_SA_CHECK_VONR_BIT, SBP_ATTR_NONE, "Enable check the VoNR bit for VoWiFi disable 5G SA", "Not Enabled", "Enabled", 1)
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_DISABLE_5G_SA_CALL_SETUP_ON_HO_TO_VOWIFI - Disable 5G SA when call setup on VoLTE with PDN handover to VoWiFi">
+    <DESCRIPTION>
+        <PARAG>
+            UE Disable 5G SA when call setup on VoLTE with PDN handover to VoWiFi.
+        </PARAG>
+    </DESCRIPTION>
+    <CATEGORY>SASE</CATEGORY>
+    <CONFIG>
+        <VALUE value="0">Disabled. UE do NOT disable 5G SA when call setup on VoLTE with PDN handover to VoWiFi</VALUE>
+        <VALUE value="1">Enabled. UE disable 5G SA when call setup on VoLTE with PDN handover to VoWiFi</VALUE>
+    </CONFIG>
+    <DEFAULT>0</DEFAULT>
+    <OP>N/A</OP>
+    <DEPENDENCY>N/A</DEPENDENCY>
+    <NOTE>
+        IS_VIOLATE_STANDARD=N
+    </NOTE>
+    <AUTHOR>mtk26590</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+    SBP_FEATURE_DEF(SBP_DISABLE_5G_SA_CALL_HO_TO_VOWIFI, SBP_ATTR_NONE, "Disable 5G SA when call setup on VoLTE with PDN handover to VoWiFi", "Not Enabled", "Enabled", 0)
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_LOCAL_RELEASE_FOR_VOWIFI_DISABLE_5G_SA - UE will do local release when disable 5G SA for VoWiFi">
+    <DESCRIPTION>
+        <PARAG>
+            UE will do local release when disable 5G SA for VoWiFi.
+        </PARAG>
+    </DESCRIPTION>
+    <CATEGORY>SASE</CATEGORY>
+    <CONFIG>
+        <VALUE value="0">Disabled. UE will do local release when disable 5G SA for VoWiFi</VALUE>
+        <VALUE value="1">Enabled. UE will NOT do local release when disable 5G SA for VoWiFi</VALUE>
+    </CONFIG>
+    <DEFAULT>0</DEFAULT>
+    <OP>N/A</OP>
+    <DEPENDENCY>N/A</DEPENDENCY>
+    <NOTE>
+        IS_VIOLATE_STANDARD=N
+    </NOTE>
+    <AUTHOR>mtk26590</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+    SBP_FEATURE_DEF(SBP_LOCAL_RELEASE_FOR_VOWIFI_DISABLE_5G_SA, SBP_ATTR_NONE, "UE will NOT do local release when disable 5G SA for VoWiFi", "Not Enabled", "Enabled", 0)
+
+SBP_FEATURE_DEF_END(173)
+
 #undef SBP_FEATURE_DEF_BEGIN
 #undef SBP_FEATURE_DEF
 #undef SBP_FEATURE_DEF_END