RIC-961:implement Xn and X2 component IDs correctly in E2M 66/10666/2
authorsandeeku <sandeep.15.kumar@nokia.com>
Sun, 5 Mar 2023 05:08:59 +0000 (10:38 +0530)
committersandeeku <sandeep.15.kumar@nokia.com>
Mon, 6 Mar 2023 12:38:50 +0000 (18:08 +0530)
Change-Id: If287816c7e5df78a3f6e3691a62282a09408a9cc
Signed-off-by: sandeeku <sandeep.15.kumar@nokia.com>
20 files changed:
E2Manager/models/e2_setup_request_message.go
E2Manager/models/e2_setup_request_message_test.go
E2Manager/models/e2_setup_response_message.go
E2Manager/models/e2_setup_response_message_test.go
E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_e1.xml [new file with mode: 0644]
E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_f1.xml [new file with mode: 0644]
E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_s1.xml [new file with mode: 0644]
E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_w1.xml [new file with mode: 0644]
E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_x2enb.xml [new file with mode: 0644]
E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_x2gnb.xml [new file with mode: 0644]
E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_xnenb.xml [new file with mode: 0644]
E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_xngnb.xml [new file with mode: 0644]
E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_e1.xml [new file with mode: 0644]
E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_f1.xml [new file with mode: 0644]
E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_s1.xml [new file with mode: 0644]
E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_w1.xml [new file with mode: 0644]
E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_x2enb.xml [new file with mode: 0644]
E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_x2gnb.xml [new file with mode: 0644]
E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_xnenb.xml [new file with mode: 0644]
E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_xngnb.xml [new file with mode: 0644]

index 435ad7c..420d5fd 100644 (file)
@@ -216,31 +216,38 @@ type E2NodeIFTypeNG struct {
 }
 
 type E2NodeIFTypeXN struct {
-       XMLName       xml.Name `xml:"e2nodeComponentInterfaceTypeXn"`
-       Text          string   `xml:",chardata"`
-       GlobalNgENBID struct {
-               Text string `xml:",chardata"`
-               GNB  struct {
-                       Text   string `xml:",chardata"`
-                       PLMNID string `xml:"plmn-id"`
-                       GnbID  struct {
-                               Text  string `xml:",chardata"`
-                               GnbID string `xml:"gnb-ID"`
-                       } `xml:"gnb-id"`
-               } `xml:"gNB"`
-               NGENB struct {
-                       Text   string `xml:",chardata"`
-                       PLMNID string `xml:"plmn-id"`
-                       GnbID  struct {
-                               Text            string `xml:",chardata"`
-                               ENBIDMacro      string `xml:"enb-ID-macro"`
-                               ENBIDShortMacro string `xml:"enb-ID-shortmacro"`
-                               ENBIDLongMacro  string `xml:"enb-ID-longmacro"`
-                       } `xml:"gnb-id"`
-               } `xml:"ng-eNB"`
+       XMLName           xml.Name `xml:"e2nodeComponentInterfaceTypeXn"`
+       Text              string   `xml:",chardata"`
+       GlobalNGRANNodeID struct {
+               Text          string   `xml:",chardata"`
+               GlobalgNBID   *GNB     `xml:"gNB,omitempty"`
+               GlobalngeNBID *NgeNBID `xml:"ng-eNB,omitempty"`
        } `xml:"global-NG-RAN-Node-ID"`
 }
 
+type GNB struct {
+       Text   string `xml:",chardata"`
+       PLMNID string `xml:"plmn-id"`
+       GnbID  GnbID  `xml:"gnb-id"`
+}
+type GnbID struct {
+       Text  string `xml:",chardata"`
+       GnbID string `xml:"gnb-ID"`
+}
+
+type NgeNBID struct {
+       Text   string    `xml:",chardata"`
+       PLMNID string    `xml:"plmn-id"`
+       EnbID  *EnbID_Xn `xml:"enb-id"`
+}
+
+type EnbID_Xn struct {
+       Text            string `xml:",chardata"`
+       EnbIdMacro      string `xml:"enb-ID-macro,omitempty"`
+       EnbIdShortMacro string `xml:"enb-ID-shortmacro,omitempty"`
+       EnbIdLongMacro  string `xml:"enb-ID-longmacro,omitempty"`
+}
+
 type E2NodeIFTypeE1 struct {
        XMLName   xml.Name `xml:"e2nodeComponentInterfaceTypeE1"`
        Text      string   `xml:",chardata"`
@@ -264,29 +271,33 @@ type E2NodeIFTypeS1 struct {
        Text    string   `xml:",chardata"`
        MMENAME string   `xml:"mme-name"`
 }
-
 type E2NodeIFTypeX2 struct {
-       XMLName     xml.Name `xml:"e2nodeComponentInterfaceTypeX2"`
-       Text        string   `xml:",chardata"`
-       GlobalENBID struct {
-               Text         string `xml:",chardata"`
-               PLMNIdentity string `xml:"pLMN-Identity"`
-               ENBID        struct {
-                       Text            string `xml:",chardata"`
-                       MacroENBID      string `xml:"macro-eNB-ID"`
-                       HomeENBID       string `xml:"home-eNB-ID"`
-                       ShortMacroENBID string `xml:"short-Macro-eNB-ID"`
-                       LongMacroENBID  string `xml:"long-Macro-eNB-ID"`
-               } `xml:"eNB-ID"`
-       } `xml:"global-eNB-ID"`
-       GlobalEnGNBID struct {
-               Text         string `xml:",chardata"`
-               PLMNIdentity string `xml:"pLMN-Identity"`
-               GNBID        struct {
-                       Text  string `xml:",chardata"`
-                       GNBID string `xml:"gNB-ID"`
-               } `xml:"gNB-ID"`
-       } `xml:"global-en-gNB-ID"`
+       XMLName       xml.Name       `xml:"e2nodeComponentInterfaceTypeX2"`
+       Text          string         `xml:",chardata"`
+       GlobalENBID   *GlobalENBID   `xml:"global-eNB-ID,omitempty"`
+       GlobalenGNBID *GlobalenGNBID `xml:"global-en-gNB-ID,omitempty"`
+}
+type GlobalENBID struct {
+       Text         string    `xml:",chardata"`
+       PLMNIdentity string    `xml:"pLMN-Identity"`
+       ENBID        *ENBID_X2 `xml:"eNB-ID"`
+}
+type ENBID_X2 struct {
+       Text            string `xml:",chardata"`
+       MacroEnbId      string `xml:"macro-eNB-ID,omitempty"`
+       HomeEnbId       string `xml:"home-eNB-ID,omitempty"`
+       ShortMacroEnbId string `xml:"short-Macro-eNB-ID,omitempty"`
+       LongMacroEnbId  string `xml:"long-Macro-eNB-ID,omitempty"`
+}
+type GlobalenGNBID struct {
+       Text         string `xml:",chardata"`
+       PLMNIdentity string `xml:"pLMN-Identity"`
+       GNBID        GNBID  `xml:"gNB-ID"`
+}
+
+type GNBID struct {
+       Text  string `xml:",chardata"`
+       GNBID string `xml:"gNB-ID"`
 }
 
 func (m *E2SetupRequestMessage) ExtractRanFunctionsList() []*entities.RanFunction {
@@ -401,46 +412,163 @@ func (m *E2SetupRequestMessage) ExtractE2NodeConfigList() []*entities.E2NodeComp
                                        },
                                },
                        }
