diff options
author | Tomas Kukosa <tomas.kukosa@siemens.com> | 2007-07-20 09:54:47 +0000 |
---|---|---|
committer | Tomas Kukosa <tomas.kukosa@siemens.com> | 2007-07-20 09:54:47 +0000 |
commit | 3b5c406f8c7c950fca9bf812c1e0e2dafcf529cb (patch) | |
tree | f8c4df9b93883649dc11f2339e7d8fff464faf56 /asn1/qsig | |
parent | 5e290061f2690d39bad202179927049601bb4ca5 (diff) | |
download | wireshark-3b5c406f8c7c950fca9bf812c1e0e2dafcf529cb.tar.gz wireshark-3b5c406f8c7c950fca9bf812c1e0e2dafcf529cb.tar.bz2 wireshark-3b5c406f8c7c950fca9bf812c1e0e2dafcf529cb.zip |
QSIG fully implemented
svn path=/trunk/; revision=22361
Diffstat (limited to 'asn1/qsig')
33 files changed, 4924 insertions, 263 deletions
diff --git a/asn1/qsig/Makefile b/asn1/qsig/Makefile index e3bf97377f..81e1879b46 100644 --- a/asn1/qsig/Makefile +++ b/asn1/qsig/Makefile @@ -7,7 +7,7 @@ all: generate_dissector generate_dissector: $(DISSECTOR_FILES) $(DISSECTOR_FILES): ../../tools/asn2wrs.py packet-qsig-template.c packet-qsig-template.h qsig.cnf - python ../../tools/asn2wrs.py -b -T -X -e -p qsig -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn qsig-na.asn qsig-cf.asn + python ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn clean: rm -f parsetab.py $(DISSECTOR_FILES) diff --git a/asn1/qsig/Makefile.nmake b/asn1/qsig/Makefile.nmake index 954ae38801..c6a806f321 100644 --- a/asn1/qsig/Makefile.nmake +++ b/asn1/qsig/Makefile.nmake @@ -8,7 +8,7 @@ UNIX2DOS=$(PERL) ../../tools/unix2dos.pl PROTOCOL_NAME=qsig DISSECTOR_FILES=packet-$(PROTOCOL_NAME).c packet-$(PROTOCOL_NAME).h -QSIG_ASN=qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn qsig-na.asn qsig-cf.asn +QSIG_ASN=qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn all: generate_dissector @@ -16,7 +16,7 @@ generate_dissector: $(DISSECTOR_FILES) $(DISSECTOR_FILES): ../../tools/asn2wrs.py $(QSIG_ASN) packet-$(PROTOCOL_NAME)-template.c packet-$(PROTOCOL_NAME)-template.h $(PROTOCOL_NAME).cnf !IFDEF PYTHON - $(PYTHON) "../../tools/asn2wrs.py" -b -T -X -e -p $(PROTOCOL_NAME) -c $(PROTOCOL_NAME).cnf -s packet-$(PROTOCOL_NAME)-template $(QSIG_ASN) + $(PYTHON) "../../tools/asn2wrs.py" -e -c $(PROTOCOL_NAME).cnf -s packet-$(PROTOCOL_NAME)-template $(QSIG_ASN) !ELSE @echo Error: You need Python to use asn2wrs.py @exit 1 diff --git a/asn1/qsig/QSIG-AOC.asn b/asn1/qsig/QSIG-AOC.asn new file mode 100644 index 0000000000..c072884715 --- /dev/null +++ b/asn1/qsig/QSIG-AOC.asn @@ -0,0 +1,307 @@ +-- QSIG-AOC.asn +-- +-- Taken from Ecma International +-- Standard ECMA-212, 3rd edition (December 2001) +-- http://www.ecma-international.org/publications/standards/Ecma-212.htm +-- +-- $Id$ +-- + +SS-AOC-Operations-asn1-97 +{iso (1) standard (0) pss1-advice-of-charge (15050) advice-of-charge-operations-asn1-97 (1)} + +DEFINITIONS EXPLICIT TAGS ::= + +BEGIN + +IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t (2) remote-operations (4) informationObjects(5) version1(0)} + EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97 + {iso (1) standard (0) pss1-generic-procedures (11582) msi-class-asn1-97 (11)} + notAvailable, supplementaryServiceInteractionNotAllowed + FROM General-Error-List + {ccitt recommendation q 950 general-error-list (1)} + PartyNumber FROM Addressing-Data-Elements-asn1-97 + { iso (1) standard (0) pss1-generic-procedures (11582) + addressing-data-elements-asn1-97 (20) } ; + +AOC-Operations OPERATION ::= { chargeRequest | getFinalCharge | aocFinal | aocInterim | aocRate | + aocComplete | aocDivChargeReq } + +aocRate OPERATION ::= { + ARGUMENT AocRateArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 63} + +AocRateArg ::= SEQUENCE { + aocRate CHOICE { + chargeNotAvailable NULL, + aocSCurrencyInfoList AOCSCurrencyInfoList + }, + rateArgExtension CHOICE { + extension [1] IMPLICIT Extension{{AOCExtSet}}, + multipleExtension [2] IMPLICIT SEQUENCE OF + Extension{{AOCExtSet}} } OPTIONAL + } + +aocInterim OPERATION ::= { + ARGUMENT AocInterimArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 62} + +AocInterimArg ::= SEQUENCE { + interimCharge CHOICE { + chargeNotAvailable [0] IMPLICIT NULL, + freeOfCharge [1] IMPLICIT NULL, + specificCurrency SEQUENCE { + recordedCurrency [1] IMPLICIT RecordedCurrency, + interimBillingId[2] IMPLICIT InterimBillingId OPTIONAL } + }, + interimArgExtension CHOICE { + extension [1] IMPLICIT Extension{{AOCExtSet}}, + multipleExtension [2] IMPLICIT SEQUENCE OF + Extension{{AOCExtSet}} } OPTIONAL + } + +aocFinal OPERATION ::= { + ARGUMENT AocFinalArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 61} + +AocFinalArg ::= SEQUENCE { + finalCharge CHOICE { + chargeNotAvailable [0] IMPLICIT NULL, + freeOfCharge [1] IMPLICIT NULL, + specificCurrency SEQUENCE { + recordedCurrency [1] IMPLICIT RecordedCurrency, + finalBillingId[2] IMPLICIT FinalBillingId OPTIONAL } + }, + chargingAssociation ChargingAssociation OPTIONAL, + finalArgExtension CHOICE { + extension [1] IMPLICIT Extension{{AOCExtSet}}, + multipleExtension [2] IMPLICIT SEQUENCE OF + Extension{{AOCExtSet}} } OPTIONAL + } + +AOCSCurrencyInfoList ::= SEQUENCE SIZE(1..10) OF AOCSCurrencyInfo + +AOCSCurrencyInfo ::= SEQUENCE { + chargedItem ChargedItem, + rateType CHOICE { + durationCurrency [1] IMPLICIT DurationCurrency, + flatRateCurrency [2] IMPLICIT FlatRateCurrency, + volumeRateCurrency [3] IMPLICIT VolumeRateCurrency, + specialChargingCode SpecialChargingCode, + freeOfCharge [4] IMPLICIT NULL, + currencyInfoNotAvailable [5] IMPLICIT NULL, + freeOfChargefromBeginning [6] IMPLICIT NULL + } } +ChargedItem ::= ENUMERATED { + basicCommunication (0), + callAttempt (1), + callSetup (2), + userToUserInfo (3), + operationOfSupplementaryServ (4) } + +DurationCurrency ::= SEQUENCE { + dCurrency [1] IMPLICIT Currency, + dAmount [2] IMPLICIT Amount, + dChargingType [3] IMPLICIT ChargingType, + dTime [4] IMPLICIT Time, + dGranularity [5] IMPLICIT Time OPTIONAL } + +FlatRateCurrency ::= SEQUENCE { + fRCurrency [1] IMPLICIT Currency, + fRAmount [2] IMPLICIT Amount } + +VolumeRateCurrency ::= SEQUENCE { + vRCurrency [1] IMPLICIT Currency, + vRAmount [2] IMPLICIT Amount, + vRVolumeUnit [3] IMPLICIT VolumeUnit + } + +SpecialChargingCode ::= INTEGER (1..10) + +RecordedCurrency ::= SEQUENCE { + rCurrency [1] IMPLICIT Currency, + rAmount [2] IMPLICIT Amount } + +InterimBillingId ::= ENUMERATED { + normalCharging (0), + creditCardCharging (2) } + +FinalBillingId ::= ENUMERATED { + normalCharging (0), + creditCardCharging (2), + callForwardingUnconditional (3), + callForwardingBusy (4), + callForwardingNoReply (5), + callDeflection (6), + callTransfer (7) } + +Currency ::= IA5String (SIZE (0..10)) + -- SIZE(0) shall indicate the default currency of the PISN + -- The representation of other currencies is outside the scope of this standard + +Amount ::= SEQUENCE { + currencyAmount [1] IMPLICIT CurrencyAmount, + multiplier [2] IMPLICIT Multiplier } + +CurrencyAmount ::= INTEGER (0..16777215) +Multiplier ::= ENUMERATED { + oneThousandth (0), + oneHundredth (1), + oneTenth (2), + one (3), + ten (4), + hundred (5), + thousand (6) } + +Time ::= SEQUENCE { + lengthOfTimeUnit [1] IMPLICIT LengthOfTimeUnit, + scale [2] IMPLICIT Scale } + +LengthOfTimeUnit ::= INTEGER (0..16777215) + +Scale ::= ENUMERATED { + oneHundredthSecond (0), + oneTenthSecond (1), + oneSecond (2), + tenSeconds (3), + oneMinute (4), + oneHour (5), + twentyFourHours (6) } + +VolumeUnit ::= ENUMERATED { + octet (0), + segment (1), + message (2) } + +ChargingType ::= ENUMERATED { + continuousCharging (0), + stepFunction (1) } + +ChargingAssociation ::= CHOICE { + chargeNumber [0] PartyNumber, + chargeIdentifier ChargeIdentifier } + +ChargeIdentifier ::= INTEGER (-32768..32767) + +chargeRequest OPERATION ::= { + ARGUMENT ChargeRequestArg + RESULT ChargeRequestRes + ERRORS { + freeOfCharge | + supplementaryServiceInteractionNotAllowed | + notAvailable | unspecified } + CODE local: 59} + +getFinalCharge OPERATION ::= { + ARGUMENT DummyArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 60} + +ChargeRequestArg ::= SEQUENCE { + adviceModeCombinations SEQUENCE SIZE(0..7) OF + AdviceModeCombination, + chargeReqArgExtension CHOICE { + extension [1] IMPLICIT Extension{{AOCExtSet}}, + multipleExtension [2] IMPLICIT SEQUENCE OF + Extension{{AOCExtSet}} } OPTIONAL + } + +ChargeRequestRes ::= SEQUENCE { + adviceModeCombination AdviceModeCombination, + chargeReqResExtension CHOICE { + extension [1] IMPLICIT Extension{{AOCExtSet}}, + multipleExtension [2] IMPLICIT SEQUENCE OF + Extension{{AOCExtSet}} } OPTIONAL + } + +AdviceModeCombination ::= ENUMERATED { -- advice mode combination + rate (0), -- charge rate provision + rateInterim (1), -- charge rate and interim charge provision + rateFinal (2), -- charge rate and final charge provision + interim (3), -- interim charge provision + final (4), -- final charge provision + interimFinal (5), -- interim charge and final charge provision + rateInterimFinal (6)} -- charge rate, interim charge and final + -- charge provision + +DummyArg ::= CHOICE{ + none NULL, + extension [1] IMPLICIT Extension{{AOCExtSet}}, + multipleExtension [2] IMPLICIT SEQUENCE OF Extension{{AOCExtSet}} + } + + +-- The following OPERATION applies for the interaction with Call Transfer + +aocComplete OPERATION ::= { + ARGUMENT AocCompleteArg + RESULT AocCompleteRes + ERRORS {supplementaryServiceInteractionNotAllowed} + CODE local: 64} + +AocCompleteArg ::= SEQUENCE { + chargedUser PartyNumber, + chargingAssociation ChargingAssociation OPTIONAL, + completeArgExtension CHOICE { + extension [1] IMPLICIT Extension{{AOCExtSet}}, + multipleExtension [2] IMPLICIT SEQUENCE OF + Extension{{AOCExtSet}} } OPTIONAL + } + +AocCompleteRes::= SEQUENCE { + chargingOption ChargingOption, + completeResExtension CHOICE { + extension [1] IMPLICIT Extension{{AOCExtSet}}, + multipleExtension [2] IMPLICIT SEQUENCE OF Extension{{AOCExtSet}} + } OPTIONAL + } + +ChargingOption ::= ENUMERATED{ + aocFreeOfCharge (0), + aocContinueCharging (1), + aocStopCharging (2) + } + +-- The following OPERATION applies for the interaction with Call Diversion + +aocDivChargeReq OPERATION::= { + ARGUMENT AocDivChargeReqArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 65} + + +AocDivChargeReqArg ::= SEQUENCE { + divertingUser PartyNumber, + chargingAssociation ChargingAssociation OPTIONAL, + diversionType DiversionType, + aocDivChargeReqArgExt CHOICE { + extension [1] IMPLICIT Extension{{AOCExtSet}}, + multipleExtension [2] IMPLICIT SEQUENCE OF Extension{{AOCExtSet}} + } OPTIONAL + } + + +DiversionType ::= ENUMERATED { + callForwardingUnconditional (0), + callForwardingBusy (1), + callForwardingNoReply (2), + callDeflection (3) } + +AOCExtSet EXTENSION ::= {...} + +unspecified ERROR ::= { + PARAMETER Extension{{AOCExtSet}} + CODE local: 1008} + +freeOfCharge ERROR ::= { CODE local: 1016} + +END -- of SS-AOC-Operations-asn1-97 diff --git a/asn1/qsig/QSIG-CC.asn b/asn1/qsig/QSIG-CC.asn new file mode 100644 index 0000000000..01eeb391a9 --- /dev/null +++ b/asn1/qsig/QSIG-CC.asn @@ -0,0 +1,177 @@ +-- QSIG-CC.asn +-- +-- Taken from Ecma International +-- Standard ECMA-186, 4th edition (December 2001) +-- http://www.ecma-international.org/publications/standards/Ecma-186.htm +-- +-- $Id$ +-- + +SS-CC-Operations-asn1-97 { iso (1) standard (0) pss1-call-completion (13870) operations-asn1-97 (1)} +DEFINITIONS EXPLICIT TAGS ::= +BEGIN +IMPORTS + OPERATION, + ERROR +FROM Remote-Operations-Information-Objects +{ joint-iso-itu-t remote-operations (4) informationObjects(5) version1 (0)} + + EXTENSION, Extension{} +FROM Manufacturer-specific-service-extension-class-asn1-97 + { iso( 1) standard( 0) pss1-generic-procedures( 11582) msi-class-asn1-97( 11) } + + PSS1InformationElement +FROM PSS1-generic-parameters-definition-asn1-97 + { iso standard pss1-generic-procedures (11582) pss1-generic-parameters-asn1-97(17)} + + PartyNumber, + PartySubaddress, + PresentedNumberUnscreened +FROM Addressing-Data-Elements-asn1-97 + {iso standard pss1-generic-procedures (11582) addressing-data-elements-asn1-97 (20)} + +supplementaryServiceInteractionNotAllowed +FROM General-Error-List + { ccitt (0) recommendation (0) q 950 general-error-list (1) } ; + +CC-Operations OPERATION ::= {ccbsRequest | ccnrRequest | ccCancel | ccExecPossible | ccPathReserve | + ccRingout | ccSuspend | ccResume } + + ccbsRequest OPERATION ::= { + ARGUMENT CcRequestArg + RESULT CcRequestRes + ERRORS{ + shortTermRejection | + longTermRejection | + unspecified | + supplementaryServiceInteractionNotAllowed + } + CODE local: 40 + } + + ccnrRequest OPERATION ::= { + ARGUMENT CcRequestArg + RESULT CcRequestRes + ERRORS{ + shortTermRejection | + longTermRejection | + unspecified | + supplementaryServiceInteractionNotAllowed + } + CODE local: 27 + } + + ccCancel OPERATION ::= { + ARGUMENT CcOptionalArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 28 + } + + ccExecPossible OPERATION ::= { + ARGUMENT CcOptionalArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 29 + } + + ccPathReserve OPERATION ::= { + ARGUMENT CcExtension + RESULT CcExtension + ERRORS { + remoteUserBusyAgain | + failureToMatch | + failedDueToInterworking | + unspecified + } + CODE local: 30 + } + + ccRingout OPERATION ::= { + ARGUMENT CcExtension + RETURN RESULT FALSE + ERRORS{ + remoteUserBusyAgain | + failureToMatch | + unspecified + } + ALWAYS RESPONDS FALSE + CODE local: 31 + } + + ccSuspend OPERATION ::= { + ARGUMENT CcExtension + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 32 + } + + ccResume OPERATION ::= { + ARGUMENT CcExtension + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 33 + } + +-- TYPE DEFINITIONS FOR CC DATA TYPES FOLLOW +CcRequestArg ::= SEQUENCE { + numberA PresentedNumberUnscreened, + numberB PartyNumber, + service PSS1InformationElement, + -- permitted information elements are: + -- Bearer capability; Low layer compatibility; High layer compatibility + subaddrA [10] PartySubaddress OPTIONAL, + subaddrB [11] PartySubaddress OPTIONAL, + can-retain-service [12] IMPLICIT BOOLEAN DEFAULT FALSE, + retain-sig-connection [13] IMPLICIT BOOLEAN OPTIONAL, + -- TRUE: signalling connection to be retained; + -- FALSE: signalling connection to be released; + -- omission: release or retain signalling connection-- + extension CcExtension OPTIONAL + } + +CcRequestRes ::= SEQUENCE{ + no-path-reservation [0] IMPLICIT BOOLEAN DEFAULT FALSE, + retain-service [1] IMPLICIT BOOLEAN DEFAULT FALSE, + extension CcExtension OPTIONAL + } + +CcOptionalArg ::= CHOICE{ + fullArg [0] IMPLICIT SEQUENCE { + numberA PartyNumber, + numberB PartyNumber, + service PSS1InformationElement, + -- permitted information elements are: + --Bearer capability; + -- Low layer compatibility; + -- High layer compatibility. + subaddrA [10] PartySubaddress OPTIONAL, + subaddrB [11] PartySubaddress OPTIONAL, + extension CcExtension OPTIONAL + }, + extArg CcExtension + } + +CcExtension ::= CHOICE { + none NULL, + single [14] IMPLICIT Extension{{CCExtSet}}, + multiple [15] IMPLICIT SEQUENCE OF Extension{{CCExtSet}} + } + +CCExtSet EXTENSION ::= {...} + +-- DEFINITIONS FOR ERRORS FOLLOW + +unspecified ERROR ::= { + PARAMETER Extension{{CCExtSet}} + CODE local: 1008 + } + +shortTermRejection ERROR ::= { CODE local: 1010} +longTermRejection ERROR ::= { CODE local: 1011} +remoteUserBusyAgain ERROR ::= { CODE local: 1012} +failureToMatch ERROR ::= { CODE local: 1013} +failedDueToInterworking ERROR ::= { CODE local: 1014} + + +END -- of SS-CC-Operations-asn1-97 diff --git a/asn1/qsig/QSIG-CF.asn b/asn1/qsig/QSIG-CF.asn new file mode 100644 index 0000000000..6256978eae --- /dev/null +++ b/asn1/qsig/QSIG-CF.asn @@ -0,0 +1,253 @@ +-- QSIG-CF.asn +-- +-- Taken from Ecma International +-- Standard ECMA-174, 3rd edition (December 2001) +-- http://www.ecma-international.org/publications/standards/Ecma-174.htm +-- +-- $Id$ +-- + +Call-Diversion-Operations-asn1-97 + { iso (1) standard (0) pss1-call-diversion (13873) call-diversion-operations-asn1-97 (1) } + + DEFINITIONS EXPLICIT TAGS ::= + + BEGIN + + IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects + { joint-iso-itu-t remote-operations (4) informationObjects(5) version1(0)} + + EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97 + { iso (1) standard (0) pss1-generic-procedures (11582) msi-class-asn1-97 (11) } + + PSS1InformationElement FROM PSS1-generic-parameters-definition-asn1-97 + { iso (1) standard (0) pss1-generic-procedures (11582) pss1-generic-parameters-asn1-97 (17) +} + + Address, PartyNumber, PartySubaddress, PresentedNumberScreened, + PresentedNumberUnscreened, PresentationAllowedIndicator FROM + Addressing-Data-Elements-asn1-97 + { iso (1) standard (0) pss1-generic-procedures (11582) addressing-data-elements-asn1-97 (20) +} + + Name FROM Name-Operations-asn1-97 + { iso (1) standard (0) pss1-name (13868) name-operations-asn1-97 (1) } + + userNotSubscribed, notAvailable, invalidServedUserNr, basicServiceNotProvided, + resourceUnavailable, supplementaryServiceInteractionNotAllowed FROM + General-Error-List + { ccitt recommendation q 950 general-error-list (1) }; + +Call-Diversion-Operations OPERATION ::= {activateDiversionQ | deactivateDiversionQ | interrogateDiversionQ | +checkRestriction | callRerouteing | divertingLegInformation1 | divertingLegInformation2 | divertingLegInformation3 | +cfnrDivertedLegFailed} + + activateDiversionQ OPERATION ::={ + -- Sent from the Activating PINX to the Served User PINX + ARGUMENT SEQUENCE + { procedure Procedure, + basicService BasicService, + divertedToAddress Address, + servedUserNr PartyNumber, + activatingUserNr PartyNumber, + extension CHOICE { + single [1] IMPLICIT Extension{{DiversionExtensionSet}} , + multiple[2] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} } OPTIONAL +} + RESULT CHOICE { + null NULL, + single [1] IMPLICIT Extension{{DiversionExtensionSet}}, + multiple[2] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} } + ERRORS { userNotSubscribed | notAvailable | invalidServedUserNr | + basicServiceNotProvided | resourceUnavailable | invalidDivertedToNr | + specialServiceNr | diversionToServedUserNr | temporarilyUnavailable | + notAuthorized | unspecified } + CODE local: 15} + + deactivateDiversionQ OPERATION ::={ + -- Sent from the Deactivating PINX to the Served User PINX + ARGUMENT SEQUENCE + { procedure Procedure, + basicService BasicService, + servedUserNr PartyNumber, + deactivatingUserNr PartyNumber, + extension CHOICE { + single [1] IMPLICIT Extension{{DiversionExtensionSet}} , + multiple[2] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} } OPTIONAL } + RESULT CHOICE { + null NULL, + single [1] IMPLICIT Extension{{DiversionExtensionSet}} , + multiple[2] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} } + ERRORS {userNotSubscribed | notAvailable| invalidServedUserNr | + temporarilyUnavailable | notAuthorized | unspecified } + CODE local: 16} + + interrogateDiversionQ OPERATION ::={ + -- Sent from the Interrogating PINX to the Served User PINX + ARGUMENT SEQUENCE + { procedure Procedure, + basicService BasicService DEFAULT allServices, + servedUserNr PartyNumber, + interrogatingUserNr PartyNumber, + extension CHOICE { + single [1] IMPLICIT Extension{{DiversionExtensionSet}} , + multiple[2] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} } OPTIONAL +} + RESULT IntResultList + ERRORS {userNotSubscribed | notAvailable | invalidServedUserNr | + temporarilyUnavailable | notAuthorized | unspecified } + CODE local: 17} + + checkRestriction OPERATION ::={ + -- Sent from the Served User PINX to the Diverted-to PINX + ARGUMENT SEQUENCE + { servedUserNr PartyNumber, + basicService BasicService, + divertedToNr PartyNumber, + extension CHOICE { + single [1] IMPLICIT Extension{{DiversionExtensionSet}} , + multiple[2] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} } OPTIONAL } + RESULT CHOICE { + null NULL, + single [1] IMPLICIT Extension{{DiversionExtensionSet}}, + multiple[2] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} } + ERRORS {notAvailable | invalidServedUserNr | + invalidDivertedToNr | specialServiceNr | unspecified } + CODE local: 18} + + callRerouteing OPERATION ::={ + -- Sent from the Served User PINX to the Rerouteing PINX + ARGUMENT SEQUENCE + { rerouteingReason DiversionReason, + originalRerouteingReason [0] IMPLICIT DiversionReason OPTIONAL, + calledAddress Address, + diversionCounter INTEGER (1..15), + pSS1InfoElement PSS1InformationElement, + -- The basic call information elements Bearer capability, High layer compatibility, Low + -- layer compatibity and Progress indicator can be embedded in the + -- pSS1InfoElement in accordance with 6.5.3.1.5. + + lastRerouteingNr [1] PresentedNumberUnscreened, + subscriptionOption [2] IMPLICIT SubscriptionOption, + callingPartySubaddress [3] PartySubaddress OPTIONAL, + callingNumber [4] PresentedNumberScreened, + callingName [5] Name OPTIONAL, + originalCalledNr [6] PresentedNumberUnscreened OPTIONAL, + redirectingName [7] Name OPTIONAL, + originalCalledName [8] Name OPTIONAL, + extension CHOICE { + single [9] IMPLICIT Extension{{DiversionExtensionSet}}, + multiple[10] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} } OPTIONAL +} + RESULT CHOICE { + null NULL, + single [1] IMPLICIT Extension{{DiversionExtensionSet}} , + multiple[2] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} } + ERRORS {userNotSubscribed | notAvailable | resourceUnavailable | + invalidDivertedToNr | specialServiceNr | diversionToServedUserNr | + numberOfDiversionsExceeded | + supplementaryServiceInteractionNotAllowed | unspecified } + -- The error value numberOfDiversionsExceeded applies only in case of partial rerouteing. + CODE local: 19} + + divertingLegInformation1 OPERATION ::={ + -- Sent from the Rerouteing PINX to the Originating PINX + ARGUMENT SEQUENCE + { diversionReason DiversionReason, + subscriptionOption SubscriptionOption, + nominatedNr PartyNumber, + extension CHOICE { + single [9] IMPLICIT Extension{{DiversionExtensionSet}} , + multiple [10] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} } OPTIONAL +} + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 20} + + divertingLegInformation2 OPERATION ::={ + -- Sent from the Rerouteing PINX to the Diverted-to PINX + ARGUMENT SEQUENCE + { diversionCounter INTEGER (1..15), + diversionReason DiversionReason, + originalDiversionReason [0] IMPLICIT DiversionReason OPTIONAL, + divertingNr [1] PresentedNumberUnscreened OPTIONAL, + originalCalledNr [2] PresentedNumberUnscreened OPTIONAL, + redirectingName [3] Name OPTIONAL, + originalCalledName [4] Name OPTIONAL, + extension CHOICE { + single [5] IMPLICIT Extension{{DiversionExtensionSet}} , + multiple[6] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} } OPTIONAL +} + -- The divertingNr element is mandatory except in the case of interworking. + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 21} + + divertingLegInformation3 OPERATION ::={ + -- Sent from the Diverted-to PINX to the Originating PINX + ARGUMENT SEQUENCE + { presentationAllowedIndicator PresentationAllowedIndicator, + redirectionName [0] Name OPTIONAL, + extension CHOICE { + single [1] IMPLICIT Extension{{DiversionExtensionSet}} , + multiple[2] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} } OPTIONAL } + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 22} + + cfnrDivertedLegFailed OPERATION ::={ + -- Sent from the Rerouteing PINX to the Served User PINX + -- This indicates that the diverted-to leg has been cleared during SS-CFNR execution. + ARGUMENT CHOICE { + null NULL, + single [1] IMPLICIT Extension{{DiversionExtensionSet}} , + multiple[2] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} } + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 23} + +-- Definitions of general used data types: + DiversionReason ::= ENUMERATED { unknown (0), cfu (1), cfb (2), cfnr (3)} + -- The value unknown is only used if received from another network when interworking. + + IntResultList ::= SET SIZE (0..29) OF IntResult + IntResult ::= SEQUENCE { + servedUserNr PartyNumber, + basicService BasicService, + procedure Procedure, + divertedToAddress Address, + remoteEnabled BOOLEAN DEFAULT FALSE, + extension CHOICE { + single [1] IMPLICIT + Extension{{DiversionExtensionSet}} , + multiple[2] IMPLICIT SEQUENCE OF + Extension{{DiversionExtensionSet}} } + OPTIONAL } + Procedure ::= ENUMERATED { cfu (0), cfb (1), cfnr (2) } + SubscriptionOption ::= ENUMERATED { + noNotification (0), + notificationWithoutDivertedToNr (1), + notificationWithDivertedToNr (2) } + + BasicService ::= ENUMERATED { + allServices (0), + speech (1), + unrestrictedDigitalInformation (2), + audio3100Hz (3), + telephony (32), + teletex (33), + telefaxGroup4Class1 (34), + videotexSyntaxBased (35), + videotelephony (36) } + + DiversionExtensionSet EXTENSION ::= {...} + invalidDivertedToNr ERROR ::= {CODE local: 12} + specialServiceNr ERROR ::= {CODE local: 14} + diversionToServedUserNr ERROR ::= {CODE local: 15} + numberOfDiversionsExceeded ERROR ::= {CODE local: 24} + temporarilyUnavailable ERROR ::= {CODE local: 1000} + notAuthorized ERROR ::= {CODE local: 1007} + unspecified ERROR ::= {PARAMETER Extension{{DiversionExtensionSet}} + CODE local:1008} + + END -- of Call-Diversion-Operations-asn1-97 diff --git a/asn1/qsig/QSIG-CI.asn b/asn1/qsig/QSIG-CI.asn new file mode 100644 index 0000000000..208a051f2d --- /dev/null +++ b/asn1/qsig/QSIG-CI.asn @@ -0,0 +1,178 @@ +-- QSIG-CI.asn +-- +-- Taken from Ecma International +-- Standard ECMA-203, 4th edition (December 2001) +-- http://www.ecma-international.org/publications/standards/Ecma-203.htm +-- +-- $Id$ +-- + +Call-Intrusion-Operations-asn1-97 + {iso(1) standard(0) pss1-call-intrusion(14846) call-intrusion-operations-asn1-97 (2) } + +DEFINITIONS EXPLICIT TAGS ::= + +BEGIN + +IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)} + EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97 + {iso(1) standard(0) + pss1-generic-procedures(11582) msi-class-asn1-97(11)} + notAvailable, supplementaryServiceInteractionNotAllowed + FROM General-Error-List + {ccitt recommendation q 950 general-error-list (1)}; + +Call-Intrusion-Operations OPERATION ::= {pathRetain | serviceAvailable | callIntrusionRequest | +callIntrusionGetCIPL | callIntrusionIsolate | callIntrusionForcedRelease | callIntrusionWOBRequest | +callIntrusionCompleted | cfbOverride} + +pathRetain OPERATION ::= { + ARGUMENT PathRetainArg -- this operation may be used by other + -- Supplementary Services using other + -- values of the argument + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 41} + +serviceAvailable OPERATION ::= { + ARGUMENT ServiceAvailableArg -- this operation may be used by other + -- Supplementary Services using other + -- values of the argument + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 42} + +callIntrusionRequest OPERATION ::= { + ARGUMENT CIRequestArg + RESULT CIRequestRes + ERRORS {notAvailable | notBusy | temporarilyUnavailable | notAuthorized | + unspecified | supplementaryServiceInteractionNotAllowed} + CODE local: 43} + +callIntrusionGetCIPL OPERATION ::= { + ARGUMENT DummyArg + RESULT CIGetCIPLRes + ALWAYS RESPONDS FALSE + CODE local: 44} + +callIntrusionForcedRelease OPERATION ::= { + ARGUMENT DummyArg + RESULT DummyRes + ERRORS {notAvailable | unspecified | + supplementaryServiceInteractionNotAllowed} + CODE local: 46} + +callIntrusionIsolate OPERATION ::= { + ARGUMENT DummyArg + RESULT DummyRes + ERRORS {notAvailable | unspecified | + supplementaryServiceInteractionNotAllowed} + CODE local: 45} + +callIntrusionWOBRequest OPERATION ::= { + ARGUMENT DummyArg + RESULT DummyRes + ERRORS {notAvailable | unspecified | + supplementaryServiceInteractionNotAllowed} + CODE local: 47} + +callIntrusionCompleted OPERATION ::= { + ARGUMENT DummyArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 48} + +PathRetainArg ::= CHOICE { + serviceList ServiceList, + extendedServiceList SEQUENCE { + serviceList ServiceList, + extension Extension{{CIExtSet}} + } + } + +ServiceAvailableArg ::= CHOICE { + serviceList ServiceList, + extendedServiceList SEQUENCE { + serviceList ServiceList, + extension Extension{{CIExtSet}} + } + } + +ServiceList ::= BIT STRING + {ci-low(4), ci-medium(5), ci-high(6)} (SIZE(1..32)) + -- bits other than ci-low, ci-medium, ci-high are reserved + -- for other supplementary services + +DummyArg ::= CHOICE{ + null NULL, + extension [1] IMPLICIT Extension{{CIExtSet}}, + sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{CIExtSet}}} + +DummyRes ::= CHOICE{ + null NULL, + extension [1] IMPLICIT Extension{{CIExtSet}}, + sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{CIExtSet}}} + +CIRequestArg ::= SEQUENCE{ + ciCapabilityLevel CICapabilityLevel, + argumentExtension CHOICE{ + extension [1] IMPLICIT Extension{{CIExtSet}}, + sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{CIExtSet}} + } OPTIONAL} + +CIRequestRes ::= SEQUENCE{ + ciUnwantedUserStatus CIUnwantedUserStatus, + resultExtension CHOICE{ + extension [1] IMPLICIT Extension{{CIExtSet}}, + sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{CIExtSet}} + } OPTIONAL} + +CIGetCIPLRes ::= SEQUENCE{ + ciProtectionLevel CIProtectionLevel, + resultExtension CHOICE{ + extension [1] IMPLICIT Extension{{CIExtSet}}, + sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{CIExtSet}} + } OPTIONAL} + +CICapabilityLevel ::= ENUMERATED{ + intrusionLowProt(1), + intrusionMediumProt(2), + intrusionHighProt(3)} + +CIProtectionLevel ::= ENUMERATED{ + lowProtection(0), + mediumProtection(1), + highProtection(2), + fullProtection(3)} + +CIUnwantedUserStatus ::= ENUMERATED{ + unwantedUserIntruded(0), + unwantedUserIsolated(1)} + +cfbOverride OPERATION ::= { + ARGUMENT DummyArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 49} + -- used in the interaction with Call Forwarding Busy + +CIExtSet EXTENSION ::= {...} + +notBusy ERROR ::= { CODE local: 1009} + -- used when an SS-CI request is received in + -- a Terminating PINX and the called user is not busy + +temporarilyUnavailable ERROR ::= { CODE local: 1000} + -- used when conditions for invocation of SS-CI + -- are momentarily not met + +notAuthorized ERROR ::= { CODE local: 1007} + --used when a SS-CI request is rejected + --because of insufficient CICL + +unspecified ERROR ::= { + PARAMETER Extension{{CIExtSet}} + CODE local: 1008} + +END -- of Call-Intrusion-Operations-asn1-97 diff --git a/asn1/qsig/QSIG-CIDL.asn b/asn1/qsig/QSIG-CIDL.asn new file mode 100644 index 0000000000..0c0d302969 --- /dev/null +++ b/asn1/qsig/QSIG-CIDL.asn @@ -0,0 +1,80 @@ +-- QSIG-CIDL.asn +-- +-- Taken from Ecma International +-- Standard ECMA-314, 2nd edition (December 2001) +-- http://www.ecma-international.org/publications/standards/Ecma-314.htm +-- +-- $Id$ +-- + +Call-Identification-and-Call-Linkage-Operations-asn1-97 + {iso(1) standard (0) pss1-call-identification-and-call-linkage (21889) + call-identification-and-call-linkage-operations-asn1-97 (1)} + +DEFINITIONS EXPLICIT TAGS ::= +BEGIN +IMPORTS + OPERATION + FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)} + + EXTENSION, Extension{} + FROM Manufacturer-specific-service-extension-class-asn1-97 + { iso standard pss1-generic-procedures (11582) msi-class-asn1-97 (11)}; + +CallIdentification-Operations OPERATION ::= { callIdentificationAssign | callIdentificationUpdate } + +callIdentificationAssign OPERATION ::= { + ARGUMENT CallIdentificationAssignArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 105 + } + +callIdentificationUpdate OPERATION ::= { + ARGUMENT CallIdentificationUpdateArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 106 + } + +CallIdentificationAssignArg ::= SEQUENCE { + globalCallID [0] CallIdentificationData, + threadID [1] CallIdentificationData OPTIONAL, + legID [2] CallIdentificationData OPTIONAL, + extension ExtensionType OPTIONAL + } + +CallIdentificationUpdateArg ::= SEQUENCE { + globalCallID [0] CallIdentificationData OPTIONAL, + threadID [1] CallIdentificationData OPTIONAL, + legID [2] CallIdentificationData OPTIONAL, + extension ExtensionType OPTIONAL + } + +CallIdentificationData ::= SEQUENCE { +-- this structure is according to ECMA-269, 12.2.5 (see annex D) + switchingSubDomainName [0] IMPLICIT SwitchingSubDomainName OPTIONAL, + linkageID CHOICE { + subDomainID [1] IMPLICIT SubDomainID, + globallyUniqueID [2] IMPLICIT GloballyUniqueID}, + timeStamp [3] IMPLICIT TimeStamp OPTIONAL + } + +SwitchingSubDomainName ::= IA5String (SIZE(1..64)) + +GloballyUniqueID ::= OCTET STRING (SIZE(1..16)) +-- the GloballyUniqueID shall be coded according to ITU-T Recommendation H.225, section 7.6 (see annex D) + +ExtensionType ::= CHOICE { + extension [3] Extension{{ExampleExtSet}}, + sequenceOfExt [4] IMPLICIT SEQUENCE OF Extension{{ExampleExtSet}} + } + +ExampleExtSet EXTENSION ::= {...} + +SubDomainID ::= OCTET STRING (SIZE(1..8)) + +TimeStamp ::= GeneralizedTime (SIZE(16..19)) + +END -- of Call-Identification-and-Call-Linkage-Operations-asn1-97 diff --git a/asn1/qsig/QSIG-CINT.asn b/asn1/qsig/QSIG-CINT.asn new file mode 100644 index 0000000000..43aebc9b68 --- /dev/null +++ b/asn1/qsig/QSIG-CINT.asn @@ -0,0 +1,154 @@ +-- QSIG-CINT.asn +-- +-- Taken from Ecma International +-- Standard ECMA-221, 3rd edition (December 2001) +-- http://www.ecma-international.org/publications/standards/Ecma-221.htm +-- +-- $Id$ +-- + +Call-Interception-Operations-asn1-97 {iso (1) standard (0) pss1-cint (15054) cint-operations-asn1-97 (1) } + +DEFINITIONS EXPLICIT TAGS ::= + +BEGIN + +IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t (2) remote-operations (4) informationObjects (5) version1(0)} + + EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97 + {iso (1) standard (0) pss1-generic-procedures (11582) msi-class-asn1-97 (11)} + + PartyNumber, PresentedNumberUnscreened, PresentationAllowedIndicator + FROM Addressing-Data-Elements-asn1-97 + {iso (1) standard (0) pss1-generic-procedures (11582) + addressing-data-elements-asn1-97 (20)} + + Name FROM Name-Operations-asn1-97 + {iso (1) standard (0) pss1-name (13868) name-operations-asn1-97 (1)}; + +Call-Interception-Operations OPERATION ::= { cintLegInformation1 | cintLegInformation2 | cintCondition | +cintDisable | cintEnable} + + +cintLegInformation1 OPERATION ::= { + -- Sent from the Intercepting PINX to the Originating PINX -- + ARGUMENT CintInformation1Arg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 66} + + +cintLegInformation2 OPERATION ::= { + -- Sent from the Intercepting PINX to the Intercepted-to PINX -- + ARGUMENT CintInformation2Arg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 67} + +cintCondition OPERATION ::= { + -- Sent to a preceding PINX to indicate a condition for possible interception + ARGUMENT CintCondArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 68} + +cintDisable OPERATION ::= { + -- Sent to a Preceding PINX to disable interception delayed -- + ARGUMENT CintExtension + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 69} + +cintEnable OPERATION ::= { + -- Sent to a Preceding PINX to reenable interception -- + ARGUMENT CintExtension + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 70} + +CintInformation1Arg ::= SEQUENCE + { + interceptionCause CintCause, + interceptedToNumber PartyNumber, + extension CintExtension OPTIONAL + } + +CintInformation2Arg ::= SEQUENCE + { + interceptionCause CintCause, + calledNumber [1]PresentedNumberUnscreened OPTIONAL, + originalCalledNumber [2]PresentedNumberUnscreened OPTIONAL, + calledName [3]Name OPTIONAL, + originalCalledName [4]Name OPTIONAL, + extension CintExtension OPTIONAL + } + + +CintCondArg ::= SEQUENCE + { + interceptionCause Condition, + originalCalledNumber [1]PresentedNumberUnscreened OPTIONAL, + calledName [2]Name OPTIONAL, + originalCalledName [3]Name OPTIONAL, + extension CintExtension OPTIONAL + } + +CintExtension ::= CHOICE + { + none NULL, + single [5] IMPLICIT Extension{{CINTExtSet}}, + multiple [6] IMPLICIT SEQUENCE OF Extension{{CINTExtSet}} + } + +CintCause ::= INTEGER { + unknown (0), + cintBnan (1), -- timeout in waiting on busy condition + cintBus (2), -- busy user + cintCug (3), -- closed user group rejection + cintDnd (4), -- do not disturb activated + cintIbd (5), -- incoming barred destination + cintInn (6), -- invalid number + cintMob1 (7), -- mobile user location not known + cintMob2 (8), -- mobile user no longer registered + cintMob3 (9), -- mobile terminal not responding + cintNcmp (10), -- no compatible destination + cintNcong (11), -- network congestion + cintNre (12), -- no reply (i.e. timeout during alerting) + cintOos (13), -- called user out of service + cintRrs (14), -- route restriction (calling user not authorized for + -- the route) + cintTbnan (15), -- timeout in wait on busy condition after transfer + cintTnre (16), -- no reply after transfer (i.e. timeout during alerting + -- after transfer + cintTrans (17), -- upper limit of transit counter reached + cintUpl (18), -- upper limit of number of diversions reached + cintInvDiv (19), -- invalid call diversion destination + cintHold (20) -- timeout after call hold + } (0..127) + + +Condition ::= INTEGER { + unknown (0), + cintBus (2), -- busy user + cintCug (3), -- closed user group rejection + cintDnd (4), -- do not disturb activated + cintIbd (5), -- incoming barred destination + cintInn (6), -- invalid number + cintMob1 (7), -- mobile user location not known + cintMob2 (8), -- mobile user no longer registered + cintMob3 (9), -- mobile terminal not responding + cintNcmp (10), -- no compatible destination + cintNcong (11), -- network congestion + cintOos (13), -- called user out of service + cintRrs (14), -- route restriction (calling user not authorized for + -- the route + cintTrans (17), -- upper limit of transit counter reached + cintUpl (18), -- upper limit of number of diversions + -- reached + cintInvDiv (19) -- invalid call diversion destination + } (0..127) + +CINTExtSet EXTENSION ::= {...} + +END -- of Call-Interception-Operations-asn1-97 diff --git a/asn1/qsig/QSIG-CMN.asn b/asn1/qsig/QSIG-CMN.asn new file mode 100644 index 0000000000..2eebca336f --- /dev/null +++ b/asn1/qsig/QSIG-CMN.asn @@ -0,0 +1,145 @@ +-- QSIG-CMN.asn +-- +-- Taken from Ecma International +-- Standard ECMA-251, 3rd edition (December 2001) +-- http://www.ecma-international.org/publications/standards/Ecma-251.htm +-- +-- $Id$ +-- + +Common-Information-Operations-asn1-97 + {iso (1) standard (0) pss1-common-information (15772) operations-asn1-97 (1)} + +DEFINITIONS EXPLICIT TAGS ::= + +BEGIN + +IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t (2) remote-operations (4) informationObjects (5) version1 (0)} + EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97 + {iso (1) standard (0) pss1-generic-procedures (11582) msi-class-asn1-97 (11)}; + +CMN-Operations OPERATION ::= {cmnRequest | cmnInform } + +cmnRequest OPERATION ::= { + ARGUMENT DummyArg + RESULT CmnArg + ALWAYS RESPONDS FALSE + CODE local: 84} + +cmnInform OPERATION ::= { + ARGUMENT CmnArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 85} + +CmnArg ::= SEQUENCE { + featureIdentifier [2] IMPLICIT FeatureIdList OPTIONAL, + ssDNDOprotectionLevel [3] IMPLICIT INTEGER (0..3) OPTIONAL, + -- Supplementary Service Do Not Disturb Override Protection level, + -- meaningful only in backward direction; inclusion indicates + -- support of SS-DNDO as well as the applicable protection level. + ssCIprotectionLevel [4] IMPLICIT INTEGER (0..3) OPTIONAL, + -- Supplementary Service Call Intrusion Protection level, + -- meaningful both in forward & backward direction; inclusion indicates support + -- of SS-CI as an Unwanted user PINX (forward direction) or as a Terminating + -- PINX (backward direction), as well as the applicable protection level. + equipmentIdentity [5] IMPLICIT EquipmentId OPTIONAL, + partyCategory [6] IMPLICIT PartyCategory OPTIONAL, + extension CHOICE { + single [7] IMPLICIT Extension{{CMNExtSet}}, + multiple [8] IMPLICIT SEQUENCE OF + Extension{{CMNExtSet}} + } OPTIONAL } + +DummyArg ::= CHOICE { + null NULL, + single [1] IMPLICIT Extension{{CMNExtSet}}, + multiple [2] IMPLICIT SEQUENCE OF Extension{{CMNExtSet}} + } + +FeatureIdList ::= BIT STRING { -- bit set to ONE means the corresponding feature + -- is available for this call + reserved (0), -- this Bit shall be reserved + ssCFreRoutingSupported (1), -- Call Forwarding rerouting supported + -- meaningful only in forward direction + -- during call establishment + ssCTreRoutingSupported (2), -- Call Transfer rerouting supported + -- meaningful both in forward & backward + -- direction during call establishment + ssCCBSpossible (3), -- CCBS possible + -- meaningful only in backward direction + -- before receipt of ALERTING/CONNECT + ssCCNRpossible (4), -- CCNR possible + -- meaningful only in backward direction + -- before receipt of CONNECT + ssCOsupported (5), -- Call Offer supported + -- meaningful only in backward direction + -- during call establishment + + -- Call Intrusion + ssCIforcedRelease (6), -- meaningful only in backward direction + ssCIisolation (7), -- meaningful only in backward direction + ssCIwaitOnBusy (8), -- meaningful only in backward direction + + -- Advice of Charge + ssAOCsupportChargeRateProvAtGatewPinx (9), -- meaningful only in + -- backward direction + ssAOCsupportInterimChargeProvAtGatewPinx (10), -- meaningful only in + -- backward direction + ssAOCsupportFinalChargeProvAtGatewPinx (11), -- meaningful only in + -- backward direction + + anfPRsupportedAtCooperatingPinx (12), -- Path replacement + -- meaningful both in forward & + -- backward direction + + -- Call Interception + anfCINTcanInterceptImmediate (13), -- meaningful only in + -- forward direction + anfCINTcanInterceptDelayed (14), -- meaningful only in + -- forward direction + + anfWTMIreRoutingSupported (15), -- Incoming WTM call + -- meaningful only in + -- forward direction + anfPUMIreRoutingSupported (16), -- Incoming PUM call + -- meaningful only in + -- forward direction + ssSSCTreRoutingSupported (17) -- Single Step Call Transfer rerouting + -- supported + -- meaningful both in forward and + -- backward direction during call + -- establishment + } (SIZE (1..64)) + +EquipmentId ::= SEQUENCE { + nodeId [1] IMPLICIT IA5String (SIZE (1..10)) OPTIONAL, + groupId [2] IMPLICIT IA5String (SIZE (1..10)) OPTIONAL, + unitId [3] IMPLICIT IA5String (SIZE (1..10)) OPTIONAL + } +-- NOTE: +-- The purpose of the Equipment Id is to indicate, to another user or to another PINX, information about a +-- calling or called party involved in a call. +-- Assignment of network wide unique Equipment Id values is outside the scope of this Standard. + +PartyCategory ::= ENUMERATED { + unknown (0), + extension (1), + pisnAttendant (2), + emergExt (3) + } + +-- NOTE: +-- The purpose of the Party category is to indicate, to another user or to another PINX, the category of a user +-- involved in a call. An Originating PINX may include an indication of the calling user's category in the SETUP +-- message sent across an inter-PINX link. A Terminating PINX may include an indication of the called user's +-- category in an ALERTING message or CONNECT message sent across an inter-PINX link. A received +-- Party category information may be used for display at the user's terminal or for PINX internal call handling, +-- e.g. depending on whether the calling or called party is an extension or a PISN attendant, the PINX internal +-- call handling may invoke different options of a supplementary service related to that call. + +CMNExtSet EXTENSION ::= {...} + + +END -- of Common-Information-Operations-asn1-97
\ No newline at end of file diff --git a/asn1/qsig/QSIG-CO.asn b/asn1/qsig/QSIG-CO.asn new file mode 100644 index 0000000000..d488adcf7b --- /dev/null +++ b/asn1/qsig/QSIG-CO.asn @@ -0,0 +1,104 @@ +-- QSIG-CO.asn +-- +-- Taken from Ecma International +-- Standard ECMA-192, 4th edition (December 2001) +-- http://www.ecma-international.org/publications/standards/Ecma-192.htm +-- +-- $Id$ +-- + +Call-Offer-Operations-asn1-97 + {iso(1) standard(0) pss1-call-offer(14843) call-offer-operations-asn1-97 (2) } + +DEFINITIONS EXPLICIT TAGS ::= + +BEGIN + +IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)} + EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97 + {iso(1) standard(0) + pss1-generic-procedures(11582) msi-class-asn1-97 (11)} + notAvailable, supplementaryServiceInteractionNotAllowed + FROM General-Error-List + {ccitt recommendation q 950 general-error-list (1)}; + +Call-Offer-Operations OPERATION ::= { callOfferRequest | pathRetain | serviceAvailable | cfbOverride } + +pathRetain OPERATION ::= { + ARGUMENT PathRetainArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 41} + -- this operation may be used by other supplementary services + -- using other values of argument + +serviceAvailable OPERATION ::= { + ARGUMENT ServiceAvailableArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 42} + -- this operation may be used by other supplementary services + -- using other values of argument + +callOfferRequest OPERATION ::= { + ARGUMENT DummyArg + RESULT DummyRes + ERRORS { + notAvailable | + notBusy | + temporarilyUnavailable | + supplementaryServiceInteractionNotAllowed | + unspecified} + CODE local: 34} + +PathRetainArg ::= CHOICE {serviceList ServiceList, + extendedServiceList SEQUENCE{ + serviceList ServiceList, + extension Extension{{COExtSet}} + } + } + +ServiceAvailableArg ::= CHOICE {serviceList ServiceList, + extendedServiceList SEQUENCE{ + serviceList ServiceList, + extension Extension{{COExtSet}} + } + } + +ServiceList ::= BIT STRING {callOffer(0)} (SIZE(1..32)) + -- bits other than callOffer(0) are reserved for + -- other supplementary services + +DummyArg ::= CHOICE{ + null NULL, + extension [1] IMPLICIT Extension{{COExtSet}}, + sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{COExtSet}}} + +DummyRes ::= CHOICE{ + null NULL, + extension [1] IMPLICIT Extension{{COExtSet}}, + sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{COExtSet}}} + +cfbOverride OPERATION ::= { + ARGUMENT DummyArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 49} + -- used in the interaction with Call Forwarding Busy +COExtSet EXTENSION ::= {...} + +notBusy ERROR ::= { CODE local: 1009} + -- used when an SS-CO request is received in + -- a Terminating PINX and the called user is not busy + +temporarilyUnavailable ERROR ::= { CODE local: 1000} + -- used when conditions for invocation of SS-CO + -- are momentarily not met + +unspecified ERROR ::= { + PARAMETER Extension{{ COExtSet}} + CODE local: 1008} + + +END -- of Call-Offer-Operations-asn1-97 diff --git a/asn1/qsig/QSIG-CPI.asn b/asn1/qsig/QSIG-CPI.asn new file mode 100644 index 0000000000..963c4e2217 --- /dev/null +++ b/asn1/qsig/QSIG-CPI.asn @@ -0,0 +1,69 @@ +-- QSIG-CPI.asn +-- +-- Taken from Ecma International +-- Standard ECMA-264, 3rd edition (December 2001) +-- http://www.ecma-international.org/publications/standards/Ecma-264.htm +-- +-- $Id$ +-- + +Call-Interruption-Operations-asn1-97 +{iso (1) standard (0) pss1-call-interruption (15992) call-interruption-operations-asn1-97 (2) } + + +DEFINITIONS EXPLICIT TAGS ::= + +BEGIN + +IMPORTS OPERATION FROM Remote-Operations-Information-Objects + {joint-iso-itu-t (2) remote-operations (4) informationObjects (5) version1 (0)} + + EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97 + {iso (1) standard (0) pss1-generic-procedures (11582) msi-class-asn1-97 (11)}; + + -- The following operations are defined: + +Call-Interruption-Operations OPERATION ::= { callInterruptionRequest | callProtectionRequest } + +callInterruptionRequest OPERATION ::= { + ARGUMENT CPIRequestArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 87} + +callProtectionRequest OPERATION ::= { + ARGUMENT CPIPRequestArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 88} + + -- The following arguments are defined: + +CPIRequestArg ::= SEQUENCE{ + cpiCapabilityLevel CPICapabilityLevel, + argumentExtension CHOICE{ + extension [1] IMPLICIT Extension{{CPIPExtSet}}, + sequenceOfExtn [2] IMPLICIT SEQUENCE OF + Extension{{CPIPExtSet}}} OPTIONAL} + +CPIPRequestArg ::= SEQUENCE{ + cpiProtectionLevel CPIProtectionLevel, + argumentExtension CHOICE{ + extension [1] IMPLICIT Extension{{CPIPExtSet}}, + sequenceOfExtn [2] IMPLICIT SEQUENCE OF + Extension{{CPIPExtSet}}} OPTIONAL} + +CPICapabilityLevel ::= ENUMERATED{ + interruptionLowPriority (1), + interruptionMediumPriority (2), + interruptionHighPriority (3)} + +CPIProtectionLevel ::= ENUMERATED{ + noProtection (0), + lowProtection (1), + mediumProtection (2), + totalProtection (3)} + +CPIPExtSet EXTENSION ::= {...} + +END -- of Call-Interruption-Operations-asn1-97 diff --git a/asn1/qsig/QSIG-CT.asn b/asn1/qsig/QSIG-CT.asn new file mode 100644 index 0000000000..ee27a48848 --- /dev/null +++ b/asn1/qsig/QSIG-CT.asn @@ -0,0 +1,231 @@ +-- QSIG-CT.asn +-- +-- Taken from Ecma International +-- Standard ECMA-178, 3rd edition (December 2001) +-- http://www.ecma-international.org/publications/standards/Ecma-178.htm +-- +-- $Id$ +-- + +Call-Transfer-Operations-asn1-97 + {iso(1) standard(0) pss1-call-transfer(13869) call-transfer-operations-asn1-97 (1)} + +DEFINITIONS EXPLICIT TAGS ::= + +BEGIN + + +IMPORTS + OPERATION, ERROR FROM +Remote-Operations-Information-Objects {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)} + EXTENSION, Extension{} FROM +Manufacturer-specific-service-extension-class-asn1-97 {iso(1) standard(0) pss1-generic-procedures (11582) +msi-class-asn1-97(11)} + Name FROM +Name-Operations-asn1-97 {iso(1) standard(0) pss1-name (13868) name-operations-asn1-97 (1)} + supplementaryServiceInteractionNotAllowed, + notAvailable, + invalidCallState FROM +General-Error-List {ccitt (0) recommendation (0) q 950 general-error-list (1)} + PresentedAddressScreened, + PresentedNumberScreened, + PartyNumber, + PartySubaddress FROM +Addressing-Data-Elements-asn1-97 {iso(1) standard(0) pss1-generic-procedures (11582) +addressing-data-elements-asn1-97 (20)} + PSS1InformationElement +FROM PSS1-generic-parameters-definition-asn1-97 { iso(1) standard (0) pss1-generic-procedures (11582) + pss1-generic-parameters-asn1-97 (17)}; + +-- TYPE DEFINITIONS FOR CT OPERATIONS FOLLOW + +Call-Transfer-Operations OPERATION ::= {callTransferIdentify | callTransferAbandon | callTransferInitiate | +callTransferSetup | callTransferActive | callTransferComplete | callTransferUpdate | subaddressTransfer} + +callTransferIdentify OPERATION ::= { + ARGUMENT DummyArg + RESULT CTIdentifyRes + ERRORS { + notAvailable | + invalidCallState | + unspecified | + supplementaryServiceInteractionNotAllowed} + CODE local: 7} + +callTransferAbandon OPERATION ::= { + ARGUMENT DummyArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 8} + +callTransferInitiate OPERATION ::= { + ARGUMENT CTInitiateArg + RESULT DummyRes + ERRORS { + notAvailable | + invalidCallState | + invalidRerouteingNumber | + unrecognizedCallIdentity | + establishmentFailure | + unspecified | + supplementaryServiceInteractionNotAllowed } + CODE local: 9} + +callTransferSetup OPERATION ::= { + ARGUMENT CTSetupArg + RESULT DummyRes + ERRORS{ + notAvailable | + invalidCallState | + invalidRerouteingNumber | + unrecognizedCallIdentity | + unspecified | + supplementaryServiceInteractionNotAllowed } + CODE local: 10} + +callTransferActive OPERATION::= { + ARGUMENT CTActiveArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 11} + +callTransferComplete OPERATION ::= { + ARGUMENT CTCompleteArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 12} + +callTransferUpdate OPERATION ::= { + ARGUMENT CTUpdateArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 13} + +subaddressTransfer OPERATION ::= { + ARGUMENT SubaddressTransferArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 14} + +-- TYPE DEFINITIONS FOR CT DATA TYPES FOLLOW + +DummyArg ::= CHOICE { + null NULL, + single [1] IMPLICIT Extension{{CTExtSet}}, + multiple [2] IMPLICIT SEQUENCE OF Extension{{CTExtSet}} + } + +DummyRes ::= CHOICE { + null NULL, + single [1] IMPLICIT Extension{{CTExtSet}}, + multiple [2] IMPLICIT SEQUENCE OF Extension{{CTExtSet}} + } + +CTIdentifyRes ::= SEQUENCE { + callIdentity CallIdentity, + rerouteingNumber PartyNumber, + resultExtension CHOICE { + single [6] IMPLICIT Extension{{CTExtSet}}, + multiple [7] IMPLICIT SEQUENCE OF Extension{{CTExtSet}} + } OPTIONAL + } + +CTInitiateArg ::= SEQUENCE { + callIdentity CallIdentity, + rerouteingNumber PartyNumber, + argumentExtension CHOICE { + single [6] IMPLICIT Extension{{CTExtSet}}, + multiple [7] IMPLICIT SEQUENCE OF Extension{{CTExtSet}} + } OPTIONAL + } + +CTSetupArg ::= SEQUENCE { + callIdentity CallIdentity, + argumentExtension CHOICE { + single [0] IMPLICIT Extension{{CTExtSet}}, + multiple [1] IMPLICIT SEQUENCE OF Extension{{CTExtSet}} + } OPTIONAL + } + +CTActiveArg ::= SEQUENCE{ + connectedAddress PresentedAddressScreened, + basicCallInfoElements PSS1InformationElement OPTIONAL, + -- ISO/IEC 11572 information element + -- Progress indicator is conveyed + connectedName Name OPTIONAL, + argumentExtension CHOICE { + single [9] IMPLICIT Extension{{CTExtSet}}, + multiple [10] IMPLICIT SEQUENCE OF Extension{{CTExtSet}} + } OPTIONAL + } + +CTCompleteArg ::= SEQUENCE { + endDesignation EndDesignation, + redirectionNumber PresentedNumberScreened, + basicCallInfoElements PSS1InformationElement OPTIONAL, + -- ISO/IEC 11572 information element + -- Progress indicator is conveyed + redirectionName Name OPTIONAL, + callStatus CallStatus DEFAULT answered, + argumentExtension CHOICE { + single [9] IMPLICIT Extension{{CTExtSet}}, + multiple [10] IMPLICIT SEQUENCE OF Extension{{CTExtSet}} + } OPTIONAL + } + +CTUpdateArg ::= SEQUENCE { + redirectionNumber PresentedNumberScreened, + redirectionName Name OPTIONAL, + basicCallInfoElements PSS1InformationElement OPTIONAL, + -- ISO/IEC 11572 information element + -- Progress indicator is conveyed + argumentExtension CHOICE { + single [9] IMPLICIT Extension{{CTExtSet}}, + multiple [10] IMPLICIT SEQUENCE OF Extension{{CTExtSet}} + }OPTIONAL } + +SubaddressTransferArg ::= SEQUENCE { + redirectionSubaddress PartySubaddress, + argumentExtension CHOICE { + single [0] IMPLICIT Extension{{CTExtSet}}, + multiple [1] IMPLICIT SEQUENCE OF Extension{{CTExtSet}} + } OPTIONAL + } + +CallStatus ::= ENUMERATED{ + answered(0), + alerting(1) + } + +CallIdentity ::= NumericString (SIZE (1..4)) + +EndDesignation ::= ENUMERATED { + primaryEnd(0), + secondaryEnd(1) + } + +CTExtSet EXTENSION ::= {...} + +unspecified ERROR ::= { + PARAMETER Extension {{CTExtSet}} + CODE local: 1008 } + + +invalidRerouteingNumber ERROR ::= { CODE local: 1004} + -- used when establishment of the new + -- connection fails because + -- the rerouteingNumber is not a valid + -- PISN address + +unrecognizedCallIdentity ERROR ::= { CODE local: 1005} + -- used when establishment of the new + -- connection fails because it could not be + -- associated with a SS-CT entity + -- at the Secondary PINX + +establishmentFailure ERROR ::= { CODE local: 1006} + -- used when establishment of the new + -- connection fails and no other error applies + -- of Call-Transfer-Operations + +END -- of Call-Transfer-Operations-asn1-97 diff --git a/asn1/qsig/QSIG-DND.asn b/asn1/qsig/QSIG-DND.asn new file mode 100644 index 0000000000..3eb4a5ca99 --- /dev/null +++ b/asn1/qsig/QSIG-DND.asn @@ -0,0 +1,213 @@ +-- QSIG-DND.asn +-- +-- Taken from Ecma International +-- Standard ECMA-194, 4th edition (December 2001) +-- http://www.ecma-international.org/publications/standards/Ecma-194.htm +-- +-- $Id$ +-- + +Do-Not-Disturb-Operations-asn1-97 + {iso(1) standard(0) pss1-do-not-disturb(14844) do-not-disturb-operations-asn1-97 (2) } + +DEFINITIONS EXPLICIT TAGS ::= + +BEGIN + +IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)} + EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97 + {iso(1) standard(0) + pss1-generic-procedures(11582) msi-class-asn1-97(11)} + basicServiceNotProvided, invalidServedUserNr, notAvailable, + userNotSubscribed, supplementaryServiceInteractionNotAllowed + FROM General-Error-List + {ccitt recommendation q 950 general-error-list (1)} + PartyNumber FROM Addressing-Data-Elements-asn1-97 + {iso(1) standard(0) pss1-generic-procedures(11582) + addressing-data-elements-asn1-97 (20)} + BasicService FROM Call-Diversion-Operations-asn1-97 + {iso(1) standard(0) pss1-call-diversion(13873) call-diversion-operations-asn1-97 (1) } + ; + +Do-Not-Disturb-Operations OPERATION ::= {doNotDisturbActivateQ | doNotDisturbDeactivateQ | +doNotDisturbInterrogateQ | doNotDisturbOverrideQ | doNotDisturbOvrExecuteQ | pathRetain | serviceAvailable} + +doNotDisturbActivateQ OPERATION ::= { + ARGUMENT DNDActivateArg + RESULT DNDActivateRes + ERRORS { userNotSubscribed | + notAvailable | + invalidServedUserNr | + basicServiceNotProvided | + temporarilyUnavailable | + supplementaryServiceInteractionNotAllowed | + unspecified} + CODE local: 35} + +doNotDisturbDeactivateQ OPERATION ::= { + ARGUMENT DNDDeactivateArg + RESULT DummyRes + ERRORS { userNotSubscribed | + notAvailable | + invalidServedUserNr | + notActivated | + temporarilyUnavailable | + supplementaryServiceInteractionNotAllowed | + unspecified} + CODE local: 36} + +doNotDisturbInterrogateQ OPERATION ::= { + ARGUMENT DNDInterrogateArg + RESULT DNDInterrogateRes + ERRORS { userNotSubscribed | + notAvailable | + invalidServedUserNr | + temporarilyUnavailable | + supplementaryServiceInteractionNotAllowed | + unspecified} + CODE local: 37} + +doNotDisturbOverrideQ OPERATION ::= { + ARGUMENT DNDOverrideArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 38} + +pathRetain OPERATION ::= { + ARGUMENT PathRetainArg -- this operation may be used by other + -- Supplementary Services using other + -- values of the argument + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 41} + +serviceAvailable OPERATION ::= { + ARGUMENT ServiceAvailableArg -- this operation may be used by other + -- Supplementary Services using other + -- values of the argument + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 42} + +doNotDisturbOvrExecuteQ OPERATION ::= { + ARGUMENT DummyArg + RESULT DummyRes + ERRORS { notAvailable | + temporarilyUnavailable | + supplementaryServiceInteractionNotAllowed | + unspecified} + CODE local: 39} + +DummyArg ::= CHOICE { + null NULL, + extension [1] IMPLICIT Extension{{DNDExtSet}}, + sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{DNDExtSet}} + } + +DummyRes ::= CHOICE { + null NULL, + extension [1] IMPLICIT Extension{{DNDExtSet}}, + sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{DNDExtSet}} + } + +DNDActivateArg ::= SEQUENCE { + basicService BasicService, + servedUserNr PartyNumber, + argumentExtension CHOICE{ + extension [1] IMPLICIT Extension{{DNDExtSet}}, + sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{DNDExtSet}} + } OPTIONAL + } + +DNDActivateRes ::= SEQUENCE { + status SET OF SEQUENCE{ + basicService BasicService, + dndProtectionLevel DNDProtectionLevel OPTIONAL + } OPTIONAL, + resultExtension CHOICE{ + extension [1] IMPLICIT Extension{{DNDExtSet}}, + sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{DNDExtSet}} + } OPTIONAL + } + +DNDDeactivateArg ::= SEQUENCE { + basicService BasicService, + servedUserNr PartyNumber, + argumentExtension CHOICE{ + extension [1] IMPLICIT Extension{{DNDExtSet}}, + sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{DNDExtSet}} + } OPTIONAL + } + +DNDInterrogateArg ::= SEQUENCE { + servedUserNr PartyNumber, + argumentExtension CHOICE{ + extension [1] IMPLICIT Extension{{DNDExtSet}}, + sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{DNDExtSet}} + } OPTIONAL + } + +DNDInterrogateRes ::= SEQUENCE { + status SET OF SEQUENCE { + basicService BasicService, + dndProtectionLevel DNDProtectionLevel OPTIONAL + } OPTIONAL, + resultExtension CHOICE{ + extension [1] IMPLICIT Extension{{DNDExtSet}}, + sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{DNDExtSet}} + } OPTIONAL + } + +DNDOverrideArg ::= SEQUENCE { + dndoCapabilityLevel DNDOCapabilityLevel, + argumentExtension CHOICE{ + extension [1] IMPLICIT Extension{{DNDExtSet}}, + sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{DNDExtSet}} + } OPTIONAL + } + +PathRetainArg ::= CHOICE { + serviceList ServiceList, + extendedServiceList SEQUENCE { + serviceList ServiceList, + extension Extension{{DNDExtSet}} + } + } + +ServiceAvailableArg ::= CHOICE { + serviceList ServiceList, + extendedServiceList SEQUENCE { + serviceList ServiceList, + extension Extension{{DNDExtSet}} + } + } + +DNDProtectionLevel ::= ENUMERATED { + lowProtection(0), + mediumProtection(1), + highProtection(2), + fullProtection(3) + } + +DNDOCapabilityLevel ::= ENUMERATED { + overrideLowProt(1), + overrideMediumProt(2), + overrideHighProt(3) + } + +ServiceList ::= BIT STRING + { dndo-low(1), dndo-medium(2), dndo-high(3) } (SIZE (1..32)) + -- bits other than dndo-low, dndo-medium, or dndo-high, are reserved + -- for other Supplementary Services + +temporarilyUnavailable ERROR ::= { CODE local: 1000} +notActivated ERROR ::= { CODE local: 43} + +unspecified ERROR ::= { + PARAMETER Extension{{DNDExtSet}} + CODE local: 1008} + +DNDExtSet EXTENSION ::= {...} + +END -- of Do-Not-Disturb-Operations-asn1-97 diff --git a/asn1/qsig/QSIG-MCM.asn b/asn1/qsig/QSIG-MCM.asn new file mode 100644 index 0000000000..6555ae4630 --- /dev/null +++ b/asn1/qsig/QSIG-MCM.asn @@ -0,0 +1,401 @@ +-- QSIG-MCM.asn +-- +-- Taken from Ecma International +-- Standard ECMA-347, (June 2003) +-- http://www.ecma-international.org/publications/standards/Ecma-347.htm +-- +-- $Id$ +-- + +SS-MCM-Operations-asn1-97 +{iso (1) identified-organization (3) icd-ecma (12) standard (0) +qsig-message-centre-monitoring (347) +message-centre-monitoring-operations-asn1-97 (1)} + +DEFINITIONS EXPLICIT TAGS ::= + +BEGIN + +IMPORTS OPERATION, ERROR FROM + Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations (4) informationObjects (5) + version1 (0)} + + EXTENSION, Extension{} FROM + Manufacturer-specific-service-extension-class-asn1-97 + {iso standard pss1-generic-procedures (11582) + msi-class-asn1-97 (11)} + + basicServiceNotProvided, userNotSubscribed, invalidServedUserNr + FROM General-Error-List + {itu-t (0) recommendation (0) q (17) 950 + general-error-list (1)} + + PresentedAddressUnscreened, PartyNumber FROM + Addressing-Data-Elements-asn1-97 + {iso standard pss1-generic-procedures (11582) + addressing-data-elements-asn1-97 (20)} + Name FROM Name-Operations-asn1-97 + {iso standard pss1-name (13868) name-operations-asn1-97 (1)} + ; + + +MCM-Operations OPERATION ::= { + mCMNewMsg | + mCMNoNewMsg | + mCMUpdate | + mCMUpdateReq | + mCMService | + mCMInterrogate | + mCMailboxFull } + + +mCMNewMsg OPERATION ::= { + ARGUMENT MCMNewMsgArg + RESULT MCMDummyRes + ERRORS {userNotSubscribed | + invalidServedUserNr | + basicServiceNotProvided | + unspecified} + CODE local: 80} -- same code as for mWIActivate in SS-MWI + + +mCMNoNewMsg OPERATION ::= { + ARGUMENT MCMNoNewMsgArg + RESULT MCMDummyRes + ERRORS {userNotSubscribed | + invalidServedUserNr | + basicServiceNotProvided | + unspecified} + CODE local: 81} -- same code as for mWIDeactivate in SS-MWI + + +mCMUpdate OPERATION ::= { + ARGUMENT MCMUpdateArg + RESULT MCMDummyRes + ERRORS {userNotSubscribed | + invalidServedUserNr | + unspecified} + CODE local: 115} + + +mCMUpdateReq OPERATION ::= { + ARGUMENT MCMUpdateReqArg + RESULT MCMUpdateReqRes + ERRORS {userNotSubscribed | + invalidServedUserNr | + basicServiceNotProvided | + unspecified} + CODE local: 82} + -- same code as for mWIInterrogate in SS-MWI + +mCMService OPERATION ::= { + ARGUMENT MCMServiceArg + RESULT MCMDummyRes + ERRORS {userNotSubscribed | + invalidServedUserNr | + basicServiceNotProvided | + mCMModeNotProvided | + unspecified} + CODE local: 116} + + +mCMInterrogate OPERATION ::= { + ARGUMENT MCMInterrogateArg + RESULT MCMInterrogateRes + ERRORS {userNotSubscribed | + invalidServedUserNr | + basicServiceNotProvided | + mCMModeNotProvided | + unspecified} + CODE local: 117} + + +mCMailboxFull OPERATION ::= { + ARGUMENT MCMailboxFullArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 118} + + +MCMailboxFullArg ::= SEQUENCE + { + partyInfo PartyInfo, + mailboxFullFor MailboxFullFor, + extensions MCMExtensions OPTIONAL, + ... + } + +MailboxFullFor ::= SEQUENCE OF MailboxFullPar + +MailboxFullPar ::= SEQUENCE + { + messageType MessageType, + capacityReached INTEGER (0..100) OPTIONAL + -- percentage of storage capacity already used + } + +MCMServiceArg ::= SEQUENCE + { + + partyInfo PartyInfo, + mCMChange MCMChange, + extensions MCMExtensions OPTIONAL, + ... + } + +MCMChange ::= CHOICE + { + activateMCM [1] IMPLICIT SEQUENCE OF MCMServiceInfo, + deactivateMCM [2] IMPLICIT SEQUENCE OF MessageType, + setToDefaultValues NULL + } + +MCMServiceInfo ::= SEQUENCE + { + messageType MessageType, + mCMModeNew [1] IMPLICIT MCMMode OPTIONAL, + mCMModeRetrieved [2] IMPLICIT MCMMode OPTIONAL + } + +MCMInterrogateArg ::= SEQUENCE + { + partyInfo PartyInfo, + interrogateInfo SEQUENCE OF MessageType, + extensions MCMExtensions OPTIONAL, + ... + } + +MCMInterrogateRes ::= SEQUENCE + { + interrogateResult SEQUENCE OF MCMServiceInfo, + extensions MCMExtensions OPTIONAL, + ... + } + +MCMNewMsgArg ::= SEQUENCE + { + servedUserNr PartyNumber, + specificMessageType MessageType, + msgCentreId MsgCentreId OPTIONAL, + nrOfMessages [3] IMPLICIT NrOfMessages OPTIONAL, + originatingNr [4] PartyNumber OPTIONAL, + timestamp TimeStamp OPTIONAL, + priority [5] IMPLICIT INTEGER (0..9) OPTIONAL, + argumentExt CHOICE { + extension [6] IMPLICIT Extension{{MCMExtSet}}, + multipleExtension [7] IMPLICIT SEQUENCE OF + Extension{{MCMExtSet}} + } OPTIONAL + } + + +MCMNoNewMsgArg ::= SEQUENCE + { + servedUserNr PartyNumber, + specificMessageType MessageType, + msgCentreId MsgCentreId OPTIONAL, + argumentExt CHOICE { + extension [3] IMPLICIT Extension{{MCMExtSet}}, + multipleExtension [4] IMPLICIT SEQUENCE OF + Extension{{MCMExtSet}} + } OPTIONAL + } + +MCMUpdateArg ::= SEQUENCE + { + partyInfo PartyInfo, + messageType MessageType, + updateInfo UpdateInfo, + moreInfoFollows BOOLEAN DEFAULT FALSE, + extensions MCMExtensions OPTIONAL, + ... + } + + +MCMUpdateReqArg ::= SEQUENCE + { + servedUserNr PartyNumber, + specificMessageType MessageType, + msgCentreId MsgCentreId OPTIONAL, + argumentExt CHOICE { + extension [3] IMPLICIT Extension{{MCMExtSet}}, + multipleExtension [4] IMPLICIT SEQUENCE OF + Extension{{MCMExtSet}} + } OPTIONAL + } + + +MCMUpdateReqRes ::= SEQUENCE SIZE (1..10) OF MCMUpdateReqResElt + + +MCMUpdateReqResElt ::= SEQUENCE + { + specificMessageType MessageType, + msgCentreId MsgCentreId OPTIONAL, + nrOfMessages [3] IMPLICIT NrOfMessages OPTIONAL, + originatingNr [4] PartyNumber OPTIONAL, + timestamp TimeStamp OPTIONAL, + priority [5] IMPLICIT INTEGER (0..9) OPTIONAL, + argumentExt CHOICE { + extension [6] IMPLICIT Extension{{MCMExtSet}}, + multipleExtension [7] IMPLICIT SEQUENCE OF + Extension{{MCMExtSet}} + } OPTIONAL + } + + +MCMMode ::= INTEGER + { + compressed (0), + complete (1) + } + +MCMDummyRes ::= MCMExtensions + + +PartyInfo ::= SEQUENCE + { + servedUserNr PartyNumber, + messageCentreID MsgCentreId + } + +UpdateInfo ::= CHOICE + { + newMsgInfoOnly [1] MessageInfo, + retrievedMsgInfoOnly [2] MessageInfo, + allMsgInfo AllMsgInfo + } + + +AllMsgInfo ::= SEQUENCE + { + newMsgInfo MessageInfo, + retrievedMsgInfo MessageInfo + } + + +MessageInfo ::= CHOICE + { + completeInfo [1] IMPLICIT CompleteInfo, + compressedInfo [2] IMPLICIT CompressedInfo, + noMsgsOfMsgType NULL + } + + +CompleteInfo ::= SEQUENCE OF AddressHeader + + +AddressHeader ::= SEQUENCE + { + originatorNr PartyNumber, + timeStamp [1] IMPLICIT TimeStamp OPTIONAL, + priority [2] IMPLICIT Priority OPTIONAL + } + + +CompressedInfo ::= SEQUENCE + { + nrOfMessages NrOfMessages, + lastTimeStamp TimeStamp OPTIONAL, + highestPriority Priority OPTIONAL + } + + +NrOfMessages ::= INTEGER (0..65535) + + +Priority ::= INTEGER (0..9) -- the value 0 means the highest priority + -- and 9 the lowest + +MsgCentreId ::= CHOICE + { + integer [0] IMPLICIT INTEGER (0..65535), + partyNumber [1] PartyNumber, + numericString [2] IMPLICIT NumericString (SIZE(1..10)) + } + +TimeStamp ::= GeneralizedTime (SIZE (12..19)) + -- a VisibleString containing: + -- - the (local) date in 8 digits (YYYYMMDD), + -- - followed by (local) time of day in 4 or 6 digits (HHMM[SS]), + -- - optionally followed by the letter "Z" or + -- by a local time differential in 5 digits ("+"HHMM or "-"HHMM); + -- this date and time representation follows ISO 8601 + -- Examples: 1) 19970621194530, meaning 21 June 1997, 19:45:30; + -- 2) 19970621194530Z, meaning the same as 1); + -- 3) 19970621194530-0500, meaning the same as 1), + -- 5 hours retarded in relation to UTC time + + +MessageType ::= ENUMERATED + { + -- Note: for the following message type see also Annex D.4 + allServices (0), + -- Note: for the following message types see also Annex D.1 + -- For compatibility among vendors, speech is recommended for + -- voice mail indications + speech (1), + unrestrictedDigitalInformation (2), + audio3100Hz (3), + telephony (32), + teletex (33), + telefaxGroup4Class1 (34), + videotextSyntaxBased (35), + videotelephony (36), + telefaxGroup2-3 (37), + reservedNotUsed1 (38), + reservedNotUsed2 (39), + reservedNotUsed3 (40), + reservedNotUsed4 (41), + reservedNotUsed5 (42), + -- Note: for the following message types see also annex D.2 + email (51), + video (52), + fileTransfer (53), + shortMessageService (54), + -- Note: for the following message types see also annex D.3 + speechAndVideo (55), + speechAndFax (56), + speechAndEmail (57), + videoAndFax (58), + videoAndEmail (59), + faxAndEmail (60), + speechVideoAndFax (61), + speechVideoAndEmail (62), + speechFaxAndEmail (63), + videoFaxAndEmail (64), + speechVideoFaxAndEmail (65), + -- Note: for the following message types see also annex D.4 + multimediaUnknown (66), + serviceUnknown (67), + futureReserve1 (68), + futureReserve2 (69), + futureReserve3 (70), + futureReserve4 (71), + futureReserve5 (72), + futureReserve6 (73), + futureReserve7 (74), + futureReserve8 (75) + } + +MCMExtensions ::= CHOICE + { + none NULL, + extension [1] IMPLICIT Extension {{MCMExtSet}}, + multipleExtension [2] IMPLICIT SEQUENCE OF + Extension {{ MCMExtSet }} + } + +mCMModeNotProvided ERROR ::= { + CODE local:1037} + +unspecified ERROR ::= { + PARAMETER Extension{{MCMExtSet}} + CODE local:1008} + +MCMExtSet EXTENSION ::= {...} + + +END -- of SS-MCM-Operations-asn1-97 + diff --git a/asn1/qsig/QSIG-MCR.asn b/asn1/qsig/QSIG-MCR.asn new file mode 100644 index 0000000000..82c1fddfc8 --- /dev/null +++ b/asn1/qsig/QSIG-MCR.asn @@ -0,0 +1,171 @@ +-- QSIG-MCR.asn +-- +-- Taken from Ecma International +-- Standard ECMA-344, (June 2003) +-- http://www.ecma-international.org/publications/standards/Ecma-344.htm +-- +-- $Id$ +-- + +SS-MCR-Operations-asn97 +{iso (1) identified-organization (3) icd-ecma (12) standard (0) + qsig-make-call-request (344) make-call-request-operations (0)} + +DEFINITIONS EXPLICIT TAGS ::= + +BEGIN + +IMPORTS + +OPERATION, +ERROR +FROM Remote-Operations-Information-Objects +{ joint-iso-itu-t (2) remote-operations (4) informationObjects (5) version1 (0) } + +EXTENSION, +Extension {} +FROM Manufacturer-specific-service-extension-class-asn1-97 +{ iso (1) standard (0) pss1-generic-procedures (11582) msi-class-asn1-97 (11) } + +Name +FROM Name-Operations-asn1-97 +{ iso (1) standard (0) pss1-name (13868) name-operations-asn1-97 (1) } + +BasicService +FROM Call-Diversion-Operations-asn1-97 +{ iso (1) standard (0) pss1-call-diversion (13873) + call-diversion-operations-asn1-97 (1) } + +basicServiceNotProvided, +supplementaryServiceInteractionNotAllowed, +userNotSubscribed +FROM General-Error-List +{itu-t (0) recommendation (0) q (17) 950 general-error-list (1)} + +PresentedAddressUnscreened +FROM Addressing-Data-Elements-asn1-97 +{ iso (1) standard (0) pss1-generic-procedures (11582) + addressing-data-elements-asn1-97 (20) } + +CallIdentity, establishmentFailure +FROM Path-Replacement-Operations-asn1-97 +{iso (1) standard (0) pss1-path-replacement (13874) pr-operations-asn1-97(1)} +; + +Make-Call-Request-Operations OPERATION::= { + mCRequest | mCAlerting | mCInform } + +mCRequest OPERATION ::= { + ARGUMENT MCRequestArg + RESULT MCRequestResult + ERRORS {userNotSubscribed| + basicServiceNotProvided| + supplementaryServiceInteractionNotAllowed| + invalidDestinationNumber| + invalidCooperationNumber| + mCRequestNotAllowed| + mCExecutionNotAllowed| + mCDestUserBusy| + mCCoopUserBusy| + mCCoopUserRejected| + establishmentFailure| + unspecified} + CODE local: 112 + } + +mCInform OPERATION ::= { + ARGUMENT MCInformArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + ERRORS {userNotSubscribed| + basicServiceNotProvided| + supplementaryServiceInteractionNotAllowed| + invalidDestinationNumber| + mCExecutionNotAllowed| + mCDestUserBusy| + unspecified} + CODE local: 113 + } + +mCAlerting OPERATION ::= { + ARGUMENT MCAlertingArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 114 + } + +MCRequestArg ::= SEQUENCE + { + callType CallType, + retainOrigCall BOOLEAN DEFAULT TRUE, + destinationAddress PresentedAddressUnscreened, + requestingAddress [0] PresentedAddressUnscreened OPTIONAL, + cooperatingAddress [1] PresentedAddressUnscreened OPTIONAL, + correlation Correlation, + extensions MCRExtensions OPTIONAL, + ... + } + +MCRequestResult ::= SEQUENCE + { + extensions MCRExtensions OPTIONAL, + ... + } + +MCInformArg ::= SEQUENCE + { + requestingAddress [0] PresentedAddressUnscreened OPTIONAL, + cooperatingAddress [1] PresentedAddressUnscreened OPTIONAL, + correlation Correlation, + extensions MCRExtensions OPTIONAL, + ... + } + +MCAlertingArg ::= SEQUENCE + { + correlation Correlation, + extensions MCRExtensions OPTIONAL, + ... + } +CallType ::= CHOICE + { + basicService BasicService, + cisc NULL + } + +Correlation ::= SEQUENCE + { + correlationData CallIdentity, + correlationReason CorrelationReason OPTIONAL + } +CorrelationReason ::= INTEGER + { + unknown (0), + mCACommunication (1), + cTIApplication (2) + } (0..255) + +MCRExtensions ::= CHOICE + { + none NULL, + single [0] IMPLICIT Extension + { { MakeCallRequestExtension } } , + multiple [1] IMPLICIT SEQUENCE OF Extension + { { MakeCallRequestExtension } } + } + +MakeCallRequestExtension EXTENSION::= {...} + +invalidDestinationNumber ERROR ::= {CODE local : 1030} +invalidCooperationNumber ERROR ::= {CODE local : 1031} +mCRequestNotAllowed ERROR ::= {CODE local : 1032} +mCExecutionNotAllowed ERROR ::= {CODE local : 1033} +mCDestUserBusy ERROR ::= {CODE local : 1034} +mCCoopUserBusy ERROR ::= {CODE local : 1035} +mCCoopUserRejected ERROR ::= {CODE local : 1036} +unspecified ERROR ::= {PARAMETER Extension + { { MakeCallRequestExtension } } + CODE local : 1008 + } + +END -- of SS-MCR-Operations diff --git a/asn1/qsig/QSIG-MID.asn b/asn1/qsig/QSIG-MID.asn new file mode 100644 index 0000000000..cd9ad7c96d --- /dev/null +++ b/asn1/qsig/QSIG-MID.asn @@ -0,0 +1,131 @@ +-- QSIG-MID.asn +-- +-- Taken from Ecma International +-- Standard ECMA-347, (June 2003) +-- http://www.ecma-international.org/publications/standards/Ecma-347.htm +-- +-- $Id$ +-- + +SS-MID-Operations-asn1-97 +{iso (1) identified-organization (3) icd-ecma (12) standard (0) +qsig-mailbox-identification (347) mailbox-identification-operations-asn1-97 (2)} + +DEFINITIONS EXPLICIT TAGS ::= + +BEGIN + +IMPORTS OPERATION, ERROR FROM + Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations (4) informationObjects (5) + version1 (0)} + + EXTENSION, Extension{} FROM + Manufacturer-specific-service-extension-class-asn1-97 + {iso standard pss1-generic-procedures (11582) msi-class-asn1-97 + (11)} + + basicServiceNotProvided, userNotSubscribed, invalidServedUserNr + FROM General-Error-List + {itu-t (0) recommendation (0) q (17) 950 general-error-list (1)} + + PresentedAddressUnscreened FROM + Addressing-Data-Elements-asn1-97 + {iso standard pss1-generic-procedures (11582) addressing-data-elements-asn1-97 (20)} + + Name FROM + Name-Operations-asn1-97 + {iso standard pss1-name (13868) name-operations-asn1-97 (1)} + + MessageType, MsgCentreId FROM + SS-MCM-Operations-asn1-97 + {iso (1) identified-organization (3) icd-ecma (12) standard (0) + qsig-message-centre-monitoring (347) + message-centre-monitoring-operations-asn1-97 (1)} + ; + + +MID-Operations OPERATION ::= {mIDMailboxAuth | + mIDMailboxID} + +mIDMailboxAuth OPERATION ::= { + ARGUMENT MIDMailboxAuthArg + RESULT MIDDummyRes + ERRORS {userNotSubscribed | + invalidServedUserNr | + invalidMailbox | + authorizationFailed | + unspecified} + CODE local:119} + +mIDMailboxID OPERATION ::= { + ARGUMENT MIDMailboxIDArg + RESULT MIDDummyRes + ERRORS {userNotSubscribed | + invalidServedUserNr | + invalidMailbox | + unspecified} + CODE local:120} + + +MIDMailboxAuthArg ::= SEQUENCE + { + + partyInfo PartyInfo, + servedUserName Name OPTIONAL, + mailBox [8]String OPTIONAL, + password String, + extensions MIDExtensions OPTIONAL, + ... + } + + +MIDMailboxIDArg ::= SEQUENCE + { + + partyInfo PartyInfo, + servedUserName Name OPTIONAL, + mailBox String, + extensions MIDExtensions OPTIONAL, + ... + } + + +MIDDummyRes ::= MIDExtensions + +PartyInfo ::= SEQUENCE + { + servedUserNr PresentedAddressUnscreened, + messageType MessageType OPTIONAL, + messageCentreID MsgCentreId + } + +String ::= CHOICE + { + stringBmp BMPString, + stringUtf8 UTF8String + } + + +MIDExtensions ::= CHOICE + { + none NULL, + extension [1] IMPLICIT Extension {{MIDExtSet}}, + multipleExtension [2] IMPLICIT SEQUENCE OF + Extension {{ MIDExtSet }} + } + +invalidMailbox ERROR ::= { + CODE local:1039} + + +authorizationFailed ERROR ::= { + CODE local:1040} + +unspecified ERROR ::= { + PARAMETER Extension{{MIDExtSet}} + CODE local:1008} + +MIDExtSet EXTENSION ::= {...} + +END -- of SS-MID-Operations-asn1-97 diff --git a/asn1/qsig/QSIG-NA.asn b/asn1/qsig/QSIG-NA.asn new file mode 100644 index 0000000000..aa3e0881bd --- /dev/null +++ b/asn1/qsig/QSIG-NA.asn @@ -0,0 +1,137 @@ +-- QSIG-NA.asn +-- +-- Taken from Ecma International +-- Standard ECMA-164, 4th edition (December 2001) +-- http://www.ecma-international.org/publications/standards/Ecma-164.htm +-- +-- $Id$ +-- + +Name-Operations-asn1-97 + { iso ( 1) standard ( 0) pss1-name (13868) name-operations-asn1-97( 1) } + + +DEFINITIONS ::= + +BEGIN + +IMPORTS + +OPERATION FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)} + +EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97 + { iso standard pss1-generic-procedures (11582) msi-class-asn1-97 ( 11) }; + +Name-Operations OPERATION ::= { callingName | calledName | connectedName | busyName } + +callingName OPERATION ::= { + ARGUMENT NameArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 0 + } + +calledName OPERATION ::= { + ARGUMENT NameArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 1 + } + +connectedName OPERATION ::= { + ARGUMENT NameArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 2 + } + +busyName OPERATION ::= { + ARGUMENT NameArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 3 + } + +NameArg ::= CHOICE { + name Name, + nameSequence SEQUENCE { + name Name, + extension NameExtension OPTIONAL + } + } + +NameExtension ::= CHOICE { + single [5] IMPLICIT Extension{{NameExtensionSet}}, + multiple [6] IMPLICIT SEQUENCE OF Extension{{NameExtensionSet}} + } + +NameExtensionSet EXTENSION ::= {...} + +Name ::= CHOICE + { namePresentationAllowed NamePresentationAllowed, + namePresentationRestricted NamePresentationRestricted, + nameNotAvailable NameNotAvailable } + +NamePresentationAllowed ::= CHOICE + { namePresentationAllowedSimple [0] IMPLICIT NameData, + namePresentationAllowedExtended [1] IMPLICIT NameSet } + -- iso8859-1 is implied in namePresentationAllowedSimple. + +NamePresentationRestricted ::= CHOICE + { namePresentationRestrictedSimple [2] IMPLICIT NameData, + namePresentationRestrictedExtended [3] IMPLICIT NameSet, + namePresentationRestrictedNull [7] IMPLICIT NULL} + -- iso8859-1 is implied in namePresentationRestrictedSimple. + -- namePresentationRestrictedNull shall only be used in the + -- case of interworking where the other network provides an + -- indication that the name is restricted without the name itself. + +NameNotAvailable ::= [4] IMPLICIT NULL + +NameData ::= OCTET STRING (SIZE (1..50)) + -- The maximum allowed size of the name field is 50 octets. + -- The minimum required size of the name field is 1 octet. + +NameSet ::= SEQUENCE + { nameData NameData, + characterSet CharacterSet OPTIONAL } + -- If characterSet is not included, iso8859-1 is implied. + +CharacterSet ::= INTEGER + { unknown (0), + iso8859-1 (1), + -- The character set "iso8859-1" is specified in International + -- Standard ISO 8859-1 + -- The value 2 was assigned for CCITT Rec. T.61 + -- which has been withdrawn by ITU-T. + iso8859-2 (3), + -- The character set “iso8859-2” is specified in International + -- Standard ISO 8859-2 + iso8859-3 (4), + --The character set “iso8859-3” is specified in International + -- Standard ISO 8859-3 + iso8859-4 (5), + --The character set “iso8859-4” is specified in International + -- Standard ISO 8859-4 + iso8859-5 (6), + --The character set “iso8859-5” is specified in International + -- Standard ISO 8859-5 + iso8859-7 (7), + --The character set “iso8859-7” is specified in International + -- Standard ISO 8859-7 + iso10646-BmpString (8), + -- The character set “iso10646-BmpString” is specified in International + -- Standard ISO 10646-1 and in ITU-T Rec. X.680 + -- with this character set, each character occupies 2 octets in NameData + iso10646-utf-8String (9) + -- The character set “iso10646-utf-8String” is specified in International + -- Standard ISO 10646-1 + -- UTF-8-String is defined in Annex R of ISO 10646-1 + -- with this character set, each character occupies a variable + -- number of octets (1...6) in NameData + } (0..255) + -- Other character sets might be added in further editions of + -- this Standard + +END -- of Name-Operations-asn1-97 diff --git a/asn1/qsig/QSIG-PR.asn b/asn1/qsig/QSIG-PR.asn new file mode 100644 index 0000000000..81e7f57abe --- /dev/null +++ b/asn1/qsig/QSIG-PR.asn @@ -0,0 +1,171 @@ +-- QSIG-PR.asn +-- +-- Taken from Ecma International +-- Standard ECMA-176, 4th edition (December 2001) +-- http://www.ecma-international.org/publications/standards/Ecma-176.htm +-- +-- $Id$ +-- + +Path-Replacement-Operations-asn1-97 + {iso standard pss1-path-replacement (13874) pr-operations-asn1-97(1)} + +DEFINITIONS EXPLICIT TAGS ::= + +BEGIN + +IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t (2) remote-operations(4) informationObjects(5) version1(0)} + EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97 + {iso standard + pss1-generic-procedures (11582) msi-class-asn1-97 (11)} + notAvailable, supplementaryServiceInteractionNotAllowed + FROM General-Error-List + {ccitt recommendation q 950 general-error-list (1)} + PartyNumber FROM Addressing-Data-Elements-asn1-97 + {iso(1) standard(0) pss1-generic-procedures(11582) + addressing-data-elements-asn1-97 (20)}; + +Path-Replacement-Operations OPERATION ::={ +pathReplacePropose | pathReplaceSetup | pathReplaceRetain | pathReplaceInvite} + +pathReplaceInvite OPERATION ::= { + ARGUMENT DummyArg + RETURN RESULT FALSE + ERRORS { + notAvailable | + temporarilyUnavailable | + supplementaryServiceInteractionNotAllowed | + criteriaPermanentlyUnachievable | + criteriaTemporarilyUnachievable | + invalidRerouteingNumber | + unrecognizedCallIdentity | + establishmentFailure | + collision | + unspecified } + ALWAYS RESPONDS FALSE + CODE local: 86 } + +pathReplacePropose OPERATION ::= { + ARGUMENT PRProposeArg + RETURN RESULT FALSE + ERRORS { + notAvailable | + temporarilyUnavailable | + supplementaryServiceInteractionNotAllowed | + criteriaPermanentlyUnachievable | + criteriaTemporarilyUnachievable | + invalidRerouteingNumber | + unrecognizedCallIdentity | + establishmentFailure | + collision | + unspecified } + ALWAYS RESPONDS FALSE + CODE local: 4 } + +pathReplaceSetup OPERATION ::= { + ARGUMENT PRSetupArg + RESULT DummyResult + ERRORS { + criteriaPermanentlyUnachievable | + criteriaTemporarilyUnachievable | + invalidRerouteingNumber | + unrecognizedCallIdentity | + temporarilyUnavailable | + unspecified } + CODE local: 5 } + +pathReplaceRetain OPERATION ::= { + ARGUMENT PRRetainArg + RESULT DummyResult + ERRORS { + notAvailable | + temporarilyUnavailable | + supplementaryServiceInteractionNotAllowed | + criteriaPermanentlyUnachievable | + criteriaTemporarilyUnachievable | + invalidRerouteingNumber | + unrecognizedCallIdentity | + establishmentFailure | + unspecified } + CODE local: 6 } + +PRProposeArg ::= SEQUENCE { + callIdentity CallIdentity, + rerouteingNumber PartyNumber, + extension CHOICE { + single [1] IMPLICIT Extension{{PRExtSet}}, + multiple [2] IMPLICIT SEQUENCE OF Extension{{PRExtSet}} + } OPTIONAL + } + +PRSetupArg ::= SEQUENCE { + callIdentity CallIdentity, + extension CHOICE { + single [1] IMPLICIT Extension{{PRExtSet}}, + multiple [2] IMPLICIT SEQUENCE OF Extension{{PRExtSet}} + } OPTIONAL + } + +PRRetainArg ::= SEQUENCE { + callIdentity CallIdentity, + rerouteingNumber PartyNumber, + extension CHOICE { + single [1] IMPLICIT Extension{{PRExtSet}}, + multiple [2] IMPLICIT SEQUENCE OF Extension{{PRExtSet}} + } OPTIONAL + } + +DummyResult ::= CHOICE { + null NULL, + single [1] IMPLICIT Extension{{PRExtSet}}, + multiple [2] IMPLICIT SEQUENCE OF Extension{{PRExtSet}} + } + +DummyArg ::= CHOICE { + null NULL, + single [1] IMPLICIT Extension{{PRExtSet}}, + multiple [2] IMPLICIT SEQUENCE OF Extension{{PRExtSet}} + } + +PRExtSet EXTENSION ::= {...} + +CallIdentity ::= NumericString (SIZE(1..4)) + +temporarilyUnavailable ERROR ::= {CODE local: 1000} + -- used when the operation is temporarily not available and none of + -- the other errors applies - a later attempt could be successful + +collision ERROR ::= {CODE local: 1001} + -- used when a pathReplacePropose invoke APDU is received by a PINX + -- which has sent a pathReplacePropose invoke APDU + +criteriaPermanentlyUnachievable ERROR ::= {CODE local: 1002} + -- used when the special criteria requested cannot be achieved + -- because the necessary resources are permanently unavailable + +criteriaTemporarilyUnachievable ERROR ::= {CODE local: 1003} + -- used when the special criteria requested cannot be achieved + -- because the necessary resources are temporarily unavailable + -- a later attempt could be successful + +invalidRerouteingNumber ERROR ::= {CODE local: 1004} + -- used when the establishment of the new connection fails because the + -- Called party number information element is not a valid number for + -- routeing the new connection to + +unrecognizedCallIdentity ERROR ::= {CODE local: 1005} + -- used when establishment of the new connection fails because it could + -- not be associated with the old connection at the Requesting PINX + +establishmentFailure ERROR ::= {CODE local: 1006} + -- used when establishment of the new connection fails and no other error + -- applies + +unspecified ERROR ::= { + PARAMETER Extension{{PRExtSet}} + CODE local: 1008} + -- used to convey a manufacturer specific error, possibly with other information + -- of Path-Replacement-Operations + +END -- of Path-Replacement-Operations-asn1-97 diff --git a/asn1/qsig/QSIG-PUMCH.asn b/asn1/qsig/QSIG-PUMCH.asn new file mode 100644 index 0000000000..6bbf4d0e3c --- /dev/null +++ b/asn1/qsig/QSIG-PUMCH.asn @@ -0,0 +1,137 @@ +-- QSIG-PUMCH.asn +-- +-- Taken from Ecma International +-- Standard ECMA-284, 3rd edition (December 2001) +-- http://www.ecma-international.org/publications/standards/Ecma-284.htm +-- +-- $Id$ +-- + +Private-User-Mobility-Call-Handling-Operations-asn1-97 + { iso (1) standard (0) pss1-pum-call-handling (17878) pum-call-handling-operations-asn1-97 (1)} + +DEFINITIONS EXPLICIT TAGS ::= + +BEGIN +IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects + { joint-iso-itu-t remote-operations (4) informationObjects (5) version1 (0) } + EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97 + { iso (1) standard (0) + pss1-generic-procedures (11582) msi-class-asn1-97(11) } + PSS1InformationElement FROM PSS1-generic-parameters-definition-asn1-97 + { iso (1) standard (0) + pss1-generic-procedures (11582) pss1-generic-parameters-asn1-97 (17) } + Name FROM Name-Operations-asn1-97 + { iso (1) standard (0) + pss1-name (13868) name-operations-asn1-97 (1) } + basicServiceNotProvided, invalidServedUserNr, notAvailable FROM + General-Error-List + { ccitt recommendation q 950 general-error-list (1) } + Address, PartyNumber, PartySubaddress, PresentedNumberScreened FROM + Addressing-Data-Elements-asn1-97 + { iso (1) standard (0) pss1-generic-procedures (11582) + addressing-data-elements-asn1-97 (20) }; + +Private-User-Mobility-Call-Handling-Operations OPERATION ::= { pumiEnquiry | pumiDivert | pumiInform | +pumoCall } + +-- Operations for ANF-PUMI: -- +pumiEnquiry OPERATION ::= { + -- Sent from the PUMI-detect PINX to the Home PINX. + ARGUMENT EnquiryArg + RESULT EnquiryRes + ERRORS { invalidServedUserNr | locationNotKnown | + notAvailable | basicServiceNotProvided | unspecified } + CODE local: 93} +pumiDivert OPERATION ::= { + -- Sent from the PUMI-detect PINX to the Rerouteing PINX. + ARGUMENT DivertArg + RESULT DummyRes + ERRORS { notAvailable | unspecified } + CODE local: 94} + +pumiInform OPERATION ::= { + -- Sent from the Rerouteing PINX to the Visitor PINX. + ARGUMENT InformArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 95} +EnquiryArg ::= SEQUENCE { pisnNumber PartyNumber, + -- The PISN number of the PUM user + qSIGInfoElement PSS1InformationElement, + -- The basic call information elements Bearer capability, High layer compatibility, + -- Low layer compatibility can be embedded in the qSIGInfoElement + -- in accordance with clause 6.5.2.1. + argExtension PumiExtension OPTIONAL } +DivertArg ::= SEQUENCE { hostingAddr PartyNumber, + -- The PISN number of the hosting user, + -- always a Complete Number. + callingNumber PresentedNumberScreened, + pumIdentity PumIdentity, + -- The PISN number (always a Complete Number) + -- and/or an alternative identifier of the PUM user. + qSIGInfoElement PSS1InformationElement, + -- The basic call information elements Bearer capability, High layer compatibility, + -- Low layer compatibility, and Progress indicator + -- can be embedded in the qSIGInfoElement in accordance with clause 6.5.2.1. + callingUserSub [ 1 ] PartySubaddress OPTIONAL, + callingUserName [ 2 ] Name OPTIONAL, + pumUserSub [ 3 ] PartySubaddress OPTIONAL, + argExtension PumiExtension OPTIONAL } +InformArg ::= SEQUENCE { pumIdentity PumIdentity, + -- The PISN number (always a Complete Number) + -- and/or an alternative identifier of the PUM user. + argExtension PumiExtension OPTIONAL } +EnquiryRes ::= CHOICE { currLocation [ 1 ] IMPLICIT CurrLocation, + cfuActivated [ 2 ] IMPLICIT CfuActivated } +CurrLocation ::= SEQUENCE { hostingAddr PartyNumber, + -- The PISN number of the hosting user, + -- always a Complete Number. + pumIdentity PumIdentity, + -- The PISN number (always a Complete Number) + -- and/or an alternative identifier of the PUM user. + argExtension PumiExtension OPTIONAL } +CfuActivated ::= SEQUENCE { divToAddress Address, + divOptions SubscriptionOption, + pumName [ 1 ] Name OPTIONAL, + argExtension PumiExtension OPTIONAL } +SubscriptionOption ::=ENUMERATED { noNotification (0), + notificationWithoutDivertedToNr (1), + notificationWithDivertedToNr (2) } + +DummyRes ::= CHOICE { null NULL, + extension [ 1 ] IMPLICIT Extension{{PUMCHExtSet}}, + sequOfExtn [ 2 ] IMPLICIT SEQUENCE OF + Extension{{PUMCHExtSet}} } +PumiExtension ::= CHOICE { extension [ 4 ] IMPLICIT Extension{{PUMCHExtSet}}, + sequOfExtn [ 5 ] IMPLICIT SEQUENCE OF + Extension{{PUMCHExtSet}} } +PumIdentity ::= CHOICE { pisnNumber PartyNumber, + alternativeId [ 10 ] IMPLICIT AlternativeId, + both [ 11 ] IMPLICIT SEQUENCE + { pisnNumber PartyNumber, + alternativeId AlternativeId } } +AlternativeId ::= OCTET STRING(SIZE(1..20)) +-- Operation for ANF-PUMO -- +pumoCall OPERATION ::= { + ARGUMENT PumoArg + ALWAYS RESPONDS FALSE + RETURN RESULT FALSE + CODE local: 96} +PumoArg ::= SEQUENCE { destinationNumber [0] PartyNumber OPTIONAL, + pumIdentity [1] PumIdentity OPTIONAL, + -- The PISN number (always a Complete Number) + -- and/or an alternative identifier of the PUM user. + sendingComplete [2] IMPLICIT NULL OPTIONAL, + extension CHOICE + {single [3] IMPLICIT Extension{{PUMCHExtSet}}, + multiple [4] IMPLICIT SEQUENCE OF + Extension{{PUMCHExtSet}} } + OPTIONAL } +PUMCHExtSet EXTENSION ::= {...} + +locationNotKnown ERROR ::= { CODE local: 1015} +unspecified ERROR ::= { PARAMETER Extension{{PUMCHExtSet}} + CODE local: 1008} + +END -- of Private-User-Mobility-Call-Handling-Operations-asn1-97 diff --git a/asn1/qsig/QSIG-PUMR.asn b/asn1/qsig/QSIG-PUMR.asn new file mode 100644 index 0000000000..b604b1afbc --- /dev/null +++ b/asn1/qsig/QSIG-PUMR.asn @@ -0,0 +1,207 @@ +-- QSIG-PUMR.asn +-- +-- Taken from Ecma International +-- Standard ECMA-282, 3rd edition (December 2001) +-- http://www.ecma-international.org/publications/standards/Ecma-282.htm +-- +-- $Id$ +-- + +PUM-Registration-Operations-asn1-97 + { iso (1) standard (0) pss1-pum-registration (17876) pum-registration-operations-asn1-97 (1) } + +DEFINITIONS EXPLICIT TAGS ::= + +BEGIN +IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects + { joint-iso-itu-t (2) remote-operations (4) informationObjects (5) version1(0)} + EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97 + { iso (1) standard (0) pss1-generic-procedures (11582) msi-class-asn1-97 (11) } + notAvailable, invalidServedUserNr, supplementaryServiceInteractionNotAllowed + FROM General-Error-List + { ccitt recommendation q 950 general-error-list (1) } + PartyNumber FROM Addressing-Data-Elements-asn1-97 + { iso (1) standard (0) pss1-generic-procedures (11582) + addressing-data-elements-asn1-97 (20) } + BasicService FROM Call-Diversion-Operations-asn1-97 + { iso (1) standard (0) pss1-call-diversion (13873) + call-diversion-operations-asn1-97 (1) } + pisnEnquiry FROM WTM-Location-Registration-Operations-asn1-97 + { iso (1) standard (0) pss1-location-registration (15429) + wtmlr-operations-asn1-97 (1) }; + +PUM-Registration-Operations OPERATION ::= { pumRegistr | pumDelReg | pumDe-reg | + pumInterrog | pisnEnquiry } + +pumRegistr OPERATION ::= { + -- Registration (sent from the Visitor PINX to the Home PINX or + -- from a Remote PINX to the Visitor PINX) + ARGUMENT PumRegistrArg + RESULT PumRegistrRes + ERRORS { invalidServedUserNr | notAuthorized | unspecified | + notAvailable | temporarilyUnavailable | + supplementaryServiceInteractionNotAllowed | + pumUserNotSubscribedToThisServiceOpt | + pumUserFailedAuthentication | hostingAddrInvalid } + CODE local: 89} + +pumDelReg OPERATION ::= { + -- Delete Registration (sent from the Home PINX to the Previous Visitor PINX) + ARGUMENT PumDelRegArg + RESULT DummyRes + ERRORS { notAvailable | temporarilyUnavailable | unspecified | + supplementaryServiceInteractionNotAllowed } + CODE local: 90} +pumDe-reg OPERATION ::= { + -- De-registration (sent from the Visitor PINX or Remote PINX to the Home PINX) + ARGUMENT PumDe-regArg + RESULT DummyRes + ERRORS { invalidServedUserNr | notAuthorized | unspecified | + supplementaryServiceInteractionNotAllowed | + pumUserNotSubscribedToThisServiceOpt | + pumUserFailedAuthentication | hostingAddrInvalid | + pumUserNotRegistered } + CODE local: 91} +pumInterrog OPERATION ::= { + -- Interrogation (sent from the Visitor PINX or Remote PINX to the Home PINX and + -- from the Home PINX to the Visitor PINX) + ARGUMENT PumInterrogArg + RESULT PumInterrogRes + ERRORS { invalidServedUserNr | notAuthorized | unspecified | + supplementaryServiceInteractionNotAllowed | + pumUserFailedAuthentication | hostingAddrInvalid | + pumUserNotRegistered } + CODE local: 92} +PumRegistrArg ::= SEQUENCE { pumUserId CHOICE { pumNumber PartyNumber, + -- The PISN number of the PUM user, + -- always a Complete Number. + alternativeId AlternativeId }, + basicService BasicService, + -- specific basic service or all basic services, + hostingAddr PartyNumber, + -- The PISN number of the hosting user, + -- always a Complete Number. + activatingUserAddr [0] PartyNumber OPTIONAL, + -- The PISN number of the activating user, + -- always a Complete Number. + -- Mandatory if sent from a Remote PINX, else not included. + serviceOption ServiceOption DEFAULT inCallRegistration, + -- Type of registration (InCall, OutCall or AllCall) + sessionParams SessionParams OPTIONAL, + -- Duration of session, Number of outgoing calls + userPin CHOICE { pumUserPin [6] IMPLICIT UserPin, + activatingUserPin [7] IMPLICIT UserPin } OPTIONAL, + argExtension PumrExtension OPTIONAL } + +PumRegistrRes ::= SEQUENCE { pumNumber PartyNumber, + serviceOption ServiceOption OPTIONAL, + -- Type of registration (InCall, OutCall or AllCall) + sessionParams SessionParams OPTIONAL, + -- Duration of session, Number of outgoing calls + argExtension PumrExtension OPTIONAL } +DummyRes ::= CHOICE { null NULL, + extension [ 1 ] IMPLICIT Extension{{PUMRExtSet}}, + sequOfExtn [ 2 ] IMPLICIT SEQUENCE OF + Extension{{PUMRExtSet}} } +PumDelRegArg ::= SEQUENCE { pumUserId CHOICE { pumNumber PartyNumber, + -- The PISN number of the PUM user, + -- always a Complete Number. + alternativeId AlternativeId }, + basicService BasicService, + -- specific basic service or all basic services, + hostingAddr PartyNumber, + -- The PISN number of the hosting user, + -- always a Complete Number. + serviceOption ServiceOption, + -- Type of registration session (InCall, OutCall or AllCall) + argExtension PumrExtension OPTIONAL } +PumDe-regArg ::= SEQUENCE { pumUserId CHOICE { pumNumber PartyNumber, + -- The PISN number of the PUM user, + -- always a Complete Number. + alternativeId AlternativeId }, + basicService BasicService, + -- specific basic service or all basic services, + hostingAddr [0] PartyNumber OPTIONAL, + -- The PISN number of the hosting user, + -- always a Complete Number. + -- Not included if serviceOption indicates 'inCallRegistration', + -- optional if serviceOption indicates 'outCallRegistration' + -- or 'allCallRegistration'. + activatingUserAddr [1] PartyNumber OPTIONAL, + -- The PISN number of the activating user, + -- always a Complete Number. + -- Mandatory if sent from a Remote PINX, else not included. + serviceOption ServiceOption DEFAULT inCallRegistration, + -- Type of registration session (InCall, OutCall or AllCall) + -- If serviceOption indicates 'outCallRegistration' and + -- hostingAddr is omitted, the de-registration applies to + -- all OutCall registrations of this PUM user. + -- If serviceOption indicates 'allCallRegistration' and + -- hostingAddr is omitted, the de-registration applies to the + -- AllCall and all OutCall registrations of this PUM user. + userPin CHOICE { pumUserPin [6] IMPLICIT UserPin, + activatingUserPin [7] IMPLICIT UserPin } OPTIONAL, + argExtension PumrExtension OPTIONAL } + +PumInterrogArg ::= SEQUENCE { pumUserId CHOICE { pumNumber PartyNumber, + -- The PISN number of the PUM user, + -- always a Complete Number. + alternativeId AlternativeId }, + basicService BasicService, + -- specific basic service or all basic services, + hostingAddr [0] PartyNumber OPTIONAL, + -- The PISN number of the hosting user, + -- always a Complete Number. + -- Omission indicates 'all hosting addresses'. + activatingUserAddr [1] PartyNumber OPTIONAL, + -- The PISN number of the activating user, + -- always a Complete Number. + serviceOption [2] ServiceOption OPTIONAL, + homeInfoOnly BOOLEAN DEFAULT TRUE, + -- True = Only Home PINX information (default) + -- False = Complete information + userPin CHOICE { pumUserPin [6] IMPLICIT UserPin, + activatingUserPin [7] IMPLICIT UserPin } OPTIONAL, + argExtension PumrExtension OPTIONAL } +PumInterrogRes ::= SET SIZE(1..8) OF + SEQUENCE { basicService [0] IMPLICIT BasicService OPTIONAL, + -- specific basic service or all basic services, + -- (Home PINX information) + hostingAddr [1] PartyNumber OPTIONAL, + -- The PISN number of the hosting user, + -- always a Complete Number. + -- (Home PINX information) + serviceOption [2] IMPLICIT ServiceOption OPTIONAL, + -- Type of registration session + -- (InCall, OutCall or AllCall) + -- (Home PINX information) + interrogParams SessionParams OPTIONAL, + -- Time left in registration session, + -- Number of outgoing calls left + -- (Visitor PINX information) + argExtension PumrExtension OPTIONAL } +AlternativeId ::= OCTET STRING (SIZE(1..20)) +ServiceOption ::= ENUMERATED { inCallRegistration (0), + outCallRegistration (1), + allCallRegistration (2) } +SessionParams ::= SEQUENCE { durationOfSession [ 1 ] IMPLICIT INTEGER OPTIONAL, + -- Duration of session in seconds, + -- default if omitted: duration of session unlimited. + numberOfOutgCalls [ 2 ] IMPLICIT INTEGER OPTIONAL } + -- Default if omitted: number of outgoing calls unlimited. +UserPin ::= OCTET STRING (SIZE(1..20)) + +PumrExtension ::= CHOICE { + extension [ 4 ] IMPLICIT Extension {{PUMRExtSet}}, + sequOfExtn [ 5 ] IMPLICIT SEQUENCE OF + Extension{{PUMRExtSet}} } +PUMRExtSet EXTENSION ::= {...}unspecified ERROR ::= { PARAMETER + Extension{{PUMRExtSet}} + CODE local: 1008} +notAuthorized ERROR ::= { CODE local: 1007} +temporarilyUnavailable ERROR ::= { CODE local: 1000} +pumUserNotSubscribedToThisServiceOpt ERROR ::= { CODE local: 1019} +pumUserFailedAuthentication ERROR ::= { CODE local: 1020} +hostingAddrInvalid ERROR ::= { CODE local: 1021} +pumUserNotRegistered ERROR ::= { CODE local: 1022} +END -- of PUM-Registration-Operations-asn1-97 diff --git a/asn1/qsig/QSIG-RE.asn b/asn1/qsig/QSIG-RE.asn new file mode 100644 index 0000000000..25ee450989 --- /dev/null +++ b/asn1/qsig/QSIG-RE.asn @@ -0,0 +1,64 @@ +-- QSIG-RE.asn +-- +-- Taken from Ecma International +-- Standard ECMA-214, 3rd edition (December 2001) +-- http://www.ecma-international.org/publications/standards/Ecma-214.htm +-- +-- $Id$ +-- + +Recall-Operations-asn1-97 + { iso (1) standard (0) pss1-recall (15052) recall-operations-asn1-97 (1) } + +DEFINITIONS EXPLICIT TAGS ::= + +BEGIN + +IMPORTS + OPERATION, ERROR FROM Remote-Operations-Information-Objects + { joint-iso-itu-t (2) remote-operations (4) informationObjects (5) version1(0) } + + EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97 + { iso (1) standard (0) pss1-generic-procedures (11582) msi-class-asn1-97 (11) } + + Name FROM Name-Operations-asn1-97 + { iso (1) standard (0) pss1-name (13868) name-operations-asn1-97 (1) } + + PresentedNumberScreened, PartySubaddress FROM Addressing-Data-Elements-asn1-97 + { iso (1) standard (0) pss1-generic-procedures (11582) addressing-data-elements-asn1-97 (20) }; + +Recall-Operations OPERATION ::= { recallAlerting | recallAnswered } + +recallAlerting OPERATION ::= { + -- Sent from the Served User PINX to the Primary PINX + ARGUMENT ReAlertingArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 57} + +recallAnswered OPERATION ::= { + -- Sent from the Served User PINX to the Primary PINX + ARGUMENT ReAnswerArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 58} + +ReAlertingArg ::= SEQUENCE { + alertedNumber [1] PresentedNumberScreened OPTIONAL, + alertedName [2] Name OPTIONAL, + argumentExtension CHOICE { + extension [6] IMPLICIT Extension{{REExtSet}}, + multipleExtension [7] IMPLICIT SEQUENCE OF Extension{{REExtSet}} + } OPTIONAL } + +ReAnswerArg ::= SEQUENCE { + connectedNumber [1] PresentedNumberScreened, + connectedSubaddress [2] PartySubaddress OPTIONAL, + connectedName [3] Name OPTIONAL, + argumentExtension CHOICE { + extension [6] IMPLICIT Extension{{REExtSet}}, + multipleExtension [7] IMPLICIT SEQUENCE OF Extension{{REExtSet}} + } OPTIONAL } +REExtSet EXTENSION ::= {...} + +END -- of Recall-Operations-asn1-97 diff --git a/asn1/qsig/QSIG-SD.asn b/asn1/qsig/QSIG-SD.asn new file mode 100644 index 0000000000..43e0de7838 --- /dev/null +++ b/asn1/qsig/QSIG-SD.asn @@ -0,0 +1,91 @@ +-- QSIG-SD.asn +-- +-- Taken from Ecma International +-- Standard ECMA-311, 2nd edition (December 2001) +-- http://www.ecma-international.org/publications/standards/Ecma-311.htm +-- +-- $Id$ +-- + +SS-SD-Operations-asn1-97 +{ iso (1) standard (0) pss1-simple-dialog (21407) simple-dialog-operations-asn1-97 (1)} + + +DEFINITIONS EXPLICIT TAGS ::= + +BEGIN + +IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t (2) remote-operations (4) informationObjects (5) + version1 (0)} + + EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97 + {iso (1) standard (0) pss1-generic-procedures (11582) + msi-class-asn1-97(11)}; + +SD-Operations OPERATION ::= { display | keypad} + +display OPERATION ::= { + ARGUMENT DisplayArg + RETURN RESULT FALSE + ERRORS {unspecified | + noDisplayAvailable | + displayTemporarilyNotAvailable | + notPresentable + } + ALWAYS RESPONDS FALSE + CODE local: 103} + + +keypad OPERATION ::= { + ARGUMENT KeypadArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 104} + + +DisplayArg ::= SEQUENCE { + displayString DisplayString, + extension SDExtension OPTIONAL + } + + +DisplayString ::= CHOICE { + displayStringNormal [0] IMPLICIT BMPStringNormal, + displayStringExtended [1] IMPLICIT BMPStringExtended + } + +KeypadArg ::= SEQUENCE { + keypadString [0] IMPLICIT BMPStringNormal, + extension SDExtension OPTIONAL + } + + +BMPStringNormal ::= OCTET STRING (SIZE(2..64)) -- shall be used according to + -- ISO/IEC 10646-1 (section 6.2) + -- coded as a BMP String according to + -- ITU-T Rec. X.690 (section 8.20.8) + +BMPStringExtended ::= OCTET STRING (SIZE(2..160)) -- shall be used according to ISO/IEC 10646-1 + -- coded as a BMP String according to + -- ITU-T Rec. X.690 + + +SDExtension ::= CHOICE { + extension [2] IMPLICIT Extension{{SDExtSet}}, + multipleExtension [3] IMPLICIT SEQUENCE OF Extension{{SDExtSet}} + } + +SDExtSet EXTENSION ::= {...} + +unspecified ERROR ::= { PARAMETER Extension{{SDExtSet}} + CODE local: 1008} + +noDisplayAvailable ERROR ::= { CODE local: 1023} + +displayTemporarilyNotAvailable ERROR ::= { CODE local: 1024} + +notPresentable ERROR ::= { CODE local: 1025} + + +END -- of SS-SD-Operations-asn1-97 diff --git a/asn1/qsig/QSIG-SMS.asn b/asn1/qsig/QSIG-SMS.asn new file mode 100644 index 0000000000..544eeed0c4 --- /dev/null +++ b/asn1/qsig/QSIG-SMS.asn @@ -0,0 +1,341 @@ +-- QSIG-SMS.asn +-- +-- Taken from Ecma International +-- Standard ECMA-325, (June 2001) +-- http://www.ecma-international.org/publications/standards/Ecma-325.htm +-- +-- $Id$ +-- + +Short-Message-Service-Operations-asn1-97 +{iso(1) identified-organization(3) icd-ecma(12) standard(0) qsig-short-message-service(325) short-message-service-operations-asn1-97(1)} + +DEFINITIONS::= +BEGIN +IMPORTS + OPERATION, + ERROR +FROM Remote-Operations-Information-Objects +{joint-iso-itu-t (2) remote-operations(4) informationObjects(5) version1(0)} + EXTENSION, Extension{} +FROM Manufacturer-specific-service-extension-class-asn1-97 +{iso(1) standard(0) pss1-generic-procedures(11582) msi-class-asn1-97(11)} + Name +FROM Name-Operations-asn1-97 +{iso(1) standard(0) pss1-name(13868) name-operations-asn1-97(1)} + supplementaryServiceInteractionNotAllowed +FROM General-Error-List +{ccitt recommendation q 950 general-error-list(1)} + PartyNumber +FROM Addressing-Data-Elements-asn1-97 +{iso(1) standard(0) pss1-generic-procedures(11582) addressing-data-elements-asn1-97(20)}; + +--TYPE DEFINITIONS FOR SMS OPERATIONS FOLLOW + +Sms-Operations OPERATION ::={ + + smsSubmit | smsDeliver | smsStatusReport | smsCommand | scAlert} + +smsSubmit OPERATION ::= { + -- sent from the Sending User PINX/ Sending User Message Centre to the Service Centre + ARGUMENT SmsSubmitArg + RESULT SmsSubmitRes + ERRORS {smsSubmitError | + unspecified} + CODE local:107} + +smsDeliver OPERATION ::= { + -- sent from the Service Centre to the Receiving User PINX or to the Receiving User Message Centre + ARGUMENT SmsDeliverArg + RESULT SmsDeliverRes + ERRORS {smsDeliverError | + unspecified} + CODE local:108} + +smsStatusReport OPERATION ::= { + -- sent from the Service Centre to the Sending User PINX or to the Sending User Message Centre + ARGUMENT SmsStatusReportArg + RESULT SmsStatusReportRes + ERRORS {smsStatusReportError | + unspecified} + CODE local:109} + +smsCommand OPERATION ::= { + -- sent from the Sending User PINX or the Sending User Message Centre to the Service Centre + ARGUMENT SmsCommandArg + RESULT SmsCommandRes + ERRORS {smsCommandError | + unspecified} + CODE local:110} + +scAlert OPERATION ::= { + -- sent from the Receiving User PINX or the Receiving User Message Centre to the Service Centre + ARGUMENT ScAlertArg + RESULT DummyRes + ERRORS {unspecified} + CODE local:111} + +--TYPE DEFINITIONS FOR SMS DATA TYPES FOLLOW + +SmsSubmitArg ::= SEQUENCE { + destinationAddress PartyNumber, + originatingAddress PartyNumber, + messageReference MessageReference, + smSubmitParameter SmSubmitParameter, + userData UserData, + smsExtension SmsExtension OPTIONAL} + +SmsSubmitRes ::= SEQUENCE { + serviceCentreTimeStamp ServiceCentreTimeStamp, + protocolIdentifier [3] IMPLICIT ProtocolIdentifier OPTIONAL, + userData [4] IMPLICIT UserData OPTIONAL, + smsExtension SmsExtension OPTIONAL} + +SmsDeliverArg ::= SEQUENCE { + originatingAddress PartyNumber, + destinationAddress PartyNumber, + originatingName Name OPTIONAL, + smDeliverParameter SmDeliverParameter, + userData UserData, + smsExtension SmsExtension OPTIONAL} + +SmsDeliverRes ::= SEQUENCE { + smsDeliverResponseChoice SmsDeliverResChoice, + smsExtension SmsExtension OPTIONAL} + +SmsStatusReportArg ::= SEQUENCE { + messageReference MessageReference, + serviceCentreTimeStamp ServiceCentreTimeStamp, + dischargeTime DischargeTime, + recipientAddress PartyNumber, + recipientName [10] Name OPTIONAL, + destinationAddress PartyNumber, + status Status, + priority [11] IMPLICIT BOOLEAN DEFAULT FALSE, + moreMessagesToSend [12] IMPLICIT BOOLEAN DEFAULT FALSE, + statusReportQualifier [13] IMPLICIT BOOLEAN DEFAULT FALSE, + protocolIdentifier ProtocolIdentifier OPTIONAL, + userData UserData OPTIONAL, + smsExtension SmsExtension OPTIONAL} + +SmsStatusReportRes ::= SEQUENCE { + smsStatusReportResponseChoice SmsStatusReportResponseChoice, + smsExtension SmsExtension OPTIONAL} + +SmsCommandArg ::= SEQUENCE { + destinationAddress PartyNumber, + messageReference MessageReference, + messageNumber MessageReference, + protocolIdentifier ProtocolIdentifier, + commandType CommandType, + commandData CommandData OPTIONAL, + statusReportRequest BOOLEAN OPTIONAL, + smsExtension SmsExtension OPTIONAL} + +SmsCommandRes ::= SEQUENCE { + serviceCentreTimeStamp ServiceCentreTimeStamp, + protocolIdentifier ProtocolIdentifier OPTIONAL, + userData UserData OPTIONAL, + smsExtension SmsExtension OPTIONAL} + +ScAlertArg ::= SEQUENCE { + originatingAddress PartyNumber, + smsExtension SmsExtension OPTIONAL} + +DummyRes ::= CHOICE{ + null NULL, + smsExtension SmsExtension} + +SmSubmitParameter ::= SEQUENCE { + protocolIdentifier ProtocolIdentifier, + validityPeriod ValidityPeriod OPTIONAL, + statusReportRequest [11] IMPLICIT BOOLEAN DEFAULT FALSE, + replyPath [12] IMPLICIT BOOLEAN DEFAULT FALSE, + rejectDuplicates [13] IMPLICIT BOOLEAN DEFAULT FALSE} + +SmDeliverParameter ::= SEQUENCE { + protocolIdentifier ProtocolIdentifier, + serviceCentreTimeStamp ServiceCentreTimeStamp, + priority [11] IMPLICIT BOOLEAN DEFAULT FALSE, + moreMessagesToSend [12] IMPLICIT BOOLEAN DEFAULT FALSE, + statusReportIndication [13] IMPLICIT BOOLEAN DEFAULT FALSE, + replyPath [14] IMPLICIT BOOLEAN DEFAULT FALSE} + +SmsDeliverResChoice ::= CHOICE { + null NULL, + protocolIdentifier ProtocolIdentifier, + userData [0] IMPLICIT UserData, + resChoiceSeq [1] IMPLICIT ResChoiceSeq} + +ResChoiceSeq ::= SEQUENCE { + protocolIdentifier ProtocolIdentifier, + userData UserData} + +SmsStatusReportResponseChoice ::= CHOICE { + null NULL, + protocolIdentifier ProtocolIdentifier, + userData [0] IMPLICIT UserData, + resChoiceSeq [1] IMPLICIT ResChoiceSeq} + +MessageReference ::= INTEGER(0..255) + +SmsExtension ::= CHOICE{ + single [1]IMPLICIT Extension{{SmsExtSet}}, + multiple [2]IMPLICIT SEQUENCE OF + Extension{{SmsExtSet}} + } + +SmsExtSet EXTENSION ::= {...} + +ProtocolIdentifier ::= INTEGER (0..127) + -- definition of the ProtocolIdentifier values and default value can be found in annex E section + -- E.1.2.1 + +ServiceCentreTimeStamp ::= GeneralizedTime(SIZE(12..19)) + -- this date and time representation follows ISO 8601 + +DischargeTime ::= GeneralizedTime(SIZE(12..19)) + -- this date and time representation follows ISO 8601 + +ValidityPeriod ::= CHOICE{ + validityPeriodRel [0] IMPLICIT ValidityPeriodRel, + validityPeriodAbs [1] IMPLICIT ValidityPeriodAbs, + validityPeriodEnh [2] IMPLICIT ValidityPeriodEnh} + +ValidityPeriodAbs ::= GeneralizedTime(SIZE(12..19)) + -- this date and time representation follows ISO 8601 + +ValidityPeriodRel ::= INTEGER(0..255) + -- the rules for the encoding of ValidityPeriodRel are shown in annex E section E.1.2.2 + +ValidityPeriodEnh ::= SEQUENCE{ + singleShotSM BOOLEAN DEFAULT FALSE, + enhancedVP EnhancedVP OPTIONAL} + +EnhancedVP ::= CHOICE{ + validityPeriodRel [0] IMPLICIT ValidityPeriodRel, + validityPeriodSec [1] IMPLICIT INTEGER(0..255), + validityPeriodSemi [2] IMPLICIT ValidityPeriodSemi} + +ValidityPeriodSemi ::= OCTET STRING (SIZE(3)) + -- Validity Period is relative in semi-octet representation, see ETSI TS 100 901, section 9.1.2.3 + -- and section 9.2.3.12.3 + +UserData ::= SEQUENCE{ + userDataHeader [0] IMPLICIT UserDataHeader OPTIONAL, + class [1] IMPLICIT INTEGER (0..3) OPTIONAL, + compressed [2] IMPLICIT BOOLEAN DEFAULT FALSE, + shortMessageText ShortMessageText} + +ShortMessageText ::= SEQUENCE{ + shortMessageTextType ShortMessageTextType, + shortMessageTextData ShortMessageTextData} + +ShortMessageTextType ::= INTEGER{ + iA5Coded (0), -- ShortMessageTextData shall contain data according to + octetCoded (1), -- the type given in ShortMessageTextType, for further + uniCoded (2), -- details see annex E. 1.3.4. + compressedCoded (3)} (0..8) + +ShortMessageTextData ::= OCTET STRING (SIZE(0..140)) + +Status ::= INTEGER (0..255) + -- definition of status values can be found in section E.7.6 in annex E + +CommandType ::= INTEGER{ + enquiry (0), + cancelSRR (1), + deletePreviouslySubmittedSM (2), + enableSRRrelatingToPreviouslySubmittedSM (3)} (0..255) + +CommandData ::= OCTET STRING (SIZE(0..157)) + +FailureCause ::= INTEGER (0..255) + -- definition for failureCause values can be found in section E.3.1 in annex E + +UserDataHeader ::= SEQUENCE OF UserDataHeaderChoice + +UserDataHeaderChoice ::= CHOICE{ + smscControlParameterHeader [0] IMPLICIT SmscControlParameterHeader, + concatenated8BitSMHeader [1] IMPLICIT Concatenated8BitSMHeader, + concatenated16BitSMHeader [2] IMPLICIT Concatenated16BitSMHeader, + applicationPort8BitHeader [3] IMPLICIT ApplicationPort8BitHeader, + applicationPort16BitHeader [4] IMPLICIT ApplicationPort16BitHeader, + dataHeaderSourceIndicator [5] IMPLICIT DataHeaderSourceIndicator, + wirelessControlHeader [6] IMPLICIT WirelessControlHeader, + genericUserValue [99] IMPLICIT GenericUserValue} + +SmscControlParameterHeader ::= BIT STRING { + sRforTransactionCompleted (0), + sRforPermanentError (1), + sRforTempErrorSCnotTrying (2), + sRforTempErrorSCstillTrying (3), + cancelSRRforConcatenatedSM (6), + includeOrigUDHintoSR (7)} (SIZE(8)) + +Concatenated8BitSMHeader ::= SEQUENCE{ + concatenated8BitSMReferenceNumber INTEGER(0..255), + maximumNumberOf8BitSMInConcatenatedSM INTEGER(0..255), + sequenceNumberOf8BitSM INTEGER(0..255)} + +Concatenated16BitSMHeader ::= SEQUENCE{ + concatenated16BitSMReferenceNumber INTEGER(0..65536), + maximumNumberOf16BitSMInConcatenatedSM INTEGER(0..255), + sequenceNumberOf16BitSM INTEGER(0..255)} + +ApplicationPort8BitHeader ::= SEQUENCE{ + destination8BitPort INTEGER(0..255), + originator8BitPort INTEGER(0..255)} + +ApplicationPort16BitHeader ::= SEQUENCE{ + destination16BitPort INTEGER(0..65536), + originator16BitPort INTEGER(0..65536)} + +DataHeaderSourceIndicator ::= INTEGER{ + originalSender (1), -- valid in case of Status Report + originalReceiver (2), -- valid in case of Status Report + sMSC (3)}(0..255) -- can occur in any message or report + +WirelessControlHeader ::= OCTET STRING + +GenericUserValue ::= SEQUENCE{ + parameterValue INTEGER(0..255), + genericUserData OCTET STRING} + +smsDeliverError ERROR ::= { + PARAMETER SEQUENCE{ + failureCause FailureCause, + protocolIdentifier [0] IMPLICIT ProtocolIdentifier OPTIONAL, + userData [1] IMPLICIT UserData OPTIONAL, + scAddressSaved [2] IMPLICIT BOOLEAN DEFAULT FALSE} + CODE local:1026} + +smsSubmitError ERROR ::= { + PARAMETER SEQUENCE{ + failureCause FailureCause, + serviceCentreTimeStamp ServiceCentreTimeStamp, + protocolIdentifier [0] IMPLICIT ProtocolIdentifier OPTIONAL, + userData [1] IMPLICIT UserData OPTIONAL} + CODE local:1027} + +smsStatusReportError ERROR ::= { + PARAMETER SEQUENCE{ + failureCause FailureCause, + protocolIdentifier [0] IMPLICIT ProtocolIdentifier OPTIONAL, + userData [1] IMPLICIT UserData OPTIONAL, + scAddressSaved [2] IMPLICIT BOOLEAN DEFAULT FALSE} + CODE local: 1028} + +smsCommandError ERROR ::= { + PARAMETER SEQUENCE{ + failureCause FailureCause, + serviceCentreTimeStamp ServiceCentreTimeStamp, + protocolIdentifier [0] IMPLICIT ProtocolIdentifier OPTIONAL, + userData [1] IMPLICIT UserData OPTIONAL} + CODE local:1029} + +unspecified ERROR ::= { + PARAMETER SmsExtension + CODE local: 1008} + +END -- of Short-Message-Service-Operations-asn1-97 diff --git a/asn1/qsig/QSIG-SSCT.asn b/asn1/qsig/QSIG-SSCT.asn new file mode 100644 index 0000000000..c2f07864a4 --- /dev/null +++ b/asn1/qsig/QSIG-SSCT.asn @@ -0,0 +1,122 @@ +-- QSIG-SSCT.asn +-- +-- Taken from Ecma International +-- Standard ECMA-300, 2nd edition (December 2001) +-- http://www.ecma-international.org/publications/standards/Ecma-300.htm +-- +-- $Id$ +-- + +Single-Step-Call-Transfer-Operations-asn1-97 +{ iso(1) standard (0) pss1-single-step-call-transfer (19460) +single-step-call-transfer-operations-asn1-97 (1)} + +DEFINITIONS EXPLICIT TAGS ::= + +BEGIN +IMPORTS + OPERATION, ERROR FROM Remote-Operations-Information-Objects + { joint-iso-itu-t (2) remote-operations (4) informationObjects(5) version1(0) } + EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97 + { iso (1) standard (0) pss1-generic-procedures (11582) msi-class-asn1-97 (11) } + Name FROM Name-Operations-asn1-97 + {iso(1) standard(0) pss1-name (13868) name-operations-asn1-97 (1)} + supplementaryServiceInteractionNotAllowed, notAvailable, invalidCallState + FROM General-Error-List + { ccitt recommendation q 950 general-error-list (1) } + PresentedAddressScreened, PartyNumber FROM Addressing-Data-Elements-asn1-97 + {iso(1) standard (0) pss1-generic-procedures (11582) + addressing-data-elements-asn1-97 (20)} + PSS1InformationElement FROM PSS1-generic-parameters-definition-asn1-97 + {iso(1) standard (0) pss1-generic-procedures (11582) + pss1-generic-parameters-asn1-97 (17)} + callTransferUpdate, callTransferComplete, callTransferActive, subaddressTransfer, + invalidRerouteingNumber, establishmentFailure FROM Call-Transfer-Operations-asn1-97 + {iso(1) standard (0) pss1-call-transfer (13869) call-transfer-operations-asn1-97 (1)}; + +Single-Step-Call-Transfer-Operations OPERATION ::= { ssctInitiate | ssctSetup | ssctPostDial | +ssctDigitInfo } + +ssctInitiate OPERATION ::= { + -- sent from the Transferring PINX to the Rerouting PINX + ARGUMENT SSCTInitiateArg + RESULT DummyRes + ERRORS { notAvailable | invalidCallState | invalidRerouteingNumber | + establishmentFailure | unspecified | + supplementaryServiceInteractionNotAllowed } + CODE local: 99} + +ssctSetup OPERATION ::= { + -- sent from the Rerouting PINX to the Transferred-To PINX + ARGUMENT SSCTSetupArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 100} + +ssctPostDial OPERATION ::= { + -- sent from the Rerouting PINX to the Transferred PINX + ARGUMENT DummyArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 101} + +ssctDigitInfo OPERATION ::= { + -- sent from the Transferred PINX to the Rerouting PINX + ARGUMENT SSCTDigitInfoArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 102} + +DummyArg ::= CHOICE { + null NULL, + single [1] IMPLICIT Extension{{SSCTExtSet}}, + multiple [2] IMPLICIT SEQUENCE OF Extension{{SSCTExtSet}}} + +DummyRes ::= CHOICE { + null NULL, + single [1] IMPLICIT Extension{{SSCTExtSet}}, + multiple [2] IMPLICIT SEQUENCE OF Extension{{SSCTExtSet}}} + +SSCTInitiateArg ::= SEQUENCE { + rerouteingNumber PartyNumber, -- Transferred-To Number + transferredAddress PresentedAddressScreened, + awaitConnect AwaitConnect, + transferredName [1] Name OPTIONAL, + transferringAddress [2] PresentedAddressScreened OPTIONAL, + transferringName [3] Name OPTIONAL, + argumentExtension CHOICE { + single [4] IMPLICIT Extension{{SSCTExtSet}}, + multiple [5] IMPLICIT SEQUENCE OF Extension{{SSCTExtSet}} + } OPTIONAL + } + +AwaitConnect ::= BOOLEAN + -- FALSE = release the original call upon ALERTING received + -- TRUE = release the original call upon CONNECT received + +SSCTSetupArg ::= SEQUENCE { + transferringAddress [1] PresentedAddressScreened OPTIONAL, + transferringName [2] Name OPTIONAL, + argumentExtension CHOICE { + single [3] IMPLICIT Extension{{SSCTExtSet}}, + multiple [4] IMPLICIT SEQUENCE OF Extension{{SSCTExtSet}} + } OPTIONAL + } + +SSCTDigitInfoArg ::= SEQUENCE { + reroutingNumber [1] PartyNumber OPTIONAL, + -- remaining digits of the Transferred-To Number + sendingComplete [2] IMPLICIT NULL OPTIONAL, + argumentExtension CHOICE { + single [3] IMPLICIT Extension{{SSCTExtSet}}, + multiple [4] IMPLICIT SEQUENCE OF Extension{{SSCTExtSet}} + } OPTIONAL + } + +SSCTExtSet EXTENSION ::= {...} + +unspecified ERROR ::= { + PARAMETER Extension{{SSCTExtSet}} + CODE local: 1008} + +END -- of SSCT Operations-asn1-97 diff --git a/asn1/qsig/QSIG-WTMAU.asn b/asn1/qsig/QSIG-WTMAU.asn new file mode 100644 index 0000000000..7f58d07044 --- /dev/null +++ b/asn1/qsig/QSIG-WTMAU.asn @@ -0,0 +1,156 @@ +-- QSIG-WTMAU.asn +-- +-- Taken from Ecma International +-- Standard ECMA-306, 2nd edition (December 2001) +-- http://www.ecma-international.org/publications/standards/Ecma-306.htm +-- +-- $Id$ +-- + +WTM-Authentication-Operations-asn1-97 + {iso standard pss1-authentication (15433) authentication-operations-asn1-97 (1)} + +DEFINITIONS EXPLICIT TAGS ::= + +BEGIN + +IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)} + EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97 + {iso standard + pss1-generic-procedures (11582) msi-class-asn1-97 (11)} + invalidServedUserNr FROM General-Error-List + {ccitt recommendation q 950 general-error-list (1)} + PartyNumber FROM Addressing-Data-Elements-asn1-97 + {iso(1) standard(0) pss1-generic-procedures(11582) + addressing-data-elements-asn1-97(20)}; +WTMAuth-Operations OPERATION ::= {authWtmUser | getWtatParam | wtatParamEnq | getWtanParam | + wtanParamEnq | transferAuthParam} +-- The following three operations shall apply to SS-WTAT -- +authWtmUser OPERATION ::= { -- from Home PINX to Visitor PINX-- + ARGUMENT AuthWtmArg + RESULT AuthWtmRes + ERRORS { temporarilyUnavailable | invalidServedUserNr | + notAuthorized | paramNotAvailable | unspecified} + CODE local : 72} +getWtatParam OPERATION ::= { -- from Visitor PINX to Home PINX -- + ARGUMENT WtatParamArg + RESULT WtatParamRes + ERRORS { invalidServedUserNr | notAuthorized | + paramNotAvailable | temporarilyUnavailable | unspecified} + CODE local : 73} +wtatParamEnq OPERATION ::= { -- from Home PINX to Authentication Server PINX-- + ARGUMENT WtatParamArg + RESULT WtatParamRes + ERRORS { invalidServedUserNr | paramNotAvailable | unspecified} + CODE local : 74} +AuthWtmArg ::= SEQUENCE { + wtmUserId WtmUserId, + calcWtatInfo [ 1 ] IMPLICIT CalcWtatInfo OPTIONAL, + dummyExtension DummyExtension OPTIONAL} + +AuthWtmRes ::= SEQUENCE { + autWtmResValue ENUMERATED + {auth-res-correct (0), + auth-res-incorrect (1) }, + dummyExtension DummyExtension OPTIONAL} +WtatParamArg ::= SEQUENCE { + wtmUserId WtmUserId, + canCompute CanCompute OPTIONAL, + authChallenge AuthChallenge OPTIONAL, + dummyExtension DummyExtension OPTIONAL} + -- The presence of element canCompute indicates that the Visitor PINX is able to -- + -- compute a challenge and the expected response from session key information -- +WtatParamRes ::= SEQUENCE {wtatParamInfo WtatParamInfo, + dummyExtension DummyExtension OPTIONAL} +-- The following two operations shall apply to SS-WTAN -- +getWtanParam OPERATION ::= { -- from Visitor PINX to Home PINX -- + ARGUMENT WtanParamArg + RESULT WtanParamRes + ERRORS { invalidServedUserNr | notAuthorized | + paramNotAvailable | temporarilyUnavailable | unspecified} + CODE local : 75} +wtanParamEnq OPERATION ::= { -- from Home PINX to Authentication Server PINX-- + ARGUMENT WtanParamArg + RESULT WtanParamRes + ERRORS { invalidServedUserNr | paramNotAvailable | unspecified} + CODE local : 76} +WtanParamArg ::= SEQUENCE { wtmUserId WtmUserId, + authChallenge AuthChallenge, + authAlgorithm AuthAlgorithm, + canCompute CanCompute OPTIONAL, + dummyExtension DummyExtension OPTIONAL} + -- The presence of element canCompute indicates that the Visitor PINX is able to -- + -- compute the response from session key information -- +WtmUserId ::= CHOICE { pisnNumber PartyNumber, + -- The PISN number of the WTM user, + -- always a Complete Number. + alternativeId AlternativeId } +AlternativeId ::= OCTET STRING(SIZE(1..20)) +WtanParamRes ::= SEQUENCE {wtanParamInfo WtanParamInfo, + dummyExtension DummyExtension OPTIONAL} + +-- The following unconfirmed operation shall apply when interaction between SS-WTAT and ANF-WTINFO -- +transferAuthParam OPERATION ::= { -- from Home PINX to Visitor PINX -- + ARGUMENT SEQUENCE { + wtatParamInfo WtatParamInfo, + dummyExtension DummyExtension OPTIONAL} + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local : 77} +WtatParamInfo ::= SEQUENCE {authAlgorithm AuthAlgorithm, + wtatParamInfoChoice CHOICE { + authSessionKeyInfo [ 1 ] IMPLICIT AuthSessionKeyInfo, + calcWtatInfo [ 2 ] IMPLICIT CalcWtatInfo, + authKey [ 3 ] IMPLICIT AuthKey, + challLen [ 4 ] IMPLICIT INTEGER(1..8) } } +AuthKey ::= OCTET STRING (SIZE(1..16)) -- Authentication key -- +WtanParamInfo ::= CHOICE {authSessionKeyInfo [ 1 ] IMPLICIT AuthSessionKeyInfo, + calcWtanInfo [ 2 ] IMPLICIT CalcWtanInfo} +AuthSessionKeyInfo ::= SEQUENCE {authSessionKey AuthSessionKey, + calculationParam CalculationParam} +CalcWtatInfo ::= SEQUENCE SIZE(1..5) OF CalcWtatInfoUnit +CalcWtatInfoUnit ::= SEQUENCE {authChallenge AuthChallenge, + authResponse AuthResponse, + derivedCipherKey [1] IMPLICIT DerivedCipherKey OPTIONAL, + calculationParam [2] IMPLICIT CalculationParam OPTIONAL} + -- included if required by the authentication algorithm in use -- +CalcWtanInfo ::= SEQUENCE {authResponse AuthResponse, + calculationParam CalculationParam OPTIONAL} + -- included if required by the authentication algorithm in use -- +DummyExtension ::= CHOICE {extension [5] IMPLICIT Extension{{WTMAuthExtSet}}, + sequOfExtn [6] IMPLICIT SEQUENCE OF + Extension{{WTMAuthExtSet}} } +AUTH-ALG ::= CLASS { + &id DefinedIDs UNIQUE, + &Type OPTIONAL + } +DefinedIDs ::= INTEGER { ct2 (0), dect (1), gsm (2), pci (3), pwt (4), us-gsm (5), phs (6), tetra (7) } (0..255) +AuthAlgSet AUTH-ALG ::= {...} +AuthAlgorithm ::= SEQUENCE { + authAlg AUTH-ALG.&id({AuthAlgSet}), + param AUTH-ALG.&Type({AuthAlgSet}{@.authAlg}) OPTIONAL + } +AuthChallenge ::= OCTET STRING (SIZE(1..8)) -- Randomly generated parameter -- + +AuthResponse ::= OCTET STRING (SIZE(1..4)) -- WTAT: Expected response value -- + -- WTAN: Response value from network -- +AuthSessionKey ::= OCTET STRING (SIZE(1..16)) -- Authentication session key-- +CalculationParam ::= OCTET STRING (SIZE(1..8)) -- Parameter used when calculating -- + -- the authentication session key from -- + -- the real authentication key. It may be -- + -- transferred to the WTM user during -- + -- both WTAT and WTAN. -- +CanCompute ::= NULL -- indicates capability of computing -- + -- challenge and/or response value -- +DerivedCipherKey ::= OCTET STRING (SIZE(1..8)) -- derived cipher key may be computed -- + -- when computing challenge and -- + -- expected response values-- +WTMAuthExtSet EXTENSION ::= {...} +notAuthorized ERROR ::= {CODE local : 1007 } +paramNotAvailable ERROR ::= {CODE local : 1017 } +temporarilyUnavailable ERROR ::= {CODE local : 1000 } +unspecified ERROR ::={ + PARAMETER Extension{{WTMAuthExtSet}} + CODE local : 1008} +END -- of WTM-Authentication-Operations-asn1-97 diff --git a/asn1/qsig/QSIG-WTMCH.asn b/asn1/qsig/QSIG-WTMCH.asn new file mode 100644 index 0000000000..95cd448ee3 --- /dev/null +++ b/asn1/qsig/QSIG-WTMCH.asn @@ -0,0 +1,140 @@ +-- QSIG-WTMCH.asn +-- +-- Taken from Ecma International +-- Standard ECMA-304, 2nd edition (December 2001) +-- http://www.ecma-international.org/publications/standards/Ecma-304.htm +-- +-- $Id$ +-- + +Wireless-Terminal-Call-Handling-Operations-asn1-97 + { iso (1) standard (0) pss1-wtm-call-handling (15431) operations-asn1-97 (1)} + +DEFINITIONS EXPLICIT TAGS ::= + +BEGIN +IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects + { joint-iso-itu-t remote-operations (4) informationObjects(5) version1(0)} + EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97 + { iso (1) standard (0) + pss1-generic-procedures (11582) msi-class-asn1-97 (11) } + PSS1InformationElement FROM PSS1-generic-parameters-definition-asn1-97 + { iso (1) standard (0) + pss1-generic-procedures (11582) pss1-generic-parameters-asn1-97 (17) } + Name FROM Name-Operations-asn1-97 + { iso (1) standard (0) + pss1-name (13868) name-operations-asn1-97 (1) } + basicServiceNotProvided, invalidServedUserNr, notAvailable FROM + General-Error-List + { ccitt (0) recommendation (0) q 950 general-error-list (1) } + Address, PartyNumber, PartySubaddress, PresentedNumberScreened FROM + Addressing-Data-Elements-asn1-97 + { iso (1) standard (0) pss1-generic-procedures (11582) + addressing-data-elements-asn1-97 (20) }; + +-- Operations for ANF-WTMI: -- + +WTMCH-Operations OPERATION ::= {wtmiEnquiry | wtmiDivert | wtmiInform| wtmoCall} + +wtmiEnquiry OPERATION ::= { + -- Sent from the WTMI-detect PINX to the Home PINX. + ARGUMENT EnquiryArg + RESULT EnquiryRes + ERRORS { invalidServedUserNr | locationNotKnown | + notAvailable | basicServiceNotProvided | unspecified } + CODE local: 54} + +wtmiDivert OPERATION ::= { + -- Sent from the WTMI-detect PINX to the Rerouteing PINX. + ARGUMENT DivertArg + RESULT DummyRes + ERRORS { notAvailable | unspecified } + CODE local: 55} +wtmiInform OPERATION ::= { + -- Sent from the Rerouteing PINX to the Visitor PINX. + ARGUMENT InformArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 56} + +EnquiryArg ::= SEQUENCE { pisnNumber PartyNumber, + -- The PISN number of the WTMI user + qSIGInfoElement PSS1InformationElement, + -- The basic call information elements Bearer capability, High layer compatibility, + -- Low layer compatibility can be embedded in the qSIGInfoElement + -- in accordance with clause 6.5.2.1. + argExtension WtmiExtension OPTIONAL } +DivertArg ::= SEQUENCE { visitPINX PartyNumber, + -- The PISN number of the Visitor PINX, + -- always a Complete Number. + callingNumber PresentedNumberScreened, + wtmIdentity WtmIdentity, + -- The PISN number (always a Complete Number) + -- and/or an alternative identifier of the WTMI user. + qSIGInfoElement PSS1InformationElement, + -- The basic call information elements Bearer capability, High layer compatibility, + -- Low layer compatibility, and Progress indicator + -- can be embedded in the qSIGInfoElement in accordance with clause 6.5.2.1. + callingUserSub [ 1 ] PartySubaddress OPTIONAL, + callingName [ 2 ] Name OPTIONAL, + wtmUserSub [ 3 ] PartySubaddress OPTIONAL, + argExtension WtmiExtension OPTIONAL } +InformArg ::= SEQUENCE { wtmIdentity WtmIdentity, + -- The PISN number (always a Complete Number) + -- and/or an alternative identifier of the WTMI user. + argExtension WtmiExtension OPTIONAL } +EnquiryRes ::= CHOICE { currLocation [ 1 ] IMPLICIT CurrLocation, + cfuActivated [ 2 ] IMPLICIT CfuActivated } +CurrLocation ::= SEQUENCE { visitPINX PartyNumber, + -- The PISN number of the Visitor PINX, + -- always a Complete Number. + wtmIdentity WtmIdentity, + -- The PISN number (always a Complete Number) + -- and/or an alternative identifier of the WTMI user + argExtension WtmiExtension OPTIONAL } + +CfuActivated ::= SEQUENCE { divToAddress Address, + divOptions SubscriptionOption, + wtmName [ 1 ] Name OPTIONAL, + argExtension WtmiExtension OPTIONAL } +SubscriptionOption ::= ENUMERATED { noNotification (0), + notificationWithoutDivertedToNr (1), + notificationWithDivertedToNr (2) } +DummyRes ::= CHOICE { null NULL, + extension [ 1 ] IMPLICIT Extension{{WTMCHExtSet}}, + sequOfExtn [ 2 ] IMPLICIT SEQUENCE OF + Extension{{WTMCHExtSet}} } +WtmiExtension ::= CHOICE { extension [ 4 ] IMPLICIT Extension{{WTMCHExtSet}}, + sequOfExtn [ 5 ] IMPLICIT SEQUENCE OF + Extension{{WTMCHExtSet}} } +WtmIdentity ::= CHOICE { pisnNumber PartyNumber, + alternativeId [ 10 ] IMPLICIT AlternativeId, + both [ 11 ] IMPLICIT SEQUENCE + { pisnNumber PartyNumber, + alternativeId AlternativeId } } +AlternativeId ::= OCTET STRING(SIZE(1..20)) + +-- Operation for ANF-WTMO -- +wtmoCall OPERATION ::= { + ARGUMENT WtmoArg + RETURN RESULT FALSE + ALWAYS RESPONDS FALSE + CODE local: 71} +WtmoArg ::= SEQUENCE { + destinationNumber [0] PartyNumber OPTIONAL, + sendingComplete [1] IMPLICIT NULL OPTIONAL, + extension CHOICE + {single [2] IMPLICIT Extension{{WTMCHExtSet}}, + multiple [3] IMPLICIT SEQUENCE OF + Extension{{WTMCHExtSet}} + } OPTIONAL + } + +WTMCHExtSet EXTENSION ::= {...} + +unspecified ERROR ::= { + PARAMETER Extension{{WTMCHExtSet}} + CODE local: 1008} +locationNotKnown ERROR ::= { CODE local: 1015} + +END -- of Wireless-Terminal-Call-Handling-Operations-asn1-97 diff --git a/asn1/qsig/QSIG-WTMLR.asn b/asn1/qsig/QSIG-WTMLR.asn new file mode 100644 index 0000000000..8fcbe38e1d --- /dev/null +++ b/asn1/qsig/QSIG-WTMLR.asn @@ -0,0 +1,124 @@ +-- QSIG-WTMLT.asn +-- +-- Taken from Ecma International +-- Standard ECMA-302, 2nd edition (December 2001) +-- http://www.ecma-international.org/publications/standards/Ecma-302.htm +-- +-- $Id$ +-- + +WTM-Location-Registration-Operations-asn1-97 + {iso standard pss1-location-registration (15429) wtlr-operations-asn1-97 (1)} + +DEFINITIONS EXPLICIT TAGS ::= + +BEGIN +IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects + {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)} + EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97 + {iso standard + pss1-generic-procedures (11582) msi-class-asn1-97(11)} + notAvailable, invalidServedUserNr + FROM General-Errors-List + {ccitt recommendation q 950 general-error-list (1)} + PartyNumber FROM Addressing-Data-Elements-asn1-97 + {iso(1) standard(0) pss1-generic-procedures(11582) + addressing-data-elements-asn1-97(20)} + BasicService FROM Call-Diversion-Operations-asn1-97 + { iso (1) standard (0) pss1-call-diversion (13873) + call-diversion-operations-asn1-97 (1) }; +WTMLR-Operations OPERATION ::= {locUpdate | locDelete | locDeReg | pisnEnquiry | getRRCInf | locInfoCheck} + +locUpdate OPERATION ::={ + -- Sent from the Visitor PINX to the Home PINX. + ARGUMENT LocUpdArg + RESULT DummyRes + ERRORS { invalidServedUserNr | notAuthorized | unspecified } + CODE local: 50} + +locDelete OPERATION ::= { + -- Sent from the Home PINX to the previous Visitor PINX. + ARGUMENT LocDelArg + RESULT DummyRes + ERRORS { temporarilyUnavailable | unspecified } + CODE local: 51} +locDeReg OPERATION ::= { + -- Sent from the Visitor PINX to the Home PINX. + ARGUMENT LocDeRegArg + RESULT DummyRes + ERRORS { notAvailable | unspecified } + CODE local: 52} +pisnEnquiry OPERATION ::= { + -- Sent from the Visitor PINX to the previous Visitor PINX or a Directory PINX. + ARGUMENT PisnEnqArg + RESULT PisnEnqRes + ERRORS { invalidServedUserNr | unspecified} + CODE local: 53} +getRRCInf OPERATION ::= { + -- Sent from the Visitor PINX to the Home PINX. + ARGUMENT GetRRCInfArg + RESULT GetRRCInfRes + ERRORS { notAvailable | unspecified } + CODE local: 97} +locInfoCheck OPERATION ::= { + -- Sent from the Visitor PINX to the Home PINX or vice versa. + ARGUMENT LocInfoCheckArg + RESULT LocInfoCheckRes + ERRORS { notAvailable | unspecified } + CODE local: 98} +LocUpdArg ::= SEQUENCE { wtmUserId WtmUserId, + basicService BasicService DEFAULT allServices, + visitPINX PartyNumber, + -- The pisnNumber of the Visitor PINX, + -- always a Complete Number. + argExtension LrExtension OPTIONAL } +DummyRes ::= CHOICE { null NULL, + extension [ 1 ] IMPLICIT Extension{{WTMLRExtSet}}, + sequOfExtn [ 2 ] IMPLICIT SEQUENCE OF + Extension{{WTMLRExtSet}} } +LocDelArg ::= SEQUENCE { wtmUserId WtmUserId, + basicService BasicService DEFAULT allServices, + argExtension LrExtension OPTIONAL } +LocDeRegArg ::= SEQUENCE { wtmUserId WtmUserId, + basicService BasicService DEFAULT allServices, + argExtension LrExtension OPTIONAL } + +PisnEnqArg ::= SEQUENCE { alternativeId AlternativeId, + -- Can be a temporary identifier, e.g. Network Assigned + -- Identity structure, or a fixed handset identifier. + argExtension LrExtension OPTIONAL } +PisnEnqRes ::= SEQUENCE { wtmUserId WtmUserId, + resExtension LrExtension OPTIONAL } +GetRRCInfArg ::= SEQUENCE { wtmUserId WtmUserId, + basicService BasicService DEFAULT allServices, + argExtension LrExtension OPTIONAL } +GetRRCInfRes ::= SEQUENCE { alternativeId AlternativeId OPTIONAL, + rrClass RRClass OPTIONAL, + argExtension LrExtension OPTIONAL } +LocInfoCheckArg ::= SEQUENCE { wtmUserId WtmUserId, + basicService BasicService DEFAULT allServices, + visitPINX PartyNumber, + -- The PISN number of the Visitor PINX, + -- always a Complete Number. + argExtension LrExtension OPTIONAL } +LocInfoCheckRes ::= SEQUENCE { checkResult CheckResult, + argExtension LrExtension OPTIONAL } +WtmUserId ::= CHOICE { pisnNumber PartyNumber, + -- The PISN number of the WTM user, + -- always a Complete Number. + alternativeId AlternativeId } +AlternativeId ::= OCTET STRING(SIZE(1..20)) +LrExtension ::= CHOICE { extension [ 1 ] IMPLICIT Extension{{WTMLRExtSet}}, + sequOfExtn [ 2 ] IMPLICIT SEQUENCE OF + Extension{{WTMLRExtSet}} } +RRClass ::= INTEGER (0..99) +CheckResult ::= ENUMERATED { locInfChk-correct (0), + locInfChk-incorrect (1) } +WTMLRExtSet EXTENSION ::= {...} +notAuthorized ERROR ::= {CODE local: 1007} +temporarilyUnavailable ERROR ::= {CODE local: 1000} + +unspecified ERROR ::= { + PARAMETER Extension{{WTMLRExtSet}} + CODE local: 1008} +END -- of WTM-Location-Registration-Operations-asn1-97 diff --git a/asn1/qsig/packet-qsig-template.c b/asn1/qsig/packet-qsig-template.c index 2b6a8e844b..cd1aeb3c4e 100644 --- a/asn1/qsig/packet-qsig-template.c +++ b/asn1/qsig/packet-qsig-template.c @@ -270,140 +270,20 @@ static const gint32 op2srv_tab[] = { }; static const value_string qsig_str_operation[] = { - { 0, "callingName" }, - { 1, "calledName" }, - { 2, "connectedName" }, - { 3, "busyName" }, - { 4, "pathReplacePropose" }, - { 5, "pathReplaceSetup" }, - { 6, "pathReplaceRetain" }, - { 7, "callTransferIdentify" }, - { 8, "callTransferAbandon" }, - { 9, "callTransferInitiate" }, - { 10, "callTransferSetup" }, - { 11, "callTransferActive" }, - { 12, "callTransferComplete" }, - { 13, "callTransferUpdate" }, - { 14, "subaddressTransfer" }, - { 15, "activateDiversionQ" }, - { 16, "deactivateDiversionQ" }, - { 17, "interrogateDiversionQ" }, - { 18, "checkRestriction" }, - { 19, "callRerouteing" }, - { 20, "divertingLegInformation1" }, - { 21, "divertingLegInformation2" }, - { 22, "divertingLegInformation3" }, - { 23, "cfnrDivertedLegFailed" }, -/* 24 Reserved (corresponding integer value used by ISO for MLPP) */ -/* 25 Reserved (corresponding integer value used by ISO for MLPP) */ -/* 26 Reserved (corresponding integer value used by ISO for MLPP) */ - { 27, "ccnrRequest" }, - { 28, "ccCancel" }, - { 29, "ccExecPossible" }, - { 30, "ccPathReserve" }, - { 31, "ccRingout" }, - { 32, "ccSuspend" }, - { 33, "ccResume" }, - { 34, "callOfferRequest" }, - { 35, "doNotDisturbActivateQ" }, - { 36, "doNotDisturbDeactivateQ" }, - { 37, "doNotDisturbInterrogateQ" }, - { 38, "doNotDisturbOverrideQ" }, - { 39, "doNotDisturbOvrExecuteQ" }, - { 40, "ccbsRequest" }, - { 41, "pathRetain" }, /* common for QSIG-CO, QSIG-DND(O), QSIG-CI */ - { 42, "serviceAvailable" }, /* common for QSIG-CO, QSIG-DND(O), QSIG-CI */ - { 43, "callIntrusionRequest" }, - { 44, "callIntrusionGetCIPL" }, - { 45, "callIntrusionIsolate" }, - { 46, "callIntrusionForcedRelease" }, - { 47, "callIntrusionWOBRequest" }, - { 48, "callIntrusionCompleted" }, - { 49, "cfbOverride" }, /* common for QSIG-CO, QSIG-CI */ - { 50, "locUpdate" }, - { 51, "locDelete" }, - { 52, "locDeReg" }, - { 53, "pisnEnquiry" }, - { 54, "wtmiEnquiry" }, - { 55, "wtmiDivert" }, - { 56, "wtmiInform" }, - { 57, "recallAlerting" }, - { 58, "recallAnswered" }, - { 59, "chargeRequest" }, - { 60, "getFinalCharge" }, - { 61, "aocFinal" }, - { 62, "aocInterim" }, - { 63, "aocRate" }, - { 64, "aocComplete" }, - { 65, "aocDivChargeReq" }, - { 66, "cintLegInformation1" }, - { 67, "cintLegInformation2" }, - { 68, "cintCondition" }, - { 69, "cintDisable" }, - { 70, "cintEnable" }, - { 71, "wtmoCall" }, - { 72, "authWtmUser" }, - { 73, "getWtatParam" }, - { 74, "wtatParamEnq" }, - { 75, "getWtanParam" }, - { 76, "wtanParamEnq" }, - { 77, "transferAuthParam" }, - { 78, "synchronizationRequest" }, - { 79, "synchronizationInfo" }, - { 80, "mwiActivate/mCMNewMsg" }, /* common for QSIG-MWI, QSIG-MCM */ - { 81, "mwiDeactivate/mCMNoNewMsg" }, /* common for QSIG-MWI, QSIG-MCM */ - { 82, "mwiInterrogate/mCMUpdateReq" }, /* common for QSIG-MWI, QSIG-MCM */ -/* 83 Reserved (corresponding integer value used by ISO for RRC) ISO/IEC 13241 */ - { 84, "cmnRequest" }, - { 85, "cmnInform" }, - { 86, "pathReplaceInvite" }, - { 87, "callInterruptionRequest" }, - { 88, "callProtectionRequest" }, - { 89, "pumRegistr" }, - { 90, "pumDelReg" }, - { 91, "pumDe-reg" }, - { 92, "pumInterrog" }, - { 93, "pumiEnquiry" }, - { 94, "pumiDivert" }, - { 95, "pumiInform" }, - { 96, "pumoCall" }, - { 97, "getRRCInf" }, - { 98, "locInfoCheck" }, - { 99, "ssctInitiate" }, - { 100, "ssctSetup" }, - { 101, "ssctPostDial" }, - { 102, "ssctDigitInfo" }, - { 103, "display" }, - { 104, "keypad" }, - { 105, "callIdentificationAssign" }, - { 106, "callIdentificationUpdate" }, - { 107, "smsSubmit" }, - { 108, "smsDeliver" }, - { 109, "smsStatusReport" }, - { 110, "smsCommand" }, - { 111, "scAlert" }, - { 112, "mCRequest" }, - { 113, "mCAlerting" }, - { 114, "mCInform" }, - { 115, "mCMUpdate" }, - { 116, "mCMService" }, - { 117, "mCMInterrogate" }, - { 118, "mCMailboxFull" }, - { 119, "mIDMailboxAuth" }, - { 120, "mIDMailboxID" }, +#include "packet-qsig-table10.c" { 0, NULL} }; - -typedef struct _qsig_op_t { - gint32 opcode; - new_dissector_t arg_pdu; - new_dissector_t res_pdu; -} qsig_op_t; +static const value_string qsig_str_error[] = { +#include "packet-qsig-table20.c" + { 0, NULL} +}; + /* Initialize the protocol and registered fields */ int proto_qsig = -1; static int hf_qsig_operation = -1; static int hf_qsig_service = -1; +static int hf_qsig_error = -1; static int hf_qsig_ie_type = -1; static int hf_qsig_ie_type_cs4 = -1; static int hf_qsig_ie_type_cs5 = -1; @@ -439,133 +319,32 @@ static dissector_handle_t data_handle = NULL; #include "packet-qsig-fn.c" -static const qsig_op_t qsig_tab[] = { - /* 0 */ { 0, dissect_NameArg_PDU, NULL }, - /* 1 */ { 1, dissect_NameArg_PDU, NULL }, - /* 2 */ { 2, dissect_NameArg_PDU, NULL }, - /* 3 */ { 3, dissect_NameArg_PDU, NULL }, - /* 4 */ { 4, NULL, NULL }, - /* 5 */ { 5, NULL, NULL }, - /* 6 */ { 6, NULL, NULL }, - /* 7 */ { 7, NULL, NULL }, - /* 8 */ { 8, NULL, NULL }, - /* 9 */ { 9, NULL, NULL }, - /* 10 */ { 10, NULL, NULL }, - /* 11 */ { 11, NULL, NULL }, - /* 12 */ { 12, NULL, NULL }, - /* 13 */ { 13, NULL, NULL }, - /* 14 */ { 14, NULL, NULL }, - /* 15 */ { 15, dissect_ARG_activateDiversionQ_PDU, dissect_RES_activateDiversionQ_PDU }, - /* 16 */ { 16, dissect_ARG_deactivateDiversionQ_PDU, dissect_RES_deactivateDiversionQ_PDU }, - /* 17 */ { 17, dissect_ARG_interrogateDiversionQ_PDU, dissect_IntResultList_PDU }, - /* 18 */ { 18, dissect_ARG_checkRestriction_PDU, dissect_RES_checkRestriction_PDU }, - /* 19 */ { 19, dissect_ARG_callRerouteing_PDU, dissect_RES_callRerouteing_PDU }, - /* 20 */ { 20, dissect_ARG_divertingLegInformation1_PDU, NULL }, - /* 21 */ { 21, dissect_ARG_divertingLegInformation2_PDU, NULL }, - /* 22 */ { 22, dissect_ARG_divertingLegInformation3_PDU, NULL }, - /* 23 */ { 23, dissect_ARG_cfnrDivertedLegFailed_PDU, NULL }, - /* 27 */ { 27, NULL, NULL }, - /* 28 */ { 28, NULL, NULL }, - /* 29 */ { 29, NULL, NULL }, - /* 30 */ { 30, NULL, NULL }, - /* 31 */ { 31, NULL, NULL }, - /* 32 */ { 32, NULL, NULL }, - /* 33 */ { 33, NULL, NULL }, - /* 34 */ { 34, NULL, NULL }, - /* 35 */ { 35, NULL, NULL }, - /* 36 */ { 36, NULL, NULL }, - /* 37 */ { 37, NULL, NULL }, - /* 38 */ { 38, NULL, NULL }, - /* 39 */ { 39, NULL, NULL }, - /* 40 */ { 40, NULL, NULL }, - /* 41 */ { 41, NULL, NULL }, - /* 42 */ { 42, NULL, NULL }, - /* 43 */ { 43, NULL, NULL }, - /* 44 */ { 44, NULL, NULL }, - /* 45 */ { 45, NULL, NULL }, - /* 46 */ { 46, NULL, NULL }, - /* 47 */ { 47, NULL, NULL }, - /* 48 */ { 48, NULL, NULL }, - /* 49 */ { 49, NULL, NULL }, - /* 50 */ { 50, NULL, NULL }, - /* 51 */ { 51, NULL, NULL }, - /* 52 */ { 52, NULL, NULL }, - /* 53 */ { 53, NULL, NULL }, - /* 54 */ { 54, NULL, NULL }, - /* 55 */ { 55, NULL, NULL }, - /* 56 */ { 56, NULL, NULL }, - /* 57 */ { 57, NULL, NULL }, - /* 58 */ { 58, NULL, NULL }, - /* 59 */ { 59, NULL, NULL }, - /* 60 */ { 60, NULL, NULL }, - /* 61 */ { 61, NULL, NULL }, - /* 62 */ { 62, NULL, NULL }, - /* 63 */ { 63, NULL, NULL }, - /* 64 */ { 64, NULL, NULL }, - /* 65 */ { 65, NULL, NULL }, - /* 66 */ { 66, NULL, NULL }, - /* 67 */ { 67, NULL, NULL }, - /* 68 */ { 68, NULL, NULL }, - /* 69 */ { 69, NULL, NULL }, - /* 70 */ { 70, NULL, NULL }, - /* 71 */ { 71, NULL, NULL }, - /* 72 */ { 72, NULL, NULL }, - /* 73 */ { 73, NULL, NULL }, - /* 74 */ { 74, NULL, NULL }, - /* 75 */ { 75, NULL, NULL }, - /* 76 */ { 76, NULL, NULL }, - /* 77 */ { 77, NULL, NULL }, - /* 78 */ { 78, NULL, NULL }, - /* 79 */ { 79, NULL, NULL }, - /* 80 */ { 80, NULL, NULL }, - /* 81 */ { 81, NULL, NULL }, - /* 82 */ { 82, NULL, NULL }, - /* 84 */ { 84, NULL, NULL }, - /* 85 */ { 85, NULL, NULL }, - /* 86 */ { 86, NULL, NULL }, - /* 87 */ { 87, NULL, NULL }, - /* 88 */ { 88, NULL, NULL }, - /* 89 */ { 89, NULL, NULL }, - /* 90 */ { 90, NULL, NULL }, - /* 91 */ { 91, NULL, NULL }, - /* 92 */ { 92, NULL, NULL }, - /* 93 */ { 93, NULL, NULL }, - /* 94 */ { 94, NULL, NULL }, - /* 95 */ { 95, NULL, NULL }, - /* 96 */ { 96, NULL, NULL }, - /* 97 */ { 97, NULL, NULL }, - /* 98 */ { 98, NULL, NULL }, - /* 99 */ { 99, NULL, NULL }, - /* 100 */ { 100, NULL, NULL }, - /* 101 */ { 101, NULL, NULL }, - /* 102 */ { 102, NULL, NULL }, - /* 103 */ { 103, NULL, NULL }, - /* 104 */ { 104, NULL, NULL }, - /* 105 */ { 105, NULL, NULL }, - /* 106 */ { 106, NULL, NULL }, - /* 107 */ { 107, NULL, NULL }, - /* 108 */ { 108, NULL, NULL }, - /* 109 */ { 109, NULL, NULL }, - /* 110 */ { 110, NULL, NULL }, - /* 111 */ { 111, NULL, NULL }, - /* 112 */ { 112, NULL, NULL }, - /* 113 */ { 113, NULL, NULL }, - /* 114 */ { 114, NULL, NULL }, - /* 115 */ { 115, NULL, NULL }, - /* 116 */ { 116, NULL, NULL }, - /* 117 */ { 117, NULL, NULL }, - /* 118 */ { 118, NULL, NULL }, - /* 119 */ { 119, NULL, NULL }, - /* 120 */ { 120, NULL, NULL }, +typedef struct _qsig_op_t { + gint32 opcode; + new_dissector_t arg_pdu; + new_dissector_t res_pdu; +} qsig_op_t; + +static const qsig_op_t qsig_op_tab[] = { +#include "packet-qsig-table11.c" +}; + +typedef struct _qsig_err_t { + gint32 errcode; + new_dissector_t err_pdu; +} qsig_err_t; + +static const qsig_err_t qsig_err_tab[] = { +#include "packet-qsig-table21.c" }; static const qsig_op_t *get_op(gint32 opcode) { int i; /* search from the end to get the last occurence if the operation is redefined in some newer specification */ - for (i = array_length(qsig_tab) - 1; i >= 0; i--) - if (qsig_tab[i].opcode == opcode) - return &qsig_tab[i]; + for (i = array_length(qsig_op_tab) - 1; i >= 0; i--) + if (qsig_op_tab[i].opcode == opcode) + return &qsig_op_tab[i]; return NULL; } @@ -574,6 +353,16 @@ static gint32 get_service(gint32 opcode) { return NO_SRV; return op2srv_tab[opcode]; } + +static const qsig_err_t *get_err(gint32 errcode) { + int i; + + /* search from the end to get the last occurence if the operation is redefined in some newer specification */ + for (i = array_length(qsig_err_tab) - 1; i >= 0; i--) + if (qsig_err_tab[i].errcode == errcode) + return &qsig_err_tab[i]; + return NULL; +} /*--- dissect_qsig_arg ------------------------------------------------------*/ static int @@ -677,6 +466,52 @@ dissect_qsig_res(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { return offset; } +/*--- dissect_qsig_err ------------------------------------------------------*/ +static int +dissect_qsig_err(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { + int offset; + rose_ctx_t *rctx; + gint32 errcode; + const qsig_err_t *err_ptr; + const gchar *p; + proto_item *ti; + proto_tree *qsig_tree; + + offset = 0; + rctx = get_rose_ctx(pinfo->private_data); + DISSECTOR_ASSERT(rctx); + if (rctx->d.pdu != 3) /* returnError */ + return offset; + if (rctx->d.code != 0) /* local */ + return offset; + errcode = rctx->d.code_local; + err_ptr = get_err(errcode); + if (!err_ptr) + return offset; + + ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, tvb_length(tvb), FALSE); + qsig_tree = proto_item_add_subtree(ti, ett_qsig); + + proto_tree_add_uint(qsig_tree, hf_qsig_error, tvb, 0, 0, errcode); + p = match_strval(errcode, VALS(qsig_str_error)); + if (p) { + proto_item_append_text(ti, ": %s", p); + proto_item_append_text(rctx->d.code_item, " - %s", p); + if (rctx->apdu_depth >= 0) + proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p); + } + + if (err_ptr->err_pdu) + offset = err_ptr->err_pdu(tvb, pinfo, qsig_tree); + else + if (tvb_length_remaining(tvb, offset) > 0) { + proto_tree_add_text(qsig_tree, tvb, offset, -1, "UNSUPPORTED ERROR TYPE (QSIG)"); + offset += tvb_length_remaining(tvb, offset); + } + + return offset; +} + /*--- dissect_qsig_transit_counter_ie ---------------------------------------*/ static int dissect_qsig_transit_counter_ie(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int length _U_) { @@ -751,6 +586,9 @@ void proto_register_qsig(void) { { &hf_qsig_service, { "Service", "qsig.service", FT_UINT8, BASE_DEC, VALS(qsig_str_service), 0x0, "Supplementary Service", HFILL }}, + { &hf_qsig_error, { "Error", "qsig.error", + FT_UINT8, BASE_DEC, VALS(qsig_str_error), 0x0, + "Error", HFILL }}, { &hf_qsig_ie_type, { "Type", "qsig.ie.type", FT_UINT8, BASE_HEX, NULL, 0x0, "Information Element Type", HFILL }}, @@ -797,17 +635,20 @@ void proto_reg_handoff_qsig(void) { int i; dissector_handle_t qsig_arg_handle; dissector_handle_t qsig_res_handle; + dissector_handle_t qsig_err_handle; dissector_handle_t qsig_ie_handle; data_handle = find_dissector("data"); - if (find_dissector_table("q932.ros.local.arg")) { - qsig_arg_handle = new_create_dissector_handle(dissect_qsig_arg, proto_qsig); - qsig_res_handle = new_create_dissector_handle(dissect_qsig_res, proto_qsig); - for (i=0; i<(int)array_length(qsig_tab); i++) { - dissector_add("q932.ros.local.arg", qsig_tab[i].opcode, qsig_arg_handle); - dissector_add("q932.ros.local.res", qsig_tab[i].opcode, qsig_res_handle); - } + qsig_arg_handle = new_create_dissector_handle(dissect_qsig_arg, proto_qsig); + qsig_res_handle = new_create_dissector_handle(dissect_qsig_res, proto_qsig); + for (i=0; i<(int)array_length(qsig_op_tab); i++) { + dissector_add("q932.ros.local.arg", qsig_op_tab[i].opcode, qsig_arg_handle); + dissector_add("q932.ros.local.res", qsig_op_tab[i].opcode, qsig_res_handle); + } + qsig_err_handle = new_create_dissector_handle(dissect_qsig_err, proto_qsig); + for (i=0; i<(int)array_length(qsig_err_tab); i++) { + dissector_add("q932.ros.local.err", qsig_err_tab[i].errcode, qsig_err_handle); } qsig_ie_handle = create_dissector_handle(dissect_qsig_ie_cs4, proto_qsig); diff --git a/asn1/qsig/qsig-exp.cnf b/asn1/qsig/qsig-exp.cnf index 43b45ee757..90c7531cd1 100644 --- a/asn1/qsig/qsig-exp.cnf +++ b/asn1/qsig/qsig-exp.cnf @@ -1,14 +1,33 @@ # Do not modify this file. # It is created automatically by the ASN.1 to Wireshark dissector compiler # .\qsig-exp.cnf -# ../../tools/asn2wrs.py -b -T -X -e -p qsig -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn qsig-na.asn qsig-cf.asn +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- #.MODULE Manufacturer-specific-service-extension-class-asn1-97 qsig PSS1-generic-parameters-definition-asn1-97 qsig Addressing-Data-Elements-asn1-97 qsig -Name-Operations-asn1-97 qsig -Call-Diversion-Operations-asn1-97 qsig +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module Name-Operations-asn1-97 --- --- --- + +#.MODULE +Name-Operations-asn1-97 qsig.na #.END #.IMPORT_TAG @@ -16,6 +35,438 @@ Name BER_CLASS_ANY/*choice*/ -1/*choice*/ #.END #.TYPE_ATTR -Name TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(qsig_Name_vals) BITMASK = 0 +Name TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(qsig_na_Name_vals) BITMASK = 0 +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module Call-Diversion-Operations-asn1-97 --- --- --- + +#.MODULE +Call-Diversion-Operations-asn1-97 qsig.cf +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module Path-Replacement-Operations-asn1-97 --- --- --- + +#.MODULE +Path-Replacement-Operations-asn1-97 qsig.pr +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module Call-Transfer-Operations-asn1-97 --- --- --- + +#.MODULE +Call-Transfer-Operations-asn1-97 qsig.ct +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module SS-CC-Operations-asn1-97 --- --- --- + +#.MODULE +SS-CC-Operations-asn1-97 qsig.cc +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module Call-Offer-Operations-asn1-97 --- --- --- + +#.MODULE +Call-Offer-Operations-asn1-97 qsig.co +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module Do-Not-Disturb-Operations-asn1-97 --- --- --- + +#.MODULE +Do-Not-Disturb-Operations-asn1-97 qsig.dnd +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module Call-Intrusion-Operations-asn1-97 --- --- --- + +#.MODULE +Call-Intrusion-Operations-asn1-97 qsig.ci +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module SS-AOC-Operations-asn1-97 --- --- --- + +#.MODULE +SS-AOC-Operations-asn1-97 qsig.aoc +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module Recall-Operations-asn1-97 --- --- --- + +#.MODULE +Recall-Operations-asn1-97 qsig.re +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module Call-Interception-Operations-asn1-97 --- --- --- + +#.MODULE +Call-Interception-Operations-asn1-97 qsig.cint +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module Common-Information-Operations-asn1-97 --- --- --- + +#.MODULE +Common-Information-Operations-asn1-97 qsig.cmn +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module Call-Interruption-Operations-asn1-97 --- --- --- + +#.MODULE +Call-Interruption-Operations-asn1-97 qsig.cpi +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module PUM-Registration-Operations-asn1-97 --- --- --- + +#.MODULE +PUM-Registration-Operations-asn1-97 qsig.pumr +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- + +#.MODULE +Private-User-Mobility-Call-Handling-Operations-asn1-97 qsig.pumch +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- --- + +#.MODULE +Single-Step-Call-Transfer-Operations-asn1-97 qsig.ssct +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module WTM-Location-Registration-Operations-asn1-97 --- --- --- + +#.MODULE +WTM-Location-Registration-Operations-asn1-97 qsig.wtmlr +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- --- + +#.MODULE +Wireless-Terminal-Call-Handling-Operations-asn1-97 qsig.wtmch +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module WTM-Authentication-Operations-asn1-97 --- --- --- + +#.MODULE +WTM-Authentication-Operations-asn1-97 qsig.wtmau +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module SS-SD-Operations-asn1-97 --- --- --- + +#.MODULE +SS-SD-Operations-asn1-97 qsig.sd +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- + +#.MODULE +Call-Identification-and-Call-Linkage-Operations-asn1-97 qsig.cidl +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module Short-Message-Service-Operations-asn1-97 --- --- --- + +#.MODULE +Short-Message-Service-Operations-asn1-97 qsig.sms +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module SS-MCR-Operations-asn97 --- --- --- + +#.MODULE +SS-MCR-Operations-asn97 qsig.mcr +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module SS-MCM-Operations-asn1-97 --- --- --- + +#.MODULE +SS-MCM-Operations-asn1-97 qsig.mcm +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR +#.END + +# Do not modify this file. +# It is created automatically by the ASN.1 to Wireshark dissector compiler +# .\qsig-exp.cnf +# ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn + + +# --- Module SS-MID-Operations-asn1-97 --- --- --- + +#.MODULE +SS-MID-Operations-asn1-97 qsig.mid +#.END + +#.IMPORT_TAG +#.END + +#.TYPE_ATTR #.END diff --git a/asn1/qsig/qsig-gf-ade.asn b/asn1/qsig/qsig-gf-ade.asn index 96c1090c1c..98a8d451db 100644 --- a/asn1/qsig/qsig-gf-ade.asn +++ b/asn1/qsig/qsig-gf-ade.asn @@ -1,8 +1,10 @@ --- QSIG-GF-EXT.asn +-- QSIG-GF-ADE.asn -- -- Taken from Ecma International -- http://www.ecma-international.org/publications/standards/Ecma-165.htm -- +-- B.1 Addressing information +-- -- $Id$ -- diff --git a/asn1/qsig/qsig-gf-ext.asn b/asn1/qsig/qsig-gf-ext.asn index 2aab19d4a3..57fa783707 100644 --- a/asn1/qsig/qsig-gf-ext.asn +++ b/asn1/qsig/qsig-gf-ext.asn @@ -3,6 +3,8 @@ -- Taken from Ecma International -- http://www.ecma-international.org/publications/standards/Ecma-165.htm -- +-- 9.2 Manufacturer specific additions to standardised operations +-- -- $Id$ -- diff --git a/asn1/qsig/qsig-gf-gp.asn b/asn1/qsig/qsig-gf-gp.asn index 12f881a2de..2ed4ad679d 100644 --- a/asn1/qsig/qsig-gf-gp.asn +++ b/asn1/qsig/qsig-gf-gp.asn @@ -3,6 +3,8 @@ -- Taken from Ecma International -- http://www.ecma-international.org/publications/standards/Ecma-165.htm -- +-- B.3 PSS1InformationElement +-- -- $Id$ -- diff --git a/asn1/qsig/qsig.cnf b/asn1/qsig/qsig.cnf index 4048878dfc..73f8546330 100644 --- a/asn1/qsig/qsig.cnf +++ b/asn1/qsig/qsig.cnf @@ -4,15 +4,54 @@ # $Id$ +#.OPT +BER +-T +-X +GROUP_BY_PROT +-o qsig +#.END #.EXPORTS EXTERN VALS_WITH_TABLE Name +#.MODULE +Addressing-Data-Elements-asn1-97 qsig +Manufacturer-specific-service-extension-class-asn1-97 qsig +PSS1-generic-parameters-definition-asn1-97 qsig + +Name-Operations-asn1-97 qsig.na +Call-Diversion-Operations-asn1-97 qsig.cf +Path-Replacement-Operations-asn1-97 qsig.pr +Call-Transfer-Operations-asn1-97 qsig.ct +SS-CC-Operations-asn1-97 qsig.cc +Call-Offer-Operations-asn1-97 qsig.co +Do-Not-Disturb-Operations-asn1-97 qsig.dnd +Call-Intrusion-Operations-asn1-97 qsig.ci +SS-AOC-Operations-asn1-97 qsig.aoc +Recall-Operations-asn1-97 qsig.re +Call-Interception-Operations-asn1-97 qsig.cint +Common-Information-Operations-asn1-97 qsig.cmn +Call-Interruption-Operations-asn1-97 qsig.cpi +PUM-Registration-Operations-asn1-97 qsig.pumr +Private-User-Mobility-Call-Handling-Operations-asn1-97 qsig.pumch +Single-Step-Call-Transfer-Operations-asn1-97 qsig.ssct +WTM-Location-Registration-Operations-asn1-97 qsig.wtmlr +Wireless-Terminal-Call-Handling-Operations-asn1-97 qsig.wtmch +WTM-Authentication-Operations-asn1-97 qsig.wtmau +SS-SD-Operations-asn1-97 qsig.sd +Call-Identification-and-Call-Linkage-Operations-asn1-97 qsig.cidl +Short-Message-Service-Operations-asn1-97 qsig.sms +SS-MCR-Operations-asn97 qsig.mcr +SS-MCM-Operations-asn1-97 qsig.mcm +SS-MID-Operations-asn1-97 qsig.mid + #.PDU_NEW OPERATION.&ArgumentType OPERATION.&ResultType +ERROR.&ParameterType #.END @@ -49,3 +88,23 @@ NameData TYPE = FT_STRING DISPLAY = BASE_NONE #.FN_BODY Extension/extensionArgument #.END + +#.FN_BODY AuthAlgorithm/param + +#.END + +#.TABLE10_BODY OPERATION + { %(&operationCode)3s, "%(_name)s" }, +#.END + +#.TABLE11_BODY OPERATION + /* %(_name)-24s */ { %(&operationCode)3s, %(_argument_pdu)s, %(_result_pdu)s }, +#.END + +#.TABLE20_BODY ERROR + { %(&errorCode)4s, "%(_name)s" }, +#.END + +#.TABLE21_BODY ERROR + /* %(_name)-24s */ { %(&errorCode)4s, %(_parameter_pdu)s }, +#.END |