aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/inap
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2005-02-09 22:31:40 +0000
committerAnders Broman <anders.broman@ericsson.com>2005-02-09 22:31:40 +0000
commit38c428010b0d722340cbae0869c7797e6114174b (patch)
treed02d27a8d291c8332d3bcc9162c5120013d0cb25 /asn1/inap
parent60e1e4cd042e196da598df6456064df31f46274e (diff)
downloadwireshark-38c428010b0d722340cbae0869c7797e6114174b.tar.gz
wireshark-38c428010b0d722340cbae0869c7797e6114174b.tar.bz2
wireshark-38c428010b0d722340cbae0869c7797e6114174b.zip
From Tim Endean: INAP dissector.
svn path=/trunk/; revision=13363
Diffstat (limited to 'asn1/inap')
-rw-r--r--asn1/inap/inap.asn861
-rw-r--r--asn1/inap/inap.cnf52
-rw-r--r--asn1/inap/packet-inap-template.c411
-rw-r--r--asn1/inap/packet-inap-template.h32
4 files changed, 1356 insertions, 0 deletions
diff --git a/asn1/inap/inap.asn b/asn1/inap/inap.asn
new file mode 100644
index 0000000000..cdb81873be
--- /dev/null
+++ b/asn1/inap/inap.asn
@@ -0,0 +1,861 @@
+IN-CS-1-Operations-appendix { ccitt recommendation q 1218 modules(0) cs-1-operations-app(4) version1(0) }
+-- This module contains additional type definitions for IN CS-1 operations.
+DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+-- TYPE DEFINITION FOR ADDITIONAL IN CS-1 OPERATIONS
+-- SCF-SSF operations
+-- SCF ? SSF
+-- This operation is used to release a call party connection during a call between two or more parties.
+--LegIDAlreadyAssigned ::= ERROR
+-- Indicates that a legID has already been assigned with the requested value.
+--TooLate ::= ERROR
+-- Indicates that the operation could not be performed in a timely manner.
+--UnknownLegID ::= ERROR
+-- Indicates that the legID does not exist.
+-- TYPE DEFINITION FOR ADDITIONAL IN CS-1 DATA TYPES
+-- Argument Data Types
+AddPartyArg ::= SEQUENCE {
+ originalCallID [0] CallID OPTIONAL,
+ destinationCallID [1] CallID OPTIONAL
+ }
+-- OPTIONAL denotes network operator specific use.
+AttachArg ::= SEQUENCE {
+ newLegID [0] IMPLICIT OCTET STRING OPTIONAL,
+ correlationidentifier [1] IMPLICIT OCTET STRING OPTIONAL
+ }
+-- OPTIONAL denotes network operator specific use.
+CallPartyHandlingResultsArg ::= SEQUENCE OF LegInformation
+ChangePartiesArg ::= SEQUENCE {
+ callID [0] CallID OPTIONAL,
+ targetCallID [1] CallID,
+ legToBeConnectedID [2] IMPLICIT OCTET STRING
+ }
+-- OPTIONAL denotes network operator specific use.
+DetachArg ::= SEQUENCE {
+ legToBeDetached [0] IMPLICIT OCTET STRING OPTIONAL,
+ correlationidentifier [1] IMPLICIT OCTET STRING OPTIONAL
+ }
+-- OPTIONAL denotes network operator specific use.
+
+HoldCallPartyConnectionArg ::= SEQUENCE {
+ callID [0] CallID OPTIONAL,
+ legID [1] LegID
+ }
+LegID ::= CHOICE {
+ sendingSideID [0] IMPLICIT OCTET STRING (SIZE (1)),
+ receivingSideID [1] IMPLICIT OCTET STRING (SIZE (1))}
+-- OPTIONAL denotes network operator specific use.
+ReconnectArg ::= SEQUENCE {
+ callID [0] CallID OPTIONAL,
+ heldLegID [1] LegID
+ }
+-- OPTIONAL denotes network operator specific use.
+ReleaseCallPartyConnectionArg ::= SEQUENCE {
+ legToBeReleased [0] LegID,
+ callID [1] CallID OPTIONAL,
+ releaseCause [2] Cause OPTIONAL
+ }
+-- OPTIONAL denotes network operator specific use. Common Data Types
+CallID ::= INTEGER
+-- Indicates an identifier to reference an instance of a Call accessible to the SCF. Refer to
+-- 4.2.2.1/Q.1214 for a description of Call Segment.
+Cause ::= OCTET STRING
+-- Indicates the cause for interface related information. Refer to the Q.763 Cause parameter
+-- for encoding.
+LegInformation ::= SEQUENCE {
+ legID [0] LegID,
+ legStatus [1] LegStatus
+ }
+-- Indicates call party information, as defined by a Leg object. This includes a LegID to reference
+-- each call party, and a LegStatus to indicate whether the call party is connected or not.
+LegStatus ::= ENUMERATED {
+ connected(0),
+ unconnected(1),
+ pending(2),
+ interacting(3) -- user connected to a resource
+ }
+-- Indicates the state of the call party.
+-- OPERATION AND ERROR CODE DEFINITION
+-- Code point values are for further study. The operations are grouped by the identified ASEs.
+-- Call party handling ASE
+addParty AddParty ::= ffs
+changeParties ChangeParties ::= ffs
+holdCallPartyConnection HoldCallPartyConnection ::= ffs
+reconnect Reconnect ::= ffs
+releaseCallPartyConnection ReleaseCallPartyConnection ::= ffs
+-- Attach ASE
+attach Attach ::= ffs
+detach Detach ::= ffs
+
+VariableParts ::= SEQUENCE SIZE (1..5) OF
+ CHOICE {
+ integer [0] IMPLICIT INTEGER (0..2147483647),
+ number [1] IMPLICIT OCTET STRING ,
+ time [2] IMPLICIT OCTET STRING ,
+ date [3] IMPLICIT OCTET STRING ,
+ price [4] IMPLICIT OCTET STRING }
+
+VariableMessage ::= SEQUENCE {
+ elementaryMessageID [0] IMPLICIT INTEGER (0..2147483647),
+ variableParts [1] IMPLICIT VariableParts }
+
+TriggerType ::= ENUMERATED {
+ featureActivation (0),
+ verticalServiceCode (1),
+ customizedAccess (2),
+ customizedIntercom (3),
+ emergencyService (12),
+ aFR (13),
+ sharedIOTrunk (14),
+ offHookDelay (17),
+ channelSetupPRI (18),
+ tNoAnswer (25),
+ tBusy (26),
+ oCalledPartyBusy (27),
+ oNoAnswer (29),
+ originationAttemptAuthorized (30),
+ oAnswer (31),
+ oDisconnect (32),
+ termAttemptAuthorized (33),
+ tAnswer (34),
+ tDisconnect (35)}
+
+Tone ::= SEQUENCE {
+ toneID [0] IMPLICIT INTEGER (0..2147483647),
+ tduration [1] IMPLICIT INTEGER (0..2147483647) OPTIONAL}
+Text ::= SEQUENCE {
+ messageContent [0] IMPLICIT IA5String ,
+ attributes [1] IMPLICIT OCTET STRING OPTIONAL}
+MessageID ::= CHOICE {
+ elementaryMessageID [0] IMPLICIT INTEGER (0..2147483647),
+ text [1] IMPLICIT Text,
+ elementaryMessageIDs [29] IMPLICIT SEQUENCE SIZE (1..10) OF
+ INTEGER (0..2147483647),
+ variableMessage [30] IMPLICIT VariableMessage}
+
+ InformationToSend ::= CHOICE {
+ inbandInfo [0] IMPLICIT SEQUENCE {
+ messageID [0] MessageID,
+ numberOfRepetitions [1] IMPLICIT INTEGER (1..127) OPTIONAL,
+ mduration [2] IMPLICIT INTEGER (0..32767) OPTIONAL,
+ interval [3] IMPLICIT INTEGER (0..32767) OPTIONAL},
+ tone [1] IMPLICIT Tone,
+ displayInformation [2] IMPLICIT IA5String }
+FilteringCriteria ::= CHOICE {
+ dialledNumber [0] IMPLICIT OCTET STRING ,
+ callingLineID [1] IMPLICIT OCTET STRING ,
+ serviceKey [2] IMPLICIT INTEGER (0..2147483647),
+ addressAndService [30] IMPLICIT SEQUENCE {
+ calledAddressValue [0] IMPLICIT OCTET STRING ,
+ serviceKey [1] IMPLICIT INTEGER (0..2147483647),
+ callingAddressValue [2] IMPLICIT OCTET STRING OPTIONAL,
+ locationNumber [3] IMPLICIT OCTET STRING OPTIONAL}}
+Extensions ::= SEQUENCE SIZE (1..10) OF
+ SEQUENCE {
+ type INTEGER,
+ criticality ENUMERATED {
+ ignore (0),
+ abort (1)} DEFAULT ignore ,
+ value [1] IMPLICIT OCTET STRING }
+
+ActivateServiceFilteringarg ::= SEQUENCE {
+ filteredCallTreatment [0] IMPLICIT SEQUENCE {
+ sFBillingChargingCharacteristics [0] IMPLICIT OCTET STRING ,
+ informationToSend [1] InformationToSend OPTIONAL,
+ maximumNumberOfCounters [2] IMPLICIT INTEGER OPTIONAL,
+ releaseCause [3] IMPLICIT Cause OPTIONAL},
+ filteringCharacteristics [1] CHOICE {
+ interval [0] IMPLICIT INTEGER (0..32767),
+ numberOfCalls [1] IMPLICIT INTEGER (0..2147483647)},
+ filteringTimeOut [2] CHOICE {
+ aduration [0] IMPLICIT INTEGER (-2..86400),
+ stopTime [1] IMPLICIT OCTET STRING (SIZE (6))},
+ filteringCriteria [3] FilteringCriteria,
+ startTime [4] IMPLICIT OCTET STRING (SIZE (6)) OPTIONAL,
+ extensions [5] IMPLICIT Extensions OPTIONAL}
+
+MiscCallInfo ::= SEQUENCE {
+ messageType [0] IMPLICIT ENUMERATED {
+ request (0),
+ notification (1)},
+
+ dpAssignment [1] IMPLICIT ENUMERATED {
+ individualLine (0),
+ groupBased (1),
+ officeBased (2)} OPTIONAL}
+
+ServiceAddressInformation ::= SEQUENCE {
+ serviceKey [0] IMPLICIT INTEGER (0..2147483647) OPTIONAL,
+ miscCallInfo [1] IMPLICIT MiscCallInfo,
+ triggerType [2] IMPLICIT TriggerType OPTIONAL}
+
+TerminalType ::= ENUMERATED {
+ unknown (0),
+ dialPulse (1),
+ dtmf (2),
+ isdn (3),
+ isdnNoDtmf (4),
+ spare (16)}
+RouteList ::= SEQUENCE SIZE (1..3) OF OCTET STRING
+CGEncountered ::= ENUMERATED {
+ noCGencountered (0),
+ manualCGencountered (1),
+ scpOverload (2)}
+BearerCapability ::= CHOICE {
+ bearerCap[0] IMPLICIT OCTET STRING,
+ tmr [1] IMPLICIT OCTET STRING (SIZE(1))}
+DpSpecificCommonParameters ::= SEQUENCE {
+ serviceAddressInformation [0] IMPLICIT ServiceAddressInformation ,
+ bearerCapability [1] BearerCapability OPTIONAL,
+ calledPartyNumber [2] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartyNumber [3] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartysCategory [4] IMPLICIT OCTET STRING (SIZE (1)) OPTIONAL,
+ iPSSPCapabilities [5] IMPLICIT OCTET STRING OPTIONAL,
+ iPAvailable [6] IMPLICIT OCTET STRING OPTIONAL,
+ iSDNAccessRelatedInformation [7] IMPLICIT OCTET STRING OPTIONAL,
+ cGEncountered [8] IMPLICIT CGEncountered OPTIONAL,
+ locationNumber [9] IMPLICIT OCTET STRING OPTIONAL,
+ serviceProfileIdentifier [10] IMPLICIT OCTET STRING OPTIONAL,
+ terminalType [11] IMPLICIT TerminalType OPTIONAL,
+ extensions [12] IMPLICIT Extensions OPTIONAL,
+ chargeNumber [13] IMPLICIT OCTET STRING OPTIONAL,
+ servingAreaID [14] IMPLICIT OCTET STRING OPTIONAL}
+
+CallingFacilityGroup ::= CHOICE {
+ trunkGroupID [0] IMPLICIT INTEGER,
+ privateFacilityID [1] IMPLICIT INTEGER,
+ huntGroup [2] IMPLICIT OCTET STRING,
+ routeIndex [3] IMPLICIT OCTET STRING}
+AnalysedInformationarg ::= SEQUENCE {
+ dpSpecificCommonParameters [0] IMPLICIT DpSpecificCommonParameters,
+ dialledDigits [1] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartyBusinessGroupID [2] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartySubaddress [3] IMPLICIT OCTET STRING OPTIONAL,
+ callingFacilityGroup [4] CallingFacilityGroup OPTIONAL,
+ callingFacilityGroupMember [5] IMPLICIT INTEGER OPTIONAL,
+ originalCalledPartyID [6] IMPLICIT OCTET STRING OPTIONAL,
+ prefix [7] IMPLICIT OCTET STRING OPTIONAL,
+ redirectingPartyID [8] IMPLICIT OCTET STRING OPTIONAL,
+ redirectionInformation [9] IMPLICIT OCTET STRING (SIZE (2)) OPTIONAL,
+ routeList [10] IMPLICIT RouteList OPTIONAL,
+ travellingClassMark [11] IMPLICIT OCTET STRING OPTIONAL,
+ extensions [12] IMPLICIT Extensions OPTIONAL,
+ featureCode [13] IMPLICIT OCTET STRING OPTIONAL,
+ accessCode [14] IMPLICIT OCTET STRING OPTIONAL,
+ carrier [15] IMPLICIT OCTET STRING OPTIONAL}
+DestinationAddress ::= OCTET STRING
+AnalyseInformationarg ::= SEQUENCE {
+ destinationRoutingAddress [0] IMPLICIT SEQUENCE SIZE (1..3) OF DestinationAddress,
+ alertingPattern [1] IMPLICIT OCTET STRING (SIZE (3)) OPTIONAL,
+ iSDNAccessRelatedInformation [2] IMPLICIT OCTET STRING OPTIONAL,
+ originalCalledPartyID [3] IMPLICIT OCTET STRING OPTIONAL,
+ extensions [4] IMPLICIT Extensions OPTIONAL,
+ callingPartyNumber [5] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartysCategory [6] IMPLICIT OCTET STRING (SIZE (1)) OPTIONAL,
+ calledPartyNumber [7] IMPLICIT OCTET STRING OPTIONAL,
+ chargeNumber [8] IMPLICIT OCTET STRING OPTIONAL,
+ travellingClassMark [9] IMPLICIT OCTET STRING OPTIONAL,
+ carrier [10] IMPLICIT OCTET STRING OPTIONAL}
+PartyToCharge ::= CHOICE {
+ sendingSideID [0] IMPLICIT OCTET STRING (SIZE (1)),
+ receivingSideID [1] IMPLICIT OCTET STRING (SIZE (1))}
+ApplyChargingarg ::= SEQUENCE {
+ aChBillingChargingCharacteristics [0] IMPLICIT OCTET STRING ,
+ partyToCharge [2] PartyToCharge OPTIONAL,
+ extensions [3] IMPLICIT Extensions OPTIONAL}
+
+ApplyChargingReportarg ::= OCTET STRING
+AssistRequestInstructionsarg ::= SEQUENCE {
+ correlationID [0] IMPLICIT OCTET STRING ,
+ iPAvailable [1] IMPLICIT OCTET STRING OPTIONAL,
+ iPSSPCapabilities [2] IMPLICIT OCTET STRING OPTIONAL,
+ extensions [3] IMPLICIT Extensions OPTIONAL}
+
+CallGaparg ::= SEQUENCE {
+ gapCriteria [0] CHOICE {
+ calledAddressValue [0] IMPLICIT OCTET STRING ,
+ gapOnService [2] IMPLICIT SEQUENCE {
+ serviceKey [0] IMPLICIT INTEGER (0..2147483647),
+ dpCriteria [1] IMPLICIT ENUMERATED {
+ origAttemptAuthorized (1),
+ collectedInfo (2),
+ analysedInformation (3),
+ routeSelectFailure (4),
+ oCalledPartyBusy (5),
+ oNoAnswer (6),
+ oAnswer (7),
+ oMidCall (8),
+ oDisconnect (9),
+ oAbandon (10),
+ termAttemptAuthorized (12),
+ tBusy (13),
+ tNoAnswer (14),
+
+ tAnswer (15),
+ tMidCall (16),
+ tDisconnect (17),
+ tAbandon (18)} OPTIONAL},
+ calledAddressAndService [29] IMPLICIT SEQUENCE {
+ calledAddressValue [0] IMPLICIT OCTET STRING ,
+ serviceKey [1] IMPLICIT INTEGER (0..2147483647)},
+ callingAddressAndService [30] IMPLICIT SEQUENCE {
+ callingAddressValue [0] IMPLICIT OCTET STRING ,
+ serviceKey [1] IMPLICIT INTEGER (0..2147483647),
+ locationNumber [2] IMPLICIT OCTET STRING OPTIONAL}},
+ gapIndicators [1] IMPLICIT SEQUENCE {
+ cgduration [0] IMPLICIT INTEGER (-2..86400),
+ gapInterval [1] IMPLICIT INTEGER (-1..60000)},
+ controlType [2] IMPLICIT ENUMERATED {
+ sCPOverloaded (0),
+ manuallyInitiated (1),
+ destinationOverload (2)} OPTIONAL,
+ gapTreatment [3] CHOICE {
+ informationToSend [0] InformationToSend,
+ releaseCause [1] IMPLICIT Cause,
+ both [2] IMPLICIT Both} OPTIONAL,
+ extensions [4] IMPLICIT Extensions OPTIONAL}
+Both ::= SEQUENCE {
+ informationToSend [0] InformationToSend,
+ releaseCause [1] IMPLICIT Cause}
+CallInformationReportarg ::= SEQUENCE {
+ requestedInformationList [0] IMPLICIT SEQUENCE SIZE (1..5) OF
+ SEQUENCE {
+ requestedInformationType [0] IMPLICIT ENUMERATED {
+ callAttemptElapsedTime (0),
+ callStopTime (1),
+ callConnectedElapsedTime (2),
+ calledAddress (3),
+ releaseCause (30)},
+ requestedInformationValue [1] CHOICE {
+ callAttemptElapsedTimeValue [0] IMPLICIT INTEGER (0..255),
+ callStopTimeValue [1] IMPLICIT OCTET STRING (SIZE (6)),
+ callConnectedElapsedTimeValue [2] IMPLICIT INTEGER (0..2147483647),
+ calledAddressValue [3] IMPLICIT OCTET STRING ,
+ releaseCauseValue [30] IMPLICIT Cause }},
+ correlationID [1] IMPLICIT OCTET STRING OPTIONAL,
+ extensions [2] IMPLICIT Extensions OPTIONAL}
+
+CallInformationRequestarg ::= SEQUENCE {
+ requestedInformationTypeList [0] IMPLICIT SEQUENCE SIZE (1..5) OF
+ ENUMERATED {
+ callAttemptElapsedTime (0),
+ callStopTime (1),
+ callConnectedElapsedTime (2),
+ calledAddress (3),
+ releaseCause (30)},
+ correlationID [1] IMPLICIT OCTET STRING OPTIONAL,
+ extensions [2] IMPLICIT Extensions OPTIONAL}
+
+Cancelarg ::= CHOICE {
+ invokeID [0] IMPLICIT INTEGER (-128..127),
+ allRequests [1] IMPLICIT NULL}
+
+FacilityGroupID ::= CHOICE {
+ trunkGroupID [0] IMPLICIT INTEGER,
+ privateFacilityID [1] IMPLICIT INTEGER,
+ huntGroup [2] IMPLICIT OCTET STRING,
+ routeIndex [3] IMPLICIT OCTET STRING}
+
+ResourceID ::= CHOICE {
+ lineID [0] IMPLICIT OCTET STRING ,
+ facilityGroupID [1] FacilityGroupID,
+ facilityGroupMemberID [2] IMPLICIT INTEGER,
+ trunkGroupID [3] IMPLICIT INTEGER}
+CancelStatusReportRequestarg ::= SEQUENCE {
+ resourceID [0] ResourceID OPTIONAL,
+ extensions [1] IMPLICIT Extensions OPTIONAL}
+CollectedInformationarg ::= SEQUENCE {
+ dpSpecificCommonParameters [0] IMPLICIT DpSpecificCommonParameters,
+ dialledDigits [1] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartyBusinessGroupID [2] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartySubaddress [3] IMPLICIT OCTET STRING OPTIONAL,
+ callingFacilityGroup [4] CallingFacilityGroup OPTIONAL,
+ callingFacilityGroupMember [5] IMPLICIT INTEGER OPTIONAL,
+ originalCalledPartyID [6] IMPLICIT OCTET STRING OPTIONAL,
+ prefix [7] IMPLICIT OCTET STRING OPTIONAL,
+ redirectingPartyID [8] IMPLICIT OCTET STRING OPTIONAL,
+ redirectionInformation [9] IMPLICIT OCTET STRING (SIZE (2)) OPTIONAL,
+ travellingClassMark [10] IMPLICIT OCTET STRING OPTIONAL,
+ extensions [11] IMPLICIT Extensions OPTIONAL,
+ featureCode [12] IMPLICIT OCTET STRING OPTIONAL,
+ accessCode [13] IMPLICIT OCTET STRING OPTIONAL,
+ carrier [14] IMPLICIT OCTET STRING OPTIONAL}
+CollectInformationarg ::= SEQUENCE {
+ alertingPattern [0] IMPLICIT OCTET STRING (SIZE (3)) OPTIONAL,
+ numberingPlan [1] IMPLICIT OCTET STRING (SIZE (1)) OPTIONAL,
+ originalCalledPartyID [2] IMPLICIT OCTET STRING OPTIONAL,
+ travellingClassMark [3] IMPLICIT OCTET STRING OPTIONAL,
+ extensions [4] IMPLICIT Extensions OPTIONAL,
+ callingPartyNumber [5] IMPLICIT OCTET STRING OPTIONAL,
+ dialledDigits [6] IMPLICIT OCTET STRING OPTIONAL}
+Connectarg ::= SEQUENCE {
+ destinationRoutingAddress [0] IMPLICIT SEQUENCE SIZE (1..3) OF DestinationAddress ,
+ alertingPattern [1] IMPLICIT OCTET STRING (SIZE (3)) OPTIONAL,
+ correlationID [2] IMPLICIT OCTET STRING OPTIONAL,
+ cutAndPaste [3] IMPLICIT INTEGER (0..22) OPTIONAL,
+ forwardingCondition [4] IMPLICIT ENUMERATED {
+ busy (0),
+ noanswer (1)} OPTIONAL,
+ iSDNAccessRelatedInformation [5] IMPLICIT OCTET STRING OPTIONAL,
+ originalCalledPartyID [6] IMPLICIT OCTET STRING OPTIONAL,
+ routeList [7] IMPLICIT RouteList OPTIONAL,
+ scfID [8] IMPLICIT OCTET STRING OPTIONAL,
+ travellingClassMark [9] IMPLICIT OCTET STRING OPTIONAL,
+ extensions [10] IMPLICIT Extensions OPTIONAL,
+ carrier [11] IMPLICIT OCTET STRING OPTIONAL,
+ serviceInteractionIndicators [26] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartyNumber [27] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartysCategory [28] IMPLICIT OCTET STRING (SIZE (1)) OPTIONAL,
+ redirectingPartyID [29] IMPLICIT OCTET STRING OPTIONAL,
+ redirectionInformation [30] IMPLICIT OCTET STRING (SIZE (2)) OPTIONAL}
+
+ConnectToResource ::= SEQUENCE {
+ resourceAddress CHOICE {
+ ipRoutingAddress [0] IMPLICIT OCTET STRING ,
+ legID [1] LegID,
+ both [2] IMPLICIT Both,
+ none [3] IMPLICIT NULL},
+ extensions [4] IMPLICIT Extensions OPTIONAL,
+ serviceInteractionIndicators [30] IMPLICIT OCTET STRING OPTIONAL}
+EstablishTemporaryConnection ::= SEQUENCE {
+ assistingSSPIPRoutingAddress [0] IMPLICIT OCTET STRING ,
+ correlationID [1] IMPLICIT OCTET STRING OPTIONAL,
+ legID [2] LegID OPTIONAL,
+ scfID [3] IMPLICIT OCTET STRING OPTIONAL,
+ extensions [4] IMPLICIT Extensions OPTIONAL,
+ carrier [5] IMPLICIT OCTET STRING OPTIONAL,
+ serviceInteractionIndicators [30] IMPLICIT OCTET STRING OPTIONAL}
+
+ MonitorMode ::= ENUMERATED {
+ interrupted (0),
+ notifyAndContinue (1),
+ transparent (2)}
+
+EventNotificationChargingarg ::= SEQUENCE {
+ eventTypeCharging [0] IMPLICIT OCTET STRING ,
+ eventSpecificInformationCharging [1] IMPLICIT OCTET STRING OPTIONAL,
+ legID [2] LegID OPTIONAL,
+ extensions [3] IMPLICIT Extensions OPTIONAL,
+ monitorMode [30] IMPLICIT MonitorMode}
+ EventTypeBCSM ::= ENUMERATED {
+ origAttemptAuthorized (1),
+ collectedInfo (2),
+ analysedInformation (3),
+ routeSelectFailure (4),
+ oCalledPartyBusy (5),
+ oNoAnswer (6),
+ oAnswer (7),
+ oMidCall (8),
+ oDisconnect (9),
+ oAbandon (10),
+ termAttemptAuthorized (12),
+ tBusy (13),
+ tNoAnswer (14),
+ tAnswer (15),
+ tMidCall (16),
+ tDisconnect (17),
+ tAbandon (18)}
+EventReportBCSM ::= SEQUENCE {
+ eventTypeBCSM [0] IMPLICIT EventTypeBCSM,
+ bcsmEventCorrelationID [1] IMPLICIT OCTET STRING OPTIONAL,
+ eventSpecificInformationBCSM [2] CHOICE {
+ collectedInfoSpecificInfo [0] IMPLICIT SEQUENCE {
+ calledPartynumber [0] IMPLICIT OCTET STRING },
+ analyzedInfoSpecificInfo [1] IMPLICIT SEQUENCE {
+ calledPartynumber [0] IMPLICIT OCTET STRING },
+ routeSelectFailureSpecificInfo [2] IMPLICIT SEQUENCE {
+ failureCause [0] IMPLICIT OCTET STRING (SIZE (2..10)) OPTIONAL},
+ oCalledPartyBusySpecificInfo [3] IMPLICIT SEQUENCE {
+ busyCause [0] IMPLICIT OCTET STRING (SIZE (2..10)) OPTIONAL},
+ oNoAnswerSpecificInfo [4] IMPLICIT SEQUENCE {},
+ oAnswerSpecificInfo [5] IMPLICIT SEQUENCE {},
+ oMidCallSpecificInfo [6] IMPLICIT SEQUENCE {
+ connectTime [0] IMPLICIT INTEGER (0..2147483647) OPTIONAL},
+ oDisconnectSpecificInfo [7] IMPLICIT SEQUENCE {
+ releaseCause [0] IMPLICIT Cause OPTIONAL,
+ connectTime [1] IMPLICIT INTEGER (0..2147483647) OPTIONAL},
+ tBusySpecificInfo [8] IMPLICIT SEQUENCE {
+ busyCause [0] IMPLICIT OCTET STRING (SIZE (2..10)) OPTIONAL},
+ tNoAnswerSpecificInfo [9] IMPLICIT SEQUENCE {},
+ tAnswerSpecificInfo [10] IMPLICIT SEQUENCE {},
+ tMidCallSpecificInfo [11] IMPLICIT SEQUENCE {
+ connectTime [0] IMPLICIT INTEGER (0..2147483647) OPTIONAL},
+ tDisconnectSpecificInfo [12] IMPLICIT SEQUENCE {
+ releaseCause [0] IMPLICIT Cause OPTIONAL,
+ connectTime [1] IMPLICIT INTEGER (0..2147483647) OPTIONAL}} OPTIONAL,
+
+ legID [3] LegID OPTIONAL,
+ miscCallInfo [4] IMPLICIT MiscCallInfo,
+ extensions [5] IMPLICIT Extensions OPTIONAL}
+
+FurnishChargingInformationarg ::= OCTET STRING
+HoldCallInNetworkarg ::= CHOICE {
+ holdcause [0] IMPLICIT OCTET STRING,
+ empty [1] IMPLICIT NULL}
+InitialDP ::= SEQUENCE {
+ serviceKey [0] IMPLICIT INTEGER (0..2147483647) OPTIONAL,
+ dialledDigits [1] IMPLICIT OCTET STRING OPTIONAL,
+ calledPartyNumber [2] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartyNumber [3] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartyBusinessGroupID [4] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartysCategory [5] IMPLICIT OCTET STRING (SIZE (1)) OPTIONAL,
+ callingPartySubaddress [6] IMPLICIT OCTET STRING OPTIONAL,
+ cGEncountered [7] IMPLICIT CGEncountered OPTIONAL,
+ iPSSPCapabilities [8] IMPLICIT OCTET STRING OPTIONAL,
+ iPAvailable [9] IMPLICIT OCTET STRING OPTIONAL,
+ locationNumber [10] IMPLICIT OCTET STRING OPTIONAL,
+ miscCallInfo [11] IMPLICIT MiscCallInfo OPTIONAL,
+ originalCalledPartyID [12] IMPLICIT OCTET STRING OPTIONAL,
+ serviceProfileIdentifier [13] IMPLICIT OCTET STRING OPTIONAL,
+ terminalType [14] IMPLICIT TerminalType OPTIONAL,
+ extensions [15] IMPLICIT Extensions OPTIONAL,
+ triggerType [16] IMPLICIT TriggerType OPTIONAL,
+ highLayerCompatibility [23] IMPLICIT OCTET STRING (SIZE (2)) OPTIONAL,
+ serviceInteractionIndicators [24] IMPLICIT OCTET STRING OPTIONAL,
+ additionalCallingPartyNumber [25] IMPLICIT OCTET STRING OPTIONAL,
+ forwardCallIndicators [26] IMPLICIT OCTET STRING (SIZE (2)) OPTIONAL,
+ bearerCapability [27] BearerCapability OPTIONAL,
+ eventTypeBCSM [28] IMPLICIT EventTypeBCSM OPTIONAL,
+ redirectingPartyID [29] IMPLICIT OCTET STRING OPTIONAL,
+ redirectionInformation [30] IMPLICIT OCTET STRING (SIZE (2)) OPTIONAL}
+
+InitiateCallAttempt ::= SEQUENCE {
+ destinationRoutingAddress [0] IMPLICIT SEQUENCE SIZE (1..3) OF DestinationAddress,
+ alertingPattern [1] IMPLICIT OCTET STRING (SIZE (3)) OPTIONAL,
+ iSDNAccessRelatedInformation [2] IMPLICIT OCTET STRING OPTIONAL,
+ travellingClassMark [3] IMPLICIT OCTET STRING OPTIONAL,
+ extensions [4] IMPLICIT Extensions OPTIONAL,
+ serviceInteractionIndicators [29] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartyNumber [30] IMPLICIT OCTET STRING OPTIONAL}
+ OAnswer ::= SEQUENCE {
+ dpSpecificCommonParameters [0] IMPLICIT DpSpecificCommonParameters,
+ callingPartyBusinessGroupID [1] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartySubaddress [2] IMPLICIT OCTET STRING OPTIONAL,
+ callingFacilityGroup [3] CallingFacilityGroup OPTIONAL,
+ callingFacilityGroupMember [4] IMPLICIT INTEGER OPTIONAL,
+ originalCalledPartyID [5] IMPLICIT OCTET STRING OPTIONAL,
+ redirectingPartyID [6] IMPLICIT OCTET STRING OPTIONAL,
+ redirectionInformation [7] IMPLICIT OCTET STRING (SIZE (2)) OPTIONAL,
+ routeList [8] IMPLICIT RouteList OPTIONAL,
+ travellingClassMark [9] IMPLICIT OCTET STRING OPTIONAL,
+ extensions [10] IMPLICIT Extensions OPTIONAL}
+
+OCalledPartyBusy ::= SEQUENCE {
+ dpSpecificCommonParameters [0] IMPLICIT DpSpecificCommonParameters,
+ busyCause [1] IMPLICIT OCTET STRING (SIZE (2..10)) OPTIONAL,
+ callingPartyBusinessGroupID [2] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartySubaddress [3] IMPLICIT OCTET STRING OPTIONAL,
+ callingFacilityGroup [4] CallingFacilityGroup OPTIONAL,
+ callingFacilityGroupMember [5] IMPLICIT INTEGER OPTIONAL,
+ originalCalledPartyID [6] IMPLICIT OCTET STRING OPTIONAL,
+ prefix [7] IMPLICIT OCTET STRING OPTIONAL,
+ redirectingPartyID [8] IMPLICIT OCTET STRING OPTIONAL,
+ redirectionInformation [9] IMPLICIT OCTET STRING (SIZE (2)) OPTIONAL,
+ routeList [10] IMPLICIT RouteList OPTIONAL,
+ travellingClassMark [11] IMPLICIT OCTET STRING OPTIONAL,
+ extensions [12] IMPLICIT Extensions OPTIONAL,
+ carrier [13] IMPLICIT OCTET STRING OPTIONAL}
+ODisconnect ::= SEQUENCE {
+ dpSpecificCommonParameters [0] IMPLICIT DpSpecificCommonParameters,
+ callingPartyBusinessGroupID [1] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartySubaddress [2] IMPLICIT OCTET STRING OPTIONAL,
+ callingFacilityGroup [3] CallingFacilityGroup OPTIONAL,
+ callingFacilityGroupMember [4] IMPLICIT INTEGER OPTIONAL,
+ releaseCause [5] IMPLICIT Cause OPTIONAL,
+ routeList [6] IMPLICIT RouteList OPTIONAL,
+ extensions [7] IMPLICIT Extensions OPTIONAL,
+ carrier [8] IMPLICIT OCTET STRING OPTIONAL,
+ connectTime [9] IMPLICIT INTEGER (0..2147483647) OPTIONAL}
+
+
+ FeatureRequestIndicator ::= ENUMERATED {
+ hold (0),
+ retrieve (1),
+ featureActivation (2),
+ spare1 (3),
+
+ sparen (127)}
+OMidCall ::= SEQUENCE {
+ dpSpecificCommonParameters [0] IMPLICIT DpSpecificCommonParameters,
+ calledPartyBusinessGroupID [1] IMPLICIT OCTET STRING OPTIONAL,
+ calledPartySubaddress [2] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartyBusinessGroupID [3] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartySubaddress [4] IMPLICIT OCTET STRING OPTIONAL,
+ featureRequestIndicator [5] IMPLICIT FeatureRequestIndicator OPTIONAL,
+ extensions [6] IMPLICIT Extensions OPTIONAL,
+ carrier [7] IMPLICIT OCTET STRING OPTIONAL}
+ONoAnswer ::= SEQUENCE {
+ dpSpecificCommonParameters [0] IMPLICIT DpSpecificCommonParameters,
+ callingPartyBusinessGroupID [1] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartySubaddress [2] IMPLICIT OCTET STRING OPTIONAL,
+ callingFacilityGroup [3] CallingFacilityGroup OPTIONAL,
+ callingFacilityGroupMember [4] IMPLICIT INTEGER OPTIONAL,
+ originalCalledPartyID [5] IMPLICIT OCTET STRING OPTIONAL,
+ prefix [6] IMPLICIT OCTET STRING OPTIONAL,
+ redirectingPartyID [7] IMPLICIT OCTET STRING OPTIONAL,
+ redirectionInformation [8] IMPLICIT OCTET STRING (SIZE (2)) OPTIONAL,
+ routeList [9] IMPLICIT RouteList OPTIONAL,
+ travellingClassMark [10] IMPLICIT OCTET STRING OPTIONAL,
+ extensions [11] IMPLICIT Extensions OPTIONAL,
+ carrier [12] IMPLICIT OCTET STRING OPTIONAL}
+OriginationAttemptAuthorized ::= SEQUENCE {
+ dpSpecificCommonParameters [0] IMPLICIT DpSpecificCommonParameters,
+ dialledDigits [1] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartyBusinessGroupID [2] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartySubaddress [3] IMPLICIT OCTET STRING OPTIONAL,
+ callingFacilityGroup [4] CallingFacilityGroup OPTIONAL,
+ callingFacilityGroupMember [5] IMPLICIT INTEGER OPTIONAL,
+ travellingClassMark [6] IMPLICIT OCTET STRING OPTIONAL,
+ extensions [7] IMPLICIT Extensions OPTIONAL,
+ carrier [8] IMPLICIT OCTET STRING OPTIONAL}
+
+PlayAnnouncement ::= SEQUENCE {
+ informationToSend [0] InformationToSend,
+ disconnectFromIPForbidden [1] IMPLICIT BOOLEAN DEFAULT TRUE,
+ requestAnnouncementComplete [2] IMPLICIT BOOLEAN DEFAULT TRUE,
+ extensions [3] IMPLICIT Extensions OPTIONAL}
+PromptAndCollectUserInformationarg ::= SEQUENCE {
+ collectedInfo [0] CHOICE {
+
+ collectedDigits [0] IMPLICIT SEQUENCE {
+ minimumNbOfDigits [0] IMPLICIT INTEGER (1..127) DEFAULT 1,
+ maximumNbOfDigits [1] IMPLICIT INTEGER (1..127),
+ endOfReplyDigit [2] IMPLICIT OCTET STRING (SIZE (1..2)) OPTIONAL,
+ cancelDigit [3] IMPLICIT OCTET STRING (SIZE (1..2)) OPTIONAL,
+ startDigit [4] IMPLICIT OCTET STRING (SIZE (1..2)) OPTIONAL,
+ firstDigitTimeOut [5] IMPLICIT INTEGER (1..127) OPTIONAL,
+ interDigitTimeOut [6] IMPLICIT INTEGER (1..127) OPTIONAL,
+ errorTreatment [7] IMPLICIT ENUMERATED {
+ reportErrorToScf (0),
+ help (1),
+ repeatPrompt (2)} DEFAULT reportErrorToScf ,
+ interruptableAnnInd [8] IMPLICIT BOOLEAN DEFAULT TRUE,
+ voiceInformation [9] IMPLICIT BOOLEAN DEFAULT FALSE,
+ voiceBack [10] IMPLICIT BOOLEAN DEFAULT FALSE},
+ iA5Information [1] IMPLICIT BOOLEAN},
+ disconnectFromIPForbidden [1] IMPLICIT BOOLEAN DEFAULT TRUE,
+ informationToSend [2] InformationToSend OPTIONAL,
+ extensions [3] IMPLICIT Extensions OPTIONAL}
+PromptAndCollectUserInformationres ::= CHOICE {
+ digitsResponse [0] IMPLICIT OCTET STRING ,
+ iA5Response [1] IMPLICIT IA5String }
+ ResourceStatus ::= ENUMERATED {
+ busy (0),
+ idle (1)}
+ReleaseCall ::= OCTET STRING (SIZE (2..10))
+RequestCurrentStatusReportarg ::= CHOICE {
+ lineID [0] IMPLICIT OCTET STRING ,
+ facilityGroupID [1] FacilityGroupID,
+ facilityGroupMemberID [2] IMPLICIT INTEGER,
+ trunkGroupID [3] IMPLICIT INTEGER}
+RequestCurrentStatusReportres ::= SEQUENCE {
+ resourceStatus [0] IMPLICIT ResourceStatus,
+ resourceID [1] ResourceID OPTIONAL,
+ extensions [2] IMPLICIT Extensions OPTIONAL}
+RequestEveryStatusChangeReport ::= SEQUENCE {
+ resourceID [0] ResourceID,
+ correlationID [1] IMPLICIT OCTET STRING OPTIONAL,
+ monitorDuration [2] IMPLICIT INTEGER (-2..86400) OPTIONAL,
+ extensions [3] IMPLICIT Extensions OPTIONAL}
+
+RequestFirstStatusMatchReport ::= SEQUENCE {
+ resourceID [0] ResourceID OPTIONAL,
+ resourceStatus [1] IMPLICIT ResourceStatus OPTIONAL,
+ correlationID [2] IMPLICIT OCTET STRING OPTIONAL,
+ monitorDuration [3] IMPLICIT INTEGER (-2..86400) OPTIONAL,
+ extensions [4] IMPLICIT Extensions OPTIONAL,
+ bearerCapability [5] BearerCapability OPTIONAL}
+RequestNotificationChargingEvent ::= SEQUENCE SIZE (1..10) OF
+ SEQUENCE {
+ eventTypeCharging [0] IMPLICIT OCTET STRING ,
+ monitorMode [1] IMPLICIT MonitorMode,
+ legID [2] LegID OPTIONAL}
+RequestReportBCSMEvent ::= SEQUENCE {
+ bcsmEvents [0] IMPLICIT SEQUENCE SIZE (1..10) OF
+ SEQUENCE {
+ eventTypeBCSM [0] IMPLICIT EventTypeBCSM,
+ monitorMode [1] IMPLICIT MonitorMode,
+ legID [2] LegID OPTIONAL,
+ dpSpecificCriteria [30] CHOICE {
+ numberOfDigits [0] IMPLICIT INTEGER (1..255),
+ applicationTimer [1] IMPLICIT INTEGER (0..2047)} OPTIONAL},
+ bcsmEventCorrelationID [1] IMPLICIT OCTET STRING OPTIONAL,
+ extensions [2] IMPLICIT Extensions OPTIONAL}
+ResetTimer ::= SEQUENCE {
+ timerID [0] IMPLICIT ENUMERATED {
+ tssf (0)} DEFAULT tssf ,
+ timervalue [1] IMPLICIT INTEGER (0..2147483647),
+ extensions [2] IMPLICIT Extensions OPTIONAL}
+
+RouteSelectFailure ::= SEQUENCE {
+ dpSpecificCommonParameters [0] IMPLICIT DpSpecificCommonParameters,
+ dialledDigits [1] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartyBusinessGroupID [2] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartySubaddress [3] IMPLICIT OCTET STRING OPTIONAL,
+ callingFacilityGroup [4] CallingFacilityGroup OPTIONAL,
+ callingFacilityGroupMember [5] IMPLICIT INTEGER OPTIONAL,
+ failureCause [6] IMPLICIT OCTET STRING (SIZE (2..10)) OPTIONAL,
+ originalCalledPartyID [7] IMPLICIT OCTET STRING OPTIONAL,
+ prefix [8] IMPLICIT OCTET STRING OPTIONAL,
+ redirectingPartyID [9] IMPLICIT OCTET STRING OPTIONAL,
+ redirectionInformation [10] IMPLICIT OCTET STRING (SIZE (2)) OPTIONAL,
+ routeList [11] IMPLICIT RouteList OPTIONAL,
+ travellingClassMark [12] IMPLICIT OCTET STRING OPTIONAL,
+ extensions [13] IMPLICIT Extensions OPTIONAL,
+ carrier [14] IMPLICIT OCTET STRING OPTIONAL}
+
+CalledFacilityGroup ::= CHOICE {
+ trunkGroupID [0] IMPLICIT INTEGER,
+ privateFacilityID [1] IMPLICIT INTEGER,
+ huntGroup [2] IMPLICIT OCTET STRING,
+ routeIndex [3] IMPLICIT OCTET STRING}
+
+SelectFacility ::= SEQUENCE {
+ alertingPattern [0] IMPLICIT OCTET STRING (SIZE (3)) OPTIONAL,
+ destinationNumberRoutingAddress [1] IMPLICIT OCTET STRING OPTIONAL,
+ iSDNAccessRelatedInformation [2] IMPLICIT OCTET STRING OPTIONAL,
+ calledFacilityGroup [3] CalledFacilityGroup OPTIONAL,
+ calledFacilityGroupMember [4] IMPLICIT INTEGER OPTIONAL,
+ originalCalledPartyID [5] IMPLICIT OCTET STRING OPTIONAL,
+ extensions [6] IMPLICIT Extensions OPTIONAL}
+SelectRoute ::= SEQUENCE {
+ destinationRoutingAddress [0] IMPLICIT SEQUENCE SIZE (1..3) OF DestinationAddress ,
+ alertingPattern [1] IMPLICIT OCTET STRING (SIZE (3)) OPTIONAL,
+ correlationID [2] IMPLICIT OCTET STRING OPTIONAL,
+ iSDNAccessRelatedInformation [3] IMPLICIT OCTET STRING OPTIONAL,
+ originalCalledPartyID [4] IMPLICIT OCTET STRING OPTIONAL,
+ routeList [5] IMPLICIT RouteList OPTIONAL,
+ scfID [6] IMPLICIT OCTET STRING OPTIONAL,
+ travellingClassMark [7] IMPLICIT OCTET STRING OPTIONAL,
+ extensions [8] IMPLICIT Extensions OPTIONAL,
+ carrier [9] IMPLICIT OCTET STRING OPTIONAL}
+SendChargingInformation ::= SEQUENCE {
+ sCIBillingChargingCharacteristics [0] IMPLICIT OCTET STRING ,
+ partyToCharge [1] PartyToCharge,
+ extensions [2] IMPLICIT Extensions OPTIONAL}
+ServiceFilteringResponse ::= SEQUENCE {
+ countersValue [0] IMPLICIT SEQUENCE SIZE (0..100) OF
+ SEQUENCE {
+ counterID [0] IMPLICIT INTEGER (0..99),
+ counterValue [1] IMPLICIT INTEGER (0..2147483647)},
+
+ filteringCriteria [1] FilteringCriteria,
+ extensions [2] IMPLICIT Extensions OPTIONAL,
+ responseCondition [3] IMPLICIT ENUMERATED {
+ intermediateResponse (0),
+ lastResponse (1)} OPTIONAL}
+
+StatusReport ::= SEQUENCE {
+ resourceStatus [0] IMPLICIT ResourceStatus OPTIONAL,
+ correlationID [1] IMPLICIT OCTET STRING OPTIONAL,
+ resourceID [2] ResourceID OPTIONAL,
+ extensions [3] IMPLICIT Extensions OPTIONAL,
+ reportCondition [4] IMPLICIT ENUMERATED {
+ statusReport (0),
+ timerExpired (1),
+ canceled (2)} OPTIONAL}
+
+TAnswer ::= SEQUENCE {
+ dpSpecificCommonParameters [0] IMPLICIT DpSpecificCommonParameters,
+ calledPartyBusinessGroupID [1] IMPLICIT OCTET STRING OPTIONAL,
+ calledPartySubaddress [2] IMPLICIT OCTET STRING OPTIONAL,
+ calledFacilityGroup [3] CalledFacilityGroup OPTIONAL,
+ calledFacilityGroupMember [4] IMPLICIT INTEGER OPTIONAL,
+ extensions [5] IMPLICIT Extensions OPTIONAL}
+
+TBusy ::= SEQUENCE {
+ dpSpecificCommonParameters [0] IMPLICIT DpSpecificCommonParameters,
+ busyCause [1] IMPLICIT OCTET STRING (SIZE (2..10)) OPTIONAL,
+ calledPartyBusinessGroupID [2] IMPLICIT OCTET STRING OPTIONAL,
+ calledPartySubaddress [3] IMPLICIT OCTET STRING OPTIONAL,
+ originalCalledPartyID [4] IMPLICIT OCTET STRING OPTIONAL,
+ redirectingPartyID [5] IMPLICIT OCTET STRING OPTIONAL,
+ redirectionInformation [6] IMPLICIT OCTET STRING (SIZE (2)) OPTIONAL,
+ routeList [7] IMPLICIT RouteList OPTIONAL,
+ travellingClassMark [8] IMPLICIT OCTET STRING OPTIONAL,
+ extensions [9] IMPLICIT Extensions OPTIONAL}
+TDisconnect ::= SEQUENCE {
+ dpSpecificCommonParameters [0] IMPLICIT DpSpecificCommonParameters,
+ calledPartyBusinessGroupID [1] IMPLICIT OCTET STRING OPTIONAL,
+ calledPartySubaddress [2] IMPLICIT OCTET STRING OPTIONAL,
+ calledFacilityGroup [3] CalledFacilityGroup OPTIONAL,
+ calledFacilityGroupMember [4] IMPLICIT INTEGER OPTIONAL,
+ releaseCause [5] IMPLICIT Cause OPTIONAL,
+ extensions [6] IMPLICIT Extensions OPTIONAL,
+ connectTime [7] IMPLICIT INTEGER (0..2147483647) OPTIONAL}
+TermAttemptAuthorized ::= SEQUENCE {
+ dpSpecificCommonParameters [0] IMPLICIT DpSpecificCommonParameters,
+ calledPartyBusinessGroupID [1] IMPLICIT OCTET STRING OPTIONAL,
+ calledPartySubaddress [2] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartyBusinessGroupID [3] IMPLICIT OCTET STRING OPTIONAL,
+ originalCalledPartyID [4] IMPLICIT OCTET STRING OPTIONAL,
+ redirectingPartyID [5] IMPLICIT OCTET STRING OPTIONAL,
+ redirectionInformation [6] IMPLICIT OCTET STRING (SIZE (2)) OPTIONAL,
+ routeList [7] IMPLICIT RouteList OPTIONAL,
+ travellingClassMark [8] IMPLICIT OCTET STRING OPTIONAL,
+ extensions [9] IMPLICIT Extensions OPTIONAL}
+TMidCall ::= SEQUENCE {
+ dpSpecificCommonParameters [0] IMPLICIT DpSpecificCommonParameters,
+ calledPartyBusinessGroupID [1] IMPLICIT OCTET STRING OPTIONAL,
+ calledPartySubaddress [2] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartyBusinessGroupID [3] IMPLICIT OCTET STRING OPTIONAL,
+ callingPartySubaddress [4] IMPLICIT OCTET STRING OPTIONAL,
+ featureRequestIndicator [5] IMPLICIT FeatureRequestIndicator OPTIONAL,
+ extensions [6] IMPLICIT Extensions OPTIONAL,
+ carrier [7] IMPLICIT OCTET STRING OPTIONAL}
+TNoAnswer ::= SEQUENCE {
+ dpSpecificCommonParameters [0] IMPLICIT DpSpecificCommonParameters,
+ calledPartyBusinessGroupID [1] IMPLICIT OCTET STRING OPTIONAL,
+ calledPartySubaddress [2] IMPLICIT OCTET STRING OPTIONAL,
+ calledFacilityGroup [3] CalledFacilityGroup OPTIONAL,
+ calledFacilityGroupMember [4] IMPLICIT INTEGER OPTIONAL,
+ originalCalledPartyID [5] IMPLICIT OCTET STRING OPTIONAL,
+ redirectingPartyID [6] IMPLICIT OCTET STRING OPTIONAL,
+ redirectionInformation [7] IMPLICIT OCTET STRING (SIZE (2)) OPTIONAL,
+ travellingClassMark [8] IMPLICIT OCTET STRING OPTIONAL,
+ extensions [9] IMPLICIT Extensions OPTIONAL}
+--Canceled ::= localValue 0
+
+CancelFailed ::= SEQUENCE {
+ problem [0] IMPLICIT ENUMERATED {
+ unknownOperation (0),
+ tooLate (1),
+ operationNotCancellable (2)},
+ operation [1] IMPLICIT INTEGER (-128..127)}
+ --::= localValue 1
+--ETCFailed ::= localValue 3
+--ImproperCallerResponse ::= localValue 4
+--MissingCustomerRecord ::= localValue 6
+--MissingParameter ::= localValue 7
+--parameterOutOfRange ERROR
+ --::= localValue 8
+RequestedInfoError ::= ENUMERATED {
+ unknownRequestedInfo (1),
+ requestedInfoNotAvailable (2)}
+ --::= localValue 10
+SystemFailure ::= ENUMERATED {
+ unavailableResources (0),
+ componentFailure (1),
+ basicCallProcessingException (2),
+ resourceStatusFailure (3),
+ endUserFailure (4)}
+
+TaskRefused ::= ENUMERATED {
+ generic (0),
+ unobtainable (1),
+ congestion (2)}
+ --::= localValue 12
+--unavailableResource ERROR
+-- ::= localValue 13
+--unexpectedComponentSequence ERROR
+-- ::= localValue 14
+--unexpectedDataValue ERROR
+-- ::= localValue 15
+--unexpectedParameter ERROR
+-- ::= localValue 16
+--unknownLegID ERROR
+-- ::= localValue 17-
+--unknownResource ERROR
+-- ::= localValue 18
+
+END \ No newline at end of file
diff --git a/asn1/inap/inap.cnf b/asn1/inap/inap.cnf
new file mode 100644
index 0000000000..9cb3248f19
--- /dev/null
+++ b/asn1/inap/inap.cnf
@@ -0,0 +1,52 @@
+# inap.cnf
+# inap conformation file
+
+# $Id: gsmmap.cnf 12498 2004-11-09 07:04:12Z etxrab $
+
+#.MODULE_IMPORT
+
+#.EXPORTS
+
+
+#.PDU
+
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+
+#.FN_BODY Connectarg/redirectingPartyIDXX
+
+proto_item* parameter_item;
+ guint8 class;
+ gboolean pc, ind;
+ guint32 tag;
+ guint32 len;
+tvbuff_t *cgpn_tvb;
+
+offset = dissect_ber_identifier(pinfo, tree, tvb, offset, &class, &pc, &tag);
+offset = dissect_ber_length(pinfo, tree, tvb, offset, &len, &ind);
+cgpn_tvb = tvb_new_subset(tvb, 2, len, len );
+parameter_item = proto_tree_add_text(tree, cgpn_tvb, offset,-1,"");
+ dissect_isup_called_party_number_parameter(cgpn_tvb, tree, parameter_item);
+ offset+=len;
+
+#.FN_BODY InitialDP/dialledDigitsxxx
+ proto_item* parameter_item;
+ proto_item* parameter_tree;
+ guint8 class;
+ tvbuff_t *cgpn_tvb;
+parameter_item = proto_tree_add_item(tree, hf_index, tvb, offset, -1, FALSE);
+parameter_tree = proto_item_add_subtree(parameter_item, ett_inapisup_parameter);
+cgpn_tvb = tvb_new_subset(tvb, offset,-1 , -1 );
+dissect_isup_called_party_number_parameter(cgpn_tvb, parameter_tree, parameter_item);
+
+#.TYPE_ATTR
+#Ss-Code TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ssCode_vals)
+#Teleservice TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Teleservice_vals)
+
+#.END
+
+
diff --git a/asn1/inap/packet-inap-template.c b/asn1/inap/packet-inap-template.c
new file mode 100644
index 0000000000..4e06bbb7a2
--- /dev/null
+++ b/asn1/inap/packet-inap-template.c
@@ -0,0 +1,411 @@
+/*
+/* packet-inap-template.c
+ * Routines for INAP
+ * Copyright 2004, Tim Endean <endeant@hotmail.com>
+ * Built from the gsm-map dissector Copyright 2004, Anders Broman <anders.broman@ericsson.com>
+ *
+ * $Id:$
+ * Ethereal - Network traffic analyzer
+ * By Gerald Combs <gerald@ethereal.com>
+ * 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.
+ * References: ETSI 300 374
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <glib.h>
+#include <epan/packet.h>
+#include <epan/prefs.h>
+#include <epan/conversation.h>
+#include <epan/tap.h>
+
+#include <stdio.h>
+#include <string.h>
+
+#include "packet-ber.h"
+#include "packet-inap.h"
+#include "packet-q931.h"
+#include "packet-e164.h"
+
+#define PNAME "INAP"
+#define PSNAME "INAP"
+#define PFNAME "inap"
+
+/* Initialize the protocol and registered fields */
+int proto_inap = -1;
+static int hf_inap_invokeCmd = -1; /* Opcode */
+static int hf_inap_invokeid = -1; /* INTEGER */
+static int hf_inap_absent = -1; /* NULL */
+static int hf_inap_invokeId = -1; /* InvokeId */
+static int hf_inap_invoke = -1; /* InvokePDU */
+static int hf_inap_returnResult = -1; /* InvokePDU */
+static int hf_inap_returnResult_result = -1;
+static int hf_inap_getPassword = -1;
+static int hf_inap_currentPassword = -1;
+#include "packet-inap-hf.c"
+static guint global_tcap_itu_ssn = 241;
+
+/* Initialize the subtree pointers */
+static gint ett_inap = -1;
+static gint ett_inap_InvokeId = -1;
+static gint ett_inap_InvokePDU = -1;
+static gint ett_inap_ReturnResultPDU = -1;
+static gint ett_inap_ReturnResult_result = -1;
+static gint ett_inap_INAPPDU = -1;
+static gint ett_inapisup_parameter = -1;
+static int inap_tap = -1;
+#include "packet-inap-ett.c"
+
+static int dissect_invokeCmd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset);
+
+#include "packet-inap-fn.c"
+
+
+const value_string inap_opr_code_strings[] = {
+
+{16, "AssistRequestInstructions"},
+{44, "CallInformationReport"},
+{45, "CallInformationRequest"},
+{53, "Cancel"},
+{20, "Connect"},
+ {19,"ConnectToResource"},
+ {17,"EstablishTemporaryConnection"},
+ {24,"EventReportBCSM"},
+ {34,"FurnishChargingInformation"},
+ {0,"InitialDP"},
+ {47,"PlayAnnouncement"},
+ {48,"PromptAndCollectUserInformation"},
+ {99,"ReceivedInformation"}, /*???????*/
+ {33,"ResetTimer"},
+ {23,"RequestReportBCSMEvent"},
+ {49,"SpecializedResourceReport"}
+};
+
+
+static guint32 opcode=0;
+
+static int
+dissect_inap_Opcode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_index, &opcode);
+
+ if (check_col(pinfo->cinfo, COL_INFO)){
+ col_set_str(pinfo->cinfo, COL_INFO, val_to_str(opcode, inap_opr_code_strings, "Unknown Inap (%u)"));
+ }
+
+ return offset;
+}
+
+static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ switch(opcode){
+ case 16: /*AssistRequestInstructions*/
+ offset=dissect_inap_AssistRequestInstructionsarg(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
+ case 44: /*CallInformationReport*/
+ offset=dissect_inap_CallInformationReportarg(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
+ case 45: /*CallInformationRequest*/
+ offset=dissect_inap_CallInformationRequestarg(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
+ case 53: /*Cancel*/
+ offset=dissect_inap_Cancelarg(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
+ case 20: /*Connect*/
+ offset=dissect_inap_Connectarg(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
+ case 18: /*DisconnectForwardConnections*/
+ proto_tree_add_text(tree, tvb, offset, -1, "Disconnect Forward Connection");
+ break;
+ case 19: /*ConnectToResource*/
+ offset=dissect_inap_ConnectToResource(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
+ case 17: /*EstablishTemporaryConnection*/
+ offset=dissect_inap_EstablishTemporaryConnection(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
+ case 24: /*EventReportBCSM*/
+ offset=dissect_inap_EventReportBCSM(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
+ case 34: /*FurnishChargingInformation*/
+ offset=dissect_inap_FurnishChargingInformationarg(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
+ case 0: /*InitialDP*/
+ offset=dissect_inap_InitialDP(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
+
+ case 23: /*InitialDP*/
+ offset=dissect_inap_RequestReportBCSMEvent(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
+
+ case 47: /*PlayAnnouncement*/
+ offset=dissect_inap_PlayAnnouncement(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
+ case 48: /*PromptAndCollectUserInformation*/
+ offset=dissect_inap_PromptAndCollectUserInformationarg(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
+ case 33: /*ResetTimer*/
+ offset=dissect_inap_ResetTimer(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
+ default:
+ proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob");
+ /* todo call the asn.1 dissector */
+ }
+ return offset;
+}
+
+
+static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ switch(opcode){
+ case 48: /*PromptAndCollectUserInformation*/
+ offset=dissect_inap_PromptAndCollectUserInformationres(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
+ default:
+ proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnResultData blob");
+ }
+ return offset;
+}
+
+static int
+dissect_invokeCmd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_inap_Opcode(FALSE, tvb, offset, pinfo, tree, hf_inap_invokeCmd);
+}
+
+static int dissect_invokeid(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_inap_invokeid, NULL);
+}
+
+
+static const value_string InvokeId_vals[] = {
+ { 0, "invokeid" },
+ { 1, "absent" },
+ { 0, NULL }
+};
+
+static int dissect_absent(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_inap_NULL(FALSE, tvb, offset, pinfo, tree, hf_inap_absent);
+}
+
+
+static const ber_choice_t InvokeId_choice[] = {
+ { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeid },
+ { 1, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_absent },
+ { 0, 0, 0, 0, NULL }
+};
+
+static int
+dissect_inap_InvokeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ InvokeId_choice, hf_index, ett_inap_InvokeId);
+
+ return offset;
+}
+static int dissect_invokeId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_inap_InvokeId(FALSE, tvb, offset, pinfo, tree, hf_inap_invokeId);
+}
+
+static const ber_sequence_t InvokePDU_sequence[] = {
+ { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
+ { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeCmd },
+ { BER_CLASS_UNI, -1/*depends on Cmd*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeData },
+ { 0, 0, 0, NULL }
+};
+
+static int
+dissect_inap_InvokePDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+ InvokePDU_sequence, hf_index, ett_inap_InvokePDU);
+
+ return offset;
+}
+static int dissect_invoke_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_inap_InvokePDU(TRUE, tvb, offset, pinfo, tree, hf_inap_invoke);
+}
+
+static const ber_sequence_t ReturnResult_result_sequence[] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeCmd },
+ { BER_CLASS_UNI, -1/*depends on Cmd*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_returnResultData },
+ { 0, 0, 0, NULL }
+};
+static int
+dissect_returnResult_result(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ offset = dissect_ber_sequence(FALSE, pinfo, tree, tvb, offset,
+ ReturnResult_result_sequence, hf_inap_returnResult_result, ett_inap_ReturnResult_result);
+
+ return offset;
+}
+
+static const ber_sequence_t ReturnResultPDU_sequence[] = {
+ { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
+ { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_returnResult_result },
+ { 0, 0, 0, NULL }
+};
+
+static int
+dissect_inap_returnResultPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+ ReturnResultPDU_sequence, hf_index, ett_inap_ReturnResultPDU);
+
+ return offset;
+}
+static int dissect_returnResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_inap_returnResultPDU(TRUE, tvb, offset, pinfo, tree, hf_inap_returnResult);
+}
+
+static const value_string INAPPDU_vals[] = {
+ { 1, "invoke" },
+ { 2, "returnResult" },
+ { 3, "returnError" },
+ { 4, "reject" },
+ { 0, NULL }
+};
+
+static const ber_choice_t INAPPDU_choice[] = {
+ { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_invoke_impl },
+ { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_returnResult_impl },
+#ifdef REMOVED
+ { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_returnError_impl },
+ { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_reject_impl },
+#endif
+ { 0, 0, 0, 0, NULL }
+};
+
+static guint8 inap_pdu_type = 0;
+static guint8 inap_pdu_size = 0;
+
+static int
+dissect_inap_INAPPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
+
+ inap_pdu_type = tvb_get_guint8(tvb, offset)&0x0f;
+ /* Get the length and add 2 */
+ inap_pdu_size = tvb_get_guint8(tvb, offset+1)+2;
+
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ INAPPDU_choice, hf_index, ett_inap_INAPPDU);
+
+ if (check_col(pinfo->cinfo, COL_INFO)){
+ col_prepend_fstr(pinfo->cinfo, COL_INFO, val_to_str(opcode, inap_opr_code_strings, "Unknown INAP (%u)"));
+ }
+
+ return offset;
+}
+
+
+
+
+static void
+dissect_inap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ gchar *str = NULL;
+
+
+ if (check_col(pinfo->cinfo, COL_PROTOCOL))
+ {
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "INAP");
+ }
+
+ /* create display subtree for the protocol */
+ if(parent_tree){
+ item = proto_tree_add_item(parent_tree, proto_inap, tvb, 0, -1, FALSE);
+ tree = proto_item_add_subtree(item, ett_inap);
+ }
+
+ dissect_inap_INAPPDU(FALSE, tvb, 0, pinfo, tree, -1);
+
+
+}
+
+/*--- proto_reg_handoff_inap ---------------------------------------*/
+void proto_reg_handoff_inap(void) {
+ dissector_handle_t inap_handle;
+
+ inap_handle = create_dissector_handle(dissect_inap, proto_inap);
+ dissector_add("tcap.itu_ssn", global_tcap_itu_ssn, inap_handle);
+
+}
+
+
+void proto_register_inap(void) {
+ module_t *inap_module;
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_inap_invokeCmd,
+ { "invokeCmd", "inap.invokeCmd",
+ FT_UINT32, BASE_DEC, VALS(inap_opr_code_strings), 0,
+ "InvokePDU/invokeCmd", HFILL }},
+ { &hf_inap_invokeid,
+ { "invokeid", "inap.invokeid",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "InvokeId/invokeid", HFILL }},
+ { &hf_inap_absent,
+ { "absent", "inap.absent",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "InvokeId/absent", HFILL }},
+ { &hf_inap_invokeId,
+ { "invokeId", "inap.invokeId",
+ FT_UINT32, BASE_DEC, VALS(InvokeId_vals), 0,
+ "InvokePDU/invokeId", HFILL }},
+ { &hf_inap_invoke,
+ { "invoke", "inap.invoke",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "INAPPDU/invoke", HFILL }},
+ { &hf_inap_returnResult,
+ { "returnResult", "inap.returnResult",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "INAPPDU/returnResult", HFILL }},
+
+
+#include "packet-inap-hfarr.c"
+ };
+
+
+
+
+
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_inap,
+ &ett_inap_InvokeId,
+ &ett_inap_InvokePDU,
+ &ett_inap_ReturnResultPDU,
+ &ett_inap_ReturnResult_result,
+ &ett_inap_INAPPDU,
+ &ett_inapisup_parameter,
+#include "packet-inap-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_inap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+/*XXX register_dissector("inap", dissect_inap, proto_inap);*/
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_inap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ inap_module = prefs_register_protocol(proto_inap, proto_reg_handoff_inap);
+
+ prefs_register_uint_preference(inap_module, "tcap.itu_ssn",
+ "Subsystem number used for INAP",
+ "Set Subsystem number used for INAP",
+ 10, &global_tcap_itu_ssn);
+
+
+}
+
+
+
diff --git a/asn1/inap/packet-inap-template.h b/asn1/inap/packet-inap-template.h
new file mode 100644
index 0000000000..fea137519b
--- /dev/null
+++ b/asn1/inap/packet-inap-template.h
@@ -0,0 +1,32 @@
+/* packet-inap.h
+ *
+ * $Id$
+ *
+ * Copyright 2004, Tim Endean <endeant@hotmail.com>
+ *
+ * Ethereal - Network traffic analyzer
+ * By Gerald Combs <gerald@ethereal.com>
+ * 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_INAP_H
+#define PACKET_INAP_H
+
+/* #include "packet-inap-exp.h"*/
+
+#endif /* PACKET_INAP_H */ \ No newline at end of file