Documentation
¶
Overview ¶
Package n1n2 allow to simulate N1/N2 interface using a REST API.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type HandoverCommand ¶ added in v0.0.15
type HandoverCommand struct {
// Header
UeCtrl jsonapi.ControlURI `json:"ue-ctrl"`
Cp jsonapi.ControlURI `json:"cp"`
SourceGnb jsonapi.ControlURI `json:"source-gnb"`
// Handover Command
Sessions []Session `json:"sessions"` // contains new ForwardDownlinkFteid
TargetGnb jsonapi.ControlURI `json:"target-gnb"`
}
HandoverCommand is sent by the CP to the source gNB to start the execution of handover, and forwarded to the UE
type HandoverConfirm ¶ added in v0.0.15
type HandoverConfirm struct {
// Header
UeCtrl jsonapi.ControlURI `json:"ue-ctrl"`
Cp jsonapi.ControlURI `json:"cp"`
// Handover Confirm
Sessions []Session `json:"sessions"`
SourceGnb jsonapi.ControlURI `json:"source-gnb"`
TargetGnb jsonapi.ControlURI `json:"target-gnb"`
}
HandoverConfirm is send by the target UE to the target gNB after the UE is synchronized to the new cell
type HandoverNotify ¶ added in v0.0.15
type HandoverNotify struct {
// Header
UeCtrl jsonapi.ControlURI `json:"ue-ctrl"`
Cp jsonapi.ControlURI `json:"cp"`
TargetGnb jsonapi.ControlURI `json:"target-gnb"`
// Handover Notify
Sessions []Session `json:"sessions"`
SourceGnb jsonapi.ControlURI `json:"source-gnb"`
}
HandoverNotify is send by the target gNB to the CP after handover have been confirmed by the UE
type HandoverRequest ¶ added in v0.0.15
type HandoverRequest struct {
// Header
UeCtrl jsonapi.ControlURI `json:"ue-ctrl"`
Cp jsonapi.ControlURI `json:"cp"`
TargetgNB jsonapi.ControlURI `json:"target-gnb"`
// Handover Request
SourcegNB jsonapi.ControlURI `json:"source-gnb"`
Sessions []Session `json:"sessions"` // contains new UL FTeid
}
HandoverRequest is send by the CP to the target gNB during the handover preparation phase
type HandoverRequestAck ¶ added in v0.0.15
type HandoverRequestAck struct {
// Header
Cp jsonapi.ControlURI `json:"cp"`
TargetgNB jsonapi.ControlURI `json:"target-gnb"`
// Handover Request Ack
SourcegNB jsonapi.ControlURI `json:"source-gnb"`
UeCtrl jsonapi.ControlURI `json:"ue-ctrl"`
Sessions []Session `json:"sessions"` // contains new DL FTeid
}
HandoverRequestAck is send by the target gNB to the CP in response to an HandoverRequest
type HandoverRequired ¶ added in v0.0.15
type HandoverRequired struct {
// Header
SourcegNB jsonapi.ControlURI `json:"source-gnb"`
Cp jsonapi.ControlURI `json:"cp"`
// Handover Required content
Ue jsonapi.ControlURI `json:"ue"`
Sessions []Session `json:"sessions"` // list of all pdu sessions of the UE to be moved
TargetgNB jsonapi.ControlURI `json:"target-gnb"`
}
HandoverRequired is send by the source gNB to the CP to start the handover preparation phase
type N2PduSessionReqMsg ¶
type N2PduSessionReqMsg struct {
Cp jsonapi.ControlURI `json:"cp"`
UeInfo PduSessionEstabAcceptMsg `json:"ue-info"` // information to forward to the UE
// Uplink FTEID: the gNB will establish an Uplink GTP Tunnel using the following
UplinkFteid jsonapi.Fteid `json:"uplink-fteid"`
}
N2PduSessionReqMsg is sent by the CP to the gNB to establish a PDU Session.
type N2PduSessionRespMsg ¶
type N2PduSessionRespMsg struct {
UeInfo PduSessionEstabAcceptMsg `json:"ue-info"` // used to identify the PDU Session
// Downlink FTEID: the CP will use this to configure a downlink GTP Tunnel in Upf-i
DownlinkFteid jsonapi.Fteid `json:"downlink-fteid"`
}
N2PduSessionRespMsg is sent to the CP by the gNB as a response of N2PduSessionReqMsg.
type PduSessionEstabAcceptMsg ¶
type PduSessionEstabAcceptMsg struct {
Header PduSessionEstabReqMsg `json:"header"` // copy of the PDU Session Establishment Request Message
Addr netip.Addr `json:"address"` // IP Address attributed to the UE for this PDU Session
}
PduSessionEstabAcceptMsg is sent to the UE by the gNB when the PDU Session establishment is accepted.
type PduSessionEstabReqMsg ¶
type PduSessionEstabReqMsg struct {
Ue jsonapi.ControlURI `json:"ue"`
Gnb jsonapi.ControlURI `json:"gnb"`
Dnn string `json:"dnn"`
}
PduSessionEstabReqMessage is sent by the UE to the gNB (then forwarded by the gNB to the CP) to start the PDU Session Establishment Procedure.
type RadioPeerMsg ¶
type RadioPeerMsg struct {
Control jsonapi.ControlURI `json:"control"`
Data netip.AddrPort `json:"data"`
}
RadioPeerMsg is used to discover UEs/gNBs "radio" peers.
type Session ¶ added in v0.0.15
type Session struct {
Addr netip.Addr `json:"ue-addr"`
Dnn string `json:"dnn"`
UplinkFteid *jsonapi.Fteid `json:"uplink-fteid,omitempty"`
DownlinkFteid *jsonapi.Fteid `json:"downlink-fteid,omitempty"`
// when ForwardDownlinkFteid is not empty,
// PDUs received on DownlinkFteid must be forwarded to it
ForwardDownlinkFteid *jsonapi.Fteid `json:"forward-fteid,omitempty"`
}