-               }
-               /*else if e2NodeConfigItem.E2nodeComponentType.XN != nil {
-                       funcs[i] = &entities.E2NodeComponentConfig{
-                               E2NodeComponentInterfaceType: entities.E2NodeComponentInterfaceType_xn,
-                               E2NodeComponentRequestPart: e2NodeConfigItem.E2nodeConfiguration.E2NodeRequestPart,
-                               E2NodeComponentResponsePart:  e2NodeConfigItem.E2nodeConfiguration.E2NodeResponsePart,
-                               E2NodeComponentID:              &entities.E2NodeComponentConfig_E2NodeComponentInterfaceTypeNG{
-                                       E2NodeComponentInterfaceTypeXn: &entities.E2NodeComponentInterfaceXn{
-                                               GlobalNgRanNodeId: &entities.E2NodeComponentInterfaceXn_GlobalNgenbId{
-                                                       GlobalNgenbId:&entities.GlobalNGENBID{
-                                                               PlmnIdentity: e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNgENBID.NGENB.PLMNID,
-                                                               EnbId: e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNgENBID.GNB.GnbID.GnbID,
+               } else if e2NodeConfigItem.E2nodeComponentType.XN != nil {
+                       if gnbid := e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalgNBID; gnbid != nil {
+                               e2nodeComponentConfigs[i] = &entities.E2NodeComponentConfig{
+                                       E2NodeComponentInterfaceType: entities.E2NodeComponentInterfaceType_xn,
+                                       E2NodeComponentRequestPart:   e2NodeConfigItem.E2nodeConfiguration.E2NodeRequestPart,
+                                       E2NodeComponentResponsePart:  e2NodeConfigItem.E2nodeConfiguration.E2NodeResponsePart,
+                                       E2NodeComponentID: &entities.E2NodeComponentConfig_E2NodeComponentInterfaceTypeXn{
+                                               E2NodeComponentInterfaceTypeXn: &entities.E2NodeComponentInterfaceXn{
+                                                       GlobalNgRanNodeId: &entities.E2NodeComponentInterfaceXn_GlobalGnbId{
+                                                               GlobalGnbId: &entities.GlobalGNBID{
+                                                                       PlmnIdentity: e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalgNBID.PLMNID,
+                                                                       GnbId:        e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalgNBID.GnbID.GnbID,
+                                                                       GnbType:      1,
+                                                               },
                                                        },
                                                },
-                                               GlobalNgRanNodeId: &entities.E2NodeComponentInterfaceXn_GlobalGnbId{
-                                                       GlobalGnbId:&entities.GlobalGNBID{
-                                                               PlmnIdentity: e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNgENBID.NGENB.PLMNID,
-                                                               EnbId: e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNgENBID.GNB.GnbID.GnbID,
+                                       },
+                               }
+
+                       } else if ngenb := e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalngeNBID; ngenb != nil {
+                               if ngenbid := e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalngeNBID.EnbID.EnbIdMacro; ngenbid != "" && len(ngenbid) == 20 {
+                                       e2nodeComponentConfigs[i] = &entities.E2NodeComponentConfig{
+                                               E2NodeComponentInterfaceType: entities.E2NodeComponentInterfaceType_xn,
+                                               E2NodeComponentRequestPart:   e2NodeConfigItem.E2nodeConfiguration.E2NodeRequestPart,
+                                               E2NodeComponentResponsePart:  e2NodeConfigItem.E2nodeConfiguration.E2NodeResponsePart,
+                                               E2NodeComponentID: &entities.E2NodeComponentConfig_E2NodeComponentInterfaceTypeXn{
+                                                       E2NodeComponentInterfaceTypeXn: &entities.E2NodeComponentInterfaceXn{
+                                                               GlobalNgRanNodeId: &entities.E2NodeComponentInterfaceXn_GlobalNgenbId{
+                                                                       GlobalNgenbId: &entities.GlobalNGENBID{
+                                                                               PlmnIdentity: e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalngeNBID.PLMNID,
+                                                                               EnbId:        e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalngeNBID.EnbID.EnbIdMacro,
+                                                                               EnbType:      1,
+                                                                       },
+                                                               },
+                                                       },
+                                               },
+                                       }
+                               } else if ngenbid := e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalngeNBID.EnbID.EnbIdShortMacro; ngenbid != "" && len(ngenbid) == 18 {
+                                       e2nodeComponentConfigs[i] = &entities.E2NodeComponentConfig{
+                                               E2NodeComponentInterfaceType: entities.E2NodeComponentInterfaceType_xn,
+                                               E2NodeComponentRequestPart:   e2NodeConfigItem.E2nodeConfiguration.E2NodeRequestPart,
+                                               E2NodeComponentResponsePart:  e2NodeConfigItem.E2nodeConfiguration.E2NodeResponsePart,
+                                               E2NodeComponentID: &entities.E2NodeComponentConfig_E2NodeComponentInterfaceTypeXn{
+                                                       E2NodeComponentInterfaceTypeXn: &entities.E2NodeComponentInterfaceXn{
+                                                               GlobalNgRanNodeId: &entities.E2NodeComponentInterfaceXn_GlobalNgenbId{
+                                                                       GlobalNgenbId: &entities.GlobalNGENBID{
+                                                                               PlmnIdentity: e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalngeNBID.PLMNID,
+                                                                               EnbId:        e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalngeNBID.EnbID.EnbIdShortMacro,
+                                                                               EnbType:      3,
+                                                                       },
+                                                               },
+                                                       },
+                                               },
+                                       }
+                               } else if ngenbid := e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalngeNBID.EnbID.EnbIdLongMacro; ngenbid != "" && len(ngenbid) == 21 {
+                                       e2nodeComponentConfigs[i] = &entities.E2NodeComponentConfig{
+                                               E2NodeComponentInterfaceType: entities.E2NodeComponentInterfaceType_xn,
+                                               E2NodeComponentRequestPart:   e2NodeConfigItem.E2nodeConfiguration.E2NodeRequestPart,
+                                               E2NodeComponentResponsePart:  e2NodeConfigItem.E2nodeConfiguration.E2NodeResponsePart,
+                                               E2NodeComponentID: &entities.E2NodeComponentConfig_E2NodeComponentInterfaceTypeXn{
+                                                       E2NodeComponentInterfaceTypeXn: &entities.E2NodeComponentInterfaceXn{
+                                                               GlobalNgRanNodeId: &entities.E2NodeComponentInterfaceXn_GlobalNgenbId{
+                                                                       GlobalNgenbId: &entities.GlobalNGENBID{
+                                                                               PlmnIdentity: e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalngeNBID.PLMNID,
+                                                                               EnbId:        e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalngeNBID.EnbID.EnbIdLongMacro,
+                                                                               EnbType:      4,
+                                                                       },
+                                                               },
+                                                       },
+                                               },
+                                       }
+                               }
+                       } else {
+                               //not valid
+                       }
+               } else if e2NodeConfigItem.E2nodeComponentType.X2 != nil {
+                       if gnbid := e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalenGNBID; gnbid != nil {
+                               e2nodeComponentConfigs[i] = &entities.E2NodeComponentConfig{
+                                       E2NodeComponentInterfaceType: entities.E2NodeComponentInterfaceType_x2,
+                                       E2NodeComponentRequestPart:   e2NodeConfigItem.E2nodeConfiguration.E2NodeRequestPart,
+                                       E2NodeComponentResponsePart:  e2NodeConfigItem.E2nodeConfiguration.E2NodeResponsePart,
+                                       E2NodeComponentID: &entities.E2NodeComponentConfig_E2NodeComponentInterfaceTypeX2{
+                                               E2NodeComponentInterfaceTypeX2: &entities.E2NodeComponentInterfaceX2{
+                                                       GlobalEngnbId: &entities.GlobalENGNBID{
+                                                               PlmnIdentity: e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalenGNBID.PLMNIdentity,
+                                                               GnbId:        e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalenGNBID.GNBID.GNBID,
+                                                               GnbType:      1,
                                                        },
                                                },
                                        },
-                               },
+                               }
+                       } else if enb := e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID; enb != nil {
+                               if enbid := e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.MacroEnbId; enbid != "" && len(enbid) == 20 {
+                                       e2nodeComponentConfigs[i] = &entities.E2NodeComponentConfig{
+                                               E2NodeComponentInterfaceType: entities.E2NodeComponentInterfaceType_x2,
+                                               E2NodeComponentRequestPart:   e2NodeConfigItem.E2nodeConfiguration.E2NodeRequestPart,
+                                               E2NodeComponentResponsePart:  e2NodeConfigItem.E2nodeConfiguration.E2NodeResponsePart,
+                                               E2NodeComponentID: &entities.E2NodeComponentConfig_E2NodeComponentInterfaceTypeX2{
+                                                       E2NodeComponentInterfaceTypeX2: &entities.E2NodeComponentInterfaceX2{
+                                                               GlobalEnbId: &entities.GlobalENBID{
+                                                                       PlmnIdentity: e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.PLMNIdentity,
+                                                                       EnbId:        e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.MacroEnbId,
+                                                                       EnbType:      1,
+                                                               },
+                                                       },
+                                               },
+                                       }
+                               } else if enbid := e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.HomeEnbId; enbid != "" && len(enbid) == 28 {
+                                       e2nodeComponentConfigs[i] = &entities.E2NodeComponentConfig{
+                                               E2NodeComponentInterfaceType: entities.E2NodeComponentInterfaceType_x2,
+                                               E2NodeComponentRequestPart:   e2NodeConfigItem.E2nodeConfiguration.E2NodeRequestPart,
+                                               E2NodeComponentResponsePart:  e2NodeConfigItem.E2nodeConfiguration.E2NodeResponsePart,
+                                               E2NodeComponentID: &entities.E2NodeComponentConfig_E2NodeComponentInterfaceTypeX2{
+                                                       E2NodeComponentInterfaceTypeX2: &entities.E2NodeComponentInterfaceX2{
+                                                               GlobalEnbId: &entities.GlobalENBID{
+                                                                       PlmnIdentity: e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.PLMNIdentity,
+                                                                       EnbId:        e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.HomeEnbId,
+                                                                       EnbType:      2,
+                                                               },
+                                                       },
+                                               },
+                                       }
+                               } else if enbid := e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.ShortMacroEnbId; enbid != "" && len(enbid) == 18 {
+                                       e2nodeComponentConfigs[i] = &entities.E2NodeComponentConfig{
+                                               E2NodeComponentInterfaceType: entities.E2NodeComponentInterfaceType_x2,
+                                               E2NodeComponentRequestPart:   e2NodeConfigItem.E2nodeConfiguration.E2NodeRequestPart,
+                                               E2NodeComponentResponsePart:  e2NodeConfigItem.E2nodeConfiguration.E2NodeResponsePart,
+                                               E2NodeComponentID: &entities.E2NodeComponentConfig_E2NodeComponentInterfaceTypeX2{
+                                                       E2NodeComponentInterfaceTypeX2: &entities.E2NodeComponentInterfaceX2{
+                                                               GlobalEnbId: &entities.GlobalENBID{
+                                                                       PlmnIdentity: e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.PLMNIdentity,
+                                                                       EnbId:        e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.ShortMacroEnbId,
+                                                                       EnbType:      3,
+                                                               },
+                                                       },
+                                               },
+                                       }
+                               } else if enbid := e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.LongMacroEnbId; enbid != "" && len(enbid) == 21 {
+                                       e2nodeComponentConfigs[i] = &entities.E2NodeComponentConfig{
+                                               E2NodeComponentInterfaceType: entities.E2NodeComponentInterfaceType_x2,
+                                               E2NodeComponentRequestPart:   e2NodeConfigItem.E2nodeConfiguration.E2NodeRequestPart,
+                                               E2NodeComponentResponsePart:  e2NodeConfigItem.E2nodeConfiguration.E2NodeResponsePart,
+                                               E2NodeComponentID: &entities.E2NodeComponentConfig_E2NodeComponentInterfaceTypeX2{
+                                                       E2NodeComponentInterfaceTypeX2: &entities.E2NodeComponentInterfaceX2{
+                                                               GlobalEnbId: &entities.GlobalENBID{
+                                                                       PlmnIdentity: e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.PLMNIdentity,
+                                                                       EnbId:        e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.LongMacroEnbId,
+                                                                       EnbType:      4,
+                                                               },
+                                                       },
+                                               },
+                                       }
+                               }
+                       } else {
+                               //not valid
                        }
-                       ifXn.GlobalNgENBID.NGENB.PLMNID = e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNgENBID.NGENB.PLMNID
-                       ifXn.GlobalNgENBID.NGENB.GnbID.ENBIDMacro = e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNgENBID.NGENB.GnbID.ENBIDMacro
-                       ifXn.GlobalNgENBID.NGENB.GnbID.ENBIDShortMacro = e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNgENBID.NGENB.GnbID.ENBIDShortMacro
-                       ifXn.GlobalNgENBID.NGENB.GnbID.ENBIDLongMacro = e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNgENBID.NGENB.GnbID.ENBIDLongMacro
-
-               }*/
-               /*else if e2NodeConfigItem.E2nodeComponentType.X2 != nil {
-                       ifX2 := E2NodeIFTypeX2 {}
-                       ifX2.GlobalENBID.PLMNIdentity = e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.PLMNIdentity
-                       ifX2.GlobalENBID.ENBID.MacroENBID = e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.MacroENBID
-                       ifX2.GlobalENBID.ENBID.HomeENBID = e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.HomeENBID
-                       ifX2.GlobalENBID.ENBID.ShortMacroENBID = e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.ShortMacroENBID
-                       ifX2.GlobalENBID.ENBID.LongMacroENBID = e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.LongMacroENBID
-
-                       ifX2.GlobalEnGNBID.PLMNIdentity = e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalEnGNBID.PLMNIdentity
-                       ifX2.GlobalEnGNBID.GNBID.GNBID = e2NodeConfigItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalEnGNBID.GNBID.GNBID
-               }*/
+               } //end of x2
        }
        return e2nodeComponentConfigs
 }
