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"` IndirectForwarding bool `json:"indirect-forwarding"` }
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"` }