mme

package
v0.0.0-...-ebafd5b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 21, 2024 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	S1AP_PORT_NUMBER = 36412
)
View Source
const ULR_FLAGS = 1<<1 | 1<<5

Variables

This section is empty.

Functions

func SCTPBuffer

func SCTPBuffer() []byte

func SCTPDumpBuf

func SCTPDumpBuf(buf []byte)

func SCTPInfoSize

func SCTPInfoSize() int

Types

type AIA

type AIA struct {
	SessionID          datatype.UTF8String       `avp:"Session-Id"`
	ResultCode         datatype.Unsigned32       `avp:"Result-Code"`
	OriginHost         datatype.DiameterIdentity `avp:"Origin-Host"`
	OriginRealm        datatype.DiameterIdentity `avp:"Origin-Realm"`
	AuthSessionState   datatype.UTF8String       `avp:"Auth-Session-State"`
	ExperimentalResult ExperimentalResult        `avp:"Experimental-Result"`
	AIs                []AuthenticationInfo      `avp:"Authentication-Info"`
}

type AMBR

type AMBR struct {
	MaxRequestedBandwidthUL uint32 `avp:"Max-Requested-Bandwidth-UL"`
	MaxRequestedBandwidthDL uint32 `avp:"Max-Requested-Bandwidth-DL"`
}

type APNConfiguration

type APNConfiguration struct {
	ContextIdentifier       uint32                  `avp:"Context-Identifier"`
	PDNType                 int32                   `avp:"PDN-Type"`
	ServiceSelection        string                  `avp:"Service-Selection"`
	EPSSubscribedQoSProfile EPSSubscribedQoSProfile `avp:"EPS-Subscribed-QoS-Profile"`
	AMBR                    AMBR                    `avp:"AMBR"`
}

type APNConfigurationProfile

type APNConfigurationProfile struct {
	ContextIdentifier                     uint32           `avp:"Context-Identifier"`
	AllAPNConfigurationsIncludedIndicator int32            `avp:"All-APN-Configurations-Included-Indicator"`
	APNConfiguration                      APNConfiguration `avp:"APN-Configuration"`
}

type AllocationRetentionPriority

type AllocationRetentionPriority struct {
	PriorityLevel           uint32 `avp:"Priority-Level"`
	PreemptionCapability    int32  `avp:"Pre-emption-Capability"`
	PreemptionVulnerability int32  `avp:"Pre-emption-Vulnerability"`
}

type AuthenticationInfo

type AuthenticationInfo struct {
	EUtranVector EUtranVector `avp:"E-UTRAN-Vector"`
}

type DiamClient

type DiamClient struct {
	// contains filtered or unexported fields
}

DiamClient is S6A diameter protocol client.

func NewDiamClient

func NewDiamClient(opt *DiamOpt) *DiamClient

NewDiamClient create new Diameter session for HSS.

func (*DiamClient) Start

func (d *DiamClient) Start()

Start initiate diameter client start.

func (*DiamClient) Stop

func (d *DiamClient) Stop()

Stop stops diameter client.

type DiamOpt

type DiamOpt struct {
	// contains filtered or unexported fields
}

DiamOpt is DiamClient options.

func (*DiamOpt) AppID

func (opt *DiamOpt) AppID() uint32

AppID ...

func (*DiamOpt) HssAddress

func (opt *DiamOpt) HssAddress() string

HssAddress ...

func (*DiamOpt) HssPort

func (opt *DiamOpt) HssPort() string

HssPort return HSSPort value.

type DiamParam

type DiamParam struct {
	// contains filtered or unexported fields
}

DiamParam store parameter for HSS session.

type EPSSubscribedQoSProfile

type EPSSubscribedQoSProfile struct {
	QoSClassIdentifier          int32                       `avp:"QoS-Class-Identifier"`
	AllocationRetentionPriority AllocationRetentionPriority `avp:"Allocation-Retention-Priority"`
}

type EUtranVector

type EUtranVector struct {
	RAND  datatype.OctetString `avp:"RAND"`
	XRES  datatype.OctetString `avp:"XRES"`
	AUTN  datatype.OctetString `avp:"AUTN"`
	KASME datatype.OctetString `avp:"KASME"`
}

type ExperimentalResult

type ExperimentalResult struct {
	ExperimentalResultCode datatype.Unsigned32 `avp:"Experimental-Result-Code"`
}

type FSM

type FSM struct {
}

FSM for MME session.

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server is MME top level structure.

func NewServer

func NewServer() *Server

func (*Server) ListenAddrAdd

func (*Server) ListenAddrAdd(ips []net.IP)

func (*Server) ListenAddrDel

func (*Server) ListenAddrDel(ips []net.IP)

func (*Server) ListenAddrSet

func (*Server) ListenAddrSet(ips []net.IP)

ListenAddrSet set local listen address of the MME server. When ips is empty slice, listen address will be cleared. That means all of local address will be listened.

func (*Server) Start

func (s *Server) Start() error

Start function initiate MME services.

func (*Server) Stop

func (s *Server) Stop() error

Stop() will block until all of the goroutines stop.

type ServerConfig

type ServerConfig struct {
	// contains filtered or unexported fields
}

ServerConfig keep MME server configuration.

type SubscriptionData

type SubscriptionData struct {
	MSISDN                        datatype.OctetString    `avp:"MSISDN"`
	AccessRestrictionData         uint32                  `avp:"Access-Restriction-Data"`
	SubscriberStatus              int32                   `avp:"Subscriber-Status"`
	NetworkAccessMode             int32                   `avp:"Network-Access-Mode"`
	AMBR                          AMBR                    `avp:"AMBR"`
	APNConfigurationProfile       APNConfigurationProfile `avp:"APN-Configuration-Profile"`
	SubscribedPeriodicRauTauTimer uint32                  `avp:"Subscribed-Periodic-RAU-TAU-Timer"`
}

type ULA

type ULA struct {
	SessionID          string                    `avp:"Session-Id"`
	ULAFlags           uint32                    `avp:"ULA-Flags"`
	SubscriptionData   SubscriptionData          `avp:"Subscription-Data"`
	AuthSessionState   int32                     `avp:"Auth-Session-State"`
	ResultCode         uint32                    `avp:"Result-Code"`
	OriginHost         datatype.DiameterIdentity `avp:"Origin-Host"`
	OriginRealm        datatype.DiameterIdentity `avp:"Origin-Realm"`
	ExperimentalResult ExperimentalResult        `avp:"Experimental-Result"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL