-- $Id: MAP-SS-DataTypes.asn 28149 2009-04-25 17:45:34Z etxrab $
-- 3GPP TS 29.002 V8.9.0 (2009-04)  
-- 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) version11 (11)}

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) version11 (11)}

	ExtensionContainer
FROM MAP-ExtensionDataTypes {
   itu-t identified-organization (4) etsi (0) mobileDomain (0)
   gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version11 (11)}

	SS-Code
FROM MAP-SS-Code {
   itu-t identified-organization (4) etsi (0) mobileDomain (0)
   gsm-Network (1) modules (3) map-SS-Code (15) version11 (11)}
;


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

