SABP protocol implemented (not tested as traces are not available)
authorkukosa <kukosa@f5534014-38df-0310-8fa8-9805f1628bb7>
Mon, 17 Sep 2007 10:39:09 +0000 (10:39 +0000)
committerkukosa <kukosa@f5534014-38df-0310-8fa8-9805f1628bb7>
Mon, 17 Sep 2007 10:39:09 +0000 (10:39 +0000)
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@22884 f5534014-38df-0310-8fa8-9805f1628bb7

13 files changed:
asn1/Makefile.am
asn1/Makefile.nmake
asn1/sabp/Makefile [new file with mode: 0644]
asn1/sabp/Makefile.nmake [new file with mode: 0644]
asn1/sabp/SABP-CommonDataTypes.asn [new file with mode: 0644]
asn1/sabp/SABP-Constants.asn [new file with mode: 0644]
asn1/sabp/SABP-Containers.asn [new file with mode: 0644]
asn1/sabp/SABP-IEs.asn [new file with mode: 0644]
asn1/sabp/SABP-PDU-Contents.asn [new file with mode: 0644]
asn1/sabp/SABP-PDU-Descriptions.asn [new file with mode: 0644]
asn1/sabp/packet-sabp-template.c [new file with mode: 0644]
asn1/sabp/sabp.cnf [new file with mode: 0644]
epan/dissectors/Makefile.common

index b7ce512cb725de0d2fb316dc0a5fd5a2d9f6a721..8ae74b52caa4c9db87cb53f20ab7cde85ab363f8 100644 (file)
@@ -460,6 +460,16 @@ EXTRA_DIST = \
        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   \
index ce37f831765751734c10098df37c123080ddadc6..ad8f9c02aa03c8fc90927f59eb4b09e65c68da5d 100644 (file)
@@ -67,6 +67,7 @@ per: \
        rnsap   \
        rrc             \
        rrlp    \
+       sabp    \
        t38             \
        ulp
        
@@ -215,6 +216,9 @@ clean:
        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 ..
@@ -498,6 +502,11 @@ s4406::
        $(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
diff --git a/asn1/sabp/Makefile b/asn1/sabp/Makefile
new file mode 100644 (file)
index 0000000..62fc64a
--- /dev/null
@@ -0,0 +1,17 @@
+# $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
diff --git a/asn1/sabp/Makefile.nmake b/asn1/sabp/Makefile.nmake
new file mode 100644 (file)
index 0000000..8574cf0
--- /dev/null
@@ -0,0 +1,44 @@
+## 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
diff --git a/asn1/sabp/SABP-CommonDataTypes.asn b/asn1/sabp/SABP-CommonDataTypes.asn
new file mode 100644 (file)
index 0000000..8d35e7e
--- /dev/null
@@ -0,0 +1,37 @@
+-- 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
diff --git a/asn1/sabp/SABP-Constants.asn b/asn1/sabp/SABP-Constants.asn
new file mode 100644 (file)
index 0000000..32791f5
--- /dev/null
@@ -0,0 +1,85 @@
+-- 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
diff --git a/asn1/sabp/SABP-Containers.asn b/asn1/sabp/SABP-Containers.asn
new file mode 100644 (file)
index 0000000..5155f4b
--- /dev/null
@@ -0,0 +1,123 @@
+-- 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
diff --git a/asn1/sabp/SABP-IEs.asn b/asn1/sabp/SABP-IEs.asn
new file mode 100644 (file)
index 0000000..6ba98f8
--- /dev/null
@@ -0,0 +1,280 @@
+-- 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
diff --git a/asn1/sabp/SABP-PDU-Contents.asn b/asn1/sabp/SABP-PDU-Contents.asn
new file mode 100644 (file)
index 0000000..178c341
--- /dev/null
@@ -0,0 +1,524 @@
+-- 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
diff --git a/asn1/sabp/SABP-PDU-Descriptions.asn b/asn1/sabp/SABP-PDU-Descriptions.asn
new file mode 100644 (file)
index 0000000..9b62511
--- /dev/null
@@ -0,0 +1,206 @@
+-- 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
diff --git a/asn1/sabp/packet-sabp-template.c b/asn1/sabp/packet-sabp-template.c
new file mode 100644 (file)
index 0000000..852b36f
--- /dev/null
@@ -0,0 +1,173 @@
+/* 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
diff --git a/asn1/sabp/sabp.cnf b/asn1/sabp/sabp.cnf
new file mode 100644 (file)
index 0000000..349147c
--- /dev/null
@@ -0,0 +1,130 @@
+# 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
index 897c4553bead6ebd3ba06ab33abb5c0a012d61e2..108f02502351ac4b28688ec43e4d40e6c2f47743 100644 (file)
@@ -131,6 +131,7 @@ ASN_DISSECTOR_SRC = \
        packet-rrlp.c \
        packet-rtse.c \
        packet-s4406.c \
+       packet-sabp.c \
        packet-smrse.c \
        packet-snmp.c \
        packet-spnego.c \