diff options
author | Tomas Kukosa <tomas.kukosa@siemens.com> | 2007-09-17 11:00:42 +0000 |
---|---|---|
committer | Tomas Kukosa <tomas.kukosa@siemens.com> | 2007-09-17 11:00:42 +0000 |
commit | e513ff17002a55ddfba0b1bb1748d88897156c77 (patch) | |
tree | f394772018a776ee4a22ebd0e094c6ff9563f706 /asn1/sabp | |
parent | cf0a75a32da3c64fba59973427eb7c161c2e3e52 (diff) |
add missing file and change file attributes
svn path=/trunk/; revision=22885
Diffstat (limited to 'asn1/sabp')
-rw-r--r-- | asn1/sabp/Makefile | 34 | ||||
-rw-r--r-- | asn1/sabp/Makefile.nmake | 88 | ||||
-rw-r--r-- | asn1/sabp/SABP-CommonDataTypes.asn | 74 | ||||
-rw-r--r-- | asn1/sabp/SABP-Constants.asn | 170 | ||||
-rw-r--r-- | asn1/sabp/SABP-Containers.asn | 246 | ||||
-rw-r--r-- | asn1/sabp/SABP-IEs.asn | 560 | ||||
-rw-r--r-- | asn1/sabp/SABP-PDU-Contents.asn | 1048 | ||||
-rw-r--r-- | asn1/sabp/SABP-PDU-Descriptions.asn | 412 | ||||
-rw-r--r-- | asn1/sabp/packet-sabp-template.c | 346 | ||||
-rw-r--r-- | asn1/sabp/sabp.cnf | 260 |
10 files changed, 1619 insertions, 1619 deletions
diff --git a/asn1/sabp/Makefile b/asn1/sabp/Makefile index 62fc64a235..d6f1d951c1 100644 --- a/asn1/sabp/Makefile +++ b/asn1/sabp/Makefile @@ -1,17 +1,17 @@ -# $Id: Makefile 22490 2007-08-13 11:15:39Z kukosa $
-
-DISSECTOR_FILES=packet-sabp.c
-
-all: generate_dissector
-
-generate_dissector: $(DISSECTOR_FILES)
-
-$(DISSECTOR_FILES): ../../tools/asn2wrs.py sabp.asn packet-sabp-template.c sabp.cnf
- python ../../tools/asn2wrs.py -p sabp -c sabp.cnf -s packet-sabp-template SABP-CommonDataTypes.asn SABP-Constants.asn SABP-Containers.asn SABP-IEs.asn SABP-PDU-Contents.asn SABP-PDU-Descriptions.asn
-
-clean:
- rm -f parsetab.py $(DISSECTOR_FILES)
-
-copy_files: generate_dissector
- cp $(DISSECTOR_FILES) ../../epan/dissectors
-
+# $Id$ + +DISSECTOR_FILES=packet-sabp.c + +all: generate_dissector + +generate_dissector: $(DISSECTOR_FILES) + +$(DISSECTOR_FILES): ../../tools/asn2wrs.py sabp.asn packet-sabp-template.c sabp.cnf + python ../../tools/asn2wrs.py -p sabp -c sabp.cnf -s packet-sabp-template SABP-CommonDataTypes.asn SABP-Constants.asn SABP-Containers.asn SABP-IEs.asn SABP-PDU-Contents.asn SABP-PDU-Descriptions.asn + +clean: + rm -f parsetab.py $(DISSECTOR_FILES) + +copy_files: generate_dissector + cp $(DISSECTOR_FILES) ../../epan/dissectors + diff --git a/asn1/sabp/Makefile.nmake b/asn1/sabp/Makefile.nmake index 8574cf0235..31d03712ab 100644 --- a/asn1/sabp/Makefile.nmake +++ b/asn1/sabp/Makefile.nmake @@ -1,44 +1,44 @@ -## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
-#
-# $Id: Makefile.nmake 22490 2007-08-13 11:15:39Z kukosa $
-
-include ../../config.nmake
-
-UNIX2DOS=$(PERL) ../../tools/unix2dos.pl
-
-PROTOCOL_NAME=sabp
-DISSECTOR_FILES=packet-$(PROTOCOL_NAME).c
-SABP_ASN=SABP-CommonDataTypes.asn SABP-Constants.asn SABP-Containers.asn SABP-IEs.asn SABP-PDU-Contents.asn SABP-PDU-Descriptions.asn
-
-all: generate_dissector
-
-generate_dissector: $(DISSECTOR_FILES)
-
-$(DISSECTOR_FILES): ../../tools/asn2wrs.py $(SABP_ASN) packet-sabp-template.c sabp.cnf
-!IFDEF PYTHON
- $(PYTHON) "../../tools/asn2wrs.py" -p $(PROTOCOL_NAME) -c sabp.cnf -s packet-sabp-template $(SABP_ASN)
-!ELSE
- @echo Error: You need Python to use asn2wrs.py
- @exit 1
-!ENDIF
-
-clean:
- rm -f parsetab.py parsetab.pyc $(DISSECTOR_FILES)
-
-distclean: clean
-
-maintainer-clean: distclean
-
-# Fix EOL in generated dissectors. Cygwin's python generates files with
-# mixed EOL styles, which can't be commited to the SVN repository.
-# Stuff included from template and "cnf" files has "\r\n" on windows, while
-# the generated stuff has "\n".
-
-fix_eol: generate_dissector
- move packet-$(PROTOCOL_NAME).c packet-$(PROTOCOL_NAME).c.tmp
- $(UNIX2DOS) < packet-$(PROTOCOL_NAME).c.tmp > packet-$(PROTOCOL_NAME).c
- del /f packet-$(PROTOCOL_NAME).c.tmp
-
-copy_files: generate_dissector fix_eol
- xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
-
+## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake +# +# $Id$ + +include ../../config.nmake + +UNIX2DOS=$(PERL) ../../tools/unix2dos.pl + +PROTOCOL_NAME=sabp +DISSECTOR_FILES=packet-$(PROTOCOL_NAME).c +SABP_ASN=SABP-CommonDataTypes.asn SABP-Constants.asn SABP-Containers.asn SABP-IEs.asn SABP-PDU-Contents.asn SABP-PDU-Descriptions.asn + +all: generate_dissector + +generate_dissector: $(DISSECTOR_FILES) + +$(DISSECTOR_FILES): ../../tools/asn2wrs.py $(SABP_ASN) packet-sabp-template.c sabp.cnf +!IFDEF PYTHON + $(PYTHON) "../../tools/asn2wrs.py" -p $(PROTOCOL_NAME) -c sabp.cnf -s packet-sabp-template $(SABP_ASN) +!ELSE + @echo Error: You need Python to use asn2wrs.py + @exit 1 +!ENDIF + +clean: + rm -f parsetab.py parsetab.pyc $(DISSECTOR_FILES) + +distclean: clean + +maintainer-clean: distclean + +# Fix EOL in generated dissectors. Cygwin's python generates files with +# mixed EOL styles, which can't be commited to the SVN repository. +# Stuff included from template and "cnf" files has "\r\n" on windows, while +# the generated stuff has "\n". + +fix_eol: generate_dissector + move packet-$(PROTOCOL_NAME).c packet-$(PROTOCOL_NAME).c.tmp + $(UNIX2DOS) < packet-$(PROTOCOL_NAME).c.tmp > packet-$(PROTOCOL_NAME).c + del /f packet-$(PROTOCOL_NAME).c.tmp + +copy_files: generate_dissector fix_eol + xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y + diff --git a/asn1/sabp/SABP-CommonDataTypes.asn b/asn1/sabp/SABP-CommonDataTypes.asn index 8d35e7ea04..51030d5413 100644 --- a/asn1/sabp/SABP-CommonDataTypes.asn +++ b/asn1/sabp/SABP-CommonDataTypes.asn @@ -1,37 +1,37 @@ --- SABP-CommonDataTypes.asn
---
--- Taken from 3GPP TS 25.419 V7.0.0 (2006-03)
--- http://www.3gpp.org/ftp/Specs/archive/25_series/25.419/25419-700.zip/25419-700.DOC
---
--- 9.3.5 Common Definitions
---
--- $Id$
---
-
--- **************************************************************
---
--- Common definitions
---
--- **************************************************************
-
-SABP-CommonDataTypes {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) sabp (3) version1 (1) sabp-CommonDataTypes (3) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-Criticality ::= ENUMERATED { reject, ignore, notify }
-
-Presence ::= ENUMERATED { optional, conditional, mandatory }
-
-ProcedureCode ::= INTEGER (0..255)
-
-ProtocolExtensionID ::= INTEGER (0..65535)
-
-ProtocolIE-ID ::= INTEGER (0..65535)
-
-TriggeringMessage ::= ENUMERATED {initiating-message, successful-outcome, unsuccessful-outcome, outcome}
-
-END
+-- SABP-CommonDataTypes.asn +-- +-- Taken from 3GPP TS 25.419 V7.0.0 (2006-03) +-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.419/25419-700.zip/25419-700.DOC +-- +-- 9.3.5 Common Definitions +-- +-- $Id$ +-- + +-- ************************************************************** +-- +-- Common definitions +-- +-- ************************************************************** + +SABP-CommonDataTypes { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-CommonDataTypes (3) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +Criticality ::= ENUMERATED { reject, ignore, notify } + +Presence ::= ENUMERATED { optional, conditional, mandatory } + +ProcedureCode ::= INTEGER (0..255) + +ProtocolExtensionID ::= INTEGER (0..65535) + +ProtocolIE-ID ::= INTEGER (0..65535) + +TriggeringMessage ::= ENUMERATED {initiating-message, successful-outcome, unsuccessful-outcome, outcome} + +END diff --git a/asn1/sabp/SABP-Constants.asn b/asn1/sabp/SABP-Constants.asn index 32791f5710..7ee9e70b1c 100644 --- a/asn1/sabp/SABP-Constants.asn +++ b/asn1/sabp/SABP-Constants.asn @@ -1,85 +1,85 @@ --- SABP-Constants.asn
---
--- Taken from 3GPP TS 25.419 V7.0.0 (2006-03)
--- http://www.3gpp.org/ftp/Specs/archive/25_series/25.419/25419-700.zip/25419-700.DOC
---
--- 9.3.6 Constant Definitions
---
--- $Id$
---
-
--- **************************************************************
---
--- Constant definitions
---
--- **************************************************************
-
-SABP-Constants {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) sabp (3) version1 (1) sabp-Constants (4) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- Elementary Procedures
---
--- **************************************************************
-
-id-Write-Replace INTEGER ::= 0
-id-Kill INTEGER ::= 1
-id-Load-Status-Enquiry INTEGER ::= 2
-id-Message-Status-Query INTEGER ::= 3
-id-Restart-Indication INTEGER ::= 4
-id-Reset INTEGER ::= 5
-id-Failure-Indication INTEGER ::= 6
-id-Error-Indication INTEGER ::= 7
-
--- **************************************************************
---
--- IEs
---
--- **************************************************************
-
-id-Broadcast-Message-Content INTEGER ::= 0
-id-Category INTEGER ::= 1
-id-Cause INTEGER ::= 2
-id-Criticality-Diagnostics INTEGER ::=3
-id-Data-Coding-Scheme INTEGER ::= 4
-id-Failure-List INTEGER ::= 5
-id-Message-Identifier INTEGER ::= 6
-id-New-Serial-Number INTEGER ::= 7
-id-Number-of-Broadcasts-Completed-List INTEGER ::= 8
-id-Number-of-Broadcasts-Requested INTEGER ::= 9
-id-Old-Serial-Number INTEGER ::= 10
-id-Radio-Resource-Loading-List INTEGER ::= 11
-id-Recovery-Indication INTEGER ::= 12
-id-Repetition-Period INTEGER ::= 13
-id-Serial-Number INTEGER ::= 14
-id-Service-Areas-List INTEGER ::= 15
-id-MessageStructure INTEGER ::= 16
-id-TypeOfError INTEGER ::= 17
-
-
--- **************************************************************
---
--- Extension constants
---
--- **************************************************************
-
--- **************************************************************
---
--- Lists
---
--- **************************************************************
-
-maxNrOfErrors INTEGER ::= 256
-maxnoofSAI INTEGER ::= 65535
-
-maxProtocolExtensions INTEGER ::= 65535
-maxProtocolIEs INTEGER ::= 65535
-maxNrOfLevels INTEGER ::= 256
-
-END
+-- SABP-Constants.asn +-- +-- Taken from 3GPP TS 25.419 V7.0.0 (2006-03) +-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.419/25419-700.zip/25419-700.DOC +-- +-- 9.3.6 Constant Definitions +-- +-- $Id$ +-- + +-- ************************************************************** +-- +-- Constant definitions +-- +-- ************************************************************** + +SABP-Constants { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-Constants (4) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- Elementary Procedures +-- +-- ************************************************************** + +id-Write-Replace INTEGER ::= 0 +id-Kill INTEGER ::= 1 +id-Load-Status-Enquiry INTEGER ::= 2 +id-Message-Status-Query INTEGER ::= 3 +id-Restart-Indication INTEGER ::= 4 +id-Reset INTEGER ::= 5 +id-Failure-Indication INTEGER ::= 6 +id-Error-Indication INTEGER ::= 7 + +-- ************************************************************** +-- +-- IEs +-- +-- ************************************************************** + +id-Broadcast-Message-Content INTEGER ::= 0 +id-Category INTEGER ::= 1 +id-Cause INTEGER ::= 2 +id-Criticality-Diagnostics INTEGER ::=3 +id-Data-Coding-Scheme INTEGER ::= 4 +id-Failure-List INTEGER ::= 5 +id-Message-Identifier INTEGER ::= 6 +id-New-Serial-Number INTEGER ::= 7 +id-Number-of-Broadcasts-Completed-List INTEGER ::= 8 +id-Number-of-Broadcasts-Requested INTEGER ::= 9 +id-Old-Serial-Number INTEGER ::= 10 +id-Radio-Resource-Loading-List INTEGER ::= 11 +id-Recovery-Indication INTEGER ::= 12 +id-Repetition-Period INTEGER ::= 13 +id-Serial-Number INTEGER ::= 14 +id-Service-Areas-List INTEGER ::= 15 +id-MessageStructure INTEGER ::= 16 +id-TypeOfError INTEGER ::= 17 + + +-- ************************************************************** +-- +-- Extension constants +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Lists +-- +-- ************************************************************** + +maxNrOfErrors INTEGER ::= 256 +maxnoofSAI INTEGER ::= 65535 + +maxProtocolExtensions INTEGER ::= 65535 +maxProtocolIEs INTEGER ::= 65535 +maxNrOfLevels INTEGER ::= 256 + +END diff --git a/asn1/sabp/SABP-Containers.asn b/asn1/sabp/SABP-Containers.asn index 5155f4b1e4..017fb76c97 100644 --- a/asn1/sabp/SABP-Containers.asn +++ b/asn1/sabp/SABP-Containers.asn @@ -1,123 +1,123 @@ --- SABP-Containers.asn
---
--- Taken from 3GPP TS 25.419 V7.0.0 (2006-03)
--- http://www.3gpp.org/ftp/Specs/archive/25_series/25.419/25419-700.zip/25419-700.DOC
---
--- 9.3.7 Container Definitions
---
--- $Id$
---
-
--- **************************************************************
---
--- Container definitions
---
--- **************************************************************
-
-SABP-Containers {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) sabp (3) version1 (1) sabp-Containers (5) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- Criticality,
- Presence,
- ProtocolExtensionID,
- ProtocolIE-ID
-FROM SABP-CommonDataTypes
-
- maxProtocolExtensions,
- maxProtocolIEs
-FROM SABP-Constants;
-
--- **************************************************************
---
--- Class Definition for Protocol IEs
---
--- **************************************************************
-
-SABP-PROTOCOL-IES ::= CLASS {
- &id ProtocolIE-ID UNIQUE,
- &criticality Criticality DEFAULT ignore,
- &Value,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- TYPE &Value
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Protocol Extensions
---
--- **************************************************************
-
-SABP-PROTOCOL-EXTENSION ::= CLASS {
- &id ProtocolExtensionID UNIQUE,
- &criticality Criticality DEFAULT ignore,
- &Extension,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- EXTENSION &Extension
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Container for Protocol IEs
---
--- **************************************************************
-
-ProtocolIE-Container {SABP-PROTOCOL-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (0..maxProtocolIEs)) OF
- ProtocolIE-Field {{IEsSetParam}}
-
-ProtocolIE-Field {SABP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
- id SABP-PROTOCOL-IES.&id ({IEsSetParam}),
- criticality SABP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
- value SABP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container Lists for Protocol IE Containers
---
--- **************************************************************
-
-ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, SABP-PROTOCOL-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (lowerBound..upperBound)) OF
- ProtocolIE-Container {{IEsSetParam}}
-
--- **************************************************************
---
--- Container for Protocol Extensions
---
--- **************************************************************
-
-ProtocolExtensionContainer {SABP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
- SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
- ProtocolExtensionField {{ExtensionSetParam}}
-
-ProtocolExtensionField {SABP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
- id SABP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
- criticality SABP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
- extensionValue SABP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
-}
-
-
-END
+-- SABP-Containers.asn +-- +-- Taken from 3GPP TS 25.419 V7.0.0 (2006-03) +-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.419/25419-700.zip/25419-700.DOC +-- +-- 9.3.7 Container Definitions +-- +-- $Id$ +-- + +-- ************************************************************** +-- +-- Container definitions +-- +-- ************************************************************** + +SABP-Containers { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-Containers (5) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + Criticality, + Presence, + ProtocolExtensionID, + ProtocolIE-ID +FROM SABP-CommonDataTypes + + maxProtocolExtensions, + maxProtocolIEs +FROM SABP-Constants; + +-- ************************************************************** +-- +-- Class Definition for Protocol IEs +-- +-- ************************************************************** + +SABP-PROTOCOL-IES ::= CLASS { + &id ProtocolIE-ID UNIQUE, + &criticality Criticality DEFAULT ignore, + &Value, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + TYPE &Value + PRESENCE &presence +} + +-- ************************************************************** +-- +-- Class Definition for Protocol Extensions +-- +-- ************************************************************** + +SABP-PROTOCOL-EXTENSION ::= CLASS { + &id ProtocolExtensionID UNIQUE, + &criticality Criticality DEFAULT ignore, + &Extension, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + EXTENSION &Extension + PRESENCE &presence +} + +-- ************************************************************** +-- +-- Container for Protocol IEs +-- +-- ************************************************************** + +ProtocolIE-Container {SABP-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (0..maxProtocolIEs)) OF + ProtocolIE-Field {{IEsSetParam}} + +ProtocolIE-Field {SABP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE { + id SABP-PROTOCOL-IES.&id ({IEsSetParam}), + criticality SABP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}), + value SABP-PROTOCOL-IES.&Value ({IEsSetParam}{@id}) +} + +-- ************************************************************** +-- +-- Container Lists for Protocol IE Containers +-- +-- ************************************************************** + +ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, SABP-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (lowerBound..upperBound)) OF + ProtocolIE-Container {{IEsSetParam}} + +-- ************************************************************** +-- +-- Container for Protocol Extensions +-- +-- ************************************************************** + +ProtocolExtensionContainer {SABP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= + SEQUENCE (SIZE (1..maxProtocolExtensions)) OF + ProtocolExtensionField {{ExtensionSetParam}} + +ProtocolExtensionField {SABP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE { + id SABP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}), + criticality SABP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}), + extensionValue SABP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id}) +} + + +END diff --git a/asn1/sabp/SABP-IEs.asn b/asn1/sabp/SABP-IEs.asn index 6ba98f8c26..2d55b76776 100644 --- a/asn1/sabp/SABP-IEs.asn +++ b/asn1/sabp/SABP-IEs.asn @@ -1,280 +1,280 @@ --- SABP-IEs.asn
---
--- Taken from 3GPP TS 25.419 V7.0.0 (2006-03)
--- http://www.3gpp.org/ftp/Specs/archive/25_series/25.419/25419-700.zip/25419-700.DOC
---
--- 9.3.4 Information Element Definitions
---
--- $Id$
---
-
--- **************************************************************
---
--- Information Element Definitions
---
--- **************************************************************
-
-
-SABP-IEs {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) sabp (3) version1 (1) sabp-IEs (2) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- maxNrOfErrors,
- maxnoofSAI,
- maxNrOfLevels,
-
- id-MessageStructure,
- id-TypeOfError
-
-FROM SABP-Constants
-
- Criticality,
- ProcedureCode,
- TriggeringMessage,
- ProtocolIE-ID
-FROM SABP-CommonDataTypes
-
- ProtocolExtensionContainer{},
-
- SABP-PROTOCOL-EXTENSION
-FROM SABP-Containers;
-
-
--- A
-
-Available-Bandwidth ::= INTEGER (0..20480)
--- bits/sec
-
--- B
-
-Broadcast-Message-Content ::= BIT STRING (SIZE (1..9968))-- This IE is sent from the CN to the RNC containing user information i.e.
--- the message.
-
--- C
-
-Category ::= ENUMERATED {
- high-priority,
- background-priority,
- normal-priority,
- default-priority,
- ...
-}
-
-Cause ::= INTEGER {
- parameter-not-recognised (0),
- parameter-value-invalid (1),
- valid-CN-message-not-identified (2),
- service-area-identity-not-valid (3),
- unrecognised-message (4),
- missing-mandatory-element (5),
- rNC-capacity-exceeded (6),
- rNC-memory-exceeded (7),
- service-area-broadcast-not-supported (8),
- service-area-broadcast-not-operational (9),
- message-reference-already-used (10),
- unspecifed-error (11),
- transfer-syntax-error (12),
- semantic-error (13),
- message-not-compatible-with-receiver-state (14),
- abstract-syntax-error-reject (15),
- abstract-syntax-error-ignore-and-notify (16),
- abstract-syntax-error-falsely-constructed-message (17)
-} (0..255)
-
-Criticality-Diagnostics ::= SEQUENCE {
- procedureCode ProcedureCode OPTIONAL,
- triggeringMessage TriggeringMessage OPTIONAL,
- procedureCriticality Criticality OPTIONAL,
- iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
- ...
-}
-
-CriticalityDiagnostics-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
- SEQUENCE {
- iECriticality Criticality,
- iE-ID ProtocolIE-ID,
- repetitionNumber RepetitionNumber0 OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
- ...
- }
-
-CriticalityDiagnostics-IE-List-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
- { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional }|
- { ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory },
- ...
-}
-
-
-MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF
- SEQUENCE {
- iE-ID ProtocolIE-ID,
- repetitionNumber RepetitionNumber1 OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL,
- ...
- }
-
-
-MessageStructure-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- D
-
-Data-Coding-Scheme ::= BIT STRING (SIZE (8))
-
--- E
-
--- F
-
-Failure-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF Failure-List-Item
-
-Failure-List-Item ::= SEQUENCE {
- service-area-identifier Service-Area-Identifier,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { {FailureListItemIE-ExtIEs} } OPTIONAL,
- ...
-}
-
-FailureListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
-...
-}
-
--- G
-
--- H
-
--- I
-
--- J
-
--- K
-
--- L
-
--- M
-
-Message-Identifier ::= BIT STRING (SIZE (16))
-
--- N
-
-New-Serial-Number ::= Serial-Number
-
-Number-of-Broadcasts-Completed-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF
- Number-of-Broadcasts-Completed-List-Item
-
-Number-of-Broadcasts-Completed-List-Item ::= SEQUENCE {
- service-area-identifier Service-Area-Identifier,
- number-of-broadcasts-completed INTEGER (0..65535),
- number-of-broadcasts-completed-info Number-Of-Broadcasts-Completed-Info OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {NoOfBroadcastsCompletedListItemIE-ExtIEs} } OPTIONAL,
- ...
-}
-
-NoOfBroadcastsCompletedListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
-...
-}
-
-Number-Of-Broadcasts-Completed-Info ::= ENUMERATED {
- overflow,
- unknown,
- ...
-}
-
-Number-of-Broadcasts-Requested ::= INTEGER {
- broadcast-indefinitely (0)
-} (0..65535)
-
--- O
-
-Old-Serial-Number ::= Serial-Number
-
--- P
-
--- Q
-
--- R
-
-Radio-Resource-Loading-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF
- Radio-Resource-Loading-List-Item
-
-Radio-Resource-Loading-List-Item ::= SEQUENCE {
- service-area-identifier Service-Area-Identifier,
- available-bandwidth Available-Bandwidth,
- iE-Extensions ProtocolExtensionContainer { {RadioResourceLoadingListItemIE-ExtIEs} } OPTIONAL,
- ...
-}
-
-RadioResourceLoadingListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
-...
-}
-
-Recovery-Indication ::= ENUMERATED {
- data-lost,
- data-available
-}
-
-RepetitionNumber0 ::= INTEGER(0..255)
-
-RepetitionNumber1 ::= INTEGER(1..256)
-
-Repetition-Period ::= INTEGER (1..4096)
--- Each unit represents a repetition of one second to a maximum of
--- once per 4096 seconds (~1 hour).
-
-
--- S
-
-Serial-Number ::= BIT STRING (SIZE (16))
-
-
-Service-Area-Identifier ::= SEQUENCE {
- pLMNidentity OCTET STRING (SIZE (3))
- -- Digits 0 to 9, two digits per octet. --
- -- Each octet encoded 0000 to 1001. --
- -- 1111 used as filler --
- -- Bit 4 to 1 of octet n encoding digit 2n-1. --
- -- Bit 8 to 5 of octet n encoding digit 2n. --
- -- The PLMN identity consists of 3 digits from MCC --
- -- followed by either a filler plus 2 digits --
- -- from MNC (in case of 2 digit MNC) or 3 digits --
- -- from MNC (in case of 3 digit MNC). -- ,
- lac OCTET STRING (SIZE (2))
- -- 0000 and FFFE not allowed -- ,
- sac OCTET STRING (SIZE (2))
-}
-
--- **TODO** The IE type for these parameters is not known as yet
-Service-Areas-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF Service-Area-Identifier
-
-
-
--- T
-
-TypeOfError ::= ENUMERATED {
- not-understood,
- missing,
- ...
-}
-
--- U
-
--- V
-
--- W
-
--- X
-
--- Y
-
-END
+-- SABP-IEs.asn +-- +-- Taken from 3GPP TS 25.419 V7.0.0 (2006-03) +-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.419/25419-700.zip/25419-700.DOC +-- +-- 9.3.4 Information Element Definitions +-- +-- $Id$ +-- + +-- ************************************************************** +-- +-- Information Element Definitions +-- +-- ************************************************************** + + +SABP-IEs { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-IEs (2) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + maxNrOfErrors, + maxnoofSAI, + maxNrOfLevels, + + id-MessageStructure, + id-TypeOfError + +FROM SABP-Constants + + Criticality, + ProcedureCode, + TriggeringMessage, + ProtocolIE-ID +FROM SABP-CommonDataTypes + + ProtocolExtensionContainer{}, + + SABP-PROTOCOL-EXTENSION +FROM SABP-Containers; + + +-- A + +Available-Bandwidth ::= INTEGER (0..20480) +-- bits/sec + +-- B + +Broadcast-Message-Content ::= BIT STRING (SIZE (1..9968))-- This IE is sent from the CN to the RNC containing user information i.e. +-- the message. + +-- C + +Category ::= ENUMERATED { + high-priority, + background-priority, + normal-priority, + default-priority, + ... +} + +Cause ::= INTEGER { + parameter-not-recognised (0), + parameter-value-invalid (1), + valid-CN-message-not-identified (2), + service-area-identity-not-valid (3), + unrecognised-message (4), + missing-mandatory-element (5), + rNC-capacity-exceeded (6), + rNC-memory-exceeded (7), + service-area-broadcast-not-supported (8), + service-area-broadcast-not-operational (9), + message-reference-already-used (10), + unspecifed-error (11), + transfer-syntax-error (12), + semantic-error (13), + message-not-compatible-with-receiver-state (14), + abstract-syntax-error-reject (15), + abstract-syntax-error-ignore-and-notify (16), + abstract-syntax-error-falsely-constructed-message (17) +} (0..255) + +Criticality-Diagnostics ::= SEQUENCE { + procedureCode ProcedureCode OPTIONAL, + triggeringMessage TriggeringMessage OPTIONAL, + procedureCriticality Criticality OPTIONAL, + iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL, + ... +} + +CriticalityDiagnostics-ExtIEs SABP-PROTOCOL-EXTENSION ::= { + ... +} + +CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF + SEQUENCE { + iECriticality Criticality, + iE-ID ProtocolIE-ID, + repetitionNumber RepetitionNumber0 OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL, + ... + } + +CriticalityDiagnostics-IE-List-ExtIEs SABP-PROTOCOL-EXTENSION ::= { + { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional }| + { ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory }, + ... +} + + +MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF + SEQUENCE { + iE-ID ProtocolIE-ID, + repetitionNumber RepetitionNumber1 OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL, + ... + } + + +MessageStructure-ExtIEs SABP-PROTOCOL-EXTENSION ::= { + ... +} + + +-- D + +Data-Coding-Scheme ::= BIT STRING (SIZE (8)) + +-- E + +-- F + +Failure-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF Failure-List-Item + +Failure-List-Item ::= SEQUENCE { + service-area-identifier Service-Area-Identifier, + cause Cause, + iE-Extensions ProtocolExtensionContainer { {FailureListItemIE-ExtIEs} } OPTIONAL, + ... +} + +FailureListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= { +... +} + +-- G + +-- H + +-- I + +-- J + +-- K + +-- L + +-- M + +Message-Identifier ::= BIT STRING (SIZE (16)) + +-- N + +New-Serial-Number ::= Serial-Number + +Number-of-Broadcasts-Completed-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF + Number-of-Broadcasts-Completed-List-Item + +Number-of-Broadcasts-Completed-List-Item ::= SEQUENCE { + service-area-identifier Service-Area-Identifier, + number-of-broadcasts-completed INTEGER (0..65535), + number-of-broadcasts-completed-info Number-Of-Broadcasts-Completed-Info OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {NoOfBroadcastsCompletedListItemIE-ExtIEs} } OPTIONAL, + ... +} + +NoOfBroadcastsCompletedListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= { +... +} + +Number-Of-Broadcasts-Completed-Info ::= ENUMERATED { + overflow, + unknown, + ... +} + +Number-of-Broadcasts-Requested ::= INTEGER { + broadcast-indefinitely (0) +} (0..65535) + +-- O + +Old-Serial-Number ::= Serial-Number + +-- P + +-- Q + +-- R + +Radio-Resource-Loading-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF + Radio-Resource-Loading-List-Item + +Radio-Resource-Loading-List-Item ::= SEQUENCE { + service-area-identifier Service-Area-Identifier, + available-bandwidth Available-Bandwidth, + iE-Extensions ProtocolExtensionContainer { {RadioResourceLoadingListItemIE-ExtIEs} } OPTIONAL, + ... +} + +RadioResourceLoadingListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= { +... +} + +Recovery-Indication ::= ENUMERATED { + data-lost, + data-available +} + +RepetitionNumber0 ::= INTEGER(0..255) + +RepetitionNumber1 ::= INTEGER(1..256) + +Repetition-Period ::= INTEGER (1..4096) +-- Each unit represents a repetition of one second to a maximum of +-- once per 4096 seconds (~1 hour). + + +-- S + +Serial-Number ::= BIT STRING (SIZE (16)) + + +Service-Area-Identifier ::= SEQUENCE { + pLMNidentity OCTET STRING (SIZE (3)) + -- Digits 0 to 9, two digits per octet. -- + -- Each octet encoded 0000 to 1001. -- + -- 1111 used as filler -- + -- Bit 4 to 1 of octet n encoding digit 2n-1. -- + -- Bit 8 to 5 of octet n encoding digit 2n. -- + -- The PLMN identity consists of 3 digits from MCC -- + -- followed by either a filler plus 2 digits -- + -- from MNC (in case of 2 digit MNC) or 3 digits -- + -- from MNC (in case of 3 digit MNC). -- , + lac OCTET STRING (SIZE (2)) + -- 0000 and FFFE not allowed -- , + sac OCTET STRING (SIZE (2)) +} + +-- **TODO** The IE type for these parameters is not known as yet +Service-Areas-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF Service-Area-Identifier + + + +-- T + +TypeOfError ::= ENUMERATED { + not-understood, + missing, + ... +} + +-- U + +-- V + +-- W + +-- X + +-- Y + +END diff --git a/asn1/sabp/SABP-PDU-Contents.asn b/asn1/sabp/SABP-PDU-Contents.asn index 178c341659..7cc863cbc4 100644 --- a/asn1/sabp/SABP-PDU-Contents.asn +++ b/asn1/sabp/SABP-PDU-Contents.asn @@ -1,524 +1,524 @@ --- SABP-PDU-Contents.asn
---
--- Taken from 3GPP TS 25.419 V7.0.0 (2006-03)
--- http://www.3gpp.org/ftp/Specs/archive/25_series/25.419/25419-700.zip/25419-700.DOC
---
--- 9.3.3 PDU Definitions
---
--- $Id$
---
-
--- **************************************************************
---
--- PDU definitions for SABP.
---
--- **************************************************************
-
-SABP-PDU-Contents {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) sabp (3) version1 (1) sabp-PDU-Contents (1) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- Broadcast-Message-Content,
- Category,
- Cause,
-Criticality-Diagnostics,
- Data-Coding-Scheme,
- Failure-List,
- Message-Identifier,
- New-Serial-Number,
- Number-of-Broadcasts-Completed-List,
- Number-of-Broadcasts-Requested,
- Old-Serial-Number,
- Radio-Resource-Loading-List,
- Recovery-Indication,
- Repetition-Period,
- Serial-Number ,
- Service-Areas-List
-FROM SABP-IEs
-
- ProtocolExtensionContainer{},
- ProtocolIE-Container{},
- SABP-PROTOCOL-EXTENSION,
- SABP-PROTOCOL-IES
-FROM SABP-Containers
-
- id-Broadcast-Message-Content,
- id-Category,
- id-Criticality-Diagnostics,
- id-Cause,
- id-Data-Coding-Scheme,
- id-Failure-List,
- id-Message-Identifier,
- id-New-Serial-Number,
- id-Number-of-Broadcasts-Completed-List,
- id-Number-of-Broadcasts-Requested,
- id-Old-Serial-Number,
- id-Radio-Resource-Loading-List,
- id-Recovery-Indication,
- id-Repetition-Period,
- id-Serial-Number,
- id-Service-Areas-List
-FROM SABP-Constants;
-
--- **************************************************************
---
--- Write-Replace
---
--- **************************************************************
-
-Write-Replace ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {Write-Replace-IEs} },
- protocolExtensions ProtocolExtensionContainer { {Write-Replace-Extensions} } OPTIONAL,
- ...
-}
-
-Write-Replace-IEs SABP-PROTOCOL-IES ::= {
- { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
- { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } |
- { ID id-Old-Serial-Number CRITICALITY ignore TYPE Old-Serial-Number PRESENCE optional } |
- { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } |
- { ID id-Category CRITICALITY ignore TYPE Category PRESENCE optional } |
- { ID id-Repetition-Period CRITICALITY reject TYPE Repetition-Period PRESENCE mandatory } |
- { ID id-Number-of-Broadcasts-Requested
- CRITICALITY reject TYPE Number-of-Broadcasts-Requested PRESENCE mandatory } |
- { ID id-Data-Coding-Scheme CRITICALITY reject TYPE Data-Coding-Scheme PRESENCE mandatory } |
- { ID id-Broadcast-Message-Content
- CRITICALITY reject TYPE Broadcast-Message-Content PRESENCE mandatory } ,
- ...
-}
-
-Write-Replace-Extensions SABP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Write-Replace-Complete
---
--- **************************************************************
-
-Write-Replace-Complete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {Write-Replace-Complete-IEs} },
- protocolExtensions ProtocolExtensionContainer { {Write-Replace-Complete-Extensions} } OPTIONAL,
- ...
-}
-
-Write-Replace-Complete-IEs SABP-PROTOCOL-IES ::= {
- { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
- { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } |
- { ID id-Number-of-Broadcasts-Completed-List
- CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List
- PRESENCE mandatory }|
-{ ID id-Criticality-Diagnostics
-CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
- ...
-}
-
-Write-Replace-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Write-Replace-Failure
---
--- **************************************************************
-
-Write-Replace-Failure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {Write-Replace-Failure-IEs} },
- protocolExtensions ProtocolExtensionContainer { {Write-Replace-Failure-Extensions} } OPTIONAL,
- ...
-}
-
-Write-Replace-Failure-IEs SABP-PROTOCOL-IES ::= {
- { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
- { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } |
- { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } |
- { ID id-Number-of-Broadcasts-Completed-List
- CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List
- PRESENCE optional } |
-{ ID id-Criticality-Diagnostics
-CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
- ...
-}
-Write-Replace-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Kill
---
--- **************************************************************
-
-Kill ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{Kill-IEs}},
- protocolExtensions ProtocolExtensionContainer {{Kill-Extensions}} OPTIONAL,
- ...
-}
-
-Kill-IEs SABP-PROTOCOL-IES ::= {
- { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
- { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } |
- { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } ,
- ...
-}
-
-Kill-Extensions SABP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Kill-Complete
---
--- **************************************************************
-
-Kill-Complete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{Kill-Complete-IEs}},
- protocolExtensions ProtocolExtensionContainer {{Kill-Complete-Extensions}} OPTIONAL,
- ...
-}
-
-Kill-Complete-IEs SABP-PROTOCOL-IES ::= {
- { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
- { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } |
- { ID id-Number-of-Broadcasts-Completed-List
- CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List
- PRESENCE mandatory }|
-{ ID id-Criticality-Diagnostics
-CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
- ...
-}
-
-Kill-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Kill-Failure
---
--- **************************************************************
-
-Kill-Failure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{Kill-Failure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{Kill-Failure-Extensions}} OPTIONAL,
- ...
-}
-
-Kill-Failure-IEs SABP-PROTOCOL-IES ::= {
- { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
- { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } |
- { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } |
- { ID id-Number-of-Broadcasts-Completed-List
- CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List
- PRESENCE optional } |
-{ ID id-Criticality-Diagnostics
-CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
- ...
-}
-
-Kill-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Load-Query
---
--- **************************************************************
-
-Load-Query ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{Load-Query-IEs}},
- protocolExtensions ProtocolExtensionContainer {{Load-Query-Extensions}} OPTIONAL,
- ...
-}
-
-Load-Query-IEs SABP-PROTOCOL-IES ::= {
- { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } ,
- ...
-}
-
-Load-Query-Extensions SABP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Load-Query-Complete
---
--- **************************************************************
-
-Load-Query-Complete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{Load-Query-Complete-IEs}},
- protocolExtensions ProtocolExtensionContainer {{Load-Query-Complete-Extensions}} OPTIONAL,
- ...
-}
-
-Load-Query-Complete-IEs SABP-PROTOCOL-IES ::= {
- { ID id-Radio-Resource-Loading-List
- CRITICALITY reject TYPE Radio-Resource-Loading-List
- PRESENCE mandatory } |
-{ ID id-Criticality-Diagnostics
-CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
- ...
-}
-
-Load-Query-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Load-Query-Failure
---
--- **************************************************************
-
-Load-Query-Failure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{Load-Query-Failure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{Load-Query-Failure-Extensions}} OPTIONAL,
- ...
-}
-
-Load-Query-Failure-IEs SABP-PROTOCOL-IES ::= {
-
- { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } |
- { ID id-Radio-Resource-Loading-List
- CRITICALITY ignore TYPE Radio-Resource-Loading-List
- PRESENCE optional } |
-{ ID id-Criticality-Diagnostics
-CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
- ...
-}
-
-Load-Query-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Message-Status-Query
---
--- **************************************************************
-
-Message-Status-Query ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{Message-Status-Query-IEs}},
- protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Extensions}} OPTIONAL,
- ...
-}
-
-Message-Status-Query-IEs SABP-PROTOCOL-IES ::= {
- { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
- { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } |
- { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } ,
- ...
-}
-
-Message-Status-Query-Extensions SABP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Message-Status-Query-Complete
---
--- **************************************************************
-
-Message-Status-Query-Complete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{Message-Status-Query-Complete-IEs}},
- protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Complete-Extensions}} OPTIONAL,
- ...
-}
-
-Message-Status-Query-Complete-IEs SABP-PROTOCOL-IES ::= {
- { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
- { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } |
- { ID id-Number-of-Broadcasts-Completed-List
- CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List
- PRESENCE mandatory } |
-{ ID id-Criticality-Diagnostics
-CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
- ...
-}
-
-Message-Status-Query-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Message-Status-Query-Failure
---
--- **************************************************************
-
-Message-Status-Query-Failure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{Message-Status-Query-Failure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Failure-Extensions}} OPTIONAL,
- ...
-}
-
-Message-Status-Query-Failure-IEs SABP-PROTOCOL-IES ::= {
- { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
- { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } |
- { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } |
- { ID id-Number-of-Broadcasts-Completed-List
- CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List
- PRESENCE optional } |
-{ ID id-Criticality-Diagnostics
-CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
- ...
-}
-
-Message-Status-Query-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Reset
---
--- **************************************************************
-
-Reset ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{Reset-IEs}},
- protocolExtensions ProtocolExtensionContainer {{Reset-Extensions}} OPTIONAL,
- ...
-}
-
-Reset-IEs SABP-PROTOCOL-IES ::= {
- { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } ,
- ...
-}
-
-Reset-Extensions SABP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Reset-Complete
---
--- **************************************************************
-
-Reset-Complete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{Reset-Complete-IEs}},
- protocolExtensions ProtocolExtensionContainer {{Reset-Complete-Extensions}} OPTIONAL,
- ...
-}
-
-Reset-Complete-IEs SABP-PROTOCOL-IES ::= {
- { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } |
-{ ID id-Criticality-Diagnostics
-CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
- ...
-}
-
-Reset-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Reset-Failure
---
--- **************************************************************
-
-Reset-Failure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{Reset-Failure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{Reset-Failure-Extensions}} OPTIONAL,
- ...
-}
-
-Reset-Failure-IEs SABP-PROTOCOL-IES ::= {
- { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } |
- { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE optional } |
-{ ID id-Criticality-Diagnostics
-CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional } ,
- ...
-}
-
-Reset-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Restart
---
--- **************************************************************
-
-Restart ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{Restart-IEs}},
- protocolExtensions ProtocolExtensionContainer {{Restart-Extensions}} OPTIONAL,
- ...
-}
-
-Restart-IEs SABP-PROTOCOL-IES ::= {
- { ID id-Service-Areas-List CRITICALITY ignore TYPE Service-Areas-List PRESENCE mandatory } |
- { ID id-Recovery-Indication CRITICALITY ignore TYPE Recovery-Indication PRESENCE optional } ,
- ...
-}
-
-Restart-Extensions SABP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Failure
---
--- **************************************************************
-
-Failure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{Failure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{Failure-Extensions}} OPTIONAL,
- ...
-}
-
-Failure-IEs SABP-PROTOCOL-IES ::= {
- { ID id-Service-Areas-List CRITICALITY ignore TYPE Service-Areas-List PRESENCE mandatory } ,
- ...
-}
-
-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Error-Indication
---
--- **************************************************************
-
-Error-Indication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{Error-Indication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{Error-Indication-Extensions}} OPTIONAL,
- ...
-}
-
-Error-Indication-IEs SABP-PROTOCOL-IES ::= {
- { ID id-Message-Identifier CRITICALITY ignore TYPE Message-Identifier PRESENCE optional } |
- { ID id-Serial-Number CRITICALITY ignore TYPE Serial-Number PRESENCE optional } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
-{ ID id-Criticality-Diagnostics
-CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
- ...
-}
-
-Error-Indication-Extensions SABP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-END
+-- SABP-PDU-Contents.asn +-- +-- Taken from 3GPP TS 25.419 V7.0.0 (2006-03) +-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.419/25419-700.zip/25419-700.DOC +-- +-- 9.3.3 PDU Definitions +-- +-- $Id$ +-- + +-- ************************************************************** +-- +-- PDU definitions for SABP. +-- +-- ************************************************************** + +SABP-PDU-Contents { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-PDU-Contents (1) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + Broadcast-Message-Content, + Category, + Cause, +Criticality-Diagnostics, + Data-Coding-Scheme, + Failure-List, + Message-Identifier, + New-Serial-Number, + Number-of-Broadcasts-Completed-List, + Number-of-Broadcasts-Requested, + Old-Serial-Number, + Radio-Resource-Loading-List, + Recovery-Indication, + Repetition-Period, + Serial-Number , + Service-Areas-List +FROM SABP-IEs + + ProtocolExtensionContainer{}, + ProtocolIE-Container{}, + SABP-PROTOCOL-EXTENSION, + SABP-PROTOCOL-IES +FROM SABP-Containers + + id-Broadcast-Message-Content, + id-Category, + id-Criticality-Diagnostics, + id-Cause, + id-Data-Coding-Scheme, + id-Failure-List, + id-Message-Identifier, + id-New-Serial-Number, + id-Number-of-Broadcasts-Completed-List, + id-Number-of-Broadcasts-Requested, + id-Old-Serial-Number, + id-Radio-Resource-Loading-List, + id-Recovery-Indication, + id-Repetition-Period, + id-Serial-Number, + id-Service-Areas-List +FROM SABP-Constants; + +-- ************************************************************** +-- +-- Write-Replace +-- +-- ************************************************************** + +Write-Replace ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {Write-Replace-IEs} }, + protocolExtensions ProtocolExtensionContainer { {Write-Replace-Extensions} } OPTIONAL, + ... +} + +Write-Replace-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY ignore TYPE Old-Serial-Number PRESENCE optional } | + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } | + { ID id-Category CRITICALITY ignore TYPE Category PRESENCE optional } | + { ID id-Repetition-Period CRITICALITY reject TYPE Repetition-Period PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Requested + CRITICALITY reject TYPE Number-of-Broadcasts-Requested PRESENCE mandatory } | + { ID id-Data-Coding-Scheme CRITICALITY reject TYPE Data-Coding-Scheme PRESENCE mandatory } | + { ID id-Broadcast-Message-Content + CRITICALITY reject TYPE Broadcast-Message-Content PRESENCE mandatory } , + ... +} + +Write-Replace-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Write-Replace-Complete +-- +-- ************************************************************** + +Write-Replace-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {Write-Replace-Complete-IEs} }, + protocolExtensions ProtocolExtensionContainer { {Write-Replace-Complete-Extensions} } OPTIONAL, + ... +} + +Write-Replace-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List + PRESENCE mandatory }| +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} + +Write-Replace-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Write-Replace-Failure +-- +-- ************************************************************** + +Write-Replace-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {Write-Replace-Failure-IEs} }, + protocolExtensions ProtocolExtensionContainer { {Write-Replace-Failure-Extensions} } OPTIONAL, + ... +} + +Write-Replace-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } | + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List + PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Write-Replace-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Kill +-- +-- ************************************************************** + +Kill ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Kill-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Kill-Extensions}} OPTIONAL, + ... +} + +Kill-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } , + ... +} + +Kill-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Kill-Complete +-- +-- ************************************************************** + +Kill-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Kill-Complete-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Kill-Complete-Extensions}} OPTIONAL, + ... +} + +Kill-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List + PRESENCE mandatory }| +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} + +Kill-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Kill-Failure +-- +-- ************************************************************** + +Kill-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Kill-Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Kill-Failure-Extensions}} OPTIONAL, + ... +} + +Kill-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List + PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} + +Kill-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Load-Query +-- +-- ************************************************************** + +Load-Query ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Load-Query-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Load-Query-Extensions}} OPTIONAL, + ... +} + +Load-Query-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } , + ... +} + +Load-Query-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Load-Query-Complete +-- +-- ************************************************************** + +Load-Query-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Load-Query-Complete-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Load-Query-Complete-Extensions}} OPTIONAL, + ... +} + +Load-Query-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Radio-Resource-Loading-List + CRITICALITY reject TYPE Radio-Resource-Loading-List + PRESENCE mandatory } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} + +Load-Query-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Load-Query-Failure +-- +-- ************************************************************** + +Load-Query-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Load-Query-Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Load-Query-Failure-Extensions}} OPTIONAL, + ... +} + +Load-Query-Failure-IEs SABP-PROTOCOL-IES ::= { + + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Radio-Resource-Loading-List + CRITICALITY ignore TYPE Radio-Resource-Loading-List + PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} + +Load-Query-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Message-Status-Query +-- +-- ************************************************************** + +Message-Status-Query ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Message-Status-Query-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Extensions}} OPTIONAL, + ... +} + +Message-Status-Query-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } , + ... +} + +Message-Status-Query-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Message-Status-Query-Complete +-- +-- ************************************************************** + +Message-Status-Query-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Message-Status-Query-Complete-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Complete-Extensions}} OPTIONAL, + ... +} + +Message-Status-Query-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List + PRESENCE mandatory } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} + +Message-Status-Query-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Message-Status-Query-Failure +-- +-- ************************************************************** + +Message-Status-Query-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Message-Status-Query-Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Failure-Extensions}} OPTIONAL, + ... +} + +Message-Status-Query-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List + PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} + +Message-Status-Query-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Reset +-- +-- ************************************************************** + +Reset ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Reset-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Reset-Extensions}} OPTIONAL, + ... +} + +Reset-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } , + ... +} + +Reset-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Reset-Complete +-- +-- ************************************************************** + +Reset-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Reset-Complete-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Reset-Complete-Extensions}} OPTIONAL, + ... +} + +Reset-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} + +Reset-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Reset-Failure +-- +-- ************************************************************** + +Reset-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Reset-Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Reset-Failure-Extensions}} OPTIONAL, + ... +} + +Reset-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional } , + ... +} + +Reset-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Restart +-- +-- ************************************************************** + +Restart ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Restart-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Restart-Extensions}} OPTIONAL, + ... +} + +Restart-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY ignore TYPE Service-Areas-List PRESENCE mandatory } | + { ID id-Recovery-Indication CRITICALITY ignore TYPE Recovery-Indication PRESENCE optional } , + ... +} + +Restart-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Failure +-- +-- ************************************************************** + +Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Failure-Extensions}} OPTIONAL, + ... +} + +Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY ignore TYPE Service-Areas-List PRESENCE mandatory } , + ... +} + +Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Error-Indication +-- +-- ************************************************************** + +Error-Indication ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Error-Indication-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Error-Indication-Extensions}} OPTIONAL, + ... +} + +Error-Indication-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY ignore TYPE Message-Identifier PRESENCE optional } | + { ID id-Serial-Number CRITICALITY ignore TYPE Serial-Number PRESENCE optional } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} + +Error-Indication-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} + +END diff --git a/asn1/sabp/SABP-PDU-Descriptions.asn b/asn1/sabp/SABP-PDU-Descriptions.asn index 9b62511657..edaeaeb1a1 100644 --- a/asn1/sabp/SABP-PDU-Descriptions.asn +++ b/asn1/sabp/SABP-PDU-Descriptions.asn @@ -1,206 +1,206 @@ --- SABP-PDU-Descriptions.asn
---
--- Taken from 3GPP TS 25.419 V7.0.0 (2006-03)
--- http://www.3gpp.org/ftp/Specs/archive/25_series/25.419/25419-700.zip/25419-700.DOC
---
--- 9.3.2 Elementary Procedure Definitions
---
--- $Id$
---
-
--- **************************************************************
---
--- Elementary Procedure definitions
---
--- **************************************************************
-
-SABP-PDU-Descriptions {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) sabp (3) version1 (1) sabp-PDU-Descriptions (0)}
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- Criticality,
- ProcedureCode
-FROM SABP-CommonDataTypes
-
- Error-Indication,
- Failure,
- Kill,
- Kill-Complete,
- Kill-Failure,
- Load-Query,
- Load-Query-Complete,
- Load-Query-Failure,
- Reset,
- Reset-Complete,
- Reset-Failure,
- Restart,
- Message-Status-Query,
- Message-Status-Query-Complete,
- Message-Status-Query-Failure,
- Write-Replace,
- Write-Replace-Complete,
- Write-Replace-Failure
-FROM SABP-PDU-Contents
-
- id-Error-Indication,
- id-Failure-Indication,
- id-Kill,
- id-Reset,
- id-Restart-Indication,
- id-Load-Status-Enquiry,
- id-Message-Status-Query,
- id-Write-Replace
-FROM SABP-Constants;
-
--- **************************************************************
---
--- Interface Elementary Procedure Class
---
--- **************************************************************
-
-SABP-ELEMENTARY-PROCEDURE ::= CLASS {
- &InitiatingMessage ,
- &SuccessfulOutcome OPTIONAL,
- &UnsuccessfulOutcome OPTIONAL,
- &procedureCode ProcedureCode UNIQUE,
- &criticality Criticality DEFAULT ignore
-}
-WITH SYNTAX {
- INITIATING MESSAGE &InitiatingMessage
- [SUCCESSFUL OUTCOME
-
-&SuccessfulOutcome]
- [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
- PROCEDURE CODE &procedureCode
- [CRITICALITY &criticality]
-}
-
--- **************************************************************
---
--- Interface PDU Definition
---
--- **************************************************************
-
-SABP-PDU ::= CHOICE {
- initiatingMessage InitiatingMessage,
- successfulOutcome SuccessfulOutcome,
- unsuccessfulOutcome UnsuccessfulOutcome,
- ...
-}
-
-InitiatingMessage ::= SEQUENCE {
- procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}),
- criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value SABP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-SuccessfulOutcome ::= SEQUENCE {
- procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}),
- criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value SABP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-UnsuccessfulOutcome ::= SEQUENCE {
- procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}),
- criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value SABP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
--- **************************************************************
---
--- Interface Elementary Procedure List
---
--- **************************************************************
-
-SABP-ELEMENTARY-PROCEDURES SABP-ELEMENTARY-PROCEDURE ::= {
- SABP-ELEMENTARY-PROCEDURES-CLASS-1 |
- SABP-ELEMENTARY-PROCEDURES-CLASS-2 ,
- ...
-}
-
-SABP-ELEMENTARY-PROCEDURES-CLASS-1 SABP-ELEMENTARY-PROCEDURE ::= {
- write-Replace |
- kill |
- load-Status-Enquiry |
- message-Status-Query |
- reset ,
- ...
-}
-
-SABP-ELEMENTARY-PROCEDURES-CLASS-2 SABP-ELEMENTARY-PROCEDURE ::= {
- restart-Indication |
- failure-Indication |
- error-Indication ,
- ...
-}
-
-write-Replace SABP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Write-Replace
- SUCCESSFUL OUTCOME Write-Replace-Complete
- UNSUCCESSFUL OUTCOME Write-Replace-Failure
- PROCEDURE CODE id-Write-Replace
- CRITICALITY reject
-}
-
-kill SABP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Kill
- SUCCESSFUL OUTCOME Kill-Complete
- UNSUCCESSFUL OUTCOME Kill-Failure
- PROCEDURE CODE id-Kill
- CRITICALITY reject
-}
-
-load-Status-Enquiry SABP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Load-Query
- SUCCESSFUL OUTCOME Load-Query-Complete
- UNSUCCESSFUL OUTCOME Load-Query-Failure
- PROCEDURE CODE id-Load-Status-Enquiry
- CRITICALITY reject
-}
-
-message-Status-Query SABP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Message-Status-Query
- SUCCESSFUL OUTCOME Message-Status-Query-Complete
- UNSUCCESSFUL OUTCOME Message-Status-Query-Failure
- PROCEDURE CODE id-Message-Status-Query
- CRITICALITY reject
-}
-
-reset SABP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Reset
- SUCCESSFUL OUTCOME Reset-Complete
- UNSUCCESSFUL OUTCOME Reset-Failure
- PROCEDURE CODE id-Reset
- CRITICALITY reject
-}
-
-restart-Indication SABP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Restart
- PROCEDURE CODE id-Restart-Indication
- CRITICALITY ignore
-}
-
-failure-Indication SABP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Failure
- PROCEDURE CODE id-Failure-Indication
- CRITICALITY ignore
-}
-
-error-Indication SABP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Error-Indication
- PROCEDURE CODE id-Error-Indication
- CRITICALITY ignore
-}
-
-END
+-- SABP-PDU-Descriptions.asn +-- +-- Taken from 3GPP TS 25.419 V7.0.0 (2006-03) +-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.419/25419-700.zip/25419-700.DOC +-- +-- 9.3.2 Elementary Procedure Definitions +-- +-- $Id$ +-- + +-- ************************************************************** +-- +-- Elementary Procedure definitions +-- +-- ************************************************************** + +SABP-PDU-Descriptions { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-PDU-Descriptions (0)} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + Criticality, + ProcedureCode +FROM SABP-CommonDataTypes + + Error-Indication, + Failure, + Kill, + Kill-Complete, + Kill-Failure, + Load-Query, + Load-Query-Complete, + Load-Query-Failure, + Reset, + Reset-Complete, + Reset-Failure, + Restart, + Message-Status-Query, + Message-Status-Query-Complete, + Message-Status-Query-Failure, + Write-Replace, + Write-Replace-Complete, + Write-Replace-Failure +FROM SABP-PDU-Contents + + id-Error-Indication, + id-Failure-Indication, + id-Kill, + id-Reset, + id-Restart-Indication, + id-Load-Status-Enquiry, + id-Message-Status-Query, + id-Write-Replace +FROM SABP-Constants; + +-- ************************************************************** +-- +-- Interface Elementary Procedure Class +-- +-- ************************************************************** + +SABP-ELEMENTARY-PROCEDURE ::= CLASS { + &InitiatingMessage , + &SuccessfulOutcome OPTIONAL, + &UnsuccessfulOutcome OPTIONAL, + &procedureCode ProcedureCode UNIQUE, + &criticality Criticality DEFAULT ignore +} +WITH SYNTAX { + INITIATING MESSAGE &InitiatingMessage + [SUCCESSFUL OUTCOME + +&SuccessfulOutcome] + [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] + PROCEDURE CODE &procedureCode + [CRITICALITY &criticality] +} + +-- ************************************************************** +-- +-- Interface PDU Definition +-- +-- ************************************************************** + +SABP-PDU ::= CHOICE { + initiatingMessage InitiatingMessage, + successfulOutcome SuccessfulOutcome, + unsuccessfulOutcome UnsuccessfulOutcome, + ... +} + +InitiatingMessage ::= SEQUENCE { + procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}), + criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value SABP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +SuccessfulOutcome ::= SEQUENCE { + procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}), + criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value SABP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +UnsuccessfulOutcome ::= SEQUENCE { + procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}), + criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value SABP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +-- ************************************************************** +-- +-- Interface Elementary Procedure List +-- +-- ************************************************************** + +SABP-ELEMENTARY-PROCEDURES SABP-ELEMENTARY-PROCEDURE ::= { + SABP-ELEMENTARY-PROCEDURES-CLASS-1 | + SABP-ELEMENTARY-PROCEDURES-CLASS-2 , + ... +} + +SABP-ELEMENTARY-PROCEDURES-CLASS-1 SABP-ELEMENTARY-PROCEDURE ::= { + write-Replace | + kill | + load-Status-Enquiry | + message-Status-Query | + reset , + ... +} + +SABP-ELEMENTARY-PROCEDURES-CLASS-2 SABP-ELEMENTARY-PROCEDURE ::= { + restart-Indication | + failure-Indication | + error-Indication , + ... +} + +write-Replace SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Write-Replace + SUCCESSFUL OUTCOME Write-Replace-Complete + UNSUCCESSFUL OUTCOME Write-Replace-Failure + PROCEDURE CODE id-Write-Replace + CRITICALITY reject +} + +kill SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Kill + SUCCESSFUL OUTCOME Kill-Complete + UNSUCCESSFUL OUTCOME Kill-Failure + PROCEDURE CODE id-Kill + CRITICALITY reject +} + +load-Status-Enquiry SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Load-Query + SUCCESSFUL OUTCOME Load-Query-Complete + UNSUCCESSFUL OUTCOME Load-Query-Failure + PROCEDURE CODE id-Load-Status-Enquiry + CRITICALITY reject +} + +message-Status-Query SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Message-Status-Query + SUCCESSFUL OUTCOME Message-Status-Query-Complete + UNSUCCESSFUL OUTCOME Message-Status-Query-Failure + PROCEDURE CODE id-Message-Status-Query + CRITICALITY reject +} + +reset SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Reset + SUCCESSFUL OUTCOME Reset-Complete + UNSUCCESSFUL OUTCOME Reset-Failure + PROCEDURE CODE id-Reset + CRITICALITY reject +} + +restart-Indication SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Restart + PROCEDURE CODE id-Restart-Indication + CRITICALITY ignore +} + +failure-Indication SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Failure + PROCEDURE CODE id-Failure-Indication + CRITICALITY ignore +} + +error-Indication SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Error-Indication + PROCEDURE CODE id-Error-Indication + CRITICALITY ignore +} + +END diff --git a/asn1/sabp/packet-sabp-template.c b/asn1/sabp/packet-sabp-template.c index 852b36f406..33f2c16ffa 100644 --- a/asn1/sabp/packet-sabp-template.c +++ b/asn1/sabp/packet-sabp-template.c @@ -1,173 +1,173 @@ -/* packet-sbap.c
- * Routines for UTRAN Iu-BC Interface: Service Area Broadcast Protocol (SBAP) packet dissection
- * Copyright 2007, Tomas Kukosa <tomas.kukosa@siemens.com>
- *
- * $Id$
- *
- * Wireshark - Network traffic analyzer
- * By Gerald Combs <gerald@wireshark.org>
- * Copyright 1998 Gerald Combs
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * Ref: 3GPP TS 25.419 version 7.7.0 (2006-03)
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <glib.h>
-#include <epan/packet.h>
-#include <epan/conversation.h>
-
-#include <stdio.h>
-#include <string.h>
-
-#include <epan/asn1.h>
-
-#include "packet-per.h"
-
-#ifdef _MSC_VER
-/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
-#pragma warning(disable:4146)
-#endif
-
-#define PNAME "UTRAN Iub interface SABP signalling"
-#define PSNAME "SABP"
-#define PFNAME "sabp"
-
-#include "packet-sabp-val.h"
-
-static dissector_handle_t sabp_handle = NULL;
-
-/* Initialize the protocol and registered fields */
-static int proto_sabp = -1;
-
-#include "packet-sabp-hf.c"
-
-/* Initialize the subtree pointers */
-static int ett_sabp = -1;
-
-#include "packet-sabp-ett.c"
-
-/* Global variables */
-static guint32 ProcedureCode;
-static guint32 ProtocolIE_ID;
-static guint32 ProtocolExtensionID;
-
-/* Dissector tables */
-static dissector_table_t sabp_ies_dissector_table;
-static dissector_table_t sabp_extension_dissector_table;
-static dissector_table_t sabp_proc_imsg_dissector_table;
-static dissector_table_t sabp_proc_sout_dissector_table;
-static dissector_table_t sabp_proc_uout_dissector_table;
-
-static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
-static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
-static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
-static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
-static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
-
-#include "packet-sabp-fn.c"
-
-static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
-{
- return (dissector_try_port(sabp_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
-}
-
-static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
-{
- return (dissector_try_port(sabp_extension_dissector_table, ProtocolExtensionID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
-}
-
-static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
-{
- return (dissector_try_port(sabp_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
-}
-
-static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
-{
- return (dissector_try_port(sabp_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
-}
-
-static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
-{
- return (dissector_try_port(sabp_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0;
-}
-
-static void
-dissect_sabp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
-{
- proto_item *sabp_item = NULL;
- proto_tree *sabp_tree = NULL;
-
- /* make entry in the Protocol column on summary display */
- if (check_col(pinfo->cinfo, COL_PROTOCOL))
- col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
-
- /* create the sbap protocol tree */
- sabp_item = proto_tree_add_item(tree, proto_sabp, tvb, 0, -1, FALSE);
- sabp_tree = proto_item_add_subtree(sabp_item, ett_sabp);
-
- dissect_SABP_PDU_PDU(tvb, pinfo, sabp_tree);
-}
-
-/*--- proto_register_sbap -------------------------------------------*/
-void proto_register_sabp(void) {
-
- /* List of fields */
-
- static hf_register_info hf[] = {
-#include "packet-sabp-hfarr.c"
- };
-
- /* List of subtrees */
- static gint *ett[] = {
- &ett_sabp,
-#include "packet-sabp-ettarr.c"
- };
-
-
- /* Register protocol */
- proto_sabp = proto_register_protocol(PNAME, PSNAME, PFNAME);
- /* Register fields and subtrees */
- proto_register_field_array(proto_sabp, hf, array_length(hf));
- proto_register_subtree_array(ett, array_length(ett));
-
- /* Register dissector */
- register_dissector("sabp", dissect_sabp, proto_sabp);
- sabp_handle = find_dissector("sabp");
-
- /* Register dissector tables */
- sabp_ies_dissector_table = register_dissector_table("sabp.ies", "SABP-PROTOCOL-IES", FT_UINT32, BASE_DEC);
- sabp_extension_dissector_table = register_dissector_table("sabp.extension", "SABP-PROTOCOL-EXTENSION", FT_UINT32, BASE_DEC);
- sabp_proc_imsg_dissector_table = register_dissector_table("sabp.proc.imsg", "SABP-ELEMENTARY-PROCEDURE InitiatingMessage", FT_STRING, BASE_NONE);
- sabp_proc_sout_dissector_table = register_dissector_table("sabp.proc.sout", "SABP-ELEMENTARY-PROCEDURE SuccessfulOutcome", FT_STRING, BASE_NONE);
- sabp_proc_uout_dissector_table = register_dissector_table("sabp.proc.uout", "SABP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", FT_STRING, BASE_NONE);
-
-}
-
-
-/*--- proto_reg_handoff_sbap ---------------------------------------*/
-void
-proto_reg_handoff_sabp(void)
-{
-
-
-#include "packet-sabp-dis-tab.c"
-}
-
-
+/* packet-sbap.c + * Routines for UTRAN Iu-BC Interface: Service Area Broadcast Protocol (SBAP) packet dissection + * Copyright 2007, Tomas Kukosa <tomas.kukosa@siemens.com> + * + * $Id$ + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * Ref: 3GPP TS 25.419 version 7.7.0 (2006-03) + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include <glib.h> +#include <epan/packet.h> +#include <epan/conversation.h> + +#include <stdio.h> +#include <string.h> + +#include <epan/asn1.h> + +#include "packet-per.h" + +#ifdef _MSC_VER +/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */ +#pragma warning(disable:4146) +#endif + +#define PNAME "UTRAN Iub interface SABP signalling" +#define PSNAME "SABP" +#define PFNAME "sabp" + +#include "packet-sabp-val.h" + +static dissector_handle_t sabp_handle = NULL; + +/* Initialize the protocol and registered fields */ +static int proto_sabp = -1; + +#include "packet-sabp-hf.c" + +/* Initialize the subtree pointers */ +static int ett_sabp = -1; + +#include "packet-sabp-ett.c" + +/* Global variables */ +static guint32 ProcedureCode; +static guint32 ProtocolIE_ID; +static guint32 ProtocolExtensionID; + +/* Dissector tables */ +static dissector_table_t sabp_ies_dissector_table; +static dissector_table_t sabp_extension_dissector_table; +static dissector_table_t sabp_proc_imsg_dissector_table; +static dissector_table_t sabp_proc_sout_dissector_table; +static dissector_table_t sabp_proc_uout_dissector_table; + +static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree); +static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree); +static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree); +static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree); +static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree); + +#include "packet-sabp-fn.c" + +static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + return (dissector_try_port(sabp_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; +} + +static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + return (dissector_try_port(sabp_extension_dissector_table, ProtocolExtensionID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; +} + +static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + return (dissector_try_port(sabp_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; +} + +static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + return (dissector_try_port(sabp_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; +} + +static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + return (dissector_try_port(sabp_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; +} + +static void +dissect_sabp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + proto_item *sabp_item = NULL; + proto_tree *sabp_tree = NULL; + + /* make entry in the Protocol column on summary display */ + if (check_col(pinfo->cinfo, COL_PROTOCOL)) + col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME); + + /* create the sbap protocol tree */ + sabp_item = proto_tree_add_item(tree, proto_sabp, tvb, 0, -1, FALSE); + sabp_tree = proto_item_add_subtree(sabp_item, ett_sabp); + + dissect_SABP_PDU_PDU(tvb, pinfo, sabp_tree); +} + +/*--- proto_register_sbap -------------------------------------------*/ +void proto_register_sabp(void) { + + /* List of fields */ + + static hf_register_info hf[] = { +#include "packet-sabp-hfarr.c" + }; + + /* List of subtrees */ + static gint *ett[] = { + &ett_sabp, +#include "packet-sabp-ettarr.c" + }; + + + /* Register protocol */ + proto_sabp = proto_register_protocol(PNAME, PSNAME, PFNAME); + /* Register fields and subtrees */ + proto_register_field_array(proto_sabp, hf, array_length(hf)); + proto_register_subtree_array(ett, array_length(ett)); + + /* Register dissector */ + register_dissector("sabp", dissect_sabp, proto_sabp); + sabp_handle = find_dissector("sabp"); + + /* Register dissector tables */ + sabp_ies_dissector_table = register_dissector_table("sabp.ies", "SABP-PROTOCOL-IES", FT_UINT32, BASE_DEC); + sabp_extension_dissector_table = register_dissector_table("sabp.extension", "SABP-PROTOCOL-EXTENSION", FT_UINT32, BASE_DEC); + sabp_proc_imsg_dissector_table = register_dissector_table("sabp.proc.imsg", "SABP-ELEMENTARY-PROCEDURE InitiatingMessage", FT_UINT32, BASE_DEC); + sabp_proc_sout_dissector_table = register_dissector_table("sabp.proc.sout", "SABP-ELEMENTARY-PROCEDURE SuccessfulOutcome", FT_UINT32, BASE_DEC); + sabp_proc_uout_dissector_table = register_dissector_table("sabp.proc.uout", "SABP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", FT_UINT32, BASE_DEC); + +} + + +/*--- proto_reg_handoff_sbap ---------------------------------------*/ +void +proto_reg_handoff_sabp(void) +{ + + +#include "packet-sabp-dis-tab.c" +} + + diff --git a/asn1/sabp/sabp.cnf b/asn1/sabp/sabp.cnf index 349147c177..386612a82c 100644 --- a/asn1/sabp/sabp.cnf +++ b/asn1/sabp/sabp.cnf @@ -1,130 +1,130 @@ -# sabp.cnf
-# sabp conformation file
-# Copyright 2007 Tomas Kukosa
-# $Id$
-
-#.OPT
-PER
-ALIGNED
-#.END
-
-#.PDU_NEW
-SABP-PDU
-
-#.MAKE_ENUM
-ProcedureCode
-ProtocolIE-ID
-
-#.OMIT_ASSIGNMENT
-Presence
-ProtocolIE-ContainerList
-#.END
-
-#.TF_RENAME
-ProtocolIE-Field/value ProtocolIE_Field_value
-InitiatingMessage/value InitiatingMessage_value
-SuccessfulOutcome/value SuccessfulOutcome_value
-UnsuccessfulOutcome/value UnsuccessfulOutcome_value
-#.END
-
-#.FIELD_RENAME
-ProtocolExtensionField/id ext_id
-MessageStructure/_item/repetitionNumber repetitionNumber1
-#.END
-
-
-#.FN_PARS ProtocolIE-ID VAL_PTR=&ProtocolIE_ID
-#.FN_FTR ProtocolIE-ID
- if (tree) {
- proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str(ProtocolIE_ID, VALS(sabp_ProtocolIE_ID_vals), "unknown (%d)"));
- }
-#.END
-
-
-#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
-
-#.FN_PARS ProtocolExtensionID VAL_PTR=&ProtocolExtensionID
-#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
-
-#.FN_PARS ProcedureCode VAL_PTR = &ProcedureCode
-#.FN_FTR ProcedureCode
- if (check_col(actx->pinfo->cinfo, COL_INFO))
- col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
- val_to_str(ProcedureCode, sabp_ProcedureCode_vals,
- "unknown message"));
-#.END
-
-
-#.ASSIGN_VALUE_TO_TYPE # SABP does not have constants assigned to types, they are pure INTEGER
-# ProcedureCode
-id-Write-Replace ProcedureCode
-id-Kill ProcedureCode
-id-Load-Status-Enquiry ProcedureCode
-id-Message-Status-Query ProcedureCode
-id-Restart-Indication ProcedureCode
-id-Reset ProcedureCode
-id-Failure-Indication ProcedureCode
-id-Error-Indication ProcedureCode
-
-# ProtocolIE-ID
-id-Broadcast-Message-Content ProtocolIE-ID
-id-Category ProtocolIE-ID
-id-Cause ProtocolIE-ID
-id-Criticality-Diagnostics ProtocolIE-ID
-id-Data-Coding-Scheme ProtocolIE-ID
-id-Failure-List ProtocolIE-ID
-id-Message-Identifier ProtocolIE-ID
-id-New-Serial-Number ProtocolIE-ID
-id-Number-of-Broadcasts-Completed-List ProtocolIE-ID
-id-Number-of-Broadcasts-Requested ProtocolIE-ID
-id-Old-Serial-Number ProtocolIE-ID
-id-Radio-Resource-Loading-List ProtocolIE-ID
-id-Recovery-Indication ProtocolIE-ID
-id-Repetition-Period ProtocolIE-ID
-id-Serial-Number ProtocolIE-ID
-id-Service-Areas-List ProtocolIE-ID
-id-MessageStructure ProtocolIE-ID
-id-TypeOfError ProtocolIE-ID
-
-#.END
-
-#.REGISTER_NEW
-
-#SABP-PROTOCOL-IES
-Message-Identifier N sabp.ies id-Message-Identifier
-New-Serial-Number N sabp.ies id-New-Serial-Number
-Old-Serial-Number N sabp.ies id-Old-Serial-Number
-Service-Areas-List N sabp.ies id-Service-Areas-List
-Category N sabp.ies id-Category
-Repetition-Period N sabp.ies id-Repetition-Period
-Data-Coding-Scheme N sabp.ies id-Data-Coding-Scheme
-Failure-List N sabp.ies id-Failure-List
-Recovery-Indication N sabp.ies id-Recovery-Indication
-Serial-Number N sabp.ies id-Serial-Number
-Cause N sabp.ies id-Cause
-
-#SABP-PROTOCOL-EXTENSION
-MessageStructure N sabp.extension id-MessageStructure
-TypeOfError N sabp.extension id-TypeOfError
-
-#SABP-ELEMENTARY-PROCEDURE
-Write-Replace N sabp.proc.imsg id-Write-Replace
-Write-Replace-Complete N sabp.proc.sout id-Write-Replace
-Write-Replace-Failure N sabp.proc.uout id-Write-Replace
-Kill N sabp.proc.imsg id-Kill
-Kill-Complete N sabp.proc.sout id-Kill
-Kill-Failure N sabp.proc.uout id-Kill
-Load-Query N sabp.proc.imsg id-Load-Status-Enquiry
-Load-Query-Complete N sabp.proc.sout id-Load-Status-Enquiry
-Load-Query-Failure N sabp.proc.uout id-Load-Status-Enquiry
-Message-Status-Query N sabp.proc.imsg id-Message-Status-Query
-Message-Status-Query-Complete N sabp.proc.sout id-Message-Status-Query
-Message-Status-Query-Failure N sabp.proc.uout id-Message-Status-Query
-Reset N sabp.proc.imsg id-Reset
-Reset-Complete N sabp.proc.sout id-Reset
-Reset-Failure N sabp.proc.uout id-Reset
-Restart N sabp.proc.imsg id-Restart-Indication
-Failure N sabp.proc.imsg id-Failure-Indication
-Error-Indication N sabp.proc.imsg id-Error-Indication
-
-#.END
+# sabp.cnf +# sabp conformation file +# Copyright 2007 Tomas Kukosa +# $Id$ + +#.OPT +PER +ALIGNED +#.END + +#.PDU_NEW +SABP-PDU + +#.MAKE_ENUM +ProcedureCode +ProtocolIE-ID + +#.OMIT_ASSIGNMENT +Presence +ProtocolIE-ContainerList +#.END + +#.TF_RENAME +ProtocolIE-Field/value ProtocolIE_Field_value +InitiatingMessage/value InitiatingMessage_value +SuccessfulOutcome/value SuccessfulOutcome_value +UnsuccessfulOutcome/value UnsuccessfulOutcome_value +#.END + +#.FIELD_RENAME +ProtocolExtensionField/id ext_id +MessageStructure/_item/repetitionNumber repetitionNumber1 +#.END + + +#.FN_PARS ProtocolIE-ID VAL_PTR=&ProtocolIE_ID +#.FN_FTR ProtocolIE-ID + if (tree) { + proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str(ProtocolIE_ID, VALS(sabp_ProtocolIE_ID_vals), "unknown (%d)")); + } +#.END + + +#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue + +#.FN_PARS ProtocolExtensionID VAL_PTR=&ProtocolExtensionID +#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue + +#.FN_PARS ProcedureCode VAL_PTR = &ProcedureCode +#.FN_FTR ProcedureCode + if (check_col(actx->pinfo->cinfo, COL_INFO)) + col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", + val_to_str(ProcedureCode, sabp_ProcedureCode_vals, + "unknown message")); +#.END + + +#.ASSIGN_VALUE_TO_TYPE # SABP does not have constants assigned to types, they are pure INTEGER +# ProcedureCode +id-Write-Replace ProcedureCode +id-Kill ProcedureCode +id-Load-Status-Enquiry ProcedureCode +id-Message-Status-Query ProcedureCode +id-Restart-Indication ProcedureCode +id-Reset ProcedureCode +id-Failure-Indication ProcedureCode +id-Error-Indication ProcedureCode + +# ProtocolIE-ID +id-Broadcast-Message-Content ProtocolIE-ID +id-Category ProtocolIE-ID +id-Cause ProtocolIE-ID +id-Criticality-Diagnostics ProtocolIE-ID +id-Data-Coding-Scheme ProtocolIE-ID +id-Failure-List ProtocolIE-ID +id-Message-Identifier ProtocolIE-ID +id-New-Serial-Number ProtocolIE-ID +id-Number-of-Broadcasts-Completed-List ProtocolIE-ID +id-Number-of-Broadcasts-Requested ProtocolIE-ID +id-Old-Serial-Number ProtocolIE-ID +id-Radio-Resource-Loading-List ProtocolIE-ID +id-Recovery-Indication ProtocolIE-ID +id-Repetition-Period ProtocolIE-ID +id-Serial-Number ProtocolIE-ID +id-Service-Areas-List ProtocolIE-ID +id-MessageStructure ProtocolIE-ID +id-TypeOfError ProtocolIE-ID + +#.END + +#.REGISTER_NEW + +#SABP-PROTOCOL-IES +Message-Identifier N sabp.ies id-Message-Identifier +New-Serial-Number N sabp.ies id-New-Serial-Number +Old-Serial-Number N sabp.ies id-Old-Serial-Number +Service-Areas-List N sabp.ies id-Service-Areas-List +Category N sabp.ies id-Category +Repetition-Period N sabp.ies id-Repetition-Period +Data-Coding-Scheme N sabp.ies id-Data-Coding-Scheme +Failure-List N sabp.ies id-Failure-List +Recovery-Indication N sabp.ies id-Recovery-Indication +Serial-Number N sabp.ies id-Serial-Number +Cause N sabp.ies id-Cause + +#SABP-PROTOCOL-EXTENSION +MessageStructure N sabp.extension id-MessageStructure +TypeOfError N sabp.extension id-TypeOfError + +#SABP-ELEMENTARY-PROCEDURE +Write-Replace N sabp.proc.imsg id-Write-Replace +Write-Replace-Complete N sabp.proc.sout id-Write-Replace +Write-Replace-Failure N sabp.proc.uout id-Write-Replace +Kill N sabp.proc.imsg id-Kill +Kill-Complete N sabp.proc.sout id-Kill +Kill-Failure N sabp.proc.uout id-Kill +Load-Query N sabp.proc.imsg id-Load-Status-Enquiry +Load-Query-Complete N sabp.proc.sout id-Load-Status-Enquiry +Load-Query-Failure N sabp.proc.uout id-Load-Status-Enquiry +Message-Status-Query N sabp.proc.imsg id-Message-Status-Query +Message-Status-Query-Complete N sabp.proc.sout id-Message-Status-Query +Message-Status-Query-Failure N sabp.proc.uout id-Message-Status-Query +Reset N sabp.proc.imsg id-Reset +Reset-Complete N sabp.proc.sout id-Reset +Reset-Failure N sabp.proc.uout id-Reset +Restart N sabp.proc.imsg id-Restart-Indication +Failure N sabp.proc.imsg id-Failure-Indication +Error-Indication N sabp.proc.imsg id-Error-Indication + +#.END |