CBS-UsefulDefinitions { ccitt identified-organization (4) etsi (0) mobile-domain (0) gsm-messaging (4) gsm-sms3 (12) usefulDefinitions (10) } DEFINITIONS IMPLICIT TAGS ::= BEGIN ID ::= OBJECT IDENTIFIER mobile-domain ID ::= {ccitt identified-organization (4) etsi (0) mobile-domain(0)} -- root for all sms allocations gsm-messaging ID ::= { mobile-domain gsm-messaging(4) } -- categories gsm-sms3 ID ::= { gsm-messaging 12 } END ApplicationProtocol { ccitt identified-organization (4) etsi (0) mobile-domain(0) gsm-messaging(4) gsm-sms3 (12) applicationProtocol(11) } DEFINITIONS IMPLICIT TAGS ::= BEGIN -- CBSE-BIND will be carried as N-CONNECT request/indication -- CBSE-BIND-Parameters will carried in the User Data field of the N-CONNECT -- request/indication message. -- Note that this structure should be used by Phase 2 systems only. CBSE-BIND-Parameters ::= SEQUENCE { initiatorID [0] Name, password [1] Password OPTIONAL } -- Above and in CBSE-BIND-CONFIRM -- initiatorID/respID: identify the initiating/responding telecommunication subsystem -- password: may assist in authentication -- CBSE-VBIND-Parameters will only be used as an element of CBSEapdus in the -- User Data field of the N-CONNECT request/indication message. -- Note that this structure should be used by Phase 2+ and higher systems only. CBSE-VBIND-Parameters ::= SEQUENCE { initiatorID [0] Name, password [1] Password OPTIONAL, version [2] Version } -- Above -- initiatorID/respID: identify the initiating/responding telecommunication subsystem -- password: may assist in authentication -- version: identify the interface version supported, defined below Name ::= SEQUENCE { operator [0] Operator OPTIONAL, bilateralAgreem [1] BilateralAgreem OPTIONAL, dataNetworkAddress [2] Xl2lAddress OPTIONAL, iSDNAddress [3] CBS-Address OPTIONAL } -- operator is a text string containing the name of the CBC/PLMN operator. bilateralagreem is a text -- string identifying the bilateral agreement between the CBC and the PLMN operators which allows -- for this association to be established. -- dataNetworkAddress is the PSPDN X.121 address of the CBC/BSC issuing the BIND or -- CONFIRM, occurring only if a PSPDN is used. -- iSDNAddress is the PLMN address of the CBC (same datum in both BIND and CONFIRM). -- Any pair of subsets of these parameters may be used to identify the CBC and the BSC to one -- another. -- upper bound settings Operator ::= PrintableString (SIZE (0..20)) BilateralAgreem ::= PrintableString (SIZE (0 .. 20)) Xl2lAddress ::= NumericString (SIZE(0..15)) -- Definition of Cell Broadcast Short Message Service address CBS-Address ::= [APPLICATION 0] SEQUENCE { address-type INTEGER { unknown-type(0), international-number(1), national-number(2), network-specific-number(3), short-number(4) }, numbering-plan INTEGER { unknown-numbering(0), iSDN-numbering(1), data-network-numbering(3), telex-numbering(4), national-numbering(8), private-numbering(9) }, address-value CHOICE { octet-format SemiOctetString -- other formats are for further study } } -- each octet contains two binary coded decimal digits SemiOctetString ::= OCTET STRING (SIZE(1..10)) Password ::= PrintableString (SIZE(0..20)) -- Version provides one of the indications given in the following table. -- Any future substantive interface definition changes must be added to this table. Note 1: PDUs not backwards compatible with Phase 2 include, but may not be limited to, Report, Reject, Status-CBCH-Resp, and Status-Mess-Resp. Version ::= INTEGER { release-97 (0), reserved-1 (1), reserved-2 (2), reserved-3 (3), reserved-4 (4), reserved-5 (5), reserved-6 (6) } -- CBSE-BIND-CONFIRM will carried as N-CONNECT response/confirm -- CBSE-BIND-CONFIRM parameters will be carried in User Data of the N-CONNECT -- response/confirm message CBSE-BIND-CONFIRM-Parameters ::= SEQUENCE { respId [0] Name, password [1] Password OPTIONAL } -- The following defines the choices and tags for the N-DISCONNECT.request/indication User Data. Applic-protocol-discs ::= CHOICE { bindfail [1] CBSE-BIND-FAILURE, unbindreq [2] CBSE-UNBIND } CBSE-BIND-FAILURE ::= Connect-failure-reason -- connect-failure-reason provides one of the error indications given in the following table. -- Connect-failure-reason ::= INTEGER { not-entitled (0), temporary-overload (1), temporary-failure (2), incorrect-ID-or-password (3), version-unsupported (4) } CBSE-UNBIND ::= NULL -- The following defines the choices and tags for the N-DATA.request/indication User Data CBSMSEapdus ::= CHOICE { cbse-WRITE-REPLACE [1] Write-Replace, cbse-KILL [2] Kill, cbse-REPORT [3] Report, cbse-STATUS-CBCH-QUERY [4] Status-CBCH, cbse-STATUS-CBCH-QUERY-RESP [5] Status-CBCH-Resp, cbse-STATUS-MESSAGE-QUERY [6] Status-Message, cbse-STATUS-MESS-QUERY-RESP [7] Status-Mess-Resp, cbse-REJECT [8] Reject, cbse-RESTART-IND [9] Restart-Ind, cbse-RESET [10] Reset, cbse-FAILURE-IND [11] Failure-Ind, cbse-SET-DRX [12] Set-DRX, cbse-SET-DRX-RESP [13] Set-DRX-Resp, cbse-VBIND [14] CBSE-VBIND-Parameters, cbse-BIND-CONFIRM [15] CBSE-BIND-CONFIRM-Parameters, cbse-BIND-FAILURE [16] CBSE-BIND-FAILURE, cbse-UNBIND [17] CBSE-UNBIND, cbse-RESTART-IND-PHASE2P [18] Restart-Ind-Phase2P, -- $(Phase2PBscCellLists)$ cbse-FAILURE-IND-PHASE2P [19] Failure-Ind-Phase2P -- $(Phase2PBscCellLists)$ } -- PDU parameter definitions from 03.41 Message-Identifier ::= INTEGER (0 .. 65535) Serial-Number ::= INTEGER (0 .. 65535) No-of-Pages ::= INTEGER (1 .. 15) Cell-List ::= SEQUENCE { length INTEGER, -- number of cells in the list disc Cell-Id-Disc, list SEQUENCE OF Cell-Id } Channel ::= INTEGER { basic-channel (0), extended-channel (1) } Category ::= INTEGER { high-priority (0), normal-priority (1), background (2) } Repetition-Period ::= INTEGER (1 .. 1024) No-of-Broadcast-Req ::= INTEGER (0 ..65535) No-of-Broadcasts-Compl-List ::= SEQUENCE OF SEQUENCE { cell-id Cell, no-of-broadcasts-compl INTEGER, no-of-broadcasts-compl-info No-of-Broadcasts-Compl-Info-Type OPTIONAL } Cell-Id ::= OCTET STRING (SIZE(4)) -- Note: -- If Cell-Id-Disc equals ciOnly then only the last 2 octets of -- Cell-ID are to be considered -- If Cell-Id-Disc equals lacOnly then only the first 2 octets of -- Cell-ID are to be considered. The unused octets are filler octets -- If Cell-Id-Disc equals allCells, Cell-ID only contains filler octets Schedule-Period ::= INTEGER (0 .. 40) Reserved-Slots ::= INTEGER (0 .. 40) Failure-List ::= SEQUENCE OF SEQUENCE { cell-id Cell, cause Failure-Reason, diagnostic Diagnostic-Info OPTIONAL } Cbch-Loading-List ::= SEQUENCE OF SEQUENCE{ cell-id Cell, cbch-loading Cbch-Loading -- indicates the predicted short term load, expressed as a percentage -- (min:0, max: 100) } Cbch-Loading ::= INTEGER(0..100) Failure-Reason ::= INTEGER { parameter-not-recognised (0), unused-failure-reason-1 (1), -- not used parameter-value-invalid (2), valid-CBS-message-not-identified (3), cell-identity-not-valid (4), unrecognised-primitive (5), missing-mandatory-element (6), bss-capacity-exceeded (7), cell-memory-exceeded (8), bss-memory-exceeded (9), unspecifed-error (10), incompatible-DRX-parameter (11), unused-failure-reason-12 (12), -- not used cell-broadcast-not-supported (13), cell-broadcast-not-operational (14), extended-channel-not-supported (15), message-reference-already-used (16) } Diagnostic-Info ::= OCTET STRING (SIZE (1..20)) Data-Coding-Scheme ::= INTEGER (0 .. 255) Page-Inf ::= SEQUENCE { message-info-useful-octets Message-Info-Useful-Octets, message-info-page Message-Info-Page } Message-Info-Useful-Octets ::= INTEGER (0..82) Recovery-Indication ::= BOOLEAN -- TRUE indicates data is available -- False indicates data is lost -- Definitions used by the PDU parameters Message-Info-Page ::= OCTET STRING (SIZE(82)) Cell-Id-Disc ::= OCTET STRING (SIZE(1)) -- values from the following table lacAndCi OCTET STRING (SIZE(1)) ::= '1'H -- 2 Octet lac, followed by 2 Octet Cell Id ciOnly OCTET STRING (SIZE(1)) ::= '2'H -- Cell Id only lacOnly OCTET STRING (SIZE(1)) ::= '5'H -- 2 Octet lac only, all cells in this LAC (NOT USED BY BSC) allCells OCTET STRING (SIZE(1)) ::= '6'H -- all cells in this BSS (NOT USED BY BSC) Cell ::= SEQUENCE { disc Cell-Id-Disc, id Cell-Id } No-of-Broadcasts-Compl-Info-Type::= INTEGER { unknown (0), overflow (1) } -- Definitions of PDUs Write-Replace ::= SEQUENCE { message-Identifier Message-Identifier, new-Serial-Number Serial-Number, no-of-Pages No-of-Pages, data-coding-scheme Data-Coding-Scheme, cell-list Cell-List, repetition-Period Repetition-Period, no-of-broadcast-req No-of-Broadcast-Req, cbs-Page-Inf SEQUENCE OF [15] Page-Inf, old-Serial-Number [3] Serial-Number OPTIONAL, category [2] Category OPTIONAL, channel-indicator [4] Channel OPTIONAL } Kill ::= SEQUENCE { message-Identifier Message-Identifier, old-Serial-Number Serial-Number, cell-List Cell-List, channel-indicator [4] Channel OPTIONAL } Report ::= SEQUENCE { message-Identifier Message-Identifier, serial-Number Serial-Number, no-of-Broadcasts-Compl-List [0] No-of-Broadcasts-Compl-List OPTIONAL, failure-List [1] Failure-List OPTIONAL, channel-indicator [4] Channel OPTIONAL } Status-CBCH ::= SEQUENCE{ cell-List Cell-List, channel-indicator [4] Channel OPTIONAL } Status-CBCH-Resp ::= SEQUENCE{ cbch-loading-List [0] Cbch-Loading-List OPTIONAL, failure-List [1] Failure-List OPTIONAL, channel-indicator [4] Channel OPTIONAL } Status-Message ::= SEQUENCE { message-Identifier Message-Identifier, old-Serial-No Serial-Number, cell-List Cell-List, channel-indicator [4] Channel OPTIONAL } Status-Mess-Resp ::= SEQUENCE { message-Identifier Message-Identifier, old-serial-number Serial-Number, no-of-Broadcasts-Compl-List [0] No-of-Broadcasts-Compl-List OPTIONAL, failure-List [1] Failure-List OPTIONAL, channel-indicator [4] Channel OPTIONAL } Reject::= SEQUENCE { cause Failure-Reason, diagnostic Diagnostic-Info OPTIONAL, message-Identifier [7] Message-Identifier OPTIONAL, serial-Number [3] Serial-Number OPTIONAL } -- $start$(Phase2PBscCellLists)$ -- The Restart-Ind PDU is retained for backward compatibility with Phase 2 systems, -- and may be used in Phase 2+ systems Restart-Ind ::= SEQUENCE { cell-list Cell-List, recovery-Indication Recovery-Indication OPTIONAL } -- coding of the recovery-Indication states is Data-available TRUE, Data-lost FALSE -- The Restart-Ind-Phase2P PDU is used in Phase 2+ systems Restart-Ind-Phase2P ::= CHOICE { restart-list1 [0] SEQUENCE { cell-list Cell-List, recovery-Indication Recovery-Indication OPTIONAL }, restart-list2 [1] SEQUENCE { cell-list SEQUENCE OF Cell, recovery-Indication Recovery-Indication OPTIONAL } } -- $end$(Phase2PBscCellLists)$ Reset ::= SEQUENCE { cell-list Cell-List } Set-DRX ::= SEQUENCE { cell-list Cell-List, schedule-Period [6] Schedule-Period OPTIONAL, reserved-Slots [2] Reserved-Slots OPTIONAL, channel-indicator [4] Channel OPTIONAL } -- $start$(Phase2PBscCellLists)$ Set-DRX-Resp ::= SEQUENCE { cell-list [0] SEQUENCE OF Cell OPTIONAL, failure-List [1] Failure-List OPTIONAL, channel-indicator [4] Channel OPTIONAL } -- $end$(Phase2PBscCellLists)$ -- $start$(Phase2PBscCellLists)$ -- The Failure-Ind PDU is retained for backward compatibility with Phase 2 systems, -- and may be used in Phase 2+ systems Failure-Ind ::= SEQUENCE{ cell-list Cell-List } -- $start$(Phase2PBscCellLists)$ -- The Failure-Ind-Phase2P PDU is used in Phase 2+ systems Failure-Ind-Phase2P ::= CHOICE { failure-list1 [0] SEQUENCE { cell-list Cell-List }, failure-list2 [1] SEQUENCE OF Cell } -- $end$(Phase2PBscCellLists)$ END CBS-UsefulDefinitions { ccitt identified-organization (4) etsi (0) mobile-domain(0) gsm-messaging(4) gsm-sms4(13) usefulDefinitions(0) } DEFINITIONS IMPLICIT TAGS ::= BEGIN EXPORTS id-cb-ot-CBC, id-cb-ot-BSC, id-cb-port, id-cb-ac-so, id-cb-CBRSE, id-cb-as-CBRSE; ID ::= OBJECT IDENTIFIER mobile-domain ID ::= { ccitt identified-organization (4) etsi (0) mobile-domain (0)} -- root for all sms allocations gsm-messaging ID ::= { mobile-domain gsm-messaging (4) } gsm-sms4 ID ::= {gsm-messaging (13)} -- categories id-cb-mod ID ::= { gsm-messaging 1 } -- modules id-cb-ot ID ::= { gsm-messaging 2 } -- object type id-cb-pt ID ::= { gsm-messaging 3 } -- port types id-cb-ac ID ::= { gsm-messaging 4 } -- appl. contexts id-cb-ase ID ::= { gsm-messaging 5 } -- ASEs id-cb-as ID ::= { gsm-messaging 6 } -- abstract syntaxes -- modules usefulDefinitions ID ::= { gsm-sms4 0 } relayProtocol ID ::= { gsm-sms4 1 } relayAbstractService ID ::= { gsm-sms4 2 } -- object types id-cb-ot-CBC ID ::= { id-cb-ot 0 } id-cb-ot-BSC ID ::= { id-cb-ot 1 } -- port types id-cb-port ID ::= { id-cb-pt 0 } -- application contexts id-cb-ac-so ID ::= { id-cb-ac 0 } -- application service elements id-cb-CBRSE ID ::= { id-cb-ase 0 } -- abstract syntaxes id-cb-as-CBRSE ID ::= { id-cb-as 0 } END RelayAbstractService { ccitt identified-organization (4) etsi (0) mobile-domain(0) gsm-messaging(4) gsm-sms4(13) relayAbstractService(2) } DEFINITIONS IMPLICIT TAGS ::= BEGIN IMPORTS BIND, UNBIND FROM Remote-Operations-Notation { joint-iso-ccitt remote-operations(4) notation(0) } OBJECT, PORT, ABSTRACT-BIND, ABSTRACT-UNBIND, ABSTRACT-OPERATION, ABSTRACT-ERROR FROM AbstractServiceNotation { joint-iso-ccitt mhs-motis(6) asdc(2) modules(0) notation(1) } id-cb-ot-CBC, id-cb-ot-BSC, id-cb-port FROM CBS-UsefulDefinitions{ ccitt identified-organization (4) etsi (0) mobile-domain(0) gsm-messaging(4) gsm-sms4(13) usefulDefinitions(0) } -- upper bound settings ub-operator-name-length INTEGER ::= 20 ub-agreem-name-length INTEGER ::= 20 ub-X121Address-length INTEGER ::= 15 ub-password-length INTEGER ::= 20 -- Objects -- The CBC and the BSC are modelled as atomic objects, cBC--Object and bSC-Object. Each -- object has one port for the interconnection. ([S] and [C] indicate supply and consumption of -- services, respectively). cBC-Object OBJECT PORTS { cBR-port [S] } ::= id-cb-ot-CBC bSC-Object OBJECT PORTS { cBR-port [C] } ::= id-cb-ot-BSC -- Port cBR-port PORT CONSUMER INVOKES {CBR-Restart-Ind -- $start$(Phase2PBscCellLists)$ CBR-Restart-Ind-Phase2P CBR-Failure-Ind CBR-Failure-Ind-Phase2P -- $end$(Phase2PBscCellLists)$ } SUPPLIER INVOKES { CBR-Write-Replace CBR-Kill CBR-Status-CBCH-Query CBR-Status-Message-Query CBR-Reset CBR-Set-DRX } ::= id-cb-port -- The CBR-Bind operation -- Both, BIND and UNBIND operations, are exclusively within the responsibility of the CBC. The -- BIND operation is therefore always requested by the CBC -- Note that this structure should be used by Phase 2 systems only. CBR-Bind ::= ABSTRACT-BIND TO { cBR-port } BIND ARGUMENT CBR-Bind-Parameters RESULT CBR-Bind-confirm BIND-ERROR CBR-Bind-failure -- The CBR-Unbind operation -- The UNBIND is a harsh release of the association and all outstanding operations are aborted. -- UNBIND is always requested by the CBC. The CBC and the BSC should negotiate (during -- CBR-BIND) the use of services on the association (the operations parameter - list of operation -- types for the association) in such a way that no harmful losses of operations occur. CBR-Unbind ::= ABSTRACT-UNBIND FROM { cBR-port } UNBIND ARGUMENT Time-when-connected RESULT Time-when-disconnected - Association control parameters CBR-Bind-Parameters ::= SEQUENCE { initiatorID [0] Name, password [1] Password OPTIONAL, pswNeeded [2] BOOLEAN, iniType [3] Telecom-System-Type, operations [4] List-of-Operations, transient [5] BOOLEAN } -- Above and in SMR-Bind-confirm -- initiatorID/respID: identify the initiating/responding telecommunication subsystem -- password: may assist in authentication -- pswNeeded (BIND only):requests password into SMR-Bind, SMR-Bind-Confirm -- iniType/respType: identify the system entity -- operations: lists the SM relay operations requested and supported on the association: -- operations listed in both the BIND and the CONFIRM may be used (i.e. this is a negotiation -- between CBC and BSC) -- transient:forces the association (and the underlying connections), transient: it must be -- UNBouND as soon as there are no operations to be performed Name ::= SEQUENCE { operator [0] Operator OPTIONAL, bilateralAgreem [1] BilateralAgreem OPTIONAL, dataNetworkAddress [2] X121Address OPTIONAL, iSDNAddress [3] CBS-Address OPTIONAL } -- operator is a text string containing the name of the CBC/PLMN operator. bilateralAgreem is a -- text string identifying the bilateral agreement between the CBC and the PLMN operators -- which allows for this association to be established. -- dataNetworkAddress is the PSPDN X.121 address of the CBC/BSC issuing the BIND or -- CONFIRM, occurring only if a PSPDN is used. -- iSDNAddress is the PLMN address of the CBC as seen by the MSs (same datum in both BIND and CONFIRM). -- Any pair of subsets of these parameters may be used to identify the CBC and the BSC to one -- another. Operator ::= PrintableString (SIZE(0..ub-operator-name-length)) BilateralAgreem ::= PrintableString (SIZE(0..ub-agreem-name-length)) X121Address ::= NumericString (SIZE(0..ub-X121Address-length)) -- CBS-Address is specified later in this module. Password ::= PrintableString (SIZE(0..ub-password-length)) -- Version provides one of the indications given in the following table. -- Any future substantive interface definition changes must be added to Table 1. -- For definitions see Table 1. Version ::= INTEGER { release-97 (0), reserved-1 (1), reserved-2 (2), reserved-3 (3), reserved-4 (4), reserved-5 (5), reserved-6 (6) } Telecom-System-Type ::= INTEGER { cell-Broadcast-Service-Centre (0), public-Land-Mobile-Network (1) -- Extensions are possible: additional telecommunication subsystems -- might adopt this service element for their interconnection. } List-of-Operations ::= BIT STRING { cBR-From-CBC-Write-Replace (0), cBR-From-CBC-Kill (1), cBR-From-CBC-Status-CBCH-Query (2), cBR-From-CBC-Status-Message-Query (3), cBR-From-BSC-Restart-Ind (4), cBR-From-CBC-Reset (5), cBR-From-BSC-Failure-Ind (6), cBR-From- CBC-Set-DRX (7), cBR-From-BSC-VBind-Request (8), cBR-From-BSC-Bind-Confirm (9), cBR-From-BSC-Bind-Failure (10), cBR-From-BSC-UnBind (11), -- $start$(Phase2PBscCellLists)$ cBR-From-BSC-Restart-Ind-Phase2P (12), cBR-From-BSC-Failure-Ind-Phase2P (13) -- $end$(Phase2PBscCellLists)$ -- Extensions are possible: additional operations may be defined -- within this service element. Existing systems should tolerate -- unknown values, but negotiate not to perform unknown -- operations.} -- Note that this element replaces the CBR-Bind structure for Phase 2+ and beyond. CBR-VBind-Request ::= ABSTRACT-VBIND TO { cBR-port } BIND ARGUMENT CBR-VBind-Parameters RESULT CBR-Bind-confirm BIND-ERROR CBR-Bind-failure CBR-Bind-confirm ::= SEQUENCE { respId [0] Name, password [1] Password OPTIONAL, respType [3] Telecom-System-Type, operations [4] List-of-Operations, transient [5] BOOLEAN, connectTime [6] Time-when-connected } CBR-Bind-failure ::= SEQUENCE { connect-failure-reason [0] Connect-failure } -- connect-failure-reason contains one of the error indications given in the following table. -- Connect-failure ::= INTEGER { not-entitled (0), temporary-overload (1), temporary-failure (2), incorrect-ID-or-password (3), not-supported (4), version-unsupported (5) } Time-when-disconnected ::= UTCTime Time-when-connected ::= UTCTime -- The CBR-Write-Replace operation CBR-Write-Replace ::= ABSTRACT-OPERATION ARGUMENT Write-Replace RESULT Report ERRORS {Parameter-not-recognized, Parameter-value-invalid, Valid-CBS-message-not-identified, Cell-identity-not-valid, Unrecognized-primitive, Missing-mandatory-element, BSS-capacity-exceeded, Cell-memory-exceeded, BSS-memory-exceeded, Cell-broadcast-not-supported, Cell-broadcast-not-operational, Extended-channel-not-supported, Message-reference-already-used, Unspecified-error } -- The CBR-Kill operation CBR-Kill ::= ABSTRACT-OPERATION ARGUMENT Kill RESULT Report ERRORS {Parameter-not-recognized, Parameter-value-invalid, Cell-identity-not-valid, Valid-CBS-message-not-identified, Unrecognized-primitive, Missing-mandatory-element, Cell-broadcast-not-supported, Cell-broadcast-not-operational, Extended-channel-not-supported, Unspecified-error } -- The CBR-Status-CBCH-Query operation CBR-Status-CBCH-Query ::= ABSTRACT-OPERATION ARGUMENT Status-CBCH RESULT Status-CBCH-Resp ERRORS {Parameter-not-recognized, Parameter-value-invalid, Cell-identity-not-valid, Unrecognized-primitive, Missing-mandatory-element, Cell-broadcast-not-supported, Cell-broadcast-not-operational, Extended-channel-not-supported, Unspecified-error } -- The CBR-Status-Message-Query operation CBR-Status-Message-Query ::= ABSTRACT-OPERATION ARGUMENT Status-Message RESULT Status-Mess-Resp ERRORS {Parameter-not-recognized, Parameter-value-invalid, Cell-identity-not-valid, Valid-CBS-message-not-identified, Unrecognized-primitive, Missing-mandatory-element, Cell-broadcast-not-supported, Cell-broadcast-not-operational, Extended-channel-not-supported, Unspecified-error } -- The CBR-Restart-Ind operation CBR-Restart-Ind ::= ABSTRACT-OPERATION ARGUMENT Restart-Ind RESULT ERRORS {Parameter-not-recognised, Parameter-value-invalid, Cell-identity-not-valid, Unrecognized-primitive, Missing-mandatory-element, Unspecified-error } -- $start$(Phase2PBscCellLists)$ -- The CBR-Restart-Ind-Phase2P operation CBR-Restart-Ind-Phase2P ::= ABSTRACT-OPERATION ARGUMENT Restart-Ind-Phase2P RESULT ERRORS {Parameter-not-recognised, Parameter-value-invalid, Cell-identity-not-valid, Unrecognized-primitive, Missing-mandatory-element, Unspecified-error } -- $end$(Phase2PBscCellLists)$ -- The CBR-Reset operation CBR-Reset ::= ABSTRACT-OPERATION ARGUMENT Reset RESULT ERRORS {Parameter-not-recognized, Parameter-value-invalid, Cell-identity-not-valid, Unrecognized-primitive, Missing-mandatory-element, Cell-broadcast-not-supported, Unspecified-error } -- The CBR-Failure-Ind operation CBR-Failure-Ind ::= ABSTRACT-OPERATION ARGUMENT Failure-Ind RESULT ERRORS {Parameter-not-recognized, Parameter-value-invalid, Cell-identity-not-valid, Unrecognized-primitive, Missing-mandatory-element, Unspecified-error } -- $start$(Phase2PBscCellLists)$ -- The CBR-Failure-Ind-Phase2P operation CBR-Failure-Ind-Phase2P ::= ABSTRACT-OPERATION ARGUMENT Failure-Ind-Phase2P RESULT ERRORS {Parameter-not-recognized, Parameter-value-invalid, Cell-identity-not-valid, Unrecognized-primitive, Missing-mandatory-element, Unspecified-error } -- $end$(Phase2PBscCellLists)$ -- The CBR-Set-DRX operation CBR-Set-DRX ::= ABSTRACT-OPERATION ARGUMENT Set-DRX RESULT Set-DRX-Resp ERRORS {Parameter-not-recognized, Parameter-value-invalid, Valid-CBS-message-not-identified, Cell-identity-not-valid, Unrecognized-primitive, Missing-mandatory-element, BSS-capacity-exceeded, Unspecified-error, Cell-broadcast-not-supported, Cell-broadcast-not-operational, Extended-channel-not-supported, Incompatible-DRX-parameter } -- CBR operation ARGUMENT lists -- PDU parameter definitions from 03.41 Message-Identifier ::= INTEGER (0 .. 65535) Serial-Number ::= INTEGER (0 .. 65535) No-of-Pages ::= INTEGER (1 .. 15) Cell-List ::= SEQUENCE { length INTEGER, -- number of cells in the list disc Cell-Id-Disc, list SEQUENCE OF Cell-Id } Channel ::= INTEGER { basic-channel (0), extended-channel (1) } Category ::= INTEGER { high-priority (0), normal-priority (1), background (2) } Repetition-Period ::= INTEGER (1 .. 1024) No-of-Broadcast-Req ::= INTEGER (0 ..65535) No-of-Broadcasts-Compl-List ::= SEQUENCE OF SEQUENCE { cell-id Cell, no-of-broadcasts-compl INTEGER, no-of-broadcasts-compl-info No-of-Broadcasts-Compl-Info-Type OPTIONAL } Cell-Id ::= OCTET STRING (SIZE(4)) -- Note: -- If Cell-Id-Disc equals ciOnly then only the last 2 octets of -- Cell-ID are to be considered -- If Cell-Id-Disc equals lacOnly then only the first 2 octets of -- Cell-ID are to be considered. The unused octets are filler octets -- If Cell-Id-Disc equals allCells, Cell-ID only contains filler octets Schedule-Period ::= INTEGER (0 .. 40) Reserved-Slots ::= INTEGER (0 .. 40) Failure-List ::= SEQUENCE OF SEQUENCE { cell-id Cell, cause Failure-Reason, diagnostic Diagnostic-Info OPTIONAL } Cbch-Loading-List ::= SEQUENCE OF SEQUENCE{ cell-id Cell, cbch-loading Cbch-Loading -- indicates the predicted short term load, expressed as a percentage -- (min:0, max: 100) } Cbch-Loading ::= INTEGER(0..100) Failure-Reason ::= INTEGER { parameter-not-recognised (0), unused-failure-reason-1 (1), -- not used parameter-value-invalid (2), valid-CBS-message-not-identified (3), cell-identity-not-valid (4), unrecognised-primitive (5), missing-mandatory-element (6), bss-capacity-exceeded (7), cell-memory-exceeded (8), bss-memory-exceeded (9), unspecifed-error (10), incompatible-DRX-parameter (11), unused-failure-reason-12 (12), -- not used cell-broadcast-not-supported (13), cell-broadcast-not-operational (14), extended-channel-not-supported (15), message-reference-already-used (16) } Diagnostic-Info ::= OCTET STRING (SIZE (1..20)) Data-Coding-Scheme ::= INTEGER (0 .. 255) Page-Inf ::= SEQUENCE { message-info-useful-octets Message-Info-Useful-Octets, message-info-page Message-Info-Page } Message-Info-Useful-Octets ::= INTEGER (0..82) Recovery-Indication ::= BOOLEAN -- TRUE indicates data is available -- False indicates data is lost -- Definitions used by the PDU parameters Message-Info-Page ::= OCTET STRING (SIZE(82)) Cell-Id-Disc ::= OCTET-STRING (SIZE(1)) -- values from the following table lacAndCi OCTET STRING (SIZE(1)) ::= '1'H -- 2 Octet lac, followed by 2 Octet Cell Id ciOnly OCTET STRING (SIZE(1)) ::= '2'H -- Cell Id only lacOnly OCTET STRING (SIZE(1)) ::= '5'H -- 2 Octet lac only, all cells in this LAC (NOT USED BY BSC) allCells OCTET STRING (SIZE(1)) ::= '6'H -- all cells in this BSS (NOT USED BY BSC) Cell ::= SEQUENCE { disc Cell-Id-Disc, id Cell-Id } No-of-Broadcasts-Compl-Info-Type::= INTEGER { unknown (0), overflow (1) } Write-Replace ::= SEQUENCE { message-Identifier Message-Identifier, new-Serial-Number Serial-Number, no-of-Pages No-of-Pages, data-coding-scheme Data-Coding-Scheme, cell-list Cell-List, repetition-Period Repetition-Period, no-of-broadcast-req No-of-Broadcast-Req, cbs-Page-Inf SEQUENCE OF [15] Page-Inf, old-Serial-Number [3] Serial-Number OPTIONAL, category [2] Category OPTIONAL, channel-indicator [4] Channel OPTIONAL } Kill ::= SEQUENCE { message-Identifier Message-Identifier, old-Serial-Number Serial-Number, cell-List Cell-List, channel-indicator [4] Channel OPTIONAL } Status-CBCH ::= SEQUENCE{ cell-List Cell-List, channel-indicator [4] Channel OPTIONAL } Status-Message ::= SEQUENCE { message-Identifier Message-Identifier, old-Serial-No Serial-Number, cell-List Cell-List, channel-indicator [4] Channel OPTIONAL } -- $start$(Phase2PBscCellLists)$ -- The Restart-Ind PDU is retained for backward compatibility with Phase 2 systems, -- and may be used in Phase 2+ systems Restart-Ind ::= SEQUENCE { cell-list Cell-List, recovery-Indication Recovery-Indication OPTIONAL } -- coding of the recovery-Indication states is Data-available TRUE, Data-lost FALSE -- The Restart-Ind-Phase2P PDU is used in Phase 2+ systems Restart-Ind-Phase2P ::= CHOICE { restart-list1 [0] SEQUENCE { cell-list Cell-List, recovery-Indication Recovery OPTIONAL }, restart-list2 [1] SEQUENCE { cell-list SEQUENCE OF Cell, recovery-Indication Recovery OPTIONAL } } -- The Failure-Ind PDU is retained for backward compatibility with Phase 2 systems, -- and may be used in Phase 2+ systems Failure-Ind ::= SEQUENCE{ cell-list Cell-List } -- The Failure-Ind-Phase2P PDU is used in Phase 2+ systems Failure-Ind-Phase2P ::= CHOICE { failure-list1 [0] SEQUENCE { cell-list Cell-List }, failure-list2 [1] SEQUENCE OF Cell } -- $end$(Phase2PBscCellLists)$ Reset ::= SEQUENCE{ cell-list Cell-List } Set-DRX ::= SEQUENCE { cell-list Cell-List, schedule-Period [6] Schedule-Period OPTIONAL, reserved-Slots [2] Reserved-Slots OPTIONAL, channel-indicator [4] Channel OPTIONAL } Report ::= SEQUENCE { message-Identifier Message-Identifier, serial-Number Serial-Number, no-of-Broadcasts-Compl-List [0] No-of-Broadcasts-Compl-List OPTIONAL, failure-List [1] Failure-List OPTIONAL, channel-indicator [4] Channel OPTIONAL } Status-CBCH-Resp ::= SEQUENCE{ cbch-loading-List [0] Cbch-Loading-List OPTIONAL, failure-List [1] Failure-List OPTIONAL, channel-indicator [4] Channel OPTIONAL Status-Mess-Resp ::= SEQUENCE { message-Identifier Message-Identifier, old-serial-number Serial-Number, no-of-Broadcasts-Compl-List [0] No-of-Broadcasts-Compl-List OPTIONAL, failure-List [1] Failure-List OPTIONAL, channel-indicator [4] Channel OPTIONAL } -- $start$(Phase2PBscCellLists)$ Set-DRX-Resp ::= SEQUENCE { cell-list [0] SEQUENCE OF Cell OPTIONAL, failure-List [1] Failure-List OPTIONAL, channel-indicator [4] Channel OPTIONAL } -- $end$(Phase2PBscCellLists)$ -- CBR operation errors listed below Parameter-not-recognized ::= ABSTRACT-ERROR PARAMETER Diagnostic-Info OPTIONAL Parameter-value-invalid ::= ABSTRACT-ERROR PARAMETER Diagnostic-Info OPTIONAL Valid-CBS-message-not-identified ::= ABSTRACT-ERROR PARAMETER Diagnostic-Info OPTIONAL Cell-Identity-not-valid ::= ABSTRACT-ERROR PARAMETER Diagnostic-Info OPTIONAL Unrecognized-primitive ::= ABSTRACT-ERROR PARAMETER Diagnostic-Info OPTIONAL Missing-mandatory-element ::= ABSTRACT-ERROR PARAMETER Diagnostic-Info OPTIONAL BSS-capacity-exceeded ::= ABSTRACT-ERROR PARAMETER Diagnostic-Info OPTIONAL Cell-memory-exceeded ::= ABSTRACT-ERROR PARAMETER Diagnostic-Info OPTIONAL BSS-memory-exceeded ::= ABSTRACT-ERROR PARAMETER Diagnostic-Info OPTIONAL Unspecified-error ::= ABSTRACT-ERROR PARAMETER Diagnostic-Info OPTIONAL Incompatible-DRX-parameter ::= ABSTRACT-ERROR PARAMETER Diagnostic-Info OPTIONAL Cell-broadcast-not-supported ::= ABSTRACT-ERROR PARAMETER Diagnostic-Info OPTIONAL Cell-broadcast-not-operational ::= ABSTRACT-ERROR PARAMETER Diagnostic-Info OPTIONAL Extended-channel-not-supported ::= ABSTRACT-ERROR PARAMETER Diagnostic-Info OPTIONAL Message-reference-already-used ::= ABSTRACT-ERROR PARAMETER Diagnostic-Info OPTIONAL -- Definition of Cell Broadcast Relay Service address CBS-Address ::= [APPLICATION 0] SEQUENCE { address-type INTEGER { unknown-type (0), international-number (1), national-number (2), network-specific-number (3), short-number (4) }, numbering-plan INTEGER { unknown-numbering (0), iSDN-numbering (1), data-network-numbering (3), telex-numbering (4), national-numbering (8), private-numbering (9)} address-value CHOICE { octet-format SemiOctetString --other formats are for further study} } SemiOctetString ::= OCTET STRING (SIZE(1..10)) -- each octet contains two binary coded decimal digits END RelayProtocol { ccitt identified-organization (4) etsi (0) mobile-domain(0) gsm-messaging (4) gsm-sms4 (13) relayProtocol(1) } DEFINITIONS IMPLICIT TAGS ::= BEGIN IMPORTS -- application service elements and application contexts aCSE, APPLICATION-SERVICE-ELEMENT, APPLICATION-CONTEXT FROM Remote-Operations-Notation-extension { joint-iso-ccitt remote-operations(4) notation-extension(2) } rOSE FROM Remote-Operations-APDUs { joint-iso-ccitt remote-operations(4) apdus(1) } -- object identifiers id-cb-ac-so, id-cb-CBRSE, id-cb-as-CBRSE, FROM CBS-UsefulDefinitions{ ccitt identified-organization (4) etsi (0) mobile-domain(0) gsm-messaging(4) gsm-sms4 (13) usefulDefinitions(0) } ; aS-ACSE OBJECT IDENTIFIER ::= { joint-iso-ccitt association-control (2) abstractSyntax(1) apdus(0) version(1) } -- abstract service parameters CBR-Bind, CBR-Unbind, CBR-Write-Replace, CBR-Kill, CBR-Status-CBCH-Query, -- $start$(Phase2PBscCellLists)$ CBR-Status-Message-Query, CBR-Reset, CBR-Restart-Ind, CBR-Restart-Ind-Phase2P, CBR-Failure-Ind, CBR-Failure-Ind-Phase2P, CBR-Set-DRX, -- $end$(Phase2PBscCellLists)$ Parameter-not-recognized, Parameter-value-invalid, Valid-CBS-message-not-identified, Cell-identity-not-valid, Unrecognized-primitive, Missing-mandatory-element, BSS-capacity-exceeded, Cell-memory-exceeded, BSS-memory-exceeded, Unspecified-error, Incompatible-DRX-parameter, Cell-broadcast-not-supported, Cell-broadcast-not-operational, Extended-channel-not-supported FROM RelayAbstractService{ ccitt identified-organization (4) etsi (0) mobile-domain(0) gsm-messaging(4) gsm-sms4(13) relayAbstractService(2) } ; -- Application contexts -- Only one application contexts is specified: the CBC is exclusively responsible for the BIND and -- UNBIND operations. cBC-BINDs-and-UNBINDs APPLICATION-CONTEXT APPLICATION-SERVICE-ELEMENTS { aCSE } BIND CBR-Bind UNBIND CBR-Unbind REMOTE OPERATIONS { rOSE } INITIATOR CONSUMER OF { cBRSE } ABSTRACT SYNTAXES { id-cb-as-CBRSE , aS-ACSE } ::= id-cb-ac-so -- Application service elements cBRSE APPLICATION-SERVICE-ELEMENT CONSUMER INVOKES { CBR-Restart-Ind -- $start$(Phase2PBscCellLists)$ CBR-Restart-Ind-Phase2P CBR-Failure-Ind CBR-Failure-Ind-Phase2P -- $end$(Phase2PBscCellLists)$ CBR-From-BSC-VBind-Request CBR-From-BSC-Bind-Confirm CBR-From-BSC-Bind-Failure CBR-From-BSC-UnBind } SUPPLIER INVOKES { CBR-Write-Replace CBR-Kill CBR-Status-CBCH-Query CBR-Status-Message-Query CBR-Reset CBR-Set-DRX CBR-From-BSC-VBind-Request CBR-From-BSC-Bind-Confirm CBR-From-BSC-Bind-Failure CBR-From-BSC-UnBind } ::= id-cb-SMRSE -- Remote operations cbr-write-replace CBR-Write-Replace ::= 1 -- Note: localValue - words are omitted, since they are -- typically not used, and likely to be removed from -- the OPERATION and ERROR macros in ROSE. cbr-kill CBR-Kill ::= 2 cbr-status-CBCH-query CBR-Status-CBCH-Query ::= 3 cbr-status-message-query CBR-Status-Message-Query ::= 4 cbr-restart-ind CBR-Restart-Ind ::= 5 cbr-reset CBR-Reset ::= 6 cbr-failure-ind CBR-Failure-Ind ::= 7 cbr-set-DRX CBR-Set-DRX ::= 8 -- $start$(Phase2PBscCellLists)$ cbr-restart-ind-phase2p CBR-Restart-Ind-Phase2P ::= 9 cbr-failure-ind-phase2p CBR-Failure-Ind-Phase2P ::= 10 -- $end$(Phase2PBscCellLists)$ -- Remote errors, the localValues are provisional parameter-not-recognized Parameter-not-recognized ::= 0 parameter-value-invalid Parameter-value-invalid ::= 2 valid-CBS-message-not-identified Valid-CBS-message-not-identified ::= 3 cell-identity-not-valid Cell-identity-not-valid ::= 4 unrecognized-primitive Unrecognized-primitive ::= 5 missing-mandatory-element Missing-mandatory-element ::= 6 bss-capacity-exceeded BSS-capacity-exceeded ::= 7 cell-memory-exceeded Cell-memory-exceeded ::= 8 bss-memory-exceeded BSS-memory-exceeded ::= 9 unspecified-error Unspecified-error ::= 10 incompatible-DRX-parameter Incompatible-DRX-Parameter ::= 11 cell-broadcast-not-supported Cell-broadcast-not-supported ::= 13 cell-broadcast-not-operational Cell-broadcast-not-operational ::= 14 extended-channel-not-supported Extended-channel-not-supported ::= 15 message-reference-already-used Message-reference-already-used ::= 16 END name of parameter value in request and report operations {cBR-From-CBC-Write-Replace, cBR-From-CBC-Kill, cBR-From-CBC-Status-CBCH-Query, cBR-From-CBC-Status-Message-Query, cBR-From-BSC-Restart-Ind, cBR-From-BSC-Reset, cBR-From-BSC-Failure-Ind, cBR-From-CBC-Set-DRX, cBR-From-BSC-VBind-Request, cBR-From-BSC-Bind-Confirm, cBR-From-BSC-Bind-Failure, cBR-From-BSC-UnBind, -- $start$(Phase2PBscCellLists)$ cBR-From-BSC-Restart-Ind-Phase2P, cBR-From-BSC-Failure-Ind-Phase2P -- $end$(Phase2PBscCellLists)$ } transient FALSE $start$(Phase2PBscCellLists)$ $end$(Phase2PBscCellLists)$ name of parameter value iniType cell-Broadcast-Service-Centre respType public-Land-Mobile-Network operations { cBR-From-CBC-Write-Replace } transient TRUE $start$(Phase2PBscCellLists)$ $end$(Phase2PBscCellLists)$