index b50d0d7..9228ad7 100644 (file)
@@ -29,11 +29,19 @@ import (
 )
 
 const (
-       e2SetupReqGnbSetupRequestXmlPath        = "../tests/resources/setupRequest/setupRequest_gnb.xml"
-       e2SetupReqEnGnbSetupRequestXmlPath      = "../tests/resources/setupRequest/setupRequest_en-gNB.xml"
-       e2SetupReqEnbSetupRequestXmlPath        = "../tests/resources/setupRequest/setupRequest_enb.xml"
-       e2SetupReqNgEnbSetupRequestXmlPath      = "../tests/resources/setupRequest/setupRequest_ng-eNB.xml"
-       e2SetupReqGnbSetupRequestWithOIDXmlPath = "../tests/resources/setupRequest/setupRequest_with_oid_gnb.xml"
+       e2SetupReqGnbSetupRequestXmlPath                      = "../tests/resources/setupRequest/setupRequest_gnb.xml"
+       e2SetupReqEnGnbSetupRequestXmlPath                    = "../tests/resources/setupRequest/setupRequest_en-gNB.xml"
+       e2SetupReqEnbSetupRequestXmlPath                      = "../tests/resources/setupRequest/setupRequest_enb.xml"
+       e2SetupReqNgEnbSetupRequestXmlPath                    = "../tests/resources/setupRequest/setupRequest_ng-eNB.xml"
+       e2SetupReqGnbSetupRequestWithOIDXmlPath               = "../tests/resources/setupRequest/setupRequest_with_oid_gnb.xml"
+       e2SetupReqE1InterfaceGnbSetupRequestWithOIDXmlPath    = "../tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_e1.xml"
+       e2SetupReqF1InterfaceGnbSetupRequestWithOIDXmlPath    = "../tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_f1.xml"
+       e2SetupReqW1InterfaceGnbSetupRequestWithOIDXmlPath    = "../tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_w1.xml"
+       e2SetupReqS1InterfaceGnbSetupRequestWithOIDXmlPath    = "../tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_s1.xml"
+       e2SetupReqXngnbInterfaceGnbSetupRequestWithOIDXmlPath = "../tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_xngnb.xml"
+       e2SetupReqXnenbInterfaceGnbSetupRequestWithOIDXmlPath = "../tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_xnenb.xml"
+       e2SetupReqX2gnbInterfaceGnbSetupRequestWithOIDXmlPath = "../tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_x2gnb.xml"
+       e2SetupReqX2enbInterfaceGnbSetupRequestWithOIDXmlPath = "../tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_x2enb.xml"
 )
 
 func getTestE2SetupRequest(t *testing.T, reqXmlPath string) *models.E2SetupRequestMessage {
@@ -140,3 +148,83 @@ func TestGetNbIdFromNgEnbRequestSuccess(t *testing.T) {
        nbID := setupRequest.GetNbId()
        assert.Equal(t, "101010101010101010", nbID)
 }
+
+func TestExtractE2nodeIntTypeE1ConfigFail(t *testing.T) {
+       setupRequest := getTestE2SetupRequest(t, e2SetupReqE1InterfaceGnbSetupRequestWithOIDXmlPath)
+       e2nodeConfigs := setupRequest.ExtractE2NodeConfigList()
+
+       assert.Equal(t, 2, len(e2nodeConfigs))
+
+       assert.NotEqual(t, 1, int(e2nodeConfigs[0].GetE2NodeComponentInterfaceTypeE1().GetGNBCuCpId()))
+       assert.NotEqual(t, 2, int(e2nodeConfigs[1].GetE2NodeComponentInterfaceTypeE1().GetGNBCuCpId()))
+
+}
+
+func TestExtractE2nodeIntTypeF1ConfigFail(t *testing.T) {
+       setupRequest := getTestE2SetupRequest(t, e2SetupReqF1InterfaceGnbSetupRequestWithOIDXmlPath)
+       e2nodeConfigs := setupRequest.ExtractE2NodeConfigList()
+
+       assert.Equal(t, 2, len(e2nodeConfigs))
+
+       assert.NotEqual(t, 1, int(e2nodeConfigs[0].GetE2NodeComponentInterfaceTypeF1().GetGNBDuId()))
+       assert.NotEqual(t, 2, int(e2nodeConfigs[1].GetE2NodeComponentInterfaceTypeF1().GetGNBDuId()))
+
+}
+
+func TestExtractE2nodeIntTypeW1ConfigFail(t *testing.T) {
+       setupRequest := getTestE2SetupRequest(t, e2SetupReqW1InterfaceGnbSetupRequestWithOIDXmlPath)
+       e2nodeConfigs := setupRequest.ExtractE2NodeConfigList()
+
+       assert.Equal(t, 2, len(e2nodeConfigs))
+
+       assert.NotEqual(t, 1, int(e2nodeConfigs[0].GetE2NodeComponentInterfaceTypeW1().GetNgenbDuId()))
+       assert.NotEqual(t, 2, int(e2nodeConfigs[1].GetE2NodeComponentInterfaceTypeW1().GetNgenbDuId()))
+
+}
+
+func TestExtractE2nodeIntTypeS1ConfigFail(t *testing.T) {
+       setupRequest := getTestE2SetupRequest(t, e2SetupReqS1InterfaceGnbSetupRequestWithOIDXmlPath)
+       e2nodeConfigs := setupRequest.ExtractE2NodeConfigList()
+
+       assert.Equal(t, 2, len(e2nodeConfigs))
+
+       assert.NotEqual(t, "e1interf1", e2nodeConfigs[0].GetE2NodeComponentInterfaceTypeS1().GetMmeName())
+       assert.NotEqual(t, "e1interf2", e2nodeConfigs[1].GetE2NodeComponentInterfaceTypeS1().GetMmeName())
+
+}
+
+func TestExtractE2nodeIntTypeXngnbConfigFail(t *testing.T) {
+       setupRequest := getTestE2SetupRequest(t, e2SetupReqXngnbInterfaceGnbSetupRequestWithOIDXmlPath)
+       e2nodeConfigs := setupRequest.ExtractE2NodeConfigList()
+
+       assert.Equal(t, 1, len(e2nodeConfigs))
+
+       assert.NotEqual(t, "101010101010101010", (e2nodeConfigs[0].GetE2NodeComponentInterfaceTypeXn().GetGlobalGnbId().GetGnbId()))
+}
+
+func TestExtractE2nodeIntTypeXnenbConfigFail(t *testing.T) {
+       setupRequest := getTestE2SetupRequest(t, e2SetupReqXnenbInterfaceGnbSetupRequestWithOIDXmlPath)
+       e2nodeConfigs := setupRequest.ExtractE2NodeConfigList()
+
+       assert.Equal(t, 1, len(e2nodeConfigs))
+
+       assert.NotEqual(t, "101010101010101010", (e2nodeConfigs[0].GetE2NodeComponentInterfaceTypeXn().GetGlobalNgenbId().GetEnbId()))
+}
+
+func TestExtractE2nodeIntTypeX2gnbConfigFail(t *testing.T) {
+       setupRequest := getTestE2SetupRequest(t, e2SetupReqX2gnbInterfaceGnbSetupRequestWithOIDXmlPath)
+       e2nodeConfigs := setupRequest.ExtractE2NodeConfigList()
+
+       assert.Equal(t, 1, len(e2nodeConfigs))
+
+       assert.NotEqual(t, "101010101010101010", (e2nodeConfigs[0].GetE2NodeComponentInterfaceTypeX2().GetGlobalEngnbId().GetGnbId()))
+}
+
+func TestExtractE2nodeIntTypeX2enbConfigFail(t *testing.T) {
+       setupRequest := getTestE2SetupRequest(t, e2SetupReqX2enbInterfaceGnbSetupRequestWithOIDXmlPath)
+       e2nodeConfigs := setupRequest.ExtractE2NodeConfigList()
+
+       assert.Equal(t, 1, len(e2nodeConfigs))
+
+       assert.NotEqual(t, "101010101010101010", (e2nodeConfigs[0].GetE2NodeComponentInterfaceTypeX2().GetGlobalEnbId().GetEnbId()))
+}
index 1b62b01..2fcecc4 100644 (file)
@@ -364,13 +364,19 @@ func convertToE2NodeConfig(list *E2NodeConfigList, i int, outcome int) E2NodeCon
                }
        } else if list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentType.XN != nil {
                ifXn := E2NodeIFTypeXN{}
-               ifXn.GlobalNgENBID.GNB.PLMNID = list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNgENBID.GNB.PLMNID
-               ifXn.GlobalNgENBID.GNB.GnbID.GnbID = list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNgENBID.GNB.GnbID.GnbID
-               ifXn.GlobalNgENBID.NGENB.PLMNID = list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNgENBID.NGENB.PLMNID
-               ifXn.GlobalNgENBID.NGENB.GnbID.ENBIDMacro = list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNgENBID.NGENB.GnbID.ENBIDMacro
-               ifXn.GlobalNgENBID.NGENB.GnbID.ENBIDShortMacro = list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNgENBID.NGENB.GnbID.ENBIDShortMacro
-               ifXn.GlobalNgENBID.NGENB.GnbID.ENBIDLongMacro = list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNgENBID.NGENB.GnbID.ENBIDLongMacro
-
+               if gnbid := list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalgNBID; gnbid != nil {
+                       ifXn.GlobalNGRANNodeID.GlobalgNBID = &GNB{PLMNID: list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalgNBID.PLMNID, GnbID: GnbID{GnbID: list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalgNBID.GnbID.GnbID}}
+               } else if ngenb := list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalngeNBID; ngenb != nil {
+                       if ngenbid := list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalngeNBID.EnbID.EnbIdMacro; ngenbid != "" && len(ngenbid) == 20 {
+                               ifXn.GlobalNGRANNodeID.GlobalngeNBID = &NgeNBID{PLMNID: list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalngeNBID.PLMNID, EnbID: &EnbID_Xn{EnbIdMacro: list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalngeNBID.EnbID.EnbIdMacro}}
+                       } else if ngenbid := list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalngeNBID.EnbID.EnbIdShortMacro; ngenbid != "" && len(ngenbid) == 18 {
+                               ifXn.GlobalNGRANNodeID.GlobalngeNBID = &NgeNBID{PLMNID: list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalngeNBID.PLMNID, EnbID: &EnbID_Xn{EnbIdShortMacro: list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalngeNBID.EnbID.EnbIdShortMacro}}
+                       } else if ngenbid := list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalngeNBID.EnbID.EnbIdLongMacro; ngenbid != "" && len(ngenbid) == 21 {
+                               ifXn.GlobalNGRANNodeID.GlobalngeNBID = &NgeNBID{PLMNID: list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalngeNBID.PLMNID, EnbID: &EnbID_Xn{EnbIdLongMacro: list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeXN.GlobalNGRANNodeID.GlobalngeNBID.EnbID.EnbIdLongMacro}}
+                       }
+               } else {
+                       //not valid
+               }
                id.Value.E2NodeConfigUpdateAckItem.E2nodeComponentID.Value = ifXn
        } else if list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentType.E1 != nil {
                id.Value.E2NodeConfigUpdateAckItem.E2nodeComponentID.Value = E2NodeIFTypeE1{
@@ -390,15 +396,21 @@ func convertToE2NodeConfig(list *E2NodeConfigList, i int, outcome int) E2NodeCon
                }
        } else if list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentType.X2 != nil {
                ifX2 := E2NodeIFTypeX2{}
-               ifX2.GlobalENBID.PLMNIdentity = list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.PLMNIdentity
-               ifX2.GlobalENBID.ENBID.MacroENBID = list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.MacroENBID
-               ifX2.GlobalENBID.ENBID.HomeENBID = list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.HomeENBID
-               ifX2.GlobalENBID.ENBID.ShortMacroENBID = list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.ShortMacroENBID
-               ifX2.GlobalENBID.ENBID.LongMacroENBID = list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.LongMacroENBID
-
-               ifX2.GlobalEnGNBID.PLMNIdentity = list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalEnGNBID.PLMNIdentity
-               ifX2.GlobalEnGNBID.GNBID.GNBID = list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalEnGNBID.GNBID.GNBID
-
+               if gnbid := list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalenGNBID; gnbid != nil {
+                       ifX2.GlobalenGNBID = &GlobalenGNBID{PLMNIdentity: list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalenGNBID.PLMNIdentity, GNBID: GNBID{GNBID: list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalenGNBID.GNBID.GNBID}}
+               } else if enb := list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID; enb != nil {
+                       if enbid := list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.MacroEnbId; enbid != "" && len(enbid) == 20 {
+                               ifX2.GlobalENBID = &GlobalENBID{PLMNIdentity: list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.PLMNIdentity, ENBID: &ENBID_X2{MacroEnbId: list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.MacroEnbId}}
+                       } else if enbid := list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.HomeEnbId; enbid != "" && len(enbid) == 28 {
+                               ifX2.GlobalENBID = &GlobalENBID{PLMNIdentity: list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.PLMNIdentity, ENBID: &ENBID_X2{HomeEnbId: list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.HomeEnbId}}
+                       } else if enbid := list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.ShortMacroEnbId; enbid != "" && len(enbid) == 18 {
+                               ifX2.GlobalENBID = &GlobalENBID{PLMNIdentity: list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.PLMNIdentity, ENBID: &ENBID_X2{ShortMacroEnbId: list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.ShortMacroEnbId}}
+                       } else if enbid := list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.LongMacroEnbId; enbid != "" && len(enbid) == 21 {
+                               ifX2.GlobalENBID = &GlobalENBID{PLMNIdentity: list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.PLMNIdentity, ENBID: &ENBID_X2{LongMacroEnbId: list.ProtocolIESingleContainer[i].Value.E2nodeConfigAdditionItem.E2nodeComponentID.E2NodeIFTypeX2.GlobalENBID.ENBID.LongMacroEnbId}}
+                       }
+               } else {
+                       //not valid
+               }
                id.Value.E2NodeConfigUpdateAckItem.E2nodeComponentID.Value = ifX2
        }
 
