-- $Id: MAP-SS-DataTypes.asn 34814 2010-11-08 23:15:16Z etxrab $
-- 3GPP TS 29.002 V9.3.0 (2010-09)  
-- 17.7.4	Supplementary service data types
 
MAP-SS-DataTypes {
   itu-t identified-organization (4) etsi (0) mobileDomain (0)
   gsm-Network (1) modules (3) map-SS-DataTypes (14) version12 (12)}

DEFINITIONS

IMPLICIT TAGS

::=

BEGIN

EXPORTS
	RegisterSS-Arg,
	SS-Info,
	SS-Status,
	SS-SubscriptionOption,
	SS-ForBS-Code,
	InterrogateSS-Res,
	USSD-Arg,
	USSD-Res, 
	USSD-DataCodingScheme,
	USSD-String,
	Password,
	GuidanceInfo,
	SS-List,
	SS-InfoList,
	OverrideCategory,
	CliRestrictionOption,
	NoReplyConditionTime,
	ForwardingOptions,
	maxNumOfSS,
	SS-Data,
	SS-InvocationNotificationArg,
	SS-InvocationNotificationRes,
	CCBS-Feature,
	RegisterCC-EntryArg,
	RegisterCC-EntryRes,
	EraseCC-EntryArg,
	EraseCC-EntryRes
;

IMPORTS
	AddressString,
	ISDN-AddressString,
	ISDN-SubaddressString,
	FTN-AddressString,
	IMSI,
	BasicServiceCode,
	AlertingPattern,
	EMLPP-Priority, 
	MaxMC-Bearers,
	MC-Bearers,
	ExternalSignalInfo
FROM MAP-CommonDataTypes {
   itu-t identified-organization (4) etsi (0) mobileDomain (0)
   gsm-Network (1) modules (3) map-CommonDataTypes (18) 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)}

	SS-Code
FROM MAP-SS-Code {
   itu-t identified-organization (4) etsi (0) mobileDomain (0)
   gsm-Network (1) modules (3) map-SS-Code (15) version12 (12)}
;


RegisterSS-Arg ::= SEQUENCE {
	ss-Code		SS-Code,
	basicService	BasicServiceCode	OPTIONAL,
	forwardedToNumber	[4] AddressString	OPTIONAL,
	forwardedToSubaddress	[6] ISDN-SubaddressString	OPTIONAL,
	noReplyConditionTime	[5] NoReplyConditionTime	OPTIONAL,
	...,
	defaultPriority	[7] EMLPP-Priority	OPTIONAL,
	nbrUser		[8] MC-Bearers	OPTIONAL,
	longFTN-Supported	[9]	NULL		OPTIONAL }

NoReplyConditionTime ::= INTEGER (5..30)

SS-Info ::= CHOICE {
	forwardingInfo	[0] ForwardingInfo,
	callBarringInfo	[1] CallBarringInfo,
	ss-Data		[3] SS-Data}

ForwardingInfo ::= SEQUENCE {
	ss-Code		SS-Code		OPTIONAL,
	forwardingFeatureList	ForwardingFeatureList,
	...}

ForwardingFeatureList ::= 
	SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
				ForwardingFeature

ForwardingFeature ::= SEQUENCE {
	basicService	BasicServiceCode	OPTIONAL,
	ss-Status		[4] SS-Status	OPTIONAL,
	forwardedToNumber	[5] ISDN-AddressString	OPTIONAL,
	forwardedToSubaddress	[8] ISDN-SubaddressString	OPTIONAL,
	forwardingOptions	[6] ForwardingOptions	OPTIONAL,
	noReplyConditionTime	[7] NoReplyConditionTime	OPTIONAL,
	...,
	longForwardedToNumber	[9] FTN-AddressString	OPTIONAL }

SS-Status ::= OCTET STRING (SIZE (1))

	-- bits 8765: 0000 (unused)
	-- bits 4321: Used to convey the "P bit","R bit","A bit" and "Q bit",
	--		    representing supplementary service state information
	--		    as defined in TS 3GPP TS 23.011 [22]

	-- bit 4: "Q bit"

	-- bit 3: "P bit"

	-- bit 2: "R bit"

	-- bit 1: "A bit"

