Added transaction ID support in RICServiceUpdate message.
Signed-off-by: subhash kumar singh <subh.singh@samsung.com>
Change-Id: Iac59040d2b2bcd90f63ac7cc3e90941902c9a14d
h.logger.Infof("#RicServiceUpdateHandler.Handle - RIC_SERVICE_UPDATE has been parsed successfully %+v", ricServiceUpdate)
ackFunctionIds := h.updateFunctions(ricServiceUpdate.E2APPDU.InitiatingMessage.Value.RICServiceUpdate.ProtocolIEs.RICServiceUpdateIEs, nodebInfo)
- if len(ricServiceUpdate.E2APPDU.InitiatingMessage.Value.RICServiceUpdate.ProtocolIEs.RICServiceUpdateIEs) != 0 {
+ if len(ricServiceUpdate.E2APPDU.InitiatingMessage.Value.RICServiceUpdate.ProtocolIEs.RICServiceUpdateIEs) > 1 {
err = h.rNibDataService.UpdateNodebInfoAndPublish(nodebInfo)
if err != nil {
h.logger.Errorf("#RicServiceUpdateHandler.Handle - RAN name: %s - Failed at UpdateNodebInfoAndPublish. error: %s", nodebInfo.RanName, err)
} `xml:"criticality"`
Value struct {
Text string `xml:",chardata"`
+ TransactionID string `xml:"TransactionID"`
RANfunctionsList struct {
Text string `xml:",chardata"`
RANfunctionsItemProtocolIESingleContainer []RANfunctionsItemProtocolIESingleContainer `xml:"ProtocolIE-SingleContainer"`
func (m *RICServiceUpdateE2APPDU) ExtractRanFunctionsList() []*entities.RanFunction {
serviceUpdateRequestIes := m.InitiatingMessage.Value.RICServiceUpdate.ProtocolIEs.RICServiceUpdateIEs
- if len(serviceUpdateRequestIes) < 2 {
+ if len(serviceUpdateRequestIes) < 3 {
return nil
}
- ranFunctionsListContainer := serviceUpdateRequestIes[1].Value.RANfunctionsList.RANfunctionsItemProtocolIESingleContainer
+ ranFunctionsListContainer := serviceUpdateRequestIes[2].Value.RANfunctionsList.RANfunctionsItemProtocolIESingleContainer
funcs := make([]*entities.RanFunction, len(ranFunctionsListContainer))
for i := 0; i < len(funcs); i++ {
ranFunctionItem := ranFunctionsListContainer[i].Value.RANfunctionItem
assert.Equal(t, uint32(2), ranFunctions[0].RanFunctionRevision)
assert.Equal(t, "OID20", ranFunctions[0].RanFunctionOid)
}
+
+func TestRICServiceUpdateMessageTxId(t *testing.T) {
+ serviceUpdate := getTestRicServiceUpdate(t, "../tests/resources/serviceUpdate/RicServiceUpdate_AddedFunction_With_OID.xml")
+ assert.Equal(t, "1234", serviceUpdate.E2APPDU.InitiatingMessage.Value.RICServiceUpdate.ProtocolIEs.RICServiceUpdateIEs[0].Value.TransactionID)
+}
<value>\r
<RICserviceUpdate>\r
<protocolIEs>\r
+ <RICserviceUpdate-IEs>
+ <id>49</id>
+ <criticality><reject/></criticality>
+ <value>
+ <TransactionID>1234</TransactionID>
+ </value>
+ </RICserviceUpdate-IEs>
<RICserviceUpdate-IEs>\r
<id>10</id>\r
<criticality><reject/></criticality>\r
<value>\r
<RICserviceUpdate>\r
<protocolIEs>\r
+ <RICserviceUpdate-IEs>
+ <id>49</id>
+ <criticality><reject/></criticality>
+ <value>
+ <TransactionID>1234</TransactionID>
+ </value>
+ </RICserviceUpdate-IEs>
<RICserviceUpdate-IEs>\r
<id>10</id>\r
<criticality><reject/></criticality>\r
<value>\r
<RICserviceUpdate>\r
<protocolIEs>\r
+ <RICserviceUpdate-IEs>
+ <id>49</id>
+ <criticality><reject/></criticality>
+ <value>
+ <TransactionID>1234</TransactionID>
+ </value>
+ </RICserviceUpdate-IEs>
<RICserviceUpdate-IEs>\r
<id>11</id>\r
<criticality><reject/></criticality>\r
<value>\r
<RICserviceUpdate>\r
<protocolIEs>\r
+ <RICserviceUpdate-IEs>
+ <id>49</id>
+ <criticality><reject/></criticality>
+ <value>
+ <TransactionID>1234</TransactionID>
+ </value>
+ </RICserviceUpdate-IEs>
</protocolIEs>\r
</RICserviceUpdate>\r
</value>\r
<value>\r
<RICserviceUpdate>\r
<protocolIEs>\r
+ <RICserviceUpdate-IEs>
+ <id>49</id>
+ <criticality><reject/></criticality>
+ <value>
+ <TransactionID>1234</TransactionID>
+ </value>
+ </RICserviceUpdate-IEs>
<RICserviceUpdate-IEs>\r
<id>12</id>\r
<criticality><reject/></criticality>\r
<value>\r
<E2setupRequest>\r
<protocolIEs>\r
+ <RICserviceUpdate-IEs>
+ <id>49</id>
+ <criticality><reject/></criticality>
+ <value>
+ <TransactionID>1234</TransactionID>
+ </value>
+ </RICserviceUpdate-IEs>
<E2setupRequestIEs>\r
<id>3</id>\r
<criticality><reject/></criticality>\r