index 744a8c9..ac81b40 100644 (file)
@@ -30,8 +30,16 @@ import (
 )
 
 const (
-       e2SetupRespGnbSetupRequestXmlPath   = "../tests/resources/setupRequest/setupRequest_gnb.xml"
-       e2SetupRespEnGnbSetupRequestXmlPath = "../tests/resources/setupRequest/setupRequest_gnb_without_functions.xml"
+       e2SetupRespGnbSetupRequestXmlPath             = "../tests/resources/setupRequest/setupRequest_gnb.xml"
+       e2SetupRespEnGnbSetupRequestXmlPath           = "../tests/resources/setupRequest/setupRequest_gnb_without_functions.xml"
+       e2SetupRespGnbSetupRequestIntTypeF1XmlPath    = "../tests/resources/setupRequest/setupRequest_gnb_inttype_f1.xml"
+       e2SetupRespGnbSetupRequestIntTypeE1XmlPath    = "../tests/resources/setupRequest/setupRequest_gnb_inttype_e1.xml"
+       e2SetupRespGnbSetupRequestIntTypeW1XmlPath    = "../tests/resources/setupRequest/setupRequest_gnb_inttype_w1.xml"
+       e2SetupRespGnbSetupRequestIntTypeS1XmlPath    = "../tests/resources/setupRequest/setupRequest_gnb_inttype_s1.xml"
+       e2SetupRespGnbSetupRequestIntTypeXngnbXmlPath = "../tests/resources/setupRequest/setupRequest_gnb_inttype_xngnb.xml"
+       e2SetupRespGnbSetupRequestIntTypeXnenbXmlPath = "../tests/resources/setupRequest/setupRequest_gnb_inttype_xnenb.xml"
+       e2SetupRespGnbSetupRequestIntTypeX2gnbXmlPath = "../tests/resources/setupRequest/setupRequest_gnb_inttype_x2gnb.xml"
+       e2SetupRespGnbSetupRequestIntTypeX2enbXmlPath = "../tests/resources/setupRequest/setupRequest_gnb_inttype_x2enb.xml"
 )
 
 func getE2SetupRespTestE2SetupRequest(t *testing.T, reqXmlPath string) *models.E2SetupRequestMessage {
@@ -78,3 +86,107 @@ func TestNewE2SetupFailureResponseMessageSuccess(t *testing.T) {
        assert.Equal(t, models.CauseID, respIEs[1].ID)
        assert.Equal(t, cause, respIEs[1].Value.Value.(models.Cause))
 }
+
+func TestNewE2SetupSuccessResponseMessageIntTypeF1Success(t *testing.T) {
+       plmn := "23F749"
+       ricNearRtId := "10101010110011001110"
+       setupRequest := getE2SetupRespTestE2SetupRequest(t, e2SetupRespGnbSetupRequestIntTypeF1XmlPath)
+
+       resp := models.NewE2SetupSuccessResponseMessage(plmn, ricNearRtId, setupRequest)
+       respIEs := resp.E2APPDU.Outcome.(models.SuccessfulOutcome).Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs
+       assert.Equal(t, models.GlobalRicID, respIEs[1].ID)
+       assert.Equal(t, plmn, respIEs[1].Value.(models.GlobalRICID).GlobalRICID.PLMNIdentity)
+       assert.Equal(t, ricNearRtId, respIEs[1].Value.(models.GlobalRICID).GlobalRICID.RicID)
+       assert.Equal(t, models.RanFunctionsAcceptedID, respIEs[2].ID)
+}
+
+func TestNewE2SetupSuccessResponseMessageIntTypeS1Success(t *testing.T) {
+       plmn := "23F749"
+       ricNearRtId := "10101010110011001110"
+       setupRequest := getE2SetupRespTestE2SetupRequest(t, e2SetupRespGnbSetupRequestIntTypeS1XmlPath)
+
+       resp := models.NewE2SetupSuccessResponseMessage(plmn, ricNearRtId, setupRequest)
+       respIEs := resp.E2APPDU.Outcome.(models.SuccessfulOutcome).Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs
+       assert.Equal(t, models.GlobalRicID, respIEs[1].ID)
+       assert.Equal(t, plmn, respIEs[1].Value.(models.GlobalRICID).GlobalRICID.PLMNIdentity)
+       assert.Equal(t, ricNearRtId, respIEs[1].Value.(models.GlobalRICID).GlobalRICID.RicID)
+       assert.Equal(t, models.RanFunctionsAcceptedID, respIEs[2].ID)
+}
+
+func TestNewE2SetupSuccessResponseMessageIntTypeE1Success(t *testing.T) {
+       plmn := "23F749"
+       ricNearRtId := "10101010110011001110"
+       setupRequest := getE2SetupRespTestE2SetupRequest(t, e2SetupRespGnbSetupRequestIntTypeE1XmlPath)
+
+       resp := models.NewE2SetupSuccessResponseMessage(plmn, ricNearRtId, setupRequest)
+       respIEs := resp.E2APPDU.Outcome.(models.SuccessfulOutcome).Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs
+       assert.Equal(t, models.GlobalRicID, respIEs[1].ID)
+       assert.Equal(t, plmn, respIEs[1].Value.(models.GlobalRICID).GlobalRICID.PLMNIdentity)
+       assert.Equal(t, ricNearRtId, respIEs[1].Value.(models.GlobalRICID).GlobalRICID.RicID)
+       assert.Equal(t, models.RanFunctionsAcceptedID, respIEs[2].ID)
+}
+
+func TestNewE2SetupSuccessResponseMessageIntTypeW1Success(t *testing.T) {
+       plmn := "23F749"
+       ricNearRtId := "10101010110011001110"
+       setupRequest := getE2SetupRespTestE2SetupRequest(t, e2SetupRespGnbSetupRequestIntTypeW1XmlPath)
+
+       resp := models.NewE2SetupSuccessResponseMessage(plmn, ricNearRtId, setupRequest)
+       respIEs := resp.E2APPDU.Outcome.(models.SuccessfulOutcome).Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs
+       assert.Equal(t, models.GlobalRicID, respIEs[1].ID)
+       assert.Equal(t, plmn, respIEs[1].Value.(models.GlobalRICID).GlobalRICID.PLMNIdentity)
+       assert.Equal(t, ricNearRtId, respIEs[1].Value.(models.GlobalRICID).GlobalRICID.RicID)
+       assert.Equal(t, models.RanFunctionsAcceptedID, respIEs[2].ID)
+}
+
+func TestNewE2SetupSuccessResponseMessageIntTypeXngnbSuccess(t *testing.T) {
+       plmn := "23F749"
+       ricNearRtId := "10101010110011001110"
+       setupRequest := getE2SetupRespTestE2SetupRequest(t, e2SetupRespGnbSetupRequestIntTypeXngnbXmlPath)
+
+       resp := models.NewE2SetupSuccessResponseMessage(plmn, ricNearRtId, setupRequest)
+       respIEs := resp.E2APPDU.Outcome.(models.SuccessfulOutcome).Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs
+       assert.Equal(t, models.GlobalRicID, respIEs[1].ID)
+       assert.Equal(t, plmn, respIEs[1].Value.(models.GlobalRICID).GlobalRICID.PLMNIdentity)
+       assert.Equal(t, ricNearRtId, respIEs[1].Value.(models.GlobalRICID).GlobalRICID.RicID)
+       assert.Equal(t, models.RanFunctionsAcceptedID, respIEs[2].ID)
+}
+
+func TestNewE2SetupSuccessResponseMessageIntTypeXnenbSuccess(t *testing.T) {
+       plmn := "23F749"
+       ricNearRtId := "10101010110011001110"
+       setupRequest := getE2SetupRespTestE2SetupRequest(t, e2SetupRespGnbSetupRequestIntTypeXnenbXmlPath)
+
+       resp := models.NewE2SetupSuccessResponseMessage(plmn, ricNearRtId, setupRequest)
+       respIEs := resp.E2APPDU.Outcome.(models.SuccessfulOutcome).Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs
+       assert.Equal(t, models.GlobalRicID, respIEs[1].ID)
+       assert.Equal(t, plmn, respIEs[1].Value.(models.GlobalRICID).GlobalRICID.PLMNIdentity)
+       assert.Equal(t, ricNearRtId, respIEs[1].Value.(models.GlobalRICID).GlobalRICID.RicID)
+       assert.Equal(t, models.RanFunctionsAcceptedID, respIEs[2].ID)
+}
+
+func TestNewE2SetupSuccessResponseMessageIntTypeX2gnbSuccess(t *testing.T) {
+       plmn := "23F749"
+       ricNearRtId := "10101010110011001110"
+       setupRequest := getE2SetupRespTestE2SetupRequest(t, e2SetupRespGnbSetupRequestIntTypeX2gnbXmlPath)
+
+       resp := models.NewE2SetupSuccessResponseMessage(plmn, ricNearRtId, setupRequest)
+       respIEs := resp.E2APPDU.Outcome.(models.SuccessfulOutcome).Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs
+       assert.Equal(t, models.GlobalRicID, respIEs[1].ID)
+       assert.Equal(t, plmn, respIEs[1].Value.(models.GlobalRICID).GlobalRICID.PLMNIdentity)
+       assert.Equal(t, ricNearRtId, respIEs[1].Value.(models.GlobalRICID).GlobalRICID.RicID)
+       assert.Equal(t, models.RanFunctionsAcceptedID, respIEs[2].ID)
+}
+
+func TestNewE2SetupSuccessResponseMessageIntTypeX2enbSuccess(t *testing.T) {
+       plmn := "23F749"
+       ricNearRtId := "10101010110011001110"
+       setupRequest := getE2SetupRespTestE2SetupRequest(t, e2SetupRespGnbSetupRequestIntTypeX2enbXmlPath)
+
+       resp := models.NewE2SetupSuccessResponseMessage(plmn, ricNearRtId, setupRequest)
+       respIEs := resp.E2APPDU.Outcome.(models.SuccessfulOutcome).Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs
+       assert.Equal(t, models.GlobalRicID, respIEs[1].ID)
+       assert.Equal(t, plmn, respIEs[1].Value.(models.GlobalRICID).GlobalRICID.PLMNIdentity)
+       assert.Equal(t, ricNearRtId, respIEs[1].Value.(models.GlobalRICID).GlobalRICID.RicID)
+       assert.Equal(t, models.RanFunctionsAcceptedID, respIEs[2].ID)
+}
diff --git a/E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_e1.xml b/E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_e1.xml
new file mode 100644 (file)
index 0000000..7cfb68d
--- /dev/null
@@ -0,0 +1,125 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>1</procedureCode>
+        <criticality>
+            <reject/>
+        </criticality>
+        <value>
+            <E2setupRequest>
+                <protocolIEs>
+                    <E2setupRequestIEs>
+                        <id>49</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <TransactionID>1</TransactionID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>3</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <GlobalE2node-ID>
+                                <gNB>
+                                    <global-gNB-ID>
+                                        <plmn-id>02 F8 29</plmn-id>
+                                        <gnb-id>
+                                            <gnb-ID>001100000011000000110000</gnb-ID>
+                                        </gnb-id>
+                                    </global-gNB-ID>
+                                </gNB>
+                            </GlobalE2node-ID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>10</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <RANfunctions-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>1</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                790280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010000010108004D6573736167652054797065206F6E6C7901010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D7020010101010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D70200101010101010001010780436F6D706C657465206D657373616765010101010101
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>2</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                680300674E422D4E5254000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E332E330D80674E42204E65696768626F75722052656C6174696F6E205461626C6500010105804E6F74696669636174696F6E01010001010680436F6D706C657465207461626C650101000001058041646454696D657374616D70200101010100010107804E5254206D6F64696669636174696F6E010101010100
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>3</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                450280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010100010108004D6573736167652054797065206F6E6C79010100010108004D6573736167652041646D697373696F6E01020400010180514349310002018041525031000301805350494400040300552D5445494431400A05004C6F61645F6F666673657400
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </RANfunctions-List>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>50</id>
+                        <criticality><reject/></criticality>
+                        <value>
+                            <E2nodeComponentConfigAddition-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>51</id>
+                                    <criticality><reject/></criticality>
+                                    <value>
+                                        <E2nodeComponentConfigAddition-Item>
+                                            <e2nodeComponentInterfaceType><e1/></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeE1>
+                                                    <GNBCuCpId>0</GNBCuCpId>
+                                                </e2nodeComponentInterfaceTypeE1>
+                                            </e2nodeComponentID>
+                                            <e2nodeComponentConfiguration>
+                                                <e2nodeComponentRequestPart>72 65 71 70 61 72 74</e2nodeComponentRequestPart>
+                                                <e2nodeComponentResponsePart>72 65 73 70 61 72 74</e2nodeComponentResponsePart>
+                                            </e2nodeComponentConfiguration>
+                                        </E2nodeComponentConfigAddition-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </E2nodeComponentConfigAddition-List>
+                        </value>
+                    </E2setupRequestIEs>
+                </protocolIEs>
+            </E2setupRequest>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
diff --git a/E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_f1.xml b/E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_f1.xml
new file mode 100644 (file)
index 0000000..e8c7050
--- /dev/null
@@ -0,0 +1,125 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>1</procedureCode>
+        <criticality>
+            <reject/>
+        </criticality>
+        <value>
+            <E2setupRequest>
+                <protocolIEs>
+                    <E2setupRequestIEs>
+                        <id>49</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <TransactionID>1</TransactionID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>3</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <GlobalE2node-ID>
+                                <gNB>
+                                    <global-gNB-ID>
+                                        <plmn-id>02 F8 29</plmn-id>
+                                        <gnb-id>
+                                            <gnb-ID>001100000011000000110000</gnb-ID>
+                                        </gnb-id>
+                                    </global-gNB-ID>
+                                </gNB>
+                            </GlobalE2node-ID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>10</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <RANfunctions-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>1</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                790280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010000010108004D6573736167652054797065206F6E6C7901010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D7020010101010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D70200101010101010001010780436F6D706C657465206D657373616765010101010101
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>2</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                680300674E422D4E5254000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E332E330D80674E42204E65696768626F75722052656C6174696F6E205461626C6500010105804E6F74696669636174696F6E01010001010680436F6D706C657465207461626C650101000001058041646454696D657374616D70200101010100010107804E5254206D6F64696669636174696F6E010101010100
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>3</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                450280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010100010108004D6573736167652054797065206F6E6C79010100010108004D6573736167652041646D697373696F6E01020400010180514349310002018041525031000301805350494400040300552D5445494431400A05004C6F61645F6F666673657400
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </RANfunctions-List>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>50</id>
+                        <criticality><reject/></criticality>
+                        <value>
+                            <E2nodeComponentConfigAddition-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>51</id>
+                                    <criticality><reject/></criticality>
+                                    <value>
+                                        <E2nodeComponentConfigAddition-Item>
+                                            <e2nodeComponentInterfaceType><f1/></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeF1>
+                                                    <GNBDuId>0</GNBDuId>
+                                                </e2nodeComponentInterfaceTypeF1>
+                                            </e2nodeComponentID>
+                                            <e2nodeComponentConfiguration>
+                                                <e2nodeComponentRequestPart>72 65 71 70 61 72 74</e2nodeComponentRequestPart>
+                                                <e2nodeComponentResponsePart>72 65 73 70 61 72 74</e2nodeComponentResponsePart>
+                                            </e2nodeComponentConfiguration>
+                                        </E2nodeComponentConfigAddition-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </E2nodeComponentConfigAddition-List>
+                        </value>
+                    </E2setupRequestIEs>
+                </protocolIEs>
+            </E2setupRequest>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
diff --git a/E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_s1.xml b/E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_s1.xml
new file mode 100644 (file)
index 0000000..0b6d5be
--- /dev/null
@@ -0,0 +1,125 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>1</procedureCode>
+        <criticality>
+            <reject/>
+        </criticality>
+        <value>
+            <E2setupRequest>
+                <protocolIEs>
+                    <E2setupRequestIEs>
+                        <id>49</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <TransactionID>1</TransactionID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>3</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <GlobalE2node-ID>
+                                <gNB>
+                                    <global-gNB-ID>
+                                        <plmn-id>02 F8 29</plmn-id>
+                                        <gnb-id>
+                                            <gnb-ID>001100000011000000110000</gnb-ID>
+                                        </gnb-id>
+                                    </global-gNB-ID>
+                                </gNB>
+                            </GlobalE2node-ID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>10</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <RANfunctions-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>1</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                790280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010000010108004D6573736167652054797065206F6E6C7901010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D7020010101010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D70200101010101010001010780436F6D706C657465206D657373616765010101010101
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>2</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                680300674E422D4E5254000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E332E330D80674E42204E65696768626F75722052656C6174696F6E205461626C6500010105804E6F74696669636174696F6E01010001010680436F6D706C657465207461626C650101000001058041646454696D657374616D70200101010100010107804E5254206D6F64696669636174696F6E010101010100
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>3</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                450280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010100010108004D6573736167652054797065206F6E6C79010100010108004D6573736167652041646D697373696F6E01020400010180514349310002018041525031000301805350494400040300552D5445494431400A05004C6F61645F6F666673657400
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </RANfunctions-List>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>50</id>
+                        <criticality><reject/></criticality>
+                        <value>
+                            <E2nodeComponentConfigAddition-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>51</id>
+                                    <criticality><reject/></criticality>
+                                    <value>
+                                        <E2nodeComponentConfigAddition-Item>
+                                            <e2nodeComponentInterfaceType><s1/></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeS1>
+                                                    <MmeName> </MmeName>
+                                                </e2nodeComponentInterfaceTypeS1>
+                                            </e2nodeComponentID>
+                                            <e2nodeComponentConfiguration>
+                                                <e2nodeComponentRequestPart>72 65 71 70 61 72 74</e2nodeComponentRequestPart>
+                                                <e2nodeComponentResponsePart>72 65 73 70 61 72 74</e2nodeComponentResponsePart>
+                                            </e2nodeComponentConfiguration>
+                                        </E2nodeComponentConfigAddition-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </E2nodeComponentConfigAddition-List>
+                        </value>
+                    </E2setupRequestIEs>
+                </protocolIEs>
+            </E2setupRequest>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
diff --git a/E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_w1.xml b/E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_w1.xml
new file mode 100644 (file)
index 0000000..e4e7c39
--- /dev/null
@@ -0,0 +1,125 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>1</procedureCode>
+        <criticality>
+            <reject/>
+        </criticality>
+        <value>
+            <E2setupRequest>
+                <protocolIEs>
+                    <E2setupRequestIEs>
+                        <id>49</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <TransactionID>1</TransactionID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>3</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <GlobalE2node-ID>
+                                <gNB>
+                                    <global-gNB-ID>
+                                        <plmn-id>02 F8 29</plmn-id>
+                                        <gnb-id>
+                                            <gnb-ID>001100000011000000110000</gnb-ID>
+                                        </gnb-id>
+                                    </global-gNB-ID>
+                                </gNB>
+                            </GlobalE2node-ID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>10</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <RANfunctions-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>1</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                790280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010000010108004D6573736167652054797065206F6E6C7901010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D7020010101010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D70200101010101010001010780436F6D706C657465206D657373616765010101010101
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>2</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                680300674E422D4E5254000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E332E330D80674E42204E65696768626F75722052656C6174696F6E205461626C6500010105804E6F74696669636174696F6E01010001010680436F6D706C657465207461626C650101000001058041646454696D657374616D70200101010100010107804E5254206D6F64696669636174696F6E010101010100
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>3</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                450280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010100010108004D6573736167652054797065206F6E6C79010100010108004D6573736167652041646D697373696F6E01020400010180514349310002018041525031000301805350494400040300552D5445494431400A05004C6F61645F6F666673657400
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </RANfunctions-List>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>50</id>
+                        <criticality><reject/></criticality>
+                        <value>
+                            <E2nodeComponentConfigAddition-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>51</id>
+                                    <criticality><reject/></criticality>
+                                    <value>
+                                        <E2nodeComponentConfigAddition-Item>
+                                            <e2nodeComponentInterfaceType><w1/></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeW1>
+                                                    <NgenbDuId>0</NgenbDuId>
+                                                </e2nodeComponentInterfaceTypeW1>
+                                            </e2nodeComponentID>
+                                            <e2nodeComponentConfiguration>
+                                                <e2nodeComponentRequestPart>72 65 71 70 61 72 74</e2nodeComponentRequestPart>
+                                                <e2nodeComponentResponsePart>72 65 73 70 61 72 74</e2nodeComponentResponsePart>
+                                            </e2nodeComponentConfiguration>
+                                        </E2nodeComponentConfigAddition-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </E2nodeComponentConfigAddition-List>
+                        </value>
+                    </E2setupRequestIEs>
+                </protocolIEs>
+            </E2setupRequest>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
diff --git a/E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_x2enb.xml b/E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_x2enb.xml
new file mode 100644 (file)
index 0000000..3b7bf8a
--- /dev/null
@@ -0,0 +1,132 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>1</procedureCode>
+        <criticality>
+            <reject/>
+        </criticality>
+        <value>
+            <E2setupRequest>
+                <protocolIEs>
+                    <E2setupRequestIEs>
+                        <id>49</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <TransactionID>1</TransactionID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>3</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <GlobalE2node-ID>
+                                <gNB>
+                                    <global-gNB-ID>
+                                        <plmn-id>02 F8 29</plmn-id>
+                                        <gnb-id>
+                                            <gnb-ID>001100000011000000110000</gnb-ID>
+                                        </gnb-id>
+                                    </global-gNB-ID>
+                                </gNB>
+                            </GlobalE2node-ID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>10</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <RANfunctions-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>1</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                790280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010000010108004D6573736167652054797065206F6E6C7901010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D7020010101010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D70200101010101010001010780436F6D706C657465206D657373616765010101010101
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>2</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                680300674E422D4E5254000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E332E330D80674E42204E65696768626F75722052656C6174696F6E205461626C6500010105804E6F74696669636174696F6E01010001010680436F6D706C657465207461626C650101000001058041646454696D657374616D70200101010100010107804E5254206D6F64696669636174696F6E010101010100
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>3</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                450280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010100010108004D6573736167652054797065206F6E6C79010100010108004D6573736167652041646D697373696F6E01020400010180514349310002018041525031000301805350494400040300552D5445494431400A05004C6F61645F6F666673657400
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </RANfunctions-List>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>50</id>
+                        <criticality><reject/></criticality>
+                        <value>
+                            <E2nodeComponentConfigAddition-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>51</id>
+                                    <criticality><reject/></criticality>
+                                    <value>
+                                        <E2nodeComponentConfigAddition-Item>
+                                            <e2nodeComponentInterfaceType><x2/></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeX2>
+                                                    <global-eNB-ID>
+                                                              <pLMN-Identity>02 F8 29</pLMN-Identity>
+                                                              <eNB-ID>
+                                                                  <macro-eNB-ID>
+                                                                      00000001001000110100
+                                                                  </macro-eNB-ID>
+                                                              </eNB-ID>
+                                                    </global-eNB-ID>
+                                                </e2nodeComponentInterfaceTypeX2>
+                                            </e2nodeComponentID>
+                                            <e2nodeComponentConfiguration>
+                                                <e2nodeComponentRequestPart>72 65 71 70 61 72 74</e2nodeComponentRequestPart>
+                                                <e2nodeComponentResponsePart>72 65 73 70 61 72 74</e2nodeComponentResponsePart>
+                                            </e2nodeComponentConfiguration>
+                                        </E2nodeComponentConfigAddition-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </E2nodeComponentConfigAddition-List>
+                        </value>
+                    </E2setupRequestIEs>
+                </protocolIEs>
+            </E2setupRequest>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
diff --git a/E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_x2gnb.xml b/E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_x2gnb.xml
new file mode 100644 (file)
index 0000000..9d60a28
--- /dev/null
@@ -0,0 +1,130 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>1</procedureCode>
+        <criticality>
+            <reject/>
+        </criticality>
+        <value>
+            <E2setupRequest>
+                <protocolIEs>
+                    <E2setupRequestIEs>
+                        <id>49</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <TransactionID>1</TransactionID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>3</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <GlobalE2node-ID>
+                                <gNB>
+                                    <global-gNB-ID>
+                                        <plmn-id>02 F8 29</plmn-id>
+                                        <gnb-id>
+                                            <gnb-ID>001100000011000000110000</gnb-ID>
+                                        </gnb-id>
+                                    </global-gNB-ID>
+                                </gNB>
+                            </GlobalE2node-ID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>10</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <RANfunctions-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>1</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                790280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010000010108004D6573736167652054797065206F6E6C7901010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D7020010101010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D70200101010101010001010780436F6D706C657465206D657373616765010101010101
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>2</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                680300674E422D4E5254000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E332E330D80674E42204E65696768626F75722052656C6174696F6E205461626C6500010105804E6F74696669636174696F6E01010001010680436F6D706C657465207461626C650101000001058041646454696D657374616D70200101010100010107804E5254206D6F64696669636174696F6E010101010100
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>3</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                450280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010100010108004D6573736167652054797065206F6E6C79010100010108004D6573736167652041646D697373696F6E01020400010180514349310002018041525031000301805350494400040300552D5445494431400A05004C6F61645F6F666673657400
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </RANfunctions-List>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>50</id>
+                        <criticality><reject/></criticality>
+                        <value>
+                            <E2nodeComponentConfigAddition-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>51</id>
+                                    <criticality><reject/></criticality>
+                                    <value>
+                                        <E2nodeComponentConfigAddition-Item>
+                                            <e2nodeComponentInterfaceType><x2/></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeX2>
+                                                    <global-en-gNB-ID>
+                                                            <pLMN-Identity>02 F8 29</pLMN-Identity>
+                                                                <gnb-ID>
+                                                                    000000000001001000110100
+                                                                </gnb-ID>
+                                                        </global-en-gNB-ID>
+                                                </e2nodeComponentInterfaceTypeX2>
+                                            </e2nodeComponentID>
+                                            <e2nodeComponentConfiguration>
+                                                <e2nodeComponentRequestPart>72 65 71 70 61 72 74</e2nodeComponentRequestPart>
+                                                <e2nodeComponentResponsePart>72 65 73 70 61 72 74</e2nodeComponentResponsePart>
+                                            </e2nodeComponentConfiguration>
+                                        </E2nodeComponentConfigAddition-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </E2nodeComponentConfigAddition-List>
+                        </value>
+                    </E2setupRequestIEs>
+                </protocolIEs>
+            </E2setupRequest>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
diff --git a/E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_xnenb.xml b/E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_xnenb.xml
new file mode 100644 (file)
index 0000000..6037927
--- /dev/null
@@ -0,0 +1,134 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>1</procedureCode>
+        <criticality>
+            <reject/>
+        </criticality>
+        <value>
+            <E2setupRequest>
+                <protocolIEs>
+                    <E2setupRequestIEs>
+                        <id>49</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <TransactionID>1</TransactionID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>3</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <GlobalE2node-ID>
+                                <gNB>
+                                    <global-gNB-ID>
+                                        <plmn-id>02 F8 29</plmn-id>
+                                        <gnb-id>
+                                            <gnb-ID>001100000011000000110000</gnb-ID>
+                                        </gnb-id>
+                                    </global-gNB-ID>
+                                </gNB>
+                            </GlobalE2node-ID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>10</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <RANfunctions-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>1</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                790280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010000010108004D6573736167652054797065206F6E6C7901010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D7020010101010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D70200101010101010001010780436F6D706C657465206D657373616765010101010101
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>2</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                680300674E422D4E5254000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E332E330D80674E42204E65696768626F75722052656C6174696F6E205461626C6500010105804E6F74696669636174696F6E01010001010680436F6D706C657465207461626C650101000001058041646454696D657374616D70200101010100010107804E5254206D6F64696669636174696F6E010101010100
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>3</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                450280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010100010108004D6573736167652054797065206F6E6C79010100010108004D6573736167652041646D697373696F6E01020400010180514349310002018041525031000301805350494400040300552D5445494431400A05004C6F61645F6F666673657400
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </RANfunctions-List>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>50</id>
+                        <criticality><reject/></criticality>
+                        <value>
+                            <E2nodeComponentConfigAddition-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>51</id>
+                                    <criticality><reject/></criticality>
+                                    <value>
+                                        <E2nodeComponentConfigAddition-Item>
+                                            <e2nodeComponentInterfaceType><xn/></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeXn>
+                                                    <global-NG-RAN-Node-ID>
+                                                          <ng-eNB>
+                                                              <plmn-id>02 F8 29</plmn-id>
+                                                              <enb-id>
+                                                                  <enb-ID-macro>
+                                                                      00000001001000110100
+                                                                  </enb-ID-macro>
+                                                              </enb-id>
+                                                          </ng-eNB>
+                                                    </global-NG-RAN-Node-ID>
+                                                </e2nodeComponentInterfaceTypeXn>
+                                            </e2nodeComponentID>
+                                            <e2nodeComponentConfiguration>
+                                                <e2nodeComponentRequestPart>72 65 71 70 61 72 74</e2nodeComponentRequestPart>
+                                                <e2nodeComponentResponsePart>72 65 73 70 61 72 74</e2nodeComponentResponsePart>
+                                            </e2nodeComponentConfiguration>
+                                        </E2nodeComponentConfigAddition-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </E2nodeComponentConfigAddition-List>
+                        </value>
+                    </E2setupRequestIEs>
+                </protocolIEs>
+            </E2setupRequest>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
diff --git a/E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_xngnb.xml b/E2Manager/tests/resources/setupRequest/setupRequest_gnb_inttype_xngnb.xml
new file mode 100644 (file)
index 0000000..fb27358
--- /dev/null
@@ -0,0 +1,134 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>1</procedureCode>
+        <criticality>
+            <reject/>
+        </criticality>
+        <value>
+            <E2setupRequest>
+                <protocolIEs>
+                    <E2setupRequestIEs>
+                        <id>49</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <TransactionID>1</TransactionID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>3</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <GlobalE2node-ID>
+                                <gNB>
+                                    <global-gNB-ID>
+                                        <plmn-id>02 F8 29</plmn-id>
+                                        <gnb-id>
+                                            <gnb-ID>001100000011000000110000</gnb-ID>
+                                        </gnb-id>
+                                    </global-gNB-ID>
+                                </gNB>
+                            </GlobalE2node-ID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>10</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <RANfunctions-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>1</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                790280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010000010108004D6573736167652054797065206F6E6C7901010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D7020010101010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D70200101010101010001010780436F6D706C657465206D657373616765010101010101
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>2</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                680300674E422D4E5254000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E332E330D80674E42204E65696768626F75722052656C6174696F6E205461626C6500010105804E6F74696669636174696F6E01010001010680436F6D706C657465207461626C650101000001058041646454696D657374616D70200101010100010107804E5254206D6F64696669636174696F6E010101010100
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                                <ProtocolIE-SingleContainer>
+                                    <id>8</id>
+                                    <criticality>
+                                        <ignore/>
+                                    </criticality>
+                                    <value>
+                                        <RANfunction-Item>
+                                            <ranFunctionID>3</ranFunctionID>
+                                            <ranFunctionDefinition>
+                                                450280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010100010108004D6573736167652054797065206F6E6C79010100010108004D6573736167652041646D697373696F6E01020400010180514349310002018041525031000301805350494400040300552D5445494431400A05004C6F61645F6F666673657400
+                                            </ranFunctionDefinition>
+                                            <ranFunctionRevision>1</ranFunctionRevision>
+                                            <ranFunctionOID>OID123</ranFunctionOID>
+                                        </RANfunction-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </RANfunctions-List>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>
+                        <id>50</id>
+                        <criticality><reject/></criticality>
+                        <value>
+                            <E2nodeComponentConfigAddition-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>51</id>
+                                    <criticality><reject/></criticality>
+                                    <value>
+                                        <E2nodeComponentConfigAddition-Item>
+                                            <e2nodeComponentInterfaceType><xn/></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeXn>
+                                                    <global-NG-RAN-Node-ID>
+                                                        <gNB>
+                                                            <plmn-id>02 F8 29</plmn-id>
+                                                            <gnb-id>
+                                                                <gnb-ID>
+                                                                    000000000001001000110100
+                                                                </gnb-ID>
+                                                            </gnb-id>
+                                                        </gNB>
+                                                    </global-NG-RAN-Node-ID>
+                                                </e2nodeComponentInterfaceTypeXn>
+                                            </e2nodeComponentID>
+                                            <e2nodeComponentConfiguration>
+                                                <e2nodeComponentRequestPart>72 65 71 70 61 72 74</e2nodeComponentRequestPart>
+                                                <e2nodeComponentResponsePart>72 65 73 70 61 72 74</e2nodeComponentResponsePart>
+                                            </e2nodeComponentConfiguration>
+                                        </E2nodeComponentConfigAddition-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </E2nodeComponentConfigAddition-List>
+                        </value>
+                    </E2setupRequestIEs>
+                </protocolIEs>
+            </E2setupRequest>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
diff --git a/E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_e1.xml b/E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_e1.xml
new file mode 100644 (file)
index 0000000..67ab9b4
--- /dev/null
@@ -0,0 +1,143 @@
+<E2AP-PDU>\r
+    <initiatingMessage>\r
+        <procedureCode>1</procedureCode>\r
+        <criticality>\r
+            <reject/>\r
+        </criticality>\r
+        <value>\r
+            <E2setupRequest>\r
+                <protocolIEs>\r
+                    <E2setupRequestIEs>
+                        <id>49</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <TransactionID>1</TransactionID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>\r
+                        <id>3</id>\r
+                        <criticality>\r
+                            <reject/>\r
+                        </criticality>\r
+                        <value>\r
+                            <GlobalE2node-ID>\r
+                                <gNB>\r
+                                    <global-gNB-ID>\r
+                                        <plmn-id>02 F8 29</plmn-id>\r
+                                        <gnb-id>\r
+                                            <gnb-ID>001100000011000000110000</gnb-ID>\r
+                                        </gnb-id>\r
+                                    </global-gNB-ID>\r
+                                </gNB>\r
+                            </GlobalE2node-ID>\r
+                        </value>\r
+                    </E2setupRequestIEs>\r
+                    <E2setupRequestIEs>\r
+                        <id>10</id>\r
+                        <criticality>\r
+                            <reject/>\r
+                        </criticality>\r
+                        <value>\r
+                            <RANfunctions-List>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>1</ranFunctionID>\r
+                                            <ranFunctionDefinition>\r
+                                                790280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010000010108004D6573736167652054797065206F6E6C7901010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D7020010101010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D70200101010101010001010780436F6D706C657465206D657373616765010101010101\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                            <ranFunctionOID>OID123</ranFunctionOID>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>2</ranFunctionID>\r
+                                            <ranFunctionOID>OID124</ranFunctionOID>\r
+                                            <ranFunctionDefinition>\r
+                                                680300674E422D4E5254000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E332E330D80674E42204E65696768626F75722052656C6174696F6E205461626C6500010105804E6F74696669636174696F6E01010001010680436F6D706C657465207461626C650101000001058041646454696D657374616D70200101010100010107804E5254206D6F64696669636174696F6E010101010100\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>3</ranFunctionID>\r
+                                            <ranFunctionOID>OID125</ranFunctionOID>\r
+                                            <ranFunctionDefinition>\r
+                                                450280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010100010108004D6573736167652054797065206F6E6C79010100010108004D6573736167652041646D697373696F6E01020400010180514349310002018041525031000301805350494400040300552D5445494431400A05004C6F61645F6F666673657400\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                            </RANfunctions-List>\r
+                        </value>\r
+                    </E2setupRequestIEs>\r
+                    <E2setupRequestIEs>
+                        <id>50</id>
+                        <criticality><reject/></criticality>
+                        <value>
+                            <E2nodeComponentConfigAddition-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>51</id>
+                                    <criticality><reject/></criticality>
+                                    <value>
+                                        <E2nodeComponentConfigAddition-Item>
+                                            <e2nodeComponentInterfaceType><e1/></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeE1>
+                                                    <GNBCuCpId>0</GNBCuCpId>
+                                                </e2nodeComponentInterfaceTypeE1>
+                                            </e2nodeComponentID>
+                                            <e2nodeComponentConfiguration>
+                                                <e2nodeComponentRequestPart>72 65 71 70 61 72 74</e2nodeComponentRequestPart>
+                                                <e2nodeComponentResponsePart>72 65 73 70 61 72 74</e2nodeComponentResponsePart>
+                                            </e2nodeComponentConfiguration>
+                                        </E2nodeComponentConfigAddition-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                                <ProtocolIE-SingleContainer>
+                                    <id>51</id>
+                                    <criticality><reject/></criticality>
+                                    <value>
+                                        <E2nodeComponentConfigAddition-Item>
+                                            <e2nodeComponentInterfaceType><e1/></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeE1>
+                                                    <GNBCuCpId>0</GNBCuCpId>
+                                                </e2nodeComponentInterfaceTypeE1>
+                                            </e2nodeComponentID>
+                                            <e2nodeComponentConfiguration>
+                                                <e2nodeComponentRequestPart>72 65 71 70 61 72 74</e2nodeComponentRequestPart>
+                                                <e2nodeComponentResponsePart>72 65 73 70 61 72 74</e2nodeComponentResponsePart>
+                                            </e2nodeComponentConfiguration>
+                                        </E2nodeComponentConfigAddition-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </E2nodeComponentConfigAddition-List>
+                        </value>
+                    </E2setupRequestIEs>
+                </protocolIEs>\r
+            </E2setupRequest>\r
+        </value>\r
+    </initiatingMessage>\r
+</E2AP-PDU>\r
diff --git a/E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_f1.xml b/E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_f1.xml
new file mode 100644 (file)
index 0000000..b6cf8fc
--- /dev/null
@@ -0,0 +1,143 @@
+<E2AP-PDU>\r
+    <initiatingMessage>\r
+        <procedureCode>1</procedureCode>\r
+        <criticality>\r
+            <reject/>\r
+        </criticality>\r
+        <value>\r
+            <E2setupRequest>\r
+                <protocolIEs>\r
+                    <E2setupRequestIEs>
+                        <id>49</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <TransactionID>1</TransactionID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>\r
+                        <id>3</id>\r
+                        <criticality>\r
+                            <reject/>\r
+                        </criticality>\r
+                        <value>\r
+                            <GlobalE2node-ID>\r
+                                <gNB>\r
+                                    <global-gNB-ID>\r
+                                        <plmn-id>02 F8 29</plmn-id>\r
+                                        <gnb-id>\r
+                                            <gnb-ID>001100000011000000110000</gnb-ID>\r
+                                        </gnb-id>\r
+                                    </global-gNB-ID>\r
+                                </gNB>\r
+                            </GlobalE2node-ID>\r
+                        </value>\r
+                    </E2setupRequestIEs>\r
+                    <E2setupRequestIEs>\r
+                        <id>10</id>\r
+                        <criticality>\r
+                            <reject/>\r
+                        </criticality>\r
+                        <value>\r
+                            <RANfunctions-List>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>1</ranFunctionID>\r
+                                            <ranFunctionDefinition>\r
+                                                790280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010000010108004D6573736167652054797065206F6E6C7901010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D7020010101010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D70200101010101010001010780436F6D706C657465206D657373616765010101010101\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                            <ranFunctionOID>OID123</ranFunctionOID>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>2</ranFunctionID>\r
+                                            <ranFunctionOID>OID124</ranFunctionOID>\r
+                                            <ranFunctionDefinition>\r
+                                                680300674E422D4E5254000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E332E330D80674E42204E65696768626F75722052656C6174696F6E205461626C6500010105804E6F74696669636174696F6E01010001010680436F6D706C657465207461626C650101000001058041646454696D657374616D70200101010100010107804E5254206D6F64696669636174696F6E010101010100\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>3</ranFunctionID>\r
+                                            <ranFunctionOID>OID125</ranFunctionOID>\r
+                                            <ranFunctionDefinition>\r
+                                                450280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010100010108004D6573736167652054797065206F6E6C79010100010108004D6573736167652041646D697373696F6E01020400010180514349310002018041525031000301805350494400040300552D5445494431400A05004C6F61645F6F666673657400\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                            </RANfunctions-List>\r
+                        </value>\r
+                    </E2setupRequestIEs>\r
+                    <E2setupRequestIEs>
+                        <id>50</id>
+                        <criticality><reject/></criticality>
+                        <value>
+                            <E2nodeComponentConfigAddition-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>51</id>
+                                    <criticality><reject/></criticality>
+                                    <value>
+                                        <E2nodeComponentConfigAddition-Item>
+                                            <e2nodeComponentInterfaceType><f1/></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeF1>
+                                                    <GNBDuId>0</GNBDuId>
+                                                </e2nodeComponentInterfaceTypeF1>
+                                            </e2nodeComponentID>
+                                            <e2nodeComponentConfiguration>
+                                                <e2nodeComponentRequestPart>72 65 71 70 61 72 74</e2nodeComponentRequestPart>
+                                                <e2nodeComponentResponsePart>72 65 73 70 61 72 74</e2nodeComponentResponsePart>
+                                            </e2nodeComponentConfiguration>
+                                        </E2nodeComponentConfigAddition-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                                <ProtocolIE-SingleContainer>
+                                    <id>51</id>
+                                    <criticality><reject/></criticality>
+                                    <value>
+                                        <E2nodeComponentConfigAddition-Item>
+                                            <e2nodeComponentInterfaceType><f1/></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeF1>
+                                                    <GNBDuId>0</GNBDuId>
+                                                </e2nodeComponentInterfaceTypeF1>
+                                            </e2nodeComponentID>
+                                            <e2nodeComponentConfiguration>
+                                                <e2nodeComponentRequestPart>72 65 71 70 61 72 74</e2nodeComponentRequestPart>
+                                                <e2nodeComponentResponsePart>72 65 73 70 61 72 74</e2nodeComponentResponsePart>
+                                            </e2nodeComponentConfiguration>
+                                        </E2nodeComponentConfigAddition-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </E2nodeComponentConfigAddition-List>
+                        </value>
+                    </E2setupRequestIEs>
+                </protocolIEs>\r
+            </E2setupRequest>\r
+        </value>\r
+    </initiatingMessage>\r
+</E2AP-PDU>\r
diff --git a/E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_s1.xml b/E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_s1.xml
new file mode 100644 (file)
index 0000000..5d9e611
--- /dev/null
@@ -0,0 +1,143 @@
+<E2AP-PDU>\r
+    <initiatingMessage>\r
+        <procedureCode>1</procedureCode>\r
+        <criticality>\r
+            <reject/>\r
+        </criticality>\r
+        <value>\r
+            <E2setupRequest>\r
+                <protocolIEs>\r
+                    <E2setupRequestIEs>
+                        <id>49</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <TransactionID>1</TransactionID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>\r
+                        <id>3</id>\r
+                        <criticality>\r
+                            <reject/>\r
+                        </criticality>\r
+                        <value>\r
+                            <GlobalE2node-ID>\r
+                                <gNB>\r
+                                    <global-gNB-ID>\r
+                                        <plmn-id>02 F8 29</plmn-id>\r
+                                        <gnb-id>\r
+                                            <gnb-ID>001100000011000000110000</gnb-ID>\r
+                                        </gnb-id>\r
+                                    </global-gNB-ID>\r
+                                </gNB>\r
+                            </GlobalE2node-ID>\r
+                        </value>\r
+                    </E2setupRequestIEs>\r
+                    <E2setupRequestIEs>\r
+                        <id>10</id>\r
+                        <criticality>\r
+                            <reject/>\r
+                        </criticality>\r
+                        <value>\r
+                            <RANfunctions-List>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>1</ranFunctionID>\r
+                                            <ranFunctionDefinition>\r
+                                                790280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010000010108004D6573736167652054797065206F6E6C7901010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D7020010101010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D70200101010101010001010780436F6D706C657465206D657373616765010101010101\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                            <ranFunctionOID>OID123</ranFunctionOID>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>2</ranFunctionID>\r
+                                            <ranFunctionOID>OID124</ranFunctionOID>\r
+                                            <ranFunctionDefinition>\r
+                                                680300674E422D4E5254000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E332E330D80674E42204E65696768626F75722052656C6174696F6E205461626C6500010105804E6F74696669636174696F6E01010001010680436F6D706C657465207461626C650101000001058041646454696D657374616D70200101010100010107804E5254206D6F64696669636174696F6E010101010100\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>3</ranFunctionID>\r
+                                            <ranFunctionOID>OID125</ranFunctionOID>\r
+                                            <ranFunctionDefinition>\r
+                                                450280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010100010108004D6573736167652054797065206F6E6C79010100010108004D6573736167652041646D697373696F6E01020400010180514349310002018041525031000301805350494400040300552D5445494431400A05004C6F61645F6F666673657400\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                            </RANfunctions-List>\r
+                        </value>\r
+                    </E2setupRequestIEs>\r
+                    <E2setupRequestIEs>
+                        <id>50</id>
+                        <criticality><reject/></criticality>
+                        <value>
+                            <E2nodeComponentConfigAddition-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>51</id>
+                                    <criticality><reject/></criticality>
+                                    <value>
+                                        <E2nodeComponentConfigAddition-Item>
+                                            <e2nodeComponentInterfaceType><s1/></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeS1>
+                                                    <MmeName> </MmeName>
+                                                </e2nodeComponentInterfaceTypeS1>
+                                            </e2nodeComponentID>
+                                            <e2nodeComponentConfiguration>
+                                                <e2nodeComponentRequestPart>72 65 71 70 61 72 74</e2nodeComponentRequestPart>
+                                                <e2nodeComponentResponsePart>72 65 73 70 61 72 74</e2nodeComponentResponsePart>
+                                            </e2nodeComponentConfiguration>
+                                        </E2nodeComponentConfigAddition-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                                <ProtocolIE-SingleContainer>
+                                    <id>51</id>
+                                    <criticality><reject/></criticality>
+                                    <value>
+                                        <E2nodeComponentConfigAddition-Item>
+                                            <e2nodeComponentInterfaceType><s1/></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeS1>
+                                                    <MmeName> </MmeName>
+                                                </e2nodeComponentInterfaceTypeS1>
+                                            </e2nodeComponentID>
+                                            <e2nodeComponentConfiguration>
+                                                <e2nodeComponentRequestPart>72 65 71 70 61 72 74</e2nodeComponentRequestPart>
+                                                <e2nodeComponentResponsePart>72 65 73 70 61 72 74</e2nodeComponentResponsePart>
+                                            </e2nodeComponentConfiguration>
+                                        </E2nodeComponentConfigAddition-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </E2nodeComponentConfigAddition-List>
+                        </value>
+                    </E2setupRequestIEs>
+                </protocolIEs>\r
+            </E2setupRequest>\r
+        </value>\r
+    </initiatingMessage>\r
+</E2AP-PDU>\r
diff --git a/E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_w1.xml b/E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_w1.xml
new file mode 100644 (file)
index 0000000..7384b48
--- /dev/null
@@ -0,0 +1,143 @@
+<E2AP-PDU>\r
+    <initiatingMessage>\r
+        <procedureCode>1</procedureCode>\r
+        <criticality>\r
+            <reject/>\r
+        </criticality>\r
+        <value>\r
+            <E2setupRequest>\r
+                <protocolIEs>\r
+                    <E2setupRequestIEs>
+                        <id>49</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <TransactionID>1</TransactionID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>\r
+                        <id>3</id>\r
+                        <criticality>\r
+                            <reject/>\r
+                        </criticality>\r
+                        <value>\r
+                            <GlobalE2node-ID>\r
+                                <gNB>\r
+                                    <global-gNB-ID>\r
+                                        <plmn-id>02 F8 29</plmn-id>\r
+                                        <gnb-id>\r
+                                            <gnb-ID>001100000011000000110000</gnb-ID>\r
+                                        </gnb-id>\r
+                                    </global-gNB-ID>\r
+                                </gNB>\r
+                            </GlobalE2node-ID>\r
+                        </value>\r
+                    </E2setupRequestIEs>\r
+                    <E2setupRequestIEs>\r
+                        <id>10</id>\r
+                        <criticality>\r
+                            <reject/>\r
+                        </criticality>\r
+                        <value>\r
+                            <RANfunctions-List>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>1</ranFunctionID>\r
+                                            <ranFunctionDefinition>\r
+                                                790280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010000010108004D6573736167652054797065206F6E6C7901010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D7020010101010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D70200101010101010001010780436F6D706C657465206D657373616765010101010101\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                            <ranFunctionOID>OID123</ranFunctionOID>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>2</ranFunctionID>\r
+                                            <ranFunctionOID>OID124</ranFunctionOID>\r
+                                            <ranFunctionDefinition>\r
+                                                680300674E422D4E5254000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E332E330D80674E42204E65696768626F75722052656C6174696F6E205461626C6500010105804E6F74696669636174696F6E01010001010680436F6D706C657465207461626C650101000001058041646454696D657374616D70200101010100010107804E5254206D6F64696669636174696F6E010101010100\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>3</ranFunctionID>\r
+                                            <ranFunctionOID>OID125</ranFunctionOID>\r
+                                            <ranFunctionDefinition>\r
+                                                450280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010100010108004D6573736167652054797065206F6E6C79010100010108004D6573736167652041646D697373696F6E01020400010180514349310002018041525031000301805350494400040300552D5445494431400A05004C6F61645F6F666673657400\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                            </RANfunctions-List>\r
+                        </value>\r
+                    </E2setupRequestIEs>\r
+                    <E2setupRequestIEs>
+                        <id>50</id>
+                        <criticality><reject/></criticality>
+                        <value>
+                            <E2nodeComponentConfigAddition-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>51</id>
+                                    <criticality><reject/></criticality>
+                                    <value>
+                                        <E2nodeComponentConfigAddition-Item>
+                                            <e2nodeComponentInterfaceType><w1/></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeW1>
+                                                    <NgenbDuId>0</NgenbDuId>
+                                                </e2nodeComponentInterfaceTypeW1>
+                                            </e2nodeComponentID>
+                                            <e2nodeComponentConfiguration>
+                                                <e2nodeComponentRequestPart>72 65 71 70 61 72 74</e2nodeComponentRequestPart>
+                                                <e2nodeComponentResponsePart>72 65 73 70 61 72 74</e2nodeComponentResponsePart>
+                                            </e2nodeComponentConfiguration>
+                                        </E2nodeComponentConfigAddition-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                                <ProtocolIE-SingleContainer>
+                                    <id>51</id>
+                                    <criticality><reject/></criticality>
+                                    <value>
+                                        <E2nodeComponentConfigAddition-Item>
+                                            <e2nodeComponentInterfaceType><w1/></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeW1>
+                                                    <NgenbDuId>0</NgenbDuId>
+                                                </e2nodeComponentInterfaceTypeW1>
+                                            </e2nodeComponentID>
+                                            <e2nodeComponentConfiguration>
+                                                <e2nodeComponentRequestPart>72 65 71 70 61 72 74</e2nodeComponentRequestPart>
+                                                <e2nodeComponentResponsePart>72 65 73 70 61 72 74</e2nodeComponentResponsePart>
+                                            </e2nodeComponentConfiguration>
+                                        </E2nodeComponentConfigAddition-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </E2nodeComponentConfigAddition-List>
+                        </value>
+                    </E2setupRequestIEs>
+                </protocolIEs>\r
+            </E2setupRequest>\r
+        </value>\r
+    </initiatingMessage>\r
+</E2AP-PDU>\r
diff --git a/E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_x2enb.xml b/E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_x2enb.xml
new file mode 100644 (file)
index 0000000..81e29df
--- /dev/null
@@ -0,0 +1,132 @@
+<E2AP-PDU>\r
+    <initiatingMessage>\r
+        <procedureCode>1</procedureCode>\r
+        <criticality>\r
+            <reject/>\r
+        </criticality>\r
+        <value>\r
+            <E2setupRequest>\r
+                <protocolIEs>\r
+                    <E2setupRequestIEs>
+                        <id>49</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <TransactionID>1</TransactionID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>\r
+                        <id>3</id>\r
+                        <criticality>\r
+                            <reject/>\r
+                        </criticality>\r
+                        <value>\r
+                            <GlobalE2node-ID>\r
+                                <gNB>\r
+                                    <global-gNB-ID>\r
+                                        <plmn-id>02 F8 29</plmn-id>\r
+                                        <gnb-id>\r
+                                            <gnb-ID>001100000011000000110000</gnb-ID>\r
+                                        </gnb-id>\r
+                                    </global-gNB-ID>\r
+                                </gNB>\r
+                            </GlobalE2node-ID>\r
+                        </value>\r
+                    </E2setupRequestIEs>\r
+                    <E2setupRequestIEs>\r
+                        <id>10</id>\r
+                        <criticality>\r
+                            <reject/>\r
+                        </criticality>\r
+                        <value>\r
+                            <RANfunctions-List>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>1</ranFunctionID>\r
+                                            <ranFunctionDefinition>\r
+                                                790280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010000010108004D6573736167652054797065206F6E6C7901010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D7020010101010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D70200101010101010001010780436F6D706C657465206D657373616765010101010101\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                            <ranFunctionOID>OID123</ranFunctionOID>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>2</ranFunctionID>\r
+                                            <ranFunctionOID>OID124</ranFunctionOID>\r
+                                            <ranFunctionDefinition>\r
+                                                680300674E422D4E5254000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E332E330D80674E42204E65696768626F75722052656C6174696F6E205461626C6500010105804E6F74696669636174696F6E01010001010680436F6D706C657465207461626C650101000001058041646454696D657374616D70200101010100010107804E5254206D6F64696669636174696F6E010101010100\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>3</ranFunctionID>\r
+                                            <ranFunctionOID>OID125</ranFunctionOID>\r
+                                            <ranFunctionDefinition>\r
+                                                450280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010100010108004D6573736167652054797065206F6E6C79010100010108004D6573736167652041646D697373696F6E01020400010180514349310002018041525031000301805350494400040300552D5445494431400A05004C6F61645F6F666673657400\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                            </RANfunctions-List>\r
+                        </value>\r
+                    </E2setupRequestIEs>\r
+                    <E2setupRequestIEs>
+                        <id>50</id>
+                        <criticality><reject/></criticality>
+                        <value>
+                            <E2nodeComponentConfigAddition-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>51</id>
+                                    <criticality><reject/></criticality>
+                                    <value>
+                                        <E2nodeComponentConfigAddition-Item>
+                                            <e2nodeComponentInterfaceType><x2/></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeX2>
+                                                     <global-eNB-ID>
+                                                         <pLMN-Identity>02 F8 29</pLMN-Identity>
+                                                         <eNB-ID>
+                                                             <macro-eNB-ID>
+                                                                 00000001001000110100
+                                                             </macro-eNB-ID>
+                                                         </eNB-ID>
+                                                     </global-eNB-ID>
+                                                </e2nodeComponentInterfaceTypeX2>
+                                            </e2nodeComponentID>
+                                            <e2nodeComponentConfiguration>
+                                                <e2nodeComponentRequestPart>72 65 71 70 61 72 74</e2nodeComponentRequestPart>
+                                                <e2nodeComponentResponsePart>72 65 73 70 61 72 74</e2nodeComponentResponsePart>
+                                            </e2nodeComponentConfiguration>
+                                        </E2nodeComponentConfigAddition-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </E2nodeComponentConfigAddition-List>
+                        </value>
+                    </E2setupRequestIEs>
+                </protocolIEs>\r
+            </E2setupRequest>\r
+        </value>\r
+    </initiatingMessage>\r
+</E2AP-PDU>\r
diff --git a/E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_x2gnb.xml b/E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_x2gnb.xml
new file mode 100644 (file)
index 0000000..cb95127
--- /dev/null
@@ -0,0 +1,130 @@
+<E2AP-PDU>\r
+    <initiatingMessage>\r
+        <procedureCode>1</procedureCode>\r
+        <criticality>\r
+            <reject/>\r
+        </criticality>\r
+        <value>\r
+            <E2setupRequest>\r
+                <protocolIEs>\r
+                    <E2setupRequestIEs>
+                        <id>49</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <TransactionID>1</TransactionID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>\r
+                        <id>3</id>\r
+                        <criticality>\r
+                            <reject/>\r
+                        </criticality>\r
+                        <value>\r
+                            <GlobalE2node-ID>\r
+                                <gNB>\r
+                                    <global-gNB-ID>\r
+                                        <plmn-id>02 F8 29</plmn-id>\r
+                                        <gnb-id>\r
+                                            <gnb-ID>001100000011000000110000</gnb-ID>\r
+                                        </gnb-id>\r
+                                    </global-gNB-ID>\r
+                                </gNB>\r
+                            </GlobalE2node-ID>\r
+                        </value>\r
+                    </E2setupRequestIEs>\r
+                    <E2setupRequestIEs>\r
+                        <id>10</id>\r
+                        <criticality>\r
+                            <reject/>\r
+                        </criticality>\r
+                        <value>\r
+                            <RANfunctions-List>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>1</ranFunctionID>\r
+                                            <ranFunctionDefinition>\r
+                                                790280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010000010108004D6573736167652054797065206F6E6C7901010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D7020010101010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D70200101010101010001010780436F6D706C657465206D657373616765010101010101\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                            <ranFunctionOID>OID123</ranFunctionOID>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>2</ranFunctionID>\r
+                                            <ranFunctionOID>OID124</ranFunctionOID>\r
+                                            <ranFunctionDefinition>\r
+                                                680300674E422D4E5254000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E332E330D80674E42204E65696768626F75722052656C6174696F6E205461626C6500010105804E6F74696669636174696F6E01010001010680436F6D706C657465207461626C650101000001058041646454696D657374616D70200101010100010107804E5254206D6F64696669636174696F6E010101010100\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>3</ranFunctionID>\r
+                                            <ranFunctionOID>OID125</ranFunctionOID>\r
+                                            <ranFunctionDefinition>\r
+                                                450280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010100010108004D6573736167652054797065206F6E6C79010100010108004D6573736167652041646D697373696F6E01020400010180514349310002018041525031000301805350494400040300552D5445494431400A05004C6F61645F6F666673657400\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                            </RANfunctions-List>\r
+                        </value>\r
+                    </E2setupRequestIEs>\r
+                    <E2setupRequestIEs>
+                        <id>50</id>
+                        <criticality><reject/></criticality>
+                        <value>
+                            <E2nodeComponentConfigAddition-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>51</id>
+                                    <criticality><reject/></criticality>
+                                    <value>
+                                        <E2nodeComponentConfigAddition-Item>
+                                            <e2nodeComponentInterfaceType><x2/></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeX2>
+                                                    <global-en-gNB-ID>
+                                                        <pLMN-Identity>02 F8 29</pLMN-Identity>
+                                                        <gnb-ID>
+                                                            000000000001001000110100
+                                                        </gnb-ID>
+                                                    </global-en-gNB-ID>
+                                                </e2nodeComponentInterfaceTypeX2>
+                                            </e2nodeComponentID>
+                                            <e2nodeComponentConfiguration>
+                                                <e2nodeComponentRequestPart>72 65 71 70 61 72 74</e2nodeComponentRequestPart>
+                                                <e2nodeComponentResponsePart>72 65 73 70 61 72 74</e2nodeComponentResponsePart>
+                                            </e2nodeComponentConfiguration>
+                                        </E2nodeComponentConfigAddition-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </E2nodeComponentConfigAddition-List>
+                        </value>
+                    </E2setupRequestIEs>
+                </protocolIEs>\r
+            </E2setupRequest>\r
+        </value>\r
+    </initiatingMessage>\r
+</E2AP-PDU>\r
diff --git a/E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_xnenb.xml b/E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_xnenb.xml
new file mode 100644 (file)
index 0000000..ec5fb36
--- /dev/null
@@ -0,0 +1,134 @@
+<E2AP-PDU>\r
+    <initiatingMessage>\r
+        <procedureCode>1</procedureCode>\r
+        <criticality>\r
+            <reject/>\r
+        </criticality>\r
+        <value>\r
+            <E2setupRequest>\r
+                <protocolIEs>\r
+                    <E2setupRequestIEs>
+                        <id>49</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <TransactionID>1</TransactionID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>\r
+                        <id>3</id>\r
+                        <criticality>\r
+                            <reject/>\r
+                        </criticality>\r
+                        <value>\r
+                            <GlobalE2node-ID>\r
+                                <gNB>\r
+                                    <global-gNB-ID>\r
+                                        <plmn-id>02 F8 29</plmn-id>\r
+                                        <gnb-id>\r
+                                            <gnb-ID>001100000011000000110000</gnb-ID>\r
+                                        </gnb-id>\r
+                                    </global-gNB-ID>\r
+                                </gNB>\r
+                            </GlobalE2node-ID>\r
+                        </value>\r
+                    </E2setupRequestIEs>\r
+                    <E2setupRequestIEs>\r
+                        <id>10</id>\r
+                        <criticality>\r
+                            <reject/>\r
+                        </criticality>\r
+                        <value>\r
+                            <RANfunctions-List>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>1</ranFunctionID>\r
+                                            <ranFunctionDefinition>\r
+                                                790280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010000010108004D6573736167652054797065206F6E6C7901010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D7020010101010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D70200101010101010001010780436F6D706C657465206D657373616765010101010101\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                            <ranFunctionOID>OID123</ranFunctionOID>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>2</ranFunctionID>\r
+                                            <ranFunctionOID>OID124</ranFunctionOID>\r
+                                            <ranFunctionDefinition>\r
+                                                680300674E422D4E5254000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E332E330D80674E42204E65696768626F75722052656C6174696F6E205461626C6500010105804E6F74696669636174696F6E01010001010680436F6D706C657465207461626C650101000001058041646454696D657374616D70200101010100010107804E5254206D6F64696669636174696F6E010101010100\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>3</ranFunctionID>\r
+                                            <ranFunctionOID>OID125</ranFunctionOID>\r
+                                            <ranFunctionDefinition>\r
+                                                450280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010100010108004D6573736167652054797065206F6E6C79010100010108004D6573736167652041646D697373696F6E01020400010180514349310002018041525031000301805350494400040300552D5445494431400A05004C6F61645F6F666673657400\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                            </RANfunctions-List>\r
+                        </value>\r
+                    </E2setupRequestIEs>\r
+                    <E2setupRequestIEs>
+                        <id>50</id>
+                        <criticality><reject/></criticality>
+                        <value>
+                            <E2nodeComponentConfigAddition-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>51</id>
+                                    <criticality><reject/></criticality>
+                                    <value>
+                                        <E2nodeComponentConfigAddition-Item>
+                                            <e2nodeComponentInterfaceType><xn/></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeXn>
+                                                    <global-NG-RAN-Node-ID>
+                                                        <ng-eNB>
+                                                            <plmn-id>02 F8 29</plmn-id>
+                                                            <enb-id>
+                                                                <enb-ID-macro>
+                                                                    00000001001000110100
+                                                                </enb-ID-macro>
+                                                            </enb-id>
+                                                        </ng-eNB>
+                                                     </global-NG-RAN-Node-ID>
+                                                </e2nodeComponentInterfaceTypeXn>
+                                            </e2nodeComponentID>
+                                            <e2nodeComponentConfiguration>
+                                                <e2nodeComponentRequestPart>72 65 71 70 61 72 74</e2nodeComponentRequestPart>
+                                                <e2nodeComponentResponsePart>72 65 73 70 61 72 74</e2nodeComponentResponsePart>
+                                            </e2nodeComponentConfiguration>
+                                        </E2nodeComponentConfigAddition-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </E2nodeComponentConfigAddition-List>
+                        </value>
+                    </E2setupRequestIEs>
+                </protocolIEs>\r
+            </E2setupRequest>\r
+        </value>\r
+    </initiatingMessage>\r
+</E2AP-PDU>\r
diff --git a/E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_xngnb.xml b/E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb_inttype_xngnb.xml
new file mode 100644 (file)
index 0000000..893cd0d
--- /dev/null
@@ -0,0 +1,134 @@
+<E2AP-PDU>\r
+    <initiatingMessage>\r
+        <procedureCode>1</procedureCode>\r
+        <criticality>\r
+            <reject/>\r
+        </criticality>\r
+        <value>\r
+            <E2setupRequest>\r
+                <protocolIEs>\r
+                    <E2setupRequestIEs>
+                        <id>49</id>
+                        <criticality>
+                            <reject/>
+                        </criticality>
+                        <value>
+                            <TransactionID>1</TransactionID>
+                        </value>
+                    </E2setupRequestIEs>
+                    <E2setupRequestIEs>\r
+                        <id>3</id>\r
+                        <criticality>\r
+                            <reject/>\r
+                        </criticality>\r
+                        <value>\r
+                            <GlobalE2node-ID>\r
+                                <gNB>\r
+                                    <global-gNB-ID>\r
+                                        <plmn-id>02 F8 29</plmn-id>\r
+                                        <gnb-id>\r
+                                            <gnb-ID>001100000011000000110000</gnb-ID>\r
+                                        </gnb-id>\r
+                                    </global-gNB-ID>\r
+                                </gNB>\r
+                            </GlobalE2node-ID>\r
+                        </value>\r
+                    </E2setupRequestIEs>\r
+                    <E2setupRequestIEs>\r
+                        <id>10</id>\r
+                        <criticality>\r
+                            <reject/>\r
+                        </criticality>\r
+                        <value>\r
+                            <RANfunctions-List>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>1</ranFunctionID>\r
+                                            <ranFunctionDefinition>\r
+                                                790280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010000010108004D6573736167652054797065206F6E6C7901010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D7020010101010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D70200101010101010001010780436F6D706C657465206D657373616765010101010101\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                            <ranFunctionOID>OID123</ranFunctionOID>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>2</ranFunctionID>\r
+                                            <ranFunctionOID>OID124</ranFunctionOID>\r
+                                            <ranFunctionDefinition>\r
+                                                680300674E422D4E5254000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E332E330D80674E42204E65696768626F75722052656C6174696F6E205461626C6500010105804E6F74696669636174696F6E01010001010680436F6D706C657465207461626C650101000001058041646454696D657374616D70200101010100010107804E5254206D6F64696669636174696F6E010101010100\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>3</ranFunctionID>\r
+                                            <ranFunctionOID>OID125</ranFunctionOID>\r
+                                            <ranFunctionDefinition>\r
+                                                450280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010100010108004D6573736167652054797065206F6E6C79010100010108004D6573736167652041646D697373696F6E01020400010180514349310002018041525031000301805350494400040300552D5445494431400A05004C6F61645F6F666673657400\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                            </RANfunctions-List>\r
+                        </value>\r
+                    </E2setupRequestIEs>\r
+                    <E2setupRequestIEs>
+                        <id>50</id>
+                        <criticality><reject/></criticality>
+                        <value>
+                            <E2nodeComponentConfigAddition-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>51</id>
+                                    <criticality><reject/></criticality>
+                                    <value>
+                                        <E2nodeComponentConfigAddition-Item>
+                                            <e2nodeComponentInterfaceType><xn/></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeXn>
+                                                     <global-NG-RAN-Node-ID>
+                                                         <gNB>
+                                                             <plmn-id>02 F8 29</plmn-id>
+                                                             <gnb-id>
+                                                                 <gnb-ID>
+                                                                     000000000001001000110100
+                                                                 </gnb-ID>
+                                                             </gnb-id>
+                                                         </gNB>
+                                                     </global-NG-RAN-Node-ID>
+                                                </e2nodeComponentInterfaceTypeXn>
+                                            </e2nodeComponentID>
+                                            <e2nodeComponentConfiguration>
+                                                <e2nodeComponentRequestPart>72 65 71 70 61 72 74</e2nodeComponentRequestPart>
+                                                <e2nodeComponentResponsePart>72 65 73 70 61 72 74</e2nodeComponentResponsePart>
+                                            </e2nodeComponentConfiguration>
+                                        </E2nodeComponentConfigAddition-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </E2nodeComponentConfigAddition-List>
+                        </value>
+                    </E2setupRequestIEs>
+                </protocolIEs>\r
+            </E2setupRequest>\r
+        </value>\r
+    </initiatingMessage>\r
+</E2AP-PDU>\r