Corrections made to the ASN.1 modules of Q.1228 (09/1997)

 

· Module  IN-CS2-classes :

1. Replacement of:

-- firstExtension is just an example.
SupportedExtensions{PARAMETERS-BOUND:bound} EXTENSION ::=
  {firstExtension, ... -- full set of network operator extensions --}
with:
-- firstExtension is just an example.
-- boundedExtension is another example, so that the bound parameter is used
SupportedExtensions{PARAMETERS-BOUND:bound} EXTENSION ::=
  {firstExtension | boundedExtension{bound}, ... -- full set of network operator extensions --}

boundedExtension{PARAMETERS-BOUND:bound} EXTENSION ::= {
  EXTENSION-SYNTAX  BoundedExtensionSyntax{bound}
  CRITICALITY       ignore
  IDENTIFIED BY     local:2
}

-- this is just an example of an EXTENSION that uses the bound parameter
BoundedExtensionSyntax{PARAMETERS-BOUND:bound} ::=
  SEQUENCE {
    digits OCTET STRING(SIZE (bound.&minDigitsLength..bound.&maxDigitsLength))
}

2. Replacement of:

-- firstScript is just an example.
SupportedUIScripts{PARAMETERS-BOUND:bound} UISCRIPT ::=
  {firstScript, ...
  -- full set of User Interaction script --}
with:
-- firstScript is just an example.
-- boundedScript is another example, so that the bound parameter is used
SupportedUIScripts{PARAMETERS-BOUND:bound} UISCRIPT ::=
  {firstScript | boundedScript{bound} , ... -- full set of User Interaction script --}

-- SupportedUIScripts is the full set of User Interaction scripts.

boundedScript{PARAMETERS-BOUND:bound} UISCRIPT ::=
  {WITH-SPECIFICINFO BoundedSpecificInfo{bound}
   IDENTIFIED BY  local:2
}

-- this is just an example of a UISCRIPT syntax that uses the bound parameter
BoundedSpecificInfo{PARAMETERS-BOUND:bound} ::=
  SEQUENCE {
    digits OCTET STRING(SIZE (bound.&minDigitsLength..bound.&maxDigitsLength))
}

· Module  IN-CS2-data-types :

1. Replacement of:

RequestedUTSIList {PARAMETERS-BOUND : bound} ::= SEQUENCE SIZE

                                                bound.&minRequestedUTSINum..

                                                  bound.&maxRequestedUTSINum) OF  RequestedUTSI {bound}

with:

RequestedUTSIList {PARAMETERS-BOUND : bound} ::= SEQUENCE SIZE (

                                                bound.&minRequestedUTSINum..

                                                 bound.&maxRequestedUTSINum) OF  RequestedUTSI {bound}

2. Replacement of:

ServiceInteractionIndicatorsTwo ::=     SEQUENCE {

        forwardServiceInteractionInd            [0] ForwardServiceInteractionInd    OPTIONAL,

        backwardServiceInteractionInd           [1] BackwardServiceInteractionInd   OPTIONAL,

        BothwayThroughConnectionInd             [2] BothwayThroughConnectionInd     OPTIONAL,

        suspendTimer                            [3] SuspendTimer                    OPTIONAL,

        ConnectedNumberTreatmentInd             [4] ConnectedNumberTreatmentInd     OPTIONAL,

        suppressCallDiversionNotification       [5] BOOLEAN                         OPTIONAL,

        suppressCallTransferNotification        [6] BOOLEAN                         OPTIONAL,

        allowCdINNoPresentationInd              [7] BOOLEAN                         OPTIONAL,

        userDialogueDurationInd                 [8] BOOLEAN                         DEFAULT TRUE,

        ...

        }

with:

ServiceInteractionIndicatorsTwo ::=     SEQUENCE {

        forwardServiceInteractionInd            [0] ForwardServiceInteractionInd    OPTIONAL,

        backwardServiceInteractionInd           [1] BackwardServiceInteractionInd   OPTIONAL,

        bothwayThroughConnectionInd             [2] BothwayThroughConnectionInd     OPTIONAL,

        suspendTimer                            [3] SuspendTimer                    OPTIONAL,

        connectedNumberTreatmentInd             [4] ConnectedNumberTreatmentInd     OPTIONAL,

        suppressCallDiversionNotification       [5] BOOLEAN                         OPTIONAL,

        suppressCallTransferNotification        [6] BOOLEAN                         OPTIONAL,

        allowCdINNoPresentationInd              [7] BOOLEAN                         OPTIONAL,

        userDialogueDurationInd                 [8] BOOLEAN                         DEFAULT TRUE,

        ...

        }

