Commit 3300c1ec authored by Tien Thinh NGUYEN's avatar Tien Thinh NGUYEN

Fix issue for NSSAI

parent c02e7838
...@@ -49,7 +49,7 @@ bool AllowedNSSAI::encode2AllowedNSSAI(Ngap_AllowedNSSAI_t* allowedNssaiList) { ...@@ -49,7 +49,7 @@ bool AllowedNSSAI::encode2AllowedNSSAI(Ngap_AllowedNSSAI_t* allowedNssaiList) {
Ngap_AllowedNSSAI_Item_t* allowednssaiitem = Ngap_AllowedNSSAI_Item_t* allowednssaiitem =
(Ngap_AllowedNSSAI_Item_t*) calloc(1, sizeof(Ngap_AllowedNSSAI_Item_t)); (Ngap_AllowedNSSAI_Item_t*) calloc(1, sizeof(Ngap_AllowedNSSAI_Item_t));
if (!allowednssaiitem) return false; if (!allowednssaiitem) return false;
if (!it->encode2S_NSSAI(&allowednssaiitem->s_NSSAI)) return false; if (!it->encode(&allowednssaiitem->s_NSSAI)) return false;
if (ASN_SEQUENCE_ADD(&allowedNssaiList->list, allowednssaiitem) != 0) if (ASN_SEQUENCE_ADD(&allowedNssaiList->list, allowednssaiitem) != 0)
return false; return false;
} }
...@@ -61,8 +61,7 @@ bool AllowedNSSAI::decodefromAllowedNSSAI( ...@@ -61,8 +61,7 @@ bool AllowedNSSAI::decodefromAllowedNSSAI(
Ngap_AllowedNSSAI_t* allowedNssaiList) { Ngap_AllowedNSSAI_t* allowedNssaiList) {
for (int i = 0; i < allowedNssaiList->list.count; i++) { for (int i = 0; i < allowedNssaiList->list.count; i++) {
S_NSSAI snssai = {}; S_NSSAI snssai = {};
if (!snssai.decodefromS_NSSAI(&allowedNssaiList->list.array[i]->s_NSSAI)) if (!snssai.decode(&allowedNssaiList->list.array[i]->s_NSSAI)) return false;
return false;
allowedSnssaiList.push_back(snssai); allowedSnssaiList.push_back(snssai);
} }
return true; return true;
......
...@@ -64,7 +64,7 @@ bool BroadcastPLMNItem::encode2BroadcastPLMNItem( ...@@ -64,7 +64,7 @@ bool BroadcastPLMNItem::encode2BroadcastPLMNItem(
Ngap_SliceSupportItem_t* slice = Ngap_SliceSupportItem_t* slice =
(Ngap_SliceSupportItem_t*) calloc(1, sizeof(Ngap_SliceSupportItem_t)); (Ngap_SliceSupportItem_t*) calloc(1, sizeof(Ngap_SliceSupportItem_t));
if (!slice) return false; if (!slice) return false;
if (!it->encode2S_NSSAI(&slice->s_NSSAI)) return false; if (!it->encode(&slice->s_NSSAI)) return false;
if (ASN_SEQUENCE_ADD(&plmnItem->tAISliceSupportList.list, slice) != 0) if (ASN_SEQUENCE_ADD(&plmnItem->tAISliceSupportList.list, slice) != 0)
return false; return false;
} }
...@@ -77,8 +77,7 @@ bool BroadcastPLMNItem::decodefromBroadcastPLMNItem( ...@@ -77,8 +77,7 @@ bool BroadcastPLMNItem::decodefromBroadcastPLMNItem(
if (!plmn.decode(pdu->pLMNIdentity)) return false; if (!plmn.decode(pdu->pLMNIdentity)) return false;
for (int i = 0; i < pdu->tAISliceSupportList.list.count; i++) { for (int i = 0; i < pdu->tAISliceSupportList.list.count; i++) {
S_NSSAI snssai = {}; S_NSSAI snssai = {};
if (!snssai.decodefromS_NSSAI( if (!snssai.decode(&pdu->tAISliceSupportList.list.array[i]->s_NSSAI))
&pdu->tAISliceSupportList.list.array[i]->s_NSSAI))
return false; return false;
supportedSliceList.push_back(snssai); supportedSliceList.push_back(snssai);
} }
......
...@@ -79,7 +79,7 @@ bool PDUSessionResourceSetupItemCxtReq:: ...@@ -79,7 +79,7 @@ bool PDUSessionResourceSetupItemCxtReq::
pduSessionResourceSetupItemCxtReq->nAS_PDU = naspdu; pduSessionResourceSetupItemCxtReq->nAS_PDU = naspdu;
} }
if (!s_NSSAI.encode2S_NSSAI(&pduSessionResourceSetupItemCxtReq->s_NSSAI)) if (!s_NSSAI.encode(&pduSessionResourceSetupItemCxtReq->s_NSSAI))
return false; return false;
pduSessionResourceSetupItemCxtReq->pDUSessionResourceSetupRequestTransfer = pduSessionResourceSetupItemCxtReq->pDUSessionResourceSetupRequestTransfer =
pDUSessionResourceSetupRequestTransfer; pDUSessionResourceSetupRequestTransfer;
...@@ -95,7 +95,7 @@ bool PDUSessionResourceSetupItemCxtReq:: ...@@ -95,7 +95,7 @@ bool PDUSessionResourceSetupItemCxtReq::
if (!pDUSessionID.decodefromPDUSessionID( if (!pDUSessionID.decodefromPDUSessionID(
pduSessionResourceSetupItemCxtReq->pDUSessionID)) pduSessionResourceSetupItemCxtReq->pDUSessionID))
return false; return false;
if (!s_NSSAI.decodefromS_NSSAI(&(pduSessionResourceSetupItemCxtReq->s_NSSAI))) if (!s_NSSAI.decode(&(pduSessionResourceSetupItemCxtReq->s_NSSAI)))
return false; return false;
if (pduSessionResourceSetupItemCxtReq->nAS_PDU) { if (pduSessionResourceSetupItemCxtReq->nAS_PDU) {
......
...@@ -44,7 +44,7 @@ bool PDUSessionResourceSetupItemHOReq::encode2PDUSessionResourceSetupItemHOReq( ...@@ -44,7 +44,7 @@ bool PDUSessionResourceSetupItemHOReq::encode2PDUSessionResourceSetupItemHOReq(
if (!pDUSessionID->encode2PDUSessionID( if (!pDUSessionID->encode2PDUSessionID(
pduSessionResourceSetupItemHOReq->pDUSessionID)) pduSessionResourceSetupItemHOReq->pDUSessionID))
return false; return false;
if (!s_NSSAI->encode2S_NSSAI(&pduSessionResourceSetupItemHOReq->s_NSSAI)) if (!s_NSSAI->encode(&pduSessionResourceSetupItemHOReq->s_NSSAI))
return false; return false;
pduSessionResourceSetupItemHOReq->handoverRequestTransfer = pduSessionResourceSetupItemHOReq->handoverRequestTransfer =
pDUSessionResourceSetupRequestTransfer; pDUSessionResourceSetupRequestTransfer;
...@@ -60,7 +60,7 @@ bool PDUSessionResourceSetupItemHOReq:: ...@@ -60,7 +60,7 @@ bool PDUSessionResourceSetupItemHOReq::
if (!pDUSessionID->decodefromPDUSessionID( if (!pDUSessionID->decodefromPDUSessionID(
pduSessionResourceSetupItemHOReq->pDUSessionID)) pduSessionResourceSetupItemHOReq->pDUSessionID))
return false; return false;
if (!s_NSSAI->decodefromS_NSSAI(&pduSessionResourceSetupItemHOReq->s_NSSAI)) if (!s_NSSAI->decode(&pduSessionResourceSetupItemHOReq->s_NSSAI))
return false; return false;
pDUSessionResourceSetupRequestTransfer = pDUSessionResourceSetupRequestTransfer =
pduSessionResourceSetupItemHOReq->handoverRequestTransfer; pduSessionResourceSetupItemHOReq->handoverRequestTransfer;
......
...@@ -74,8 +74,7 @@ bool PDUSessionResourceSetupItemSUReq::encode2PDUSessionResourceSetupItemSUReq( ...@@ -74,8 +74,7 @@ bool PDUSessionResourceSetupItemSUReq::encode2PDUSessionResourceSetupItemSUReq(
} }
pduSessionResourceSetupItemSUReq->pDUSessionNAS_PDU = naspdu; pduSessionResourceSetupItemSUReq->pDUSessionNAS_PDU = naspdu;
} }
if (!s_NSSAI.encode2S_NSSAI(&pduSessionResourceSetupItemSUReq->s_NSSAI)) if (!s_NSSAI.encode(&pduSessionResourceSetupItemSUReq->s_NSSAI)) return false;
return false;
pduSessionResourceSetupItemSUReq->pDUSessionResourceSetupRequestTransfer = pduSessionResourceSetupItemSUReq->pDUSessionResourceSetupRequestTransfer =
pDUSessionResourceSetupRequestTransfer; pDUSessionResourceSetupRequestTransfer;
...@@ -90,8 +89,7 @@ bool PDUSessionResourceSetupItemSUReq:: ...@@ -90,8 +89,7 @@ bool PDUSessionResourceSetupItemSUReq::
if (!pDUSessionID.decodefromPDUSessionID( if (!pDUSessionID.decodefromPDUSessionID(
pduSessionResourceSetupItemSUReq->pDUSessionID)) pduSessionResourceSetupItemSUReq->pDUSessionID))
return false; return false;
if (!s_NSSAI.decodefromS_NSSAI(&pduSessionResourceSetupItemSUReq->s_NSSAI)) if (!s_NSSAI.decode(&pduSessionResourceSetupItemSUReq->s_NSSAI)) return false;
return false;
if (pduSessionResourceSetupItemSUReq->pDUSessionNAS_PDU) { if (pduSessionResourceSetupItemSUReq->pDUSessionNAS_PDU) {
nAS_PDU = new NAS_PDU(); nAS_PDU = new NAS_PDU();
......
...@@ -242,7 +242,7 @@ void HandoverRequest::setAllowedNSSAI(std::vector<S_NSSAI>& list) { ...@@ -242,7 +242,7 @@ void HandoverRequest::setAllowedNSSAI(std::vector<S_NSSAI>& list) {
for (auto& it : list) { for (auto& it : list) {
Ngap_AllowedNSSAI_Item_t* item = Ngap_AllowedNSSAI_Item_t* item =
(Ngap_AllowedNSSAI_Item_t*) calloc(1, sizeof(Ngap_AllowedNSSAI_Item_t)); (Ngap_AllowedNSSAI_Item_t*) calloc(1, sizeof(Ngap_AllowedNSSAI_Item_t));
it.encode2S_NSSAI(&item->s_NSSAI); it.encode(&item->s_NSSAI);
int ret = ASN_SEQUENCE_ADD(&allowedNSSAI.list, item); int ret = ASN_SEQUENCE_ADD(&allowedNSSAI.list, item);
if (ret != 0) if (ret != 0)
Logger::ngap().error( Logger::ngap().error(
......
...@@ -25,7 +25,6 @@ ...@@ -25,7 +25,6 @@
#include "Cause.hpp" #include "Cause.hpp"
#include "MessageType.hpp" #include "MessageType.hpp"
#include "TimeToWait.hpp" #include "TimeToWait.hpp"
//#include "CriticalityDiagnostics.hpp"
#include "NgapMessage.hpp" #include "NgapMessage.hpp"
namespace ngap { namespace ngap {
...@@ -72,16 +71,15 @@ class NGSetupFailureMsg : public NgapMessage { ...@@ -72,16 +71,15 @@ class NGSetupFailureMsg : public NgapMessage {
bool decodeFromPdu(Ngap_NGAP_PDU_t* ngapMsgPdu) override; bool decodeFromPdu(Ngap_NGAP_PDU_t* ngapMsgPdu) override;
void addCauseIE();
void addTimeToWaitIE();
private: private:
Ngap_NGSetupFailure_t* ngSetupFailureIEs; Ngap_NGSetupFailure_t* ngSetupFailureIEs;
Cause cause; // Mandatory Cause cause; // Mandatory
TimeToWait timeToWait; // Mandatory TimeToWait timeToWait; // Mandatory
// TODO: CriticalityDiagnostics *criticalityDiagnostics; //Optional // TODO: CriticalityDiagnostics *criticalityDiagnostics; //Optional
void addCauseIE();
void addTimeToWaitIE();
}; };
} // namespace ngap } // namespace ngap
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment