aboutsummaryrefslogtreecommitdiffstats
path: root/asn1
diff options
context:
space:
mode:
Diffstat (limited to 'asn1')
-rw-r--r--asn1/Makefile.am1
-rw-r--r--asn1/t124/GCC-PROTOCOL.asn1180
-rw-r--r--asn1/t124/Makefile651
-rw-r--r--asn1/t124/Makefile.am26
-rw-r--r--asn1/t124/Makefile.common51
-rw-r--r--asn1/t124/Makefile.in651
-rw-r--r--asn1/t124/Makefile.nmake29
-rw-r--r--asn1/t124/packet-t124-template.c204
-rw-r--r--asn1/t124/packet-t124-template.h43
-rw-r--r--asn1/t124/t124.cnf162
-rw-r--r--asn1/t125/packet-t125-template.c61
-rw-r--r--asn1/t125/t125.cnf41
12 files changed, 3083 insertions, 17 deletions
diff --git a/asn1/Makefile.am b/asn1/Makefile.am
index 9339e69b02..3ccd941730 100644
--- a/asn1/Makefile.am
+++ b/asn1/Makefile.am
@@ -102,6 +102,7 @@ SUBDIRS = \
snmp \
spnego \
sv \
+ t124 \
t125 \
t38 \
tcap \
diff --git a/asn1/t124/GCC-PROTOCOL.asn b/asn1/t124/GCC-PROTOCOL.asn
new file mode 100644
index 0000000000..33402ac7a2
--- /dev/null
+++ b/asn1/t124/GCC-PROTOCOL.asn
@@ -0,0 +1,1180 @@
+-- $Id$
+-- Module GCC-PROTOCOL (T.124:01/2007)
+-- See also ITU-T T.124 (01/2007)
+-- See also the index of all ASN.1 assignments needed in this document
+
+GCC-PROTOCOL {itu-t(0) recommendation(0) t(20) t124(124) version(0) 2 asn1Modules(2) gcc-protocol(1)}
+DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+-- Export all symbols
+-- =============================================================================
+-- Part 1: Elements of which messages are composed
+-- =============================================================================
+ChannelID ::= INTEGER(1..65535)
+
+StaticChannelID ::= INTEGER(1..1000)
+
+-- Those assigned by specifications
+DynamicChannelID ::= INTEGER(1001..65535)
+
+-- Those created and deleted by MCS
+UserID ::= DynamicChannelID
+
+TokenID ::= INTEGER(1..65535)
+
+StaticTokenID ::= INTEGER(1..16383)
+
+-- Those assigned by specifications
+DynamicTokenID ::= INTEGER(16384..65535)
+
+-- Those assigned by the registry
+Time ::= INTEGER(-2147483648..2147483647)
+
+-- Time in seconds
+Handle ::= INTEGER(0..4294967295)
+
+-- 32-bit value
+H221NonStandardIdentifier ::= OCTET STRING(SIZE (4..255))
+
+-- First four octets shall be country code and
+-- Manufacturer code, assigned as specified in
+-- Annex A/H.221 for NS-cap and NS-comm
+Key ::= CHOICE -- Identifier of a standard or non-standard object
+ {
+ object OBJECT IDENTIFIER,
+ h221NonStandard H221NonStandardIdentifier
+}
+
+NonStandardParameter ::= SEQUENCE {key Key,
+ data OCTET STRING
+}
+
+TextString ::= BMPString(SIZE (0..255))
+
+-- Basic Multilingual Plane of ISO/IEC 10646-1 (Unicode)
+--simpleTextFirstCharacter UniversalString ::=
+-- {0, 0, 0, 0}
+
+--simpleTextLastCharacter UniversalString ::= {0, 0, 0, 255}
+
+SimpleTextString ::=
+ BMPString(SIZE (0..255))
+-- (FROM (simpleTextFirstCharacter..simpleTextLastCharacter))
+
+SimpleNumericString ::= NumericString(SIZE (1..255))(FROM ("0123456789"))
+
+DiallingString ::= NumericString(SIZE (1..16))(FROM ("0123456789"))
+
+SubAddressString ::= NumericString(SIZE (1..40))(FROM ("0123456789"))
+
+ExtraDiallingString ::= TextString(SIZE (1..255))(FROM ("0123456789#*,"))
+
+UserData ::= SET OF SEQUENCE {key Key,
+ value OCTET STRING OPTIONAL}
+
+Password ::= SEQUENCE {
+ numeric SimpleNumericString,
+ text SimpleTextString OPTIONAL,
+ ...,
+ unicodeText TextString OPTIONAL
+}
+
+PasswordSelector ::= CHOICE {
+ numeric SimpleNumericString,
+ text SimpleTextString,
+ ...,
+ unicodeText TextString
+}
+
+ChallengeResponseItem ::= CHOICE {
+ passwordString PasswordSelector,
+ responseData UserData,
+ ...
+}
+
+ChallengeResponseAlgorithm ::= CHOICE {
+ passwordInTheClear NULL,
+ nonStandardAlgorithm NonStandardParameter,
+ ...
+}
+
+ChallengeItem ::= SEQUENCE {
+ responseAlgorithm ChallengeResponseAlgorithm,
+ challengeData UserData,
+ ...
+}
+
+ChallengeRequest ::= SEQUENCE {
+ challengeTag INTEGER,
+ challengeSet SET OF ChallengeItem,
+ -- Set of algorithms offered for response
+ ...
+}
+
+ChallengeResponse ::= SEQUENCE {
+ challengeTag INTEGER,
+ responseAlgorithm ChallengeResponseAlgorithm,
+ -- Specific algorithm selected from the set of
+ -- items presented in the ChallengeRequest
+ responseItem ChallengeResponseItem,
+ ...
+}
+
+PasswordChallengeRequestResponse ::= CHOICE {
+ passwordInTheClear PasswordSelector,
+ challengeRequestResponse
+ SEQUENCE {challengeRequest ChallengeRequest OPTIONAL,
+ challengeResponse ChallengeResponse OPTIONAL,
+ ...},
+ ...
+}
+
+ConferenceName ::= SEQUENCE {
+ numeric SimpleNumericString,
+ text SimpleTextString OPTIONAL,
+ ...,
+ unicodeText TextString OPTIONAL
+}
+
+ConferenceNameSelector ::= CHOICE {
+ numeric SimpleNumericString,
+ text SimpleTextString,
+ ...,
+ unicodeText TextString
+}
+
+ConferenceNameModifier ::= SimpleNumericString
+
+Privilege ::= ENUMERATED {
+ terminate(0), ejectUser(1), add(2), lockUnlock(3), transfer(4), ...
+ }
+
+TerminationMethod ::= ENUMERATED {automatic(0), manual(1), ...
+ }
+
+ConferencePriorityScheme ::= CHOICE {
+ nonStandardScheme NonStandardParameter,
+ ...
+}
+
+ConferencePriority ::= SEQUENCE {
+ priority INTEGER(0..65535),
+ scheme ConferencePriorityScheme,
+ ...
+}
+
+NodeCategory ::= CHOICE {
+ conventional NULL,
+ counted NULL,
+ anonymous NULL,
+ nonStandardCategory NonStandardParameter,
+ ...
+}
+
+ConferenceMode ::= CHOICE {
+ conventional-only NULL,
+ counted-only NULL,
+ anonymous-only NULL,
+ conventional-control NULL,
+ unrestricted-mode NULL,
+ non-standard-mode NonStandardParameter,
+ ...
+}
+
+NetworkAddress ::=
+ SEQUENCE (SIZE (1..64)) OF
+ CHOICE -- Listed in order of use
+ {aggregatedChannel
+ SEQUENCE {transferModes
+ SEQUENCE-- One or more-- {speech BOOLEAN,
+ voice-band BOOLEAN,
+ digital-56k BOOLEAN,
+ digital-64k BOOLEAN,
+ digital-128k BOOLEAN,
+ digital-192k BOOLEAN,
+ digital-256k BOOLEAN,
+ digital-320k BOOLEAN,
+ digital-384k BOOLEAN,
+ digital-512k BOOLEAN,
+ digital-768k BOOLEAN,
+ digital-1152k BOOLEAN,
+ digital-1472k BOOLEAN,
+ digital-1536k BOOLEAN,
+ digital-1920k BOOLEAN,
+ packet-mode BOOLEAN,
+ frame-mode BOOLEAN,
+ atm BOOLEAN,
+ ...},
+ internationalNumber DiallingString,
+ subAddress SubAddressString OPTIONAL,
+ extraDialling ExtraDiallingString OPTIONAL,
+ highLayerCompatibility
+ SEQUENCE {telephony3kHz BOOLEAN,
+ telephony7kHz BOOLEAN,
+ videotelephony BOOLEAN,
+ videoconference BOOLEAN,
+ audiographic BOOLEAN,
+ audiovisual BOOLEAN,
+ multimedia BOOLEAN,
+ ...} OPTIONAL,
+ ...},
+ transportConnection
+ SEQUENCE {nsapAddress OCTET STRING(SIZE (1..20)),
+ transportSelector OCTET STRING OPTIONAL},
+ nonStandard NonStandardParameter,
+ ...}
+
+MediaList ::= SEQUENCE {audio BOOLEAN,
+ video BOOLEAN,
+ data BOOLEAN,
+ ...
+}
+
+ChannelAggregationMethod ::= CHOICE {
+ h221 NULL,
+ h244 NULL,
+ iso-iec-13871 NULL,
+ -- The actual mode of bonding is dynamically selected according
+ -- to the procedures described in ISO/IEC 13871.
+ nonStandard NonStandardParameter,
+ ...
+}
+
+Profile ::= CHOICE {
+ simpleProfile
+ CHOICE {-- Basic transfer modes:
+ speech NULL, -- Simple telephony--
+ telephony-3kHz NULL, -- Rec. G.711--
+ telephony-7kHz NULL, -- Rec. G.722--
+ voice-band NULL, -- Modems--
+ frameRelay NULL,
+ -- T.120-only data profiles (Rec. T.123):
+ t123-pstn-basic NULL,
+ t123-psdn-basic NULL,
+ t123-b-isdn-basic NULL},
+ multimediaProfile
+ SEQUENCE {profile
+ CHOICE {h310 NULL,
+ h320 NULL,
+ h321 NULL,
+ h322 NULL,
+ h323 NULL,
+ h324 NULL,
+ h324m NULL,
+ asvd NULL,
+ dsvd NULL},
+ t120Data BOOLEAN},
+ dsmccDownloadProfile NULL,
+ nonStandard NonStandardParameter,
+ ...
+}
+
+ExtendedE164NetworkAddress ::= SEQUENCE {
+ internationalNumber DiallingString,
+ subAddress SubAddressString OPTIONAL,
+ extraDialling ExtraDiallingString OPTIONAL,
+ ...
+}
+
+TransportAddress ::= SEQUENCE {
+ nsapAddress OCTET STRING(SIZE (1..20)),
+ transportSelector OCTET STRING OPTIONAL
+}
+
+GSTNConnection ::= SEQUENCE {networkAddress ExtendedE164NetworkAddress,
+ ...
+}
+
+ISDNConnection ::= SEQUENCE {
+ circuitTypes
+ SET OF
+ CHOICE {digital-64k NULL,
+ digital-2x64k NULL,
+ digital-384k NULL,
+ digital-1536 NULL,
+ digital-1920k NULL,
+ multirate-base-64k INTEGER(1..30) -- See Note 1 --},
+ networkAddress ExtendedE164NetworkAddress,
+ highLayerCompatibility
+ SEQUENCE {-- Those are supported code points for IE HLC of the D
+ -- protocol (Rec. Q.931).
+ telephony3kHz BOOLEAN,
+ telephony7kHz BOOLEAN,
+ videotelephony BOOLEAN,
+ videoconference BOOLEAN,
+ audiographic BOOLEAN,
+ audiovisual BOOLEAN,
+ multimedia BOOLEAN,
+ ...} OPTIONAL,
+ ...
+}
+
+-- Note 1: digital-2x64k differs from multirate-base-64k
+-- with a multiplier value of 2;
+-- in the first case
+-- the network is requested an 8 kHz integrity with Restricted
+-- Differential Time Delay (RDTD);
+-- in the second case
+-- the network is requested a Time Slot
+-- Sequence integrity (see 4.5.5/Q.931)
+CSDNConnection ::= SEQUENCE {
+ circuitTypes SET OF CHOICE {digital-56k NULL,
+ digital-64k NULL},
+ networkAddress ExtendedE164NetworkAddress,
+ ...
+}
+
+PSDNConnection ::= SEQUENCE {
+ networkAddress
+ CHOICE {extendedE164NetworkAddress ExtendedE164NetworkAddress,
+ transportAddress TransportAddress,
+ nonStandard NonStandardParameter},
+ ...
+}
+
+ATMConnection ::= SEQUENCE {
+ networkAddress
+ CHOICE {extendedE164 ExtendedE164NetworkAddress,
+ nsapAddress TransportAddress,
+ -- this case is reserved for NSAPs only: the
+ -- optional transport selector shall never be used
+ nonStandard NonStandardParameter},
+ maxTransferRate INTEGER(0..MAX) OPTIONAL,
+ -- in cells per seconds
+ ...
+}
+
+NetworkConnection ::= CHOICE {
+ gstnConnection GSTNConnection,
+ isdnConnection ISDNConnection,
+ csdnConnection CSDNConnection,
+ psdnConnection PSDNConnection,
+ atmConnection ATMConnection,
+ extendedE164NetworkAddress ExtendedE164NetworkAddress,
+ -- Note: LAN connections and leased
+ transportAddress TransportAddress,
+ -- lines (Rec. G.703/G.704) may be
+ nonStandard NonStandardParameter,
+ -- covered by one of these
+ ...
+}
+
+NetworkAddressV2 ::=
+ SET OF
+ SEQUENCE {networkConnection
+ CHOICE {singleConnection NetworkConnection,
+ aggregatedConnections
+ SEQUENCE {connectionList
+ SET (SIZE (1..30)) OF
+ CHOICE {isdnConnection ISDNConnection,
+ csdnConnection CSDNConnection,
+ ...},
+ aggregationMethods
+ SET OF ChannelAggregationMethod OPTIONAL,
+ ...}},
+ profiles SET OF Profile OPTIONAL,
+ mediaConcerned MediaList OPTIONAL,
+ ...}
+
+NodeType ::= ENUMERATED {terminal(0), multiportTerminal(1), mcu(2), ...
+ }
+
+NodeProperties ::= SEQUENCE {
+ managementDevice BOOLEAN,
+ -- Is the node a device such as a reservation system
+ peripheralDevice BOOLEAN,
+ -- Is the node a peripheral to a primary node
+ ...
+}
+
+AsymmetryIndicator ::= CHOICE {
+ callingNode NULL,
+ calledNode NULL,
+ unknown INTEGER(0..4294967295)
+ -- Uniformly distributed 32-bit random number
+}
+
+AlternativeNodeID ::= CHOICE {h243NodeID OCTET STRING(SIZE (2)),
+ ...
+}
+
+ConferenceDescriptor ::= SEQUENCE {
+ conferenceName ConferenceName,
+ conferenceNameModifier ConferenceNameModifier OPTIONAL,
+ conferenceDescription TextString OPTIONAL,
+ lockedConference BOOLEAN,
+ passwordInTheClearRequired BOOLEAN,
+ networkAddress NetworkAddress OPTIONAL,
+ ...,
+ defaultConferenceFlag BOOLEAN,
+ conferenceMode ConferenceMode
+}
+
+NodeRecord ::= SEQUENCE {
+ superiorNode UserID OPTIONAL,
+ -- Not present only for the Top GCC Provider
+ nodeType NodeType,
+ nodeProperties NodeProperties,
+ nodeName TextString OPTIONAL,
+ participantsList SEQUENCE OF TextString OPTIONAL,
+ siteInformation TextString OPTIONAL,
+ networkAddress NetworkAddress OPTIONAL,
+ alternativeNodeID AlternativeNodeID OPTIONAL,
+ userData UserData OPTIONAL,
+ ...,
+ nodeCategory NodeCategory OPTIONAL,
+ networkAddressV2 NetworkAddressV2 OPTIONAL
+}
+
+SessionKey ::= SEQUENCE
+{
+ applicationProtocolKey Key,
+ sessionID ChannelID OPTIONAL
+}
+
+ChannelType ::= ENUMERATED {
+ static(0), dynamicMulticast(1), dynamicPrivate(2), dynamicUserId(3)
+}
+
+ApplicationRecord ::= SEQUENCE {
+ applicationActive BOOLEAN,
+ -- Active/Inactive flag
+ conductingOperationCapable BOOLEAN,
+ -- Maximum one per node per session
+ startupChannel ChannelType OPTIONAL,
+ applicationUserID UserID OPTIONAL,
+ -- User ID assigned to the Application Protocol Entity
+ nonCollapsingCapabilities
+ SET OF
+ SEQUENCE {capabilityID CapabilityID,
+ applicationData OCTET STRING OPTIONAL} OPTIONAL,
+ ...
+}
+
+CapabilityID ::= CHOICE {
+ standard INTEGER(0..65535),
+ -- Assigned by Application Protocol specifications
+ nonStandard Key
+}
+
+CapabilityClass ::= CHOICE {
+ logical NULL,
+ unsignedMin INTEGER(0..MAX), -- Capability value
+ unsignedMax INTEGER(0..MAX), -- Capability value
+ ...
+}
+
+EntityID ::= INTEGER(0..65535)
+
+ApplicationInvokeSpecifier ::= SEQUENCE {
+ sessionKey SessionKey,
+ expectedCapabilitySet
+ SET OF
+ SEQUENCE {capabilityID CapabilityID,
+ capabilityClass CapabilityClass,
+ ...} OPTIONAL,
+ startupChannel ChannelType OPTIONAL,
+ mandatoryFlag BOOLEAN,
+ -- TRUE indicates required Application Protocol Entity
+ ...
+}
+
+RegistryKey ::= SEQUENCE {
+ sessionKey SessionKey,
+ resourceID OCTET STRING(SIZE (0..64))
+}
+
+RegistryItem ::= CHOICE {
+ channelID DynamicChannelID,
+ tokenID DynamicTokenID,
+ parameter OCTET STRING(SIZE (0..64)),
+ vacant NULL,
+ ...
+}
+
+RegistryEntryOwner ::= CHOICE {
+ owned
+ SEQUENCE {nodeID UserID, -- Node ID of the owning node--
+ entityID EntityID -- Entity ID of the owning-- }, -- Appliction Protocol Entity
+ notOwned NULL -- There is no current owner
+}
+
+RegistryModificationRights ::= ENUMERATED {owner(0), session(1), public(2)}
+
+-- ============================================================================
+-- Part 2: PDU Messages
+-- ============================================================================
+UserIDIndication ::= SEQUENCE {tag INTEGER,
+ ...
+}
+
+ConferenceCreateRequest ::=
+ SEQUENCE { -- MCS-Connect-Provider request user data
+ conferenceName ConferenceName,
+ convenerPassword Password OPTIONAL,
+ password Password OPTIONAL,
+ lockedConference BOOLEAN,
+ listedConference BOOLEAN,
+ conductibleConference BOOLEAN,
+ terminationMethod TerminationMethod,
+ conductorPrivileges SET OF Privilege OPTIONAL,
+ conductedPrivileges SET OF Privilege OPTIONAL,
+ nonConductedPrivileges SET OF Privilege OPTIONAL,
+ conferenceDescription TextString OPTIONAL,
+ callerIdentifier TextString OPTIONAL,
+ userData UserData OPTIONAL,
+ ...,
+ conferencePriority ConferencePriority OPTIONAL,
+ conferenceMode ConferenceMode OPTIONAL
+}
+
+ConferenceCreateResponse ::=
+ SEQUENCE { -- MCS-Connect-Provider response user data
+ nodeID UserID, -- Node ID of the sending node
+ tag INTEGER,
+ result
+ ENUMERATED {success(0), userRejected(1), resourcesNotAvailable(2),
+ rejectedForSymmetryBreaking(3),
+ lockedConferenceNotSupported(4), ...
+ },
+ userData UserData OPTIONAL,
+ ...
+}
+
+ConferenceQueryRequest ::= SEQUENCE { -- MCS-Connect-Provider request user data
+ nodeType NodeType,
+ asymmetryIndicator AsymmetryIndicator OPTIONAL,
+ userData UserData OPTIONAL,
+ ...
+}
+
+ConferenceQueryResponse ::=
+ SEQUENCE { -- MCS-Connect-Provider response user data
+ nodeType NodeType,
+ asymmetryIndicator AsymmetryIndicator OPTIONAL,
+ conferenceList SET OF ConferenceDescriptor,
+ result ENUMERATED {success(0), userRejected(1), ...
+ },
+ userData UserData OPTIONAL,
+ ...,
+ waitForInvitationFlag BOOLEAN OPTIONAL,
+ noUnlistedConferenceFlag BOOLEAN OPTIONAL
+}
+
+ConferenceJoinRequest ::=
+ SEQUENCE { -- MCS-Connect-Provider request user data as well as
+ -- MCS-Send-Data on Node ID Channel of Top GCC sent
+ -- by the receiver of the MCS-Connect-Provider
+ conferenceName ConferenceNameSelector OPTIONAL,
+ -- Required when part of MCS-Connect-Provider
+ conferenceNameModifier ConferenceNameModifier OPTIONAL,
+ tag INTEGER OPTIONAL,
+ -- Filled in when sent on Node ID Channel of Top GCC
+ password PasswordChallengeRequestResponse OPTIONAL,
+ convenerPassword PasswordSelector OPTIONAL,
+ callerIdentifier TextString OPTIONAL,
+ userData UserData OPTIONAL,
+ ...,
+ nodeCategory NodeCategory OPTIONAL
+}
+
+ConferenceJoinResponse ::=
+ SEQUENCE { -- MCS-Connect-Provider response user data as well as
+ -- MCS-Send-Data on Node ID Channel of
+ -- the receiver of the MCS-Connect-Provider
+ nodeID UserID OPTIONAL,
+ -- Node ID of directly connected node only
+ topNodeID UserID,
+ -- Node ID of Top GCC Provider
+ tag INTEGER,
+ conferenceNameAlias ConferenceNameSelector OPTIONAL,
+ passwordInTheClearRequired BOOLEAN,
+ lockedConference BOOLEAN,
+ listedConference BOOLEAN,
+ conductibleConference BOOLEAN,
+ terminationMethod TerminationMethod,
+ conductorPrivileges SET OF Privilege OPTIONAL,
+ -- No privilege shall be listed more than once
+ conductedPrivileges SET OF Privilege OPTIONAL,
+ -- No privilege shall be listed more than once
+ nonConductedPrivileges SET OF Privilege OPTIONAL,
+ -- No privilege shall be listed more than once
+ conferenceDescription TextString OPTIONAL,
+ password PasswordChallengeRequestResponse OPTIONAL,
+ result
+ ENUMERATED {success(0), userRejected(1), invalidConference(2),
+ invalidPassword(3), invalidConvenerPassword(4),
+ challengeResponseRequired(5), invalidChallengeResponse(6),
+ ...
+ },
+ userData UserData OPTIONAL,
+ ...,
+ nodeCategory NodeCategory OPTIONAL,
+ conferenceMode ConferenceMode OPTIONAL
+}
+
+ConferenceInviteRequest ::=
+ SEQUENCE { -- MCS-Connect-Provider request user data
+ conferenceName ConferenceName,
+ nodeID UserID, -- Node ID of the sending node
+ topNodeID UserID, -- Node ID of Top GCC Provider
+ tag INTEGER,
+ passwordInTheClearRequired BOOLEAN,
+ lockedConference BOOLEAN,
+ listedConference BOOLEAN,
+ conductibleConference BOOLEAN,
+ terminationMethod TerminationMethod,
+ conductorPrivileges SET OF Privilege OPTIONAL,
+ -- No privilege shall be listed more than once
+ conductedPrivileges SET OF Privilege OPTIONAL,
+ -- No privilege shall be listed more than once
+ nonConductedPrivileges SET OF Privilege OPTIONAL,
+ -- No privilege shall be listed more than once
+ conferenceDescription TextString OPTIONAL,
+ callerIdentifier TextString OPTIONAL,
+ userData UserData OPTIONAL,
+ ...,
+ conferencePriority ConferencePriority OPTIONAL,
+ nodeCategory NodeCategory OPTIONAL,
+ conferenceMode ConferenceMode OPTIONAL
+}
+
+ConferenceInviteResponse ::=
+ SEQUENCE { -- MCS-Connect-Provider response user data
+ result ENUMERATED {success(0), userRejected(1), ...
+ },
+ userData UserData OPTIONAL,
+ ...
+}
+
+ConferenceAddRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC or
+ -- Node ID Channel of Adding MCU if specified
+ networkAddress NetworkAddress,
+ requestingNode UserID,
+ tag INTEGER,
+ addingMCU UserID OPTIONAL,
+ userData UserData OPTIONAL,
+ ...,
+ nodeCategory NodeCategory OPTIONAL,
+ networkAddressV2 NetworkAddressV2
+}
+
+ConferenceAddResponse ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of requester
+ tag INTEGER,
+ result
+ ENUMERATED {success(0), invalidRequester(1), invalidNetworkType(2),
+ invalidNetworkAddress(3), addedNodeBusy(4), networkBusy(5),
+ noPortsAvailable(6), connectionUnsuccessful(7), ...
+ },
+ userData UserData OPTIONAL,
+ ...
+}
+
+ConferenceLockRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ -- No parameters
+ ...
+}
+
+ConferenceLockResponse ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of requester
+ result ENUMERATED {success(0), invalidRequester(1), alreadyLocked(2), ...
+ },
+ ...
+}
+
+ConferenceLockIndication ::=
+ SEQUENCE { -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ -- or MCS-Send-Data on Node ID Channel
+ -- No parameters
+ ...
+}
+
+ConferenceUnlockRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ -- No parameters
+ ...
+}
+
+ConferenceUnlockResponse ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of requester
+ result ENUMERATED {success(0), invalidRequester(1), alreadyUnlocked(2), ...
+ },
+ ...
+}
+
+ConferenceUnlockIndication ::=
+ SEQUENCE { -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ -- or MCS-Send-Data on Node ID Channel
+ -- No parameters
+ ...
+}
+
+ConferenceTerminateRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ reason ENUMERATED {userInitiated(0), timedConferenceTermination(1), ...
+ },
+ ...
+}
+
+ConferenceTerminateResponse ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of requester
+ result ENUMERATED {success(0), invalidRequester(1), ...
+ },
+ ...
+}
+
+ConferenceTerminateIndication ::=
+ SEQUENCE { -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ reason ENUMERATED {userInitiated(0), timedConferenceTermination(1), ...
+ },
+ ...
+}
+
+ConferenceEjectUserRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ nodeToEject UserID, -- Node ID of the node to eject
+ reason ENUMERATED {userInitiated(0), ...
+ },
+ ...
+}
+
+ConferenceEjectUserResponse ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of requester
+ nodeToEject UserID, -- Node ID of the node to eject
+ result
+ ENUMERATED {success(0), invalidRequester(1), invalidNode(2), ...
+ },
+ ...
+}
+
+ConferenceEjectUserIndication ::=
+ SEQUENCE { -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ nodeToEject UserID, -- Node ID of the node to eject
+ reason
+ ENUMERATED {userInitiated(0), higherNodeDisconnected(1),
+ higherNodeEjected(2), ...
+ },
+ ...
+}
+
+ConferenceTransferRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ conferenceName ConferenceNameSelector,
+ -- Name of conference to transfer to
+ conferenceNameModifier ConferenceNameModifier OPTIONAL,
+ networkAddress NetworkAddress OPTIONAL,
+ transferringNodes SET (SIZE (1..65536)) OF UserID OPTIONAL,
+ password PasswordSelector OPTIONAL,
+ ...,
+ networkAddressV2 NetworkAddressV2 OPTIONAL
+}
+
+ConferenceTransferResponse ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of requester
+ conferenceName ConferenceNameSelector,
+ -- Name of conference to transfer to
+ conferenceNameModifier ConferenceNameModifier OPTIONAL,
+ transferringNodes SET (SIZE (1..65536)) OF UserID OPTIONAL,
+ result ENUMERATED {success(0), invalidRequester(1), ...
+ },
+ ...
+}
+
+ConferenceTransferIndication ::=
+ SEQUENCE { -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ conferenceName ConferenceNameSelector,
+ -- Name of conference to transfer to
+ conferenceNameModifier ConferenceNameModifier OPTIONAL,
+ networkAddress NetworkAddress OPTIONAL,
+ transferringNodes SET (SIZE (1..65536)) OF UserID OPTIONAL,
+ -- List of Node IDs,
+ -- not present if destined for all nodes
+ password PasswordSelector OPTIONAL,
+ ...,
+ networkAddressV2 NetworkAddressV2 OPTIONAL
+}
+
+RosterUpdateIndication ::= SEQUENCE { -- MCS-Send-Data on Node ID Channel or
+ -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ fullRefresh BOOLEAN,
+ -- Conference Roster and all
+ -- ApplicationProtocol Sessions refreshed
+ nodeInformation
+ SEQUENCE {nodeRecordList
+ CHOICE {noChange NULL,
+ refresh
+ SET (SIZE (1..65536)) OF
+ SEQUENCE
+ -- One for each node in the conference;
+ -- no node shall be listed more than once
+ {nodeID UserID, -- Node ID of the node--
+ nodeRecord NodeRecord},
+ update
+ SET (SIZE (1..65536)) OF
+ SEQUENCE
+ -- One for each node changing its node record;
+ -- no node shall be listed more than once
+ {nodeID UserID, -- Node ID of the node--
+ nodeUpdate
+ CHOICE {addRecord NodeRecord,
+ replaceRecord NodeRecord,
+ removeRecord NULL,
+ ...}},
+ ...},
+ rosterInstanceNumber INTEGER(0..65535),
+ nodesAdded BOOLEAN,
+ -- Nodes have been added since last instance
+ nodesRemoved BOOLEAN,
+ -- Nodes have been removed since last instance
+ ...},
+ applicationInformation
+ SET (SIZE (0..65535)) OF
+ SEQUENCE
+ -- One for each Application Protocol Session;
+ -- all Application Protocol Sessions if full refresh;
+ -- no Application Protocol shall be
+ -- listed more than once
+ {
+ sessionKey SessionKey,
+ applicationRecordList CHOICE
+ {
+ noChange NULL,
+ refresh SET (SIZE (0..65535)) OF
+ SEQUENCE
+ -- One for each node with the
+ -- Application Protocol Session enrolled;
+ -- no node shall be listed more than once
+ {nodeID UserID,
+ -- Node ID of node
+ entityID EntityID,
+ -- ID for this Application Protocol Entity at this node
+ applicationRecord ApplicationRecord},
+ update
+ SET (SIZE (1..65536)) OF
+ SEQUENCE
+ -- One for each node modifying its Application Record;
+ -- no node shall be listed more than once
+ {nodeID UserID,
+ -- Node ID of node
+ entityID EntityID,
+ -- ID for this Application Protocol Entity at this node
+ applicationUpdate
+ CHOICE {addRecord ApplicationRecord,
+ replaceRecord ApplicationRecord,
+ removeRecord NULL,
+ ...}},
+ ...},
+ applicationCapabilitiesList
+ CHOICE {noChange NULL,
+ refresh
+ SET OF
+ SEQUENCE {capabilityID CapabilityID,
+ capabilityClass CapabilityClass,
+ numberOfEntities INTEGER(1..65536),
+ -- Number of Application Protocol Entities
+ -- which issued the capability
+ ...},
+ ...},
+ rosterInstanceNumber INTEGER(0..65535),
+ peerEntitiesAdded BOOLEAN,
+ -- Peer Entities have been added since last instance
+ peerEntitiesRemoved BOOLEAN,
+ -- Peer Entities have been removed since last instance
+ ...},
+ ...
+}
+
+ApplicationInvokeIndication ::=
+ SEQUENCE { -- MCS-Send-Data or MCS-Uniform-Send-Data
+ -- on GCC-Broadcast-Channel or Node ID Channel
+ applicationProtocolEntiyList
+ SET (SIZE (1..65536)) OF ApplicationInvokeSpecifier,
+ destinationNodes SET (SIZE (1..65536)) OF UserID OPTIONAL,
+ -- List of Node IDs,
+ -- not present if destined for all nodes
+ ...
+}
+
+RegistryRegisterChannelRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ entityID EntityID,
+ key RegistryKey,
+ channelID DynamicChannelID,
+ ...
+}
+
+RegistryAssignTokenRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ entityID EntityID,
+ key RegistryKey,
+ ...
+}
+
+RegistrySetParameterRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ entityID EntityID,
+ key RegistryKey,
+ parameter OCTET STRING(SIZE (0..64)),
+ modificationRights RegistryModificationRights OPTIONAL,
+ ...
+}
+
+RegistryRetrieveEntryRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ entityID EntityID,
+ key RegistryKey,
+ ...
+}
+
+RegistryDeleteEntryRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ entityID EntityID,
+ key RegistryKey,
+ ...
+}
+
+RegistryMonitorEntryRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ entityID EntityID,
+ key RegistryKey,
+ ...
+}
+
+RegistryMonitorEntryIndication ::=
+ SEQUENCE { -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ key RegistryKey,
+ item RegistryItem,
+ -- Contents: channel, token, parameter, or empty
+ owner RegistryEntryOwner,
+ modificationRights RegistryModificationRights OPTIONAL,
+ ...
+}
+
+RegistryAllocateHandleRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ entityID EntityID,
+ numberOfHandles INTEGER(1..1024),
+ ...
+}
+
+RegistryAllocateHandleResponse ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of requester
+ entityID EntityID,
+ numberOfHandles INTEGER(1..1024),
+ firstHandle Handle,
+ result ENUMERATED {successful(0), noHandlesAvailable(1), ...
+ },
+ ...
+}
+
+RegistryResponse ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of requester
+ entityID EntityID,
+ -- Entity ID of the requesting Application Protocol Entity
+ primitiveType
+ ENUMERATED {registerChannel(0), assignToken(1), setParameter(2),
+ retrieveEntry(3), deleteEntry(4), monitorEntry(5), ...
+ },
+ key RegistryKey,
+ -- Database index
+ item RegistryItem,
+ -- Contents: channel, token, parameter, or vacant
+ owner RegistryEntryOwner,
+ modificationRights RegistryModificationRights OPTIONAL,
+ result
+ ENUMERATED {successful(0), belongsToOther(1), tooManyEntries(2),
+ inconsistentType(3), entryNotFound(4), entryAlreadyExists(5),
+ invalidRequester(6), ...
+ },
+ ...
+}
+
+ConductorAssignIndication ::=
+ SEQUENCE { -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ conductingNode UserID,
+ ...
+}
+
+ConductorReleaseIndication ::=
+ SEQUENCE { -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ -- No parameters
+ ...
+}
+
+ConductorPermissionAskIndication ::=
+ SEQUENCE { -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ grantFlag BOOLEAN,
+ -- TRUE to request permission grant, FALSE to release
+ ...
+}
+
+ConductorPermissionGrantIndication ::=
+ SEQUENCE { -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ permissionList SEQUENCE (SIZE (0..65535)) OF UserID,
+ -- Node ID of nodes granted permission
+ waitingList SEQUENCE (SIZE (1..65536)) OF UserID OPTIONAL,
+ -- Node ID of nodes waiting form permission
+ ...
+}
+
+ConferenceTimeRemainingIndication ::=
+ SEQUENCE { -- MCS-Send-Data on GCC-Broadcast-Channel
+ timeRemaining Time,
+ nodeID UserID OPTIONAL,
+ ...
+}
+
+ConferenceTimeInquireIndication ::=
+ SEQUENCE { -- MCS-Send-Data on GCC-Convener-Channel
+ nodeSpecificTimeFlag BOOLEAN,
+ -- FALSE for conference-wide, TRUE for node-specific
+ ...
+}
+
+ConferenceTimeExtendIndication ::=
+ SEQUENCE { -- MCS-Send-Data on GCC-Convener-Channel
+ timeToExtend Time,
+ nodeSpecificTimeFlag BOOLEAN,
+ -- FALSE for conference-wide, TRUE for node-specific
+ ...
+}
+
+ConferenceAssistanceIndication ::=
+ SEQUENCE { -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ userData UserData OPTIONAL,
+ ...
+}
+
+TextMessageIndication ::= SEQUENCE { -- MCS-Send-Data or MCS-Uniform-Send-Data
+ message TextString,
+ -- on GCC-Broadcast-Channel or Node ID Channel
+ ...
+}
+
+RosterRefreshRequest ::= SEQUENCE {
+ nodeID UserID,
+ nodeCategory NodeCategory,
+ fullRefresh BOOLEAN,
+ sendConferenceRoster BOOLEAN OPTIONAL,
+ applicationList
+ SEQUENCE {applicationKeyList
+ SET OF
+ SEQUENCE {applicationProtocolKey Key,
+ nonStandardParameter
+ NonStandardParameter OPTIONAL,
+ ...},
+ nonStandardParameter NonStandardParameter OPTIONAL,
+ ...} OPTIONAL,
+ sessionList
+ SEQUENCE {sessionKeyList
+ SET OF
+ SEQUENCE {sessionKey SessionKey,
+ nonStandardParameter NonStandardParameter OPTIONAL,
+ ...},
+ nonStandardParameter NonStandardParameter OPTIONAL,
+ ...} OPTIONAL,
+ nonStandardParameter NonStandardParameter OPTIONAL,
+ ...
+}
+
+FunctionNotSupportedResponse ::= SEQUENCE {request RequestPDU
+}
+
+NonStandardPDU ::= SEQUENCE {data NonStandardParameter,
+ ...
+}
+
+-- ==========================================================================
+-- Part 3: Messages sent as MCS-Connect-Provider user data
+-- ==========================================================================
+ConnectData ::= SEQUENCE {
+ t124Identifier Key,
+ -- This shall be set to the value {itu-t recommendation t 124 version(0) 1}
+ connectPDU OCTET STRING
+}
+
+ConnectGCCPDU ::= CHOICE {
+ conferenceCreateRequest ConferenceCreateRequest,
+ conferenceCreateResponse ConferenceCreateResponse,
+ conferenceQueryRequest ConferenceQueryRequest,
+ conferenceQueryResponse ConferenceQueryResponse,
+ conferenceJoinRequest ConferenceJoinRequest,
+ conferenceJoinResponse ConferenceJoinResponse,
+ conferenceInviteRequest ConferenceInviteRequest,
+ conferenceInviteResponse ConferenceInviteResponse,
+ ...
+}
+
+-- ============================================================================
+-- Part 4: Messages sent using MCS-Send-Data or MCS-Uniform-Send-Data
+-- ============================================================================
+GCCPDU ::= CHOICE {
+ request RequestPDU,
+ response ResponsePDU,
+ indication IndicationPDU
+}
+
+RequestPDU ::= CHOICE {
+ conferenceJoinRequest ConferenceJoinRequest,
+ conferenceAddRequest ConferenceAddRequest,
+ conferenceLockRequest ConferenceLockRequest,
+ conferenceUnlockRequest ConferenceUnlockRequest,
+ conferenceTerminateRequest ConferenceTerminateRequest,
+ conferenceEjectUserRequest ConferenceEjectUserRequest,
+ conferenceTransferRequest ConferenceTransferRequest,
+ registryRegisterChannelRequest RegistryRegisterChannelRequest,
+ registryAssignTokenRequest RegistryAssignTokenRequest,
+ registrySetParameterRequest RegistrySetParameterRequest,
+ registryRetrieveEntryRequest RegistryRetrieveEntryRequest,
+ registryDeleteEntryRequest RegistryDeleteEntryRequest,
+ registryMonitorEntryRequest RegistryMonitorEntryRequest,
+ registryAllocateHandleRequest RegistryAllocateHandleRequest,
+ nonStandardRequest NonStandardPDU,
+ ...
+}
+
+ResponsePDU ::= CHOICE {
+ conferenceJoinResponse ConferenceJoinResponse,
+ conferenceAddResponse ConferenceAddResponse,
+ conferenceLockResponse ConferenceLockResponse,
+ conferenceUnlockResponse ConferenceUnlockResponse,
+ conferenceTerminateResponse ConferenceTerminateResponse,
+ conferenceEjectUserResponse ConferenceEjectUserResponse,
+ conferenceTransferResponse ConferenceTransferResponse,
+ registryResponse RegistryResponse,
+ registryAllocateHandleResponse RegistryAllocateHandleResponse,
+ functionNotSupportedResponse FunctionNotSupportedResponse,
+ nonStandardResponse NonStandardPDU,
+ ...
+}
+
+IndicationPDU ::= CHOICE {
+ userIDIndication UserIDIndication,
+ conferenceLockIndication ConferenceLockIndication,
+ conferenceUnlockIndication ConferenceUnlockIndication,
+ conferenceTerminateIndication ConferenceTerminateIndication,
+ conferenceEjectUserIndication ConferenceEjectUserIndication,
+ conferenceTransferIndication ConferenceTransferIndication,
+ rosterUpdateIndication RosterUpdateIndication,
+ applicationInvokeIndication ApplicationInvokeIndication,
+ registryMonitorEntryIndication RegistryMonitorEntryIndication,
+ conductorAssignIndication ConductorAssignIndication,
+ conductorReleaseIndication ConductorReleaseIndication,
+ conductorPermissionAskIndication ConductorPermissionAskIndication,
+ conductorPermissionGrantIndication ConductorPermissionGrantIndication,
+ conferenceTimeRemainingIndication ConferenceTimeRemainingIndication,
+ conferenceTimeInquireIndication ConferenceTimeInquireIndication,
+ conferenceTimeExtendIndication ConferenceTimeExtendIndication,
+ conferenceAssistanceIndication ConferenceAssistanceIndication,
+ textMessageIndication TextMessageIndication,
+ nonStandardIndication NonStandardPDU,
+ ...
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
diff --git a/asn1/t124/Makefile b/asn1/t124/Makefile
new file mode 100644
index 0000000000..b927288da8
--- /dev/null
+++ b/asn1/t124/Makefile
@@ -0,0 +1,651 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# asn1/t124/Makefile. Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+# $Id$
+#
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# To be included into the asn1 Makefiles
+#
+# $Id$
+#
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# $Id$
+#
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# To be included into the asn1 Makefiles
+#
+# $Id$
+#
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+srcdir = .
+top_srcdir = ../..
+
+pkgdatadir = $(datadir)/wireshark
+pkglibdir = $(libdir)/wireshark
+pkgincludedir = $(includedir)/wireshark
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = i686-pc-linux-gnu
+host_triplet = i686-pc-linux-gnu
+target_triplet = i686-pc-linux-gnu
+DIST_COMMON = $(srcdir)/../Makefile.inc $(srcdir)/../Makefile.preinc \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.common \
+ $(srcdir)/Makefile.in
+subdir = asn1/t124
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/aclocal-fallback/glib-2.0.m4 \
+ $(top_srcdir)/aclocal-fallback/gtk-2.0.m4 \
+ $(top_srcdir)/aclocal-fallback/gtk-3.0.m4 \
+ $(top_srcdir)/aclocal-fallback/libgcrypt.m4 \
+ $(top_srcdir)/aclocal-fallback/libsmi.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/graeme/wireshark/missing --run aclocal-1.9
+ADNS_LIBS =
+AMDEP_FALSE = #
+AMDEP_TRUE =
+AMTAR = ${SHELL} /home/graeme/wireshark/missing --run tar
+AR = ar
+AUTOCONF = ${SHELL} /home/graeme/wireshark/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/graeme/wireshark/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/graeme/wireshark/missing --run automake-1.9
+AWK = gawk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CC_FOR_BUILD = gcc
+CFLAGS = -DINET6 -DG_DISABLE_DEPRECATED -DG_DISABLE_SINGLE_INCLUDES -DGSEAL_ENABLE -DGTK_DISABLE_DEPRECATED -DGTK_DISABLE_SINGLE_INCLUDES -D_FORTIFY_SOURCE=2 -D_U_="__attribute__((unused))" -g -O2 -Wall -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wpointer-arith -Wno-pointer-sign -Warray-bounds -Wcast-align -Wformat-security -Wold-style-definition -I/usr/local/include -pthread -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/include/pcap
+CORESERVICES_FRAMEWORKS =
+CPP = gcc -E
+CPPFLAGS = -I/usr/local/include -I/usr/include/pcap '-DPLUGIN_DIR="$(plugindir)"'
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2 -pthread -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12
+CYGPATH_W = echo
+C_ARES_LIBS = -lcares
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+DOXYGEN =
+DSYMUTIL =
+DUMPBIN =
+DUMPCAP_GROUP =
+ECHO_C =
+ECHO_N = -n
+ECHO_T =
+EGREP = /bin/grep -E
+ELINKS =
+ENABLE_STATIC =
+ENABLE_STATIC_FALSE =
+ENABLE_STATIC_TRUE = #
+EXEEXT =
+FGREP = /bin/grep -F
+FOP =
+GEOIP_LIBS = -lGeoIP
+GETOPT_LO =
+GLIB_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
+GLIB_GENMARSHAL = glib-genmarshal
+GLIB_LIBS = -pthread -Wl,--export-dynamic -lgthread-2.0 -lgmodule-2.0 -lrt -lglib-2.0
+GLIB_MKENUMS = glib-mkenums
+GOBJECT_QUERY = gobject-query
+GREP = /bin/grep
+GTK_CFLAGS = -pthread -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12
+GTK_LIBS = -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
+HAVE_BLESS = no
+HAVE_DOXYGEN = no
+HAVE_DOXYGEN_FALSE =
+HAVE_DOXYGEN_TRUE = #
+HAVE_DPKG_BUILDPACKAGE = yes
+HAVE_DUMPCAP_GROUP_FALSE =
+HAVE_DUMPCAP_GROUP_TRUE = #
+HAVE_ELINKS = no
+HAVE_ELINKS_FALSE =
+HAVE_ELINKS_TRUE = #
+HAVE_FOP = no
+HAVE_FOP_FALSE =
+HAVE_FOP_TRUE = #
+HAVE_HDIUTIL = no
+HAVE_HHC = no
+HAVE_HHC_FALSE =
+HAVE_HHC_TRUE = #
+HAVE_LIBLUA_FALSE = #
+HAVE_LIBLUA_TRUE =
+HAVE_LIBPORTAUDIO_FALSE = #
+HAVE_LIBPORTAUDIO_TRUE =
+HAVE_LIBPY_FALSE =
+HAVE_LIBPY_TRUE = #
+HAVE_LYNX = no
+HAVE_LYNX_FALSE =
+HAVE_LYNX_TRUE = #
+HAVE_OSX_PACKAGING = no
+HAVE_PKGMK = no
+HAVE_PKGPROTO = no
+HAVE_PKGTRANS = no
+HAVE_PLUGINS_FALSE = #
+HAVE_PLUGINS_TRUE =
+HAVE_RPM =
+HAVE_SVR4_PACKAGING = no
+HAVE_WARNINGS_AS_ERRORS_FALSE = #
+HAVE_WARNINGS_AS_ERRORS_TRUE =
+HAVE_XCODEBUILD = no
+HAVE_XMLLINT = yes
+HAVE_XMLLINT_FALSE = #
+HAVE_XMLLINT_TRUE =
+HAVE_XSLTPROC = yes
+HAVE_XSLTPROC_FALSE = #
+HAVE_XSLTPROC_TRUE =
+HHC =
+HTML_VIEWER = /usr/bin/xdg-open
+INET_ATON_LO =
+INET_NTOP_LO =
+INET_PTON_LO =
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+KRB5_CONFIG = /usr/bin/krb5-config
+KRB5_LIBS = -Wl,-Bsymbolic-functions -lkrb5 -lk5crypto -lcom_err
+LAUNCHSERVICES_FRAMEWORKS =
+LD = /usr/bin/ld
+LDFLAGS = -Wl,--as-needed -L/usr/local/lib -L/usr/local/lib -L/usr/local/lib -L/usr/local/lib
+LDFLAGS_SHAREDLIB =
+LEX = /usr/bin/flex
+LEXLIB = -lfl
+LEX_OUTPUT_ROOT = lex.yy
+LIBCAP_LIBS = -lcap
+LIBGCRYPT_CFLAGS =
+LIBGCRYPT_CONFIG = /usr/bin/libgcrypt-config
+LIBGCRYPT_LIBS = -lgcrypt
+LIBGNUTLS_CFLAGS =
+LIBGNUTLS_LIBS = -lgnutls
+LIBOBJS =
+LIBS = -lz
+LIBSMI_CFLAGS = -I/usr/include
+LIBSMI_LDFLAGS = -L/usr/lib -lsmi
+LIBSMI_VERSION = 2:27:0
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LIBTOOL_DEPS = ./ltmain.sh
+LIPO =
+LN_S = ln -s
+LTLIBOBJS =
+LUA_INCLUDES = -I/usr/include/lua5.1
+LUA_LIBS = -llua5.1 -lm
+LYNX =
+MAKEINFO = ${SHELL} /home/graeme/wireshark/missing --run makeinfo
+NEED_GETOPT_LO_FALSE =
+NEED_GETOPT_LO_TRUE = #
+NEED_INET_ATON_LO_FALSE =
+NEED_INET_ATON_LO_TRUE = #
+NEED_INET_NTOP_LO_FALSE =
+NEED_INET_NTOP_LO_TRUE = #
+NEED_INET_PTON_LO_FALSE =
+NEED_INET_PTON_LO_TRUE = #
+NEED_STRNCASECMP_LO_FALSE =
+NEED_STRNCASECMP_LO_TRUE = #
+NEED_STRPTIME_LO_FALSE =
+NEED_STRPTIME_LO_TRUE = #
+NM = /usr/bin/nm -B
+NMEDIT =
+NSL_LIBS =
+OBJDUMP = objdump
+OBJEXT = o
+OTOOL =
+OTOOL64 =
+PACKAGE = wireshark
+PACKAGE_BUGREPORT =
+PACKAGE_NAME = wireshark
+PACKAGE_STRING = wireshark 1.7.0
+PACKAGE_TARNAME = wireshark
+PACKAGE_URL =
+PACKAGE_VERSION = 1.7.0
+PATH_SEPARATOR = :
+PCAP_CONFIG =
+PCAP_LIBS = -lpcap
+PERL = /usr/bin/perl
+PKG_CONFIG = /usr/bin/pkg-config
+PLUGIN_LIBS =
+POD2HTML = /usr/bin/pod2html
+POD2MAN = /usr/bin/pod2man
+PORTAUDIO_INCLUDES =
+PORTAUDIO_LIBS = -lportaudio
+PYTHON = /usr/bin/python
+PY_CFLAGS =
+PY_LIBS =
+RANLIB = ranlib
+SED = /bin/sed
+SETCAP =
+SETCAP_INSTALL_FALSE =
+SETCAP_INSTALL_TRUE = #
+SETUID_INSTALL_FALSE =
+SETUID_INSTALL_TRUE = #
+SET_MAKE =
+SHELL = /bin/bash
+SOCKET_LIBS =
+SSL_LIBS =
+STRIP = strip
+STRNCASECMP_LO =
+STRPTIME_C =
+STRPTIME_LO =
+USE_PROFILE_BUILD_FALSE =
+USE_PROFILE_BUILD_TRUE = #
+VERSION = 1.7.0
+XMLLINT = /usr/bin/xmllint
+XSLTPROC = /usr/bin/xsltproc
+YACC = bison -y
+YACCDUMMY = /usr/bin/bison
+YFLAGS =
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_DUMPBIN =
+ac_cv_wireshark_have_rpm = no
+ac_ws_python_config = no
+am__fastdepCC_FALSE = #
+am__fastdepCC_TRUE =
+am__fastdepCXX_FALSE = #
+am__fastdepCXX_TRUE =
+am__include = include
+am__leading_dot = .
+am__quote =
+am__tar = tar --format=ustar -chf - "$$tardir"
+am__untar = tar -xf -
+bindir = ${exec_prefix}/bin
+build = i686-pc-linux-gnu
+build_alias =
+build_cpu = i686
+build_os = linux-gnu
+build_vendor = pc
+capinfos_bin = capinfos$(EXEEXT)
+capinfos_man = capinfos.1
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+dftest_bin = dftest$(EXEEXT)
+dftest_man = dftest.1
+docdir = /home/graeme/wshark/share/doc/wireshark
+dumpcap_bin = dumpcap$(EXEEXT)
+dumpcap_man = dumpcap.1
+dvidir = ${docdir}
+editcap_bin = editcap$(EXEEXT)
+editcap_man = editcap.1
+exec_prefix = ${prefix}
+host = i686-pc-linux-gnu
+host_alias =
+host_cpu = i686
+host_os = linux-gnu
+host_vendor = pc
+htmldir = ${docdir}
+idl2wrs_bin = idl2wrs
+idl2wrs_man = idl2wrs.1
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = /home/graeme/wireshark/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+lt_ECHO = echo
+mandir = ${datarootdir}/man
+mergecap_bin = mergecap$(EXEEXT)
+mergecap_man = mergecap.1
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+plugindir = ${libdir}/wireshark/plugins/${VERSION}
+prefix = /home/graeme/wshark
+program_transform_name = s,x,x,
+psdir = ${docdir}
+pythondir = ${libdir}/wireshark/python/${VERSION}
+randpkt_bin = randpkt$(EXEEXT)
+randpkt_man = randpkt.1
+rawshark_bin = rawshark$(EXEEXT)
+rawshark_man = rawshark.1
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = ${prefix}/etc
+target = i686-pc-linux-gnu
+target_alias =
+target_cpu = i686
+target_os = linux-gnu
+target_vendor = pc
+text2pcap_bin = text2pcap$(EXEEXT)
+text2pcap_man = text2pcap.1
+tshark_bin = tshark$(EXEEXT)
+tshark_man = tshark.1
+wireshark_SUBDIRS = codecs gtk
+wireshark_bin = wireshark$(EXEEXT)
+wireshark_man = wireshark.1
+wiresharkfilter_man = wireshark-filter.4
+MAKE_CNF_EXPORT = $(MAKE) generate_export
+PROTOCOL_NAME = t124
+DISSECTOR_FILES = packet-$(PROTOCOL_NAME).c \
+ packet-$(PROTOCOL_NAME).h
+
+EXT_ASN_FILE_LIST =
+ASN_FILE_LIST = GCC-PROTOCOL.asn MCS-PROTOCOL.asn
+
+# The packet-$(PROTOCOL_NAME)-template.h and $(PROTOCOL_NAME).asn
+# files do not exist for all protocols: Please add/remove as required.
+EXTRA_DIST = \
+ Makefile.nmake \
+ $(ASN_FILE_LIST) \
+ packet-$(PROTOCOL_NAME)-template.c \
+ packet-$(PROTOCOL_NAME)-template.h \
+ $(PROTOCOL_NAME).cnf
+
+SRC_FILES = \
+ $(EXTRA_DIST) \
+ $(EXT_ASN_FILE_LIST)
+
+A2W_FLAGS =
+EXTRA_CNF =
+CLEANFILES = \
+ parsetab.py \
+ parsetab.pyc \
+ $(DISSECTOR_FILES) \
+ *-exp.cnf \
+ packet-*-{dis-tab,ettarr,ett,exp,fn,hfarr,hf,table*,val}.[hc]
+
+MAINTAINERCLEANFILES = \
+ Makefile.in
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/../Makefile.preinc $(srcdir)/Makefile.common $(srcdir)/../Makefile.inc $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu asn1/t124/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu asn1/t124/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ $(mkdir_p) $(distdir)/..
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-exec install-exec-am \
+ install-info install-info-am install-man install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-info-am
+
+
+# Don't generate all the dissectors during toplevel make.
+all:
+
+MCS-PROTOCOL.asn: ../t125/MCS-PROTOCOL.asn
+ cp $< $@
+
+all: copy_files
+
+generate_dissector: $(DISSECTOR_FILES)
+
+generate_export: $(EXPORT_FILES)
+
+PROTO_OPT ?= -p $(PROTOCOL_NAME)
+
+$(DISSECTOR_FILES): $(top_srcdir)/tools/asn2wrs.py $(SRC_FILES) $(EXTRA_CNF)
+ python $(top_srcdir)/tools/asn2wrs.py \
+ $(A2W_FLAGS) \
+ $(PROTO_OPT) \
+ -c $(srcdir)/$(PROTOCOL_NAME).cnf \
+ -s $(srcdir)/packet-$(PROTOCOL_NAME)-template \
+ -D $(srcdir) \
+ $(EXT_ASN_FILE_LIST) $(ASN_FILE_LIST) $(EXT_ASN_FILE_LIST_LATE)
+
+$(EXPORT_FILES): $(top_srcdir)/tools/asn2wrs.py $(SRC_FILES)
+ python $(top_srcdir)/tools/asn2wrs.py \
+ -E $(A2W_FLAGS) \
+ $(PROTO_OPT) \
+ -c $(srcdir)/$(PROTOCOL_NAME).cnf \
+ -D $(srcdir) \
+ $(EXT_ASN_FILE_LIST) $(ASN_FILE_LIST) $(EXT_ASN_FILE_LIST_LATE)
+
+copy_files: generate_dissector
+ cp $(DISSECTOR_FILES) $(top_srcdir)/epan/dissectors/
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/asn1/t124/Makefile.am b/asn1/t124/Makefile.am
new file mode 100644
index 0000000000..462af31e88
--- /dev/null
+++ b/asn1/t124/Makefile.am
@@ -0,0 +1,26 @@
+# $Id$
+#
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+include ../Makefile.preinc
+include Makefile.common
+include ../Makefile.inc
+
diff --git a/asn1/t124/Makefile.common b/asn1/t124/Makefile.common
new file mode 100644
index 0000000000..af4c36ebf9
--- /dev/null
+++ b/asn1/t124/Makefile.common
@@ -0,0 +1,51 @@
+# $Id$
+#
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+PROTOCOL_NAME=t124
+
+DISSECTOR_FILES=packet-$(PROTOCOL_NAME).c \
+ packet-$(PROTOCOL_NAME).h
+
+
+EXT_ASN_FILE_LIST =
+
+ASN_FILE_LIST = GCC-PROTOCOL.asn MCS-PROTOCOL.asn
+
+# The packet-$(PROTOCOL_NAME)-template.h and $(PROTOCOL_NAME).asn
+# files do not exist for all protocols: Please add/remove as required.
+EXTRA_DIST = \
+ Makefile.nmake \
+ $(ASN_FILE_LIST) \
+ packet-$(PROTOCOL_NAME)-template.c \
+ packet-$(PROTOCOL_NAME)-template.h \
+ $(PROTOCOL_NAME).cnf
+
+SRC_FILES = \
+ $(EXTRA_DIST) \
+ $(EXT_ASN_FILE_LIST)
+
+A2W_FLAGS=
+
+EXTRA_CNF=
+
+MCS-PROTOCOL.asn: ../t125/MCS-PROTOCOL.asn
+ cp $< $@ \ No newline at end of file
diff --git a/asn1/t124/Makefile.in b/asn1/t124/Makefile.in
new file mode 100644
index 0000000000..a3c4d7178e
--- /dev/null
+++ b/asn1/t124/Makefile.in
@@ -0,0 +1,651 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# $Id$
+#
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# To be included into the asn1 Makefiles
+#
+# $Id$
+#
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# $Id$
+#
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# To be included into the asn1 Makefiles
+#
+# $Id$
+#
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+DIST_COMMON = $(srcdir)/../Makefile.inc $(srcdir)/../Makefile.preinc \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.common \
+ $(srcdir)/Makefile.in
+subdir = asn1/t124
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/aclocal-fallback/glib-2.0.m4 \
+ $(top_srcdir)/aclocal-fallback/gtk-2.0.m4 \
+ $(top_srcdir)/aclocal-fallback/gtk-3.0.m4 \
+ $(top_srcdir)/aclocal-fallback/libgcrypt.m4 \
+ $(top_srcdir)/aclocal-fallback/libsmi.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ADNS_LIBS = @ADNS_LIBS@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CFLAGS = @CFLAGS@
+CORESERVICES_FRAMEWORKS = @CORESERVICES_FRAMEWORKS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+C_ARES_LIBS = @C_ARES_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+DUMPCAP_GROUP = @DUMPCAP_GROUP@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ELINKS = @ELINKS@
+ENABLE_STATIC = @ENABLE_STATIC@
+ENABLE_STATIC_FALSE = @ENABLE_STATIC_FALSE@
+ENABLE_STATIC_TRUE = @ENABLE_STATIC_TRUE@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FOP = @FOP@
+GEOIP_LIBS = @GEOIP_LIBS@
+GETOPT_LO = @GETOPT_LO@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
+GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GOBJECT_QUERY = @GOBJECT_QUERY@
+GREP = @GREP@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_LIBS = @GTK_LIBS@
+HAVE_BLESS = @HAVE_BLESS@
+HAVE_DOXYGEN = @HAVE_DOXYGEN@
+HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@
+HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@
+HAVE_DPKG_BUILDPACKAGE = @HAVE_DPKG_BUILDPACKAGE@
+HAVE_DUMPCAP_GROUP_FALSE = @HAVE_DUMPCAP_GROUP_FALSE@
+HAVE_DUMPCAP_GROUP_TRUE = @HAVE_DUMPCAP_GROUP_TRUE@
+HAVE_ELINKS = @HAVE_ELINKS@
+HAVE_ELINKS_FALSE = @HAVE_ELINKS_FALSE@
+HAVE_ELINKS_TRUE = @HAVE_ELINKS_TRUE@
+HAVE_FOP = @HAVE_FOP@
+HAVE_FOP_FALSE = @HAVE_FOP_FALSE@
+HAVE_FOP_TRUE = @HAVE_FOP_TRUE@
+HAVE_HDIUTIL = @HAVE_HDIUTIL@
+HAVE_HHC = @HAVE_HHC@
+HAVE_HHC_FALSE = @HAVE_HHC_FALSE@
+HAVE_HHC_TRUE = @HAVE_HHC_TRUE@
+HAVE_LIBLUA_FALSE = @HAVE_LIBLUA_FALSE@
+HAVE_LIBLUA_TRUE = @HAVE_LIBLUA_TRUE@
+HAVE_LIBPORTAUDIO_FALSE = @HAVE_LIBPORTAUDIO_FALSE@
+HAVE_LIBPORTAUDIO_TRUE = @HAVE_LIBPORTAUDIO_TRUE@
+HAVE_LIBPY_FALSE = @HAVE_LIBPY_FALSE@
+HAVE_LIBPY_TRUE = @HAVE_LIBPY_TRUE@
+HAVE_LYNX = @HAVE_LYNX@
+HAVE_LYNX_FALSE = @HAVE_LYNX_FALSE@
+HAVE_LYNX_TRUE = @HAVE_LYNX_TRUE@
+HAVE_OSX_PACKAGING = @HAVE_OSX_PACKAGING@
+HAVE_PKGMK = @HAVE_PKGMK@
+HAVE_PKGPROTO = @HAVE_PKGPROTO@
+HAVE_PKGTRANS = @HAVE_PKGTRANS@
+HAVE_PLUGINS_FALSE = @HAVE_PLUGINS_FALSE@
+HAVE_PLUGINS_TRUE = @HAVE_PLUGINS_TRUE@
+HAVE_RPM = @HAVE_RPM@
+HAVE_SVR4_PACKAGING = @HAVE_SVR4_PACKAGING@
+HAVE_WARNINGS_AS_ERRORS_FALSE = @HAVE_WARNINGS_AS_ERRORS_FALSE@
+HAVE_WARNINGS_AS_ERRORS_TRUE = @HAVE_WARNINGS_AS_ERRORS_TRUE@
+HAVE_XCODEBUILD = @HAVE_XCODEBUILD@
+HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XMLLINT_FALSE = @HAVE_XMLLINT_FALSE@
+HAVE_XMLLINT_TRUE = @HAVE_XMLLINT_TRUE@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
+HAVE_XSLTPROC_FALSE = @HAVE_XSLTPROC_FALSE@
+HAVE_XSLTPROC_TRUE = @HAVE_XSLTPROC_TRUE@
+HHC = @HHC@
+HTML_VIEWER = @HTML_VIEWER@
+INET_ATON_LO = @INET_ATON_LO@
+INET_NTOP_LO = @INET_NTOP_LO@
+INET_PTON_LO = @INET_PTON_LO@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KRB5_CONFIG = @KRB5_CONFIG@
+KRB5_LIBS = @KRB5_LIBS@
+LAUNCHSERVICES_FRAMEWORKS = @LAUNCHSERVICES_FRAMEWORKS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LDFLAGS_SHAREDLIB = @LDFLAGS_SHAREDLIB@
+LEX = @LEX@
+LEXLIB = @LEXLIB@
+LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+LIBCAP_LIBS = @LIBCAP_LIBS@
+LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
+LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
+LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
+LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@
+LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSMI_CFLAGS = @LIBSMI_CFLAGS@
+LIBSMI_LDFLAGS = @LIBSMI_LDFLAGS@
+LIBSMI_VERSION = @LIBSMI_VERSION@
+LIBTOOL = @LIBTOOL@
+LIBTOOL_DEPS = @LIBTOOL_DEPS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LUA_INCLUDES = @LUA_INCLUDES@
+LUA_LIBS = @LUA_LIBS@
+LYNX = @LYNX@
+MAKEINFO = @MAKEINFO@
+NEED_GETOPT_LO_FALSE = @NEED_GETOPT_LO_FALSE@
+NEED_GETOPT_LO_TRUE = @NEED_GETOPT_LO_TRUE@
+NEED_INET_ATON_LO_FALSE = @NEED_INET_ATON_LO_FALSE@
+NEED_INET_ATON_LO_TRUE = @NEED_INET_ATON_LO_TRUE@
+NEED_INET_NTOP_LO_FALSE = @NEED_INET_NTOP_LO_FALSE@
+NEED_INET_NTOP_LO_TRUE = @NEED_INET_NTOP_LO_TRUE@
+NEED_INET_PTON_LO_FALSE = @NEED_INET_PTON_LO_FALSE@
+NEED_INET_PTON_LO_TRUE = @NEED_INET_PTON_LO_TRUE@
+NEED_STRNCASECMP_LO_FALSE = @NEED_STRNCASECMP_LO_FALSE@
+NEED_STRNCASECMP_LO_TRUE = @NEED_STRNCASECMP_LO_TRUE@
+NEED_STRPTIME_LO_FALSE = @NEED_STRPTIME_LO_FALSE@
+NEED_STRPTIME_LO_TRUE = @NEED_STRPTIME_LO_TRUE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+NSL_LIBS = @NSL_LIBS@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PCAP_CONFIG = @PCAP_CONFIG@
+PCAP_LIBS = @PCAP_LIBS@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PLUGIN_LIBS = @PLUGIN_LIBS@
+POD2HTML = @POD2HTML@
+POD2MAN = @POD2MAN@
+PORTAUDIO_INCLUDES = @PORTAUDIO_INCLUDES@
+PORTAUDIO_LIBS = @PORTAUDIO_LIBS@
+PYTHON = @PYTHON@
+PY_CFLAGS = @PY_CFLAGS@
+PY_LIBS = @PY_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SETCAP = @SETCAP@
+SETCAP_INSTALL_FALSE = @SETCAP_INSTALL_FALSE@
+SETCAP_INSTALL_TRUE = @SETCAP_INSTALL_TRUE@
+SETUID_INSTALL_FALSE = @SETUID_INSTALL_FALSE@
+SETUID_INSTALL_TRUE = @SETUID_INSTALL_TRUE@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOCKET_LIBS = @SOCKET_LIBS@
+SSL_LIBS = @SSL_LIBS@
+STRIP = @STRIP@
+STRNCASECMP_LO = @STRNCASECMP_LO@
+STRPTIME_C = @STRPTIME_C@
+STRPTIME_LO = @STRPTIME_LO@
+USE_PROFILE_BUILD_FALSE = @USE_PROFILE_BUILD_FALSE@
+USE_PROFILE_BUILD_TRUE = @USE_PROFILE_BUILD_TRUE@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+YACC = @YACC@
+YACCDUMMY = @YACCDUMMY@
+YFLAGS = @YFLAGS@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_cv_wireshark_have_rpm = @ac_cv_wireshark_have_rpm@
+ac_ws_python_config = @ac_ws_python_config@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+capinfos_bin = @capinfos_bin@
+capinfos_man = @capinfos_man@
+datadir = @datadir@
+datarootdir = @datarootdir@
+dftest_bin = @dftest_bin@
+dftest_man = @dftest_man@
+docdir = @docdir@
+dumpcap_bin = @dumpcap_bin@
+dumpcap_man = @dumpcap_man@
+dvidir = @dvidir@
+editcap_bin = @editcap_bin@
+editcap_man = @editcap_man@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+idl2wrs_bin = @idl2wrs_bin@
+idl2wrs_man = @idl2wrs_man@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mergecap_bin = @mergecap_bin@
+mergecap_man = @mergecap_man@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+plugindir = @plugindir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pythondir = @pythondir@
+randpkt_bin = @randpkt_bin@
+randpkt_man = @randpkt_man@
+rawshark_bin = @rawshark_bin@
+rawshark_man = @rawshark_man@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+text2pcap_bin = @text2pcap_bin@
+text2pcap_man = @text2pcap_man@
+tshark_bin = @tshark_bin@
+tshark_man = @tshark_man@
+wireshark_SUBDIRS = @wireshark_SUBDIRS@
+wireshark_bin = @wireshark_bin@
+wireshark_man = @wireshark_man@
+wiresharkfilter_man = @wiresharkfilter_man@
+MAKE_CNF_EXPORT = $(MAKE) generate_export
+PROTOCOL_NAME = t124
+DISSECTOR_FILES = packet-$(PROTOCOL_NAME).c \
+ packet-$(PROTOCOL_NAME).h
+
+EXT_ASN_FILE_LIST =
+ASN_FILE_LIST = GCC-PROTOCOL.asn MCS-PROTOCOL.asn
+
+# The packet-$(PROTOCOL_NAME)-template.h and $(PROTOCOL_NAME).asn
+# files do not exist for all protocols: Please add/remove as required.
+EXTRA_DIST = \
+ Makefile.nmake \
+ $(ASN_FILE_LIST) \
+ packet-$(PROTOCOL_NAME)-template.c \
+ packet-$(PROTOCOL_NAME)-template.h \
+ $(PROTOCOL_NAME).cnf
+
+SRC_FILES = \
+ $(EXTRA_DIST) \
+ $(EXT_ASN_FILE_LIST)
+
+A2W_FLAGS =
+EXTRA_CNF =
+CLEANFILES = \
+ parsetab.py \
+ parsetab.pyc \
+ $(DISSECTOR_FILES) \
+ *-exp.cnf \
+ packet-*-{dis-tab,ettarr,ett,exp,fn,hfarr,hf,table*,val}.[hc]
+
+MAINTAINERCLEANFILES = \
+ Makefile.in
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/../Makefile.preinc $(srcdir)/Makefile.common $(srcdir)/../Makefile.inc $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu asn1/t124/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu asn1/t124/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ $(mkdir_p) $(distdir)/..
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-exec install-exec-am \
+ install-info install-info-am install-man install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-info-am
+
+
+# Don't generate all the dissectors during toplevel make.
+all:
+
+MCS-PROTOCOL.asn: ../t125/MCS-PROTOCOL.asn
+ cp $< $@
+
+all: copy_files
+
+generate_dissector: $(DISSECTOR_FILES)
+
+generate_export: $(EXPORT_FILES)
+
+PROTO_OPT ?= -p $(PROTOCOL_NAME)
+
+$(DISSECTOR_FILES): $(top_srcdir)/tools/asn2wrs.py $(SRC_FILES) $(EXTRA_CNF)
+ python $(top_srcdir)/tools/asn2wrs.py \
+ $(A2W_FLAGS) \
+ $(PROTO_OPT) \
+ -c $(srcdir)/$(PROTOCOL_NAME).cnf \
+ -s $(srcdir)/packet-$(PROTOCOL_NAME)-template \
+ -D $(srcdir) \
+ $(EXT_ASN_FILE_LIST) $(ASN_FILE_LIST) $(EXT_ASN_FILE_LIST_LATE)
+
+$(EXPORT_FILES): $(top_srcdir)/tools/asn2wrs.py $(SRC_FILES)
+ python $(top_srcdir)/tools/asn2wrs.py \
+ -E $(A2W_FLAGS) \
+ $(PROTO_OPT) \
+ -c $(srcdir)/$(PROTOCOL_NAME).cnf \
+ -D $(srcdir) \
+ $(EXT_ASN_FILE_LIST) $(ASN_FILE_LIST) $(EXT_ASN_FILE_LIST_LATE)
+
+copy_files: generate_dissector
+ cp $(DISSECTOR_FILES) $(top_srcdir)/epan/dissectors/
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/asn1/t124/Makefile.nmake b/asn1/t124/Makefile.nmake
new file mode 100644
index 0000000000..5a32997c60
--- /dev/null
+++ b/asn1/t124/Makefile.nmake
@@ -0,0 +1,29 @@
+## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
+#
+# $Id$
+#
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+include ../../config.nmake
+include ../Makefile.preinc.nmake
+include Makefile.common
+include ../Makefile.inc.nmake
+
diff --git a/asn1/t124/packet-t124-template.c b/asn1/t124/packet-t124-template.c
new file mode 100644
index 0000000000..aa1e466a35
--- /dev/null
+++ b/asn1/t124/packet-t124-template.c
@@ -0,0 +1,204 @@
+/* packet-t124.c
+ * Routines for t124 packet dissection
+ * Copyright 2010, Graeme Lunt
+ *
+ * $Id$
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <glib.h>
+#include <epan/packet.h>
+#include <epan/conversation.h>
+
+#include <epan/asn1.h>
+#include "packet-per.h"
+#include "packet-ber.h"
+#include "packet-t124.h"
+
+#define PNAME "GENERIC-CONFERENCE-CONTROL T.124"
+#define PSNAME "T.124"
+#define PFNAME "t124"
+
+/* Initialize the protocol and registered fields */
+static int proto_t124 = -1;
+static proto_tree *top_tree = NULL;
+
+#include "packet-t124-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_t124 = -1;
+static int ett_t124_connectGCCPDU = -1;
+
+static int hf_t124_ConnectData = -1;
+static int hf_t124_connectGCCPDU = -1;
+static int hf_t124_DomainMCSPDU_PDU = -1;
+
+static guint32 channelId = -1;
+
+static const char *t124Identifier = NULL; /* extensions identifier */
+static tvbuff_t *t124NSIdentifier = NULL; /* extensions non-standard identifier */
+static dissector_table_t t124_ns_dissector_table=NULL;
+static dissector_table_t t124_sd_dissector_table=NULL;
+
+#include "packet-t124-ett.c"
+
+#include "packet-t124-fn.c"
+
+static const per_sequence_t t124Heur_sequence[] = {
+ { &hf_t124_t124Identifier , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Key },
+ { NULL, 0, 0, NULL }
+};
+
+void
+register_t124_ns_dissector(const char *nsKey, dissector_t dissector, int proto)
+{
+ dissector_handle_t dissector_handle;
+
+ dissector_handle=create_dissector_handle(dissector, proto);
+ dissector_add_string("t124.ns", nsKey, dissector_handle);
+}
+
+void register_t124_sd_dissector(packet_info *pinfo _U_, guint32 channelId, dissector_t dissector, int proto)
+{
+ /* XXX: we should keep the sub-dissectors list per conversation
+ as the same channels may be used.
+ While we are just using RDP over T.124, then we can get away with it.
+ */
+
+ dissector_handle_t dissector_handle;
+
+ dissector_handle=create_dissector_handle(dissector, proto);
+ dissector_add_uint("t124.sd", channelId, dissector_handle);
+
+}
+
+guint32 t124_get_last_channelId(void)
+{
+ return channelId;
+}
+
+void t124_set_top_tree(proto_tree *tree)
+{
+ top_tree = tree;
+}
+
+int dissect_DomainMCSPDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+
+ offset = dissect_t124_DomainMCSPDU(tvb, offset, &asn1_ctx, tree, hf_t124_DomainMCSPDU_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+
+static int
+dissect_t124(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *parent_tree)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ asn1_ctx_t asn1_ctx;
+
+ top_tree = parent_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "T.125");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ item = proto_tree_add_item(parent_tree, proto_t124, tvb, 0, tvb_length(tvb), FALSE);
+ tree = proto_item_add_subtree(item, ett_t124);
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ dissect_t124_ConnectData(tvb, 0, &asn1_ctx, tree, hf_t124_ConnectData);
+
+ return tvb_length(tvb);
+}
+
+static gboolean
+dissect_t124_heur(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *parent_tree)
+{
+ asn1_ctx_t asn1_ctx;
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+
+ t124Identifier = NULL;
+
+ (void) dissect_per_sequence(tvb, 0, &asn1_ctx, NULL, -1, -1, t124Heur_sequence);
+
+ if((t124Identifier != NULL) &&
+ (strcmp(t124Identifier, "0.0.20.124.0.1") == 0)) {
+
+ dissect_t124(tvb, pinfo, parent_tree);
+
+ }
+
+ return FALSE;
+}
+
+/*--- proto_register_t124 -------------------------------------------*/
+void proto_register_t124(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_t124_ConnectData,
+ { "ConnectData", "t124.ConnectData",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_t124_connectGCCPDU,
+ { "connectGCCPDU", "t124.connectGCCPDU",
+ FT_UINT32, BASE_DEC, VALS(t124_ConnectGCCPDU_vals), 0,
+ NULL, HFILL }},
+ { &hf_t124_DomainMCSPDU_PDU,
+ { "DomainMCSPDU", "t124.DomainMCSPDU",
+ FT_UINT32, BASE_DEC, VALS(t124_DomainMCSPDU_vals), 0,
+ NULL, HFILL }},
+#include "packet-t124-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_t124,
+ &ett_t124_connectGCCPDU,
+#include "packet-t124-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_t124 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_t124, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ t124_ns_dissector_table = register_dissector_table("t124.ns", "T.124 H.221 Non Standard Dissectors", FT_STRING, BASE_NONE);
+ t124_sd_dissector_table = register_dissector_table("t124.sd", "T.124 H.221 Send Data Dissectors", FT_UINT32, BASE_NONE);
+
+ new_register_dissector("t124", dissect_t124, proto_t124);
+}
+
+proto_reg_handoff_t124(void) {
+
+ register_ber_oid_dissector("0.0.20.124.0.1", dissect_t124, proto_t124, "Generic Conference Control");
+
+ heur_dissector_add("t125", dissect_t124_heur, proto_t124);
+
+}
diff --git a/asn1/t124/packet-t124-template.h b/asn1/t124/packet-t124-template.h
new file mode 100644
index 0000000000..19de4239ae
--- /dev/null
+++ b/asn1/t124/packet-t124-template.h
@@ -0,0 +1,43 @@
+/* packet-t124.h
+ * Routines for t124 packet dissection
+ * Copyright 2010, Graeme Lunt
+ *
+ * $Id$
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef PACKET_T124_H
+#define PACKET_T124_H
+
+#include <epan/packet_info.h>
+#include <epan/dissectors/packet-per.h>
+
+extern int dissect_DomainMCSPDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
+extern guint32 t124_get_last_channelId(void);
+extern void t124_set_top_tree(proto_tree *tree);
+
+extern void register_t124_ns_dissector(const char *nsKey, dissector_t dissector, int proto);
+extern void register_t124_sd_dissector(packet_info *pinfo, guint32 channelId, dissector_t dissector, int proto);
+
+#include "packet-t124-exp.h"
+
+#endif /* PACKET_T124_H */
+
+
diff --git a/asn1/t124/t124.cnf b/asn1/t124/t124.cnf
new file mode 100644
index 0000000000..d0a992f3d0
--- /dev/null
+++ b/asn1/t124/t124.cnf
@@ -0,0 +1,162 @@
+# T.124/GCC-PROTOCOL.cnf
+# Copyright 2011 Graeme Lunt
+# $Id$
+#----------------------------------------------------------------------------------------
+#.EXPORTS
+#----------------------------------------------------------------------------------------
+ConnectData
+ConnectGCCPDU
+#.END
+
+#.PDU
+#----------------------------------------------------------------------------------------
+
+#.PDU_NEW
+#----------------------------------------------------------------------------------------
+
+
+#.TF_RENAME
+ISDNConnection/circuitTypes ISDNCircuitTypes
+ISDNConnection/circuitTypes/_item ISDNCircuitTypes_item
+ISDNConnection/highLayerCompatibility ISDNHighLayerCompatibility
+PSDNConnection/networkAddress PSDNNetworkAddress
+ConferenceTerminateRequest/reason TerminateRequestReason
+ConferenceTerminateIndication/reason TerminateIndicationReason
+ConferenceEjectUserRequest/reason EjectUserRequestReason
+RosterUpdateIndication/nodeInformation/nodeRecordList/refresh NodeRefresh
+RosterUpdateIndication/applicationInformation/_item/applicationRecordList/refresh ApplicationRefresh
+RosterUpdateIndication/applicationInformation/_item/applicationRecordList/update ApplicationUpdate
+RosterUpdateIndication/applicationInformation/_item/applicationRecordList/update/_item ApplicationUpdateItem
+ConferenceQueryResponse/result QueryResponseResult
+ConferenceJoinResponse/result JoinResponseResult
+ConferenceInviteResponse/result InviteResponseResult
+ConferenceAddResponse/result AddResponseResult
+ConferenceLockResponse/result LockResponseResult
+ConferenceUnlockResponse/result UnlockResponseResult
+ConferenceTerminateResponse/result TerminateResponseResult
+ConferenceEjectUserResponse/result EjectUserResponseResult
+ConferenceTransferResponse/result TransferResponseResult
+RegistryAllocateHandleResponse/result AllocateHandleResponseResult
+
+#.FN_BODY ConnectData/connectPDU VAL_PTR = &next_tvb
+ tvbuff_t *next_tvb = NULL;
+ proto_tree *next_tree = NULL;
+ int old_offset = 0;
+
+ old_offset = offset;
+ %(DEFAULT_BODY)s
+ if(next_tvb) {
+ /* "2a -> ConnectData::connectPDU length = 42 bytes */
+ /* This length MUST be ignored by the client." */
+
+ /* Not sure why - but lets ignore the length. */
+ /* We assume the OCTET STRING is all of the remaining bytes */
+
+ if(tvb_length(next_tvb) == 42) {
+ /* this is perhaps a naive ... */
+ next_tvb = tvb_new_subset_remaining(tvb, (old_offset>>3)+1);
+ }
+
+ next_tree = proto_item_add_subtree(actx->created_item, ett_t124_connectGCCPDU);
+
+ dissect_t124_ConnectGCCPDU(next_tvb, 0, actx, next_tree, hf_t124_connectGCCPDU);
+
+ }
+#.END
+
+#.FN_BODY UserData/_item/value VAL_PTR = &next_tvb
+ tvbuff_t *next_tvb = NULL;
+ guint8 *ns = NULL;
+
+%(DEFAULT_BODY)s
+
+ if(next_tvb) {
+
+ ns = tvb_get_string(t124NSIdentifier, 0, tvb_length(t124NSIdentifier));
+ if(ns != NULL) {
+ dissector_try_string(t124_ns_dissector_table, ns, next_tvb, actx->pinfo, top_tree);
+ g_free(ns);
+ }
+ }
+
+#.END
+
+#.FN_BODY SendDataRequest/userData VAL_PTR = &next_tvb
+ tvbuff_t *next_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if(next_tvb) {
+
+ dissector_try_uint(t124_sd_dissector_table, channelId, next_tvb, actx->pinfo, top_tree);
+
+ }
+
+#.END
+
+#.FN_BODY SendDataIndication/userData VAL_PTR = &next_tvb
+ tvbuff_t *next_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if(next_tvb) {
+
+ dissector_try_uint(t124_sd_dissector_table, channelId, next_tvb, actx->pinfo, top_tree);
+
+ }
+
+#.END
+
+
+#.FN_BODY DomainMCSPDU VAL_PTR = &domainmcs_value
+ gint domainmcs_value;
+
+%(DEFAULT_BODY)s
+ switch(domainmcs_value) {
+ case 25: /* sendDataRequest */
+ case 26: /* sendDataIndication */
+ case 27: /* uniformSendDataRequest */
+ case 28: /* uniformSendDataIndication */
+ /* Do nothing */
+ break;
+ default:
+ col_prepend_fstr(%(ACTX)s->pinfo->cinfo, COL_INFO, "%%s ", val_to_str(domainmcs_value, t124_DomainMCSPDU_vals, "Unknown"));
+ break;
+ }
+
+#.END
+
+#.FN_PARS Key/object
+ FN_VARIANT = _str VAL_PTR = &t124Identifier
+
+#.FN_PARS H221NonStandardIdentifier
+ VAL_PTR = &t124NSIdentifier
+
+#.FN_BODY H221NonStandardIdentifier
+
+ %(DEFAULT_BODY)s
+
+#.FN_PARS ChannelId VAL_PTR = &channelId
+
+#.FN_BODY ChannelId
+
+ %(DEFAULT_BODY)s
+
+ if(hf_index == hf_t124_channelId_03)
+ col_append_fstr(%(ACTX)s->pinfo->cinfo, COL_INFO, "%%d", channelId);
+
+
+#.OMIT_ASSIGNMENT
+StaticChannelID
+TokenID
+StaticTokenID
+RosterRefreshRequest
+GCCPDU
+#.END
+#.VIRTUAL_ASSGN
+#----------------------------------------------------------------------------------------
+
+#.END
+
+#----------------------------------------------------------------------------------------
+# vim:set ts=4 sts=2 sw=2:
diff --git a/asn1/t125/packet-t125-template.c b/asn1/t125/packet-t125-template.c
index 7c5c5b86ab..4940c12f4f 100644
--- a/asn1/t125/packet-t125-template.c
+++ b/asn1/t125/packet-t125-template.c
@@ -33,6 +33,9 @@
#include <epan/asn1.h>
#include "packet-ber.h"
+#include "packet-per.h"
+
+#include "packet-t124.h"
#define PNAME "MULTIPOINT-COMMUNICATION-SERVICE T.125"
#define PSNAME "T.125"
@@ -41,12 +44,19 @@
/* Initialize the protocol and registered fields */
static int proto_t125 = -1;
+static proto_tree *top_tree = NULL;
#include "packet-t125-hf.c"
/* Initialize the subtree pointers */
static int ett_t125 = -1;
+
+static int hf_t125_connectData = -1;
+static int hf_t125_heur = -1;
+
#include "packet-t125-ett.c"
+static heur_dissector_list_t t125_heur_subdissector_list;
+
#include "packet-t125-fn.c"
static int
@@ -58,6 +68,8 @@ dissect_t125(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *parent_tree)
gboolean pc;
gint32 tag;
+ top_tree = parent_tree;
+
col_set_str(pinfo->cinfo, COL_PROTOCOL, "T.125");
col_clear(pinfo->cinfo, COL_INFO);
@@ -68,20 +80,58 @@ dissect_t125(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *parent_tree)
if ( (class==BER_CLASS_APP) && (tag>=101) && (tag<=104) ){
dissect_ConnectMCSPDU_PDU(tvb, pinfo, tree);
- } else {
- col_set_str(pinfo->cinfo, COL_INFO, "T.125 payload");
- proto_tree_add_text(tree, tvb, 0, -1, "T.125 payload");
+ } else {
+ t124_set_top_tree(top_tree);
+ dissect_DomainMCSPDU_PDU(tvb, pinfo, tree);
}
return tvb_length(tvb);
}
+static gboolean
+dissect_t125_heur(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *parent_tree)
+{
+ gint8 class;
+ gboolean pc;
+ gint32 tag;
+ guint32 choice_index = 100;
+ asn1_ctx_t asn1_ctx;
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+
+ /* could be BER */
+ get_ber_identifier(tvb, 0, &class, &pc, &tag);
+ /* or PER */
+ dissect_per_constrained_integer(tvb, 0, &asn1_ctx,
+ NULL, hf_t125_heur, 0, 42,
+ &choice_index, FALSE);
+
+ /* is this strong enough ? */
+ if ( ((class==BER_CLASS_APP) && ((tag>=101) && (tag<=104))) ||
+ (choice_index <=42)) {
+
+ dissect_t125(tvb, pinfo, parent_tree);
+
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
/*--- proto_register_t125 -------------------------------------------*/
void proto_register_t125(void) {
/* List of fields */
static hf_register_info hf[] = {
+ { &hf_t125_connectData,
+ { "connectData", "t125.connectData",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_t125_heur,
+ { "heuristic", "t125.heuristic",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
#include "packet-t125-hfarr.c"
};
@@ -97,10 +147,15 @@ void proto_register_t125(void) {
proto_register_field_array(proto_t125, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
+ register_heur_dissector_list("t125", &t125_heur_subdissector_list);
+
new_register_dissector("t125", dissect_t125, proto_t125);
}
/*--- proto_reg_handoff_t125 ---------------------------------------*/
void proto_reg_handoff_t125(void) {
+
+ heur_dissector_add("cotp", dissect_t125_heur, proto_t125);
+ heur_dissector_add("cotp_is", dissect_t125_heur, proto_t125);
}
diff --git a/asn1/t125/t125.cnf b/asn1/t125/t125.cnf
index 944f5b286d..a14a58a6a6 100644
--- a/asn1/t125/t125.cnf
+++ b/asn1/t125/t125.cnf
@@ -12,33 +12,46 @@
#.PDU_NEW
#----------------------------------------------------------------------------------------
ConnectMCSPDU
-#DomainMCSPDU
#.END
#.VIRTUAL_ASSGN
#----------------------------------------------------------------------------------------
-#.FN_BODY ConnectMCSPDU VAL_PTR = &connectmcs_value
- gint connectmcs_value;
+#.FN_BODY DomainMCSPDU VAL_PTR = &domainmcs_value
+ gint domainmcs_value;
%(DEFAULT_BODY)s
- if( (connectmcs_value!=-1) && t125_ConnectMCSPDU_vals[connectmcs_value].strptr ){
- if (check_col(%(ACTX)s->pinfo->cinfo, COL_INFO)){
- col_add_fstr(%(ACTX)s->pinfo->cinfo, COL_INFO, "MCS: %%s ", t125_ConnectMCSPDU_vals[connectmcs_value].strptr);
- }
+ switch(domainmcs_value) {
+ case 25: /* sendDataRequest */
+ case 26: /* sendDataIndication */
+ case 27: /* uniformSendDataRequest */
+ case 28: /* uniformSendDataIndication */
+ /* Do nothing */
+ break;
+ default:
+ col_append_sep_fstr(%(ACTX)s->pinfo->cinfo, COL_INFO, " ", "MCS: %%s ", val_to_str(domainmcs_value, t125_DomainMCSPDU_vals, "Unknown"));
+ break;
}
#.END
-#.FN_BODY DomainMCSPDU VAL_PTR = &domainmcs_value
- gint domainmcs_value;
+#.FN_BODY Connect-Initial/_untag/userData VAL_PTR = &next_tvb
+#.FN_BODY Connect-Initial/_untag/userData
+ tvbuff_t *next_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(next_tvb)
+ dissector_try_heuristic(t125_heur_subdissector_list, next_tvb,
+ actx->pinfo, top_tree);
+#.END
+#.FN_BODY Connect-Response/_untag/userData VAL_PTR = &next_tvb
+#.FN_BODY Connect-Response/_untag/userData
+ tvbuff_t *next_tvb = NULL;
%(DEFAULT_BODY)s
- if( (domainmcs_value!=-1) && t125_DomainMCSPDU_vals[domainmcs_value].strptr ){
- if (check_col(%(ACTX)s->pinfo->cinfo, COL_INFO)){
- col_add_fstr(%(ACTX)s->pinfo->cinfo, COL_INFO, "MCS: %%s ", t125_DomainMCSPDU_vals[domainmcs_value].strptr);
- }
- }
+ if(next_tvb)
+ dissector_try_heuristic(t125_heur_subdissector_list, next_tvb,
+ actx->pinfo, top_tree);
#.END
+
#----------------------------------------------------------------------------------------
# vim:set ts=4 sts=2 sw=2: