-- $Id: MAP-SM-DataTypes.asn 35843 2011-02-07 17:44:34Z etxrab $
-- 3GPP TS 29.002  V9.3.0 (2010-09)  
-- 17.7.6	Short message data types

MAP-SM-DataTypes {
   itu-t identified-organization (4) etsi (0) mobileDomain (0)
   gsm-Network (1) modules (3) map-SM-DataTypes (16) version12 (12)}

DEFINITIONS

IMPLICIT TAGS

::=

BEGIN

EXPORTS
	RoutingInfoForSM-Arg,
	RoutingInfoForSM-Res,
	MO-ForwardSM-Arg,
	MO-ForwardSM-Res,
	MT-ForwardSM-Arg,
	MT-ForwardSM-Res,
	ReportSM-DeliveryStatusArg,
	ReportSM-DeliveryStatusRes,
	AlertServiceCentreArg,
	InformServiceCentreArg,
	ReadyForSM-Arg, 
	ReadyForSM-Res,
	SM-DeliveryOutcome,
	AlertReason,
	Additional-Number,
	MT-ForwardSM-VGCS-Arg,
	MT-ForwardSM-VGCS-Res
;

IMPORTS
	AddressString,
	ISDN-AddressString,
	SignalInfo,
	IMSI,
	LMSI,
	ASCI-CallReference

FROM MAP-CommonDataTypes {
   itu-t identified-organization (4) etsi (0) mobileDomain (0)
   gsm-Network (1) modules (3) map-CommonDataTypes (18) version12 (12)}

	AbsentSubscriberDiagnosticSM
FROM MAP-ER-DataTypes {
   itu-t identified-organization (4) etsi (0) mobileDomain (0)
   gsm-Network (1) modules (3) map-ER-DataTypes (17) version12 (12)}

	ExtensionContainer
FROM MAP-ExtensionDataTypes {
   itu-t identified-organization (4) etsi (0) mobileDomain (0)
   gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version12 (12)}
;


RoutingInfoForSM-Arg ::= SEQUENCE {
	msisdn		[0] ISDN-AddressString,
	sm-RP-PRI		[1] BOOLEAN,
	serviceCentreAddress	[2] AddressString,
	extensionContainer	[6] ExtensionContainer	OPTIONAL,
	... ,
	gprsSupportIndicator	[7]	NULL		OPTIONAL,
	-- gprsSupportIndicator is set only if the SMS-GMSC supports
	-- receiving of two numbers from the HLR
	sm-RP-MTI		[8] SM-RP-MTI	OPTIONAL,
	sm-RP-SMEA	[9] SM-RP-SMEA	OPTIONAL,
	sm-deliveryNotIntended	[10] SM-DeliveryNotIntended	OPTIONAL }

SM-DeliveryNotIntended ::= ENUMERATED {
	onlyIMSI-requested  (0),
	onlyMCC-MNC-requested  (1),
	...}

SM-RP-MTI ::= INTEGER (0..10)
	-- 0 SMS Deliver 
	-- 1 SMS Status Report
	-- other values are reserved for future use and shall be discarded if
	-- received

SM-RP-SMEA ::= OCTET STRING (SIZE (1..12))
	-- this parameter contains an address field which is encoded 
	-- as defined in 3GPP TS 23.040. An address field contains 3 elements :
	-- 		address-length
	-- 		type-of-address
	-- 		address-value

RoutingInfoForSM-Res ::= SEQUENCE {
	imsi			IMSI,
	locationInfoWithLMSI	[0] LocationInfoWithLMSI,
-- WS extension to handle old versions
	mwd-Set [2] BOOLEAN OPTIONAL,	
	-- mwd-Set must be absent in version greater 1
	extensionContainer	[4] ExtensionContainer	OPTIONAL,
	...}

LocationInfoWithLMSI ::= SEQUENCE {
	networkNode-Number	[1] ISDN-AddressString,
	lmsi			LMSI			OPTIONAL,
	extensionContainer	ExtensionContainer	OPTIONAL,
	...,
	gprsNodeIndicator	[5]	NULL		OPTIONAL,
	-- gprsNodeIndicator is set only if the SGSN number is sent as the 
	-- Network Node Number
	additional-Number	[6] Additional-Number	OPTIONAL 
	-- NetworkNode-number can be either msc-number or sgsn-number or IP-SM-GW
	-- number or SMS Router number
	}

