Documentation
¶
Index ¶
- Constants
- type IDGenerator
- type Instruction
- type ManageUEPolicyCommand
- type ManageUEPolicyComplete
- type ManageUEPolicyReject
- type Result
- type UEPolicyNetworkClassmark
- func (a *UEPolicyNetworkClassmark) GetIei() uint8
- func (a *UEPolicyNetworkClassmark) GetLen() uint8
- func (a *UEPolicyNetworkClassmark) GetNSSUI() uint8
- func (a *UEPolicyNetworkClassmark) GetSpare() uint8
- func (a *UEPolicyNetworkClassmark) SetIei(iei uint8)
- func (a *UEPolicyNetworkClassmark) SetLen(length uint8)
- func (a *UEPolicyNetworkClassmark) SetNSSUI(allowAcceptURSP uint8) error
- type UEPolicyPart
- type UEPolicyPartType
- type UEPolicySectionContents
- type UEPolicySectionManagementList
- func (a *UEPolicySectionManagementList) GetIei() uint8
- func (a *UEPolicySectionManagementList) GetLen() uint16
- func (a *UEPolicySectionManagementList) GetUEPolicySectionManagementListContent() (ctnByte []uint8)
- func (u *UEPolicySectionManagementList) MarshalBinary() ([]uint8, error)
- func (a *UEPolicySectionManagementList) SetIei(iei uint8)
- func (a *UEPolicySectionManagementList) SetLen(length uint16)
- func (a *UEPolicySectionManagementList) SetUEPolicySectionManagementListContent(ctnByte []uint8)
- func (u *UEPolicySectionManagementList) UnmarshalBinary(buf *bytes.Buffer) error
- type UEPolicySectionManagementListContent
- type UEPolicySectionManagementResult
- func (u *UEPolicySectionManagementResult) GetIei() uint8
- func (u *UEPolicySectionManagementResult) GetLen() uint16
- func (a *UEPolicySectionManagementResult) GetUEPolicySectionManagementResultContent() (ctnByte []uint8)
- func (u *UEPolicySectionManagementResult) MarshalBinary() ([]uint8, error)
- func (u *UEPolicySectionManagementResult) SetIei(iei uint8)
- func (u *UEPolicySectionManagementResult) SetLen(length uint16)
- func (a *UEPolicySectionManagementResult) SetUEPolicySectionManagementResultContent(ctnByte []uint8)
- func (u *UEPolicySectionManagementResult) UnmarshalBinary(buf *bytes.Buffer) error
- type UEPolicySectionManagementResultContent
- type UEPolicySectionManagementSubList
- func (u *UEPolicySectionManagementSubList) GetLen() uint16
- func (u *UEPolicySectionManagementSubList) GetPlmnDigit() (int, int)
- func (u *UEPolicySectionManagementSubList) MarshalBinary() ([]byte, error)
- func (u *UEPolicySectionManagementSubList) SetLen(length uint16)
- func (u *UEPolicySectionManagementSubList) SetPlmnDigit(mcc, mnc int) error
- type UEPolicySectionManagementSubListContents
- type UEPolicySectionManagementSubResult
- func (u *UEPolicySectionManagementSubResult) GetLen() uint16
- func (u *UEPolicySectionManagementSubResult) GetPlmnDigit() (int, int)
- func (u *UEPolicySectionManagementSubResult) MarshalBinary() ([]byte, error)
- func (u *UEPolicySectionManagementSubResult) SetLen(length uint16)
- func (u *UEPolicySectionManagementSubResult) SetPlmnDigit(mcc, mnc int) error
- type UEPolicySectionManagementSubResultContents
- type UePolDeliveryHeader
- type UePolDeliverySer
- type UePolicyContainer
- type UePolicyDeliveryServiceMsgType
Constants ¶
const ( MsgTypeManageUEPolicyCommand uint8 = 1 MsgTypeManageUEPolicyComplete uint8 = 2 MsgTypeManageUEPolicyReject uint8 = 3 MsgTypeUEStateIndication uint8 = 4 MsgTypeUEPolicyProvisioningRequest uint8 = 5 MsgTypeUEPolicyProvisioningReject uint8 = 6 )
const ( UEPolicyPartType_URSP uint8 = 0x01 UEPolicyPartType_ANDSP uint8 = 0x02 UEPolicyPartType_V2XP uint8 = 0x03 UEPolicyPartType_ProSeP uint8 = 0x04 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type IDGenerator ¶
type IDGenerator struct {
// contains filtered or unexported fields
}
func NewGenerator ¶
func NewGenerator(minValue, maxValue int64) *IDGenerator
Initialize an IDGenerator with minValue and maxValue.
func (*IDGenerator) Allocate ¶
func (idGenerator *IDGenerator) Allocate() (int64, error)
Allocate and return an id in range [minValue, maxValue]
func (*IDGenerator) Allocate_inRange ¶
func (idGenerator *IDGenerator) Allocate_inRange(min, max int64) (int64, error)
Allocate and return an id in from certain range [inputMin, inputMAX]
type Instruction ¶
type Instruction struct { Len uint16 Upsc uint16 // a UE policy section code (UPSC) containing a value assigned by the PCF. UEPolicySectionContents UEPolicySectionContents }
func (*Instruction) GetLen ¶
func (i *Instruction) GetLen() uint16
func (*Instruction) GetUpsc ¶
func (i *Instruction) GetUpsc() uint16
func (*Instruction) MarshalBinary ¶
func (i *Instruction) MarshalBinary() ([]byte, error)
func (*Instruction) SetLen ¶
func (i *Instruction) SetLen(length uint16)
func (*Instruction) SetUpsc ¶
func (i *Instruction) SetUpsc(upsc uint16)
type ManageUEPolicyCommand ¶
type ManageUEPolicyCommand struct { nasType.PTI UePolicyDeliveryServiceMsgType UEPolicySectionManagementList *UEPolicyNetworkClassmark }
TS24.501 v17.7.1, sec D.5.1
func NewManageUEPolicyCommand ¶
func NewManageUEPolicyCommand(msgType uint8) (manageUEPolicyCommand *ManageUEPolicyCommand)
func (*ManageUEPolicyCommand) DecodeManageUEPolicyCommand ¶
func (m *ManageUEPolicyCommand) DecodeManageUEPolicyCommand(byteArray []byte) error
func (*ManageUEPolicyCommand) EncodeManageUEPolicyCommand ¶
func (m *ManageUEPolicyCommand) EncodeManageUEPolicyCommand(buffer *bytes.Buffer) error
type ManageUEPolicyComplete ¶
type ManageUEPolicyComplete struct { nasType.PTI UePolicyDeliveryServiceMsgType }
func NewManageUEPolicyComplete ¶
func NewManageUEPolicyComplete(msgType uint8) (manageUEPolicyComplete *ManageUEPolicyComplete)
func (*ManageUEPolicyComplete) DecodeManageUEPolicyComplete ¶
func (m *ManageUEPolicyComplete) DecodeManageUEPolicyComplete(byteArray []byte) error
func (*ManageUEPolicyComplete) EncodeManageUEPolicyComplete ¶
func (m *ManageUEPolicyComplete) EncodeManageUEPolicyComplete(buffer *bytes.Buffer) error
type ManageUEPolicyReject ¶
type ManageUEPolicyReject struct { nasType.PTI UePolicyDeliveryServiceMsgType UEPolicySectionManagementResult }
func NewManageUEPolicyReject ¶
func NewManageUEPolicyReject(msgType uint8) (manageUEPolicyReject *ManageUEPolicyReject)
func (*ManageUEPolicyReject) DecodeManageUEPolicyReject ¶
func (m *ManageUEPolicyReject) DecodeManageUEPolicyReject(byteArray []byte) error
func (*ManageUEPolicyReject) EncodeManageUEPolicyReject ¶
func (m *ManageUEPolicyReject) EncodeManageUEPolicyReject(buffer *bytes.Buffer) error
type Result ¶
type Result struct { Upsc uint16 // a UE policy section code (UPSC) containing a value assigned by the PCF. // FailInstructionOrder: This field contains the binary encoding of the order of the failed instruction // in the UE policy section management sublist. FailInstructionOrder uint16 // Cause: The receiving entity shall treat any other value as 0110 1111, "protocol error, unspecified". Cause uint8 }
Refer to TS23501 v17.7.1,Table D.6.3.1
func (*Result) MarshalBinary ¶
type UEPolicyNetworkClassmark ¶
type UEPolicyNetworkClassmark struct { Iei uint8 Len uint8 NSSUI uint8 // Non-subscribed SNPN signalled URSP handling indication Spare uint8 // always set to zero }
func NewUEPolicyNetworkClassmark ¶
func NewUEPolicyNetworkClassmark() (uEPolicyNetworkClassmark *UEPolicyNetworkClassmark)
func (*UEPolicyNetworkClassmark) GetIei ¶
func (a *UEPolicyNetworkClassmark) GetIei() uint8
D.6.7 UE policy network classmark Iei Row, sBit, len = [], 8, 8
func (*UEPolicyNetworkClassmark) GetLen ¶
func (a *UEPolicyNetworkClassmark) GetLen() uint8
D.6.7 UE policy network classmark Len Row, sBit, len = [], 8, 8
func (*UEPolicyNetworkClassmark) GetNSSUI ¶
func (a *UEPolicyNetworkClassmark) GetNSSUI() uint8
func (*UEPolicyNetworkClassmark) GetSpare ¶
func (a *UEPolicyNetworkClassmark) GetSpare() uint8
func (*UEPolicyNetworkClassmark) SetIei ¶
func (a *UEPolicyNetworkClassmark) SetIei(iei uint8)
D.6.7 UE policy network classmark Iei Row, sBit, len = [], 8, 8
func (*UEPolicyNetworkClassmark) SetLen ¶
func (a *UEPolicyNetworkClassmark) SetLen(length uint8)
D.6.7 UE policy network classmark Len Row, sBit, len = [], 8, 8
func (*UEPolicyNetworkClassmark) SetNSSUI ¶
func (a *UEPolicyNetworkClassmark) SetNSSUI(allowAcceptURSP uint8) error
D.6.7 UE policy network classmark Len Row, sBit, len = 1, 8, 8 Bits of NSSUI 0 UE is allowed to accept URSP signalled by non-subscribed SNPNs 1 UE is not allowed to accept URSP signalled by non-subscribed SNPNs
type UEPolicyPart ¶
type UEPolicyPart struct { Len uint16 UEPolicyPartType UEPolicyPartType UEPolicyPartContents []byte }
func (*UEPolicyPart) GetLen ¶
func (u *UEPolicyPart) GetLen() uint16
func (*UEPolicyPart) GetPartContent ¶
func (u *UEPolicyPart) GetPartContent() []uint8
func (*UEPolicyPart) MarshalBinary ¶
func (u *UEPolicyPart) MarshalBinary() ([]byte, error)
func (*UEPolicyPart) SetLen ¶
func (u *UEPolicyPart) SetLen(length uint16)
func (*UEPolicyPart) SetLen_byContent ¶
func (u *UEPolicyPart) SetLen_byContent() uint16
func (*UEPolicyPart) SetPartContent ¶
func (u *UEPolicyPart) SetPartContent(encoding_content []uint8)
type UEPolicyPartType ¶
type UEPolicyPartType struct {
Octet uint8
}
func (*UEPolicyPartType) GetPartType ¶
func (u *UEPolicyPartType) GetPartType() byte
func (*UEPolicyPartType) SetPartType ¶
func (u *UEPolicyPartType) SetPartType(partType byte)
type UEPolicySectionContents ¶
type UEPolicySectionContents []UEPolicyPart
func (*UEPolicySectionContents) AppendUEPolicyPart ¶
func (u *UEPolicySectionContents) AppendUEPolicyPart(policyPart *UEPolicyPart)
func (*UEPolicySectionContents) MarshalBinary ¶
func (u *UEPolicySectionContents) MarshalBinary() ([]byte, error)
func (*UEPolicySectionContents) UnmarshalBinary ¶
func (u *UEPolicySectionContents) UnmarshalBinary(b []byte) error
type UEPolicySectionManagementList ¶
refer to TS24501 v17, section D.6.2
func NewUEPolicySectionManagementList ¶
func NewUEPolicySectionManagementList(iei uint8) (uEPolicySectionManagementList *UEPolicySectionManagementList)
func (*UEPolicySectionManagementList) GetIei ¶
func (a *UEPolicySectionManagementList) GetIei() uint8
UEPolicySectionManagementList element D.6.2.1 Iei Row, sBit, len = [], 8, 8
func (*UEPolicySectionManagementList) GetLen ¶
func (a *UEPolicySectionManagementList) GetLen() uint16
UEPolicySectionManagementList element D.6.2.1 Len Row, sBit, len = [], 8, 16
func (*UEPolicySectionManagementList) GetUEPolicySectionManagementListContent ¶
func (a *UEPolicySectionManagementList) GetUEPolicySectionManagementListContent() (ctnByte []uint8)
UEPolicySectionManagementList element D.6.2.1 QoSFlowDescriptions Row, sBit, len = [0, 0], 8 , INF
func (*UEPolicySectionManagementList) MarshalBinary ¶
func (u *UEPolicySectionManagementList) MarshalBinary() ([]uint8, error)
func (*UEPolicySectionManagementList) SetIei ¶
func (a *UEPolicySectionManagementList) SetIei(iei uint8)
UEPolicySectionManagementList element D.6.2.1 Iei Row, sBit, len = [], 8, 8
func (*UEPolicySectionManagementList) SetLen ¶
func (a *UEPolicySectionManagementList) SetLen(length uint16)
UEPolicySectionManagementList element D.6.2.1 Len Row, sBit, len = [], 8, 16
func (*UEPolicySectionManagementList) SetUEPolicySectionManagementListContent ¶
func (a *UEPolicySectionManagementList) SetUEPolicySectionManagementListContent(ctnByte []uint8)
set a byte list(consit of one or many sublist) to list content
func (*UEPolicySectionManagementList) UnmarshalBinary ¶
func (u *UEPolicySectionManagementList) UnmarshalBinary(buf *bytes.Buffer) error
type UEPolicySectionManagementListContent ¶
type UEPolicySectionManagementListContent []UEPolicySectionManagementSubList
func (*UEPolicySectionManagementListContent) AppendSublist ¶
func (u *UEPolicySectionManagementListContent) AppendSublist(sublist UEPolicySectionManagementSubList)
func (*UEPolicySectionManagementListContent) MarshalBinary ¶
func (u *UEPolicySectionManagementListContent) MarshalBinary() ([]byte, error)
Marshal Strcuture into byte slice
func (*UEPolicySectionManagementListContent) UnmarshalBinary ¶
func (u *UEPolicySectionManagementListContent) UnmarshalBinary(b []byte) error
UnMarshal byte slice into Strctute
type UEPolicySectionManagementResult ¶
refer to TS24501 v17, section D.6.3
func NewUEPolicySectionManagementResult ¶
func NewUEPolicySectionManagementResult(iei uint8) (uEPolicySectionManagementResult *UEPolicySectionManagementResult)
func (*UEPolicySectionManagementResult) GetIei ¶
func (u *UEPolicySectionManagementResult) GetIei() uint8
func (*UEPolicySectionManagementResult) GetLen ¶
func (u *UEPolicySectionManagementResult) GetLen() uint16
func (*UEPolicySectionManagementResult) GetUEPolicySectionManagementResultContent ¶
func (a *UEPolicySectionManagementResult) GetUEPolicySectionManagementResultContent() (ctnByte []uint8)
UEPolicySectionManagementResult element D.6.3.1
func (*UEPolicySectionManagementResult) MarshalBinary ¶
func (u *UEPolicySectionManagementResult) MarshalBinary() ([]uint8, error)
func (*UEPolicySectionManagementResult) SetIei ¶
func (u *UEPolicySectionManagementResult) SetIei(iei uint8)
func (*UEPolicySectionManagementResult) SetLen ¶
func (u *UEPolicySectionManagementResult) SetLen(length uint16)
func (*UEPolicySectionManagementResult) SetUEPolicySectionManagementResultContent ¶
func (a *UEPolicySectionManagementResult) SetUEPolicySectionManagementResultContent(ctnByte []uint8)
func (*UEPolicySectionManagementResult) UnmarshalBinary ¶
func (u *UEPolicySectionManagementResult) UnmarshalBinary(buf *bytes.Buffer) error
type UEPolicySectionManagementResultContent ¶
type UEPolicySectionManagementResultContent []UEPolicySectionManagementSubResult
func (*UEPolicySectionManagementResultContent) AppendSublist ¶
func (u *UEPolicySectionManagementResultContent) AppendSublist(sublist UEPolicySectionManagementSubResult)
func (*UEPolicySectionManagementResultContent) MarshalBinary ¶
func (u *UEPolicySectionManagementResultContent) MarshalBinary() ([]byte, error)
Marshal Strcuture into byte slice
func (*UEPolicySectionManagementResultContent) UnmarshalBinary ¶
func (u *UEPolicySectionManagementResultContent) UnmarshalBinary(b []byte) error
UnMarshal byte slice into Strctute
type UEPolicySectionManagementSubList ¶
type UEPolicySectionManagementSubList struct { Len uint16 PlmnDigit1 uint8 // ref D.6.2.3, PLMN1=MCC digit 2 + MCC digit 1 PlmnDigit2 uint8 // PLMN2=MNC digit 3 + MCC digit 3 PlmnDigit3 uint8 // PLMN3=MNC digit 2 + MNC digit 1 Mcc *int // not specific in specm just recode the origin MCC before encoding Mnc *int // not specific in specm just recode the origin MNC before encoding UEPolicySectionManagementSubListContents UEPolicySectionManagementSubListContents // a UE policy section code (UPSC) containing a unique value within the PLMN or SNPN selected by the PCF. UpscGenerator IDGenerator }
func (*UEPolicySectionManagementSubList) GetLen ¶
func (u *UEPolicySectionManagementSubList) GetLen() uint16
func (*UEPolicySectionManagementSubList) GetPlmnDigit ¶
func (u *UEPolicySectionManagementSubList) GetPlmnDigit() (int, int)
func (*UEPolicySectionManagementSubList) MarshalBinary ¶
func (u *UEPolicySectionManagementSubList) MarshalBinary() ([]byte, error)
func (*UEPolicySectionManagementSubList) SetLen ¶
func (u *UEPolicySectionManagementSubList) SetLen(length uint16)
func (*UEPolicySectionManagementSubList) SetPlmnDigit ¶
func (u *UEPolicySectionManagementSubList) SetPlmnDigit(mcc, mnc int) error
type UEPolicySectionManagementSubListContents ¶
type UEPolicySectionManagementSubListContents []Instruction
func (*UEPolicySectionManagementSubListContents) AppendInstruction ¶
func (u *UEPolicySectionManagementSubListContents) AppendInstruction(ins Instruction)
func (*UEPolicySectionManagementSubListContents) MarshalBinary ¶
func (u *UEPolicySectionManagementSubListContents) MarshalBinary() ([]byte, error)
Marshal Strcuture into byte slice
func (*UEPolicySectionManagementSubListContents) UnmarshalBinary ¶
func (u *UEPolicySectionManagementSubListContents) UnmarshalBinary(b []byte) error
UnMarshal byte slice into Strctute
type UEPolicySectionManagementSubResult ¶
type UEPolicySectionManagementSubResult struct { Len uint16 PlmnDigit1 uint8 // ref D.6.3.3, PLMN1=MCC digit 2 + MCC digit 1 PlmnDigit2 uint8 // PLMN2=MNC digit 3 + MCC digit 3 PlmnDigit3 uint8 // PLMN3=MNC digit 2 + MNC digit 1 Mcc *int // not specific in specm just recode the origin MCC before encoding Mnc *int // not specific in specm just recode the origin MNC before encoding UEPolicySectionManagementSubResultContents UEPolicySectionManagementSubResultContents // a UE policy section code (UPSC) containing a unique value within the PLMN or SNPN selected by the PCF. UpscGenerator IDGenerator }
func (*UEPolicySectionManagementSubResult) GetLen ¶
func (u *UEPolicySectionManagementSubResult) GetLen() uint16
func (*UEPolicySectionManagementSubResult) GetPlmnDigit ¶
func (u *UEPolicySectionManagementSubResult) GetPlmnDigit() (int, int)
func (*UEPolicySectionManagementSubResult) MarshalBinary ¶
func (u *UEPolicySectionManagementSubResult) MarshalBinary() ([]byte, error)
func (*UEPolicySectionManagementSubResult) SetLen ¶
func (u *UEPolicySectionManagementSubResult) SetLen(length uint16)
func (*UEPolicySectionManagementSubResult) SetPlmnDigit ¶
func (u *UEPolicySectionManagementSubResult) SetPlmnDigit(mcc, mnc int) error
type UEPolicySectionManagementSubResultContents ¶
type UEPolicySectionManagementSubResultContents []Result
func (*UEPolicySectionManagementSubResultContents) AppendResult ¶
func (u *UEPolicySectionManagementSubResultContents) AppendResult(ins Result)
func (*UEPolicySectionManagementSubResultContents) MarshalBinary ¶
func (u *UEPolicySectionManagementSubResultContents) MarshalBinary() ([]byte, error)
Marshal Strcuture into byte slice
func (*UEPolicySectionManagementSubResultContents) UnmarshalBinary ¶
func (u *UEPolicySectionManagementSubResultContents) UnmarshalBinary(b []byte) error
UnMarshal byte slice into Strctute
type UePolDeliveryHeader ¶
type UePolDeliveryHeader struct {
Octet [2]uint8
}
func (*UePolDeliveryHeader) GetHeaderMessageType ¶
func (u *UePolDeliveryHeader) GetHeaderMessageType() (messageType uint8)
func (*UePolDeliveryHeader) GetHeaderPTI ¶
func (u *UePolDeliveryHeader) GetHeaderPTI() (pTI uint8)
PTI(Procedure transaction identity)
func (*UePolDeliveryHeader) SetHeaderMessageType ¶
func (u *UePolDeliveryHeader) SetHeaderMessageType(messageType uint8)
func (*UePolDeliveryHeader) SetHeaderPTI ¶
func (u *UePolDeliveryHeader) SetHeaderPTI(PTI uint8)
PTI(Procedure transaction identity) is assign by PCF
type UePolDeliverySer ¶
type UePolDeliverySer struct { UePolDeliveryHeader *ManageUEPolicyCommand // D.2.1.2 Network-requested UE policy management procedure initiation *ManageUEPolicyComplete // D.2.1.3 Network-requested UE policy management procedure accepted by the UE *ManageUEPolicyReject // D.2.1.4 Network-requested UE policy management procedure not accepted by the UE }
TS 124 501 V17.7.1, page.893, UE policy delivery service
func NewUePolDeliverySer ¶
func NewUePolDeliverySer() *UePolDeliverySer
func (*UePolDeliverySer) UePolDeliverySerDecode ¶
func (u *UePolDeliverySer) UePolDeliverySerDecode(byteArray []byte) error
TODO: add other Decoding processes
func (*UePolDeliverySer) UePolDeliverySerEncode ¶
func (u *UePolDeliverySer) UePolDeliverySerEncode() ([]byte, error)
TODO: add other Encoding processes
type UePolicyContainer ¶
type UePolicyContainer = UePolDeliverySer
UePolicyContainer is a kind of NAS_DLTransport message UePolicyContainer maps to UE_policy_delivery_service TS 124 501 V17.7.1, page.760, Table 9.11.3.39.1: Payload container information element
type UePolicyDeliveryServiceMsgType ¶
type UePolicyDeliveryServiceMsgType struct {
Octet uint8
}
TS24.501 v17.7.1, D.6.1
func (*UePolicyDeliveryServiceMsgType) GetMessageIdentity ¶
func (m *UePolicyDeliveryServiceMsgType) GetMessageIdentity(MessageIdentity uint8) uint8
func (*UePolicyDeliveryServiceMsgType) SetMessageIdentity ¶
func (m *UePolicyDeliveryServiceMsgType) SetMessageIdentity(MessageIdentity uint8)
Source Files
¶
- NAS_UePolicyDeliveryServiceMsgType.go
- UPSC_Generator.go
- UePolicyContainer.go
- UePolicyContainer_Instruction.go
- UePolicyContainer_ManageUEPolicyCommand.go
- UePolicyContainer_ManageUEPolicyComplete.go
- UePolicyContainer_ManageUEPolicyReject.go
- UePolicyContainer_Result.go
- UePolicyContainer_UEPolicyNetworkClassmark.go
- UePolicyContainer_UEPolicyPartType.go
- UePolicyContainer_UEPolicyParts.go
- UePolicyContainer_UEPolicySectionManagementList.go
- UePolicyContainer_UEPolicySectionManagementResult.go
- UePolicyContainer_UEPolicySectionManagementSubList.go
- UePolicyContainer_UEPolicySectionManagementSubResult.go