Documentation ¶
Index ¶
Constants ¶
View Source
const ( LengthIEI = 1 LengthLengthIndicator = 1 LengthRejectCause = 3 )
length in number of bytes
View Source
const ( IELengthMessageType = 1 IELengthTMSI = 6 IELengthIMSIMin = 6 IELengthIMSIMax = 10 IELengthMMEName = 57 IELengthVLRNameMin = 3 IELengthMMInformationMin = 3 IELengthLocationAreaIdentifier = 7 IELengthSGsCause = 3 IELengthCLIMin = 3 IELengthCLIMax = 14 IELengthGlobalCNId = 7 IELengthLCSIndicator = 3 IELengthLCSClientIdentityMin = 3 IELengthSSCode = 3 IELengthChannelNeeded = 3 IELengthEMLPPPriority = 3 IELengthServiceIndicator = 3 IELengthNASMessageContainerMin = 4 IELengthNASMessageContainerMax = 253 IELengthErroneousMessageMin = 3 IELengthIMSIDetachFromEPSServiceType = 3 IELengthIMSIDetachFromNonEPSServiceType = 3 IELengthEPSLocationUpdateType = 3 IELengthTMSIStatus = 3 IELengthIMEISV = 10 IELengthTAI = 7 IELengthEUTRANCellGlobalIdentity = 9 IELengthUETimeZone = 3 IELengthMobileStationClassmark2 = 5 IELengthUEEMMMode = 3 IELengthMobileIdentityMin = 6 IELengthMobileIdentityMax = 10 IELengthRejectCause = 3 )
length of information element in number of bytes
View Source
const ( MobileIdentityTypeMask = 0x07 MobileIdentityIMSI = 0x01 MobileIdentityTMSI = 0x04 MobileIdentityTMSIFirstByte = 0xF4 )
special encoding for fields
Variables ¶
View Source
var IEINamesByCode = map[InformationElementIdentifier]string{ IEIIMSI: "IMSI", IEIVLRName: "VLRName", IEITMSI: "TMSI", IEILocationAreaIdentifier: "LocationAreaIdentifier", IEIChannelNeeded: "ChannelNeeded", IEIeMLPPPriority: "eMLPPPriority", IEITMSIStatus: "TMSIStatus", IEISGsCause: "SGsCause", IEIMMEName: "MMEName", IEIEPSLocationUpdateType: "LocationUpdateType", IEIGlobalCNId: "GlobalCNId", IEIMobileIdentity: "MobileIdentity", IEIRejectCause: "RejectCause", IEIIMSIDetachFromEPSServiceType: "IMSIDetachFromEPSServiceType", IEIIMSIDetachFromNonEPSServiceType: "IMSIDetachFromNonEPSServiceType", IEIIMEISV: "IMEISV", IEINASMessageContainer: "NASMessageContainer", IEIMMInformation: "MMInformation", IEIErroneousMessage: "ErroneousMessage", IEICLI: "CLI", IEILCSClientIdentity: "LCSClientIdentity", IEILCSIndicator: "IEILCSIndicator", IEISSCode: "SSCode", IEIServiceIndicator: "ServiceIndicator", IEIUETimeZone: "UETimeZone", IEIMobileStationClassmark2: "MobileStationClassmark2", IEITAI: "TAI", IEIEUTRANCellGlobalIdentity: "EUTRANCellGlobalIdentity", IEIUEEMMMode: "UEEMMMode", }
View Source
var MsgTypeNameByCode = map[SGsMessageType]string{ SGsAPLocationUpdateAccept: "SGsAPLocationUpdateAccept", SGsAPLocationUpdateReject: "SGsAPLocationUpdateReject", SGsAPIMSIDetachAck: "SGsAPIMSIDetachAck", SGsAPPagingRequest: "SGsAPPagingRequest", SGsAPEPSDetachAck: "SGsAPEPSDetachAck", SGsAPAlertRequest: "SGsAPAlertRequest", SGsAPDownlinkUnitdata: "SGsAPDownlinkUnitdata", SGsAPMMInformationRequest: "SGsAPMMInformationRequest", SGsAPReleaseRequest: "SGsAPReleaseRequest", SGsAPServiceAbortRequest: "SGsAPServiceAbortRequest", SGsAPStatus: "SGsAPStatus", SGsAPResetAck: "SGsAPResetAck", SGsAPResetIndication: "SGsAPResetIndication", }
Functions ¶
This section is empty.
Types ¶
type InformationElementIdentifier ¶
type InformationElementIdentifier byte
InformationElementIdentifier is a byte for identifying an element in a message
const ( IEIIMSI InformationElementIdentifier = 0x01 IEIVLRName InformationElementIdentifier = 0x02 IEITMSI InformationElementIdentifier = 0x03 IEILocationAreaIdentifier InformationElementIdentifier = 0x04 IEIChannelNeeded InformationElementIdentifier = 0x05 IEIeMLPPPriority InformationElementIdentifier = 0x06 IEITMSIStatus InformationElementIdentifier = 0x07 IEISGsCause InformationElementIdentifier = 0x08 IEIMMEName InformationElementIdentifier = 0x09 IEIEPSLocationUpdateType InformationElementIdentifier = 0x0A IEIGlobalCNId InformationElementIdentifier = 0x0B IEIMobileIdentity InformationElementIdentifier = 0x0E IEIRejectCause InformationElementIdentifier = 0x0F IEIIMSIDetachFromEPSServiceType InformationElementIdentifier = 0x10 IEIIMSIDetachFromNonEPSServiceType InformationElementIdentifier = 0x11 IEIIMEISV InformationElementIdentifier = 0x15 IEINASMessageContainer InformationElementIdentifier = 0x16 IEIMMInformation InformationElementIdentifier = 0x17 IEIErroneousMessage InformationElementIdentifier = 0x1B IEICLI InformationElementIdentifier = 0x1C IEILCSClientIdentity InformationElementIdentifier = 0x1D IEILCSIndicator InformationElementIdentifier = 0x1E IEISSCode InformationElementIdentifier = 0x1F IEIServiceIndicator InformationElementIdentifier = 0x20 IEIUETimeZone InformationElementIdentifier = 0x21 IEIMobileStationClassmark2 InformationElementIdentifier = 0x22 IEITAI InformationElementIdentifier = 0x23 IEIEUTRANCellGlobalIdentity InformationElementIdentifier = 0x24 IEIUEEMMMode InformationElementIdentifier = 0x25 )
Information Element Identifier mapping
type SGsMessageType ¶
type SGsMessageType byte
SGsMessageType is the first byte in the SGs message for identifying the type of a message
const ( SGsAPPagingRequest SGsMessageType = 0x01 SGsAPPagingReject SGsMessageType = 0x02 SGsAPServiceRequest SGsMessageType = 0x06 SGsAPDownlinkUnitdata SGsMessageType = 0x07 SGsAPUplinkUnitdata SGsMessageType = 0x08 SGsAPLocationUpdateRequest SGsMessageType = 0x09 SGsAPLocationUpdateAccept SGsMessageType = 0x0A SGsAPLocationUpdateReject SGsMessageType = 0x0B SGsAPTMSIReallocationComplete SGsMessageType = 0x0C SGsAPAlertRequest SGsMessageType = 0x0D SGsAPAlertAck SGsMessageType = 0x0E SGsAPAlertReject SGsMessageType = 0x0F SGsAPUEActivityIndication SGsMessageType = 0x10 SGsAPEPSDetachIndication SGsMessageType = 0x11 SGsAPEPSDetachAck SGsMessageType = 0x12 SGsAPIMSIDetachIndication SGsMessageType = 0x13 SGsAPIMSIDetachAck SGsMessageType = 0x14 SGsAPResetIndication SGsMessageType = 0x15 SGsAPResetAck SGsMessageType = 0x16 SGsAPServiceAbortRequest SGsMessageType = 0x17 SGsAPMMInformationRequest SGsMessageType = 0x1A SGsAPReleaseRequest SGsMessageType = 0x1B SGsAPStatus SGsMessageType = 0x1D SGsAPUEUnreachable SGsMessageType = 0x1F )
Message type mapping
Click to show internal directories.
Click to hide internal directories.