Additional-Number ::= CHOICE {
	msc-Number	[0] ISDN-AddressString,
	sgsn-Number	[1] ISDN-AddressString}
	-- additional-number can be either msc-number or sgsn-number
	-- if received networkNode-number is msc-number then the 	
	-- additional number is sgsn-number 
	-- if received networkNode-number is sgsn-number then the 
	-- additional number is msc-number 

MO-ForwardSM-Arg ::= SEQUENCE {
	sm-RP-DA		SM-RP-DA,
	sm-RP-OA		SM-RP-OA,
	sm-RP-UI		SignalInfo,
	extensionContainer	ExtensionContainer	OPTIONAL,
	... ,
	imsi			IMSI 		OPTIONAL }

MO-ForwardSM-Res ::= SEQUENCE {
	sm-RP-UI		SignalInfo 	OPTIONAL,
	extensionContainer	ExtensionContainer	OPTIONAL,
	...}

MT-ForwardSM-Arg ::= SEQUENCE {
	sm-RP-DA		SM-RP-DA,
	sm-RP-OA		SM-RP-OA,
	sm-RP-UI		SignalInfo,
	moreMessagesToSend	NULL			OPTIONAL,
	extensionContainer	ExtensionContainer	OPTIONAL,
	...}

MT-ForwardSM-Res ::= SEQUENCE {
	sm-RP-UI		SignalInfo	OPTIONAL,
	extensionContainer	ExtensionContainer	OPTIONAL,
	...}

SM-RP-DA ::= CHOICE {
	imsi			[0] IMSI,
	lmsi			[1] LMSI,
	serviceCentreAddressDA	[4] AddressString,
	noSM-RP-DA	[5] NULL}

SM-RP-OA ::= CHOICE {
	msisdn		[2] ISDN-AddressString,
	serviceCentreAddressOA	[4] AddressString,
	noSM-RP-OA	[5] NULL}

ReportSM-DeliveryStatusArg ::= SEQUENCE {
	msisdn		ISDN-AddressString,
	serviceCentreAddress	AddressString,
	-- Had to mark this as OPTIONAL to parse some strange messages [HW]
	sm-DeliveryOutcome	SM-DeliveryOutcome	OPTIONAL,
	-- End [HW]
	absentSubscriberDiagnosticSM	[0] AbsentSubscriberDiagnosticSM
							OPTIONAL,
	extensionContainer	[1] ExtensionContainer	OPTIONAL,
	...,
	gprsSupportIndicator	[2]	NULL		OPTIONAL,
	-- gprsSupportIndicator is set only if the SMS-GMSC supports 
	-- handling of two delivery outcomes
	deliveryOutcomeIndicator	[3] 	NULL		OPTIONAL,
	-- DeliveryOutcomeIndicator is set when the SM-DeliveryOutcome
	-- is for GPRS
	additionalSM-DeliveryOutcome	[4] 	SM-DeliveryOutcome 	OPTIONAL,
	-- If received, additionalSM-DeliveryOutcome is for GPRS
	-- If DeliveryOutcomeIndicator is set, then AdditionalSM-DeliveryOutcome shall be absent
	additionalAbsentSubscriberDiagnosticSM	[5] 	AbsentSubscriberDiagnosticSM OPTIONAL,
	-- If received additionalAbsentSubscriberDiagnosticSM is for GPRS
	-- If DeliveryOutcomeIndicator is set, then AdditionalAbsentSubscriberDiagnosticSM 
	-- shall be absent
	ip-sm-gw-Indicator	[6] 	NULL		OPTIONAL,
	-- the ip-sm-gw indicator indicates by its presence that sm-deliveryOutcome
	-- is for delivery via IMS
	-- If present, deliveryOutcomeIndicator shall be absent.
	ip-sm-gw-sm-deliveryOutcome	[7] 	SM-DeliveryOutcome	OPTIONAL, 
	-- If received ip-sm-gw-sm-deliveryOutcome is for delivery via IMS
	-- If ip-sm-gw-Indicator is set, then ip-sm-gw-sm-deliveryOutcome shall be absent
	ip-sm-gw-absentSubscriberDiagnosticSM	[8]	AbsentSubscriberDiagnosticSM	OPTIONAL
	-- If received ip-sm-gw-sm-absentSubscriberDiagnosticSM is for delivery via IMS
	-- If ip-sm-gw-Indicator is set, then ip-sm-gw-sm-absentSubscriberDiagnosticSM 
	-- shall be absent
	}

