From: Arran Cudbard-Bell Date: Sat, 5 Feb 2022 03:53:53 +0000 (-0500) Subject: Add tcap asn1 source X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ba679d3142c6e826ec144e7e1ea5dbc9c924b16b;p=thirdparty%2Ffreeradius-server.git Add tcap asn1 source --- diff --git a/src/modules/rlm_sigtran/asn1/.gitignore b/src/modules/rlm_sigtran/asn1/.gitignore new file mode 100644 index 0000000000..5ffbedc179 --- /dev/null +++ b/src/modules/rlm_sigtran/asn1/.gitignore @@ -0,0 +1,3 @@ +*.c +*.h +*.sample diff --git a/src/modules/rlm_sigtran/asn1/tcap.asn b/src/modules/rlm_sigtran/asn1/tcap.asn new file mode 100644 index 0000000000..3a402af98a --- /dev/null +++ b/src/modules/rlm_sigtran/asn1/tcap.asn @@ -0,0 +1,738 @@ +-- $Id$ +TCAPMessages {itu-t recommendation q 773 modules(2) messages(1) version3(3)} + +DEFINITIONS ::= + +BEGIN + +--EXPORTS OPERATION, ERROR, Component, InvokeId Type; +ExternalPDU ::= [UNIVERSAL 8] IMPLICIT SEQUENCE + { + oid OBJECT IDENTIFIER, + dialog [0] EXPLICIT DialoguePDU + } + +DialoguePDU ::= CHOICE { + dialogueRequest AARQ-apdu, + dialogueResponse AARE-apdu, + dialogueAbort ABRT-apdu +} + +AARQ-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE { + protocol-versionRQ + [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1}, + application-context-name [1] OBJECT IDENTIFIER +} + +AARE-apdu ::= [APPLICATION 1] IMPLICIT SEQUENCE { + protocol-versionRE + [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1}, + application-context-name [1] OBJECT IDENTIFIER, + result [2] Associate-result, + result-source-diagnostic [3] Associate-source-diagnostic +} +ABRT-apdu ::= [APPLICATION 4] IMPLICIT SEQUENCE { + abort-source [0] IMPLICIT ABRT-source +} + +Associate-result ::= INTEGER {accepted(0), reject-permanent(1)} + +Associate-source-diagnostic ::= CHOICE { + dialogue-service-user + [1] INTEGER {null(0), no-reason-given(1), + application-context-name-not-supported(2)}, + dialogue-service-provider + [2] INTEGER {null(0), no-reason-given(1), no-common-dialogue-portion(2)} +} + +ABRT-source ::= INTEGER {dialogue-service-user(0), dialogue-service-provider(1) +} + +-- Transaction Portion fields + +TCMessage ::= CHOICE { + unidirectional [APPLICATION 1] IMPLICIT Unidirectional, + begin [APPLICATION 2] IMPLICIT Begin, + end [APPLICATION 4] IMPLICIT End, + continue [APPLICATION 5] IMPLICIT Continue, + abort [APPLICATION 7] IMPLICIT Abort +} + +Unidirectional ::= SEQUENCE{ + dialoguePortion DialoguePortion OPTIONAL, + components ComponentPortion + } + +Begin ::= SEQUENCE{ + otid OrigTransactionID, + dialoguePortion DialoguePortion OPTIONAL, + components ComponentPortion OPTIONAL + } + +End ::= SEQUENCE{ + dtid DestTransactionID, + dialoguePortion DialoguePortion OPTIONAL, + components ComponentPortion OPTIONAL + } + + +Continue ::= SEQUENCE { + otid OrigTransactionID, + dtid DestTransactionID, + dialoguePortion DialoguePortion OPTIONAL, + components ComponentPortion OPTIONAL + } + +Abort ::= SEQUENCE{ + dtid DestTransactionID, + reason Reason OPTIONAL + } + +Reason ::= CHOICE{ + p-abortCause P-AbortCause, + u-abortCause DialoguePortion + } + +-- NOTE - When the Abort Message is generated by the Transaction sublayer, a p-Abort Cause may be +-- present. The u-abortCause may be generated by the component sublayer in which case it is an ABRT +-- APDU, or by the TC-User in which case it could be either an ABRT APDU or data in some user-defined +-- abstract syntax. + +DialoguePortion ::= [APPLICATION 11] EXPLICIT ExternalPDU + +-- WS adaptation +--DialoguePortion ::= [APPLICATION 11] IMPLICIT DialogueOC +--DialogueOC ::= OCTET STRING + +-- The dialogue portion carries the dialogue control PDUs as value of the external data type. +-- The direct reference should be set to { ccitt recommendation q 773 as (1) dialogue-as (1) version (1) } +-- if structured dialogue is used and to { ccitt recommendation q 773 as (1) unidialogue-as (2) version (1) } +-- if unstructured dialogue is used or any user defined abstract syntax name when only user information +-- is carried (e.g. when user information is sent in a 1988 Abort message). + +OrigTransactionID ::= [APPLICATION 8] IMPLICIT OCTET STRING (SIZE (1..4) ) + +DestTransactionID ::=[APPLICATION 9] IMPLICIT OCTET STRING (SIZE (1..4) ) + +P-AbortCause ::= [APPLICATION 10] IMPLICIT INTEGER { + unrecognizedMessageType (0), + unrecognizedTransactionID (1), + badlyFormattedTransactionPortion (2), + incorrectTransactionPortion (3), + resourceLimitation (4)}(0..127) + +-- COMPONENT PORTION. The last field in the transaction portion of the TCAP message is the Component Portion. +-- The Component Portion may be absent. + +ComponentPortion ::= [APPLICATION 12] IMPLICIT SEQUENCE SIZE (1..MAX) OF Component + +-- Component Portion fields +-- Recommendation X.880 defines four Application Protocol Data Units (APDUs) for invoking +-- operations, returning results or error, and for the rejection of invalid PDUs. +-- TCAP adds returnResultNotLast to allow for the segmentation of a result. + +Component ::= CHOICE { + invoke [1] IMPLICIT Invoke, + returnResultLast [2] IMPLICIT ReturnResult, + returnError [3] IMPLICIT ReturnError, + reject [4] IMPLICIT Reject, + returnResultNotLast [7] IMPLICIT ReturnResult + } + +-- The Components are sequences of data elements. + +Invoke ::= SEQUENCE { + invokeID InvokeIdType, + linkedID [0] IMPLICIT InvokeIdType OPTIONAL, + opCode OPERATION, + parameter Parameter OPTIONAL } + +Parameter ::= ANY + +-- ANY is filled by the single ASN.1 data type following the keyword PARAMETER or the keyword ARGUMENT +-- in the type definition of a particular operation. + +ReturnResult ::= SEQUENCE { + invokeID InvokeIdType, + resultretres SEQUENCE { + opCode OPERATION, + parameter Parameter OPTIONAL + } OPTIONAL + } + +-- ANY is filled by the single ASN.1 data type following the keyword RESULT in the type definition +-- of a particular operation. + +ReturnError ::= SEQUENCE { + invokeID InvokeIdType, + errorCode ErrorCode, + parameter Parameter OPTIONAL } + +-- ANY is filled by the single ASN.1 data type following the keyword PARAMETER in the type definition +-- of a particular error. + +Reject ::= SEQUENCE { + invokeIDRej CHOICE { + derivable InvokeIdType, + not-derivable NULL }, + problem CHOICE { + generalProblem [0] IMPLICIT GeneralProblem, + invokeProblem [1] IMPLICIT InvokeProblem, + returnResultProblem [2] IMPLICIT ReturnResultProblem, + returnErrorProblem [3] IMPLICIT ReturnErrorProblem } } + +InvokeIdType ::= INTEGER (-128..127) + + +OPERATION ::= CHOICE { + localValue INTEGER, + globalValue OBJECT IDENTIFIER } + +ERROR ::= CHOICE { + localValue INTEGER, + globalValue OBJECT IDENTIFIER } + +-- OPERATIONS + +-- Operations are specified with the OPERATION MACRO. +-- When an operation is specified, the valid parameter set, results, and errors for that operation are indicated. +-- Default values and optional parameters are permitted. + +--OPERATION MACRO ::= + +--BEGIN +-- TYPE NOTATION ::= Parameter Result Errors LinkedOperations +-- VALUE NOTATION ::= value (VALUE CHOICE { +-- localValue INTEGER, +-- globalValue OBJECT IDENTIFIER } ) +-- Parameter ::= ArgKeyword NamedType | empty +-- ArgKeyword ::= "ARGUMENT" | "PARAMETER" +-- Result ::= "RESULT" ResultType | empty +-- Errors ::= "ERRORS" "{"ErrorNames"}" | empty +-- LinkedOperations ::= "LINKED" "{"LinkedOperationNames"}" | empty +-- ResultType ::= NamedType | empty +-- ErrorNames ::= ErrorList | empty +-- ErrorList ::= Error | ErrorList "," Error +-- Error ::= value (ERROR) + -- shall reference an error value + --| type shall reference an error type + -- if no error value is specified + +-- LinkedOperationNames ::= OperationList | empty +-- OperationList ::= Operation | OperationList "," Operation +-- Operation ::= value (OPERATION) + -- shall reference an operation value +-- | type shall reference an operation type if + -- no operation value is specified +-- NamedType ::= identifier type | type +--END + +-- ERRORS + +-- Errors are specified with the ERROR MACRO. +-- When an error is specified, the valid parameters for that error are indicated. +-- Default values and optional parameters are permitted. + +--ERROR MACRO ::= +-- +--BEGIN +-- TYPE NOTATION ::= Parameter +-- VALUE NOTATION ::= value (VALUE CHOICE { +-- localValue INTEGER, +-- globalValue OBJECT IDENTIFIER } ) +-- Parameter ::= "PARAMETER" NamedType | empty +-- NamedType ::= identifier type | type +--END + +-- PROBLEMS + +GeneralProblem ::= INTEGER { unrecognizedComponent (0), + mistypedComponent (1), + badlyStructuredComponent (2) } + +InvokeProblem ::= INTEGER { duplicateInvokeID (0), + unrecognizedOperation (1), + mistypedParameter (2), + resourceLimitation (3), + initiatingRelease (4), + unrecognizedLinkedID (5), + linkedResponseUnexpected (6), + unexpectedLinkedOperation (7) } + +ReturnResultProblem ::= INTEGER { unrecognizedInvokeID (0), + returnResultUnexpected (1), + mistypedParameter (2) } + +ReturnErrorProblem ::= INTEGER { unrecognizedInvokeID (0), + returnErrorUnexpected (1), + unrecognizedError (2), + unexpectedError (3), + mistypedParameter (4) } + + +-- ErrorCode ::= CHOICE +-- { +-- nationaler [PRIVATE 19] IMPLICIT INTEGER (-32768..32767), +-- privateer [PRIVATE 20] IMPLICIT INTEGER +-- } +ErrorCode ::= INTEGER + + + + +CalledPartyNumber ::= + OCTET STRING + (SIZE (2..18)) +DestinationRoutingAddress ::= + SEQUENCE SIZE (1..16) OF CalledPartyNumber +AlertingPattern ::= OCTET STRING(SIZE (3)) +Digits ::= OCTET STRING(SIZE (2..16)) +CorrelationID ::= Digits +CutAndPaste ::= INTEGER(0..2) +ForwardingCondition ::= ENUMERATED {busy(0), noanswer(1), any(2)} +OriginalCalledPartyID ::= + OCTET STRING + (SIZE (2.. + 10)) +RouteList ::= SEQUENCE SIZE (1..16) OF Route +TravellingClassMark ::= + LocationNumber +Carrier ::= + OCTET STRING(SIZE (4..4)) +ServiceInteractionIndicators ::= + OCTET STRING + (SIZE (0.. + 255)) +CallingPartyNumber ::= + OCTET STRING + (SIZE (2..10)) +CallingPartysCategory ::= OCTET STRING(SIZE (1)) +RedirectingPartyID ::= + OCTET STRING + (SIZE (2..10)) +RedirectionInformation ::= OCTET STRING(SIZE (2)) +DisplayInformation ::= + IA5String + (SIZE (0..32)) +ForwardCallIndicators ::= OCTET STRING(SIZE (2)) +GenericNumbers ::= + SET SIZE (1..5) OF GenericNumber +GenericNumber ::= + OCTET STRING(SIZE (3..11)) +Route ::= + OCTET STRING(SIZE (0..64)) +LocationNumber ::= + OCTET STRING(SIZE (2..10)) +ForwardServiceInteractionInd ::= SEQUENCE { + conferenceTreatmentIndicator [1] OCTET STRING(SIZE (1)) OPTIONAL, + -- acceptConferenceRequest 'xxxx xx01',B + -- rejectConferenceRequest 'xxxx xx10'B + -- network default is accept conference request. + callDiversionTreatmentIndicator [2] OCTET STRING(SIZE (1)) OPTIONAL, + -- callDiversionAllowed 'xxxx xx01'B + -- callDiversionNotAllowed 'xxxx xx10'B + -- network default is Call Diversion allowed. + callOfferingTreatmentIndicator [3] OCTET STRING(SIZE (1)) OPTIONAL, + --indicates if call offering is "allowed"," not allowed" or "no impact by IN" + -- the value 'no impact by IN," has only local significance in SSF as a request to SSF + -- not to modify the value of the call offering treatment indicator conveyed in signaling. + -- callOfferingNotAllowed 'xxxx xx01'B, + -- callOfferingAllowed 'xxxx xx10'B + -- callOfferingNoINImpact 'xxxx x100'B + --indicates if call offering is "allowed"," not allowed" or "no impact by IN". + -- network default is Call Offering not allowed + callWaitingTreatmentIndicator [5] OCTET STRING(SIZE (1)) OPTIONAL, + -- callWaitingAllowed 'xxxx xx01'B, + -- callWaitingNotAllowed 'xxxx xx10'B + -- network default is Call Waiting allowed + -- Notice Tag value 4 is otherwise reserved . + ..., + holdTreatmentIndicator [6] OCTET STRING(SIZE (1)) OPTIONAL, + -- acceptHoldRequest 'xxxx xx01'B + -- rejectHoldRequest 'xxxx xx10'B + -- network default is accept hold request + ectTreatmentIndicator [7] OCTET STRING(SIZE (1)) OPTIONAL + -- acceptEctRequest 'xxxx xx01'B + -- rejectEctRequest 'xxxx xx10'B + -- network default is accept ect request +} +BackwardServiceInteractionInd ::= SEQUENCE { + conferenceTreatmentIndicator [1] OCTET STRING(SIZE (1)) OPTIONAL, + -- acceptConferenceRequest 'xxxx xx01'B + -- rejectConferenceRequest 'xxxx xx10'B + -- network default is accept conference request, + callCompletionTreatmentIndicator [2] OCTET STRING(SIZE (1)) OPTIONAL, + -- acceptCallCompletionServiceRequest 'xxxx xx01'B, + -- rejectCallCompletionServiceRequest 'xxxx xx10'B + -- network default is accept call completion service request + holdTreatmentIndicator [3] OCTET STRING(SIZE (1)) OPTIONAL, + -- acceptHoldRequest 'xxxx xx01'B + -- rejectHoldRequest 'xxxx xx10'B + -- network default is accept hold request + ectTreatmentIndicator [4] OCTET STRING(SIZE (1)) OPTIONAL, + -- acceptEctRequest 'xxxx xx01'B + -- rejectEctRequest 'xxxx xx10'B + -- network default is accept ect request + ... +} +BothwayThroughConnectionInd ::= ENUMERATED { + bothwayPathRequired(0), bothwayPathNotRequired(1)} +SuspendTimer ::= INTEGER(0..120) +ConnectedNumberTreatmentInd ::= ENUMERATED { + noINImpact(0), presentationRestricted(1), presentCalledINNumber(2), + presentCalledINNumberRestricted(3)} +RedirectReason ::= OCTET STRING(SIZE (1)) +Integer4 ::= INTEGER(0..2147483647) +LegType ::= OCTET STRING(SIZE (1)) +ServiceInteractionIndicatorsTwo ::= SEQUENCE { + forwardServiceInteractionInd [0] ForwardServiceInteractionInd OPTIONAL, + -- applicable to operations IDP, CON, ICA, CWA. + backwardServiceInteractionInd + [1] BackwardServiceInteractionInd OPTIONAL, + --applicable to operations IDP, CON, CTR, ETC, CWA. + bothwayThroughConnectionInd [2] BothwayThroughConnectionInd OPTIONAL, + -- applicable to operations CTR, ETC. + suspendTimer [3] SuspendTimer OPTIONAL, + -- applicable to operations CON, ICA CWA. + connectedNumberTreatmentInd [4] ConnectedNumberTreatmentInd OPTIONAL, + --applicable to operations CON, CTR, ETC, CWA . + suppressCallDiversionNotification [5] BOOLEAN OPTIONAL, + -- applicable to CON, ICA, CWA + suppressCallTransferNotification [6] BOOLEAN OPTIONAL, + -- applicable to CON, ICA, CWA + allowCdINNoPresentationInd [7] BOOLEAN OPTIONAL, + -- applicable to CON, ICA CWA + -- indicates whether the Address Presentation restricted indicator of the ISUP + -- "called IN number" shall be set to presentation allowed (TRUE) + -- or presentation restricted (FALSE). Refer to Rec. Q.1601. + userDialogueDurationInd [8] BOOLEAN DEFAULT TRUE, + -- applicable to operations CTR, ETC. + -- applicable when interaction with the user is required during call set-up + -- The interaction TRUE means the user interaction may last longer than 90 seconds. + -- Otherwise the indicator should be set to FALSE. Used for delaying ISUP T9 timer. + overrideLineRestrictions [9] BOOLEAN DEFAULT FALSE, + -- only applicable to operations (e.g. Connect) which lead to a transition to a PIC before + -- the AuthorizeCallSetup PIC. + -- When set to TRUE, this parameter indicates that some facility restrictions + -- should not be checked when the authority to place a call is verified in the + --Authorize_Call_Setup PIC. + -- Which restrictions are actually overwriden is network specific. + suppressVPNAPP [10] BOOLEAN DEFAULT FALSE, + -- applicable to CWA, CON, ICA. + -- indicates whether to allow or stop (suppress) the forward transmission of the VPN PSS1 capability. + -- When set to TRUE, the exchange, on receipt of this parameter, will not transmit for this call + -- any ISUP Application transport parameter with Application Context Identifier set to " PSS1 ASE (VPN) " + -- This indicator is populated by the SCF, where the SCF and SSF in conjunction have provided the + -- outgoing gateway PINX functionality as required by PSS1. + calledINNumberOverriding [11] BOOLEAN OPTIONAL, + -- applicable to CON and CWA + -- indicates whether the generation/override of the ISUP + -- "called IN number" is allowed (TRUE) or not allowed (FALSE) + -- If set to FALSE, the ISUP shall not generate a "called IN number" or override + -- an already existing "called IN number". + -- if absent , the default will be "generation/overriding allowed" (TRUE). + redirectServiceTreatmentInd + [12] SEQUENCE {redirectReason [0] RedirectReason OPTIONAL, + ...} OPTIONAL, + --applicable to operation CON . + --if absent , call redirection service is not allowed + --Existence of this parameter requests Pivot Routing or Redirection supplementary service to be + --allowed for-the new routing address specified in the Connect operation. + --If absent, neither Pivot Routing nor Redirection service is allowed. + -- The redirectReason Parameter indicates the reason for invoking Pivot Routing / Redirection service + -- Whether the service is actually invoked depends only on SSF conditions. + --In this capability set the SCF will not know all the SSF conditions. + -- To send that kind of conditions is out of scope of this capability set. + --If the service is allowed, the parameter must be sent in the ISUP-FAC message (Pivot Routing case) + -- or ISUP-REL message (Redirection case) as the service is invoked, + nonCUGCall [13] NULL OPTIONAL, + -- applicable to CON and CWA + -- This parameter when present, indicates that no parameters for CUG shall be used for the call + -- (i.e. the call shall be a non-CUG call). This parameter when not present, indicates + -- one of three things: + -- a) continue with modified CUG information (when one or more of either CUG Interlock Code and + -- Outgoing Access Indicator are present); or + -- b) continue with original CUG information (when neither CUG Interlock Code or Outgoing Access Indicator + -- are present). + -- c) continue with the original non-CUG call. + ... +} +INServiceCompatibilityResponse ::= + Entry +Entry ::= CHOICE { + agreements [0] OBJECT IDENTIFIER, + networkSpecific [1] Integer4 +} +ForwardGVNS ::= + OCTET STRING(SIZE (0..255)) +BackwardGVNS ::= + OCTET STRING(SIZE (0..255)) +ChargeNumber ::= + LocationNumber +CallSegmentID ::= INTEGER(1..127) +LegID ::= CHOICE {sendingSideID [0] LegType, + receivingSideID [1] LegType +} +SDSSinformation ::= + OCTET STRING + (SIZE (0..255)) +CalledDirectoryNumber ::= + OCTET STRING + (SIZE (2..14)) +BearerCapability ::= CHOICE { + bearerCap + [0] OCTET STRING(SIZE (2..14)), + tmr [1] OCTET STRING(SIZE (1)), + broadbandBearerCap + [2] OCTET STRING + (SIZE (0..14)) +} +CallingPartySubaddress ::= + OCTET STRING + (SIZE (0..16)) +ConnectionIdentifier ::= + OCTET STRING + (SIZE (0..255)) +GenericIdentifier ::= + OCTET STRING + (SIZE (0..255)) +QoSParameter ::= + OCTET STRING(SIZE (0..16)) +BISDNParameters ::= SEQUENCE { + aALParameters [0] AALParameters OPTIONAL, + additionalATMCellRate [1] AdditionalATMCellRate OPTIONAL, + aESACalledParty [2] AESACalledParty OPTIONAL, + aESACallingParty [3] AESACallingParty OPTIONAL, + alternativeATMTrafficDescriptor + [4] AlternativeATMTrafficDescriptor OPTIONAL, + aTMCellRate [5] ATMCellRate OPTIONAL, + cDVTDescriptor [6] CDVTDescriptor OPTIONAL, + cumulativeTransitDelay [7] CumulativeTransitDelay OPTIONAL, + endToEndTransitDelay [8] EndToEndTransitDelay OPTIONAL, + minAcceptableATMTrafficDescriptor + [9] MinAcceptableATMTrafficDescriptor OPTIONAL, + ... +} +CUG-Interlock ::= OCTET STRING(SIZE (4)) -- See Q.763 for encoding +IPRelatedInformation ::= SEQUENCE { + alternativeCalledPartyIds [0] AlternativeIdentities OPTIONAL, + alternativeOriginatingPartyIds [1] AlternativeIdentities OPTIONAL, + alternativeOriginalCalledPartyIds [2] AlternativeIdentities OPTIONAL, + alternativeRedirectingPartyIds [3] AlternativeIdentities OPTIONAL, + ... +} +AlternativeIdentities ::= + SEQUENCE (SIZE (1..16)) OF AlternativeIdentity +AlternativeIdentity ::= CHOICE { + url [0] IA5String(SIZE (1..512)) -- any RFC1738 compliant URL (e.g.; SIP URL) +} +AALParameters ::= OCTET STRING(SIZE (0..255)) +AdditionalATMCellRate ::= OCTET STRING(SIZE (0..255)) +AESACalledParty ::= OCTET STRING(SIZE (0..255)) +AESACallingParty ::= OCTET STRING(SIZE (0..255)) +AlternativeATMTrafficDescriptor ::= OCTET STRING(SIZE (0..255)) +ATMCellRate ::= OCTET STRING(SIZE (0..255)) +CDVTDescriptor ::= OCTET STRING(SIZE (0..255)) +CumulativeTransitDelay ::= OCTET STRING(SIZE (0..255)) +EndToEndTransitDelay ::= OCTET STRING(SIZE (0..255)) +MinAcceptableATMTrafficDescriptor ::= OCTET STRING(SIZE (0..255)) +ISDNAccessRelatedInformation ::= OCTET STRING(SIZE (0..255)) +ScfID ::= OCTET STRING(SIZE (0..255)) +CalledPartySubaddress ::= OCTET STRING(SIZE (0..255)) + + + +ConnectArg ::= SEQUENCE { + destinationRoutingAddress [0] IMPLICIT DestinationRoutingAddress, + alertingPattern [1] IMPLICIT AlertingPattern OPTIONAL, + correlationID [2] IMPLICIT CorrelationID OPTIONAL, + cutAndPaste [3] IMPLICIT CutAndPaste OPTIONAL, + forwardingCondition [4] IMPLICIT ForwardingCondition OPTIONAL, + iSDNAccessRelatedInformation + [5] IMPLICIT ISDNAccessRelatedInformation OPTIONAL, + originalCalledPartyID [6] IMPLICIT OriginalCalledPartyID OPTIONAL, + routeList [7] IMPLICIT RouteList OPTIONAL, + -- maximum number of routes is limited to 3 + scfID [8] IMPLICIT ScfID OPTIONAL, + travellingClassMark [9] IMPLICIT TravellingClassMark OPTIONAL, + --extensions [10] IMPLICIT Extensions OPTIONAL, + carrier [11] IMPLICIT Carrier OPTIONAL, + serviceInteractionIndicators + [26] IMPLICIT ServiceInteractionIndicators OPTIONAL, + callingPartyNumber [27] IMPLICIT CallingPartyNumber OPTIONAL, + callingPartysCategory [28] IMPLICIT CallingPartysCategory OPTIONAL, + redirectingPartyID [29] IMPLICIT RedirectingPartyID OPTIONAL, + redirectionInformation [30] IMPLICIT RedirectionInformation OPTIONAL, + displayInformation [12] IMPLICIT DisplayInformation OPTIONAL, + forwardCallIndicators [13] IMPLICIT ForwardCallIndicators OPTIONAL, + genericNumbers [14] IMPLICIT GenericNumbers OPTIONAL, + serviceInteractionIndicatorsTwo + [15] IMPLICIT ServiceInteractionIndicatorsTwo OPTIONAL, + iNServiceCompatibilityResponse + [16] INServiceCompatibilityResponse OPTIONAL, + forwardGVNS [17] IMPLICIT ForwardGVNS OPTIONAL, + backwardGVNS [18] IMPLICIT BackwardGVNS OPTIONAL, + chargeNumber [19] IMPLICIT ChargeNumber OPTIONAL, + callSegmentID [20] IMPLICIT CallSegmentID OPTIONAL, + legToBeCreated [21] LegID OPTIONAL, + sDSSinformation [22] IMPLICIT SDSSinformation OPTIONAL, + calledDirectoryNumber [23] IMPLICIT CalledDirectoryNumber OPTIONAL, + bearerCapability [24] BearerCapability OPTIONAL, + calledPartySubaddress [60] IMPLICIT CalledPartySubaddress OPTIONAL, + connectionIdentifier [61] IMPLICIT ConnectionIdentifier OPTIONAL, + genericIdentifier [62] IMPLICIT GenericIdentifier OPTIONAL, + qOSParameter [63] IMPLICIT QoSParameter OPTIONAL, + bISDNParameters [64] IMPLICIT BISDNParameters OPTIONAL, + ..., + cug-Interlock [31] IMPLICIT CUG-Interlock OPTIONAL, + cug-OutgoingAccess [32] IMPLICIT NULL OPTIONAL, + ipRelatedInformation [33] IMPLICIT IPRelatedInformation OPTIONAL +} + + + +FurnishChargingInformationArg ::= + FCIBillingChargingCharacteristics +FCIBillingChargingCharacteristics ::= + OCTET STRING + (SIZE (0..255)) + +InitialDPArg ::= SEQUENCE { + serviceKey [0] IMPLICIT ServiceKey OPTIONAL, + dialledDigits [1] IMPLICIT CalledPartyNumber OPTIONAL, + calledPartyNumber [2] IMPLICIT CalledPartyNumber OPTIONAL, + callingPartyNumber [3] IMPLICIT CallingPartyNumber OPTIONAL, + callingPartyBusinessGroupID [4] IMPLICIT CallingPartyBusinessGroupID OPTIONAL, + callingPartysCategory [5] IMPLICIT CallingPartysCategory OPTIONAL, + callingPartySubaddress [6] IMPLICIT CallingPartySubaddress OPTIONAL, + cGEncountered [7] IMPLICIT CGEncountered OPTIONAL, + iPSSPCapabilities [8] IMPLICIT IPSSPCapabilities OPTIONAL, + iPAvailable [9] IMPLICIT IPAvailable OPTIONAL, + locationNumber [10] IMPLICIT LocationNumber OPTIONAL, + miscCallInfo [11] IMPLICIT MiscCallInfo OPTIONAL, + originalCalledPartyID [12] IMPLICIT OriginalCalledPartyID OPTIONAL, + serviceProfileIdentifier [13] IMPLICIT ServiceProfileIdentifier OPTIONAL, + terminalType [14] IMPLICIT TerminalType OPTIONAL, + --extensions [15] IMPLICIT Extensions OPTIONAL, + triggerType [16] IMPLICIT TriggerType OPTIONAL, + highLayerCompatibility [23] IMPLICIT HighLayerCompatibility OPTIONAL, + serviceInteractionIndicators + [24] IMPLICIT ServiceInteractionIndicators OPTIONAL, + additionalCallingPartyNumber + [25] IMPLICIT AdditionalCallingPartyNumber OPTIONAL, + forwardCallIndicators [26] IMPLICIT ForwardCallIndicators OPTIONAL, + bearerCapability [27] BearerCapability OPTIONAL, + eventTypeBCSM [28] IMPLICIT EventTypeBCSM OPTIONAL, + redirectingPartyID [29] IMPLICIT RedirectingPartyID OPTIONAL, + redirectionInformation [30] IMPLICIT RedirectionInformation OPTIONAL, + cause [17] IMPLICIT Cause OPTIONAL, + componentType [18] IMPLICIT ComponentType OPTIONAL, + component [19] Component OPTIONAL, + componentCorrelationID [20] IMPLICIT ComponentCorrelationID OPTIONAL, + iSDNAccessRelatedInformation + [21] IMPLICIT ISDNAccessRelatedInformation OPTIONAL, + iNServiceCompatibilityIndication + [22] IMPLICIT INServiceCompatibilityIndication OPTIONAL, + genericNumbers [31] IMPLICIT GenericNumbers OPTIONAL, + serviceInteractionIndicatorsTwo + [32] IMPLICIT ServiceInteractionIndicatorsTwo OPTIONAL, + forwardGVNS [33] IMPLICIT ForwardGVNS OPTIONAL, + createdCallSegmentAssociation [34] IMPLICIT CSAID OPTIONAL, + uSIServiceIndicator [35] USIServiceIndicator OPTIONAL, + uSIInformation [36] IMPLICIT USIInformation OPTIONAL, + carrier [37] IMPLICIT Carrier OPTIONAL, + cCSS [38] IMPLICIT CCSS OPTIONAL, + vPNIndicator [39] IMPLICIT VPNIndicator OPTIONAL, + cNInfo [40] IMPLICIT CNInfo OPTIONAL, + callReference [41] IMPLICIT CallReference OPTIONAL, + routeingNumber [42] IMPLICIT RouteingNumber OPTIONAL, + callingGeodeticLocation [43] IMPLICIT CallingGeodeticLocation OPTIONAL, + calledPartySubaddress [60] IMPLICIT CalledPartySubaddress OPTIONAL, + connectionIdentifier [61] IMPLICIT ConnectionIdentifier OPTIONAL, + genericIdentifier [62] IMPLICIT GenericIdentifier OPTIONAL, + qOSParameter [63] IMPLICIT QoSParameter OPTIONAL, + bISDNParameters [64] IMPLICIT BISDNParameters OPTIONAL, + ..., + globalCallReference [44] IMPLICIT GlobalCallReference OPTIONAL, + cug-Index [45] IMPLICIT CUG-Index OPTIONAL, + cug-Interlock [46] IMPLICIT CUG-Interlock OPTIONAL, + cug-OutgoingAccess [47] IMPLICIT NULL OPTIONAL, + ipRelatedInformation [48] IMPLICIT IPRelatedInformation OPTIONAL +} + +CallReference ::= OCTET STRING(SIZE (1..255)) +ServiceKey ::= + Integer4 +CallingPartyBusinessGroupID ::= OCTET STRING +CGEncountered ::= ENUMERATED { + noCGencountered(0), manualCGencountered(1), sCPOverload(2)} +IPSSPCapabilities ::= + OCTET STRING + (SIZE (0..255)) +IPAvailable ::= + OCTET STRING(SIZE (0..255)) +MiscCallInfo ::= SEQUENCE { + messageType [0] ENUMERATED {request(0), notification(1)}, + dpAssignment + [1] ENUMERATED {individualBased(0), groupBased(1), switchBased(2)} + OPTIONAL +} +ServiceProfileIdentifier ::= OCTET STRING +TerminalType ::= ENUMERATED { + unknown(0), dialPulse(1), dtmf(2), isdn(3), isdnNoDtmf(4), spare(16) +} +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), oModifyRequest(100), tModifyRequest(101)} +HighLayerCompatibility ::= + OCTET STRING(SIZE (2)) +AdditionalCallingPartyNumber ::= + Digits +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), oTermSeized(19), oSuspend(20), tSuspend(21), origAttempt(22), + termAttempt(23), oReAnswer(24), tReAnswer(25), + facilitySelectedAndAvailable(26), callAccepted(27), + authorizeRouteFailure(28), originationAttemptDenied(29), + terminationAttemptDenied(30), oModifyRequest(100), oModifyResult(101), + tModifyRequest(102), tModifyResult(103)} +Cause ::= OCTET STRING(SIZE (0..255)) +ComponentType ::= ENUMERATED { + any(0), invoke(1), rResult(2), rError(3), rReject(4)} +ComponentCorrelationID ::= INTEGER +INServiceCompatibilityIndication ::= + SEQUENCE SIZE (1..255) OF Entry +CSAID ::= INTEGER(1..255) +USIServiceIndicator ::= CHOICE { + global OBJECT IDENTIFIER, + local + OCTET STRING + (SIZE (0..255)) +} +USIInformation ::= + OCTET STRING(SIZE (0..255)) +CCSS ::= BOOLEAN +VPNIndicator ::= BOOLEAN +CNInfo ::= OCTET STRING(SIZE (1..255)) +RouteingNumber ::= + OCTET STRING(SIZE (0..255)) +CallingGeodeticLocation ::= + OCTET STRING + (SIZE (0..255)) +GlobalCallReference ::= + OCTET STRING(SIZE (1..255)) +CUG-Index ::= + IA5String(SIZE (1..4)) + (FROM ("0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9")) + + + + +END -- end of the TCAP Package Module diff --git a/src/modules/rlm_sigtran/tcap.asn b/src/modules/rlm_sigtran/tcap.asn new file mode 100644 index 0000000000..3a402af98a --- /dev/null +++ b/src/modules/rlm_sigtran/tcap.asn @@ -0,0 +1,738 @@ +-- $Id$ +TCAPMessages {itu-t recommendation q 773 modules(2) messages(1) version3(3)} + +DEFINITIONS ::= + +BEGIN + +--EXPORTS OPERATION, ERROR, Component, InvokeId Type; +ExternalPDU ::= [UNIVERSAL 8] IMPLICIT SEQUENCE + { + oid OBJECT IDENTIFIER, + dialog [0] EXPLICIT DialoguePDU + } + +DialoguePDU ::= CHOICE { + dialogueRequest AARQ-apdu, + dialogueResponse AARE-apdu, + dialogueAbort ABRT-apdu +} + +AARQ-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE { + protocol-versionRQ + [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1}, + application-context-name [1] OBJECT IDENTIFIER +} + +AARE-apdu ::= [APPLICATION 1] IMPLICIT SEQUENCE { + protocol-versionRE + [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1}, + application-context-name [1] OBJECT IDENTIFIER, + result [2] Associate-result, + result-source-diagnostic [3] Associate-source-diagnostic +} +ABRT-apdu ::= [APPLICATION 4] IMPLICIT SEQUENCE { + abort-source [0] IMPLICIT ABRT-source +} + +Associate-result ::= INTEGER {accepted(0), reject-permanent(1)} + +Associate-source-diagnostic ::= CHOICE { + dialogue-service-user + [1] INTEGER {null(0), no-reason-given(1), + application-context-name-not-supported(2)}, + dialogue-service-provider + [2] INTEGER {null(0), no-reason-given(1), no-common-dialogue-portion(2)} +} + +ABRT-source ::= INTEGER {dialogue-service-user(0), dialogue-service-provider(1) +} + +-- Transaction Portion fields + +TCMessage ::= CHOICE { + unidirectional [APPLICATION 1] IMPLICIT Unidirectional, + begin [APPLICATION 2] IMPLICIT Begin, + end [APPLICATION 4] IMPLICIT End, + continue [APPLICATION 5] IMPLICIT Continue, + abort [APPLICATION 7] IMPLICIT Abort +} + +Unidirectional ::= SEQUENCE{ + dialoguePortion DialoguePortion OPTIONAL, + components ComponentPortion + } + +Begin ::= SEQUENCE{ + otid OrigTransactionID, + dialoguePortion DialoguePortion OPTIONAL, + components ComponentPortion OPTIONAL + } + +End ::= SEQUENCE{ + dtid DestTransactionID, + dialoguePortion DialoguePortion OPTIONAL, + components ComponentPortion OPTIONAL + } + + +Continue ::= SEQUENCE { + otid OrigTransactionID, + dtid DestTransactionID, + dialoguePortion DialoguePortion OPTIONAL, + components ComponentPortion OPTIONAL + } + +Abort ::= SEQUENCE{ + dtid DestTransactionID, + reason Reason OPTIONAL + } + +Reason ::= CHOICE{ + p-abortCause P-AbortCause, + u-abortCause DialoguePortion + } + +-- NOTE - When the Abort Message is generated by the Transaction sublayer, a p-Abort Cause may be +-- present. The u-abortCause may be generated by the component sublayer in which case it is an ABRT +-- APDU, or by the TC-User in which case it could be either an ABRT APDU or data in some user-defined +-- abstract syntax. + +DialoguePortion ::= [APPLICATION 11] EXPLICIT ExternalPDU + +-- WS adaptation +--DialoguePortion ::= [APPLICATION 11] IMPLICIT DialogueOC +--DialogueOC ::= OCTET STRING + +-- The dialogue portion carries the dialogue control PDUs as value of the external data type. +-- The direct reference should be set to { ccitt recommendation q 773 as (1) dialogue-as (1) version (1) } +-- if structured dialogue is used and to { ccitt recommendation q 773 as (1) unidialogue-as (2) version (1) } +-- if unstructured dialogue is used or any user defined abstract syntax name when only user information +-- is carried (e.g. when user information is sent in a 1988 Abort message). + +OrigTransactionID ::= [APPLICATION 8] IMPLICIT OCTET STRING (SIZE (1..4) ) + +DestTransactionID ::=[APPLICATION 9] IMPLICIT OCTET STRING (SIZE (1..4) ) + +P-AbortCause ::= [APPLICATION 10] IMPLICIT INTEGER { + unrecognizedMessageType (0), + unrecognizedTransactionID (1), + badlyFormattedTransactionPortion (2), + incorrectTransactionPortion (3), + resourceLimitation (4)}(0..127) + +-- COMPONENT PORTION. The last field in the transaction portion of the TCAP message is the Component Portion. +-- The Component Portion may be absent. + +ComponentPortion ::= [APPLICATION 12] IMPLICIT SEQUENCE SIZE (1..MAX) OF Component + +-- Component Portion fields +-- Recommendation X.880 defines four Application Protocol Data Units (APDUs) for invoking +-- operations, returning results or error, and for the rejection of invalid PDUs. +-- TCAP adds returnResultNotLast to allow for the segmentation of a result. + +Component ::= CHOICE { + invoke [1] IMPLICIT Invoke, + returnResultLast [2] IMPLICIT ReturnResult, + returnError [3] IMPLICIT ReturnError, + reject [4] IMPLICIT Reject, + returnResultNotLast [7] IMPLICIT ReturnResult + } + +-- The Components are sequences of data elements. + +Invoke ::= SEQUENCE { + invokeID InvokeIdType, + linkedID [0] IMPLICIT InvokeIdType OPTIONAL, + opCode OPERATION, + parameter Parameter OPTIONAL } + +Parameter ::= ANY + +-- ANY is filled by the single ASN.1 data type following the keyword PARAMETER or the keyword ARGUMENT +-- in the type definition of a particular operation. + +ReturnResult ::= SEQUENCE { + invokeID InvokeIdType, + resultretres SEQUENCE { + opCode OPERATION, + parameter Parameter OPTIONAL + } OPTIONAL + } + +-- ANY is filled by the single ASN.1 data type following the keyword RESULT in the type definition +-- of a particular operation. + +ReturnError ::= SEQUENCE { + invokeID InvokeIdType, + errorCode ErrorCode, + parameter Parameter OPTIONAL } + +-- ANY is filled by the single ASN.1 data type following the keyword PARAMETER in the type definition +-- of a particular error. + +Reject ::= SEQUENCE { + invokeIDRej CHOICE { + derivable InvokeIdType, + not-derivable NULL }, + problem CHOICE { + generalProblem [0] IMPLICIT GeneralProblem, + invokeProblem [1] IMPLICIT InvokeProblem, + returnResultProblem [2] IMPLICIT ReturnResultProblem, + returnErrorProblem [3] IMPLICIT ReturnErrorProblem } } + +InvokeIdType ::= INTEGER (-128..127) + + +OPERATION ::= CHOICE { + localValue INTEGER, + globalValue OBJECT IDENTIFIER } + +ERROR ::= CHOICE { + localValue INTEGER, + globalValue OBJECT IDENTIFIER } + +-- OPERATIONS + +-- Operations are specified with the OPERATION MACRO. +-- When an operation is specified, the valid parameter set, results, and errors for that operation are indicated. +-- Default values and optional parameters are permitted. + +--OPERATION MACRO ::= + +--BEGIN +-- TYPE NOTATION ::= Parameter Result Errors LinkedOperations +-- VALUE NOTATION ::= value (VALUE CHOICE { +-- localValue INTEGER, +-- globalValue OBJECT IDENTIFIER } ) +-- Parameter ::= ArgKeyword NamedType | empty +-- ArgKeyword ::= "ARGUMENT" | "PARAMETER" +-- Result ::= "RESULT" ResultType | empty +-- Errors ::= "ERRORS" "{"ErrorNames"}" | empty +-- LinkedOperations ::= "LINKED" "{"LinkedOperationNames"}" | empty +-- ResultType ::= NamedType | empty +-- ErrorNames ::= ErrorList | empty +-- ErrorList ::= Error | ErrorList "," Error +-- Error ::= value (ERROR) + -- shall reference an error value + --| type shall reference an error type + -- if no error value is specified + +-- LinkedOperationNames ::= OperationList | empty +-- OperationList ::= Operation | OperationList "," Operation +-- Operation ::= value (OPERATION) + -- shall reference an operation value +-- | type shall reference an operation type if + -- no operation value is specified +-- NamedType ::= identifier type | type +--END + +-- ERRORS + +-- Errors are specified with the ERROR MACRO. +-- When an error is specified, the valid parameters for that error are indicated. +-- Default values and optional parameters are permitted. + +--ERROR MACRO ::= +-- +--BEGIN +-- TYPE NOTATION ::= Parameter +-- VALUE NOTATION ::= value (VALUE CHOICE { +-- localValue INTEGER, +-- globalValue OBJECT IDENTIFIER } ) +-- Parameter ::= "PARAMETER" NamedType | empty +-- NamedType ::= identifier type | type +--END + +-- PROBLEMS + +GeneralProblem ::= INTEGER { unrecognizedComponent (0), + mistypedComponent (1), + badlyStructuredComponent (2) } + +InvokeProblem ::= INTEGER { duplicateInvokeID (0), + unrecognizedOperation (1), + mistypedParameter (2), + resourceLimitation (3), + initiatingRelease (4), + unrecognizedLinkedID (5), + linkedResponseUnexpected (6), + unexpectedLinkedOperation (7) } + +ReturnResultProblem ::= INTEGER { unrecognizedInvokeID (0), + returnResultUnexpected (1), + mistypedParameter (2) } + +ReturnErrorProblem ::= INTEGER { unrecognizedInvokeID (0), + returnErrorUnexpected (1), + unrecognizedError (2), + unexpectedError (3), + mistypedParameter (4) } + + +-- ErrorCode ::= CHOICE +-- { +-- nationaler [PRIVATE 19] IMPLICIT INTEGER (-32768..32767), +-- privateer [PRIVATE 20] IMPLICIT INTEGER +-- } +ErrorCode ::= INTEGER + + + + +CalledPartyNumber ::= + OCTET STRING + (SIZE (2..18)) +DestinationRoutingAddress ::= + SEQUENCE SIZE (1..16) OF CalledPartyNumber +AlertingPattern ::= OCTET STRING(SIZE (3)) +Digits ::= OCTET STRING(SIZE (2..16)) +CorrelationID ::= Digits +CutAndPaste ::= INTEGER(0..2) +ForwardingCondition ::= ENUMERATED {busy(0), noanswer(1), any(2)} +OriginalCalledPartyID ::= + OCTET STRING + (SIZE (2.. + 10)) +RouteList ::= SEQUENCE SIZE (1..16) OF Route +TravellingClassMark ::= + LocationNumber +Carrier ::= + OCTET STRING(SIZE (4..4)) +ServiceInteractionIndicators ::= + OCTET STRING + (SIZE (0.. + 255)) +CallingPartyNumber ::= + OCTET STRING + (SIZE (2..10)) +CallingPartysCategory ::= OCTET STRING(SIZE (1)) +RedirectingPartyID ::= + OCTET STRING + (SIZE (2..10)) +RedirectionInformation ::= OCTET STRING(SIZE (2)) +DisplayInformation ::= + IA5String + (SIZE (0..32)) +ForwardCallIndicators ::= OCTET STRING(SIZE (2)) +GenericNumbers ::= + SET SIZE (1..5) OF GenericNumber +GenericNumber ::= + OCTET STRING(SIZE (3..11)) +Route ::= + OCTET STRING(SIZE (0..64)) +LocationNumber ::= + OCTET STRING(SIZE (2..10)) +ForwardServiceInteractionInd ::= SEQUENCE { + conferenceTreatmentIndicator [1] OCTET STRING(SIZE (1)) OPTIONAL, + -- acceptConferenceRequest 'xxxx xx01',B + -- rejectConferenceRequest 'xxxx xx10'B + -- network default is accept conference request. + callDiversionTreatmentIndicator [2] OCTET STRING(SIZE (1)) OPTIONAL, + -- callDiversionAllowed 'xxxx xx01'B + -- callDiversionNotAllowed 'xxxx xx10'B + -- network default is Call Diversion allowed. + callOfferingTreatmentIndicator [3] OCTET STRING(SIZE (1)) OPTIONAL, + --indicates if call offering is "allowed"," not allowed" or "no impact by IN" + -- the value 'no impact by IN," has only local significance in SSF as a request to SSF + -- not to modify the value of the call offering treatment indicator conveyed in signaling. + -- callOfferingNotAllowed 'xxxx xx01'B, + -- callOfferingAllowed 'xxxx xx10'B + -- callOfferingNoINImpact 'xxxx x100'B + --indicates if call offering is "allowed"," not allowed" or "no impact by IN". + -- network default is Call Offering not allowed + callWaitingTreatmentIndicator [5] OCTET STRING(SIZE (1)) OPTIONAL, + -- callWaitingAllowed 'xxxx xx01'B, + -- callWaitingNotAllowed 'xxxx xx10'B + -- network default is Call Waiting allowed + -- Notice Tag value 4 is otherwise reserved . + ..., + holdTreatmentIndicator [6] OCTET STRING(SIZE (1)) OPTIONAL, + -- acceptHoldRequest 'xxxx xx01'B + -- rejectHoldRequest 'xxxx xx10'B + -- network default is accept hold request + ectTreatmentIndicator [7] OCTET STRING(SIZE (1)) OPTIONAL + -- acceptEctRequest 'xxxx xx01'B + -- rejectEctRequest 'xxxx xx10'B + -- network default is accept ect request +} +BackwardServiceInteractionInd ::= SEQUENCE { + conferenceTreatmentIndicator [1] OCTET STRING(SIZE (1)) OPTIONAL, + -- acceptConferenceRequest 'xxxx xx01'B + -- rejectConferenceRequest 'xxxx xx10'B + -- network default is accept conference request, + callCompletionTreatmentIndicator [2] OCTET STRING(SIZE (1)) OPTIONAL, + -- acceptCallCompletionServiceRequest 'xxxx xx01'B, + -- rejectCallCompletionServiceRequest 'xxxx xx10'B + -- network default is accept call completion service request + holdTreatmentIndicator [3] OCTET STRING(SIZE (1)) OPTIONAL, + -- acceptHoldRequest 'xxxx xx01'B + -- rejectHoldRequest 'xxxx xx10'B + -- network default is accept hold request + ectTreatmentIndicator [4] OCTET STRING(SIZE (1)) OPTIONAL, + -- acceptEctRequest 'xxxx xx01'B + -- rejectEctRequest 'xxxx xx10'B + -- network default is accept ect request + ... +} +BothwayThroughConnectionInd ::= ENUMERATED { + bothwayPathRequired(0), bothwayPathNotRequired(1)} +SuspendTimer ::= INTEGER(0..120) +ConnectedNumberTreatmentInd ::= ENUMERATED { + noINImpact(0), presentationRestricted(1), presentCalledINNumber(2), + presentCalledINNumberRestricted(3)} +RedirectReason ::= OCTET STRING(SIZE (1)) +Integer4 ::= INTEGER(0..2147483647) +LegType ::= OCTET STRING(SIZE (1)) +ServiceInteractionIndicatorsTwo ::= SEQUENCE { + forwardServiceInteractionInd [0] ForwardServiceInteractionInd OPTIONAL, + -- applicable to operations IDP, CON, ICA, CWA. + backwardServiceInteractionInd + [1] BackwardServiceInteractionInd OPTIONAL, + --applicable to operations IDP, CON, CTR, ETC, CWA. + bothwayThroughConnectionInd [2] BothwayThroughConnectionInd OPTIONAL, + -- applicable to operations CTR, ETC. + suspendTimer [3] SuspendTimer OPTIONAL, + -- applicable to operations CON, ICA CWA. + connectedNumberTreatmentInd [4] ConnectedNumberTreatmentInd OPTIONAL, + --applicable to operations CON, CTR, ETC, CWA . + suppressCallDiversionNotification [5] BOOLEAN OPTIONAL, + -- applicable to CON, ICA, CWA + suppressCallTransferNotification [6] BOOLEAN OPTIONAL, + -- applicable to CON, ICA, CWA + allowCdINNoPresentationInd [7] BOOLEAN OPTIONAL, + -- applicable to CON, ICA CWA + -- indicates whether the Address Presentation restricted indicator of the ISUP + -- "called IN number" shall be set to presentation allowed (TRUE) + -- or presentation restricted (FALSE). Refer to Rec. Q.1601. + userDialogueDurationInd [8] BOOLEAN DEFAULT TRUE, + -- applicable to operations CTR, ETC. + -- applicable when interaction with the user is required during call set-up + -- The interaction TRUE means the user interaction may last longer than 90 seconds. + -- Otherwise the indicator should be set to FALSE. Used for delaying ISUP T9 timer. + overrideLineRestrictions [9] BOOLEAN DEFAULT FALSE, + -- only applicable to operations (e.g. Connect) which lead to a transition to a PIC before + -- the AuthorizeCallSetup PIC. + -- When set to TRUE, this parameter indicates that some facility restrictions + -- should not be checked when the authority to place a call is verified in the + --Authorize_Call_Setup PIC. + -- Which restrictions are actually overwriden is network specific. + suppressVPNAPP [10] BOOLEAN DEFAULT FALSE, + -- applicable to CWA, CON, ICA. + -- indicates whether to allow or stop (suppress) the forward transmission of the VPN PSS1 capability. + -- When set to TRUE, the exchange, on receipt of this parameter, will not transmit for this call + -- any ISUP Application transport parameter with Application Context Identifier set to " PSS1 ASE (VPN) " + -- This indicator is populated by the SCF, where the SCF and SSF in conjunction have provided the + -- outgoing gateway PINX functionality as required by PSS1. + calledINNumberOverriding [11] BOOLEAN OPTIONAL, + -- applicable to CON and CWA + -- indicates whether the generation/override of the ISUP + -- "called IN number" is allowed (TRUE) or not allowed (FALSE) + -- If set to FALSE, the ISUP shall not generate a "called IN number" or override + -- an already existing "called IN number". + -- if absent , the default will be "generation/overriding allowed" (TRUE). + redirectServiceTreatmentInd + [12] SEQUENCE {redirectReason [0] RedirectReason OPTIONAL, + ...} OPTIONAL, + --applicable to operation CON . + --if absent , call redirection service is not allowed + --Existence of this parameter requests Pivot Routing or Redirection supplementary service to be + --allowed for-the new routing address specified in the Connect operation. + --If absent, neither Pivot Routing nor Redirection service is allowed. + -- The redirectReason Parameter indicates the reason for invoking Pivot Routing / Redirection service + -- Whether the service is actually invoked depends only on SSF conditions. + --In this capability set the SCF will not know all the SSF conditions. + -- To send that kind of conditions is out of scope of this capability set. + --If the service is allowed, the parameter must be sent in the ISUP-FAC message (Pivot Routing case) + -- or ISUP-REL message (Redirection case) as the service is invoked, + nonCUGCall [13] NULL OPTIONAL, + -- applicable to CON and CWA + -- This parameter when present, indicates that no parameters for CUG shall be used for the call + -- (i.e. the call shall be a non-CUG call). This parameter when not present, indicates + -- one of three things: + -- a) continue with modified CUG information (when one or more of either CUG Interlock Code and + -- Outgoing Access Indicator are present); or + -- b) continue with original CUG information (when neither CUG Interlock Code or Outgoing Access Indicator + -- are present). + -- c) continue with the original non-CUG call. + ... +} +INServiceCompatibilityResponse ::= + Entry +Entry ::= CHOICE { + agreements [0] OBJECT IDENTIFIER, + networkSpecific [1] Integer4 +} +ForwardGVNS ::= + OCTET STRING(SIZE (0..255)) +BackwardGVNS ::= + OCTET STRING(SIZE (0..255)) +ChargeNumber ::= + LocationNumber +CallSegmentID ::= INTEGER(1..127) +LegID ::= CHOICE {sendingSideID [0] LegType, + receivingSideID [1] LegType +} +SDSSinformation ::= + OCTET STRING + (SIZE (0..255)) +CalledDirectoryNumber ::= + OCTET STRING + (SIZE (2..14)) +BearerCapability ::= CHOICE { + bearerCap + [0] OCTET STRING(SIZE (2..14)), + tmr [1] OCTET STRING(SIZE (1)), + broadbandBearerCap + [2] OCTET STRING + (SIZE (0..14)) +} +CallingPartySubaddress ::= + OCTET STRING + (SIZE (0..16)) +ConnectionIdentifier ::= + OCTET STRING + (SIZE (0..255)) +GenericIdentifier ::= + OCTET STRING + (SIZE (0..255)) +QoSParameter ::= + OCTET STRING(SIZE (0..16)) +BISDNParameters ::= SEQUENCE { + aALParameters [0] AALParameters OPTIONAL, + additionalATMCellRate [1] AdditionalATMCellRate OPTIONAL, + aESACalledParty [2] AESACalledParty OPTIONAL, + aESACallingParty [3] AESACallingParty OPTIONAL, + alternativeATMTrafficDescriptor + [4] AlternativeATMTrafficDescriptor OPTIONAL, + aTMCellRate [5] ATMCellRate OPTIONAL, + cDVTDescriptor [6] CDVTDescriptor OPTIONAL, + cumulativeTransitDelay [7] CumulativeTransitDelay OPTIONAL, + endToEndTransitDelay [8] EndToEndTransitDelay OPTIONAL, + minAcceptableATMTrafficDescriptor + [9] MinAcceptableATMTrafficDescriptor OPTIONAL, + ... +} +CUG-Interlock ::= OCTET STRING(SIZE (4)) -- See Q.763 for encoding +IPRelatedInformation ::= SEQUENCE { + alternativeCalledPartyIds [0] AlternativeIdentities OPTIONAL, + alternativeOriginatingPartyIds [1] AlternativeIdentities OPTIONAL, + alternativeOriginalCalledPartyIds [2] AlternativeIdentities OPTIONAL, + alternativeRedirectingPartyIds [3] AlternativeIdentities OPTIONAL, + ... +} +AlternativeIdentities ::= + SEQUENCE (SIZE (1..16)) OF AlternativeIdentity +AlternativeIdentity ::= CHOICE { + url [0] IA5String(SIZE (1..512)) -- any RFC1738 compliant URL (e.g.; SIP URL) +} +AALParameters ::= OCTET STRING(SIZE (0..255)) +AdditionalATMCellRate ::= OCTET STRING(SIZE (0..255)) +AESACalledParty ::= OCTET STRING(SIZE (0..255)) +AESACallingParty ::= OCTET STRING(SIZE (0..255)) +AlternativeATMTrafficDescriptor ::= OCTET STRING(SIZE (0..255)) +ATMCellRate ::= OCTET STRING(SIZE (0..255)) +CDVTDescriptor ::= OCTET STRING(SIZE (0..255)) +CumulativeTransitDelay ::= OCTET STRING(SIZE (0..255)) +EndToEndTransitDelay ::= OCTET STRING(SIZE (0..255)) +MinAcceptableATMTrafficDescriptor ::= OCTET STRING(SIZE (0..255)) +ISDNAccessRelatedInformation ::= OCTET STRING(SIZE (0..255)) +ScfID ::= OCTET STRING(SIZE (0..255)) +CalledPartySubaddress ::= OCTET STRING(SIZE (0..255)) + + + +ConnectArg ::= SEQUENCE { + destinationRoutingAddress [0] IMPLICIT DestinationRoutingAddress, + alertingPattern [1] IMPLICIT AlertingPattern OPTIONAL, + correlationID [2] IMPLICIT CorrelationID OPTIONAL, + cutAndPaste [3] IMPLICIT CutAndPaste OPTIONAL, + forwardingCondition [4] IMPLICIT ForwardingCondition OPTIONAL, + iSDNAccessRelatedInformation + [5] IMPLICIT ISDNAccessRelatedInformation OPTIONAL, + originalCalledPartyID [6] IMPLICIT OriginalCalledPartyID OPTIONAL, + routeList [7] IMPLICIT RouteList OPTIONAL, + -- maximum number of routes is limited to 3 + scfID [8] IMPLICIT ScfID OPTIONAL, + travellingClassMark [9] IMPLICIT TravellingClassMark OPTIONAL, + --extensions [10] IMPLICIT Extensions OPTIONAL, + carrier [11] IMPLICIT Carrier OPTIONAL, + serviceInteractionIndicators + [26] IMPLICIT ServiceInteractionIndicators OPTIONAL, + callingPartyNumber [27] IMPLICIT CallingPartyNumber OPTIONAL, + callingPartysCategory [28] IMPLICIT CallingPartysCategory OPTIONAL, + redirectingPartyID [29] IMPLICIT RedirectingPartyID OPTIONAL, + redirectionInformation [30] IMPLICIT RedirectionInformation OPTIONAL, + displayInformation [12] IMPLICIT DisplayInformation OPTIONAL, + forwardCallIndicators [13] IMPLICIT ForwardCallIndicators OPTIONAL, + genericNumbers [14] IMPLICIT GenericNumbers OPTIONAL, + serviceInteractionIndicatorsTwo + [15] IMPLICIT ServiceInteractionIndicatorsTwo OPTIONAL, + iNServiceCompatibilityResponse + [16] INServiceCompatibilityResponse OPTIONAL, + forwardGVNS [17] IMPLICIT ForwardGVNS OPTIONAL, + backwardGVNS [18] IMPLICIT BackwardGVNS OPTIONAL, + chargeNumber [19] IMPLICIT ChargeNumber OPTIONAL, + callSegmentID [20] IMPLICIT CallSegmentID OPTIONAL, + legToBeCreated [21] LegID OPTIONAL, + sDSSinformation [22] IMPLICIT SDSSinformation OPTIONAL, + calledDirectoryNumber [23] IMPLICIT CalledDirectoryNumber OPTIONAL, + bearerCapability [24] BearerCapability OPTIONAL, + calledPartySubaddress [60] IMPLICIT CalledPartySubaddress OPTIONAL, + connectionIdentifier [61] IMPLICIT ConnectionIdentifier OPTIONAL, + genericIdentifier [62] IMPLICIT GenericIdentifier OPTIONAL, + qOSParameter [63] IMPLICIT QoSParameter OPTIONAL, + bISDNParameters [64] IMPLICIT BISDNParameters OPTIONAL, + ..., + cug-Interlock [31] IMPLICIT CUG-Interlock OPTIONAL, + cug-OutgoingAccess [32] IMPLICIT NULL OPTIONAL, + ipRelatedInformation [33] IMPLICIT IPRelatedInformation OPTIONAL +} + + + +FurnishChargingInformationArg ::= + FCIBillingChargingCharacteristics +FCIBillingChargingCharacteristics ::= + OCTET STRING + (SIZE (0..255)) + +InitialDPArg ::= SEQUENCE { + serviceKey [0] IMPLICIT ServiceKey OPTIONAL, + dialledDigits [1] IMPLICIT CalledPartyNumber OPTIONAL, + calledPartyNumber [2] IMPLICIT CalledPartyNumber OPTIONAL, + callingPartyNumber [3] IMPLICIT CallingPartyNumber OPTIONAL, + callingPartyBusinessGroupID [4] IMPLICIT CallingPartyBusinessGroupID OPTIONAL, + callingPartysCategory [5] IMPLICIT CallingPartysCategory OPTIONAL, + callingPartySubaddress [6] IMPLICIT CallingPartySubaddress OPTIONAL, + cGEncountered [7] IMPLICIT CGEncountered OPTIONAL, + iPSSPCapabilities [8] IMPLICIT IPSSPCapabilities OPTIONAL, + iPAvailable [9] IMPLICIT IPAvailable OPTIONAL, + locationNumber [10] IMPLICIT LocationNumber OPTIONAL, + miscCallInfo [11] IMPLICIT MiscCallInfo OPTIONAL, + originalCalledPartyID [12] IMPLICIT OriginalCalledPartyID OPTIONAL, + serviceProfileIdentifier [13] IMPLICIT ServiceProfileIdentifier OPTIONAL, + terminalType [14] IMPLICIT TerminalType OPTIONAL, + --extensions [15] IMPLICIT Extensions OPTIONAL, + triggerType [16] IMPLICIT TriggerType OPTIONAL, + highLayerCompatibility [23] IMPLICIT HighLayerCompatibility OPTIONAL, + serviceInteractionIndicators + [24] IMPLICIT ServiceInteractionIndicators OPTIONAL, + additionalCallingPartyNumber + [25] IMPLICIT AdditionalCallingPartyNumber OPTIONAL, + forwardCallIndicators [26] IMPLICIT ForwardCallIndicators OPTIONAL, + bearerCapability [27] BearerCapability OPTIONAL, + eventTypeBCSM [28] IMPLICIT EventTypeBCSM OPTIONAL, + redirectingPartyID [29] IMPLICIT RedirectingPartyID OPTIONAL, + redirectionInformation [30] IMPLICIT RedirectionInformation OPTIONAL, + cause [17] IMPLICIT Cause OPTIONAL, + componentType [18] IMPLICIT ComponentType OPTIONAL, + component [19] Component OPTIONAL, + componentCorrelationID [20] IMPLICIT ComponentCorrelationID OPTIONAL, + iSDNAccessRelatedInformation + [21] IMPLICIT ISDNAccessRelatedInformation OPTIONAL, + iNServiceCompatibilityIndication + [22] IMPLICIT INServiceCompatibilityIndication OPTIONAL, + genericNumbers [31] IMPLICIT GenericNumbers OPTIONAL, + serviceInteractionIndicatorsTwo + [32] IMPLICIT ServiceInteractionIndicatorsTwo OPTIONAL, + forwardGVNS [33] IMPLICIT ForwardGVNS OPTIONAL, + createdCallSegmentAssociation [34] IMPLICIT CSAID OPTIONAL, + uSIServiceIndicator [35] USIServiceIndicator OPTIONAL, + uSIInformation [36] IMPLICIT USIInformation OPTIONAL, + carrier [37] IMPLICIT Carrier OPTIONAL, + cCSS [38] IMPLICIT CCSS OPTIONAL, + vPNIndicator [39] IMPLICIT VPNIndicator OPTIONAL, + cNInfo [40] IMPLICIT CNInfo OPTIONAL, + callReference [41] IMPLICIT CallReference OPTIONAL, + routeingNumber [42] IMPLICIT RouteingNumber OPTIONAL, + callingGeodeticLocation [43] IMPLICIT CallingGeodeticLocation OPTIONAL, + calledPartySubaddress [60] IMPLICIT CalledPartySubaddress OPTIONAL, + connectionIdentifier [61] IMPLICIT ConnectionIdentifier OPTIONAL, + genericIdentifier [62] IMPLICIT GenericIdentifier OPTIONAL, + qOSParameter [63] IMPLICIT QoSParameter OPTIONAL, + bISDNParameters [64] IMPLICIT BISDNParameters OPTIONAL, + ..., + globalCallReference [44] IMPLICIT GlobalCallReference OPTIONAL, + cug-Index [45] IMPLICIT CUG-Index OPTIONAL, + cug-Interlock [46] IMPLICIT CUG-Interlock OPTIONAL, + cug-OutgoingAccess [47] IMPLICIT NULL OPTIONAL, + ipRelatedInformation [48] IMPLICIT IPRelatedInformation OPTIONAL +} + +CallReference ::= OCTET STRING(SIZE (1..255)) +ServiceKey ::= + Integer4 +CallingPartyBusinessGroupID ::= OCTET STRING +CGEncountered ::= ENUMERATED { + noCGencountered(0), manualCGencountered(1), sCPOverload(2)} +IPSSPCapabilities ::= + OCTET STRING + (SIZE (0..255)) +IPAvailable ::= + OCTET STRING(SIZE (0..255)) +MiscCallInfo ::= SEQUENCE { + messageType [0] ENUMERATED {request(0), notification(1)}, + dpAssignment + [1] ENUMERATED {individualBased(0), groupBased(1), switchBased(2)} + OPTIONAL +} +ServiceProfileIdentifier ::= OCTET STRING +TerminalType ::= ENUMERATED { + unknown(0), dialPulse(1), dtmf(2), isdn(3), isdnNoDtmf(4), spare(16) +} +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), oModifyRequest(100), tModifyRequest(101)} +HighLayerCompatibility ::= + OCTET STRING(SIZE (2)) +AdditionalCallingPartyNumber ::= + Digits +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), oTermSeized(19), oSuspend(20), tSuspend(21), origAttempt(22), + termAttempt(23), oReAnswer(24), tReAnswer(25), + facilitySelectedAndAvailable(26), callAccepted(27), + authorizeRouteFailure(28), originationAttemptDenied(29), + terminationAttemptDenied(30), oModifyRequest(100), oModifyResult(101), + tModifyRequest(102), tModifyResult(103)} +Cause ::= OCTET STRING(SIZE (0..255)) +ComponentType ::= ENUMERATED { + any(0), invoke(1), rResult(2), rError(3), rReject(4)} +ComponentCorrelationID ::= INTEGER +INServiceCompatibilityIndication ::= + SEQUENCE SIZE (1..255) OF Entry +CSAID ::= INTEGER(1..255) +USIServiceIndicator ::= CHOICE { + global OBJECT IDENTIFIER, + local + OCTET STRING + (SIZE (0..255)) +} +USIInformation ::= + OCTET STRING(SIZE (0..255)) +CCSS ::= BOOLEAN +VPNIndicator ::= BOOLEAN +CNInfo ::= OCTET STRING(SIZE (1..255)) +RouteingNumber ::= + OCTET STRING(SIZE (0..255)) +CallingGeodeticLocation ::= + OCTET STRING + (SIZE (0..255)) +GlobalCallReference ::= + OCTET STRING(SIZE (1..255)) +CUG-Index ::= + IA5String(SIZE (1..4)) + (FROM ("0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9")) + + + + +END -- end of the TCAP Package Module