Documentation ¶
Overview ¶
Package smparser provides message parsers for the state machine.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // ErrMissingSessionID is returned by Parse when // the message does not contain a Session-Id AVP. ErrMissingSessionID = errors.New("missing Session-Id") // ErrMissingResultCode is returned by Parse when // the message does nt contain a Result-Code AVP. ErrMissingResultCode = errors.New("missing Result-Code") // ErrMissingOriginHost is returned by Parse when // the message does not contain an Origin-Host AVP. ErrMissingOriginHost = errors.New("missing Origin-Host") // ErrMissingOriginRealm is returned by Parse when // the message does not contain an Origin-Realm AVP. ErrMissingOriginRealm = errors.New("missing Origin-Realm") // ErrMissingVendorSpecificAppId is returned by Parse when // the message does not contain an Vendor-Specific-Application-Id AVP. ErrMissingVendorSpecificAppId = errors.New("missing Vendor-Specific-Application-Id") // ErrMissingDestHost is returned by Parse when // the message does not contain an Destination-Host AVP. ErrMissingDestHost = errors.New("missing Destination-Host") // ErrMissingDestRealm is returned by Parse when // the message does not contain an Destination-Realm AVP. ErrMissingDestRealm = errors.New("missing Destination-Realm") // ErrMissingUserName is returned by Parse when // the message does not contain an User-Name AVP. ErrMissingUserName = errors.New("missing User-Name") // ErrMissingUserName is returned by Parse when // the message does not contain an User-Identity AVP. ErrMissingUserIdentity = errors.New("missing User-Identity") // ErrMissingUserName is returned by Parse when // the message does not contain an Server-Name AVP. ErrMissingServerName = errors.New("missing Server-Name") // ErrMissingUserName is returned by Parse when // the message does not contain an Data-Reference AVP. ErrMissingDataReference = errors.New("missing Data-Reference") // ErrMissingUserData is returned by Parse when // the message does not contain an User-Data AVP. ErrMissingUserData = errors.New("missing User-Data") // ErrMissingScAddress is returned by Parse when // the message does not contain an SC-Address AVP. ErrMissingScAddress = errors.New("missing SC-Address") // ErrMissingSmDeliveryOutcome is returned by Parse when // the message does not contain an SM-Delivery-Outcome AVP. ErrMissingSmDeliveryOutcome = errors.New("missing SM-Delivery-Outcome") // ErrMissingSmRpUi is returned by Parse when // the message does not contain an SM-RP-UI AVP. ErrMissingSmRpUi = errors.New("missing SM-RP-UI") // ErrMissingUserIdentifier is returned by Parse when // the message does not contain an User-Identifier AVP. ErrMissingUserIdentifier = errors.New("missing User-Identifier") // ErrMissingApplication is returned by Parse when // the CER does not contain any Acct-Application-Id or // Auth-Application-Id, or their embedded versions in // the Vendor-Specific-Application-Id AVP. ErrMissingApplication = errors.New("missing application") // ErrNoCommonSecurity is returned by Parse when // the CER contains the Inband-Security-Id. // We currently don't support that. ErrNoCommonSecurity = errors.New("no common security") // ErrNoCommonApplication is returned by Parse when the // application IDs in the CER don't match the applications // defined in our dictionary. ErrNoCommonApplication = errors.New("no common application") )
Functions ¶
This section is empty.
Types ¶
type ALA ¶ added in v4.0.15
type ALA struct { SessionId datatype.UTF8String `avp:"Session-Id"` Drmp *datatype.Enumerated `avp:"DRMP,omitempty"` VendorSpecificApplicationId *basetype.VendorSpecificApplicationId `avp:"Vendor-Specific-Application-Id,omitempty"` ResultCode *datatype.Unsigned32 `avp:"Result-Code,omitempty"` ExperimentalResult *basetype.ExperimentalResult `avp:"Experimental-Result,omitempty"` AuthSessionState datatype.Enumerated `avp:"Auth-Session-State"` OriginHost datatype.DiameterIdentity `avp:"Origin-Host"` OriginRealm datatype.DiameterIdentity `avp:"Origin-Realm"` SupportedFeatures []basetype.SupportedFeatures `avp:"Supported-Features,omitempty"` FailedAvp basetype.FailedAVP `avp:"Failed-AVP,omitempty"` ProxyInfo []basetype.ProxyInfo `avp:"Proxy-Info,omitempty"` RouteRecord []datatype.DiameterIdentity `avp:"Route-Record,omitempty"` }
ALA is a Alert-Service-Centre-Answer message. See 3GPP TS 29.338 section 5.3.2.6 for details.
type ALR ¶ added in v4.0.15
type ALR struct { SessionId datatype.UTF8String `avp:"Session-Id"` Drmp *datatype.Enumerated `avp:"DRMP,omitempty"` VendorSpecificApplicationId *basetype.VendorSpecificApplicationId `avp:"Vendor-Specific-Application-Id,omitempty"` AuthSessionState datatype.Enumerated `avp:"Auth-Session-State"` OriginHost datatype.DiameterIdentity `avp:"Origin-Host"` OriginRealm datatype.DiameterIdentity `avp:"Origin-Realm"` DestinationHost *datatype.DiameterIdentity `avp:"Destination-Host,omitempty"` DestinationRealm datatype.DiameterIdentity `avp:"Destination-Realm"` ScAddress datatype.OctetString `avp:"SC-Address"` UserIdentifier basetype.UserIdentifier `avp:"User-Identifier"` SmsmiCorrelationId *basetype.SMSMICorrelationID `avp:"SMSMI-Correlation-ID,omitempty"` MaximumUeAvailabilityTime *datatype.Time `avp:"Maximum-UE-Availability-Time,omitempty"` SmsGmscAlertEvent *datatype.Unsigned32 `avp:"SMS-GMSC-Alert-Event,omitempty"` ServingNode *basetype.ServingNode `avp:"Serving-Node,omitempty"` SupportedFeatures []basetype.SupportedFeatures `avp:"Supported-Features,omitempty"` ProxyInfo []basetype.ProxyInfo `avp:"Proxy-Info,omitempty"` RouteRecord []datatype.DiameterIdentity `avp:"Route-Record,omitempty"` }
ALR is a Alert-Service-Centre-Request message. See 3GPP TS 29.338 section 5.3.2.5 for details.
type Application ¶
type Application struct { AcctApplicationID []*diam.AVP AuthApplicationID []*diam.AVP VendorSpecificApplicationID []*diam.AVP // contains filtered or unexported fields }
Application validates accounting, auth, and vendor specific application IDs.
func (*Application) ID ¶
func (app *Application) ID() []uint32
ID returns a list of supported application IDs. Must be called after Parse, otherwise it returns an empty array.
type CEA ¶
type CEA struct { ResultCode uint32 `avp:"Result-Code"` OriginHost datatype.DiameterIdentity `avp:"Origin-Host"` OriginRealm datatype.DiameterIdentity `avp:"Origin-Realm"` OriginStateID uint32 `avp:"Origin-State-Id"` AcctApplicationID []*diam.AVP `avp:"Acct-Application-Id"` AuthApplicationID []*diam.AVP `avp:"Auth-Application-Id"` VendorSpecificApplicationID []*diam.AVP `avp:"Vendor-Specific-Application-Id"` FailedAVP []*diam.AVP `avp:"Failed-AVP"` ErrorMessage string `avp:"Error-Message"` // contains filtered or unexported fields }
CEA is a Capabilities-Exchange-Answer message. See RFC 6733 section 5.3.2 for details.
func (*CEA) Applications ¶
Applications return a list of supported Application IDs.
type CER ¶
type CER struct { OriginHost datatype.DiameterIdentity `avp:"Origin-Host"` OriginRealm datatype.DiameterIdentity `avp:"Origin-Realm"` OriginStateID *diam.AVP `avp:"Origin-State-Id"` InbandSecurityID *diam.AVP `avp:"Inband-Security-Id"` AcctApplicationID []*diam.AVP `avp:"Acct-Application-Id"` AuthApplicationID []*diam.AVP `avp:"Auth-Application-Id"` VendorSpecificApplicationID []*diam.AVP `avp:"Vendor-Specific-Application-Id"` // contains filtered or unexported fields }
CER is a Capabilities-Exchange-Request message. See RFC 6733 section 5.3.1 for details.
func (*CER) Applications ¶
Applications return a list of supported Application IDs.
func (*CER) Parse ¶
Parse parses and validates the given message, and returns nil when all AVPs are ok, and all accounting or authentication applications in the CER match the applications in our dictionary. If one or more mandatory AVPs are missing, it returns a nil failedAVP and a proper error. If all mandatory AVPs are present but no common application is found, then it returns the failedAVP (with the application that we don't support in our dictionary) and an error. Another cause for error is the presence of Inband Security, we don't support that.
type DWA ¶
type DWA struct { ResultCode uint32 `avp:"Result-Code"` OriginStateID uint32 `avp:"Origin-State-Id"` }
DWA is a Device-Watchdog-Answer message. See RFC 6733 section 5.5.2 for details.
type DWR ¶
type DWR struct { OriginHost datatype.DiameterIdentity `avp:"Origin-Host"` OriginRealm datatype.DiameterIdentity `avp:"Origin-Realm"` OriginStateID *diam.AVP `avp:"Origin-State-Id"` }
DWR is a Device-Watchdog-Request message. See RFC 6733 section 5.5.1 for details.
type ErrFailedResultCode ¶
type ErrFailedResultCode struct {
*CEA
}
ErrFailedResultCode is returned by Dial or DialTLS when the handshake answer (CEA) contains a Result-Code AVP that is not success (2001).
func (ErrFailedResultCode) Error ¶
func (e ErrFailedResultCode) Error() string
Error implements the error interface.
type ErrUnexpectedAVP ¶
ErrUnexpectedAVP is returned by Parse when the code of the AVP passed as AcctApplicationID, AuthApplicationID or VendorSpecificApplicationID and its embedded AVPs do not match their names.
func (*ErrUnexpectedAVP) Error ¶
func (e *ErrUnexpectedAVP) Error() string
Error implements the error interface.
type OFA ¶ added in v4.0.15
type OFA struct { SessionId datatype.UTF8String `avp:"Session-Id"` Drmp *datatype.Enumerated `avp:"DRMP,omitempty"` VendorSpecificApplicationId *basetype.VendorSpecificApplicationId `avp:"Vendor-Specific-Application-Id,omitempty"` ResultCode *datatype.Unsigned32 `avp:"Result-Code,omitempty"` ExperimentalResult *basetype.ExperimentalResult `avp:"Experimental-Result,omitempty"` AuthSessionState datatype.Enumerated `avp:"Auth-Session-State"` OriginHost datatype.DiameterIdentity `avp:"Origin-Host"` OriginRealm datatype.DiameterIdentity `avp:"Origin-Realm"` SupportedFeatures []basetype.SupportedFeatures `avp:"Supported-Features,omitempty"` SmDeliveryFailureCause *basetype.SMDeliveryFailureCause `avp:"SM-Delivery-Failure-Cause,omitempty"` SmRpUi *datatype.OctetString `avp:"SM-RP-UI,omitempty"` ExternalIdentifier *datatype.UTF8String `avp:"External-Identifier,omitempty"` FailedAvp basetype.FailedAVP `avp:"Failed-AVP,omitempty"` ProxyInfo []basetype.ProxyInfo `avp:"Proxy-Info,omitempty"` RouteRecord []datatype.DiameterIdentity `avp:"Route-Record,omitempty"` }
OFA refers to Mo-Forward-Short-Message-Answer. See 3GPP TS 29.338 Clause 6.3.2.4 for details
type OFR ¶ added in v4.0.15
type OFR struct { SessionId datatype.UTF8String `avp:"Session-Id"` Drmp *datatype.Enumerated `avp:"DRMP,omitempty"` VendorSpecificApplicationId *basetype.VendorSpecificApplicationId `avp:"Vendor-Specific-Application-Id,omitempty"` AuthSessionState datatype.Enumerated `avp:"Auth-Session-State"` OriginHost datatype.DiameterIdentity `avp:"Origin-Host"` OriginRealm datatype.DiameterIdentity `avp:"Origin-Realm"` DestinationHost *datatype.DiameterIdentity `avp:"Destination-Host,omitempty"` DestinationRealm datatype.DiameterIdentity `avp:"Destination-Realm"` ScAddress datatype.OctetString `avp:"SC-Address"` OfrFlags *datatype.Unsigned32 `avp:"OFR-Flags,omitempty"` SupportedFeatures []basetype.SupportedFeatures `avp:"Supported-Features,omitempty"` UserIdentifier basetype.UserIdentifier `avp:"User-Identifier"` SmRpUi datatype.OctetString `avp:"SM-RP-UI"` SmsmiCorrelationId *basetype.SMSMICorrelationID `avp:"SMSMI-Correlation-ID,omitempty"` SmDeliveryOutcome *basetype.SMDeliveryOutcome `avp:"SM-Delivery-Outcome,omitempty"` ProxyInfo []basetype.ProxyInfo `avp:"Proxy-Info,omitempty"` RouteRecord []datatype.DiameterIdentity `avp:"Route-Record,omitempty"` }
OFR refers to Mo-Forward-Short-Message-Request. See 3GPP TS 29.338 Clause 6.3.2.3 for details
type PNA ¶ added in v4.0.6
type PNA struct { SessionID datatype.UTF8String `avp:"Session-Id"` DRMP *datatype.Enumerated `avp:"DRMP,omitempty"` VendorSpecificApplicationId basetype.VendorSpecificApplicationId `avp:"Vendor-Specific-Application-Id"` ResultCode *datatype.Unsigned32 `avp:"Result-Code,omitempty"` ExperimentalResult *basetype.ExperimentalResult `avp:"Experimental-Result,omitempty"` AuthSessionState datatype.Enumerated `avp:"Auth-Session-State"` OriginHost datatype.DiameterIdentity `avp:"Origin-Host"` OriginRealm datatype.DiameterIdentity `avp:"Origin-Realm"` SupportedFeatures []basetype.SupportedFeatures `avp:"Supported-Features,omitempty"` FailedAVP basetype.FailedAVP `avp:"Failed-AVP,omitempty"` ProxyInfo []basetype.ProxyInfo `avp:"Proxy-Info,omitempty"` RouteRecord []datatype.DiameterIdentity `avp:"Route-Record,omitempty"` }
refer to 3GPP TS 29.329 6.1.8 Push-Notification-Answer
type PNR ¶ added in v4.0.6
type PNR struct { SessionID datatype.UTF8String `avp:"Session-Id"` DRMP *datatype.Enumerated `avp:"DRMP,omitempty"` VendorSpecificApplicationId basetype.VendorSpecificApplicationId `avp:"Vendor-Specific-Application-Id"` AuthSessionState datatype.Enumerated `avp:"Auth-Session-State"` OriginHost datatype.DiameterIdentity `avp:"Origin-Host"` OriginRealm datatype.DiameterIdentity `avp:"Origin-Realm"` DestinationHost datatype.DiameterIdentity `avp:"Destination-Host"` DestinationRealm datatype.DiameterIdentity `avp:"Destination-Realm"` SupportedFeatures []basetype.SupportedFeatures `avp:"Supported-Features,omitempty"` UserIdentity basetype.UserIdentity `avp:"User-Identity"` WildcardedPublicIdentity *datatype.UTF8String `avp:"Wildcarded-Public-Identity,omitempty"` WildcardedIMPU *datatype.UTF8String `avp:"Wildcarded-IMPU,omitempty"` UserName *datatype.UTF8String `avp:"User-Name,omitempty"` UserData datatype.OctetString `avp:"User-Data"` ProxyInfo []basetype.ProxyInfo `avp:"Proxy-Info,omitempty"` RouteRecord []datatype.DiameterIdentity `avp:"Route-Record,omitempty"` }
refer to 3GPP TS 29.329 6.1.7 Push-Notification-Request
type PUA ¶ added in v4.0.7
type PUA struct { SessionID datatype.UTF8String `avp:"Session-Id"` DRMP *datatype.Enumerated `avp:"DRMP,omitempty"` VendorSpecificApplicationId basetype.VendorSpecificApplicationId `avp:"Vendor-Specific-Application-Id"` ResultCode *datatype.Unsigned32 `avp:"Result-Code,omitempty"` ExperimentalResult *basetype.ExperimentalResult `avp:"Experimental-Result,omitempty"` AuthSessionState datatype.Enumerated `avp:"Auth-Session-State"` OriginHost datatype.DiameterIdentity `avp:"Origin-Host"` OriginRealm datatype.DiameterIdentity `avp:"Origin-Realm"` WildcardedPublicIdentity *datatype.UTF8String `avp:"Wildcarded-Public-Identity,omitempty"` WildcardedIMPU *datatype.UTF8String `avp:"Wildcarded-IMPU,omitempty"` RepositoryDataID *basetype.RepositoryDataID `avp:"Repository-Data-ID,omitempty"` DataReference datatype.Enumerated `avp:"Data-Reference,omitempty"` SupportedFeatures []basetype.SupportedFeatures `avp:"Supported-Features,omitempty"` OCSupportedFeatures *basetype.OCSupportedFeatures `avp:"OC-Supported-Features,omitempty"` OCOLR *basetype.OCOLR `avp:"OC-OLR,omitempty"` Load *basetype.Load `avp:"Load,omitempty"` FailedAVP basetype.FailedAVP `avp:"Failed-AVP,omitempty"` ProxyInfo []basetype.ProxyInfo `avp:"Proxy-Info,omitempty"` RouteRecord []datatype.DiameterIdentity `avp:"Route-Record,omitempty"` }
refer to 3GPP TS 29.329 6.1.4 Profile-Update-Answer
type PUR ¶ added in v4.0.7
type PUR struct { SessionID datatype.UTF8String `avp:"Session-Id"` DRMP *datatype.Enumerated `avp:"DRMP,omitempty"` VendorSpecificApplicationId basetype.VendorSpecificApplicationId `avp:"Vendor-Specific-Application-Id"` AuthSessionState datatype.Enumerated `avp:"Auth-Session-State"` OriginHost datatype.DiameterIdentity `avp:"Origin-Host"` OriginRealm datatype.DiameterIdentity `avp:"Origin-Realm"` DestinationHost *datatype.DiameterIdentity `avp:"Destination-Host,omitempty"` DestinationRealm datatype.DiameterIdentity `avp:"Destination-Realm"` SupportedFeatures []basetype.SupportedFeatures `avp:"Supported-Features,omitempty"` UserIdentity basetype.UserIdentity `avp:"User-Identity"` WildcardedPublicIdentity *datatype.UTF8String `avp:"Wildcarded-Public-Identity,omitempty"` WildcardedIMPU *datatype.UTF8String `avp:"Wildcarded-IMPU,omitempty"` UserName *datatype.UTF8String `avp:"User-Name,omitempty"` DataReference []datatype.Enumerated `avp:"Data-Reference"` UserData datatype.OctetString `avp:"User-Data"` OCSupportedFeatures *basetype.OCSupportedFeatures `avp:"OC-Supported-Features,omitempty"` ProxyInfo []basetype.ProxyInfo `avp:"Proxy-Info,omitempty"` RouteRecord []datatype.DiameterIdentity `avp:"Route-Record,omitempty"` }
refer to 3GPP TS 29.329 6.1.3 Profile-Update-Request
type RDA ¶ added in v4.0.16
type RDA struct { SessionId datatype.UTF8String `avp:"Session-Id"` Drmp *datatype.Enumerated `avp:"DRMP,omitempty"` VendorSpecificApplicationId *basetype.VendorSpecificApplicationId `avp:"Vendor-Specific-Application-Id,omitempty"` ResultCode *datatype.Unsigned32 `avp:"Result-Code,omitempty"` ExperimentalResult *basetype.ExperimentalResult `avp:"Experimental-Result,omitempty"` AuthSessionState datatype.Enumerated `avp:"Auth-Session-State"` OriginHost datatype.DiameterIdentity `avp:"Origin-Host"` OriginRealm datatype.DiameterIdentity `avp:"Origin-Realm"` SupportedFeatures []basetype.SupportedFeatures `avp:"Supported-Features,omitempty"` UserIdentifier *basetype.UserIdentifier `avp:"User-Identifier,omitempty"` FailedAvp basetype.FailedAVP `avp:"Failed-AVP,omitempty"` ProxyInfo []basetype.ProxyInfo `avp:"Proxy-Info,omitempty"` RouteRecord []datatype.DiameterIdentity `avp:"Route-Record,omitempty"` }
RDA refers to Report-SM-Delivery-Status-Answer. See 3GPP TS 29.338 Clause 5.3.2.8 for details
type RDR ¶ added in v4.0.15
type RDR struct { SessionId datatype.UTF8String `avp:"Session-Id"` Drmp *datatype.Enumerated `avp:"DRMP,omitempty"` VendorSpecificApplicationId *basetype.VendorSpecificApplicationId `avp:"Vendor-Specific-Application-Id,omitempty"` AuthSessionState datatype.Enumerated `avp:"Auth-Session-State"` OriginHost datatype.DiameterIdentity `avp:"Origin-Host"` OriginRealm datatype.DiameterIdentity `avp:"Origin-Realm"` DestinationHost *datatype.DiameterIdentity `avp:"Destination-Host,omitempty"` DestinationRealm datatype.DiameterIdentity `avp:"Destination-Realm"` SupportedFeatures []basetype.SupportedFeatures `avp:"Supported-Features,omitempty"` UserIdentifier basetype.UserIdentifier `avp:"User-Identifier"` SmsmiCorrelationId *basetype.SMSMICorrelationID `avp:"SMSMI-Correlation-ID,omitempty"` ScAddress datatype.OctetString `avp:"SC-Address"` SmDeliveryOutcome basetype.SMDeliveryOutcome `avp:"SM-Delivery-Outcome"` RdrFlags *datatype.Unsigned32 `avp:"RDR-Flags,omitempty"` ProxyInfo []basetype.ProxyInfo `avp:"Proxy-Info,omitempty"` RouteRecord []datatype.DiameterIdentity `avp:"Route-Record,omitempty"` }
RDR refers to Report-SM-Delivery-Status-Request. See 3GPP TS 29.338 Clause 5.3.2.7 for details
type Role ¶
type Role uint8
Role stores information whether SM is initialized as a Client or a Server
type SNA ¶ added in v4.0.6
type SNA struct { SessionID datatype.UTF8String `avp:"Session-Id"` DRMP *datatype.Enumerated `avp:"DRMP,omitempty"` VendorSpecificApplicationId basetype.VendorSpecificApplicationId `avp:"Vendor-Specific-Application-Id"` AuthSessionState datatype.Enumerated `avp:"Auth-Session-State"` ResultCode *datatype.Unsigned32 `avp:"Result-Code,omitempty"` ExperimentalResult *basetype.ExperimentalResult `avp:"Experimental-Result,omitempty"` OriginHost datatype.DiameterIdentity `avp:"Origin-Host"` OriginRealm datatype.DiameterIdentity `avp:"Origin-Realm"` WildcardedPublicIdentity *datatype.UTF8String `avp:"Wildcarded-Public-Identity,omitempty"` WildcardedIMPU *datatype.UTF8String `avp:"Wildcarded-IMPU,omitempty"` SupportedFeatures []basetype.SupportedFeatures `avp:"Supported-Features,omitempty"` UserData *datatype.OctetString `avp:"User-Data,omitempty"` ExpiryTime *datatype.Time `avp:"Expiry-Time,omitempty"` OCSupportedFeatures *basetype.OCSupportedFeatures `avp:"OC-Supported-Features,omitempty"` OCOLR *basetype.OCOLR `avp:"OC-OLR,omitempty"` Load []basetype.Load `avp:"Load,omitempty"` FailedAVP basetype.FailedAVP `avp:"Failed-AVP,omitempty"` ProxyInfo []basetype.ProxyInfo `avp:"Proxy-Info,omitempty"` RouteRecord []datatype.DiameterIdentity `avp:"Route-Record,omitempty"` }
refer to 3GPP TS 29.329 6.1.6 Subscribe-Notifications-Answer
type SNR ¶ added in v4.0.6
type SNR struct { SessionID datatype.UTF8String `avp:"Session-Id"` DRMP *datatype.Enumerated `avp:"DRMP,omitempty"` VendorSpecificApplicationId basetype.VendorSpecificApplicationId `avp:"Vendor-Specific-Application-Id"` AuthSessionState datatype.Enumerated `avp:"Auth-Session-State"` OriginHost datatype.DiameterIdentity `avp:"Origin-Host"` OriginRealm datatype.DiameterIdentity `avp:"Origin-Realm"` DestinationHost *datatype.DiameterIdentity `avp:"Destination-Host,omitempty"` DestinationRealm datatype.DiameterIdentity `avp:"Destination-Realm"` SupportedFeatures []basetype.SupportedFeatures `avp:"Supported-Features,omitempty"` UserIdentity basetype.UserIdentity `avp:"User-Identity"` WildcardedPublicIdentity *datatype.UTF8String `avp:"Wildcarded-Public-Identity,omitempty"` WildcardedIMPU *datatype.UTF8String `avp:"Wildcarded-IMPU,omitempty"` ServiceIndication []datatype.OctetString `avp:"Service-Indication,omitempty"` SendDataIndication *datatype.Enumerated `avp:"Send-Data-Indication,omitempty"` ServerName *datatype.UTF8String `avp:"Server-Name,omitempty"` SubsReqType datatype.Enumerated `avp:"Subs-Req-Type"` DataReference []datatype.Enumerated `avp:"Data-Reference"` IdentitySet []datatype.Enumerated `avp:"Identity-Set,omitempty"` ExpiryTime *datatype.Time `avp:"Expiry-Time,omitempty"` DSAITag []datatype.OctetString `avp:"DSAI-Tag,omitempty"` OneTimeNotification *datatype.Enumerated `avp:"One-Time-Notification,omitempty"` UserName *datatype.UTF8String `avp:"User-Name,omitempty"` OCSupportedFeatures *basetype.OCSupportedFeatures `avp:"OC-Supported-Features,omitempty"` ProxyInfo []basetype.ProxyInfo `avp:"Proxy-Info,omitempty"` RouteRecord []datatype.DiameterIdentity `avp:"Route-Record,omitempty"` }
refer to 3GPP TS 29.329 6.1.5 Subscribe-Notifications-Request
type SRA ¶ added in v4.0.16
type SRA struct { SessionId datatype.UTF8String `avp:"Session-Id"` Drmp *datatype.Enumerated `avp:"DRMP,omitempty"` VendorSpecificApplicationId *basetype.VendorSpecificApplicationId `avp:"Vendor-Specific-Application-Id,omitempty"` ResultCode *datatype.Unsigned32 `avp:"Result-Code,omitempty"` ExperimentalResult *basetype.ExperimentalResult `avp:"Experimental-Result,omitempty"` AuthSessionState datatype.Enumerated `avp:"Auth-Session-State"` OriginHost datatype.DiameterIdentity `avp:"Origin-Host"` OriginRealm datatype.DiameterIdentity `avp:"Origin-Realm"` UserName *datatype.UTF8String `avp:"User-Name,omitempty"` SupportedFeatures []basetype.SupportedFeatures `avp:"Supported-Features,omitempty"` ServingNode *basetype.ServingNode `avp:"Serving-Node,omitempty"` AdditionalServingNode *basetype.AdditionalServingNode `avp:"Additional-Serving-Node,omitempty"` Smsf3gppAddress *basetype.SMSF3GPPAddress `avp:"SMSF-3GPP-Address,omitempty"` SmsfNon3gppAddress *basetype.SMSFNon3GPPAddress `avp:"SMSF-Non-3GPP-Address,omitempty"` Lmsi *datatype.OctetString `avp:"LMSI,omitempty"` UserIdentifier *basetype.UserIdentifier `avp:"User-Identifier,omitempty"` MwdStatus *datatype.Unsigned32 `avp:"MWD-Status,omitempty"` MmeAbsentUserDiagnosticSm *datatype.Unsigned32 `avp:"MME-Absent-User-Diagnostic-SM,omitempty"` MscAbsentUserDiagnosticSm *datatype.Unsigned32 `avp:"MSC-Absent-User-Diagnostic-SM,omitempty"` SgsnAbsentUserDiagnosticSm *datatype.Unsigned32 `avp:"SGSN-Absent-User-Diagnostic-SM,omitempty"` Smsf3gppAbsentUserDiagnosticSm *datatype.Unsigned32 `avp:"SMSF-3GPP-Absent-User-Diagnostic-SM,omitempty"` SmsfNon3gppAbsentUserDiagnosticSm *datatype.Unsigned32 `avp:"SMSF-Non-3GPP-Absent-User-Diagnostic-SM,omitempty"` FailedAvp basetype.FailedAVP `avp:"Failed-AVP,omitempty"` ProxyInfo []basetype.ProxyInfo `avp:"Proxy-Info,omitempty"` RouteRecord []datatype.DiameterIdentity `avp:"Route-Record,omitempty"` }
SRA refers to Send-Routing-info-for-SM-Answer See 3GPP TS 29.338 Clause 5.3.2.4 for details
type SRR ¶ added in v4.0.16
type SRR struct { SessionId datatype.UTF8String `avp:"Session-Id"` Drmp *datatype.Enumerated `avp:"DRMP,omitempty"` VendorSpecificApplicationId *basetype.VendorSpecificApplicationId `avp:"Vendor-Specific-Application-Id,omitempty"` AuthSessionState datatype.Enumerated `avp:"Auth-Session-State"` OriginHost datatype.DiameterIdentity `avp:"Origin-Host"` OriginRealm datatype.DiameterIdentity `avp:"Origin-Realm"` DestinationHost *datatype.DiameterIdentity `avp:"Destination-Host,omitempty"` DestinationRealm datatype.DiameterIdentity `avp:"Destination-Realm"` Msisdn *datatype.OctetString `avp:"MSISDN,omitempty"` UserName *datatype.UTF8String `avp:"User-Name,omitempty"` SmsmiCorrelationId *basetype.SMSMICorrelationID `avp:"SMSMI-Correlation-ID,omitempty"` SupportedFeatures []basetype.SupportedFeatures `avp:"Supported-Features,omitempty"` ScAddress *datatype.OctetString `avp:"SC-Address,omitempty"` SmRpMti *datatype.Enumerated `avp:"SM-RP-MTI,omitempty"` SmRpSmea *datatype.OctetString `avp:"SM-RP-SMEA,omitempty"` SrrFlags *datatype.Unsigned32 `avp:"SRR-Flags,omitempty"` SmDeliveryNotIntended *datatype.Enumerated `avp:"SM-Delivery-Not-Intended,omitempty"` ProxyInfo []basetype.ProxyInfo `avp:"Proxy-Info,omitempty"` RouteRecord []datatype.DiameterIdentity `avp:"Route-Record,omitempty"` }
SRR refers to Send-Routing-info-for-SM-Request See 3GPP TS 29.338 Clause 5.3.2.3 for details
type TFA ¶ added in v4.0.15
type TFA struct { SessionId datatype.UTF8String `avp:"Session-Id"` Drmp *datatype.Enumerated `avp:"DRMP,omitempty"` VendorSpecificApplicationId *basetype.VendorSpecificApplicationId `avp:"Vendor-Specific-Application-Id,omitempty"` ResultCode *datatype.Unsigned32 `avp:"Result-Code,omitempty"` ExperimentalResult *basetype.ExperimentalResult `avp:"Experimental-Result,omitempty"` AuthSessionState datatype.Enumerated `avp:"Auth-Session-State"` OriginHost datatype.DiameterIdentity `avp:"Origin-Host"` OriginRealm datatype.DiameterIdentity `avp:"Origin-Realm"` SupportedFeatures []basetype.SupportedFeatures `avp:"Supported-Features,omitempty"` AbsentUserDiagnosticSm *datatype.Unsigned32 `avp:"Absent-User-Diagnostic-SM,omitempty"` SmDeliveryFailureCause *basetype.SMDeliveryFailureCause `avp:"SM-Delivery-Failure-Cause,omitempty"` SmRpUi *datatype.OctetString `avp:"SM-RP-UI,omitempty"` RequestedRetransmissionTime *datatype.Time `avp:"Requested-Retransmission-Time,omitempty"` UserIdentifier *basetype.UserIdentifier `avp:"User-Identifier,omitempty"` FailedAvp basetype.FailedAVP `avp:"Failed-AVP,omitempty"` ProxyInfo []basetype.ProxyInfo `avp:"Proxy-Info,omitempty"` RouteRecord []datatype.DiameterIdentity `avp:"Route-Record,omitempty"` }
TFA refers to Mt-Forward-Short-Message-Answer. See 3GPP TS 29.338 Clause 6.3.2.6 for details
type TFR ¶ added in v4.0.15
type TFR struct { SessionId datatype.UTF8String `avp:"Session-Id"` Drmp *datatype.Enumerated `avp:"DRMP,omitempty"` VendorSpecificApplicationId *basetype.VendorSpecificApplicationId `avp:"Vendor-Specific-Application-Id,omitempty"` AuthSessionState datatype.Enumerated `avp:"Auth-Session-State"` OriginHost datatype.DiameterIdentity `avp:"Origin-Host"` OriginRealm datatype.DiameterIdentity `avp:"Origin-Realm"` DestinationHost datatype.DiameterIdentity `avp:"Destination-Host"` DestinationRealm datatype.DiameterIdentity `avp:"Destination-Realm"` UserName datatype.UTF8String `avp:"User-Name"` SupportedFeatures []basetype.SupportedFeatures `avp:"Supported-Features,omitempty"` SmsmiCorrelationId *basetype.SMSMICorrelationID `avp:"SMSMI-Correlation-ID,omitempty"` ScAddress datatype.OctetString `avp:"SC-Address"` SmRpUi datatype.OctetString `avp:"SM-RP-UI"` MmeNumberForMtSms *datatype.OctetString `avp:"MME-Number-for-MT-SMS,omitempty"` SgsnNumber *datatype.OctetString `avp:"SGSN-Number,omitempty"` TfrFlags *datatype.Unsigned32 `avp:"TFR-Flags,omitempty"` SmDeliveryTimer *datatype.Unsigned32 `avp:"SM-Delivery-Timer,omitempty"` SmDeliveryStartTime *datatype.Time `avp:"SM-Delivery-Start-Time,omitempty"` MaximumRetransmissionTime *datatype.Time `avp:"Maximum-Retransmission-Time,omitempty"` SmsGmscAddress *datatype.OctetString `avp:"SMS-GMSC-Address,omitempty"` ProxyInfo []basetype.ProxyInfo `avp:"Proxy-Info,omitempty"` RouteRecord []datatype.DiameterIdentity `avp:"Route-Record,omitempty"` }
TFR refers to Mt-Forward-Short-Message-Request. See 3GPP TS 29.338 Clause 6.3.2.5 for details
type UDA ¶ added in v4.0.23
type UDA struct { SessionID datatype.UTF8String `avp:"Session-Id"` DRMP *datatype.Enumerated `avp:"DRMP,omitempty"` VendorSpecificApplicationId basetype.VendorSpecificApplicationId `avp:"Vendor-Specific-Application-Id"` ResultCode *datatype.Unsigned32 `avp:"Result-Code,omitempty"` ExperimentalResult *basetype.ExperimentalResult `avp:"Experimental-Result,omitempty"` AuthSessionState datatype.Enumerated `avp:"Auth-Session-State"` OriginHost datatype.DiameterIdentity `avp:"Origin-Host"` OriginRealm datatype.DiameterIdentity `avp:"Origin-Realm"` SupportedFeatures []basetype.SupportedFeatures `avp:"Supported-Features,omitempty"` WildcardedPublicIdentity *datatype.UTF8String `avp:"Wildcarded-Public-Identity,omitempty"` WildcardedIMPU *datatype.UTF8String `avp:"Wildcarded-IMPU,omitempty"` UserData *datatype.OctetString `avp:"User-Data,omitempty"` OCSupportedFeatures *basetype.OCSupportedFeatures `avp:"OC-Supported-Features,omitempty"` OCOLR *basetype.OCOLR `avp:"OC-OLR,omitempty"` Load *basetype.Load `avp:"Load,omitempty"` FailedAVP basetype.FailedAVP `avp:"Failed-AVP,omitempty"` ProxyInfo []basetype.ProxyInfo `avp:"Proxy-Info,omitempty"` RouteRecord []datatype.DiameterIdentity `avp:"Route-Record,omitempty"` }
refer to 3GPP TS 29.329 6.1.2 User-Data-Answer
type UDR ¶ added in v4.0.6
type UDR struct { SessionID datatype.UTF8String `avp:"Session-Id"` DRMP *datatype.Enumerated `avp:"DRMP,omitempty"` VendorSpecificApplicationId basetype.VendorSpecificApplicationId `avp:"Vendor-Specific-Application-Id"` AuthSessionState datatype.Enumerated `avp:"Auth-Session-State"` OriginHost datatype.DiameterIdentity `avp:"Origin-Host"` OriginRealm datatype.DiameterIdentity `avp:"Origin-Realm"` DestinationHost *datatype.DiameterIdentity `avp:"Destination-Host,omitempty"` DestinationRealm datatype.DiameterIdentity `avp:"Destination-Realm"` SupportedFeatures []basetype.SupportedFeatures `avp:"Supported-Features,omitempty"` UserIdentity basetype.UserIdentity `avp:"User-Identity"` WildcardedPublicIdentity *datatype.UTF8String `avp:"Wildcarded-Public-Identity,omitempty"` WildcardedIMPU *datatype.UTF8String `avp:"Wildcarded-IMPU,omitempty"` ServerName *datatype.UTF8String `avp:"Server-Name,omitempty"` ServiceIndication []datatype.OctetString `avp:"Service-Indication,omitempty"` DataReference []datatype.Enumerated `avp:"Data-Reference"` IdentitySet []datatype.Enumerated `avp:"Identity-Set,omitempty"` RequestedDomain *datatype.Enumerated `avp:"Requested-Domain,omitempty"` CurrentLocation *datatype.Enumerated `avp:"Current-Location,omitempty"` DsaiTag []datatype.OctetString `avp:"DSAI-Tag,omitempty"` SessionPriority *datatype.Enumerated `avp:"Session-Priority,omitempty"` UserName *datatype.UTF8String `avp:"User-Name,omitempty"` RequestedNodes *datatype.Unsigned32 `avp:"Requested-Nodes,omitempty"` ServingNodeIndication *datatype.Enumerated `avp:"Serving-Node-Indication,omitempty"` PrePagingSupported *datatype.Enumerated `avp:"Pre-paging-Supported,omitempty"` LocalTimeZoneIndication *datatype.Enumerated `avp:"Local-Time-Zone-Indication,omitempty"` UDRFlags *datatype.Unsigned32 `avp:"UDR-Flags,omitempty"` CallReferenceInfo *basetype.CallReferenceInfo `avp:"Call-Reference-Info,omitempty"` OCSupportedFeatures *basetype.OCSupportedFeatures `avp:"OC-Supported-Features,omitempty"` ProxyInfo []basetype.ProxyInfo `avp:"Proxy-Info,omitempty"` RouteRecord []datatype.DiameterIdentity `avp:"Route-Record,omitempty"` }
refer to 3GPP TS 29.329 6.1.1 User-Data-Request