SM-DeliveryOutcome ::= ENUMERATED {
	memoryCapacityExceeded  (0),
	absentSubscriber  (1),
	successfulTransfer  (2)}

ReportSM-DeliveryStatusRes ::= SEQUENCE {
	storedMSISDN	ISDN-AddressString	OPTIONAL,
	extensionContainer	ExtensionContainer	OPTIONAL,
	...}

AlertServiceCentreArg ::= SEQUENCE {
	msisdn		ISDN-AddressString,
	serviceCentreAddress	AddressString,
	...}

InformServiceCentreArg ::= SEQUENCE {
	storedMSISDN	ISDN-AddressString	OPTIONAL,
	mw-Status	MW-Status	OPTIONAL,
	extensionContainer	ExtensionContainer	OPTIONAL,
	... ,
	absentSubscriberDiagnosticSM	AbsentSubscriberDiagnosticSM	OPTIONAL,
	additionalAbsentSubscriberDiagnosticSM	[0]	AbsentSubscriberDiagnosticSM	OPTIONAL }
	-- additionalAbsentSubscriberDiagnosticSM may be present only if 
	-- absentSubscriberDiagnosticSM is present.
	-- if included, additionalAbsentSubscriberDiagnosticSM is for GPRS and
	-- absentSubscriberDiagnosticSM is for non-GPRS

MW-Status ::= BIT STRING {
	sc-AddressNotIncluded  (0),
	mnrf-Set  (1),
	mcef-Set  (2) ,
	mnrg-Set	  (3)} (SIZE (6..16))
	-- exception handling:
	-- bits 4 to 15 shall be ignored if received and not understood

ReadyForSM-Arg ::= SEQUENCE {
	imsi			[0] IMSI,
	alertReason	AlertReason,
	alertReasonIndicator	NULL			OPTIONAL,
	-- alertReasonIndicator is set only when the alertReason 
	-- sent to HLR is for GPRS
	extensionContainer	ExtensionContainer	OPTIONAL,
	...,
	additionalAlertReasonIndicator	[1] NULL		OPTIONAL
	-- additionalAlertReasonIndicator is set only when the alertReason
	-- sent to HLR is for IP-SM-GW
	}

ReadyForSM-Res ::= SEQUENCE {
	extensionContainer	ExtensionContainer	OPTIONAL,
	...}

AlertReason ::= ENUMERATED {
	ms-Present  (0),
	memoryAvailable  (1)}

MT-ForwardSM-VGCS-Arg ::= SEQUENCE {
	asciCallReference	ASCI-CallReference,
	sm-RP-OA		SM-RP-OA,
	sm-RP-UI		SignalInfo,
	extensionContainer	ExtensionContainer	OPTIONAL,
	...}

MT-ForwardSM-VGCS-Res ::= SEQUENCE {
	sm-RP-UI		[0] SignalInfo	OPTIONAL,
	dispatcherList	[1] DispatcherList	OPTIONAL,
	ongoingCall	NULL			OPTIONAL,
	extensionContainer	[2] ExtensionContainer	OPTIONAL,
	...}

DispatcherList ::= 
	SEQUENCE SIZE (1..maxNumOfDispatchers) OF
				ISDN-AddressString

maxNumOfDispatchers  INTEGER ::= 5

--- Imported from GSM TS 09.02 Version 4.19.1 (December 2000) [HW]
NoteSubscriberPresentArg ::= IMSI
--- End of import [HW]

END
