aboutsummaryrefslogtreecommitdiffstats
path: root/asn1
diff options
context:
space:
mode:
authorMikhail Koreshkov <drkor@hotbox.ru>2015-05-29 21:34:41 +0300
committerPascal Quantin <pascal.quantin@gmail.com>2015-05-30 11:08:00 +0000
commitdb3c821084cf14bc3457b9c664a5c79352f2cda5 (patch)
tree088a1457484980c88002a9bcec27b75dc75034b9 /asn1
parent78c0aa320c57e3b36eec2f3dce83e48899261334 (diff)
Q955.3 MLPP Dissector
Added ASN.1 dissector for MLPP (Multi-Level Precedence and Preemption) protocol Q955.3 Change-Id: Ic1c855dfbf1fb1295a43cfe3a5ad7087b5b89c12 Reviewed-on: https://code.wireshark.org/review/8689 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Diffstat (limited to 'asn1')
-rw-r--r--asn1/isdn-sup/CMakeLists.txt1
-rw-r--r--asn1/isdn-sup/MLPP-Operations-And-Errors.asn135
-rw-r--r--asn1/isdn-sup/Makefile.common3
-rw-r--r--asn1/isdn-sup/isdn-sup.cnf2
4 files changed, 140 insertions, 1 deletions
diff --git a/asn1/isdn-sup/CMakeLists.txt b/asn1/isdn-sup/CMakeLists.txt
index 6102b8954f..a5210cce27 100644
--- a/asn1/isdn-sup/CMakeLists.txt
+++ b/asn1/isdn-sup/CMakeLists.txt
@@ -42,6 +42,7 @@ set( ASN_FILE_LIST
MCID-Operations.asn
User-To-User-Signalling-Operations.asn
Freephone-Operations.asn
+ MLPP-Operations-And-Errors.asn
)
set( EXTRA_DIST
diff --git a/asn1/isdn-sup/MLPP-Operations-And-Errors.asn b/asn1/isdn-sup/MLPP-Operations-And-Errors.asn
new file mode 100644
index 0000000000..193232ad14
--- /dev/null
+++ b/asn1/isdn-sup/MLPP-Operations-And-Errors.asn
@@ -0,0 +1,135 @@
+-- MLPP-Operations-And-Errors.asn
+--
+-- Taken from ITU Recommendation Q.955.3 (03/93)
+--
+
+-- Begin MLPP-operations definitions
+MLPP-operations {ccitt recommendation q 955 mlpp (3) operations-and-errors(1)}
+DEFINITIONS ::=
+BEGIN
+EXPORTS mLPPLFBQuery, mLPPCallRequest, mLPPCallPreemption,
+ unauthorizedPrecedenceLevel;
+
+IMPORTS OPERATIONS, ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t (2) remote-operations (4) informationObjects(5) version1(0)}
+
+ userNotSubscribed, rejectedByNetwork
+ FROM General-Error-List
+ {ccitt recommendation q 950 general-error-list (1)}
+
+ Q931InformationElement
+ FROM Embedded-Q931-Types
+ {ccitt identified-organization etsi(0) 196 embedded-q931-types(7)};
+
+-- Begin mLPPLFBquery operation
+mLPPLFBQuery OPERATION ::= {
+ ARGUMENT MLPPLFBArg
+ RESULT MLPPLFBResp
+ ERRORS {userNotSubscribed | rejectedByNetwork}
+ CODE local: 24
+}
+
+MLPPLFBArg ::= SEQUENCE {mlppParams MLPPParams, ieArg IEArg}
+
+MLPPParams ::= SEQUENCE {
+ precLevel PrecLevel, lfbIndictn LFBIndictn, mlppSvcDomn MLPPSvcDomn
+}
+
+PrecLevel ::= ENUMERATED {
+ flashOverride(0), flash(1), immediate(2), priority(3), routine(4)
+}
+-- Prec level identifies the precedence level of the MLPP call.
+
+LFBIndictn ::= ENUMERATED {
+ ifbAllowed(0), ifbNotAllowed(1), pathReserved(2)
+}
+-- LFBIndictri is coded for values. as indicated.
+
+MLPPSvcDomn ::= OCTET STRING(5)
+-- Initial two octets provide the International ID. while the
+-- following three octets provide the MLPP Domain
+-- identification.
+
+IEArg ::= Q931InformationElement
+-- Bearer capability. Calling party number. Called party
+-- number. and Channel identification information elements in
+-- the IE arg shall be as defined in Q.931.
+
+MLPPLFBResp ::= SEQUENCE {statusQuery StatusQuery, location Location}
+-- The MLPP DSS1 LFB query response contains two
+-- parameters. StatusQuery and Location.
+
+StatusQuery ::= ENUMERATED {
+ success(1),
+ -- Many cases as described in the optional MLPP LFB
+ failure(2),
+ -- Many cases as described in the MLPP procedure with LFB
+ -- option.
+ bearerCapabilityNotAuthorized(3),
+ -- bearer capability check failure. not authorized
+ bearerCapabilityNotlmplemented(4),
+ -- bearer capability check failure. not implemented
+ bearerCapabilityNotAvailable(5),
+ -- bearer capability check failure. not available
+ pathReservationDenied(6)
+ -- circuit cannot be reserved at the far end
+}
+
+Location ::= Q931InformationElement
+-- a bit string which conforms to Octect 3 of the Cause
+-- information element as defined in 0.931. except that bit 8 is
+-- marked as a spare.
+
+-- End of mLPPLFBquery operation.
+
+-- Begin mLPPCallRequest operation
+mLPPCallRequest OPERATION ::= {
+ ARGUMENT MLPPParams
+ RESULT StatusRequest
+ ERRORS {userNotSubscribed | rejectedByNetwork | unauthorizedPrecedenceLevel}
+ CODE local: 25
+}
+
+StatusRequest ::= ENUMERATED {
+ successCalledUserMLPPSubscriber(1),
+ -- Called user is an MLPP subscriber.
+ successCalledUserNotMLPPSubscriber(2),
+ -- Called user is not an MLPP subscriber.
+ failureCaseA(3),
+ -- MLPP call from the calling user is a precedence call and
+ -- cannot be completed.
+ failureCaseB(4)
+ -- MLPP call from the calling user or MLPP call between two
+ -- MLPP subscribers experiences preemption.
+}
+-- End MLPPCallRequest operation.
+
+-- Begin mLPPCallpreemption operation
+mLPPCallPreemption OPERATION ::= {
+ ARGUMENT PreemptParams
+ --RESULT
+ --ERRORS
+ CODE local: 26
+}
+
+PreemptParams ::= ENUMERATED {
+ circuitReservedForReuse(1),
+ -- Circuit of the to be preempted call is reserved for reuse
+ circuitNotReservedForReuse(2)
+ -- Circuit of the to be preempted call is not reserved for reuse
+}
+-- End mLPPCallpreemption operation
+
+unauthorizedPrecedenceLevel ERROR ::= {
+ CODE local: 44
+}
+-- An indication that the calling user has exceeded the authorized. maximum
+-- precedence level.
+
+--mLPPLFBQuery MLPPLFBQuery ::= 24
+--mLPPCallRequest MLPPCallRequest ::= 25
+--mLPPCALLPreemption MLPPCALLPreemption ::= 26
+--unauthorizedPrecedenceLevel UnauthorizedPrecedenceLevel ::= 44
+END
+-- End MLPP-operations. \ No newline at end of file
diff --git a/asn1/isdn-sup/Makefile.common b/asn1/isdn-sup/Makefile.common
index 495ca984eb..9634daa9f9 100644
--- a/asn1/isdn-sup/Makefile.common
+++ b/asn1/isdn-sup/Makefile.common
@@ -34,7 +34,8 @@ ASN_FILE_LIST = \
Diversion-Operations.asn \
MCID-Operations.asn \
User-To-User-Signalling-Operations.asn \
- Freephone-Operations.asn
+ Freephone-Operations.asn \
+ MLPP-Operations-And-Errors.asn
INCLUDED_ASN_FILE_LIST = \
CCBS-Operations-and-Errors.asn \
diff --git a/asn1/isdn-sup/isdn-sup.cnf b/asn1/isdn-sup/isdn-sup.cnf
index e78d478e2a..e50a4bff65 100644
--- a/asn1/isdn-sup/isdn-sup.cnf
+++ b/asn1/isdn-sup/isdn-sup.cnf
@@ -16,6 +16,8 @@ Diversion-Operations isdn-sup
MCID-Operations isdn-sup
Closed-User-Group-Service-Operations isdn-sup
Advice-of-Charge-Operations isdn-sup
+MLPP-operations isdn-sup
+
#.PDU_NEW
OPERATION.&ArgumentType