ForwardingOptions ::= OCTET STRING (SIZE (1))

	-- bit 8: notification to forwarding party
	--	0  no notification
	--	1  notification

	-- bit 7: redirecting presentation
	--	0 no presentation  
	--	1  presentation

	-- bit 6: notification to calling party
	--	0  no notification
	--	1  notification

	-- bit 5: 0 (unused)

	-- bits 43: forwarding reason
	--	00  ms not reachable
	--	01  ms busy
	--	10  no reply
	--	11  unconditional when used in a SRI Result, 
	--	    or call deflection when used in a RCH Argument
	-- bits 21: 00 (unused)

CallBarringInfo ::= SEQUENCE {
	ss-Code		SS-Code		OPTIONAL,
	callBarringFeatureList	CallBarringFeatureList,
	...}

CallBarringFeatureList ::= SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
				CallBarringFeature

CallBarringFeature ::= SEQUENCE {
	basicService	BasicServiceCode	OPTIONAL,
	ss-Status	[4] SS-Status	OPTIONAL,
	...}

SS-Data ::= SEQUENCE {
	ss-Code		SS-Code		OPTIONAL,
	ss-Status		[4] SS-Status	OPTIONAL,
	ss-SubscriptionOption	SS-SubscriptionOption	OPTIONAL,
	basicServiceGroupList	BasicServiceGroupList	OPTIONAL,
	...,
	defaultPriority	EMLPP-Priority	OPTIONAL,
	nbrUser		[5] MC-Bearers	OPTIONAL
	}

SS-SubscriptionOption ::= CHOICE {
	cliRestrictionOption	[2] CliRestrictionOption,
	overrideCategory	[1] OverrideCategory}

CliRestrictionOption ::= ENUMERATED {
	permanent  (0),
	temporaryDefaultRestricted  (1),
	temporaryDefaultAllowed  (2)}

OverrideCategory ::= ENUMERATED {
	overrideEnabled  (0),
	overrideDisabled  (1)}

SS-ForBS-Code ::= SEQUENCE {
	ss-Code		SS-Code,
	basicService	BasicServiceCode	OPTIONAL,
	...,
	longFTN-Supported	[4]	NULL		OPTIONAL }

GenericServiceInfo ::= SEQUENCE {
	ss-Status	SS-Status,
	cliRestrictionOption	CliRestrictionOption	OPTIONAL,
	...,
	maximumEntitledPriority	[0] EMLPP-Priority	OPTIONAL,
	defaultPriority	[1] EMLPP-Priority	OPTIONAL,
	ccbs-FeatureList	[2] CCBS-FeatureList	OPTIONAL,
	nbrSB		[3] MaxMC-Bearers	OPTIONAL,
	nbrUser		[4] MC-Bearers	OPTIONAL,
	nbrSN		[5] MC-Bearers	OPTIONAL }

CCBS-FeatureList ::= SEQUENCE SIZE (1..maxNumOfCCBS-Requests) OF
				CCBS-Feature

maxNumOfCCBS-Requests  INTEGER ::= 5

CCBS-Feature ::= SEQUENCE {
	ccbs-Index	[0] CCBS-Index	OPTIONAL,
	b-subscriberNumber	[1] ISDN-AddressString	OPTIONAL,
	b-subscriberSubaddress	[2] ISDN-SubaddressString	OPTIONAL,
	basicServiceGroup	[3] BasicServiceCode	OPTIONAL,
	...}

CCBS-Index  ::= INTEGER (1..maxNumOfCCBS-Requests)

InterrogateSS-Res ::= CHOICE {
	ss-Status		[0] SS-Status,
	basicServiceGroupList	[2] BasicServiceGroupList,
	forwardingFeatureList	[3] ForwardingFeatureList,
	genericServiceInfo	[4]	GenericServiceInfo }

USSD-Arg ::= SEQUENCE {
	ussd-DataCodingScheme	USSD-DataCodingScheme,
	ussd-String	USSD-String,
	... ,
	alertingPattern	AlertingPattern	OPTIONAL,
	msisdn		[0] ISDN-AddressString	OPTIONAL }

