X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fmodels%2Fe2_setup_response_message.go;h=798f7848793795986b400d30b1ed8e011278c619;hb=7796ee6ea49fe1098f9511873a00c1faadaeba91;hp=654e2af1fde062f010d6fdbc40bd8ead26099967;hpb=0823945d1b5a326844833187a36bea669752be93;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/models/e2_setup_response_message.go b/E2Manager/models/e2_setup_response_message.go index 654e2af..798f784 100644 --- a/E2Manager/models/e2_setup_response_message.go +++ b/E2Manager/models/e2_setup_response_message.go @@ -69,19 +69,30 @@ var timeToWaitMap = map[TimeToWait]interface{}{ func NewE2SetupSuccessResponseMessage(plmnId string, ricId string, request *E2SetupRequestMessage) E2SetupResponseMessage { outcome := SuccessfulOutcome{} - outcome.Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs = make([]E2setupResponseIEs, 2) outcome.ProcedureCode = "1" + + setupRequestIes := request.E2APPDU.InitiatingMessage.Value.E2setupRequest.ProtocolIEs.E2setupRequestIEs + + outcome.Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs = make([]E2setupResponseIEs, len(setupRequestIes)) outcome.Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs[0].ID = "4" outcome.Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs[0].Value = GlobalRICID{GlobalRICID: struct { Text string `xml:",chardata"` PLMNIdentity string `xml:"pLMN-Identity"` RicID string `xml:"ric-ID"` }{PLMNIdentity: plmnId, RicID: ricId}} + + if len(setupRequestIes) < 2 { + return E2SetupResponseMessage{E2APPDU: E2APPDU{Outcome: outcome}} + } + + functionsIdList := extractRanFunctionsIDList(request) + outcome.Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs[1].ID = "9" outcome.Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs[1].Value = RANfunctionsIDList{RANfunctionsIDList: struct { Text string `xml:",chardata"` ProtocolIESingleContainer []ProtocolIESingleContainer `xml:"ProtocolIE-SingleContainer"` - }{ProtocolIESingleContainer: extractRanFunctionsIDList(request)}} + }{ProtocolIESingleContainer: functionsIdList}} + return E2SetupResponseMessage{E2APPDU: E2APPDU{Outcome: outcome}} } @@ -215,6 +226,7 @@ type Cause struct { } func extractRanFunctionsIDList(request *E2SetupRequestMessage) []ProtocolIESingleContainer { + list := &request.E2APPDU.InitiatingMessage.Value.E2setupRequest.ProtocolIEs.E2setupRequestIEs[1].Value.RANfunctionsList ids := make([]ProtocolIESingleContainer, len(list.ProtocolIESingleContainer)) for i := 0; i < len(ids); i++ {