3. Replacement of:  

ExtensionField {PARAMETERS-BOUND : bound} ::= SEQUENCE {
	type					EXTENSION.&id ({SupportedExtensions {bound}}),      
						-- shall identify the value of an EXTENSION type
	criticality				CriticalityType				DEFAULT ignore,
	value					[1] EXTENSION.&ExtensionType 
						     ({SupportedExtensions {bound}}{@type})

with:

ExtensionField {EXTENSION : SupportedExtensions} ::= SEQUENCE {
	type					EXTENSION.&id ({SupportedExtensions }),      
						-- shall identify the value of an EXTENSION type
	criticality				CriticalityType				DEFAULT ignore,
	value					[1] EXTENSION.&ExtensionType 
						     ({SupportedExtensions }{@type})

4. Replacement of all occurences of "ExtensionField{bound}" with "ExtensionFileld{{SupportdeExtensions{bound}}}"

 

· Module  IN-CS2-SCF-SCF-ops-args.sam :

 

1. Removal all occurences of {@scfqop}

 

2. Replacement of all occurences "SCFQOP" with "scfqop" except in the definition of SCFQOP

 

3. Replacement of:

 

SCFQOP ::= CLASS {
&scfqop-id            OBJECT IDENTIFIER UNIQUE,
&scfBindErrorQOP      PROTECTION-MAPPING,
&scfErrorsQOP         PROTECTION-MAPPING,
&scfArgumentQOP       PROTECTION-MAPPING,
&scfResultQOP         PROTECTION-MAPPING 
}
WITH SYNTAX {
SCFQOP-ID        &scfqop-id,
SCFBINDERROR-QOP &scfBindErrorQOP,
SCFERRORS-QOP    &scfErrorsQOP,
SCFOPARG-QOP     &scfArgumentQOP,
SCFOPRES-QOP     &scfResultQOP
}

with:


SCFQOP ::= CLASS {
&scfqop-id           OBJECT IDENTIFIER UNIQUE,
&scfBindErrorQOP     PROTECTION-MAPPING,
&scfErrorsQOP        PROTECTION-MAPPING,
&scfArgumentQOP      PROTECTION-MAPPING,
&scfResultQOP        PROTECTION-MAPPING 
}
WITH SYNTAX {
SCFQOP-ID        &scfqop-id
SCFBINDERROR-QOP &scfBindErrorQOP
SCFERRORS-QOP    &scfErrorsQOP
SCFOPARG-QOP     &scfArgumentQOP
SCFOPRES-QOP     &scfResultQOP
}

4. Addition of the definitions of scfqop and example-protection-mapping :

scfqop SCFQOP ::= {

        SCFQOP-ID                       { 1 2 3 } ,

        DIRECTORYBINDERROR-QOP          example-protection-mapping,

        SCFQOP-ID                       example-protection-mapping,

        SCFBINDERROR-QOP                example-protection-mapping,

        SCFERRORS-QOP                   example-protection-mapping,

        SCFOPARG-QOP                    example-protection-mapping,     

        SCFOPRES-QOP                    example-protection-mapping }

 

example-protection-mapping PROTECTION-MAPPING ::= {

                                                SECURITY-TRANSFORMATION {{IDENTIFIER {1 2 4}

                                                XFORMED-DATA-TYPE NULL}} }

5. Replacement of:

 

makeConfirm {OPERATION:operation, Code:code} OPERATION ::= {

        &ArgumentType           operation.&ArgumentType         OPTIONAL,

        &argumentTypeOptional   operation.&argumentTypeOptional OPTIONAL,

        &ResultType             NULL,

        &Errors                 operation.&Errors               OPTIONAL,

        &alwaysReturns          BOOLEAN TRUE,

        &operationCode          code}

with:

 

makeConfirm {OPERATION:operation, Code:code} OPERATION ::= {

        &ArgumentType           operation.&ArgumentType ,

        &argumentTypeOptional   operation.&argumentTypeOptional ,

        &ResultType             NULL,

        &Errors                 operation.&Errors ,

        &alwaysReturns          TRUE,

        &operationCode          code}

 

6. Replacement of all occurences of "ExtensionField{bound}" with "ExtensionField{{SupportedExtensions{bound}}}" 

 

7. Replacement of: 

 

makeConfirm {OPERATION:operation, Code:code} OPERATION ::= {
 &ArgumentType         operation.&ArgumentType ,
 &argumentTypeOptional operation.&argumentTypeOptional , 
 &ResultType           NULL ,
 &Errors               operation.&Errors ,
 &alwaysReturns        TRUE,
 &operationCode        code}
 
with: 

makeConfirm {OPERATION:operation, Code:code} OPERATION ::= {
 ARGUMENT              operation.&ArgumentType 
 OPTIONAL              operation.&argumentTypeOptional 
 RESULT                NULL
 ERRORS                {operation.&Errors}
 ALWAYS                RESPONDS TRUE
 CODE                  code}

 

· Module  IN-CS2-SCF-SDF-Operations :  

 1. Replacement of all occurences of "DIRQOP" with "dirqop"

 

 2. Remove {@qop} and {@dirqop}

 

 3. Replacement of:

 

ExecuteResult ::= OPTIONALLY-PROTECTED {

        SET {

                method-id               [1] METHOD.&id({SupportedMethods}),

                output-assertions       [2] SEQUENCE OF SEQUENCE {

                                                type

        METHOD.&OutputAttributes.&id({SupportedMethods}{@method-id}),

                                        values SET OF METHOD.&OutputAttributes.&Type({SupportedMethods}{@method-id,@.type})OPTIONAL,

                                        valuesWithContext [0] SET OF SEQUENCE {

                                                value   [0]     METHOD.&OutputAttributes.&Type({SupportedMethods}{@method-id,@.type})     OPTIONAL,

                                        contextList     [1] SET OF Context

                COMPONENTS OF CommonResults },

        DIRQOP.&dapModifyEntryRes-QOP{@qop} }

 

with:

ExecuteResult ::= OPTIONALLY-PROTECTED {

        SET {

                method-id               [1] METHOD.&id({SupportedMethods}),

                output-assertions       [2] SEQUENCE OF SEQUENCE {

                                                type

        METHOD.&OutputAttributes.&id({SupportedMethods}{@method-id}),

                                        values SET OF METHOD.&OutputAttributes.&Type({SupportedMethods}{@method-id,@.type})OPTIONAL,

                                        valuesWithContext [0] SET OF SEQUENCE {

                                                value   [0]     METHOD.&OutputAttributes.&Type({SupportedMethods}{@method-id,@.type})     OPTIONAL,

                                        contextList     [1] SET OF Context

                                        } OPTIONAL

                        } OPTIONAL ,

                COMPONENTS OF CommonResults },

      dirqop.&dapModifyEntryRes-QOP }  

· Module  IN-CS2-SCF-SRF-ops-args :

 1. Replacement of all occurences of "ExtensionField{bound}" with "ExtensionField{{SupportedExtensions{bound}}}"

 

 2. Replacement of:

ScriptCloseArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
	uIScriptId		UISCRIPT.&id({SupportedUIScripts { bound}}),
	uIScriptSpecificInfo	[0] UISCRIPT.&SpecificInfo({SupportedUIScripts{bound}}{@uIScriptId}) 				OPTIONAL,
	extensions		[1] SEQUENCE SIZE (1..bound.&numOfExtensions) 
						     OF ExtensionField {bound}	OPTIONAL,
	callSegmentID		[2] CallSegmentID {bound}	OPTIONAL,
	...
	}

with:

ScriptCloseArg {PARAMETERS-BOUND : bound, EXTENSION : SupportedUIScripts} ::= SEQUENCE {
	uIScriptId		UISCRIPT.&id({SupportedUIScripts}),
	uIScriptSpecificInfo	[0] UISCRIPT.&SpecificInfo({SupportedUIScripts}{@uIScriptId}) 				OPTIONAL,
	extensions		[1] SEQUENCE SIZE (1..bound.&numOfExtensions) 
						     OF ExtensionField {{Supportedbound{bound}}}  OPTIONAL,
	callSegmentID		[2] CallSegmentID {bound} OPTIONAL,
	...
	}

 3. Replacement of occurence "ScriptCloseArg{bound}" with "ScriptCloseArg{{SupportedUIScripts{bound}}}"

 4. Replacement of:

ScriptEventArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
	uIScriptId		UISCRIPT.&id({SupportedUIScripts { bound}}),
	uIScriptResult		[0] UISCRIPT.&Result({SupportedUIScripts {bound}}{@uIScriptId})	OPTIONAL,
	extensions		[1] SEQUENCE SIZE (1..bound.&numOfExtensions) 
						OF ExtensionField {bound} OPTIONAL,
	callSegmentID		[2] CallSegmentID {bound}	OPTIONAL,
	lastEventIndicator	[3] BOOLEAN 			DEFAULT  FALSE,
	...
	}

 with 

ScriptEventArg {PARAMETERS-BOUND : bound, EXTENSION : SupportedUIScripts} ::= SEQUENCE {
	uIScriptId		UISCRIPT.&id({SupportedUIScripts}),
	uIScriptResult		[0] UISCRIPT.&Result({SupportedUIScripts}{@uIScriptId})	OPTIONAL,
	extensions		[1] SEQUENCE SIZE (1..bound.&numOfExtensions) 
						OF ExtensionField {{SupportedExtensions{bound}}} OPTIONAL,
	callSegmentID		[2] CallSegmentID {bound}	OPTIONAL,
	lastEventIndicator	[3] BOOLEAN 			DEFAULT  FALSE,
	...
	}

 5. Replacement of occurence "ScriptEventArg{bound}" with "ScriptEventArg{{SupportedUIScripts{bound}}}"

 6. Replacement of:  

ScriptInformationArg {PARAMETERS-BOUND : bound }::= SEQUENCE {
	uIScriptId		UISCRIPT.&id({SupportedUIScripts { bound}}),
	uIScriptSpecificInfo	[0] UISCRIPT.&SpecificInfo({SupportedUIScripts { bound}}{@uIScriptId}) OPTIONAL,
	extensions		[1] SEQUENCE SIZE(0..bound.&numOfExtensions)	
							OF ExtensionField {bound} OPTIONAL,
	callSegmentID		[2] CallSegmentID {bound}	OPTIONAL,
	...
	}

With

 

ScriptInformationArg {PARAMETERS-BOUND : bound, EXTENSION : SupportedUIScripts }::= SEQUENCE {
	uIScriptId		UISCRIPT.&id({SupportedUIScripts}),
	uIScriptSpecificInfo	[0] UISCRIPT.&SpecificInfo({SupportedUIScripts}{@uIScriptId}) OPTIONAL,
	extensions		[1] SEQUENCE SIZE(0..bound.&numOfExtensions)	
							OF ExtensionField {{SupportedExtensions{bound}}} OPTIONAL,
	callSegmentID		[2] CallSegmentID {bound}	OPTIONAL,
	...
	}

 7. Replacement of occurence "ScriptInformationArg{bound}" with "ScriptInformationArg{{SupportedUIScripts{bound}}}"

 8. Replacement of:  

ScriptRunArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
	uIScriptId		UISCRIPT.&id({SupportedUIScripts { bound}}),
	uIScriptSpecificInfo	[0] UISCRIPT.&SpecificInfo({SupportedUIScripts { bound}}{@uIScriptId}) OPTIONAL,
	extensions		[1] SEQUENCE SIZE (1..bound.&numOfExtensions) OF
						     ExtensionField {bound} OPTIONAL,
	disconnectFromIPForbidden	[2] BOOLEAN			DEFAULT TRUE,
	callSegmentID			[3] CallSegmentID {bound}	OPTIONAL,
	...
	}

With

ScriptRunArg {PARAMETERS-BOUND : bound, EXTENSION : SupportedUIScripts} ::= SEQUENCE {
	uIScriptId		UISCRIPT.&id({SupportedUIScripts}),
	uIScriptSpecificInfo	[0] UISCRIPT.&SpecificInfo({SupportedUIScripts}{@uIScriptId}) OPTIONAL,
	extensions		[1] SEQUENCE SIZE (1..bound.&numOfExtensions) OF
						     ExtensionField {{SupportedExtensions{bound}}} OPTIONAL,
	disconnectFromIPForbidden	[2] BOOLEAN			DEFAULT TRUE,
	callSegmentID			[3] CallSegmentID {bound}	OPTIONAL,
	...
	}

 9. Replacement of occurence "ScriptRunArg{bound}" with "ScriptRunArg{{SupportedUIScripts{bound}}}"

 

· Module  IN-CS2-SCF-CUSF-ops-args :  

 1. Replacement of all occurences of "ExtensionField{bound}" with "ExtensionField{{SupportedExtensions{bound}}}" 

· Module  IN-CS2-SSF-SCF-ops-args :  

 1. Replacement of all occurences of "ExtensionField{bound}" with "ExtensionField{{SupportedExtensions{bound}}}"