USSD-Res ::= SEQUENCE {
	ussd-DataCodingScheme	USSD-DataCodingScheme,
	ussd-String	USSD-String,
	...}

USSD-DataCodingScheme ::= OCTET STRING (SIZE (1))
	-- The structure of the USSD-DataCodingScheme is defined by
	-- the Cell Broadcast Data Coding Scheme as described in
	-- TS 3GPP TS 23.038 [25]

USSD-String ::= OCTET STRING (SIZE (1..maxUSSD-StringLength))
	-- The structure of the contents of the USSD-String is dependent
	-- on the USSD-DataCodingScheme as described in TS 3GPP TS 23.038 [25].

maxUSSD-StringLength  INTEGER ::= 160

Password ::= NumericString
	(FROM ("0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9"))
	(SIZE (4))

GuidanceInfo ::= ENUMERATED {
	enterPW  (0),
	enterNewPW  (1),
	enterNewPW-Again  (2)}
	-- How this information is really delivered to the subscriber
	-- (display, announcement, ...) is not part of this
	-- specification.

SS-List ::= SEQUENCE SIZE (1..maxNumOfSS) OF
				SS-Code

maxNumOfSS  INTEGER ::= 30

SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF
				SS-Info

BasicServiceGroupList ::= SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
				BasicServiceCode

maxNumOfBasicServiceGroups  INTEGER ::= 13

SS-InvocationNotificationArg ::= SEQUENCE {
	imsi			[0] IMSI,
	msisdn		[1] ISDN-AddressString,
	ss-Event		[2] SS-Code,
	-- The following SS-Code values are allowed :
	-- ect		SS-Code ::= '00110001'B
	-- multiPTY	SS-Code ::= '01010001'B
	-- cd		SS-Code ::= '00100100'B
	-- ccbs		SS-Code ::= '01000100'B
	ss-EventSpecification	[3] SS-EventSpecification	OPTIONAL,
	extensionContainer	[4] ExtensionContainer	OPTIONAL,
	...,
	b-subscriberNumber	[5]	ISDN-AddressString	OPTIONAL,
	ccbs-RequestState	[6]	CCBS-RequestState	OPTIONAL
	}

CCBS-RequestState ::= ENUMERATED {
	request  	(0),
	recall  	(1),
	active  	(2),
	completed	(3),
	suspended	(4),
	frozen	(5),
	deleted	(6)
	}

SS-InvocationNotificationRes ::= SEQUENCE {
	extensionContainer	ExtensionContainer	OPTIONAL,
	...
	}

SS-EventSpecification ::= SEQUENCE SIZE (1..maxEventSpecification) OF
				AddressString

maxEventSpecification  INTEGER ::= 2

RegisterCC-EntryArg ::= SEQUENCE {
	ss-Code		[0]	SS-Code,
	ccbs-Data		[1]	CCBS-Data	OPTIONAL,
	...}

CCBS-Data ::= SEQUENCE {
	ccbs-Feature	[0]	CCBS-Feature,
	translatedB-Number	[1]	ISDN-AddressString,
	serviceIndicator	[2]	ServiceIndicator	OPTIONAL,
	callInfo		[3]	ExternalSignalInfo,
	networkSignalInfo	[4]	ExternalSignalInfo,
	...}

ServiceIndicator ::= BIT STRING {
	clir-invoked (0),
	camel-invoked (1)} (SIZE(2..32)) 
	-- exception handling:
	-- bits 2 to 31 shall be ignored if received and not understood

RegisterCC-EntryRes ::= SEQUENCE {
	ccbs-Feature	[0] CCBS-Feature	OPTIONAL,
	...}

EraseCC-EntryArg ::= SEQUENCE {
	ss-Code		[0]	SS-Code,
	ccbs-Index	[1]	CCBS-Index	OPTIONAL,
	...}

EraseCC-EntryRes ::= SEQUENCE {
	ss-Code		[0]	SS-Code,
	ss-Status		[1] SS-Status	OPTIONAL,
	...}

END
