successResponse.SetPlmnId(h.config.GlobalRicId.PlmnId)
successResponse.SetRicId(h.config.GlobalRicId.RicNearRtId)
successResponse.SetExtractRanFunctionsIDList(setupRequest)
- responsePayload, err := xml.Marshal(successResponse)
+ responsePayload, err := xml.Marshal(&successResponse.E2APPDU)
if err != nil{
h.logger.Warnf("#E2SetupRequestNotificationHandler.Handle - RAN name: %s - Error marshalling E2 Setup Response. Response: %x", ranName, responsePayload)
}
msg := models.NewRmrMessage(rmrCgo.RIC_E2_SETUP_RESP, ranName, responsePayload, request.TransactionId)
h.logger.Infof("#E2SetupRequestNotificationHandler.Handle - RAN name: %s - E2 Setup Request has been built. Message: %x", ranName, msg)
- err = h.rmrSender.Send(msg)
+ _ = h.rmrSender.Send(msg)
}
func (h E2SetupRequestNotificationHandler) parseSetupRequest(payload []byte)(*models.E2SetupRequestMessage, string, error){
}
setupRequest := &models.E2SetupRequestMessage{}
- err := xml.Unmarshal(payload[pipInd + 1:], &setupRequest)
+ err := xml.Unmarshal(payload[pipInd + 1:], &setupRequest.E2APPDU)
if err != nil {
return nil, "", errors.New(fmt.Sprintf("#E2SetupRequestNotificationHandler.parseSetupRequest - Error unmarshalling E2 Setup Request payload: %x", payload))
}
type E2SetupSuccessResponseMessage struct {
XMLName xml.Name `xml:"E2SetupSuccessResponseMessage"`
Text string `xml:",chardata"`
- E2APPDU struct {
- Text string `xml:",chardata"`
- SuccessfulOutcome struct {
- Text string `xml:",chardata"`
- ProcedureCode string `xml:"procedureCode"`
- Criticality struct {
- Text string `xml:",chardata"`
- Reject string `xml:"reject"`
- } `xml:"criticality"`
- Value struct {
- Text string `xml:",chardata"`
- E2setupResponse struct {
- Text string `xml:",chardata"`
- ProtocolIEs struct {
- Text string `xml:",chardata"`
- E2setupResponseIEs []E2setupResponseIEs`xml:"E2setupResponseIEs"`
- } `xml:"protocolIEs"`
- } `xml:"E2setupResponse"`
- } `xml:"value"`
- } `xml:"successfulOutcome"`
- } `xml:"E2AP-PDU"`
+ E2APPDU E2APPDU`xml:"E2AP-PDU"`
+}
+
+type E2APPDU struct {
+ Text string `xml:",chardata"`
+ SuccessfulOutcome struct {
+ Text string `xml:",chardata"`
+ ProcedureCode string `xml:"procedureCode"`
+ Criticality struct {
+ Text string `xml:",chardata"`
+ Reject string `xml:"reject"`
+ } `xml:"criticality"`
+ Value struct {
+ Text string `xml:",chardata"`
+ E2setupResponse struct {
+ Text string `xml:",chardata"`
+ ProtocolIEs struct {
+ Text string `xml:",chardata"`
+ E2setupResponseIEs []E2setupResponseIEs`xml:"E2setupResponseIEs"`
+ } `xml:"protocolIEs"`
+ } `xml:"E2setupResponse"`
+ } `xml:"value"`
+ } `xml:"successfulOutcome"`
}
type E2setupResponseIEs struct {
} `xml:"value"`
}
-func NewE2SetupSuccessResponseMessage() *E2SetupSuccessResponseMessage{
- msg := &E2SetupSuccessResponseMessage{}
+func NewE2SetupSuccessResponseMessage() E2SetupSuccessResponseMessage{
+ msg := E2SetupSuccessResponseMessage{}
msg.E2APPDU.SuccessfulOutcome.Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs = make([]E2setupResponseIEs, 2)
return msg
}