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