aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStig Bjørlykke <stig@bjorlykke.org>2010-01-09 20:52:47 +0000
committerStig Bjørlykke <stig@bjorlykke.org>2010-01-09 20:52:47 +0000
commitd94b155f742ecaba59aaa0dd45407ceb273b0188 (patch)
tree64e54d1fd0342cfb21897338aa9178a66351931a
parentfc3f69f9c5e82957125f0476fe9e7b1fe8b2ebff (diff)
Update ASN.1 files.
Added decoding of ADatP3Data, CorrectionsData, ForwardedEncryptedData, ACP127Data and ACP127NotificationResponse. svn path=/trunk/; revision=31474
-rw-r--r--asn1/s4406/MMSAbstractService.asn183
-rw-r--r--asn1/s4406/MMSExtendedBodyPartTypes.asn116
-rw-r--r--asn1/s4406/MMSHeadingExtensions.asn251
-rw-r--r--asn1/s4406/MMSInformationObjects.asn63
-rw-r--r--asn1/s4406/MMSObjectIdentifiers.asn263
-rw-r--r--asn1/s4406/MMSOtherNotificationTypeExtensions.asn57
-rw-r--r--asn1/s4406/MMSPerRecipientSpecifierExtensions.asn35
-rw-r--r--asn1/s4406/Makefile.common6
-rw-r--r--asn1/s4406/s4406.asn302
-rw-r--r--asn1/s4406/s4406.cnf50
-rw-r--r--epan/dissectors/packet-s4406.c767
-rw-r--r--epan/dissectors/packet-s4406.h2
12 files changed, 1605 insertions, 490 deletions
diff --git a/asn1/s4406/MMSAbstractService.asn b/asn1/s4406/MMSAbstractService.asn
new file mode 100644
index 0000000000..c055ba2341
--- /dev/null
+++ b/asn1/s4406/MMSAbstractService.asn
@@ -0,0 +1,183 @@
+-- $Id$
+MMSAbstractService {iso(1) identified-organization(3) nato(26) stanags(0)
+ mmhs(4406) object-identifiers(0) module(0) abstract-service(3)} DEFINITIONS
+IMPLICIT TAGS ::=
+BEGIN
+
+--Prologue
+-- Exports Everything
+IMPORTS
+ -- IPMS information objects
+ AutoForwardComment, Heading
+ --
+ FROM IPMSInformationObjects {joint-iso-ccitt mhs-motis(6) ipms(1)
+ modules(0) information-objects(2)}
+ -- MMS information objects
+ MM, MN, MNRN, MRN, MON, InformationObject
+ --
+ FROM MMSInformationObjects {iso(1) identified-organization(3) nato(26)
+ stanags(0) mmhs(4406) object-identifiers(0) module(0) mms(1)}
+ -- MMS object identifiers
+ id-mpt-management, id-mpt-origination, id-mpt-reception
+ --
+ FROM MMSObjectIdentifiers {iso(1) identified-organization(3) nato(26)
+ stanags(0) mmhs(4406) object-identifiers(0)}
+ -- MTS abstract service
+ MessageDeliveryEnvelope, MessageSubmissionEnvelope,
+ MessageSubmissionIdentifier, MessageSubmissionTime, ORName,
+ ProbeSubmissionEnvelope, ProbeSubmissionIdentifier, ProbeSubmissionTime,
+ RecipientImproperlySpecified, ReportDeliveryEnvelope,
+ SupplementaryInformation
+ --
+ FROM MTSAbstractService {joint-iso-ccitt mhs-motis(6) mts(3) modules(0)
+ mts-abstract-service(1)}
+ -- Abstract service definition conventions
+ ABSTRACT-ERROR, ABSTRACT-OPERATION, PORT
+ --
+ FROM AbstractServiceNotation {joint-iso-ccitt mhs-motis(6) asdc(2)
+ modules(0) notation(1)};
+
+-- Ports
+-- origination PORT ::= {
+-- CONSUMER INVOKES
+-- {OriginateProbe |
+--
+ -- Although, national implementation may
+ -- support probes within their own domain, probes are not
+ -- permitted across national boundaries
+-- OriginateMM | OriginateMRN}
+-- ID id-pt-origination}
+--
+--reception PORT ::= {
+-- CONSUMER INVOKES
+-- {ReceiveReport | ReceiveMM | ReceiveMRN | ReceiveMNRN | ReceiveMON}
+-- ID id-pt-reception}
+--
+--management PORT ::= {
+-- CONSUMER INVOKES
+-- {ChangeAutoDiscard | ChangeAutoAcknowledgment | ChangeAutoForwarding}
+-- ID id-pt-management}
+
+-- Origination abstract operations
+-- Probes are prohibited across national boundaries.
+--originate-probe ABSTRACT-OPERATION ::= {
+-- ARGUMENT OriginateProbeArgument
+-- RESULT OriginateProbeResult
+-- ERROR {SubcriptionError | RecipientImproperlySpecified}}
+
+OriginateProbeArgument ::= SET {
+ envelope [0] ProbeSubmissionEnvelope,
+ content [1] MM}
+
+OriginateProbeResult ::= SET {
+ submission-identifier [0] ProbeSubmissionIdentifier,
+ submission-time [1] ProbeSubmissionTime}
+
+--originate-mm ABSTRACT-OPERATION ::= {
+-- ARGUMENT OriginateMMArgument
+-- RESULT OriginateMMResult
+-- ERROR {SubcriptionError | RecipientImproperlySpecified}}
+
+OriginateMMArgument ::= SET {
+ envelope [0] MessageSubmissionEnvelope,
+ content [1] MM}
+
+OriginateMMResult ::= SET {
+ submission-identifier [0] MessageSubmissionIdentifier,
+ submission-time [1] MessageSubmissionTime}
+
+--originate-mrn ABSTRACT-OPERATION ::= {
+-- ARGUMENT OriginateMRNArgument
+-- RESULT OriginateMRNResult
+-- ERROR {SubcriptionError | RecipientImproperlySpecified}}
+
+OriginateMRNArgument ::= SET {
+ envelope [0] MessageSubmissionEnvelope,
+ content [1] MRN}
+
+OriginateMRNResult ::= SET {
+ submission-identifier [0] MessageSubmissionIdentifier,
+ submission-time [1] MessageSubmissionTime}
+
+-- Reception abstract operations
+--receive-report ABSTRACT-OPERATION ::= {
+-- ARGUMENT ReceiveReportArgument
+-- RESULT ERROR {}}
+
+ReceiveReportArgument ::= SET {
+ envelope [0] ReportDeliveryEnvelope,
+ undelivered-object [1] InformationObject OPTIONAL}
+
+--receive-mm ABSTRACT-OPERATION ::= {
+-- ARGUMENT ReceiveMMArgument
+-- RESULT ERROR {}}
+
+ReceiveMMArgument ::= SET {
+ envelope [0] MessageDeliveryEnvelope,
+ content [1] MM}
+
+--receive-mrn ABSTRACT-OPERATION ::= {
+-- ARGUMENT ReceiveMRNArgument
+-- RESULT ERROR {}}
+
+ReceiveMRNArgument ::= SET {
+ envelope [0] MessageDeliveryEnvelope,
+ content [1] MRN}
+
+--receive-mnrn ABSTRACT-OPERATION ::= {
+-- ARGUMENT ReceiveMNRNArgument
+-- RESULT ERROR {}}
+
+ReceiveMNRNArgument ::= SET {
+ envelope [0] MessageDeliveryEnvelope,
+ content [1] MNRN}
+
+--receive-mon ABSTRACT-OPERATION ::= {
+-- ARGUMENT ReceiveMONArgument
+-- RESULT ERROR {}}
+
+ReceiveMONArgument ::= SET {
+ envelope [0] MessageDeliveryEnvelope,
+ content [1] MON}
+
+-- Management abstract operations
+-- It should be noted that in cases where an implementation has dual
+-- IPM and MM functionality, the management abstract operations may be used
+-- for support of both types of messaging.
+--change-auto-discard ABSTRACT-OPERATION ::= {
+-- ARGUMENT ChangeAutoDiscardArgument
+-- RESULT ERRORS {}}
+
+ChangeAutoDiscardArgument ::= SET {
+ auto-discard-expired-MMs [0] BOOLEAN,
+ auto-discard-obsolete-MMs [1] BOOLEAN}
+
+--change-auto-acknowledgement ABSTRACT-OPERATION ::= {
+-- ARGUMENT ChangeAutoAcknowledgementArgument
+-- RESULT ERRORS {SubscriptionError}}
+
+ChangeAutoAcknowledgementArgument ::= SET {
+ auto-acknowledge-MMs [0] BOOLEAN,
+ auto-acknowledge-suppl-receipt-info [1] SupplementaryInformation}
+
+--change-auto-forwarding ABSTRACT-OPERATION ::= {
+-- ARGUMENT ChangeAutoForwardingArgument
+-- RESULT ERRORS {SubscriptionError,
+-- RecipientImproperlySpecified}}
+
+ChangeAutoForwardingArgument ::= SET {
+ autoforward-MMs [0] BOOLEAN,
+ auto-forward-recipients [1] SEQUENCE OF ORName OPTIONAL,
+ auto-forward-heading [2] Heading OPTIONAL,
+ auto-forward-comment [3] AutoForwardComment OPTIONAL}
+
+-- Abstract errors
+--subscription-error ABSTRACT-ERROR ::= {PARAMETER SubscriptionErrorParameter
+--}
+
+SubscriptionErrorParameter ::= SET {problem [0] SubscriptionProblem}
+
+SubscriptionProblem ::= ENUMERATED {
+ mms-eos-not-subcribed(0), mts-eos-not-subcribed(1)}
+
+END --of MMSAbstractService
diff --git a/asn1/s4406/MMSExtendedBodyPartTypes.asn b/asn1/s4406/MMSExtendedBodyPartTypes.asn
new file mode 100644
index 0000000000..141a07bda0
--- /dev/null
+++ b/asn1/s4406/MMSExtendedBodyPartTypes.asn
@@ -0,0 +1,116 @@
+-- $Id$
+MMSExtendedBodyPartTypes {iso(1) identified-organization(3) nato(26)
+ stanags(0) mmhs(4406) object-identifiers(0) module(0)
+ extended-body-part-types(7)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports Everything
+IMPORTS
+ -- IPMS information objects
+ EXTENDED-BODY-PART-TYPE
+ --=
+ FROM IPMSInformationObjects {joint-iso-ccitt mhs-motis(6) ipms(1)
+ modules(0) information-objects(2)}
+ -- MMS information objects
+ MM
+ --=
+ FROM MMSInformationObjects {iso(1) identified-organization(3) nato(26)
+ stanags(0) mmhs(4406) object-identifiers(0) module(0) mms(1)}
+ -- MMS upper lower bounds
+ ub-data-size
+ --=
+ FROM MMSUpperBounds {iso(1) identified-organization(3) nato(26) stanags(0)
+ mmhs(4406) object-identifiers(0) module(0) upper-bounds(0)}
+ -- MTS Abstract Service
+ MessageDeliveryTime, OtherMessageDeliveryFields
+ --=
+ FROM MTSAbstractService {joint-iso-ccitt mhs-motis(6) mts(3) modules(0)
+ mts-abstract-service(1)}
+ -- MMS object identifiers
+ --=
+ id-nato-mmhs-et-adatp3, id-nato-mmhs-et-adatp3-parameters,
+ id-nato-mmhs-et-acp127data, id-nato-mmhs-et-acp127data-parameters,
+ id-nato-mmhs-et-corrections, id-nato-mmhs-et-corrections-parameters,
+ id-nato-mmhs-et-forwarded-encrypted,
+ id-nato-mmhs-et-forwarded-encrypted-parameters, id-nato-mmhs-et-mm-message,
+ id-nato-mmhs-et-mm-message-parameters
+ --=
+ FROM MMSObjectIdentifiers {iso(1) identified-organization(3) nato(26)
+ stanags(0) mmhs(4406) object-identifiers(0)};
+
+-- extended adatp3 bodypart
+--adatp3-body-part EXTENDED-BODY-PART-TYPE ::= {
+-- PARAMETERS {ADatP3Parameters
+-- IDENTIFIED BY id-nato-mmhs-et-adatp3-parameters},
+-- DATA {ADatP3Data
+-- IDENTIFIED BY id-nato-mmhs-et-adatp3}}
+
+ADatP3Parameters ::= INTEGER -- DEFAULT (0)
+
+ADatP3Data ::= CHOICE {
+ lineOriented [0] IMPLICIT IA5String,
+ setOriented [1] IMPLICIT SEQUENCE OF IA5String}
+
+-- extended corrections body part
+--corrections-body-part EXTENDED-BODY-PART-TYPE ::= {
+-- PARAMETERS {CorrectionsParameters
+-- IDENTIFIED BY id-nato-mmhs-et-corrections-parameters},
+-- DATA {CorrectionsData
+-- IDENTIFIED BY id-nato-mmhs-et-corrections}}
+
+CorrectionsParameters ::= INTEGER
+
+CorrectionsData ::= IA5String
+
+-- extended forwarded encrypted body part
+--forwarded-encrypted-body-part EXTENDED-BODY-PART-TYPE ::= {
+-- PARAMETERS
+-- {ForwardedEncryptedParameters
+-- IDENTIFIED BY id-nato-mmhs-et-forwarded-encrypted-parameters},
+-- DATA
+-- {ForwardedEncryptedData
+-- IDENTIFIED BY id-nato-mmhs-et-forwarded-encrypted}}
+
+-- A forwarded-encrypted-body must contain the delivery information,
+-- containing the content type which will indicate whether the forwarded
+-- encrypted message is an MM or IPM. All security related information
+-- (i.e., token) of the original message must be forwarded.
+ForwardedEncryptedParameters ::= SET {
+ delivery-time [0] MessageDeliveryTime OPTIONAL,
+ delivery-envelope [1] OtherMessageDeliveryFields}
+
+-- 2/X.411, part 9 of 26.
+ForwardedEncryptedData ::= BIT STRING
+
+-- extended MM message body part
+--mm-message-body-part EXTENDED-BODY-PART-TYPE ::= {
+-- PARAMETERS
+-- {MMMessageParameters
+-- IDENTIFIED BY id-nato-mmhs-et-mm-message-parameters},
+-- DATA {MMMessageData
+-- IDENTIFIED BY id-nato-mmhs-et-mm-message}}
+
+-- An mm-message-body-part can either carry a forwarded M1M or a forwarded
+-- IPM. In the case of a message-body-part, as defined in X.420,
+-- it can only carry an IPM.
+MMMessageParameters ::= SET {
+ delivery-time [0] MessageDeliveryTime OPTIONAL,
+ delivery-envelope [1] OtherMessageDeliveryFields}
+
+MMMessageData ::= IPM
+
+-- extended acp127data body part
+--acp127data-body-part EXTENDED-BODY-PART-TYPE ::= {
+-- PARAMETERS
+-- {ACP127DataParameters
+-- IDENTIFIED BY id-nato-mmhs-et-acp127data-parameters},
+-- DATA {ACP127DataData
+-- IDENTIFIED BY id-nato-mmhs-et-acp127data}}
+
+ACP127DataParameters ::= INTEGER
+
+ACP127DataData ::= IA5String(SIZE (1..ub-data-size))
+
+END -- of MMS ExtendedBodyPartTypes
+
diff --git a/asn1/s4406/MMSHeadingExtensions.asn b/asn1/s4406/MMSHeadingExtensions.asn
new file mode 100644
index 0000000000..f336c0e25b
--- /dev/null
+++ b/asn1/s4406/MMSHeadingExtensions.asn
@@ -0,0 +1,251 @@
+-- $Id$
+MMSHeadingExtensions {iso(1) identified-organization(3) nato(26) stanags(0)
+ mmhs(4406) object-identifiers(0) module(0) heading-extensions(6)} DEFINITIONS
+IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports Everything
+IMPORTS
+ -- IPMS information objects
+ IPMS-EXTENSION, ORDescriptor
+ --=
+ FROM IPMSInformationObjects {joint-iso-ccitt mhs-motis(6) ipms(1)
+ modules(0) information-objects(2)}
+ -- MMS upper bounds
+ lb-military-sic, ub-military-number-of-sics, ub-military-sic
+ --=
+ FROM MMSUpperBounds {iso(1) identified-organization(3) nato(26) stanags(0)
+ mmhs(4406) object-identifiers(0) module(0) upper-bounds(0)}
+ -- MMS object identifiers
+ id-nato-mmhs-mm-acp127-message-identifier,
+ id-nato-mmhs-mm-address-list-indicator, id-nato-mmhs-mm-codress-message,
+ id-nato-mmhs-mm-copy-precedence, id-nato-mmhs-mm-distribution-codes,
+ id-nato-mmhs-mm-exempted-address,
+ id-nato-mmhs-mm-extended-authorisation-info,
+ id-nato-mmhs-mm-handling-instructions, id-nato-mmhs-mm-information-labels,
+ id-nato-mmhs-mm-message-instructions, id-nato-mmhs-mm-message-type,
+ id-nato-mmhs-mm-originator-reference, id-nato-mmhs-mm-originator-plad,
+ id-nato-mmhs-mm-other-recipients-indicator,
+ id-nato-mmhs-mm-pilot-forwarding-info, id-nato-mmhs-mm-primary-precedence
+ --=
+ FROM MMSObjectIdentifiers {iso(1) identified-organization(3) nato(26)
+ stanags(0) mmhs(4406) object-identifiers(0)}
+ -- MTS abstract service
+ --Message--SecurityLabel
+ --=
+ FROM MTSAbstractService {joint-iso-ccitt mhs-motis(6) mts(3) modules(0)
+ mts-abstract-service(1)};
+
+-- exempted address
+--exempted-address IPMS-EXTENSION ::= {
+-- VALUE SEQUENCE OF ExemptedAddress
+-- IDENTIFIED BY id-nato-mmhs-mm-exempted-address}
+
+ExemptedAddressSeq ::= SEQUENCE OF ExemptedAddress
+
+ExemptedAddress ::= ORDescriptor
+
+-- extended authorisation information
+--extended-authorisation-info IPMS-EXTENSION ::= {
+-- VALUE ExtendedAuthorisationInfo
+-- IDENTIFIED BY id-nato-mmhs-mm-extended-authorisation-info}
+
+ExtendedAuthorisationInfo ::= UTCTime
+
+-- UTCTime as defined in 8.5.4 of ITU-T X.411
+-- Distribution codes
+-- will carry subject indicator codes and leave room for expansion.
+--distribution-codes IPMS-EXTENSION ::= {
+-- VALUE DistributionCodes
+-- IDENTIFIED BY id-nato-mmhs-mm-distribution-codes}
+
+DistributionCodes ::= SET {
+ sics
+ [0] SEQUENCE SIZE (1..ub-military-number-of-sics) OF Sic OPTIONAL,
+ dist-Extensions [1] SEQUENCE OF DistributionExtensionField OPTIONAL}
+
+Sic ::= PrintableString(SIZE (lb-military-sic..ub-military-sic))
+
+DistributionExtensionField ::= INSTANCE OF TYPE-IDENTIFIER
+--DistributionExtensionField ::= SEQUENCE {
+-- dist-type OBJECT IDENTIFIER,
+-- dist-value ANY DEFINED BY dist-type }
+
+-- Handling instructions
+--handling-instructions IPMS-EXTENSION ::= {
+-- VALUE HandlingInstructions
+-- IDENTIFIED BY id-nato-mmhs-mm-handling-instructions}
+
+HandlingInstructions ::= SEQUENCE OF MilitaryString
+
+MilitaryString ::= PrintableString(SIZE (1..ub-military-string))
+
+-- Message instructions
+-- will carry operating signals
+--message-instructions IPMS-EXTENSION ::= {
+-- VALUE MessageInstructions
+-- IDENTIFIED BY id-nato-mmhs-mm-message-instructions}
+
+MessageInstructions ::= SEQUENCE OF MilitaryString
+
+-- Codress message
+-- Needed for transition or as long as codress messages need to be carried.
+--codress-message IPMS-EXTENSION ::= {
+-- VALUE CodressMessage
+-- IDENTIFIED BY id-nato-mmhs-mm-codress-message}
+
+CodressMessage ::= INTEGER
+
+-- Originator reference
+-- only used if a user designated identifier string becomes important.
+--originator-reference IPMS-EXTENSION ::= {
+-- VALUE OriginatorReference
+-- IDENTIFIED BY id-nato-mmhs-mm-originator-reference}
+
+OriginatorReference ::= MilitaryString
+
+-- we have expanded MMHSPrecedence to PrimaryPrecedence and CopyPrecedence to
+-- all rules to be written to highlight high priority messages.
+MMHSPrecedence ::= INTEGER {
+ deferred(0), routine(1), priority(2), immediate(3), flash(4), override(5)
+ -- these are used by some National systems XXX need to verify
+ , ecp(16), critic(17), override(18)
+}
+
+-- Primary reference
+--primary-precedence IPMS-EXTENSION ::= {
+-- VALUE MMHSPrecedence
+-- IDENTIFIED BY id-nato-mmhs-mm-primary-precedence}
+
+PrimaryPrecedence ::= INTEGER {
+ deferred(0), routine(1), priority(2), immediate(3), flash(4), override(5)
+ -- these are used by some National systems XXX need to verify
+ , ecp(16), critic(17), override(18)
+}
+
+-- Note: Values 0 to 15 are reserved for NATO defined precedence levels.
+-- Values 16 to 31 are reserved for national user.
+-- Copy precedence
+--copy-precedence IPMS-EXTENSION ::= {
+-- VALUE MMHSPrecedence
+-- IDENTIFIED BY id-nato-mmhs-mm-copy-precedence}
+
+CopyPrecedence ::= INTEGER {
+ deferred(0), routine(1), priority(2), immediate(3), flash(4), override(5)
+ -- these are used by some National systems XXX need to verify
+ , ecp(16), critic(17), override(18)
+}
+
+-- Message type
+--message-type IPMS-EXTENSION ::= {
+-- VALUE MessageType
+-- IDENTIFIED BY id-nato-mmhs-mm-message-type}
+
+MessageType ::= SET {
+ type [0] TypeMessage,
+ identifier [1] MessageIdentifier OPTIONAL}
+
+TypeMessage ::= INTEGER {exercise(0), operation(1), project(2), drill(3)}
+
+-- Note: Values 0 to 127 are reserved for NATO defined Message Type
+-- identifiers. Values above 128 to 255 are not defined by NATO and may
+-- be used nationally or bilaterally.
+MessageIdentifier ::=
+ MilitaryString
+
+-- Address list indicator
+--address-list-indicator IPMS-EXTENSION ::= {
+-- VALUE SEQUENCE OF AddressListDesignator
+-- IDENTIFIED BY id-nato-mmhs-mm-address-list-indicator}
+
+AddressListDesignatorSeq ::= SEQUENCE OF AddressListDesignator
+
+AddressListDesignator ::= SET {
+ type [0] INTEGER {primaryAddressList(0), copyAddressList(1)},
+ listName [1] ORDescriptor,
+ notificationRequest [2] AddressListRequest OPTIONAL,
+ replyRequest [3] AddressListRequest OPTIONAL}
+
+AddressListRequest ::= INTEGER {action(0), info(1), both(2)}
+
+-- Other recipients indicator
+--other-recipients-indicator IPMS-EXTENSION ::= {
+-- VALUE SEQUENCE OF OtherRecipientDesignator
+-- IDENTIFIED BY id-nato-mmhs-mm-other-recipients-indicator}
+
+OtherRecipientDesignatorSeq ::= SEQUENCE OF OtherRecipientDesignator
+
+OtherRecipientDesignator ::= SET {
+ type [0] INTEGER {primary(0), copy(1)},
+ designator [1] MilitaryString}
+
+-- pilot forwarding information
+--pilot-forwarding-info IPMS-EXTENSION ::= {
+-- VALUE SEQUENCE OF PilotInformation
+-- IDENTIFIED BY id-nato-mmhs-mm-pilot-forwarding-info}
+
+PilotInformationSeq ::= SEQUENCE OF PilotInformation
+
+PilotInformation ::= SEQUENCE {
+ pilotPrecedence [0] MMHSPrecedence OPTIONAL,
+ -- Note: Values 0 to 15 are reserved for NATO defined precedence levels.
+ -- Values 16 to 31 are reserved for national use.
+ pilotRecipient [1] SEQUENCE OF ORDescriptor OPTIONAL,
+ pilotSecurity [2] --Message--SecurityLabel OPTIONAL,
+ pilotHandling [3] SEQUENCE OF MilitaryString OPTIONAL}
+
+-- Acp127 message identifier
+-- a string to store routing indicator, station serial number and julian file
+-- time seperated by spaces.
+--acp127-message-identifier IPMS-EXTENSION ::= {
+-- VALUE Acp127MessageIdentifier
+-- IDENTIFIED BY id-nato-mmhs-mm-acp127-message-identifier}
+
+Acp127MessageIdentifier ::= MilitaryString
+
+-- Originator PLAD
+--originator-plad IPMS-EXTENSION ::= {
+-- VALUE OriginatorPlad
+-- IDENTIFIED BY id-nato-mmhs-mm-originator-plad}
+
+OriginatorPlad ::= MilitaryString
+
+-- Information label
+--security-information-labels IPMS-EXTENSION ::= {
+-- VALUE SecurityInformationLabels
+-- IDENTIFIED BY id-nato-mmhs-mm-information-labels}
+
+SecurityInformationLabels ::= SEQUENCE {
+ content-security-label [0] SecurityLabel,
+ -- SecurityLabel as defined in 8.5.9 of ITU-T X.411
+ heading-security-label [1] SecurityLabel OPTIONAL,
+ body-part-security-labels [2] SEQUENCE OF BodyPartSecurityLabel OPTIONAL}
+
+BodyPartSecurityLabel ::= SET {
+ body-part-security-label [0] SecurityLabel,
+ body-part-sequence-number [1] BodyPartSequenceNumber OPTIONAL}
+
+BodyPartSequenceNumber ::= INTEGER
+
+-- Note: If all body parts of the message are labelled, each
+-- element in the body sequence above shall correspond to the
+-- same numbered element of the Body sequence, and the body
+-- part sequence number may be absent. (i.e. the first element
+-- of this field shall correspond to the first body part, etc.
+-- Otherwise the body part sequence number shall be present
+-- and shall correspond to the sequence of the body part
+-- to which the security label relates. (i.e. the value of the
+-- body part sequence number shall correspond to sequence in which
+-- the originator encoded the body parts of the message).
+-- NOTE: The security-information-labels heading extension is now
+-- deprecated. Its use is, therefore, discouraged. See STANAG 4406
+-- Annex B for instruction on the use of its replacement, the
+-- ESSSecurityLabel.
+
+PriorityLevelQualifier ::= ENUMERATED {
+ low(0),
+ high(1) }
+
+END -- of Military heading extensions used in MMS
+
diff --git a/asn1/s4406/MMSInformationObjects.asn b/asn1/s4406/MMSInformationObjects.asn
new file mode 100644
index 0000000000..235d521ab7
--- /dev/null
+++ b/asn1/s4406/MMSInformationObjects.asn
@@ -0,0 +1,63 @@
+-- $Id$
+MMSInformationObjects {iso(1) identified-organization(3) nato(26) stanags(0)
+ mmhs(4406) object-identifiers(0) module(0) mms(1)} DEFINITIONS IMPLICIT TAGS
+::=
+BEGIN
+
+-- Prologue
+-- Exports Everything
+IMPORTS
+ -- IPM Information Object
+ Body, CommonFields, Heading, NonReceiptFields, OtherNotificationTypeFields,
+ ReceiptFields, IPM, IPN
+ --=
+ FROM IPMSInformationObjects {joint-iso-ccitt mhs-motis(6) ipms(1)
+ modules(0) information-objects(2)}
+ -- MTS abstract service
+ ORName
+ --=
+ FROM MTSAbstractService {joint-iso-ccitt mhs-motis(6) mts(3) modules(0)
+ mts-abstract-service(1)};
+
+-- Information Object
+--InformationObject ::= CHOICE {mm [0] MM,
+-- mn [1] MN}
+
+-- We use IPM and IPN here because asn2wrs is unable to fetch
+-- COMPONENTS OF CommonFields from IPMSInformationObjects.asn (x420).
+InformationObject ::= CHOICE {mm [0] IPM,
+ mn [1] IPN}
+
+-- MM (Military Message)
+MM ::= SEQUENCE {mmheading Heading,
+ mmbody Body}
+
+-- The mandatory support on the IPMIdentifier components is more important
+-- in MMS than in IPMS. The user component, ORName of the originating UA is
+-- mandatory. Local IPMIdentifier is made up of 2 concatenated string
+-- separated by a space both generated by the originating UA, a serial
+-- number and the filing time (the time the message generation is finished)
+-- in UTC time format. The minimum length of 15 is because both a date/time
+-- stamp in UTC format including seconds and a serial number, plus the space
+-- delimiter are mandatory. The smallest acceptable UTC date/time stamp
+-- is 13 (ddmmyyhhmmssZ).
+-- MN (Military Notification receipt/non receipt / other notification types)
+MN ::= SET {
+ COMPONENTS OF CommonFields,
+ choice
+ [0] CHOICE {mn-non-receipt-fields [0] NonReceiptFields,
+ mn-receipt-fields [1] ReceiptFields,
+ mn-other-notification-type-fields
+ [2] OtherNotificationTypeFields}}
+
+MRN ::= MN -- with MN-receipt-fields chosen
+
+MNRN ::= MN -- with MN-non-receipt-fields chosen
+
+MON ::= MN -- with MN-other-notification-type-fields chosen
+
+-- All military specific body parts are defined as extended body parts.
+-- The military specific body parts are defined in Annex A
+-- of this part of the MBS.
+END -- of MMS InformationObjects
+
diff --git a/asn1/s4406/MMSObjectIdentifiers.asn b/asn1/s4406/MMSObjectIdentifiers.asn
new file mode 100644
index 0000000000..e4511264f3
--- /dev/null
+++ b/asn1/s4406/MMSObjectIdentifiers.asn
@@ -0,0 +1,263 @@
+-- $Id$
+MMSObjectIdentifiers {iso(1) identified-organization(3) nato(26) stanags(0)
+ mmhs(4406) object-identifiers(0)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Export everything
+IMPORTS --nothing-- ;
+
+ID ::= OBJECT IDENTIFIER
+
+-- Military Messaging
+id-mmhs ID ::=
+ {iso(1) identified-organization(3) nato(26) stanags(0) mmhs(4406)
+ object-identifiers(0)}
+
+-- Categories of object identifiers
+id-mod ID ::= {id-mmhs 0} -- mm module
+
+id-mm ID ::= {id-mmhs 2} -- heading extension
+
+id-hat ID ::= {id-mmhs 3} -- heading attributes for MS
+
+id-mcont ID ::= {id-mmhs 4} -- content types
+
+id-policy ID ::= {id-mmhs 5} -- NATO policy identifier
+
+id-cat ID ::= {id-mmhs 6} -- special category identifiers
+
+id-et ID ::= {id-mmhs 7} -- military defined extended body part types
+
+id-mmts ID ::= {id-mmhs 8} -- mts object identifiers
+
+id-nat ID ::= {id-mmhs 9} -- military defined notification attributes
+
+id-mot ID ::= {id-mmhs 10} -- military object types
+
+id-mpt ID ::= {id-mmhs 11} -- military port types
+
+id-ref ID ::= {id-mmhs 12} -- refinements
+
+id-informationlabel ID ::= {id-mmhs 13}
+
+-- Modules
+-- MMS information objects
+id-mod-upper-bounds ID ::= {id-mod 0}
+
+id-mod-mms ID ::= {id-mod 1}
+
+id-mod-functional-objects ID ::= {id-mod 2}
+
+id-mod-abstract-service ID ::= {id-mod 3}
+
+id-mod-heading-extension ID ::= {id-mod 6}
+
+id-mod-extended-body-part-types ID ::= {id-mod 7}
+
+id-mod-message-store-attributes ID ::= {id-mod 8}
+
+id-mod-per-recipient-specifier-extensions ID ::= {id-mod 11}
+
+id-mod-other-notification-type-extensions ID ::= {id-mod 12}
+
+-- Object types
+id-mot-mmme ID ::= {id-mot 0}
+
+id-mot-mms-user ID ::= {id-mot 1}
+
+id-mot-mms ID ::= {id-mot 2}
+
+id-mot-mms-ua ID ::= {id-mot 3}
+
+id-mot-mms-ms ID ::= {id-mot 4}
+
+id-mot-acp127au ID ::= {id-mot 5}
+
+id-mot-pdau ID ::= {id-mot 6}
+
+-- port types
+id-mpt-origination ID ::= {id-mpt 0}
+
+id-mpt-reception ID ::= {id-mpt 1}
+
+id-mpt-management ID ::= {id-mpt 2}
+
+-- Refinements
+id-ref-primary ID ::= {id-ref 0}
+
+id-ref-secondary ID ::= {id-ref 1}
+
+-- Military Defined body parts
+id-nato-mmhs-et-adatp3 ID ::= {id-et 0}
+
+id-nato-mmhs-et-corrections ID ::= {id-et 1}
+
+id-nato-mmhs-et-adatp3-parameters ID ::= {id-et 2}
+
+id-nato-mmhs-et-corrections-parameters ID ::= {id-et 3}
+
+id-nato-mmhs-et-forwarded-encrypted ID ::= {id-et 6}
+
+id-nato-mmhs-et-forwarded-encrypted-parameters ID ::= {id-et 7}
+
+id-nato-mmhs-et-mm-message ID ::= {id-et 9}
+
+id-nato-mmhs-et-mm-message-parameters ID ::= {id-et 10}
+
+id-nato-mmhs-et-mm-acp127data ID ::= {id-et 12}
+
+id-nato-mmhs-et-mm-acp127data-parameters ID ::= {id-et 13}
+
+-- Military Defined Heading Fields
+id-nato-mmhs-mm-primary-precedence ID ::=
+ {id-mm 0}
+
+id-nato-mmhs-mm-copy-precedence ID ::= {id-mm 1}
+
+id-nato-mmhs-mm-message-type ID ::= {id-mm 2}
+
+id-nato-mmhs-mm-address-list-indicator ID ::= {id-mm 3}
+
+id-nato-mmhs-mm-exempted-address ID ::= {id-mm 4}
+
+id-nato-mmhs-mm-extended-authorisation-info ID ::= {id-mm 5}
+
+id-nato-mmhs-mm-distribution-codes ID ::= {id-mm 6}
+
+id-nato-mmhs-mm-handling-instructions ID ::= {id-mm 7}
+
+id-nato-mmhs-mm-message-instructions ID ::= {id-mm 8}
+
+id-nato-mmhs-mm-codress-message ID ::= {id-mm 9}
+
+id-nato-mmhs-mm-originator-reference ID ::= {id-mm 10}
+
+id-nato-mmhs-mm-other-recipients-indicator ID ::= {id-mm 11}
+
+id-nato-mmhs-mm-pilot-forwarding-info ID ::= {id-mm 12}
+
+id-nato-mmhs-mm-acp127-message-identifier ID ::= {id-mm 13}
+
+id-nato-mmhs-mm-originator-plad ID ::= {id-mm 14}
+
+id-nato-mmhs-mm-information-labels ID ::= {id-mm 17}
+
+-- This value is deprecated.
+-- the following are per-recipient
+id-nato-mmhs-mm-acp127-notification-request ID ::=
+ {id-mm 15}
+
+-- the following are per other-notification-type
+id-nato-mmhs-mm-acp127-notification-response ID ::=
+ {id-mm 16}
+
+-- Military Defined Heading Attributes for MS
+id-nato-mmhs-hat-primary-precedence ID ::=
+ {id-hat 0}
+
+id-nato-mmhs-hat-copy-precedence ID ::= {id-hat 1}
+
+id-nato-mmhs-hat-message-type ID ::= {id-hat 2}
+
+id-nato-mmhs-hat-address-list-indicator ID ::= {id-hat 3}
+
+id-nato-mmhs-hat-exempted-address ID ::= {id-hat 4}
+
+id-nato-mmhs-hat-extended-authorisation-info ID ::= {id-hat 5}
+
+id-nato-mmhs-hat-distribution-codes ID ::= {id-hat 6}
+
+id-nato-mmhs-hat-handling-instructions ID ::= {id-hat 7}
+
+id-nato-mmhs-hat-message-instructions ID ::= {id-hat 8}
+
+id-nato-mmhs-hat-codress-message ID ::= {id-hat 9}
+
+id-nato-mmhs-hat-originator-reference ID ::= {id-hat 10}
+
+id-nato-mmhs-hat-other-recipients-indicator ID ::= {id-hat 11}
+
+id-nato-mmhs-hat-pilot-forwarding-info ID ::= {id-hat 12}
+
+id-nato-mmhs-hat-acp127-message-identifier ID ::= {id-hat 13}
+
+id-nato-mmhs-hat-originator-plad ID ::= {id-hat 14}
+
+-- the following are per-recipient
+id-nato-mmhs-hat-acp127-notification-request ID ::=
+ {id-hat 15}
+
+id-nato-mmhs-hat-sic-codes ID ::= {id-hat 16}
+
+id-nato-mmhs-hat-distribution-extensions ID ::= {id-hat 17}
+
+id-nato-mmhs-hat-body-part-information-label ID ::= {id-hat 18}
+
+-- This value is deprecated.
+id-nato-mmhs-hat-security-information-labels ID ::=
+ {id-hat 19}
+
+-- This value is deprecated.
+-- Military Defined special category identifiers
+id-nato-mmhs-cat ID ::=
+ {id-cat 0}
+
+-- This value is deprecated.
+id-nato-mmhs-cat-atomal ID ::= {id-cat 1}
+
+-- This value is deprecated.
+id-nato-mmhs-cat-cryptosecurity ID ::= {id-cat 2}
+
+-- This value is deprecated.
+id-nato-mmhs-cat-specialhandlingintel ID ::=
+ {id-cat 3}
+
+-- This value is deprecated.
+id-nato-mmhs-cat-ussiopesi ID ::= {id-cat 4}
+
+-- This value is deprecated.
+id-nato-mmhs-cat-eyesonly ID ::= {id-cat 5}
+
+-- This value is deprecated.
+id-nato-mmhs-cat-exclusive ID ::= {id-cat 6}
+
+-- This value is deprecated.
+id-nato-mmhs-cat-information-label ID ::=
+ {id-cat 7}
+
+-- This value is deprecated.
+id-nato-mmhs-informationlabel-atomal ID ::=
+ {id-informationlabel 1}
+
+-- This value is deprecated.
+id-nato-mmhs-informationlabel-cryptosecurity ID ::=
+ {id-informationlabel 2}
+
+-- This value is deprecated.
+id-nato-mmhs-informationlabel-specialhandlingintel ID ::=
+ {id-informationlabel 3}
+
+-- This value is deprecated.
+id-nato-mmhs-informationlabel-ussiopesi ID ::=
+ {id-informationlabel 4}
+
+-- This value is deprecated.
+id-nato-mmhs-informationlabel-eyesonly ID ::=
+ {id-informationlabel 5}
+
+-- This value is deprecated.
+id-nato-mmhs-informationlabel-exclusive ID ::=
+ {id-informationlabel 6}
+
+-- This value is deprecated.
+-- Military Defined Notification Extension
+id-nato-mmhs-nat-acp127-notification-response ID ::=
+ {id-nat 0}
+
+-- Military Message content types (for use by MS only)
+id-mct-p772 ID ::=
+ {id-mcont 1}
+
+END -- of MMHSObjectIdentifiers
+
diff --git a/asn1/s4406/MMSOtherNotificationTypeExtensions.asn b/asn1/s4406/MMSOtherNotificationTypeExtensions.asn
new file mode 100644
index 0000000000..e2332ead84
--- /dev/null
+++ b/asn1/s4406/MMSOtherNotificationTypeExtensions.asn
@@ -0,0 +1,57 @@
+-- $Id$
+MMSOtherNotificationTypeExtensions {iso(1) identified-organization(3)
+ nato(26) stanags(0) mmhs(4406) object-identifiers(0) module(0)
+ other-notification-type-extensions(12)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports Everything
+IMPORTS
+ -- IPMS information objects
+ IPMS-EXTENSION, ReceiptTimeField
+ --=
+ FROM IPMSInformationObjects {joint-iso-ccitt mhs-motis(6) ipms(1)
+ modules(0) information-objects(2)}
+ -- MMS upper bounds
+ ub-military-bigstring
+ --=
+ FROM MMSUpperBounds {iso(1) identified-organization(3) nato(26) stanags(0)
+ mmhs(4406) object-identifiers(0) module(0) upper-bounds(0)}
+ -- MMS object identifiers
+ id-nato-mmhs-mm-acp127-notification-response
+ --=
+ FROM MMSObjectIdentifiers {iso(1) identified-organization(3) nato(26)
+ stanags(0) mmhs(4406) object-identifiers(0)}
+ -- MMS heading extensions
+ AddressListDesignator
+ --=
+ FROM MMSHeadingExtensions {iso(1) identified-organization(3) nato(26)
+ stanags(0) mmhs(4406) object-identifiers(0) module(0)
+ heading-extensions(6)}
+ -- MMS per recipient specifier extensions
+ Acp127NotificationType
+ --=
+ FROM MMSPerRecipientSpecifierExtensions {iso(1) identified-organization(3)
+ nato(26) stanags(0) mmhs(4406) object-identifiers(0) module(0)
+ per-recipient-specifier-extensions(11)};
+
+--ACP127 notification response
+--acp127-notification-response IPMS-EXTENSION ::= {
+-- VALUE Acp127NotificationResponse
+-- IDENTIFIED BY id-nato-mmhs-mm-acp127-notification-response}
+
+Acp127NotificationResponse ::= SET {
+ acp127-notification-type [0] Acp127NotificationType,
+ receipt-time [1] ReceiptTimeField,
+ addressListIndicator [2] AddressListIndicator OPTIONAL,
+ acp127-recipient [3] Acp127Recipient OPTIONAL,
+ acp127-supp-info [4] Acp127SuppInfo OPTIONAL}
+
+AddressListIndicator ::= SEQUENCE OF AddressListDesignator
+
+Acp127Recipient ::= PrintableString(SIZE (1..ub-military-bigstring))
+
+Acp127SuppInfo ::= PrintableString(SIZE (1..ub-military-bigstring))
+
+END -- of MMS OtherNotificationType extensions
+
diff --git a/asn1/s4406/MMSPerRecipientSpecifierExtensions.asn b/asn1/s4406/MMSPerRecipientSpecifierExtensions.asn
new file mode 100644
index 0000000000..cf5d3d3c9c
--- /dev/null
+++ b/asn1/s4406/MMSPerRecipientSpecifierExtensions.asn
@@ -0,0 +1,35 @@
+-- $Id$
+MMSPerRecipientSpecifierExtensions {iso(1) identified-organization(3)
+ nato(26) stanags(0) mmhs(4406) object-identifiers(0) module(0)
+ per-recipient-specifier-extensions(11)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports Everything
+IMPORTS
+ -- IPMS information objects
+ IPMS-EXTENSION
+ --=
+ FROM IPMSInformationObjects {joint-iso-ccitt mhs-motis(6) ipms(1)
+ modules(0) information-objects(2)}
+ -- MMS object identifiers
+ id-nato-mmhs-mm-acp127-notification-request
+ --=
+ FROM MMSObjectIdentifiers {iso(1) identified-organization(3) nato(26)
+ stanags(0) mmhs(4406) object-identifiers(0)};
+
+-- ACP127 notification request
+-- The following definitions are made in order to support
+-- informing the originator of a message that the subject message
+-- has reached a gateway to an ACP 127 domain.
+--acp127-notification-request IPMS-EXTENSION ::= {
+-- VALUE Acp127NotificationType
+-- IDENTIFIED BY id-nato-mmhs-mm-acp127-notification-request}
+
+Acp127NotificationType ::= BIT STRING {
+ acp127-nn(0), -- negative notification
+ acp127-pn(1), -- positive notification
+ acp127-tn(2)} -- transfer notification
+
+END -- of MMS per recipient pecifier extensions
+
diff --git a/asn1/s4406/Makefile.common b/asn1/s4406/Makefile.common
index 86cdef9855..2ff18ff7cc 100644
--- a/asn1/s4406/Makefile.common
+++ b/asn1/s4406/Makefile.common
@@ -28,7 +28,11 @@ DISSECTOR_FILES=packet-$(PROTOCOL_NAME).c \
EXT_ASN_FILE_LIST =
-ASN_FILE_LIST = $(PROTOCOL_NAME).asn MMSUpperBounds.asn
+ASN_FILE_LIST = MMSAbstractService.asn MMSInformationObjects.asn \
+ MMSOtherNotificationTypeExtensions.asn MMSObjectIdentifiers.asn \
+ MMSHeadingExtensions.asn MMSUpperBounds.asn \
+ MMSExtendedBodyPartTypes.asn MMSPerRecipientSpecifierExtensions.asn
+
# The packet-$(PROTOCOL_NAME)-template.h and $(PROTOCOL_NAME).asn
# files do not exist for all protocols: Please add/remove as required.
diff --git a/asn1/s4406/s4406.asn b/asn1/s4406/s4406.asn
deleted file mode 100644
index 0bd58c6d4a..0000000000
--- a/asn1/s4406/s4406.asn
+++ /dev/null
@@ -1,302 +0,0 @@
-MMSHeadingExtensions { iso(1) identified-organization(3) nato(26)
- stanags(0) mmhs(4406) object-identifiers(0) module(0) heading-extensions(6) }
-
-DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
--- Prologue
--- Exports Everything
-IMPORTS
-
--- IPMS information objects
-IPMS-EXTENSION, ORDescriptor, IPM, IPN, MessageParameters
----
-FROM IPMSInformationObjects { joint-iso-ccitt mhs-motis(6) ipms(1)
- modules(0) information-objects(2) }
-
--- MMS upper bounds
---lb-military-sic, ub-military-number-of-sics, ub-military-sic
----
---FROM MMSUpperBounds { iso(1) identified-organization(3) NATO(26)
--- STANAGS(0) MMHS(4406) object-identifiers(0) module(0) upper-bounds(0) }
-
--- MMS object identifiers
---id-nato-mmhs-mm-acp127-message-identifier,
---id-nato-mmhs-mm-address-list-indicator,
---id-nato-mmhs-mm-codress-message,
---id-nato-mmhs-mm-copy-precedence, id-nato-mmhs-mm-distribution-codes,
---id-nato-mmhs-mm-exempted-address,
---id-nato-mmhs-mm-extended-authorisation-info,
---id-nato-mmhs-mm-handling-instructions,
---id-nato-mmhs-mm-information-labels,
---id-nato-mmhs-mm-message-instructions, id-nato-mmhs-mm-message-type,
---id-nato-mmhs-mm-originator-reference, id-nato-mmhs-mm-originator-plad,
---id-nato-mmhs-mm-other-recipients-indicator,
---id-nato-mmhs-mm-pilot-forwarding-info,
---id-nato-mmhs-mm-primary-precedence
----
---FROM MMSObjectIdentifiers { iso(1) identified-organization(3) NATO(26)
--- STANAGS(0) MMHS(4406) object-identifiers(0) }
-
--- MTS abstract service
---Message--SecurityLabel
----
-FROM MTSAbstractService {joint-iso-ccitt mhs-motis(6) mts(3)
- modules(0) mts-abstract-service(1) };
-
--- Information object
-InformationObject ::= CHOICE {mm [0] IPM,
- mn [1] IPN
-}
-
-MMMessageData ::= IPM
-MMMessageParameters ::= MessageParameters
-
--- exempted address
-
---exempted-address IPMS-EXTENSION
--- VALUE SEQUENCE OF ExemptedAddress
--- ::= id-nato-mmhs-mm-exempted-address
-
-ExemptedAddressSeq ::= SEQUENCE OF ExemptedAddress
-
-ExemptedAddress ::= ORDescriptor
-
-
--- extended authorisation information
-
---extended-authorisation-info IPMS-EXTENSION
--- VALUE ExtendedAuthorisationInfo
--- ::= id-nato-mmhs-mm-extended-authorisation-info
-
-ExtendedAuthorisationInfo ::= UTCTime
- -- UTCTime as defined in 8.5.4 of ITU-T X.411
-
-
--- Distribution codes
--- will carry subject indicator codes and leave room for expansion.
-
---distribution-codes IPMS-EXTENSION
--- VALUE DistributionCodes
--- ::= id-nato-mmhs-mm-distribution-codes
-
-DistributionCodes ::= SET {
- sics [0] SEQUENCE SIZE
- (1..ub-military-number-of-sics) OF
- Sic OPTIONAL,
- dist-Extensions [1] SEQUENCE OF
- DistributionExtensionField OPTIONAL }
-
-Sic ::= PrintableString (SIZE (lb-military-sic..ub-military-sic))
-
-DistributionExtensionField ::= SEQUENCE {
- dist-type OBJECT IDENTIFIER,
- dist-value ANY --DEFINED BY dist-type-- }
-
-
--- Handling instructions
-
---handling-instructions IPMS-EXTENSION
--- VALUE HandlingInstructions
--- ::= id-nato-mmhs-mm-handling-instructions
-
-HandlingInstructions ::= SEQUENCE OF MilitaryString
-
-MilitaryString ::= PrintableString (SIZE(1..ub-military-string))
-
-
--- Message instructions
--- will carry operating signals
-
---message-instructions IPMS-EXTENSION
--- VALUE MessageInstructions
--- ::= id-nato-mmhs-mm-message-instructions
-
-MessageInstructions ::= SEQUENCE OF MilitaryString
-
-
--- Codress message
--- Needed for transition or as long as codress messages need to be carried.
-
---codress-message IPMS-EXTENSION
--- VALUE CodressMessage
--- ::= id-nato-mmhs-mm-codress-message
-
-CodressMessage ::= INTEGER
-
-
--- Originator reference
--- only used if a user designated identifier string becomes important.
-
---originator-reference IPMS-EXTENSION
--- VALUE OriginatorReference
--- ::= id-nato-mmhs-mm-originator-reference
-
-OriginatorReference ::= MilitaryString
-
-
--- Primary reference
-
---primary-precedence IPMS-EXTENSION
--- VALUE MMHSPrecedence
--- ::= id-nato-mmhs-mm-primary-precedence
-
-PrimaryPrecedence ::= INTEGER {deferred (0), routine (1), priority (2), immediate (3),
- flash (4), override (5),
--- these are used by some National systems XXX need to verify
- ecp(16), critic(17), override(18)}
-
--- Note: Values 0 to 15 are reserved for NATO defined precedence levels.
--- Values 16 to 31 are reserved for national user.
-
-
--- Copy precedence
-
---copy-precedence IPMS-EXTENSION
--- VALUE MMHSPrecedence
--- ::= id-nato-mmhs-mm-copy-precedence
-
--- we have expanded MMHSPrecedence to PrimaryPrecedence and CopyPrecedence to
--- all rules to be written to highlight high priority messages.
-CopyPrecedence ::= INTEGER {deferred (0), routine (1), priority (2), immediate (3),
- flash (4), override (5),
--- these are used by some National systems XXX need to verify
- ecp(16), critic(17), override(18)}
-
--- Note: Values 0 to 15 are reserved for NATO defined precedence levels.
--- Values 16 to 31 are reserved for national user.
-
--- Message type
-
---message-type IPMS-EXTENSION
--- VALUE MessageType
--- ::=id-nato-mmhs-mm-message-type
-
-MessageType ::= SET{
- type [0] TypeMessage,
- identifier [1] MessageIdentifier OPTIONAL }
-
-TypeMessage ::= INTEGER {exercise(0), operation(1), project(2), drill(3) }
-
--- Note: Values 0 to 127 are reserved for NATO defined Message Type
--- identifiers. Values above 128 to 255 are not defined by NATO and may
--- be used nationally or bilaterally.
-
-MessageIdentifier ::= MilitaryString
-
-
--- Address list indicator
-
---address-list-indicator IPMS-EXTENSION
--- VALUE SEQUENCE OF AddressListDesignator
--- ::=id-nato-mmhs-mm-address-list-indicator
-
-AddressListDesignatorSeq ::= SEQUENCE OF AddressListDesignator
-
-AddressListDesignator ::=SET {
- type [0] INTEGER
- { primaryAddressList(0), copyAddressList(1) },
- listName [1] ORDescriptor,
- notificationRequest [2] AddressListRequest OPTIONAL,
- replyRequest [3] AddressListRequest OPTIONAL }
-
-AddressListRequest ::= INTEGER { action(0), info(1), both(2) }
-
--- Other recipients indicator
-
---other-recipients-indicator IPMS-EXTENSION
--- VALUE SEQUENCE OF OtherRecipientDesignator
--- ::=id-nato-mmhs-mm-other-recipients-indicator
-
-OtherRecipientDesignatorSeq ::= SEQUENCE OF OtherRecipientDesignator
-
-OtherRecipientDesignator ::= SET {
- type [0] INTEGER { primary(0), copy(1) },
- designator [1] MilitaryString }
-
-
--- pilot forwarding information
-
---pilot-forwarding-info IPMS-EXTENSION
--- VALUE SEQUENCE OF PilotInformation
--- ::= id-nato-mmhs-mm-pilot-forwarding-info
-
-PilotInformationSeq ::= SEQUENCE OF PilotInformation
-
-PilotInformation ::= SEQUENCE {
- pilotPrecedence [0] PilotPrecedence OPTIONAL,
- -- Note: Values 0 to 15 are reserved for NATO defined precedence levels.
- -- Values 16 to 31 are reserved for national use.
- pilotRecipient [1] SEQUENCE OF ORDescriptor OPTIONAL,
- pilotSecurity [2] --Message--SecurityLabel OPTIONAL,
- pilotHandling [3] SEQUENCE OF MilitaryString OPTIONAL}
-
-PilotPrecedence ::= INTEGER {deferred (0), routine (1), priority (2), immediate (3),
- flash (4), override (5),
--- these are used by some National systems XXX need to verify
- ecp(16), critic(17), override(18)}
-
-
-
--- Acp127 message identifier
--- a string to store routing indicator, station serial number and julian file
--- time seperated by spaces.
-
---acp127-message-identifier IPMS-EXTENSION
--- VALUE Acp127MessageIdentifier
--- ::= id-nato-mmhs-mm-acp127-message-identifier
-
-Acp127MessageIdentifier ::= MilitaryString
-
-
--- Originator PLAD
-
---originator-plad IPMS-EXTENSION
--- VALUE OriginatorPlad
--- ::= id-nato-mmhs-mm-originator-plad
-
-OriginatorPlad ::= MilitaryString
-
-Acp127NotificationType ::= BIT STRING {
- negative (0), -- nn, negative notification
- positive (1), -- pn, positive notification
- transfer (2) } -- tn, transfer notification
-
--- Information label
-
---security-information-labels IPMS-EXTENSION
--- VALUE SecurityInformationLabels
--- ::= id-nato-mmhs-mm-information-labels
-
-SecurityInformationLabels ::= SEQUENCE {
- content-security-label [0] SecurityLabel,
- -- SecurityLabel as defined in 8.5.9 of ITU-T X.411
- heading-security-label [1] SecurityLabel OPTIONAL,
- body-part-security-labels [2] SEQUENCE OF BodyPartSecurityLabel OPTIONAL }
-
-BodyPartSecurityLabel ::= SET {
- body-part-security-label [0] SecurityLabel,
- body-part-sequence-number [1] BodyPartSequenceNumber OPTIONAL }
-
-BodyPartSequenceNumber ::= INTEGER
-
--- Note: If all body parts of the message are labelled, each
--- element in the body sequence above shall correspond to the
--- same numbered element of the Body sequence, and the body
--- part sequence number may be absent. (i.e. the first element
--- of this field shall correspond to the first body part, etc.
--- Otherwise the body part sequence number shall be present
--- and shall correspond to the sequence of the body part
--- to which the security label relates. (i.e. the value of the
--- body part sequence number shall correspond to sequence in which
--- the originator encoded the body parts of the message).
-
--- NOTE: The security-information-labels heading extension is now
--- deprecated. Its use is, therefore, discouraged. See STANAG 4406
--- Annex B for instruction on the use of its replacement, the
--- ESSSecurityLabel.
-
-PriorityLevelQualifier ::= ENUMERATED {
- low(0),
- high(1) }
-
-END -- of Military heading extensions used in MMS
diff --git a/asn1/s4406/s4406.cnf b/asn1/s4406/s4406.cnf
index 2e75073fba..8324665533 100644
--- a/asn1/s4406/s4406.cnf
+++ b/asn1/s4406/s4406.cnf
@@ -1,11 +1,42 @@
+# s4406.cnf
+# s4406 conformation file
+
+# $Id$
+
#.MODULE_IMPORT
-MTSAbstractService x411
+ProbeSubmissionEnvelope x411
+InformationObject x420
#.IMPORT ../x411/x411-exp.cnf
#.IMPORT ../x420/x420-exp.cnf
#.END
+
+#.OMIT_ASSIGNMENT
+ID
+MM
+MN
+MRN
+MNRN
+MON
+OriginateProbeArgument
+OriginateProbeResult
+OriginateMMArgument
+OriginateMMResult
+OriginateMRNArgument
+OriginateMRNResult
+ReceiveReportArgument
+ReceiveMMArgument
+ReceiveMRNArgument
+ReceiveMNRNArgument
+ReceiveMONArgument
+ChangeAutoDiscardArgument
+ChangeAutoAcknowledgementArgument
+ChangeAutoForwardingArgument
+SubscriptionErrorParameter
+SubscriptionProblem
+
#.TYPE_RENAME
AddressListDesignator/type AddressListType
OtherRecipientDesignator/type OtherRecipientType
@@ -51,21 +82,26 @@ PilotInformationSeq B "1.3.26.0.4406.0.2.12" "pilot-forwarding-info"
Acp127MessageIdentifier B "1.3.26.0.4406.0.2.13" "acp127-message-identifier"
OriginatorPlad B "1.3.26.0.4406.0.2.14" "originator-plad"
Acp127NotificationType B "1.3.26.0.4406.0.2.15" "acp127-notification-request"
+Acp127NotificationResponse B "1.3.26.0.4406.0.2.16" "acp127-notification-response"
SecurityInformationLabels B "1.3.26.0.4406.0.2.17" "information-labels"
PriorityLevelQualifier B "1.3.26.0.4406.0.8.0" "priority-level-qualifier"
-
-MMMessageData B "1.3.26.0.4406.0.7.9" "mm-message"
-MMMessageParameters B "1.3.26.0.4406.0.7.10" "mm-message-parameters"
+ADatP3Data B id_nato_mmhs_et_adatp3 "adatp3"
+ADatP3Parameters B id_nato_mmhs_et_adatp3_parameters "adatp3-parameters"
+CorrectionsData B id_nato_mmhs_et_corrections "corrections"
+CorrectionsParameters B id_nato_mmhs_et_corrections_parameters "corrections-parameters"
+ForwardedEncryptedData B id_nato_mmhs_et_forwarded_encrypted "forwarded-encrypted"
+ForwardedEncryptedParameters B id_nato_mmhs_et_forwarded_encrypted_parameters "forwarded-encrypted-parameters"
+MMMessageData B id_nato_mmhs_et_mm_message "mm-message"
+MMMessageParameters B id_nato_mmhs_et_mm_message_parameters "mm-message-parameters"
+ACP127DataData B id_nato_mmhs_et_mm_acp127data "acp127-data"
+ACP127DataParameters B id_nato_mmhs_et_mm_acp127data_parameters "acp127-data-parameters"
InformationObject B "2.6.1.4.17.1.3.26.0.4406.0.4.1" "id-et-content-p772"
-#.FN_BODY DistributionExtensionField/dist-value
-/* XXX: not implemented */
-
#.FN_PARS PrimaryPrecedence
VAL_PTR=&precedence
#.FN_BODY PrimaryPrecedence
diff --git a/epan/dissectors/packet-s4406.c b/epan/dissectors/packet-s4406.c
index 33ba52bc7a..ec1e293436 100644
--- a/epan/dissectors/packet-s4406.c
+++ b/epan/dissectors/packet-s4406.c
@@ -1,7 +1,7 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-s4406.c */
-/* ../../tools/asn2wrs.py -b -e -C -p s4406 -c ./s4406.cnf -s ./packet-s4406-template -D . s4406.asn MMSUpperBounds.asn */
+/* ../../tools/asn2wrs.py -b -e -C -p s4406 -c ./s4406.cnf -s ./packet-s4406-template -D . MMSAbstractService.asn MMSInformationObjects.asn MMSOtherNotificationTypeExtensions.asn MMSObjectIdentifiers.asn MMSHeadingExtensions.asn MMSUpperBounds.asn MMSExtendedBodyPartTypes.asn MMSPerRecipientSpecifierExtensions.asn */
/* Input file: packet-s4406-template.c */
@@ -60,6 +60,105 @@ static int proto_s4406 = -1;
/*--- Included file: packet-s4406-val.h ---*/
#line 1 "packet-s4406-val.h"
+#define id_mmhs "1.3.26.0.4406.0"
+#define id_mod id_mmhs".0"
+#define id_mm id_mmhs".2"
+#define id_hat id_mmhs".3"
+#define id_mcont id_mmhs".4"
+#define id_policy id_mmhs".5"
+#define id_cat id_mmhs".6"
+#define id_et id_mmhs".7"
+#define id_mmts id_mmhs".8"
+#define id_nat id_mmhs".9"
+#define id_mot id_mmhs".10"
+#define id_mpt id_mmhs".11"
+#define id_ref id_mmhs".12"
+#define id_informationlabel id_mmhs".13"
+#define id_mod_upper_bounds id_mod".0"
+#define id_mod_mms id_mod".1"
+#define id_mod_functional_objects id_mod".2"
+#define id_mod_abstract_service id_mod".3"
+#define id_mod_heading_extension id_mod".6"
+#define id_mod_extended_body_part_types id_mod".7"
+#define id_mod_message_store_attributes id_mod".8"
+#define id_mod_per_recipient_specifier_extensions id_mod".11"
+#define id_mod_other_notification_type_extensions id_mod".12"
+#define id_mot_mmme id_mot".0"
+#define id_mot_mms_user id_mot".1"
+#define id_mot_mms id_mot".2"
+#define id_mot_mms_ua id_mot".3"
+#define id_mot_mms_ms id_mot".4"
+#define id_mot_acp127au id_mot".5"
+#define id_mot_pdau id_mot".6"
+#define id_mpt_origination id_mpt".0"
+#define id_mpt_reception id_mpt".1"
+#define id_mpt_management id_mpt".2"
+#define id_ref_primary id_ref".0"
+#define id_ref_secondary id_ref".1"
+#define id_nato_mmhs_et_adatp3 id_et".0"
+#define id_nato_mmhs_et_corrections id_et".1"
+#define id_nato_mmhs_et_adatp3_parameters id_et".2"
+#define id_nato_mmhs_et_corrections_parameters id_et".3"
+#define id_nato_mmhs_et_forwarded_encrypted id_et".6"
+#define id_nato_mmhs_et_forwarded_encrypted_parameters id_et".7"
+#define id_nato_mmhs_et_mm_message id_et".9"
+#define id_nato_mmhs_et_mm_message_parameters id_et".10"
+#define id_nato_mmhs_et_mm_acp127data id_et".12"
+#define id_nato_mmhs_et_mm_acp127data_parameters id_et".13"
+#define id_nato_mmhs_mm_primary_precedence id_mm".0"
+#define id_nato_mmhs_mm_copy_precedence id_mm".1"
+#define id_nato_mmhs_mm_message_type id_mm".2"
+#define id_nato_mmhs_mm_address_list_indicator id_mm".3"
+#define id_nato_mmhs_mm_exempted_address id_mm".4"
+#define id_nato_mmhs_mm_extended_authorisation_info id_mm".5"
+#define id_nato_mmhs_mm_distribution_codes id_mm".6"
+#define id_nato_mmhs_mm_handling_instructions id_mm".7"
+#define id_nato_mmhs_mm_message_instructions id_mm".8"
+#define id_nato_mmhs_mm_codress_message id_mm".9"
+#define id_nato_mmhs_mm_originator_reference id_mm".10"
+#define id_nato_mmhs_mm_other_recipients_indicator id_mm".11"
+#define id_nato_mmhs_mm_pilot_forwarding_info id_mm".12"
+#define id_nato_mmhs_mm_acp127_message_identifier id_mm".13"
+#define id_nato_mmhs_mm_originator_plad id_mm".14"
+#define id_nato_mmhs_mm_information_labels id_mm".17"
+#define id_nato_mmhs_mm_acp127_notification_request id_mm".15"
+#define id_nato_mmhs_mm_acp127_notification_response id_mm".16"
+#define id_nato_mmhs_hat_primary_precedence id_hat".0"
+#define id_nato_mmhs_hat_copy_precedence id_hat".1"
+#define id_nato_mmhs_hat_message_type id_hat".2"
+#define id_nato_mmhs_hat_address_list_indicator id_hat".3"
+#define id_nato_mmhs_hat_exempted_address id_hat".4"
+#define id_nato_mmhs_hat_extended_authorisation_info id_hat".5"
+#define id_nato_mmhs_hat_distribution_codes id_hat".6"
+#define id_nato_mmhs_hat_handling_instructions id_hat".7"
+#define id_nato_mmhs_hat_message_instructions id_hat".8"
+#define id_nato_mmhs_hat_codress_message id_hat".9"
+#define id_nato_mmhs_hat_originator_reference id_hat".10"
+#define id_nato_mmhs_hat_other_recipients_indicator id_hat".11"
+#define id_nato_mmhs_hat_pilot_forwarding_info id_hat".12"
+#define id_nato_mmhs_hat_acp127_message_identifier id_hat".13"
+#define id_nato_mmhs_hat_originator_plad id_hat".14"
+#define id_nato_mmhs_hat_acp127_notification_request id_hat".15"
+#define id_nato_mmhs_hat_sic_codes id_hat".16"
+#define id_nato_mmhs_hat_distribution_extensions id_hat".17"
+#define id_nato_mmhs_hat_body_part_information_label id_hat".18"
+#define id_nato_mmhs_hat_security_information_labels id_hat".19"
+#define id_nato_mmhs_cat id_cat".0"
+#define id_nato_mmhs_cat_atomal id_cat".1"
+#define id_nato_mmhs_cat_cryptosecurity id_cat".2"
+#define id_nato_mmhs_cat_specialhandlingintel id_cat".3"
+#define id_nato_mmhs_cat_ussiopesi id_cat".4"
+#define id_nato_mmhs_cat_eyesonly id_cat".5"
+#define id_nato_mmhs_cat_exclusive id_cat".6"
+#define id_nato_mmhs_cat_information_label id_cat".7"
+#define id_nato_mmhs_informationlabel_atomal id_informationlabel".1"
+#define id_nato_mmhs_informationlabel_cryptosecurity id_informationlabel".2"
+#define id_nato_mmhs_informationlabel_specialhandlingintel id_informationlabel".3"
+#define id_nato_mmhs_informationlabel_ussiopesi id_informationlabel".4"
+#define id_nato_mmhs_informationlabel_eyesonly id_informationlabel".5"
+#define id_nato_mmhs_informationlabel_exclusive id_informationlabel".6"
+#define id_nato_mmhs_nat_acp127_notification_response id_nat".0"
+#define id_mct_p772 id_mcont".1"
#define ub_military_string 69
#define ub_military_number_of_sics 8
#define lb_military_sic 3
@@ -74,8 +173,7 @@ static int proto_s4406 = -1;
/*--- Included file: packet-s4406-hf.c ---*/
#line 1 "packet-s4406-hf.c"
static int hf_s4406_InformationObject_PDU = -1; /* InformationObject */
-static int hf_s4406_MMMessageData_PDU = -1; /* MMMessageData */
-static int hf_s4406_MMMessageParameters_PDU = -1; /* MMMessageParameters */
+static int hf_s4406_Acp127NotificationResponse_PDU = -1; /* Acp127NotificationResponse */
static int hf_s4406_ExemptedAddressSeq_PDU = -1; /* ExemptedAddressSeq */
static int hf_s4406_ExtendedAuthorisationInfo_PDU = -1; /* ExtendedAuthorisationInfo */
static int hf_s4406_DistributionCodes_PDU = -1; /* DistributionCodes */
@@ -91,18 +189,32 @@ static int hf_s4406_OtherRecipientDesignatorSeq_PDU = -1; /* OtherRecipientDesi
static int hf_s4406_PilotInformationSeq_PDU = -1; /* PilotInformationSeq */
static int hf_s4406_Acp127MessageIdentifier_PDU = -1; /* Acp127MessageIdentifier */
static int hf_s4406_OriginatorPlad_PDU = -1; /* OriginatorPlad */
-static int hf_s4406_Acp127NotificationType_PDU = -1; /* Acp127NotificationType */
static int hf_s4406_SecurityInformationLabels_PDU = -1; /* SecurityInformationLabels */
static int hf_s4406_PriorityLevelQualifier_PDU = -1; /* PriorityLevelQualifier */
+static int hf_s4406_ADatP3Parameters_PDU = -1; /* ADatP3Parameters */
+static int hf_s4406_ADatP3Data_PDU = -1; /* ADatP3Data */
+static int hf_s4406_CorrectionsParameters_PDU = -1; /* CorrectionsParameters */
+static int hf_s4406_CorrectionsData_PDU = -1; /* CorrectionsData */
+static int hf_s4406_ForwardedEncryptedParameters_PDU = -1; /* ForwardedEncryptedParameters */
+static int hf_s4406_ForwardedEncryptedData_PDU = -1; /* ForwardedEncryptedData */
+static int hf_s4406_MMMessageParameters_PDU = -1; /* MMMessageParameters */
+static int hf_s4406_MMMessageData_PDU = -1; /* MMMessageData */
+static int hf_s4406_ACP127DataParameters_PDU = -1; /* ACP127DataParameters */
+static int hf_s4406_ACP127DataData_PDU = -1; /* ACP127DataData */
+static int hf_s4406_Acp127NotificationType_PDU = -1; /* Acp127NotificationType */
static int hf_s4406_mm = -1; /* IPM */
static int hf_s4406_mn = -1; /* IPN */
+static int hf_s4406_acp127_notification_type = -1; /* Acp127NotificationType */
+static int hf_s4406_receipt_time = -1; /* ReceiptTimeField */
+static int hf_s4406_addressListIndicator = -1; /* AddressListIndicator */
+static int hf_s4406_acp127_recipient = -1; /* Acp127Recipient */
+static int hf_s4406_acp127_supp_info = -1; /* Acp127SuppInfo */
+static int hf_s4406_AddressListIndicator_item = -1; /* AddressListDesignator */
static int hf_s4406_ExemptedAddressSeq_item = -1; /* ExemptedAddress */
static int hf_s4406_sics = -1; /* SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic */
static int hf_s4406_sics_item = -1; /* Sic */
static int hf_s4406_dist_Extensions = -1; /* SEQUENCE_OF_DistributionExtensionField */
static int hf_s4406_dist_Extensions_item = -1; /* DistributionExtensionField */
-static int hf_s4406_dist_type = -1; /* OBJECT_IDENTIFIER */
-static int hf_s4406_dist_value = -1; /* T_dist_value */
static int hf_s4406_HandlingInstructions_item = -1; /* MilitaryString */
static int hf_s4406_MessageInstructions_item = -1; /* MilitaryString */
static int hf_s4406_message_type_type = -1; /* TypeMessage */
@@ -116,7 +228,7 @@ static int hf_s4406_OtherRecipientDesignatorSeq_item = -1; /* OtherRecipientDes
static int hf_s4406_other_recipient_type = -1; /* OtherRecipientType */
static int hf_s4406_designator = -1; /* MilitaryString */
static int hf_s4406_PilotInformationSeq_item = -1; /* PilotInformation */
-static int hf_s4406_pilotPrecedence = -1; /* PilotPrecedence */
+static int hf_s4406_pilotPrecedence = -1; /* MMHSPrecedence */
static int hf_s4406_pilotRecipient = -1; /* SEQUENCE_OF_ORDescriptor */
static int hf_s4406_pilotRecipient_item = -1; /* ORDescriptor */
static int hf_s4406_pilotSecurity = -1; /* SecurityLabel */
@@ -128,10 +240,15 @@ static int hf_s4406_body_part_security_labels = -1; /* SEQUENCE_OF_BodyPartSecu
static int hf_s4406_body_part_security_labels_item = -1; /* BodyPartSecurityLabel */
static int hf_s4406_body_part_security_label = -1; /* SecurityLabel */
static int hf_s4406_body_part_sequence_number = -1; /* BodyPartSequenceNumber */
+static int hf_s4406_lineOriented = -1; /* IA5String */
+static int hf_s4406_setOriented = -1; /* T_setOriented */
+static int hf_s4406_setOriented_item = -1; /* IA5String */
+static int hf_s4406_delivery_time = -1; /* MessageDeliveryTime */
+static int hf_s4406_delivery_envelope = -1; /* OtherMessageDeliveryFields */
/* named bits */
-static int hf_s4406_Acp127NotificationType_negative = -1;
-static int hf_s4406_Acp127NotificationType_positive = -1;
-static int hf_s4406_Acp127NotificationType_transfer = -1;
+static int hf_s4406_Acp127NotificationType_acp127_nn = -1;
+static int hf_s4406_Acp127NotificationType_acp127_pn = -1;
+static int hf_s4406_Acp127NotificationType_acp127_tn = -1;
/*--- End of included file: packet-s4406-hf.c ---*/
#line 55 "packet-s4406-template.c"
@@ -142,11 +259,12 @@ static gint ett_s4406 = -1;
/*--- Included file: packet-s4406-ett.c ---*/
#line 1 "packet-s4406-ett.c"
static gint ett_s4406_InformationObject = -1;
+static gint ett_s4406_Acp127NotificationResponse = -1;
+static gint ett_s4406_AddressListIndicator = -1;
static gint ett_s4406_ExemptedAddressSeq = -1;
static gint ett_s4406_DistributionCodes = -1;
static gint ett_s4406_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic = -1;
static gint ett_s4406_SEQUENCE_OF_DistributionExtensionField = -1;
-static gint ett_s4406_DistributionExtensionField = -1;
static gint ett_s4406_HandlingInstructions = -1;
static gint ett_s4406_MessageInstructions = -1;
static gint ett_s4406_MessageType = -1;
@@ -158,10 +276,14 @@ static gint ett_s4406_PilotInformationSeq = -1;
static gint ett_s4406_PilotInformation = -1;
static gint ett_s4406_SEQUENCE_OF_ORDescriptor = -1;
static gint ett_s4406_SEQUENCE_OF_MilitaryString = -1;
-static gint ett_s4406_Acp127NotificationType = -1;
static gint ett_s4406_SecurityInformationLabels = -1;
static gint ett_s4406_SEQUENCE_OF_BodyPartSecurityLabel = -1;
static gint ett_s4406_BodyPartSecurityLabel = -1;
+static gint ett_s4406_ADatP3Data = -1;
+static gint ett_s4406_T_setOriented = -1;
+static gint ett_s4406_ForwardedEncryptedParameters = -1;
+static gint ett_s4406_MMMessageParameters = -1;
+static gint ett_s4406_Acp127NotificationType = -1;
/*--- End of included file: packet-s4406-ett.c ---*/
#line 59 "packet-s4406-template.c"
@@ -192,41 +314,81 @@ dissect_s4406_InformationObject(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
}
+static const asn_namedbit Acp127NotificationType_bits[] = {
+ { 0, &hf_s4406_Acp127NotificationType_acp127_nn, -1, -1, "acp127-nn", NULL },
+ { 1, &hf_s4406_Acp127NotificationType_acp127_pn, -1, -1, "acp127-pn", NULL },
+ { 2, &hf_s4406_Acp127NotificationType_acp127_tn, -1, -1, "acp127-tn", NULL },
+ { 0, NULL, 0, 0, NULL, NULL }
+};
static int
-dissect_s4406_MMMessageData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_x420_IPM(implicit_tag, tvb, offset, actx, tree, hf_index);
+dissect_s4406_Acp127NotificationType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
+ Acp127NotificationType_bits, hf_index, ett_s4406_Acp127NotificationType,
+ NULL);
return offset;
}
+static const value_string s4406_AddressListType_vals[] = {
+ { 0, "primaryAddressList" },
+ { 1, "copyAddressList" },
+ { 0, NULL }
+};
+
static int
-dissect_s4406_MMMessageParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_x420_MessageParameters(implicit_tag, tvb, offset, actx, tree, hf_index);
+dissect_s4406_AddressListType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
return offset;
}
+static const value_string s4406_AddressListRequest_vals[] = {
+ { 0, "action" },
+ { 1, "info" },
+ { 2, "both" },
+ { 0, NULL }
+};
+
static int
-dissect_s4406_ExemptedAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_x420_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index);
+dissect_s4406_AddressListRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
return offset;
}
-static const ber_sequence_t ExemptedAddressSeq_sequence_of[1] = {
- { &hf_s4406_ExemptedAddressSeq_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_s4406_ExemptedAddress },
+static const ber_sequence_t AddressListDesignator_set[] = {
+ { &hf_s4406_address_list_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_s4406_AddressListType },
+ { &hf_s4406_listName , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_ORDescriptor },
+ { &hf_s4406_notificationRequest, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_AddressListRequest },
+ { &hf_s4406_replyRequest , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_AddressListRequest },
+ { NULL, 0, 0, 0, NULL }
};
static int
-dissect_s4406_ExemptedAddressSeq(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_s4406_AddressListDesignator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
+ AddressListDesignator_set, hf_index, ett_s4406_AddressListDesignator);
+
+ return offset;
+}
+
+
+static const ber_sequence_t AddressListIndicator_sequence_of[1] = {
+ { &hf_s4406_AddressListIndicator_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_s4406_AddressListDesignator },
+};
+
+static int
+dissect_s4406_AddressListIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
- ExemptedAddressSeq_sequence_of, hf_index, ett_s4406_ExemptedAddressSeq);
+ AddressListIndicator_sequence_of, hf_index, ett_s4406_AddressListIndicator);
return offset;
}
@@ -234,8 +396,10 @@ dissect_s4406_ExemptedAddressSeq(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
static int
-dissect_s4406_ExtendedAuthorisationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index);
+dissect_s4406_Acp127Recipient(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
+ actx, tree, tvb, offset,
+ 1, ub_military_bigstring, hf_index, NULL);
return offset;
}
@@ -243,23 +407,28 @@ dissect_s4406_ExtendedAuthorisationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb
static int
-dissect_s4406_Sic(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_s4406_Acp127SuppInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
actx, tree, tvb, offset,
- lb_military_sic, ub_military_sic, hf_index, NULL);
+ 1, ub_military_bigstring, hf_index, NULL);
return offset;
}
-static const ber_sequence_t SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic_sequence_of[1] = {
- { &hf_s4406_sics_item , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_s4406_Sic },
+static const ber_sequence_t Acp127NotificationResponse_set[] = {
+ { &hf_s4406_acp127_notification_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_s4406_Acp127NotificationType },
+ { &hf_s4406_receipt_time , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_ReceiptTimeField },
+ { &hf_s4406_addressListIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_AddressListIndicator },
+ { &hf_s4406_acp127_recipient, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_Acp127Recipient },
+ { &hf_s4406_acp127_supp_info, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_Acp127SuppInfo },
+ { NULL, 0, 0, 0, NULL }
};
static int
-dissect_s4406_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
- 1, ub_military_number_of_sics, SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic_sequence_of, hf_index, ett_s4406_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic);
+dissect_s4406_Acp127NotificationResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
+ Acp127NotificationResponse_set, hf_index, ett_s4406_Acp127NotificationResponse);
return offset;
}
@@ -267,42 +436,70 @@ dissect_s4406_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic(gboolean implici
static int
-dissect_s4406_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
+dissect_s4406_ExemptedAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_x420_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index);
return offset;
}
+static const ber_sequence_t ExemptedAddressSeq_sequence_of[1] = {
+ { &hf_s4406_ExemptedAddressSeq_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_s4406_ExemptedAddress },
+};
static int
-dissect_s4406_T_dist_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 67 "s4406.cnf"
-/* XXX: not implemented */
+dissect_s4406_ExemptedAddressSeq(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
+ ExemptedAddressSeq_sequence_of, hf_index, ett_s4406_ExemptedAddressSeq);
+
+ return offset;
+}
+
+static int
+dissect_s4406_ExtendedAuthorisationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index);
return offset;
}
-static const ber_sequence_t DistributionExtensionField_sequence[] = {
- { &hf_s4406_dist_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_s4406_OBJECT_IDENTIFIER },
- { &hf_s4406_dist_value , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_s4406_T_dist_value },
- { NULL, 0, 0, 0, NULL }
+
+static int
+dissect_s4406_Sic(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
+ actx, tree, tvb, offset,
+ lb_military_sic, ub_military_sic, hf_index, NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic_sequence_of[1] = {
+ { &hf_s4406_sics_item , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_s4406_Sic },
};
static int
+dissect_s4406_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
+ 1, ub_military_number_of_sics, SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic_sequence_of, hf_index, ett_s4406_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic);
+
+ return offset;
+}
+
+
+
+static int
dissect_s4406_DistributionExtensionField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
- DistributionExtensionField_sequence, hf_index, ett_s4406_DistributionExtensionField);
+ offset = dissect_ber_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
return offset;
}
static const ber_sequence_t SEQUENCE_OF_DistributionExtensionField_sequence_of[1] = {
- { &hf_s4406_dist_Extensions_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_s4406_DistributionExtensionField },
+ { &hf_s4406_dist_Extensions_item, BER_CLASS_UNI, BER_UNI_TAG_EXTERNAL, BER_FLAGS_NOOWNTAG, dissect_s4406_DistributionExtensionField },
};
static int
@@ -385,6 +582,29 @@ dissect_s4406_OriginatorReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
}
+static const value_string s4406_MMHSPrecedence_vals[] = {
+ { 0, "deferred" },
+ { 1, "routine" },
+ { 2, "priority" },
+ { 3, "immediate" },
+ { 4, "flash" },
+ { 5, "override" },
+ { 16, "ecp" },
+ { 17, "critic" },
+ { 18, "override" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_s4406_MMHSPrecedence(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
static const value_string s4406_PrimaryPrecedence_vals[] = {
{ 0, "deferred" },
{ 1, "routine" },
@@ -401,7 +621,7 @@ static const value_string s4406_PrimaryPrecedence_vals[] = {
static int
dissect_s4406_PrimaryPrecedence(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 72 "s4406.cnf"
+#line 108 "s4406.cnf"
int precedence = -1;
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
&precedence);
@@ -431,7 +651,7 @@ static const value_string s4406_CopyPrecedence_vals[] = {
static int
dissect_s4406_CopyPrecedence(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 80 "s4406.cnf"
+#line 116 "s4406.cnf"
int precedence = -1;
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
&precedence);
@@ -486,56 +706,6 @@ dissect_s4406_MessageType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
}
-static const value_string s4406_AddressListType_vals[] = {
- { 0, "primaryAddressList" },
- { 1, "copyAddressList" },
- { 0, NULL }
-};
-
-
-static int
-dissect_s4406_AddressListType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
-static const value_string s4406_AddressListRequest_vals[] = {
- { 0, "action" },
- { 1, "info" },
- { 2, "both" },
- { 0, NULL }
-};
-
-
-static int
-dissect_s4406_AddressListRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
-static const ber_sequence_t AddressListDesignator_set[] = {
- { &hf_s4406_address_list_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_s4406_AddressListType },
- { &hf_s4406_listName , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_ORDescriptor },
- { &hf_s4406_notificationRequest, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_AddressListRequest },
- { &hf_s4406_replyRequest , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_AddressListRequest },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_s4406_AddressListDesignator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- AddressListDesignator_set, hf_index, ett_s4406_AddressListDesignator);
-
- return offset;
-}
-
-
static const ber_sequence_t AddressListDesignatorSeq_sequence_of[1] = {
{ &hf_s4406_AddressListDesignatorSeq_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_s4406_AddressListDesignator },
};
@@ -593,29 +763,6 @@ dissect_s4406_OtherRecipientDesignatorSeq(gboolean implicit_tag _U_, tvbuff_t *t
}
-static const value_string s4406_PilotPrecedence_vals[] = {
- { 0, "deferred" },
- { 1, "routine" },
- { 2, "priority" },
- { 3, "immediate" },
- { 4, "flash" },
- { 5, "override" },
- { 16, "ecp" },
- { 17, "critic" },
- { 18, "override" },
- { 0, NULL }
-};
-
-
-static int
-dissect_s4406_PilotPrecedence(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
static const ber_sequence_t SEQUENCE_OF_ORDescriptor_sequence_of[1] = {
{ &hf_s4406_pilotRecipient_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_ORDescriptor },
};
@@ -643,7 +790,7 @@ dissect_s4406_SEQUENCE_OF_MilitaryString(gboolean implicit_tag _U_, tvbuff_t *tv
static const ber_sequence_t PilotInformation_sequence[] = {
- { &hf_s4406_pilotPrecedence, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_PilotPrecedence },
+ { &hf_s4406_pilotPrecedence, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_MMHSPrecedence },
{ &hf_s4406_pilotRecipient, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_SEQUENCE_OF_ORDescriptor },
{ &hf_s4406_pilotSecurity , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SecurityLabel },
{ &hf_s4406_pilotHandling , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_SEQUENCE_OF_MilitaryString },
@@ -690,23 +837,6 @@ dissect_s4406_OriginatorPlad(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
}
-static const asn_namedbit Acp127NotificationType_bits[] = {
- { 0, &hf_s4406_Acp127NotificationType_negative, -1, -1, "negative", NULL },
- { 1, &hf_s4406_Acp127NotificationType_positive, -1, -1, "positive", NULL },
- { 2, &hf_s4406_Acp127NotificationType_transfer, -1, -1, "transfer", NULL },
- { 0, NULL, 0, 0, NULL, NULL }
-};
-
-static int
-dissect_s4406_Acp127NotificationType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
- Acp127NotificationType_bits, hf_index, ett_s4406_Acp127NotificationType,
- NULL);
-
- return offset;
-}
-
-
static int
dissect_s4406_BodyPartSequenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -776,6 +906,154 @@ dissect_s4406_PriorityLevelQualifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U
return offset;
}
+
+
+static int
+dissect_s4406_ADatP3Parameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_s4406_IA5String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
+ actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_setOriented_sequence_of[1] = {
+ { &hf_s4406_setOriented_item, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_s4406_IA5String },
+};
+
+static int
+dissect_s4406_T_setOriented(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
+ T_setOriented_sequence_of, hf_index, ett_s4406_T_setOriented);
+
+ return offset;
+}
+
+
+static const value_string s4406_ADatP3Data_vals[] = {
+ { 0, "lineOriented" },
+ { 1, "setOriented" },
+ { 0, NULL }
+};
+
+static const ber_choice_t ADatP3Data_choice[] = {
+ { 0, &hf_s4406_lineOriented , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_s4406_IA5String },
+ { 1, &hf_s4406_setOriented , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_s4406_T_setOriented },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_s4406_ADatP3Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ ADatP3Data_choice, hf_index, ett_s4406_ADatP3Data,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_s4406_CorrectionsParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_s4406_CorrectionsData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
+ actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ForwardedEncryptedParameters_set[] = {
+ { &hf_s4406_delivery_time , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MessageDeliveryTime },
+ { &hf_s4406_delivery_envelope, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_OtherMessageDeliveryFields },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_s4406_ForwardedEncryptedParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
+ ForwardedEncryptedParameters_set, hf_index, ett_s4406_ForwardedEncryptedParameters);
+
+ return offset;
+}
+
+
+
+static int
+dissect_s4406_ForwardedEncryptedData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
+ NULL, hf_index, -1,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t MMMessageParameters_set[] = {
+ { &hf_s4406_delivery_time , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MessageDeliveryTime },
+ { &hf_s4406_delivery_envelope, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_OtherMessageDeliveryFields },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_s4406_MMMessageParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
+ MMMessageParameters_set, hf_index, ett_s4406_MMMessageParameters);
+
+ return offset;
+}
+
+
+
+static int
+dissect_s4406_MMMessageData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_x420_IPM(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+
+static int
+dissect_s4406_ACP127DataParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_s4406_ACP127DataData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
+ actx, tree, tvb, offset,
+ 1, ub_data_size, hf_index, NULL);
+
+ return offset;
+}
+
/*--- PDUs ---*/
static void dissect_InformationObject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
@@ -783,15 +1061,10 @@ static void dissect_InformationObject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
dissect_s4406_InformationObject(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_InformationObject_PDU);
}
-static void dissect_MMMessageData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static void dissect_Acp127NotificationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
- dissect_s4406_MMMessageData(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_MMMessageData_PDU);
-}
-static void dissect_MMMessageParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
- asn1_ctx_t asn1_ctx;
- asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
- dissect_s4406_MMMessageParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_MMMessageParameters_PDU);
+ dissect_s4406_Acp127NotificationResponse(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_Acp127NotificationResponse_PDU);
}
static void dissect_ExemptedAddressSeq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
asn1_ctx_t asn1_ctx;
@@ -868,11 +1141,6 @@ static void dissect_OriginatorPlad_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
dissect_s4406_OriginatorPlad(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_OriginatorPlad_PDU);
}
-static void dissect_Acp127NotificationType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
- asn1_ctx_t asn1_ctx;
- asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
- dissect_s4406_Acp127NotificationType(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_Acp127NotificationType_PDU);
-}
static void dissect_SecurityInformationLabels_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
@@ -883,6 +1151,61 @@ static void dissect_PriorityLevelQualifier_PDU(tvbuff_t *tvb _U_, packet_info *p
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
dissect_s4406_PriorityLevelQualifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_PriorityLevelQualifier_PDU);
}
+static void dissect_ADatP3Parameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_s4406_ADatP3Parameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_ADatP3Parameters_PDU);
+}
+static void dissect_ADatP3Data_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_s4406_ADatP3Data(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_ADatP3Data_PDU);
+}
+static void dissect_CorrectionsParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_s4406_CorrectionsParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_CorrectionsParameters_PDU);
+}
+static void dissect_CorrectionsData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_s4406_CorrectionsData(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_CorrectionsData_PDU);
+}
+static void dissect_ForwardedEncryptedParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_s4406_ForwardedEncryptedParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_ForwardedEncryptedParameters_PDU);
+}
+static void dissect_ForwardedEncryptedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_s4406_ForwardedEncryptedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_ForwardedEncryptedData_PDU);
+}
+static void dissect_MMMessageParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_s4406_MMMessageParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_MMMessageParameters_PDU);
+}
+static void dissect_MMMessageData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_s4406_MMMessageData(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_MMMessageData_PDU);
+}
+static void dissect_ACP127DataParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_s4406_ACP127DataParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_ACP127DataParameters_PDU);
+}
+static void dissect_ACP127DataData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_s4406_ACP127DataData(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_ACP127DataData_PDU);
+}
+static void dissect_Acp127NotificationType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_s4406_Acp127NotificationType(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_Acp127NotificationType_PDU);
+}
/*--- End of included file: packet-s4406-fn.c ---*/
@@ -927,14 +1250,10 @@ void proto_register_s4406(void) {
{ "InformationObject", "s4406.InformationObject",
FT_UINT32, BASE_DEC, VALS(x420_InformationObject_vals), 0,
"s4406.InformationObject", HFILL }},
- { &hf_s4406_MMMessageData_PDU,
- { "MMMessageData", "s4406.MMMessageData",
+ { &hf_s4406_Acp127NotificationResponse_PDU,
+ { "Acp127NotificationResponse", "s4406.Acp127NotificationResponse",
FT_NONE, BASE_NONE, NULL, 0,
- "s4406.MMMessageData", HFILL }},
- { &hf_s4406_MMMessageParameters_PDU,
- { "MMMessageParameters", "s4406.MMMessageParameters",
- FT_NONE, BASE_NONE, NULL, 0,
- "s4406.MMMessageParameters", HFILL }},
+ "s4406.Acp127NotificationResponse", HFILL }},
{ &hf_s4406_ExemptedAddressSeq_PDU,
{ "ExemptedAddressSeq", "s4406.ExemptedAddressSeq",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -995,10 +1314,6 @@ void proto_register_s4406(void) {
{ "OriginatorPlad", "s4406.OriginatorPlad",
FT_STRING, BASE_NONE, NULL, 0,
"s4406.OriginatorPlad", HFILL }},
- { &hf_s4406_Acp127NotificationType_PDU,
- { "Acp127NotificationType", "s4406.Acp127NotificationType",
- FT_BYTES, BASE_NONE, NULL, 0,
- "s4406.Acp127NotificationType", HFILL }},
{ &hf_s4406_SecurityInformationLabels_PDU,
{ "SecurityInformationLabels", "s4406.SecurityInformationLabels",
FT_NONE, BASE_NONE, NULL, 0,
@@ -1007,6 +1322,50 @@ void proto_register_s4406(void) {
{ "PriorityLevelQualifier", "s4406.PriorityLevelQualifier",
FT_UINT32, BASE_DEC, VALS(s4406_PriorityLevelQualifier_vals), 0,
"s4406.PriorityLevelQualifier", HFILL }},
+ { &hf_s4406_ADatP3Parameters_PDU,
+ { "ADatP3Parameters", "s4406.ADatP3Parameters",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "s4406.ADatP3Parameters", HFILL }},
+ { &hf_s4406_ADatP3Data_PDU,
+ { "ADatP3Data", "s4406.ADatP3Data",
+ FT_UINT32, BASE_DEC, VALS(s4406_ADatP3Data_vals), 0,
+ "s4406.ADatP3Data", HFILL }},
+ { &hf_s4406_CorrectionsParameters_PDU,
+ { "CorrectionsParameters", "s4406.CorrectionsParameters",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "s4406.CorrectionsParameters", HFILL }},
+ { &hf_s4406_CorrectionsData_PDU,
+ { "CorrectionsData", "s4406.CorrectionsData",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "s4406.CorrectionsData", HFILL }},
+ { &hf_s4406_ForwardedEncryptedParameters_PDU,
+ { "ForwardedEncryptedParameters", "s4406.ForwardedEncryptedParameters",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "s4406.ForwardedEncryptedParameters", HFILL }},
+ { &hf_s4406_ForwardedEncryptedData_PDU,
+ { "ForwardedEncryptedData", "s4406.ForwardedEncryptedData",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "s4406.ForwardedEncryptedData", HFILL }},
+ { &hf_s4406_MMMessageParameters_PDU,
+ { "MMMessageParameters", "s4406.MMMessageParameters",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "s4406.MMMessageParameters", HFILL }},
+ { &hf_s4406_MMMessageData_PDU,
+ { "MMMessageData", "s4406.MMMessageData",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "s4406.MMMessageData", HFILL }},
+ { &hf_s4406_ACP127DataParameters_PDU,
+ { "ACP127DataParameters", "s4406.ACP127DataParameters",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "s4406.ACP127DataParameters", HFILL }},
+ { &hf_s4406_ACP127DataData_PDU,
+ { "ACP127DataData", "s4406.ACP127DataData",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "s4406.ACP127DataData", HFILL }},
+ { &hf_s4406_Acp127NotificationType_PDU,
+ { "Acp127NotificationType", "s4406.Acp127NotificationType",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "s4406.Acp127NotificationType", HFILL }},
{ &hf_s4406_mm,
{ "mm", "s4406.mm",
FT_NONE, BASE_NONE, NULL, 0,
@@ -1015,6 +1374,30 @@ void proto_register_s4406(void) {
{ "mn", "s4406.mn",
FT_NONE, BASE_NONE, NULL, 0,
"x420.IPN", HFILL }},
+ { &hf_s4406_acp127_notification_type,
+ { "acp127-notification-type", "s4406.acp127_notification_type",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "s4406.Acp127NotificationType", HFILL }},
+ { &hf_s4406_receipt_time,
+ { "receipt-time", "s4406.receipt_time",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "x420.ReceiptTimeField", HFILL }},
+ { &hf_s4406_addressListIndicator,
+ { "addressListIndicator", "s4406.addressListIndicator",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "s4406.AddressListIndicator", HFILL }},
+ { &hf_s4406_acp127_recipient,
+ { "acp127-recipient", "s4406.acp127_recipient",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "s4406.Acp127Recipient", HFILL }},
+ { &hf_s4406_acp127_supp_info,
+ { "acp127-supp-info", "s4406.acp127_supp_info",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "s4406.Acp127SuppInfo", HFILL }},
+ { &hf_s4406_AddressListIndicator_item,
+ { "AddressListDesignator", "s4406.AddressListDesignator",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "s4406.AddressListDesignator", HFILL }},
{ &hf_s4406_ExemptedAddressSeq_item,
{ "ExemptedAddress", "s4406.ExemptedAddress",
FT_NONE, BASE_NONE, NULL, 0,
@@ -1035,14 +1418,6 @@ void proto_register_s4406(void) {
{ "DistributionExtensionField", "s4406.DistributionExtensionField",
FT_NONE, BASE_NONE, NULL, 0,
"s4406.DistributionExtensionField", HFILL }},
- { &hf_s4406_dist_type,
- { "dist-type", "s4406.dist_type",
- FT_OID, BASE_NONE, NULL, 0,
- "s4406.OBJECT_IDENTIFIER", HFILL }},
- { &hf_s4406_dist_value,
- { "dist-value", "s4406.dist_value",
- FT_NONE, BASE_NONE, NULL, 0,
- "s4406.T_dist_value", HFILL }},
{ &hf_s4406_HandlingInstructions_item,
{ "MilitaryString", "s4406.MilitaryString",
FT_STRING, BASE_NONE, NULL, 0,
@@ -1097,8 +1472,8 @@ void proto_register_s4406(void) {
"s4406.PilotInformation", HFILL }},
{ &hf_s4406_pilotPrecedence,
{ "pilotPrecedence", "s4406.pilotPrecedence",
- FT_INT32, BASE_DEC, VALS(s4406_PilotPrecedence_vals), 0,
- "s4406.PilotPrecedence", HFILL }},
+ FT_INT32, BASE_DEC, VALS(s4406_MMHSPrecedence_vals), 0,
+ "s4406.MMHSPrecedence", HFILL }},
{ &hf_s4406_pilotRecipient,
{ "pilotRecipient", "s4406.pilotRecipient",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -1143,16 +1518,36 @@ void proto_register_s4406(void) {
{ "body-part-sequence-number", "s4406.body_part_sequence_number",
FT_INT32, BASE_DEC, NULL, 0,
"s4406.BodyPartSequenceNumber", HFILL }},
- { &hf_s4406_Acp127NotificationType_negative,
- { "negative", "s4406.negative",
+ { &hf_s4406_lineOriented,
+ { "lineOriented", "s4406.lineOriented",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "s4406.IA5String", HFILL }},
+ { &hf_s4406_setOriented,
+ { "setOriented", "s4406.setOriented",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "s4406.T_setOriented", HFILL }},
+ { &hf_s4406_setOriented_item,
+ { "setOriented item", "s4406.setOriented_item",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "s4406.IA5String", HFILL }},
+ { &hf_s4406_delivery_time,
+ { "delivery-time", "s4406.delivery_time",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "x411.MessageDeliveryTime", HFILL }},
+ { &hf_s4406_delivery_envelope,
+ { "delivery-envelope", "s4406.delivery_envelope",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x411.OtherMessageDeliveryFields", HFILL }},
+ { &hf_s4406_Acp127NotificationType_acp127_nn,
+ { "acp127-nn", "s4406.acp127-nn",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
- { &hf_s4406_Acp127NotificationType_positive,
- { "positive", "s4406.positive",
+ { &hf_s4406_Acp127NotificationType_acp127_pn,
+ { "acp127-pn", "s4406.acp127-pn",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
- { &hf_s4406_Acp127NotificationType_transfer,
- { "transfer", "s4406.transfer",
+ { &hf_s4406_Acp127NotificationType_acp127_tn,
+ { "acp127-tn", "s4406.acp127-tn",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
@@ -1167,11 +1562,12 @@ void proto_register_s4406(void) {
/*--- Included file: packet-s4406-ettarr.c ---*/
#line 1 "packet-s4406-ettarr.c"
&ett_s4406_InformationObject,
+ &ett_s4406_Acp127NotificationResponse,
+ &ett_s4406_AddressListIndicator,
&ett_s4406_ExemptedAddressSeq,
&ett_s4406_DistributionCodes,
&ett_s4406_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic,
&ett_s4406_SEQUENCE_OF_DistributionExtensionField,
- &ett_s4406_DistributionExtensionField,
&ett_s4406_HandlingInstructions,
&ett_s4406_MessageInstructions,
&ett_s4406_MessageType,
@@ -1183,10 +1579,14 @@ void proto_register_s4406(void) {
&ett_s4406_PilotInformation,
&ett_s4406_SEQUENCE_OF_ORDescriptor,
&ett_s4406_SEQUENCE_OF_MilitaryString,
- &ett_s4406_Acp127NotificationType,
&ett_s4406_SecurityInformationLabels,
&ett_s4406_SEQUENCE_OF_BodyPartSecurityLabel,
&ett_s4406_BodyPartSecurityLabel,
+ &ett_s4406_ADatP3Data,
+ &ett_s4406_T_setOriented,
+ &ett_s4406_ForwardedEncryptedParameters,
+ &ett_s4406_MMMessageParameters,
+ &ett_s4406_Acp127NotificationType,
/*--- End of included file: packet-s4406-ettarr.c ---*/
#line 101 "packet-s4406-template.c"
@@ -1223,10 +1623,19 @@ void proto_reg_handoff_s4406(void) {
register_ber_oid_dissector("1.3.26.0.4406.0.2.13", dissect_Acp127MessageIdentifier_PDU, proto_s4406, "acp127-message-identifier");
register_ber_oid_dissector("1.3.26.0.4406.0.2.14", dissect_OriginatorPlad_PDU, proto_s4406, "originator-plad");
register_ber_oid_dissector("1.3.26.0.4406.0.2.15", dissect_Acp127NotificationType_PDU, proto_s4406, "acp127-notification-request");
+ register_ber_oid_dissector("1.3.26.0.4406.0.2.16", dissect_Acp127NotificationResponse_PDU, proto_s4406, "acp127-notification-response");
register_ber_oid_dissector("1.3.26.0.4406.0.2.17", dissect_SecurityInformationLabels_PDU, proto_s4406, "information-labels");
register_ber_oid_dissector("1.3.26.0.4406.0.8.0", dissect_PriorityLevelQualifier_PDU, proto_s4406, "priority-level-qualifier");
- register_ber_oid_dissector("1.3.26.0.4406.0.7.9", dissect_MMMessageData_PDU, proto_s4406, "mm-message");
- register_ber_oid_dissector("1.3.26.0.4406.0.7.10", dissect_MMMessageParameters_PDU, proto_s4406, "mm-message-parameters");
+ register_ber_oid_dissector(id_nato_mmhs_et_adatp3, dissect_ADatP3Data_PDU, proto_s4406, "adatp3");
+ register_ber_oid_dissector(id_nato_mmhs_et_adatp3_parameters, dissect_ADatP3Parameters_PDU, proto_s4406, "adatp3-parameters");
+ register_ber_oid_dissector(id_nato_mmhs_et_corrections, dissect_CorrectionsData_PDU, proto_s4406, "corrections");
+ register_ber_oid_dissector(id_nato_mmhs_et_corrections_parameters, dissect_CorrectionsParameters_PDU, proto_s4406, "corrections-parameters");
+ register_ber_oid_dissector(id_nato_mmhs_et_forwarded_encrypted, dissect_ForwardedEncryptedData_PDU, proto_s4406, "forwarded-encrypted");
+ register_ber_oid_dissector(id_nato_mmhs_et_forwarded_encrypted_parameters, dissect_ForwardedEncryptedParameters_PDU, proto_s4406, "forwarded-encrypted-parameters");
+ register_ber_oid_dissector(id_nato_mmhs_et_mm_message, dissect_MMMessageData_PDU, proto_s4406, "mm-message");
+ register_ber_oid_dissector(id_nato_mmhs_et_mm_message_parameters, dissect_MMMessageParameters_PDU, proto_s4406, "mm-message-parameters");
+ register_ber_oid_dissector(id_nato_mmhs_et_mm_acp127data, dissect_ACP127DataData_PDU, proto_s4406, "acp127-data");
+ register_ber_oid_dissector(id_nato_mmhs_et_mm_acp127data_parameters, dissect_ACP127DataParameters_PDU, proto_s4406, "acp127-data-parameters");
register_ber_oid_dissector("2.6.1.4.17.1.3.26.0.4406.0.4.1", dissect_InformationObject_PDU, proto_s4406, "id-et-content-p772");
diff --git a/epan/dissectors/packet-s4406.h b/epan/dissectors/packet-s4406.h
index 741505a1b2..c20e03f2aa 100644
--- a/epan/dissectors/packet-s4406.h
+++ b/epan/dissectors/packet-s4406.h
@@ -1,7 +1,7 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-s4406.h */
-/* ../../tools/asn2wrs.py -b -e -C -p s4406 -c ./s4406.cnf -s ./packet-s4406-template -D . s4406.asn MMSUpperBounds.asn */
+/* ../../tools/asn2wrs.py -b -e -C -p s4406 -c ./s4406.cnf -s ./packet-s4406-template -D . MMSAbstractService.asn MMSInformationObjects.asn MMSOtherNotificationTypeExtensions.asn MMSObjectIdentifiers.asn MMSHeadingExtensions.asn MMSUpperBounds.asn MMSExtendedBodyPartTypes.asn MMSPerRecipientSpecifierExtensions.asn */
/* Input file: packet-s4406-template.h */