From 7a23af3323edd235873e5fc3bc8d7ea36a8db40d Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Mon, 7 Feb 2011 21:24:26 +0100 Subject: [PATCH] add erlang MAP code (from OTP) --- COPYING | 661 +++++ asn1/DialoguePDUs.asn | 80 + asn1/MAP-ApplicationContexts.asn | 186 ++ asn1/MAP-BS-Code.asn | 126 + asn1/MAP-CH-DataTypes.asn | 438 +++ asn1/MAP-CallHandlingOperations.asn | 198 ++ asn1/MAP-CommonDataTypes.asn | 612 ++++ asn1/MAP-DialogueInformation.asn | 149 + asn1/MAP-ER-DataTypes.asn | 405 +++ asn1/MAP-Errors.asn | 507 ++++ asn1/MAP-ExtensionDataTypes.asn | 65 + asn1/MAP-GR-DataTypes.asn | 122 + asn1/MAP-Group-Call-Operations.asn | 72 + asn1/MAP-LCS-DataTypes.asn | 533 ++++ asn1/MAP-LocationServiceOperations.asn | 103 + asn1/MAP-MS-DataTypes.asn | 2458 +++++++++++++++++ asn1/MAP-MobileServiceOperations.asn | 506 ++++ asn1/MAP-OM-DataTypes.asn | 62 + .../MAP-OperationAndMaintenanceOperations.asn | 91 + asn1/MAP-Protocol.asn | 176 ++ asn1/MAP-SM-DataTypes.asn | 217 ++ asn1/MAP-SS-Code.asn | 183 ++ asn1/MAP-SS-DataTypes.asn | 337 +++ asn1/MAP-ST-DataTypes.asn | 98 + asn1/MAP-SecureTransportOperations.asn | 78 + asn1/MAP-ShortMessageServiceOperations.asn | 155 ++ asn1/MAP-SupplementaryServiceOperations.asn | 295 ++ asn1/MAP-TS-Code.asn | 87 + asn1/MobileDomainDefinitions.asn | 38 + asn1/Remote-Operations-Generic-ROS-PDUs.asn | 167 ++ .../Remote-Operations-Information-Objects.asn | 127 + asn1/Remote-Operations-Useful-Definitions.asn | 99 + asn1/TC-Notation-Extensions.asn | 87 + asn1/TCAP-Examples.asn | 72 + asn1/TCAP-Tools.asn | 47 + asn1/TCAPMessages.asn | 149 + asn1/UnidialoguePDUs.asn | 26 + asn1/map.set.asn1 | 36 + ebin/osmo_er_map.app | 10 + include/.empty | 0 rebar.config | 1 + src/.empty | 0 42 files changed, 9859 insertions(+) create mode 100644 COPYING create mode 100644 asn1/DialoguePDUs.asn create mode 100644 asn1/MAP-ApplicationContexts.asn create mode 100644 asn1/MAP-BS-Code.asn create mode 100644 asn1/MAP-CH-DataTypes.asn create mode 100644 asn1/MAP-CallHandlingOperations.asn create mode 100644 asn1/MAP-CommonDataTypes.asn create mode 100644 asn1/MAP-DialogueInformation.asn create mode 100644 asn1/MAP-ER-DataTypes.asn create mode 100644 asn1/MAP-Errors.asn create mode 100644 asn1/MAP-ExtensionDataTypes.asn create mode 100644 asn1/MAP-GR-DataTypes.asn create mode 100644 asn1/MAP-Group-Call-Operations.asn create mode 100644 asn1/MAP-LCS-DataTypes.asn create mode 100644 asn1/MAP-LocationServiceOperations.asn create mode 100644 asn1/MAP-MS-DataTypes.asn create mode 100644 asn1/MAP-MobileServiceOperations.asn create mode 100644 asn1/MAP-OM-DataTypes.asn create mode 100644 asn1/MAP-OperationAndMaintenanceOperations.asn create mode 100644 asn1/MAP-Protocol.asn create mode 100644 asn1/MAP-SM-DataTypes.asn create mode 100644 asn1/MAP-SS-Code.asn create mode 100644 asn1/MAP-SS-DataTypes.asn create mode 100644 asn1/MAP-ST-DataTypes.asn create mode 100644 asn1/MAP-SecureTransportOperations.asn create mode 100644 asn1/MAP-ShortMessageServiceOperations.asn create mode 100644 asn1/MAP-SupplementaryServiceOperations.asn create mode 100644 asn1/MAP-TS-Code.asn create mode 100644 asn1/MobileDomainDefinitions.asn create mode 100644 asn1/Remote-Operations-Generic-ROS-PDUs.asn create mode 100644 asn1/Remote-Operations-Information-Objects.asn create mode 100644 asn1/Remote-Operations-Useful-Definitions.asn create mode 100644 asn1/TC-Notation-Extensions.asn create mode 100644 asn1/TCAP-Examples.asn create mode 100644 asn1/TCAP-Tools.asn create mode 100644 asn1/TCAPMessages.asn create mode 100644 asn1/UnidialoguePDUs.asn create mode 100644 asn1/map.set.asn1 create mode 100644 ebin/osmo_er_map.app create mode 100644 include/.empty create mode 100644 rebar.config create mode 100644 src/.empty diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..dba13ed --- /dev/null +++ b/COPYING @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. diff --git a/asn1/DialoguePDUs.asn b/asn1/DialoguePDUs.asn new file mode 100644 index 0000000..541dc55 --- /dev/null +++ b/asn1/DialoguePDUs.asn @@ -0,0 +1,80 @@ +-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +-- Module DialoguePDUs (Q.773:06/1997) +DialoguePDUs {itu-t recommendation q 773 modules(2) dialoguePDUs(2) version1(1)} +DEFINITIONS ::= +BEGIN + +EXPORTS dialogue-as-id, DialoguePDU; + +-- abstract syntax name for structured dialogue APDUs +dialogue-as-id OBJECT IDENTIFIER ::= + {itu-t recommendation q 773 as(1) dialogue-as(1) version1(1)} + +DialoguePDU ::= CHOICE { + dialogueRequest AARQ-apdu, + dialogueResponse AARE-apdu, + dialogueAbort ABRT-apdu +} + +AARQ-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE { + protocol-version + [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1}, + application-context-name [1] OBJECT IDENTIFIER, + user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL +} + +AARE-apdu ::= [APPLICATION 1] IMPLICIT SEQUENCE { + protocol-version + [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1}, + application-context-name [1] OBJECT IDENTIFIER, + result [2] Associate-result, + result-source-diagnostic [3] Associate-source-diagnostic, + user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL +} + +-- RLRQ PDU is currently not used. +-- It is included for completeness only. +RLRQ-apdu ::= [APPLICATION 2] IMPLICIT SEQUENCE { + reason [0] IMPLICIT Release-request-reason OPTIONAL, + user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL +} + +-- RLRE PDU is currently not used. +-- It is included for completeness only +RLRE-apdu ::= [APPLICATION 3] IMPLICIT SEQUENCE { + reason [0] IMPLICIT Release-response-reason OPTIONAL, + user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL +} + +ABRT-apdu ::= [APPLICATION 4] IMPLICIT SEQUENCE { + abort-source [0] IMPLICIT ABRT-source, + user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL +} + +ABRT-source ::= INTEGER {dialogue-service-user(0), dialogue-service-provider(1) +} + +Associate-result ::= INTEGER {accepted(0), reject-permanent(1)} + +Associate-source-diagnostic ::= CHOICE { + dialogue-service-user + [1] INTEGER {null(0), no-reason-given(1), + application-context-name-not-supported(2)}, + dialogue-service-provider + [2] INTEGER {null(0), no-reason-given(1), no-common-dialogue-portion(2)} +} + +-- Release-request-reason is currently not used. +-- It is included for completeness only. +Release-request-reason ::= INTEGER {normal(0), urgent(1), user-defined(30) +} + +-- Release-response-reason is currently not used. +-- It is included for completeness only. +Release-response-reason ::= INTEGER { + normal(0), not-finished(1), user-defined(30)} + +END -- DialoguePDUs + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/asn1/MAP-ApplicationContexts.asn b/asn1/MAP-ApplicationContexts.asn new file mode 100644 index 0000000..26367c8 --- /dev/null +++ b/asn1/MAP-ApplicationContexts.asn @@ -0,0 +1,186 @@ +MAP-ApplicationContexts { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ApplicationContexts (2) version9 (9)} + +DEFINITIONS + +::= + +BEGIN + + +-- EXPORTS everything + + +IMPORTS + gsm-NetworkId, + ac-Id +FROM MobileDomainDefinitions { + itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) + mobileDomainDefinitions (0) version1 (1)} +; + +-- application-context-names + +map-ac OBJECT IDENTIFIER ::= {gsm-NetworkId ac-Id} + +networkLocUpContext-v3 OBJECT IDENTIFIER ::= + {map-ac networkLocUp(1) version3(3)} + +locationCancellationContext-v3 OBJECT IDENTIFIER ::= + {map-ac locationCancel(2) version3(3)} + +roamingNumberEnquiryContext-v3 OBJECT IDENTIFIER ::= + {map-ac roamingNbEnquiry(3) version3(3)} + +authenticationFailureReportContext-v3 OBJECT IDENTIFIER ::= + {map-ac authenticationFailureReport(39) version3(3)} + +locationInfoRetrievalContext-v3 OBJECT IDENTIFIER ::= + {map-ac locInfoRetrieval(5) version3(3)} + +resetContext-v2 OBJECT IDENTIFIER ::= + {map-ac reset(10) version2(2)} + +handoverControlContext-v3 OBJECT IDENTIFIER ::= + {map-ac handoverControl(11) version3(3)} + +equipmentMngtContext-v3 OBJECT IDENTIFIER ::= + {map-ac equipmentMngt(13) version3(3)} + +infoRetrievalContext-v3 OBJECT IDENTIFIER ::= + {map-ac infoRetrieval(14) version3(3)} + +interVlrInfoRetrievalContext-v3 OBJECT IDENTIFIER ::= + {map-ac interVlrInfoRetrieval(15) version3(3)} + +subscriberDataMngtContext-v3 OBJECT IDENTIFIER ::= + {map-ac subscriberDataMngt(16) version3(3)} + +tracingContext-v3 OBJECT IDENTIFIER ::= + {map-ac tracing(17) version3(3)} + +networkFunctionalSsContext-v2 OBJECT IDENTIFIER ::= + {map-ac networkFunctionalSs(18) version2(2)} + +networkUnstructuredSsContext-v2 OBJECT IDENTIFIER ::= + {map-ac networkUnstructuredSs(19) version2(2)} + +shortMsgGatewayContext-v3 OBJECT IDENTIFIER ::= + {map-ac shortMsgGateway(20) version3(3)} + +shortMsgMO-RelayContext-v3 OBJECT IDENTIFIER ::= + {map-ac shortMsgMO-Relay(21) version3(3)} + +shortMsgAlertContext-v2 OBJECT IDENTIFIER ::= + {map-ac shortMsgAlert(23) version2(2)} + +mwdMngtContext-v3 OBJECT IDENTIFIER ::= + {map-ac mwdMngt(24) version3(3)} + +shortMsgMT-RelayContext-v3 OBJECT IDENTIFIER ::= + {map-ac shortMsgMT-Relay(25) version3(3)} + +imsiRetrievalContext-v2 OBJECT IDENTIFIER ::= + {map-ac imsiRetrieval(26) version2(2)} + +msPurgingContext-v3 OBJECT IDENTIFIER ::= + {map-ac msPurging(27) version3(3)} + +subscriberInfoEnquiryContext-v3 OBJECT IDENTIFIER ::= + {map-ac subscriberInfoEnquiry(28) version3(3)} + +anyTimeInfoEnquiryContext-v3 OBJECT IDENTIFIER ::= + {map-ac anyTimeInfoEnquiry(29) version3(3)} + +callControlTransferContext-v4 OBJECT IDENTIFIER ::= + {map-ac callControlTransfer(6) version4(4)} + +ss-InvocationNotificationContext-v3 OBJECT IDENTIFIER ::= + {map-ac ss-InvocationNotification(36) version3(3)} + +groupCallControlContext-v3 OBJECT IDENTIFIER ::= + {map-ac groupCallControl(31) version3(3)} + +gprsLocationUpdateContext-v3 OBJECT IDENTIFIER ::= + {map-ac gprsLocationUpdate(32) version3(3)} + +gprsLocationInfoRetrievalContext-v4 OBJECT IDENTIFIER ::= + {map-ac gprsLocationInfoRetrieval(33) version4(4)} + +failureReportContext-v3 OBJECT IDENTIFIER ::= + {map-ac failureReport(34) version3(3)} + +gprsNotifyContext-v3 OBJECT IDENTIFIER ::= + {map-ac gprsNotify(35) version3(3)} + +reportingContext-v3 OBJECT IDENTIFIER ::= + {map-ac reporting(7) version3(3)} + +callCompletionContext-v3 OBJECT IDENTIFIER ::= + {map-ac callCompletion(8) version3(3)} + +istAlertingContext-v3 OBJECT IDENTIFIER ::= + {map-ac istAlerting(4) version3(3)} + +serviceTerminationContext-v3 OBJECT IDENTIFIER ::= + {map-ac immediateTermination(9) version3(3)} + +locationSvcGatewayContext-v3 OBJECT IDENTIFIER ::= + {map-ac locationSvcGateway(37) version3(3)} + +locationSvcEnquiryContext-v3 OBJECT IDENTIFIER ::= + {map-ac locationSvcEnquiry(38) version3(3)} + +mm-EventReportingContext-v3 OBJECT IDENTIFIER ::= + {map-ac mm-EventReporting(42) version3(3)} + +anyTimeInfoHandlingContext-v3 OBJECT IDENTIFIER ::= + {map-ac anyTimeInfoHandling(43) version3(3)} + +subscriberDataModificationNotificationContext-v3 OBJECT IDENTIFIER ::= + {map-ac subscriberDataModificationNotification(22) version3(3)} + +secureTransportHandlingContext-v3 OBJECT IDENTIFIER ::= + {map-ac secureTransportHandling(40) version3(3)} + +-- The following Object Identifiers are reserved for application-contexts +-- existing in previous versions of the protocol + +-- AC Name & Version Object Identifier +-- +-- networkLocUpContext-v1 map-ac networkLocUp (1) version1 (1) +-- networkLocUpContext-v2 map-ac networkLocUp (1) version2 (2) +-- locationCancellationContext-v1 map-ac locationCancellation (2) version1 (1) +-- locationCancellationContext-v2 map-ac locationCancellation (2) version2 (2) +-- roamingNumberEnquiryContext-v1 map-ac roamingNumberEnquiry (3) version1 (1) +-- roamingNumberEnquiryContext-v2 map-ac roamingNumberEnquiry (3) version2 (2) +-- locationInfoRetrievalContext-v1 map-ac locationInfoRetrieval (5) version1 (1) +-- locationInfoRetrievalContext-v2 map-ac locationInfoRetrieval (5) version2 (2) +-- resetContext-v1 map-ac reset (10) version1 (1) +-- handoverControlContext-v1 map-ac handoverControl (11) version1 (1) +-- handoverControlContext-v2 map-ac handoverControl (11) version2 (2) +-- sIWFSAllocationContext-v3 map-ac sIWFSAllocation (12) version3 (3) +-- equipmentMngtContext-v1 map-ac equipmentMngt (13) version1 (1) +-- equipmentMngtContext-v2 map-ac equipmentMngt (13) version2 (2) +-- infoRetrievalContext-v1 map-ac infoRetrieval (14) version1 (1) +-- infoRetrievalContext-v2 map-ac infoRetrieval (14) version2 (2) +-- interVlrInfoRetrievalContext-v2 map-ac interVlrInfoRetrieval (15) version2 (2) +-- subscriberDataMngtContext-v1 map-ac subscriberDataMngt (16) version1 (1) +-- subscriberDataMngtContext-v2 map-ac subscriberDataMngt (16) version2 (2) +-- tracingContext-v1 map-ac tracing (17) version1 (1) +-- tracingContext-v2 map-ac tracing (17) version2 (2) +-- networkFunctionalSsContext-v1 map-ac networkFunctionalSs (18) version1 (1) +-- shortMsgGatewayContext-v1 map-ac shortMsgGateway (20) version1 (1) +-- shortMsgGatewayContext-v2 map-ac shortMsgGateway (20) version2 (2) +-- shortMsgRelayContext-v1 map-ac shortMsgRelay (21) version1 (1) +-- shortMsgAlertContext-v1 map-ac shortMsgAlert (23) version1 (1) +-- mwdMngtContext-v1 map-ac mwdMngt (24) version1 (1) +-- mwdMngtContext-v2 map-ac mwdMngt (24) version2 (2) +-- shortMsgMT-RelayContext-v2 map-ac shortMsgMT-Relay (25) version2 (2) +-- msPurgingContext-v2 map-ac msPurging (27) version2 (2) +-- callControlTransferContext-v3 map-ac callControlTransferContext (6) version3 (3) +-- gprsLocationInfoRetrievalContext-v3 map-ac gprsLocationInfoRetrievalContext (33) version3 (3) + + +END diff --git a/asn1/MAP-BS-Code.asn b/asn1/MAP-BS-Code.asn new file mode 100644 index 0000000..d125010 --- /dev/null +++ b/asn1/MAP-BS-Code.asn @@ -0,0 +1,126 @@ +MAP-BS-Code { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-BS-Code (20) version9 (9)} + +DEFINITIONS + +::= + +BEGIN + +BearerServiceCode ::= OCTET STRING (SIZE (1)) + -- This type is used to represent the code identifying a single + -- bearer service, a group of bearer services, or all bearer + -- services. The services are defined in TS 3GPP TS 22.002 [3]. + -- The internal structure is defined as follows: + -- + -- plmn-specific bearer services: + -- bits 87654321: defined by the HPLMN operator + + -- rest of bearer services: + -- bit 8: 0 (unused) + -- bits 7654321: group (bits 7654), and rate, if applicable + -- (bits 321) + +Ext-BearerServiceCode ::= OCTET STRING (SIZE (1..5)) + -- This type is used to represent the code identifying a single + -- bearer service, a group of bearer services, or all bearer + -- services. The services are defined in TS 3GPP TS 22.002 [3]. + -- The internal structure is defined as follows: + -- + -- OCTET 1: + -- plmn-specific bearer services: + -- bits 87654321: defined by the HPLMN operator + -- + -- rest of bearer services: + -- bit 8: 0 (unused) + -- bits 7654321: group (bits 7654), and rate, if applicable + -- (bits 321) + + -- OCTETS 2-5: reserved for future use. If received the + -- Ext-TeleserviceCode shall be + -- treated according to the exception handling defined for the + -- operation that uses this type. + + + -- Ext-BearerServiceCode includes all values defined for BearerServiceCode. + +allBearerServices BearerServiceCode ::= '00000000'B + +allDataCDA-Services BearerServiceCode ::= '00010000'B +dataCDA-300bps BearerServiceCode ::= '00010001'B +dataCDA-1200bps BearerServiceCode ::= '00010010'B +dataCDA-1200-75bps BearerServiceCode ::= '00010011'B +dataCDA-2400bps BearerServiceCode ::= '00010100'B +dataCDA-4800bps BearerServiceCode ::= '00010101'B +dataCDA-9600bps BearerServiceCode ::= '00010110'B +general-dataCDA BearerServiceCode ::= '00010111'B + +allDataCDS-Services BearerServiceCode ::= '00011000'B +dataCDS-1200bps BearerServiceCode ::= '00011010'B +dataCDS-2400bps BearerServiceCode ::= '00011100'B +dataCDS-4800bps BearerServiceCode ::= '00011101'B +dataCDS-9600bps BearerServiceCode ::= '00011110'B +general-dataCDS BearerServiceCode ::= '00011111'B + +allPadAccessCA-Services BearerServiceCode ::= '00100000'B +padAccessCA-300bps BearerServiceCode ::= '00100001'B +padAccessCA-1200bps BearerServiceCode ::= '00100010'B +padAccessCA-1200-75bps BearerServiceCode ::= '00100011'B +padAccessCA-2400bps BearerServiceCode ::= '00100100'B +padAccessCA-4800bps BearerServiceCode ::= '00100101'B +padAccessCA-9600bps BearerServiceCode ::= '00100110'B +general-padAccessCA BearerServiceCode ::= '00100111'B + +allDataPDS-Services BearerServiceCode ::= '00101000'B +dataPDS-2400bps BearerServiceCode ::= '00101100'B +dataPDS-4800bps BearerServiceCode ::= '00101101'B +dataPDS-9600bps BearerServiceCode ::= '00101110'B +general-dataPDS BearerServiceCode ::= '00101111'B + +allAlternateSpeech-DataCDA BearerServiceCode ::= '00110000'B + +allAlternateSpeech-DataCDS BearerServiceCode ::= '00111000'B + +allSpeechFollowedByDataCDA BearerServiceCode ::= '01000000'B + +allSpeechFollowedByDataCDS BearerServiceCode ::= '01001000'B + +-- The following non-hierarchical Compound Bearer Service +-- Groups are defined in TS 3GPP TS 22.030: +allDataCircuitAsynchronous BearerServiceCode ::= '01010000'B + -- covers "allDataCDA-Services", "allAlternateSpeech-DataCDA" and + -- "allSpeechFollowedByDataCDA" +allAsynchronousServices BearerServiceCode ::= '01100000'B + -- covers "allDataCDA-Services", "allAlternateSpeech-DataCDA", + -- "allSpeechFollowedByDataCDA" and "allPadAccessCDA-Services" +allDataCircuitSynchronous BearerServiceCode ::= '01011000'B + -- covers "allDataCDS-Services", "allAlternateSpeech-DataCDS" and + -- "allSpeechFollowedByDataCDS" +allSynchronousServices BearerServiceCode ::= '01101000'B + -- covers "allDataCDS-Services", "allAlternateSpeech-DataCDS", + -- "allSpeechFollowedByDataCDS" and "allDataPDS-Services" +-- +-- Compound Bearer Service Group Codes are only used in call +-- independent supplementary service operations, i.e. they +-- are not used in InsertSubscriberData or in +-- DeleteSubscriberData messages. + +allPLMN-specificBS BearerServiceCode ::= '11010000'B +plmn-specificBS-1 BearerServiceCode ::= '11010001'B +plmn-specificBS-2 BearerServiceCode ::= '11010010'B +plmn-specificBS-3 BearerServiceCode ::= '11010011'B +plmn-specificBS-4 BearerServiceCode ::= '11010100'B +plmn-specificBS-5 BearerServiceCode ::= '11010101'B +plmn-specificBS-6 BearerServiceCode ::= '11010110'B +plmn-specificBS-7 BearerServiceCode ::= '11010111'B +plmn-specificBS-8 BearerServiceCode ::= '11011000'B +plmn-specificBS-9 BearerServiceCode ::= '11011001'B +plmn-specificBS-A BearerServiceCode ::= '11011010'B +plmn-specificBS-B BearerServiceCode ::= '11011011'B +plmn-specificBS-C BearerServiceCode ::= '11011100'B +plmn-specificBS-D BearerServiceCode ::= '11011101'B +plmn-specificBS-E BearerServiceCode ::= '11011110'B +plmn-specificBS-F BearerServiceCode ::= '11011111'B + +END diff --git a/asn1/MAP-CH-DataTypes.asn b/asn1/MAP-CH-DataTypes.asn new file mode 100644 index 0000000..10e9d8f --- /dev/null +++ b/asn1/MAP-CH-DataTypes.asn @@ -0,0 +1,438 @@ +MAP-CH-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CH-DataTypes (13) version9 (9)} + +DEFINITIONS + +IMPLICIT TAGS + +::= + +BEGIN + +EXPORTS + SendRoutingInfoArg, + SendRoutingInfoRes, + ProvideRoamingNumberArg, + ProvideRoamingNumberRes, + ResumeCallHandlingArg, + ResumeCallHandlingRes, + NumberOfForwarding, + SuppressionOfAnnouncement, + CallReferenceNumber, + SetReportingStateArg, + SetReportingStateRes, + StatusReportArg, + StatusReportRes, + RemoteUserFreeArg, + RemoteUserFreeRes, + IST-AlertArg, + IST-AlertRes, + IST-CommandArg, +IST-CommandRes +; + +IMPORTS + SubscriberInfo, + SupportedCamelPhases, + OfferedCamel4CSIs, + CUG-Interlock, + O-CSI, + D-CSI, + O-BcsmCamelTDPCriteriaList, + T-BCSM-CAMEL-TDP-CriteriaList, + IST-SupportIndicator, + IST-AlertTimerValue, + T-CSI, + NumberPortabilityStatus +FROM MAP-MS-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-MS-DataTypes (11) version9 (9)} + + ForwardingOptions, + SS-List, + CCBS-Feature +FROM MAP-SS-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SS-DataTypes (14) version9 (9)} + + ISDN-AddressString, + ISDN-SubaddressString, + FTN-AddressString, + ExternalSignalInfo, + Ext-ExternalSignalInfo, + IMSI, + LMSI, + Ext-BasicServiceCode, + AlertingPattern, + NAEA-PreferredCI +FROM MAP-CommonDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)} + + ExtensionContainer +FROM MAP-ExtensionDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)} +; + + +CUG-CheckInfo ::= SEQUENCE { + cug-Interlock CUG-Interlock, + cug-OutgoingAccess NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +NumberOfForwarding ::= INTEGER (1..5) + +SendRoutingInfoArg ::= SEQUENCE { + msisdn [0] ISDN-AddressString, + cug-CheckInfo [1] CUG-CheckInfo OPTIONAL, + numberOfForwarding [2] NumberOfForwarding OPTIONAL, + interrogationType [3] InterrogationType, + or-Interrogation [4] NULL OPTIONAL, + or-Capability [5] OR-Phase OPTIONAL, + gmsc-OrGsmSCF-Address [6] ISDN-AddressString, + callReferenceNumber [7] CallReferenceNumber OPTIONAL, + forwardingReason [8] ForwardingReason OPTIONAL, + basicServiceGroup [9] Ext-BasicServiceCode OPTIONAL, + networkSignalInfo [10] ExternalSignalInfo OPTIONAL, + camelInfo [11] CamelInfo OPTIONAL, + suppressionOfAnnouncement [12] SuppressionOfAnnouncement OPTIONAL, + extensionContainer [13] ExtensionContainer OPTIONAL, + ..., + alertingPattern [14] AlertingPattern OPTIONAL, + ccbs-Call [15] NULL OPTIONAL, + supportedCCBS-Phase [16] SupportedCCBS-Phase OPTIONAL, + additionalSignalInfo [17] Ext-ExternalSignalInfo OPTIONAL, + istSupportIndicator [18] IST-SupportIndicator OPTIONAL, + pre-pagingSupported [19] NULL OPTIONAL, + callDiversionTreatmentIndicator [20] CallDiversionTreatmentIndicator OPTIONAL, + longFTN-Supported [21] NULL OPTIONAL, + suppress-VT-CSI [22] NULL OPTIONAL, + suppressIncomingCallBarring [23] NULL OPTIONAL, + gsmSCF-InitiatedCall [24] NULL OPTIONAL, + basicServiceGroup2 [25] Ext-BasicServiceCode OPTIONAL, + networkSignalInfo2 [26] ExternalSignalInfo OPTIONAL + } + +SuppressionOfAnnouncement ::= NULL + +InterrogationType ::= ENUMERATED { + basicCall (0), + forwarding (1)} + +OR-Phase ::= INTEGER (1..127) + +CallReferenceNumber ::= OCTET STRING (SIZE (1..8)) + +ForwardingReason ::= ENUMERATED { + notReachable (0), + busy (1), + noReply (2)} + +SupportedCCBS-Phase ::= INTEGER (1..127) +-- exception handling: +-- Only value 1 is used. +-- Values in the ranges 2-127 are reserved for future use. +-- If received values 2-127 shall be mapped on to value 1. + +CallDiversionTreatmentIndicator ::= OCTET STRING (SIZE(1)) +-- callDiversionAllowed (xxxx xx01) +-- callDiversionNotAllowed (xxxx xx10) +-- network default is call diversion allowed + +SendRoutingInfoRes ::= [3] SEQUENCE { + imsi [9] IMSI OPTIONAL, + -- IMSI must be present if SendRoutingInfoRes is not segmented. + -- If the TC-Result-NL segmentation option is taken the IMSI must be + -- present in one segmented transmission of SendRoutingInfoRes. + extendedRoutingInfo ExtendedRoutingInfo OPTIONAL, + cug-CheckInfo [3] CUG-CheckInfo OPTIONAL, + cugSubscriptionFlag [6] NULL OPTIONAL, + subscriberInfo [7] SubscriberInfo OPTIONAL, + ss-List [1] SS-List OPTIONAL, + basicService [5] Ext-BasicServiceCode OPTIONAL, + forwardingInterrogationRequired [4] NULL OPTIONAL, + vmsc-Address [2] ISDN-AddressString OPTIONAL, + extensionContainer [0] ExtensionContainer OPTIONAL, + ... , + naea-PreferredCI [10] NAEA-PreferredCI OPTIONAL, + -- naea-PreferredCI is included at the discretion of the HLR operator. + ccbs-Indicators [11] CCBS-Indicators OPTIONAL, + msisdn [12] ISDN-AddressString OPTIONAL, + numberPortabilityStatus [13] NumberPortabilityStatus OPTIONAL, + istAlertTimer [14] IST-AlertTimerValue OPTIONAL, + supportedCamelPhasesInVMSC [15] SupportedCamelPhases OPTIONAL, + offeredCamel4CSIsInVMSC [16] OfferedCamel4CSIs OPTIONAL, + routingInfo2 [17] RoutingInfo OPTIONAL, + ss-List2 [18] SS-List OPTIONAL, + basicService2 [19] Ext-BasicServiceCode OPTIONAL, + allowedServices [20] AllowedServices OPTIONAL, + unavailabilityCause [21] UnavailabilityCause OPTIONAL + } + +AllowedServices ::= BIT STRING { + firstServiceAllowed (0), + secondServiceAllowed (1) } (SIZE (2..8)) + -- firstService is the service indicated in the networkSignalInfo + -- secondService is the service indicated in the networkSignalInfo2 + -- Other bits than listed above shall be discarded + +UnavailabilityCause ::= ENUMERATED { + bearerServiceNotProvisioned (1), + teleserviceNotProvisioned (2), + absentSubscriber (3), + busySubscriber (4), + callBarred (5), + cug-Reject (6), + ...} + -- exception handling: + -- Reception of other values than the ones listed shall result in the service + -- being unavailable for that call. + +CCBS-Indicators ::= SEQUENCE { + ccbs-Possible [0] NULL OPTIONAL, + keepCCBS-CallIndicator [1] NULL OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +RoutingInfo ::= CHOICE { + roamingNumber ISDN-AddressString, + forwardingData ForwardingData} + +ForwardingData ::= SEQUENCE { + forwardedToNumber [5] ISDN-AddressString OPTIONAL, + -- When this datatype is sent from an HLR which supports CAMEL Phase 2 + -- to a GMSC which supports CAMEL Phase 2 the GMSC shall not check the + -- format of the number + forwardedToSubaddress [4] ISDN-SubaddressString OPTIONAL, + forwardingOptions [6] ForwardingOptions OPTIONAL, + extensionContainer [7] ExtensionContainer OPTIONAL, + ..., + longForwardedToNumber [8] FTN-AddressString OPTIONAL} + +ProvideRoamingNumberArg ::= SEQUENCE { + imsi [0] IMSI, + msc-Number [1] ISDN-AddressString, + msisdn [2] ISDN-AddressString OPTIONAL, + lmsi [4] LMSI OPTIONAL, + gsm-BearerCapability [5] ExternalSignalInfo OPTIONAL, + networkSignalInfo [6] ExternalSignalInfo OPTIONAL, + suppressionOfAnnouncement [7] SuppressionOfAnnouncement OPTIONAL, + gmsc-Address [8] ISDN-AddressString OPTIONAL, + callReferenceNumber [9] CallReferenceNumber OPTIONAL, + or-Interrogation [10] NULL OPTIONAL, + extensionContainer [11] ExtensionContainer OPTIONAL, + ... , + alertingPattern [12] AlertingPattern OPTIONAL, + ccbs-Call [13] NULL OPTIONAL, + supportedCamelPhasesInInterrogatingNode [15] SupportedCamelPhases OPTIONAL, + additionalSignalInfo [14] Ext-ExternalSignalInfo OPTIONAL, + orNotSupportedInGMSC [16] NULL OPTIONAL, + pre-pagingSupported [17] NULL OPTIONAL, + longFTN-Supported [18] NULL OPTIONAL, + suppress-VT-CSI [19] NULL OPTIONAL, + offeredCamel4CSIsInInterrogatingNode [20] OfferedCamel4CSIs OPTIONAL + } + +ProvideRoamingNumberRes ::= SEQUENCE { + roamingNumber ISDN-AddressString, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ResumeCallHandlingArg ::= SEQUENCE { + callReferenceNumber [0] CallReferenceNumber OPTIONAL, + basicServiceGroup [1] Ext-BasicServiceCode OPTIONAL, + forwardingData [2] ForwardingData OPTIONAL, + imsi [3] IMSI OPTIONAL, + cug-CheckInfo [4] CUG-CheckInfo OPTIONAL, + o-CSI [5] O-CSI OPTIONAL, + extensionContainer [7] ExtensionContainer OPTIONAL, + ccbs-Possible [8] NULL OPTIONAL, + msisdn [9] ISDN-AddressString OPTIONAL, + uu-Data [10] UU-Data OPTIONAL, + allInformationSent [11] NULL OPTIONAL, + ..., + d-csi [12] D-CSI OPTIONAL, + o-BcsmCamelTDPCriteriaList [13] O-BcsmCamelTDPCriteriaList OPTIONAL, + basicServiceGroup2 [14] Ext-BasicServiceCode OPTIONAL + } + +UU-Data ::= SEQUENCE { + uuIndicator [0] UUIndicator OPTIONAL, + uui [1] UUI OPTIONAL, + uusCFInteraction [2] NULL OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +UUIndicator ::= OCTET STRING (SIZE (1)) + -- Octets are coded according to ETS 300 356 + +UUI ::= OCTET STRING (SIZE (1..131)) + -- Octets are coded according to ETS 300 356 + +ResumeCallHandlingRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +CamelInfo ::= SEQUENCE { + supportedCamelPhases SupportedCamelPhases, + suppress-T-CSI NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... , + offeredCamel4CSIs [0] OfferedCamel4CSIs OPTIONAL } + +ExtendedRoutingInfo ::= CHOICE { + routingInfo RoutingInfo, + camelRoutingInfo [8] CamelRoutingInfo} + +CamelRoutingInfo ::= SEQUENCE { + forwardingData ForwardingData OPTIONAL, + gmscCamelSubscriptionInfo [0] GmscCamelSubscriptionInfo, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +GmscCamelSubscriptionInfo ::= SEQUENCE { + t-CSI [0] T-CSI OPTIONAL, + o-CSI [1] O-CSI OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ..., + o-BcsmCamelTDP-CriteriaList [3] O-BcsmCamelTDPCriteriaList OPTIONAL, + t-BCSM-CAMEL-TDP-CriteriaList [4] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL, + d-csi [5] D-CSI OPTIONAL} + +SetReportingStateArg ::= SEQUENCE { + imsi [0] IMSI OPTIONAL, + lmsi [1] LMSI OPTIONAL, + ccbs-Monitoring [2] ReportingState OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +ReportingState ::= ENUMERATED { + stopMonitoring (0), + startMonitoring (1), + ...} + -- exception handling: + -- reception of values 2-10 shall be mapped to 'stopMonitoring' + -- reception of values > 10 shall be mapped to 'startMonitoring' + +SetReportingStateRes ::= SEQUENCE{ + ccbs-SubscriberStatus [0] CCBS-SubscriberStatus OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +CCBS-SubscriberStatus ::= ENUMERATED { + ccbsNotIdle (0), + ccbsIdle (1), + ccbsNotReachable (2), + ...} + -- exception handling: + -- reception of values 3-10 shall be mapped to 'ccbsNotIdle' + -- reception of values 11-20 shall be mapped to 'ccbsIdle' + -- reception of values > 20 shall be mapped to 'ccbsNotReachable' + +StatusReportArg ::= SEQUENCE{ + imsi [0] IMSI, + eventReportData [1] EventReportData OPTIONAL, + callReportdata [2] CallReportData OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +EventReportData ::= SEQUENCE{ + ccbs-SubscriberStatus [0] CCBS-SubscriberStatus OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +CallReportData ::= SEQUENCE{ + monitoringMode [0] MonitoringMode OPTIONAL, + callOutcome [1] CallOutcome OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +MonitoringMode ::= ENUMERATED { + a-side (0), + b-side (1), + ...} + -- exception handling: + -- reception of values 2-10 shall be mapped 'a-side' + -- reception of values > 10 shall be mapped to 'b-side' + +CallOutcome ::= ENUMERATED { + success (0), + failure (1), + busy (2), + ...} + -- exception handling: + -- reception of values 3-10 shall be mapped to 'success' + -- reception of values 11-20 shall be mapped to 'failure' + -- reception of values > 20 shall be mapped to 'busy' + +StatusReportRes ::= SEQUENCE { + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +RemoteUserFreeArg ::= SEQUENCE{ + imsi [0] IMSI, + callInfo [1] ExternalSignalInfo, + ccbs-Feature [2] CCBS-Feature, + translatedB-Number [3] ISDN-AddressString, + replaceB-Number [4] NULL OPTIONAL, + alertingPattern [5] AlertingPattern OPTIONAL, + extensionContainer [6] ExtensionContainer OPTIONAL, + ...} + +RemoteUserFreeRes ::= SEQUENCE{ + ruf-Outcome [0] RUF-Outcome, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +RUF-Outcome ::= ENUMERATED{ + accepted (0), + rejected (1), + noResponseFromFreeMS (2), -- T4 Expiry + noResponseFromBusyMS (3), -- T10 Expiry + udubFromFreeMS (4), + udubFromBusyMS (5), + ...} + -- exception handling: + -- reception of values 6-20 shall be mapped to 'accepted' + -- reception of values 21-30 shall be mapped to 'rejected' + -- reception of values 31-40 shall be mapped to 'noResponseFromFreeMS' + -- reception of values 41-50 shall be mapped to 'noResponseFromBusyMS' + -- reception of values 51-60 shall be mapped to 'udubFromFreeMS' + -- reception of values > 60 shall be mapped to 'udubFromBusyMS' + +IST-AlertArg ::= SEQUENCE{ + imsi [0] IMSI, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +IST-AlertRes ::= SEQUENCE{ + istAlertTimer [0] IST-AlertTimerValue OPTIONAL, + istInformationWithdraw [1] NULL OPTIONAL, + callTerminationIndicator [2] CallTerminationIndicator OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +IST-CommandArg ::= SEQUENCE{ + imsi [0] IMSI, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +IST-CommandRes ::= SEQUENCE{ + extensionContainer ExtensionContainer OPTIONAL, + ...} + +CallTerminationIndicator ::= ENUMERATED { + terminateCallActivityReferred (0), + terminateAllCallActivities (1), + ...} + -- exception handling: + -- reception of values 2-10 shall be mapped to ' terminateCallActivityReferred ' + -- reception of values > 10 shall be mapped to ' terminateAllCallActivities ' + + -- In MSCs not supporting linkage of all call activities, any value received shall + -- be interpreted as ' terminateCallActivityReferred ' + +END diff --git a/asn1/MAP-CallHandlingOperations.asn b/asn1/MAP-CallHandlingOperations.asn new file mode 100644 index 0000000..473e968 --- /dev/null +++ b/asn1/MAP-CallHandlingOperations.asn @@ -0,0 +1,198 @@ +MAP-CallHandlingOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CallHandlingOperations (7) + version9 (9)} + +DEFINITIONS + +::= + +BEGIN + +EXPORTS + sendRoutingInfo, + provideRoamingNumber, + resumeCallHandling, + setReportingState, + statusReport, + remoteUserFree, + ist-Alert, + ist-Command +; + +IMPORTS + OPERATION +FROM Remote-Operations-Information-Objects { +joint-iso-itu-t remote-operations(4) + informationObjects(5) version1(0)} + + systemFailure, + dataMissing, + unexpectedDataValue, + facilityNotSupported, + or-NotAllowed, + unknownSubscriber, + numberChanged, + bearerServiceNotProvisioned, + teleserviceNotProvisioned, + noRoamingNumberAvailable, + absentSubscriber, + busySubscriber, + noSubscriberReply, + callBarred, + forwardingViolation, + forwardingFailed, + cug-Reject, + resourceLimitation, + incompatibleTerminal, + unidentifiedSubscriber + +FROM MAP-Errors { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-Errors (10) version9 (9)} + SendRoutingInfoArg, + SendRoutingInfoRes, + ProvideRoamingNumberArg, + ProvideRoamingNumberRes, + ResumeCallHandlingArg, + ResumeCallHandlingRes, + SetReportingStateArg, + SetReportingStateRes, + StatusReportArg, + StatusReportRes, + RemoteUserFreeArg, + RemoteUserFreeRes, + IST-AlertArg, + IST-AlertRes, + IST-CommandArg, + IST-CommandRes +FROM MAP-CH-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CH-DataTypes (13) version9 (9)} + +; + +sendRoutingInfo OPERATION ::= { --Timer m +-- The timer is set to the upper limit of the range if the GMSC supports pre-paging. + ARGUMENT + SendRoutingInfoArg + RESULT + SendRoutingInfoRes + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + facilityNotSupported | + or-NotAllowed | + unknownSubscriber | + numberChanged | + bearerServiceNotProvisioned | + teleserviceNotProvisioned | + absentSubscriber | + busySubscriber | + noSubscriberReply | + callBarred | + cug-Reject | + forwardingViolation} + CODE local:22 } + +provideRoamingNumber OPERATION ::= { --Timer m +-- The timer is set to the upper limit of the range if the HLR supports pre-paging. + ARGUMENT + ProvideRoamingNumberArg + RESULT + ProvideRoamingNumberRes + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + facilityNotSupported | + or-NotAllowed | + absentSubscriber | + noRoamingNumberAvailable} + CODE local:4 } + +resumeCallHandling OPERATION ::= { --Timer m + ARGUMENT + ResumeCallHandlingArg + RESULT + ResumeCallHandlingRes + -- optional + ERRORS { + forwardingFailed | + or-NotAllowed | + unexpectedDataValue | + dataMissing } + CODE local:6 } + +setReportingState OPERATION ::= { --Timer m + ARGUMENT + SetReportingStateArg + RESULT + SetReportingStateRes + -- optional + ERRORS { + systemFailure | + unidentifiedSubscriber | + unexpectedDataValue | + dataMissing | + resourceLimitation | + facilityNotSupported} + CODE local:73 } + +statusReport OPERATION ::= { --Timer m + ARGUMENT + StatusReportArg + RESULT + StatusReportRes + -- optional + ERRORS { + unknownSubscriber | + systemFailure | + unexpectedDataValue | + dataMissing} + CODE local:74 } + +remoteUserFree OPERATION ::= { --Timer ml + ARGUMENT + RemoteUserFreeArg + RESULT + RemoteUserFreeRes + ERRORS { + unexpectedDataValue | + dataMissing | + incompatibleTerminal | + absentSubscriber | + systemFailure | + busySubscriber} + CODE local:75 } + +ist-Alert OPERATION ::= { --Timer m + ARGUMENT + IST-AlertArg + RESULT + IST-AlertRes + -- optional + ERRORS { + unexpectedDataValue | + resourceLimitation | + unknownSubscriber | + systemFailure | + facilityNotSupported} + CODE local:87 } + +ist-Command OPERATION::= { --Timer m + ARGUMENT + IST-CommandArg + RESULT + IST-CommandRes + -- optional + ERRORS { + unexpectedDataValue | + resourceLimitation | + unknownSubscriber | + systemFailure | + facilityNotSupported} + CODE local:88 } + +END diff --git a/asn1/MAP-CommonDataTypes.asn b/asn1/MAP-CommonDataTypes.asn new file mode 100644 index 0000000..55d234e --- /dev/null +++ b/asn1/MAP-CommonDataTypes.asn @@ -0,0 +1,612 @@ +MAP-CommonDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)} + +DEFINITIONS + +IMPLICIT TAGS + +::= + +BEGIN + +EXPORTS + + -- general data types and values + AddressString, + ISDN-AddressString, + maxISDN-AddressLength, + FTN-AddressString, + ISDN-SubaddressString, + ExternalSignalInfo, + Ext-ExternalSignalInfo, + AccessNetworkSignalInfo, + SignalInfo, + maxSignalInfoLength, + AlertingPattern, + TBCD-STRING, + + -- data types for numbering and identification + IMSI, + TMSI, + Identity, + SubscriberId, + IMEI, + HLR-List, + LMSI, + GlobalCellId, + NetworkResource, + AdditionalNetworkResource, + NAEA-PreferredCI, + NAEA-CIC, + ASCI-CallReference, + SubscriberIdentity, + + -- data types for CAMEL + CellGlobalIdOrServiceAreaIdOrLAI, + CellGlobalIdOrServiceAreaIdFixedLength, + LAIFixedLength, + + -- data types for subscriber management + BasicServiceCode, + Ext-BasicServiceCode, + EMLPP-Info, + EMLPP-Priority, + MC-SS-Info, + MaxMC-Bearers, + MC-Bearers, + Ext-SS-Status, + + -- data types for geographic location + AgeOfLocationInformation, + LCSClientExternalID, + LCSClientInternalID, + LCSServiceTypeID +; + +IMPORTS + TeleserviceCode, + Ext-TeleserviceCode +FROM MAP-TS-Code { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-TS-Code (19) version9 (9)} + + BearerServiceCode, + Ext-BearerServiceCode +FROM MAP-BS-Code { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-BS-Code (20) version9 (9)} + + SS-Code +FROM MAP-SS-Code { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SS-Code (15) version9 (9)} + + ExtensionContainer +FROM MAP-ExtensionDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)} +; + + +-- general data types + +TBCD-STRING ::= OCTET STRING + -- This type (Telephony Binary Coded Decimal String) is used to + -- represent several digits from 0 through 9, *, #, a, b, c, two + -- digits per octet, each digit encoded 0000 to 1001 (0 to 9), + -- 1010 (*), 1011 (#), 1100 (a), 1101 (b) or 1110 (c); 1111 used + -- as filler when there is an odd number of digits. + + -- bits 8765 of octet n encoding digit 2n + -- bits 4321 of octet n encoding digit 2(n-1) +1 + +AddressString ::= OCTET STRING (SIZE (1..maxAddressLength)) + -- This type is used to represent a number for addressing + -- purposes. It is composed of + -- a) one octet for nature of address, and numbering plan + -- indicator. + -- b) digits of an address encoded as TBCD-String. + + -- a) The first octet includes a one bit extension indicator, a + -- 3 bits nature of address indicator and a 4 bits numbering + -- plan indicator, encoded as follows: + + -- bit 8: 1 (no extension) + + -- bits 765: nature of address indicator + -- 000 unknown + -- 001 international number + -- 010 national significant number + -- 011 network specific number + -- 100 subscriber number + -- 101 reserved + -- 110 abbreviated number + -- 111 reserved for extension + + -- bits 4321: numbering plan indicator + -- 0000 unknown + -- 0001 ISDN/Telephony Numbering Plan (Rec ITU-T E.164) + -- 0010 spare + -- 0011 data numbering plan (ITU-T Rec X.121) + -- 0100 telex numbering plan (ITU-T Rec F.69) + -- 0101 spare + -- 0110 land mobile numbering plan (ITU-T Rec E.212) + -- 0111 spare + -- 1000 national numbering plan + -- 1001 private numbering plan + -- 1111 reserved for extension + + -- all other values are reserved. + + -- b) The following octets representing digits of an address + -- encoded as a TBCD-STRING. + +maxAddressLength INTEGER ::= 20 + +ISDN-AddressString ::= + AddressString (SIZE (1..maxISDN-AddressLength)) + -- This type is used to represent ISDN numbers. + +maxISDN-AddressLength INTEGER ::= 9 + +FTN-AddressString ::= + AddressString (SIZE (1..maxFTN-AddressLength)) + -- This type is used to represent forwarded-to numbers. + -- For long forwarded-to numbers (longer than 15 digits) NPI shall be unknown; + -- if NAI = international the first digits represent the country code (CC) + -- and the network destination code (NDC) as for E.164. + +maxFTN-AddressLength INTEGER ::= 15 + +ISDN-SubaddressString ::= + OCTET STRING (SIZE (1..maxISDN-SubaddressLength)) + -- This type is used to represent ISDN subaddresses. + -- It is composed of + -- a) one octet for type of subaddress and odd/even indicator. + -- b) 20 octets for subaddress information. + + -- a) The first octet includes a one bit extension indicator, a + -- 3 bits type of subaddress and a one bit odd/even indicator, + -- encoded as follows: + + -- bit 8: 1 (no extension) + + -- bits 765: type of subaddress + -- 000 NSAP (X.213/ISO 8348 AD2) + -- 010 User Specified + -- All other values are reserved + + -- bit 4: odd/even indicator + -- 0 even number of address signals + -- 1 odd number of address signals + -- The odd/even indicator is used when the type of subaddress + -- is "user specified" and the coding is BCD. + + -- bits 321: 000 (unused) + + -- b) Subaddress information. + -- The NSAP X.213/ISO8348AD2 address shall be formatted as specified + -- by octet 4 which contains the Authority and Format Identifier + -- (AFI). The encoding is made according to the "preferred binary + -- encoding" as defined in X.213/ISO834AD2. For the definition + -- of this type of subaddress, see ITU-T Rec I.334. + + -- For User-specific subaddress, this field is encoded according + -- to the user specification, subject to a maximum length of 20 + -- octets. When interworking with X.25 networks BCD coding should + -- be applied. + +maxISDN-SubaddressLength INTEGER ::= 21 + +ExternalSignalInfo ::= SEQUENCE { + protocolId ProtocolId, + signalInfo SignalInfo, + -- Information about the internal structure is given in + -- clause 7.6.9. + extensionContainer ExtensionContainer OPTIONAL, + -- extensionContainer must not be used in version 2 + ...} + +SignalInfo ::= OCTET STRING (SIZE (1..maxSignalInfoLength)) + +maxSignalInfoLength INTEGER ::= 200 + -- This NamedValue represents the theoretical maximum number of octets which is + -- available to carry a single instance of the SignalInfo data type, + -- without requiring segmentation to cope with the network layer service. + -- However, the actual maximum size available for an instance of the data + -- type may be lower, especially when other information elements + -- have to be included in the same component. + +ProtocolId ::= ENUMERATED { + gsm-0408 (1), + gsm-0806 (2), + gsm-BSSMAP (3), + -- Value 3 is reserved and must not be used + ets-300102-1 (4)} + +Ext-ExternalSignalInfo ::= SEQUENCE { + ext-ProtocolId Ext-ProtocolId, + signalInfo SignalInfo, + -- Information about the internal structure is given in + -- clause 7.6.9.10 + extensionContainer ExtensionContainer OPTIONAL, + ...} + +Ext-ProtocolId ::= ENUMERATED { + ets-300356 (1), + ... + } +-- exception handling: +-- For Ext-ExternalSignalInfo sequences containing this parameter with any +-- other value than the ones listed the receiver shall ignore the whole +-- Ext-ExternalSignalInfo sequence. + +AccessNetworkSignalInfo ::= SEQUENCE { + accessNetworkProtocolId AccessNetworkProtocolId, + signalInfo LongSignalInfo, + -- Information about the internal structure is given in clause 7.6.9.1 + + extensionContainer ExtensionContainer OPTIONAL, + ...} + +LongSignalInfo ::= OCTET STRING (SIZE (1..maxLongSignalInfoLength)) + +maxLongSignalInfoLength INTEGER ::= 2560 + -- This Named Value represents the maximum number of octets which is available + -- to carry a single instance of the LongSignalInfo data type using + -- White Book SCCP with the maximum number of segments. + -- It takes account of the octets used by the lower layers of the protocol, and + -- other information elements which may be included in the same component. + +AccessNetworkProtocolId ::= ENUMERATED { + ts3G-48006 (1), + ts3G-25413 (2), + ...} + -- exception handling: + -- For AccessNetworkSignalInfo sequences containing this parameter with any + -- other value than the ones listed the receiver shall ignore the whole + -- AccessNetworkSignalInfo sequence. + +AlertingPattern ::= OCTET STRING (SIZE (1) ) + -- This type is used to represent Alerting Pattern + + -- bits 8765 : 0000 (unused) + + -- bits 43 : type of Pattern + -- 00 level + -- 01 category + -- 10 category + -- all other values are reserved. + + -- bits 21 : type of alerting + +alertingLevel-0 AlertingPattern ::= '00000000'B +alertingLevel-1 AlertingPattern ::= '00000001'B +alertingLevel-2 AlertingPattern ::= '00000010'B + -- all other values of Alerting level are reserved + -- Alerting Levels are defined in GSM 02.07 + +alertingCategory-1 AlertingPattern ::= '00000100'B +alertingCategory-2 AlertingPattern ::= '00000101'B +alertingCategory-3 AlertingPattern ::= '00000110'B +alertingCategory-4 AlertingPattern ::= '00000111'B +alertingCategory-5 AlertingPattern ::= '00001000'B + -- all other values of Alerting Category are reserved + -- Alerting categories are defined in GSM 02.07 + +-- data types for numbering and identification + +IMSI ::= TBCD-STRING (SIZE (3..8)) + -- digits of MCC, MNC, MSIN are concatenated in this order. + +Identity ::= CHOICE { + imsi IMSI, + imsi-WithLMSI IMSI-WithLMSI} + +IMSI-WithLMSI ::= SEQUENCE { + imsi IMSI, + lmsi LMSI, + -- a special value 00000000 indicates that the LMSI is not in use + ...} + +ASCI-CallReference ::= TBCD-STRING (SIZE (1..8)) + -- digits of VGCS/VBC-area,Group-ID are concatenated in this order. + +TMSI ::= OCTET STRING (SIZE (1..4)) + +SubscriberId ::= CHOICE { + imsi [0] IMSI, + tmsi [1] TMSI} + +IMEI ::= TBCD-STRING (SIZE (8)) + -- Refers to International Mobile Station Equipment Identity + -- and Software Version Number (SVN) defined in TS 3GPP TS 23.003 [17]. + -- If the SVN is not present the last octet shall contain the + -- digit 0 and a filler. + -- If present the SVN shall be included in the last octet. + +HLR-Id ::= IMSI + -- leading digits of IMSI, i.e. (MCC, MNC, leading digits of + -- MSIN) forming HLR Id defined in TS 3GPP TS 23.003 [17]. + +HLR-List ::= SEQUENCE SIZE (1..maxNumOfHLR-Id) OF + HLR-Id + +maxNumOfHLR-Id INTEGER ::= 50 + +LMSI ::= OCTET STRING (SIZE (4)) + +GlobalCellId ::= OCTET STRING (SIZE (5..7)) + -- Refers to Cell Global Identification defined in TS 3GPP TS 23.003 [17]. + -- The internal structure is defined as follows: + -- octet 1 bits 4321 Mobile Country Code 1st digit + -- bits 8765 Mobile Country Code 2nd digit + -- octet 2 bits 4321 Mobile Country Code 3rd digit + -- bits 8765 Mobile Network Code 3rd digit + -- or filler (1111) for 2 digit MNCs + -- octet 3 bits 4321 Mobile Network Code 1st digit + -- bits 8765 Mobile Network Code 2nd digit + -- octets 4 and 5 Location Area Code according to TS 3GPP TS 24.008 [35] + -- octets 6 and 7 Cell Identity (CI) according to TS 3GPP TS 24.008 [35] + +NetworkResource ::= ENUMERATED { + plmn (0), + hlr (1), + vlr (2), + pvlr (3), + controllingMSC (4), + vmsc (5), + eir (6), + rss (7)} + +AdditionalNetworkResource ::= ENUMERATED { + sgsn (0), + ggsn (1), + gmlc (2), + gsmSCF (3), + nplr (4), + auc (5), + ...} + -- if unknown value is received in AdditionalNetworkResource + -- it shall be ignored. + + +NAEA-PreferredCI ::= SEQUENCE { + naea-PreferredCIC [0] NAEA-CIC, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +NAEA-CIC ::= OCTET STRING (SIZE (3)) + -- The internal structure is defined by the Carrier Identification + -- parameter in ANSI T1.113.3. Carrier codes between "000" and "999" may + -- be encoded as 3 digits using "000" to "999" or as 4 digits using + -- "0000" to "0999". Carrier codes between "1000" and "9999" are encoded + -- using 4 digits. + +SubscriberIdentity ::= CHOICE { + imsi [0] IMSI, + msisdn [1] ISDN-AddressString + } + +LCSClientExternalID ::= SEQUENCE { + externalAddress [0] ISDN-AddressString OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ... } + +LCSClientInternalID ::= ENUMERATED { + broadcastService (0), + o-andM-HPLMN (1), + o-andM-VPLMN (2), + anonymousLocation (3), + targetMSsubscribedService (4), + ... } +-- for a CAMEL phase 3 PLMN operator client, the value targetMSsubscribedService shall be used + +LCSServiceTypeID ::= INTEGER (0..127) + -- the integer values 0-63 are reserved for Standard LCS service types + -- the integer values 64-127 are reserved for Non Standard LCS service types + +-- Standard LCS Service Types +emergencyServices LCSServiceTypeID ::= 0 +emergencyAlertServices LCSServiceTypeID ::= 1 +personTracking LCSServiceTypeID ::= 2 +fleetManagement LCSServiceTypeID ::= 3 +assetManagement LCSServiceTypeID ::= 4 +trafficCongestionReporting LCSServiceTypeID ::= 5 +roadsideAssistance LCSServiceTypeID ::= 6 +routingToNearestCommercialEnterprise LCSServiceTypeID ::= 7 +navigation LCSServiceTypeID ::= 8 + --this service type is reserved for use in previous releases +citySightseeing LCSServiceTypeID ::= 9 +localizedAdvertising LCSServiceTypeID ::= 10 +mobileYellowPages LCSServiceTypeID ::= 11 +trafficAndPublicTransportationInfo LCSServiceTypeID ::= 12 +weather LCSServiceTypeID ::= 13 +assetAndServiceFinding LCSServiceTypeID ::= 14 +gaming LCSServiceTypeID ::= 15 +findYourFriend LCSServiceTypeID ::= 16 +dating LCSServiceTypeID ::= 17 +chatting LCSServiceTypeID ::= 18 +routeFinding LCSServiceTypeID ::= 19 +whereAmI LCSServiceTypeID ::= 20 + +-- The values of LCSServiceTypeID are defined according to 3GPP TS 22.071. + +-- Non Standard LCS Service Types +serv64 LCSServiceTypeID ::= 64 +serv65 LCSServiceTypeID ::= 65 +serv66 LCSServiceTypeID ::= 66 +serv67 LCSServiceTypeID ::= 67 +serv68 LCSServiceTypeID ::= 68 +serv69 LCSServiceTypeID ::= 69 +serv70 LCSServiceTypeID ::= 70 +serv71 LCSServiceTypeID ::= 71 +serv72 LCSServiceTypeID ::= 72 +serv73 LCSServiceTypeID ::= 73 +serv74 LCSServiceTypeID ::= 74 +serv75 LCSServiceTypeID ::= 75 +serv76 LCSServiceTypeID ::= 76 +serv77 LCSServiceTypeID ::= 77 +serv78 LCSServiceTypeID ::= 78 +serv79 LCSServiceTypeID ::= 79 +serv80 LCSServiceTypeID ::= 80 +serv81 LCSServiceTypeID ::= 81 +serv82 LCSServiceTypeID ::= 82 +serv83 LCSServiceTypeID ::= 83 +serv84 LCSServiceTypeID ::= 84 +serv85 LCSServiceTypeID ::= 85 +serv86 LCSServiceTypeID ::= 86 +serv87 LCSServiceTypeID ::= 87 +serv88 LCSServiceTypeID ::= 88 +serv89 LCSServiceTypeID ::= 89 +serv90 LCSServiceTypeID ::= 90 +serv91 LCSServiceTypeID ::= 91 +serv92 LCSServiceTypeID ::= 92 +serv93 LCSServiceTypeID ::= 93 +serv94 LCSServiceTypeID ::= 94 +serv95 LCSServiceTypeID ::= 95 +serv96 LCSServiceTypeID ::= 96 +serv97 LCSServiceTypeID ::= 97 +serv98 LCSServiceTypeID ::= 98 +serv99 LCSServiceTypeID ::= 99 +serv100 LCSServiceTypeID ::= 100 +serv101 LCSServiceTypeID ::= 101 +serv102 LCSServiceTypeID ::= 102 +serv103 LCSServiceTypeID ::= 103 +serv104 LCSServiceTypeID ::= 104 +serv105 LCSServiceTypeID ::= 105 +serv106 LCSServiceTypeID ::= 106 +serv107 LCSServiceTypeID ::= 107 +serv108 LCSServiceTypeID ::= 108 +serv109 LCSServiceTypeID ::= 109 +serv110 LCSServiceTypeID ::= 110 +serv111 LCSServiceTypeID ::= 111 +serv112 LCSServiceTypeID ::= 112 +serv113 LCSServiceTypeID ::= 113 +serv114 LCSServiceTypeID ::= 114 +serv115 LCSServiceTypeID ::= 115 +serv116 LCSServiceTypeID ::= 116 +serv117 LCSServiceTypeID ::= 117 +serv118 LCSServiceTypeID ::= 118 +serv119 LCSServiceTypeID ::= 119 +serv120 LCSServiceTypeID ::= 120 +serv121 LCSServiceTypeID ::= 121 +serv122 LCSServiceTypeID ::= 122 +serv123 LCSServiceTypeID ::= 123 +serv124 LCSServiceTypeID ::= 124 +serv125 LCSServiceTypeID ::= 125 +serv126 LCSServiceTypeID ::= 126 +serv127 LCSServiceTypeID ::= 127 + +-- data types for CAMEL + +CellGlobalIdOrServiceAreaIdOrLAI ::= CHOICE { + cellGlobalIdOrServiceAreaIdFixedLength [0] CellGlobalIdOrServiceAreaIdFixedLength, + laiFixedLength [1] LAIFixedLength} + +CellGlobalIdOrServiceAreaIdFixedLength ::= OCTET STRING (SIZE (7)) + -- Refers to Cell Global Identification or Service Are Identification + -- defined in 3GPP TS 23.003. + -- The internal structure is defined as follows: + -- octet 1 bits 4321 Mobile Country Code 1st digit + -- bits 8765 Mobile Country Code 2nd digit + -- octet 2 bits 4321 Mobile Country Code 3rd digit + -- bits 8765 Mobile Network Code 3rd digit + -- or filler (1111) for 2 digit MNCs + -- octet 3 bits 4321 Mobile Network Code 1st digit + -- bits 8765 Mobile Network Code 2nd digit + -- octets 4 and 5 Location Area Code according to 3GPP TS 24.008 + -- octets 6 and 7 Cell Identity (CI) value or + -- Service Area Code (SAC) value + -- according to 3GPP TS 23.003 + +LAIFixedLength ::= OCTET STRING (SIZE (5)) + -- Refers to Location Area Identification defined in TS 3GPP TS 23.003 [17]. + -- The internal structure is defined as follows: + -- octet 1 bits 4321 Mobile Country Code 1st digit + -- bits 8765 Mobile Country Code 2nd digit + -- octet 2 bits 4321 Mobile Country Code 3rd digit + -- bits 8765 Mobile Network Code 3rd digit + -- or filler (1111) for 2 digit MNCs + -- octet 3 bits 4321 Mobile Network Code 1st digit + -- bits 8765 Mobile Network Code 2nd digit + -- octets 4 and 5 Location Area Code according to TS 3GPP TS 24.008 [35] + +-- data types for subscriber management + +BasicServiceCode ::= CHOICE { + bearerService [2] BearerServiceCode, + teleservice [3] TeleserviceCode} + +Ext-BasicServiceCode ::= CHOICE { + ext-BearerService [2] Ext-BearerServiceCode, + ext-Teleservice [3] Ext-TeleserviceCode} + +EMLPP-Info ::= SEQUENCE { + maximumentitledPriority EMLPP-Priority, + defaultPriority EMLPP-Priority, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +EMLPP-Priority ::= INTEGER (0..15) + -- The mapping from the values A,B,0,1,2,3,4 to the integer-value is + -- specified as follows where A is the highest and 4 is the lowest + -- priority level + -- the integer values 7-15 are spare and shall be mapped to value 4 + +priorityLevelA EMLPP-Priority ::= 6 +priorityLevelB EMLPP-Priority ::= 5 +priorityLevel0 EMLPP-Priority ::= 0 +priorityLevel1 EMLPP-Priority ::= 1 +priorityLevel2 EMLPP-Priority ::= 2 +priorityLevel3 EMLPP-Priority ::= 3 +priorityLevel4 EMLPP-Priority ::= 4 + +MC-SS-Info ::= SEQUENCE { + ss-Code [0] SS-Code, + ss-Status [1] Ext-SS-Status, + nbrSB [2] MaxMC-Bearers, + nbrUser [3] MC-Bearers, + extensionContainer [4] ExtensionContainer OPTIONAL, + ...} + +MaxMC-Bearers ::= INTEGER (2..maxNumOfMC-Bearers) + +MC-Bearers ::= INTEGER (1..maxNumOfMC-Bearers) + +maxNumOfMC-Bearers INTEGER ::= 7 + +Ext-SS-Status ::= OCTET STRING (SIZE (1..5)) + + -- OCTET 1: + -- + -- bits 8765: 0000 (unused) + -- bits 4321: Used to convey the "P bit","R bit","A bit" and "Q bit", + -- representing supplementary service state information + -- as defined in TS 3GPP TS 23.011 [22] + + -- bit 4: "Q bit" + + -- bit 3: "P bit" + + -- bit 2: "R bit" + + -- bit 1: "A bit" + + -- OCTETS 2-5: reserved for future use. They shall be discarded if + -- received and not understood. + + + -- data types for geographic location + +AgeOfLocationInformation ::= INTEGER (0..32767) +-- the value represents the elapsed time in minutes since the last +-- network contact of the mobile station (i.e. the actuality of the +-- location information). +-- value "0" indicates that the MS is currently in contact with the +-- network +-- value "32767" indicates that the location information is at least +-- 32767 minutes old + +END diff --git a/asn1/MAP-DialogueInformation.asn b/asn1/MAP-DialogueInformation.asn new file mode 100644 index 0000000..5854cbe --- /dev/null +++ b/asn1/MAP-DialogueInformation.asn @@ -0,0 +1,149 @@ +MAP-DialogueInformation { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-DialogueInformation (3) version9 (9)} + +DEFINITIONS + +IMPLICIT TAGS + +::= + +BEGIN + +EXPORTS + map-DialogueAS, + MAP-DialoguePDU, + map-ProtectedDialogueAS, + MAP-ProtectedDialoguePDU + +; + +IMPORTS + gsm-NetworkId, + as-Id +FROM MobileDomainDefinitions { + itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) + mobileDomainDefinitions (0) version1 (1)} + + AddressString +FROM MAP-CommonDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network(1) modules (3) map-CommonDataTypes (18) version9 (9)} + + ExtensionContainer +FROM MAP-ExtensionDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)} + + SecurityHeader, + ProtectedPayload +FROM MAP-ST-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ST-DataTypes (27) version9 (9)} + +; + + +-- abstract syntax name for MAP-DialoguePDU + +map-DialogueAS OBJECT IDENTIFIER ::= + {gsm-NetworkId as-Id map-DialoguePDU (1) version1 (1)} + +MAP-DialoguePDU ::= CHOICE { + map-open [0] MAP-OpenInfo, + map-accept [1] MAP-AcceptInfo, + map-close [2] MAP-CloseInfo, + map-refuse [3] MAP-RefuseInfo, + map-userAbort [4] MAP-UserAbortInfo, + map-providerAbort [5] MAP-ProviderAbortInfo} + +MAP-OpenInfo ::= SEQUENCE { + destinationReference [0] AddressString OPTIONAL, + originationReference [1] AddressString OPTIONAL, + ..., + extensionContainer ExtensionContainer OPTIONAL + -- extensionContainer must not be used in version 2 + } + +MAP-AcceptInfo ::= SEQUENCE { + ..., + extensionContainer ExtensionContainer OPTIONAL + -- extensionContainer must not be used in version 2 + } + +MAP-CloseInfo ::= SEQUENCE { + ..., + extensionContainer ExtensionContainer OPTIONAL + -- extensionContainer must not be used in version 2 + } + +MAP-RefuseInfo ::= SEQUENCE { + reason Reason, + ..., + extensionContainer ExtensionContainer OPTIONAL, + -- extensionContainer must not be used in version 2 + alternativeApplicationContext OBJECT IDENTIFIER OPTIONAL + -- alternativeApplicationContext must not be used in version 2 + } + +Reason ::= ENUMERATED { + noReasonGiven (0), + invalidDestinationReference (1), + invalidOriginatingReference (2), + encapsulatedAC-NotSupported (3) , + transportProtectionNotAdequate (4)} + -- encapsulatedAC-NotSupported and transportProtectionNotAdequate must not be used in + -- dialogues with an AC different from secureTransportHandling + +MAP-UserAbortInfo ::= SEQUENCE { + map-UserAbortChoice MAP-UserAbortChoice, + ..., + extensionContainer ExtensionContainer OPTIONAL + -- extensionContainer must not be used in version 2 + } + +MAP-UserAbortChoice ::= CHOICE { + userSpecificReason [0] NULL, + userResourceLimitation [1] NULL, + resourceUnavailable [2] ResourceUnavailableReason, + applicationProcedureCancellation [3] ProcedureCancellationReason} + +ResourceUnavailableReason ::= ENUMERATED { + shortTermResourceLimitation (0), + longTermResourceLimitation (1)} + +ProcedureCancellationReason ::= ENUMERATED { + handoverCancellation (0), + radioChannelRelease (1), + networkPathRelease (2), + callRelease (3), + associatedProcedureFailure (4), + tandemDialogueRelease (5), + remoteOperationsFailure (6)} + +MAP-ProviderAbortInfo ::= SEQUENCE { + map-ProviderAbortReason MAP-ProviderAbortReason, + ..., + extensionContainer ExtensionContainer OPTIONAL + -- extensionContainer must not be used in version 2 + } + +MAP-ProviderAbortReason ::= ENUMERATED { + abnormalDialogue (0), + invalidPDU (1)} + +-- abstract syntax name for MAP-ProtectedDialoguePDU + +map-ProtectedDialogueAS OBJECT IDENTIFIER ::= + {gsm-NetworkId as-Id map-ProtectedDialoguePDU (3) version1 (1)} + +MAP-ProtectedDialoguePDU ::= SEQUENCE { + encapsulatedAC OBJECT IDENTIFIER, + securityHeader SecurityHeader OPTIONAL, + protectedPayload ProtectedPayload OPTIONAL, + ...} + -- The protectedPayload carries the result of applying the security function + -- defined in 3GPP TS 33.200 to the encoding of the securely transported + -- MAP-DialoguePDU + +END diff --git a/asn1/MAP-ER-DataTypes.asn b/asn1/MAP-ER-DataTypes.asn new file mode 100644 index 0000000..b66702c --- /dev/null +++ b/asn1/MAP-ER-DataTypes.asn @@ -0,0 +1,405 @@ +MAP-ER-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ER-DataTypes (17) version9 (9)} + +DEFINITIONS + +IMPLICIT TAGS + +::= + +BEGIN + +EXPORTS + RoamingNotAllowedParam, + CallBarredParam, + CUG-RejectParam, + SS-IncompatibilityCause, + PW-RegistrationFailureCause, + SM-DeliveryFailureCause, + SystemFailureParam, + DataMissingParam, + UnexpectedDataParam, + FacilityNotSupParam, + OR-NotAllowedParam, + UnknownSubscriberParam, + NumberChangedParam, + UnidentifiedSubParam, + IllegalSubscriberParam, + IllegalEquipmentParam, + BearerServNotProvParam, + TeleservNotProvParam, + TracingBufferFullParam, + NoRoamingNbParam, + AbsentSubscriberParam, + BusySubscriberParam, + NoSubscriberReplyParam, + ForwardingViolationParam, + ForwardingFailedParam, + ATI-NotAllowedParam, + SubBusyForMT-SMS-Param, + MessageWaitListFullParam, + AbsentSubscriberSM-Param, + AbsentSubscriberDiagnosticSM, + ResourceLimitationParam, + NoGroupCallNbParam, + IncompatibleTerminalParam, + ShortTermDenialParam, + LongTermDenialParam, + UnauthorizedRequestingNetwork-Param, + UnauthorizedLCSClient-Param, + PositionMethodFailure-Param, + UnknownOrUnreachableLCSClient-Param, + MM-EventNotSupported-Param, + SecureTransportErrorParam, + ATSI-NotAllowedParam, + ATM-NotAllowedParam, + IllegalSS-OperationParam, + SS-NotAvailableParam, + SS-SubscriptionViolationParam, + InformationNotAvailableParam, + TargetCellOutsideGCA-Param + +; + +IMPORTS + SS-Status +FROM MAP-SS-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SS-DataTypes (14) version9 (9)} + + SignalInfo, + BasicServiceCode, + NetworkResource, + AdditionalNetworkResource +FROM MAP-CommonDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)} + + SecurityHeader, + ProtectedPayload +FROM MAP-ST-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ST-DataTypes (27) version9 (9)} + + + SS-Code +FROM MAP-SS-Code { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SS-Code (15) version9 (9)} + + ExtensionContainer +FROM MAP-ExtensionDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)} +; + +RoamingNotAllowedParam ::= SEQUENCE { + roamingNotAllowedCause RoamingNotAllowedCause, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +RoamingNotAllowedCause ::= ENUMERATED { + plmnRoamingNotAllowed (0), + operatorDeterminedBarring (3)} + +CallBarredParam ::= CHOICE { + callBarringCause CallBarringCause, + -- call BarringCause must not be used in version 3 and higher + extensibleCallBarredParam ExtensibleCallBarredParam + -- extensibleCallBarredParam must not be used in version <3 + } + +CallBarringCause ::= ENUMERATED { + barringServiceActive (0), + operatorBarring (1)} + +ExtensibleCallBarredParam ::= SEQUENCE { + callBarringCause CallBarringCause OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... , + unauthorisedMessageOriginator [1] NULL OPTIONAL } + +CUG-RejectParam ::= SEQUENCE { + cug-RejectCause CUG-RejectCause OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +CUG-RejectCause ::= ENUMERATED { + incomingCallsBarredWithinCUG (0), + subscriberNotMemberOfCUG (1), + requestedBasicServiceViolatesCUG-Constraints (5), + calledPartySS-InteractionViolation (7)} + +SS-IncompatibilityCause ::= SEQUENCE { + ss-Code [1] SS-Code OPTIONAL, + basicService BasicServiceCode OPTIONAL, + ss-Status [4] SS-Status OPTIONAL, + ...} + +PW-RegistrationFailureCause ::= ENUMERATED { + undetermined (0), + invalidFormat (1), + newPasswordsMismatch (2)} + +SM-EnumeratedDeliveryFailureCause ::= ENUMERATED { + memoryCapacityExceeded (0), + equipmentProtocolError (1), + equipmentNotSM-Equipped (2), + unknownServiceCentre (3), + sc-Congestion (4), + invalidSME-Address (5), + subscriberNotSC-Subscriber (6)} + +SM-DeliveryFailureCause ::= SEQUENCE { + sm-EnumeratedDeliveryFailureCause SM-EnumeratedDeliveryFailureCause, + diagnosticInfo SignalInfo OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +AbsentSubscriberSM-Param ::= SEQUENCE { + absentSubscriberDiagnosticSM AbsentSubscriberDiagnosticSM OPTIONAL, + -- AbsentSubscriberDiagnosticSM can be either for non-GPRS + -- or for GPRS + extensionContainer ExtensionContainer OPTIONAL, + ..., + additionalAbsentSubscriberDiagnosticSM [0] AbsentSubscriberDiagnosticSM OPTIONAL } + -- if received, additionalAbsentSubscriberDiagnosticSM + -- is for GPRS and absentSubscriberDiagnosticSM is + -- for non-GPRS + +AbsentSubscriberDiagnosticSM ::= INTEGER (0..255) + -- AbsentSubscriberDiagnosticSM values are defined in 3GPP TS 23.040 + +SystemFailureParam ::= CHOICE { + networkResource NetworkResource, + -- networkResource must not be used in version 3 + extensibleSystemFailureParam ExtensibleSystemFailureParam + -- extensibleSystemFailureParam must not be used in version <3 + } + +ExtensibleSystemFailureParam ::= SEQUENCE { + networkResource NetworkResource OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ..., + additionalNetworkResource [0] AdditionalNetworkResource OPTIONAL } + +DataMissingParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +UnexpectedDataParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +FacilityNotSupParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ..., + shapeOfLocationEstimateNotSupported [0] NULL OPTIONAL, + neededLcsCapabilityNotSupportedInServingNode [1] NULL OPTIONAL } + +OR-NotAllowedParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +UnknownSubscriberParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ..., + unknownSubscriberDiagnostic UnknownSubscriberDiagnostic OPTIONAL} + +UnknownSubscriberDiagnostic ::= ENUMERATED { + imsiUnknown (0), + gprsSubscriptionUnknown (1), + ..., + npdbMismatch (2)} + -- if unknown values are received in + -- UnknownSubscriberDiagnostic they shall be discarded + +NumberChangedParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +UnidentifiedSubParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +IllegalSubscriberParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +IllegalEquipmentParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +BearerServNotProvParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +TeleservNotProvParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +TracingBufferFullParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +NoRoamingNbParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +AbsentSubscriberParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ..., + absentSubscriberReason [0] AbsentSubscriberReason OPTIONAL} + +AbsentSubscriberReason ::= ENUMERATED { + imsiDetach (0), + restrictedArea (1), + noPageResponse (2), + ... , + purgedMS (3)} +-- exception handling: at reception of other values than the ones listed the +-- AbsentSubscriberReason shall be ignored. +-- The AbsentSubscriberReason: purgedMS is defined for the Super-Charger feature +-- (see TS 23.116). If this value is received in a Provide Roaming Number response +-- it shall be mapped to the AbsentSubscriberReason: imsiDetach in the Send Routeing +-- Information response + +BusySubscriberParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ..., + ccbs-Possible [0] NULL OPTIONAL, + ccbs-Busy [1] NULL OPTIONAL} + +NoSubscriberReplyParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ForwardingViolationParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ForwardingFailedParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ATI-NotAllowedParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ATSI-NotAllowedParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ATM-NotAllowedParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +IllegalSS-OperationParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SS-NotAvailableParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SS-SubscriptionViolationParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +InformationNotAvailableParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SubBusyForMT-SMS-Param ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... , + gprsConnectionSuspended NULL OPTIONAL } + -- If GprsConnectionSuspended is not understood it shall + -- be discarded + +MessageWaitListFullParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ResourceLimitationParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +NoGroupCallNbParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +IncompatibleTerminalParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ShortTermDenialParam ::= SEQUENCE { + ...} + +LongTermDenialParam ::= SEQUENCE { + ...} + +UnauthorizedRequestingNetwork-Param ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +UnauthorizedLCSClient-Param ::= SEQUENCE { + unauthorizedLCSClient-Diagnostic [0] UnauthorizedLCSClient-Diagnostic OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ... } + +UnauthorizedLCSClient-Diagnostic ::= ENUMERATED { + noAdditionalInformation (0), + clientNotInMSPrivacyExceptionList (1), + callToClientNotSetup (2), + privacyOverrideNotApplicable (3), + disallowedByLocalRegulatoryRequirements (4), + ..., + unauthorizedPrivacyClass (5), + unauthorizedCallSessionUnrelatedExternalClient (6), + unauthorizedCallSessionRelatedExternalClient (7) } +-- exception handling: +-- any unrecognized value shall be ignored + +PositionMethodFailure-Param ::= SEQUENCE { + positionMethodFailure-Diagnostic [0] PositionMethodFailure-Diagnostic OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ... } + +PositionMethodFailure-Diagnostic ::= ENUMERATED { + congestion (0), + insufficientResources (1), + insufficientMeasurementData (2), + inconsistentMeasurementData (3), + locationProcedureNotCompleted (4), + locationProcedureNotSupportedByTargetMS (5), + qoSNotAttainable (6), + positionMethodNotAvailableInNetwork (7), + positionMethodNotAvailableInLocationArea (8), + ... } +-- exception handling: +-- any unrecognized value shall be ignored + +UnknownOrUnreachableLCSClient-Param ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +MM-EventNotSupported-Param ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +TargetCellOutsideGCA-Param ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SecureTransportErrorParam ::= SEQUENCE { + securityHeader SecurityHeader, + protectedPayload ProtectedPayload OPTIONAL + } + -- The protectedPayload carries the result of applying the security function + -- defined in 3GPP TS 33.200 to the encoding of the securely transported error + -- parameter + + +END diff --git a/asn1/MAP-Errors.asn b/asn1/MAP-Errors.asn new file mode 100644 index 0000000..f0aa2b0 --- /dev/null +++ b/asn1/MAP-Errors.asn @@ -0,0 +1,507 @@ +MAP-Errors { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-Errors (10) version9 (9)} + +DEFINITIONS + +::= + +BEGIN + +EXPORTS + + -- generic errors + systemFailure, + dataMissing, + unexpectedDataValue, + facilityNotSupported, + incompatibleTerminal, + resourceLimitation, + + -- identification and numbering errors + unknownSubscriber, + numberChanged, + unknownMSC, + unidentifiedSubscriber, + unknownEquipment, + + -- subscription errors + roamingNotAllowed, + illegalSubscriber, + illegalEquipment, + bearerServiceNotProvisioned, + teleserviceNotProvisioned, + + -- handover errors + noHandoverNumberAvailable, + subsequentHandoverFailure, + targetCellOutsideGroupCallArea, + + -- operation and maintenance errors + tracingBufferFull, + + -- call handling errors + or-NotAllowed, + noRoamingNumberAvailable, + busySubscriber, + noSubscriberReply, + absentSubscriber, + callBarred, + forwardingViolation, + forwardingFailed, + cug-Reject, + + -- any time interrogation errors + ati-NotAllowed, + + -- any time information handling errors + atsi-NotAllowed, + atm-NotAllowed, + informationNotAvailable, + + -- supplementary service errors + illegalSS-Operation, + ss-ErrorStatus, + ss-NotAvailable, + ss-SubscriptionViolation, + ss-Incompatibility, + unknownAlphabet, + ussd-Busy, + pw-RegistrationFailure, + negativePW-Check, + numberOfPW-AttemptsViolation, + shortTermDenial, + longTermDenial, + + -- short message service errors + subscriberBusyForMT-SMS, + sm-DeliveryFailure, + messageWaitingListFull, + absentSubscriberSM, + + -- Group Call errors + noGroupCallNumberAvailable, + + -- location service errors + unauthorizedRequestingNetwork, + unauthorizedLCSClient, + positionMethodFailure, + unknownOrUnreachableLCSClient, + + -- Mobility Management errors + mm-EventNotSupported, + + -- Secure transport errors + secureTransportError + +; + +IMPORTS + ERROR +FROM Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4) + informationObjects(5) version1(0) } + + SS-Status +FROM MAP-SS-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SS-DataTypes (14) version9 (9)} + + SS-IncompatibilityCause, + PW-RegistrationFailureCause, + SM-DeliveryFailureCause, + SystemFailureParam, + DataMissingParam, + UnexpectedDataParam, + FacilityNotSupParam, + UnknownSubscriberParam, + NumberChangedParam, + UnidentifiedSubParam, + RoamingNotAllowedParam, + IllegalSubscriberParam, + IllegalEquipmentParam, + BearerServNotProvParam, + TeleservNotProvParam, + TracingBufferFullParam, + NoRoamingNbParam, + OR-NotAllowedParam, + AbsentSubscriberParam, + BusySubscriberParam, + NoSubscriberReplyParam, + CallBarredParam, + ForwardingViolationParam, + ForwardingFailedParam, + CUG-RejectParam, + ATI-NotAllowedParam, + SubBusyForMT-SMS-Param, + MessageWaitListFullParam, + AbsentSubscriberSM-Param, + ResourceLimitationParam, + NoGroupCallNbParam, + IncompatibleTerminalParam, + ShortTermDenialParam, + LongTermDenialParam, + UnauthorizedRequestingNetwork-Param, + UnauthorizedLCSClient-Param, + PositionMethodFailure-Param, + UnknownOrUnreachableLCSClient-Param, + MM-EventNotSupported-Param, + ATSI-NotAllowedParam, + ATM-NotAllowedParam, + IllegalSS-OperationParam, + SS-NotAvailableParam, + SS-SubscriptionViolationParam, + InformationNotAvailableParam, + TargetCellOutsideGCA-Param, + SecureTransportErrorParam +FROM MAP-ER-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ER-DataTypes (17) version9 (9)} +; + +-- generic errors + +systemFailure ERROR ::= { + PARAMETER + SystemFailureParam + -- optional + CODE local:34 } + +dataMissing ERROR ::= { + PARAMETER + DataMissingParam + -- optional + -- DataMissingParam must not be used in version <3 + CODE local:35 } + +unexpectedDataValue ERROR ::= { + PARAMETER + UnexpectedDataParam + -- optional + -- UnexpectedDataParam must not be used in version <3 + CODE local:36 } + +facilityNotSupported ERROR ::= { + PARAMETER + FacilityNotSupParam + -- optional + -- FacilityNotSupParam must not be used in version <3 + CODE local:21 } + +incompatibleTerminal ERROR ::= { + PARAMETER + IncompatibleTerminalParam + -- optional + CODE local:28 } + +resourceLimitation ERROR ::= { + PARAMETER + ResourceLimitationParam + -- optional + CODE local:51 } + +-- identification and numbering errors + +unknownSubscriber ERROR ::= { + PARAMETER + UnknownSubscriberParam + -- optional + -- UnknownSubscriberParam must not be used in version <3 + CODE local:1 } + +numberChanged ERROR ::= { + PARAMETER + NumberChangedParam + -- optional + CODE local:44 } + +unknownMSC ERROR ::= { + CODE local:3 } + +unidentifiedSubscriber ERROR ::= { + PARAMETER + UnidentifiedSubParam + -- optional + -- UunidentifiedSubParam must not be used in version <3 + CODE local:5 } + +unknownEquipment ERROR ::= { + CODE local:7 } + +-- subscription errors + +roamingNotAllowed ERROR ::= { + PARAMETER + RoamingNotAllowedParam + CODE local:8 } + +illegalSubscriber ERROR ::= { + PARAMETER + IllegalSubscriberParam + -- optional + -- IllegalSubscriberParam must not be used in version <3 + CODE local:9 } + +illegalEquipment ERROR ::= { + PARAMETER + IllegalEquipmentParam + -- optional + -- IllegalEquipmentParam must not be used in version <3 + CODE local:12 } + +bearerServiceNotProvisioned ERROR ::= { + PARAMETER + BearerServNotProvParam + -- optional + -- BearerServNotProvParam must not be used in version <3 + CODE local:10 } + +teleserviceNotProvisioned ERROR ::= { + PARAMETER + TeleservNotProvParam + -- optional + -- TeleservNotProvParam must not be used in version <3 + CODE local:11 } + +-- handover errors + +noHandoverNumberAvailable ERROR ::= { + CODE local:25 } + +subsequentHandoverFailure ERROR ::= { + CODE local:26 } + +targetCellOutsideGroupCallArea ERROR ::= { + PARAMETER + TargetCellOutsideGCA-Param + -- optional + CODE local:42 } + +-- operation and maintenance errors + +tracingBufferFull ERROR ::= { + PARAMETER + TracingBufferFullParam + -- optional + CODE local: 40 } + +-- call handling errors + +noRoamingNumberAvailable ERROR ::= { + PARAMETER + NoRoamingNbParam + -- optional + CODE local:39 } + +absentSubscriber ERROR ::= { + PARAMETER + AbsentSubscriberParam + -- optional + -- AbsentSubscriberParam must not be used in version <3 + CODE local:27 } + +busySubscriber ERROR ::= { + PARAMETER + BusySubscriberParam + -- optional + CODE local:45 } + +noSubscriberReply ERROR ::= { + PARAMETER + NoSubscriberReplyParam + -- optional + CODE local:46 } + +callBarred ERROR ::= { + PARAMETER + CallBarredParam + -- optional + CODE local:13 } + +forwardingViolation ERROR ::= { + PARAMETER + ForwardingViolationParam + -- optional + CODE local:14 } + +forwardingFailed ERROR ::= { + PARAMETER + ForwardingFailedParam + -- optional + CODE local:47 } + +cug-Reject ERROR ::= { + PARAMETER + CUG-RejectParam + -- optional + CODE local:15 } + +or-NotAllowed ERROR ::= { + PARAMETER + OR-NotAllowedParam + -- optional + CODE local:48 } + +-- any time interrogation errors +ati-NotAllowed ERROR ::= { + PARAMETER + ATI-NotAllowedParam + -- optional + CODE local:49 } + +-- any time information handling errors +atsi-NotAllowed ERROR ::= { + PARAMETER + ATSI-NotAllowedParam + -- optional + CODE local:60 } + +atm-NotAllowed ERROR ::= { + PARAMETER + ATM-NotAllowedParam + -- optional + CODE local:61 } + +informationNotAvailable ERROR ::= { + PARAMETER + InformationNotAvailableParam + -- optional + CODE local:62 } + +-- supplementary service errors + +illegalSS-Operation ERROR ::= { + PARAMETER + IllegalSS-OperationParam + -- optional + -- IllegalSS-OperationParam must not be used in version <3 + CODE local:16 } + +ss-ErrorStatus ERROR ::= { + PARAMETER + SS-Status + -- optional + CODE local:17 } + +ss-NotAvailable ERROR ::= { + PARAMETER + SS-NotAvailableParam + -- optional + -- SS-NotAvailableParam must not be used in version <3 + CODE local:18 } + +ss-SubscriptionViolation ERROR ::= { + PARAMETER + SS-SubscriptionViolationParam + -- optional + -- SS-SubscriptionViolationParam must not be used in version <3 + CODE local:19 } + +ss-Incompatibility ERROR ::= { + PARAMETER + SS-IncompatibilityCause + -- optional + CODE local:20 } + +unknownAlphabet ERROR ::= { + CODE local:71 } + +ussd-Busy ERROR ::= { + CODE local:72 } + +pw-RegistrationFailure ERROR ::= { + PARAMETER + PW-RegistrationFailureCause + CODE local:37 } + +negativePW-Check ERROR ::= { + CODE local:38 } + +numberOfPW-AttemptsViolation ERROR ::= { + CODE local:43 } + +shortTermDenial ERROR ::= { + PARAMETER + ShortTermDenialParam + -- optional + CODE local:29 } + +longTermDenial ERROR ::= { + PARAMETER + LongTermDenialParam + -- optional + CODE local:30 } + +-- short message service errors + +subscriberBusyForMT-SMS ERROR ::= { + PARAMETER + SubBusyForMT-SMS-Param + -- optional + CODE local:31 } + +sm-DeliveryFailure ERROR ::= { + PARAMETER + SM-DeliveryFailureCause + CODE local:32 } + +messageWaitingListFull ERROR ::= { + PARAMETER + MessageWaitListFullParam + -- optional + CODE local:33 } + +absentSubscriberSM ERROR ::= { + PARAMETER + AbsentSubscriberSM-Param + -- optional + CODE local:6 } + +-- Group Call errors + +noGroupCallNumberAvailable ERROR ::= { + PARAMETER + NoGroupCallNbParam + -- optional + CODE local:50 } + +-- location service errors + +unauthorizedRequestingNetwork ERROR ::= { + PARAMETER + UnauthorizedRequestingNetwork-Param + -- optional + CODE local:52 } + +unauthorizedLCSClient ERROR ::= { + PARAMETER + UnauthorizedLCSClient-Param + -- optional + CODE local:53 } + +positionMethodFailure ERROR ::= { + PARAMETER + PositionMethodFailure-Param + -- optional + CODE local:54 } + +unknownOrUnreachableLCSClient ERROR ::= { + PARAMETER + UnknownOrUnreachableLCSClient-Param + -- optional + CODE local:58 } + +mm-EventNotSupported ERROR ::= { + PARAMETER + MM-EventNotSupported-Param + -- optional + CODE local:59 } + + -- Secure transport errors + +secureTransportError ERROR ::= { + PARAMETER + SecureTransportErrorParam + CODE local:4 } + + +END diff --git a/asn1/MAP-ExtensionDataTypes.asn b/asn1/MAP-ExtensionDataTypes.asn new file mode 100644 index 0000000..ab4cb9c --- /dev/null +++ b/asn1/MAP-ExtensionDataTypes.asn @@ -0,0 +1,65 @@ +MAP-ExtensionDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)} + +DEFINITIONS + +IMPLICIT TAGS + +::= + +BEGIN + +EXPORTS + + PrivateExtension, + ExtensionContainer, + SLR-ArgExtensionContainer; + + +-- IOC for private MAP extensions + + +MAP-EXTENSION ::= CLASS { + &ExtensionType OPTIONAL, + &extensionId OBJECT IDENTIFIER } + -- The length of the Object Identifier shall not exceed 16 octets and the + -- number of components of the Object Identifier shall not exceed 16 + +-- data types + +ExtensionContainer ::= SEQUENCE { + privateExtensionList [0]PrivateExtensionList OPTIONAL, + pcs-Extensions [1]PCS-Extensions OPTIONAL, + ...} + +SLR-ArgExtensionContainer ::= SEQUENCE { + privateExtensionList [0]PrivateExtensionList OPTIONAL, + slr-Arg-PCS-Extensions [1]SLR-Arg-PCS-Extensions OPTIONAL, + ...} + +PrivateExtensionList ::= SEQUENCE SIZE (1..maxNumOfPrivateExtensions) OF + PrivateExtension + +PrivateExtension ::= SEQUENCE { + extId MAP-EXTENSION.&extensionId + ({ExtensionSet}), + extType MAP-EXTENSION.&ExtensionType + ({ExtensionSet}{@extId}) OPTIONAL} + +maxNumOfPrivateExtensions INTEGER ::= 10 + +ExtensionSet MAP-EXTENSION ::= + {... + -- ExtensionSet is the set of all defined private extensions + } + -- Unsupported private extensions shall be discarded if received. + +PCS-Extensions ::= SEQUENCE { + ...} + +SLR-Arg-PCS-Extensions ::= SEQUENCE { + ..., + na-ESRK-Request [0] NULL OPTIONAL } + +END diff --git a/asn1/MAP-GR-DataTypes.asn b/asn1/MAP-GR-DataTypes.asn new file mode 100644 index 0000000..8ceeea1 --- /dev/null +++ b/asn1/MAP-GR-DataTypes.asn @@ -0,0 +1,122 @@ +MAP-GR-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-GR-DataTypes (23) version9 (9)} + +DEFINITIONS + +IMPLICIT TAGS + +::= + +BEGIN + +EXPORTS + PrepareGroupCallArg, + PrepareGroupCallRes, + SendGroupCallEndSignalArg, + SendGroupCallEndSignalRes, + ForwardGroupCallSignallingArg, + ProcessGroupCallSignallingArg +; + +IMPORTS + ISDN-AddressString, + IMSI, + EMLPP-Priority, + ASCI-CallReference +FROM MAP-CommonDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)} + + Ext-TeleserviceCode +FROM MAP-TS-Code { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-TS-Code (19) version9 (9)} + + Kc +FROM MAP-MS-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-MS-DataTypes (11) version9 (9)} + + ExtensionContainer +FROM MAP-ExtensionDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)} +; + + +PrepareGroupCallArg ::= SEQUENCE { + teleservice Ext-TeleserviceCode, + asciCallReference ASCI-CallReference, + codec-Info CODEC-Info, + cipheringAlgorithm CipheringAlgorithm, + groupKeyNumber [0] GroupKeyNumber OPTIONAL, + groupKey [1] Kc OPTIONAL, + priority [2] EMLPP-Priority OPTIONAL, + uplinkFree [3] NULL OPTIONAL, + extensionContainer [4] ExtensionContainer OPTIONAL, + ...} + +PrepareGroupCallRes ::= SEQUENCE { + groupCallNumber ISDN-AddressString, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SendGroupCallEndSignalArg ::= SEQUENCE { + imsi IMSI OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SendGroupCallEndSignalRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ForwardGroupCallSignallingArg ::= SEQUENCE { + imsi IMSI OPTIONAL, + uplinkRequestAck [0] NULL OPTIONAL, + uplinkReleaseIndication [1] NULL OPTIONAL, + uplinkRejectCommand [2] NULL OPTIONAL, + uplinkSeizedCommand [3] NULL OPTIONAL, + uplinkReleaseCommand [4] NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ..., + stateAttributes [5] StateAttributes OPTIONAL } + +ProcessGroupCallSignallingArg ::= SEQUENCE { + uplinkRequest [0] NULL OPTIONAL, + uplinkReleaseIndication [1] NULL OPTIONAL, + releaseGroupCall [2] NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +GroupKeyNumber ::= INTEGER (0..15) + +CODEC-Info ::= OCTET STRING (SIZE (5..10)) + -- Refers to channel type + -- coded according to 3GPP TS 48.008 [49] and including Element identifier and Length + +CipheringAlgorithm ::= OCTET STRING (SIZE (1)) + -- Refers to 'permitted algorithms' in 'encryption information' + -- coded according to 3GPP TS 48.008 [49]: + + -- Bits 8-1 + -- 8765 4321 + -- 0000 0001 No encryption + -- 0000 0010 GSM A5/1 + -- 0000 0100 GSM A5/2 + -- 0000 1000 GSM A5/3 + -- 0001 0000 GSM A5/4 + -- 0010 0000 GSM A5/5 + -- 0100 0000 GSM A5/6 + -- 1000 0000 GSM A5/7 + +StateAttributes ::= SEQUENCE { + downlinkAttached [5] NULL OPTIONAL, + uplinkAttached [6] NULL OPTIONAL, + dualCommunication [7] NULL OPTIONAL, + callOriginator [8] NULL OPTIONAL } + + -- Refers to 3GPP TS 44.068 for definitions of StateAttributes fields. + + +END diff --git a/asn1/MAP-Group-Call-Operations.asn b/asn1/MAP-Group-Call-Operations.asn new file mode 100644 index 0000000..55777fe --- /dev/null +++ b/asn1/MAP-Group-Call-Operations.asn @@ -0,0 +1,72 @@ +MAP-Group-Call-Operations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-Group-Call-Operations (22) + version9 (9)} + +DEFINITIONS + +::= + +BEGIN + +EXPORTS + prepareGroupCall, + sendGroupCallEndSignal, + forwardGroupCallSignalling, + processGroupCallSignalling +; + +IMPORTS + OPERATION +FROM Remote-Operations-Information-Objects { +joint-iso-itu-t remote-operations(4) + informationObjects(5) version1(0)} + + systemFailure, + unexpectedDataValue, + noGroupCallNumberAvailable +FROM MAP-Errors { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-Errors (10) version9 (9)} + + PrepareGroupCallArg, + PrepareGroupCallRes, + SendGroupCallEndSignalArg, + SendGroupCallEndSignalRes, + ForwardGroupCallSignallingArg, + ProcessGroupCallSignallingArg +FROM MAP-GR-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-GR-DataTypes (23) version9 (9)} + +; + +prepareGroupCall OPERATION ::= { --Timer m + ARGUMENT + PrepareGroupCallArg + RESULT + PrepareGroupCallRes + ERRORS { + systemFailure | + noGroupCallNumberAvailable | + unexpectedDataValue} + CODE local:39 } + +sendGroupCallEndSignal OPERATION ::= { --Timer l + ARGUMENT + SendGroupCallEndSignalArg + RESULT + SendGroupCallEndSignalRes + CODE local:40 } + +processGroupCallSignalling OPERATION ::= { --Timer s + ARGUMENT + ProcessGroupCallSignallingArg + CODE local:41 } + +forwardGroupCallSignalling OPERATION ::= { --Timer s + ARGUMENT + ForwardGroupCallSignallingArg + CODE local:42 } + +END diff --git a/asn1/MAP-LCS-DataTypes.asn b/asn1/MAP-LCS-DataTypes.asn new file mode 100644 index 0000000..08962d6 --- /dev/null +++ b/asn1/MAP-LCS-DataTypes.asn @@ -0,0 +1,533 @@ +MAP-LCS-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-LCS-DataTypes (25) version9 (9)} + +DEFINITIONS +IMPLICIT TAGS +::= +BEGIN + +EXPORTS + RoutingInfoForLCS-Arg, + RoutingInfoForLCS-Res, + ProvideSubscriberLocation-Arg, + ProvideSubscriberLocation-Res, + SubscriberLocationReport-Arg, + SubscriberLocationReport-Res, + LocationType, + DeferredLocationEventType, + LCSClientName, + LCS-QoS, + Horizontal-Accuracy, + ResponseTime, + Ext-GeographicalInformation, + SupportedGADShapes, + Add-GeographicalInformation, + LCSRequestorID, + LCS-ReferenceNumber, + LCSCodeword, + AreaEventInfo +; + +IMPORTS + AddressString, + ISDN-AddressString, + IMEI, + IMSI, + LMSI, + SubscriberIdentity, + AgeOfLocationInformation, + LCSClientExternalID, + LCSClientInternalID, + LCSServiceTypeID, + CellGlobalIdOrServiceAreaIdOrLAI +FROM MAP-CommonDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)} + + ExtensionContainer +FROM MAP-ExtensionDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)} + + USSD-DataCodingScheme, + USSD-String +FROM MAP-SS-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) + map-SS-DataTypes (14) version9 (9)} + + APN, + GSN-Address, + SupportedLCS-CapabilitySets +FROM MAP-MS-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-MS-DataTypes (11) version9 (9)} + + Additional-Number +FROM MAP-SM-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SM-DataTypes (16) version9 (9)} +; + + +RoutingInfoForLCS-Arg ::= SEQUENCE { + mlcNumber [0] ISDN-AddressString, + targetMS [1] SubscriberIdentity, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +RoutingInfoForLCS-Res ::= SEQUENCE { + targetMS [0] SubscriberIdentity, + lcsLocationInfo [1] LCSLocationInfo, + extensionContainer [2] ExtensionContainer OPTIONAL, + ..., + v-gmlc-Address [3] GSN-Address OPTIONAL, + h-gmlc-Address [4] GSN-Address OPTIONAL, + ppr-Address [5] GSN-Address OPTIONAL, + additional-v-gmlc-Address [6] GSN-Address OPTIONAL } + +LCSLocationInfo ::= SEQUENCE { + networkNode-Number ISDN-AddressString, + -- NetworkNode-number can be either msc-number or sgsn-number + lmsi [0] LMSI OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ... , + gprsNodeIndicator [2] NULL OPTIONAL, + -- gprsNodeIndicator is set only if the SGSN number is sent as the Network Node Number + additional-Number [3] Additional-Number OPTIONAL, + supportedLCS-CapabilitySets [4] SupportedLCS-CapabilitySets OPTIONAL, + additional-LCS-CapabilitySets [5] SupportedLCS-CapabilitySets OPTIONAL + } + +ProvideSubscriberLocation-Arg ::= SEQUENCE { + locationType LocationType, + mlc-Number ISDN-AddressString, + lcs-ClientID [0] LCS-ClientID OPTIONAL, + privacyOverride [1] NULL OPTIONAL, + imsi [2] IMSI OPTIONAL, + msisdn [3] ISDN-AddressString OPTIONAL, + lmsi [4] LMSI OPTIONAL, + imei [5] IMEI OPTIONAL, + lcs-Priority [6] LCS-Priority OPTIONAL, + lcs-QoS [7] LCS-QoS OPTIONAL, + extensionContainer [8] ExtensionContainer OPTIONAL, + ... , + supportedGADShapes [9] SupportedGADShapes OPTIONAL, + lcs-ReferenceNumber [10] LCS-ReferenceNumber OPTIONAL, + lcsServiceTypeID [11] LCSServiceTypeID OPTIONAL, + lcsCodeword [12] LCSCodeword OPTIONAL, + lcs-PrivacyCheck [13] LCS-PrivacyCheck OPTIONAL, + areaEventInfo [14] AreaEventInfo OPTIONAL, + h-gmlc-Address [15] GSN-Address OPTIONAL } + + -- one of imsi or msisdn is mandatory + -- If a location estimate type indicates activate deferred location or cancel deferred + -- location, a lcs-Reference number shall be included. + +LocationType ::= SEQUENCE { + locationEstimateType [0] LocationEstimateType, + ..., + deferredLocationEventType [1] DeferredLocationEventType OPTIONAL } + +LocationEstimateType ::= ENUMERATED { + currentLocation (0), + currentOrLastKnownLocation (1), + initialLocation (2), + ..., + activateDeferredLocation (3), + cancelDeferredLocation (4) } +-- exception handling: +-- a ProvideSubscriberLocation-Arg containing an unrecognized LocationEstimateType +-- shall be rejected by the receiver with a return error cause of unexpected data value + +DeferredLocationEventType ::= BIT STRING { + msAvailable (0) , + enteringIntoArea (1), + leavingFromArea (2), + beingInsideArea (3) } (SIZE (1..16)) +-- beingInsideArea is always treated as oneTimeEvent regardless of the possible value +-- of occurrenceInfo inside areaEventInfo. +-- exception handling: +-- a ProvideSubscriberLocation-Arg containing other values than listed above in +-- DeferredLocationEventType shall be rejected by the receiver with a return error cause of +-- unexpected data value. + +LCS-ClientID ::= SEQUENCE { + lcsClientType [0] LCSClientType, + lcsClientExternalID [1] LCSClientExternalID OPTIONAL, + lcsClientDialedByMS [2] AddressString OPTIONAL, + lcsClientInternalID [3] LCSClientInternalID OPTIONAL, + lcsClientName [4] LCSClientName OPTIONAL, + ..., + lcsAPN [5] APN OPTIONAL, + lcsRequestorID [6] LCSRequestorID OPTIONAL } + +LCSClientType ::= ENUMERATED { + emergencyServices (0), + valueAddedServices (1), + plmnOperatorServices (2), + lawfulInterceptServices (3), + ... } + -- exception handling: + -- unrecognized values may be ignored if the LCS client uses the privacy override + -- otherwise, an unrecognized value shall be treated as unexpected data by a receiver + -- a return error shall then be returned if received in a MAP invoke + +LCSClientName ::= SEQUENCE { + dataCodingScheme [0] USSD-DataCodingScheme, + nameString [2] NameString, + ..., + lcs-FormatIndicator [3] LCS-FormatIndicator OPTIONAL } + +-- The USSD-DataCodingScheme shall indicate use of the default alphabet through the +-- following encoding +-- bit 7 6 5 4 3 2 1 0 +-- 0 0 0 0 1 1 1 1 + +NameString ::= USSD-String (SIZE (1..maxNameStringLength)) + +maxNameStringLength INTEGER ::= 63 + +LCSRequestorID ::= SEQUENCE { + dataCodingScheme [0] USSD-DataCodingScheme, + requestorIDString [1] RequestorIDString, + ..., + lcs-FormatIndicator [2] LCS-FormatIndicator OPTIONAL } + +RequestorIDString ::= USSD-String (SIZE (1..maxRequestorIDStringLength)) + +maxRequestorIDStringLength INTEGER ::= 63 + +LCS-FormatIndicator ::= ENUMERATED { + logicalName (0), + e-mailAddress (1), + msisdn (2), + url (3), + sipUrl (4), + ... } + +LCS-Priority ::= OCTET STRING (SIZE (1)) + -- 0 = highest priority + -- 1 = normal priority + -- all other values treated as 1 + +LCS-QoS ::= SEQUENCE { + horizontal-accuracy [0] Horizontal-Accuracy OPTIONAL, + verticalCoordinateRequest [1] NULL OPTIONAL, + vertical-accuracy [2] Vertical-Accuracy OPTIONAL, responseTime [3] ResponseTime OPTIONAL, + extensionContainer [4] ExtensionContainer OPTIONAL, + ...} + +Horizontal-Accuracy ::= OCTET STRING (SIZE (1)) + -- bit 8 = 0 + -- bits 7-1 = 7 bit Uncertainty Code defined in 3GPP TS 23.032. The horizontal location + -- error should be less than the error indicated by the uncertainty code with 67% + -- confidence. + +Vertical-Accuracy ::= OCTET STRING (SIZE (1)) + -- bit 8 = 0 + -- bits 7-1 = 7 bit Vertical Uncertainty Code defined in 3GPP TS 23.032. + -- The vertical location error should be less than the error indicated + -- by the uncertainty code with 67% confidence. + +ResponseTime ::= SEQUENCE { + responseTimeCategory ResponseTimeCategory, + ...} +-- note: an expandable SEQUENCE simplifies later addition of a numeric response time. + +ResponseTimeCategory ::= ENUMERATED { + lowdelay (0), + delaytolerant (1), + ... } +-- exception handling: +-- an unrecognized value shall be treated the same as value 1 (delaytolerant) + +SupportedGADShapes ::= BIT STRING { + ellipsoidPoint (0), + ellipsoidPointWithUncertaintyCircle (1), + ellipsoidPointWithUncertaintyEllipse (2), + polygon (3), + ellipsoidPointWithAltitude (4), + ellipsoidPointWithAltitudeAndUncertaintyElipsoid (5), + ellipsoidArc (6) } (SIZE (7..16)) +-- A node shall mark in the BIT STRING all Shapes defined in 3GPP TS 23.032 it supports. +-- exception handling: bits 7 to 15 shall be ignored if received. + +LCS-ReferenceNumber::= OCTET STRING (SIZE(1)) + +LCSCodeword ::= SEQUENCE { + dataCodingScheme [0] USSD-DataCodingScheme, + lcsCodewordString [1] LCSCodewordString, + ...} + +LCSCodewordString ::= USSD-String (SIZE (1..maxLCSCodewordStringLength)) + +maxLCSCodewordStringLength INTEGER ::= 20 + +LCS-PrivacyCheck ::= SEQUENCE { + callSessionUnrelated [0] PrivacyCheckRelatedAction, + callSessionRelated [1] PrivacyCheckRelatedAction OPTIONAL, + ...} + +PrivacyCheckRelatedAction ::= ENUMERATED { + allowedWithoutNotification (0), + allowedWithNotification (1), + allowedIfNoResponse (2), + restrictedIfNoResponse (3), + notAllowed (4), + ...} +-- exception handling: +-- a ProvideSubscriberLocation-Arg containing an unrecognized PrivacyCheckRelatedAction +-- shall be rejected by the receiver with a return error cause of unexpected data value + +AreaEventInfo ::= SEQUENCE { + areaDefinition [0] AreaDefinition, + occurrenceInfo [1] OccurrenceInfo OPTIONAL, + intervalTime [2] IntervalTime OPTIONAL, + ...} + +AreaDefinition ::= SEQUENCE { + areaList [0] AreaList, + ...} + +AreaList ::= SEQUENCE SIZE (1..maxNumOfAreas) OF Area + +maxNumOfAreas INTEGER ::= 10 + +Area ::= SEQUENCE { + areaType [0] AreaType, + areaIdentification [1] AreaIdentification, + ...} + +AreaType ::= ENUMERATED { + countryCode (0), + plmnId (1), + locationAreaId (2), + routingAreaId (3), + cellGlobalId (4), + ...} + +AreaIdentification ::= OCTET STRING (SIZE (2..7)) + -- The internal structure is defined as follows: + -- octet 1 bits 4321 Mobile Country Code 1st digit + -- bits 8765 Mobile Country Code 2nd digit + -- octet 2 bits 4321 Mobile Country Code 3rd digit + -- bits 8765 Mobile Network Code 3rd digit if 3 digit MNC included + -- or filler (1111) + -- octet 3 bits 4321 Mobile Network Code 1st digit + -- bits 8765 Mobile Network Code 2nd digit + -- octets 4 and 5 Location Area Code (LAC) + -- octet 6 Routing Area Code (RAC) for Routing Area Id + -- octets 6 and 7 Cell Identity (CI) for Cell Global Id + +OccurrenceInfo ::= ENUMERATED { + oneTimeEvent (0), + multipleTimeEvent (1), + ...} + +IntervalTime ::= INTEGER (1..32767) + -- minimum interval time between area reports in seconds + +ProvideSubscriberLocation-Res ::= SEQUENCE { + locationEstimate Ext-GeographicalInformation, + ageOfLocationEstimate [0] AgeOfLocationInformation OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ... , + add-LocationEstimate [2] Add-GeographicalInformation OPTIONAL, + deferredmt-lrResponseIndicator [3] NULL OPTIONAL, + geranPositioningData [4] PositioningDataInformation OPTIONAL, + utranPositioningData [5] UtranPositioningDataInfo OPTIONAL, + cellIdOrSai [6] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL, + sai-Present [7] NULL OPTIONAL } + +-- if deferredmt-lrResponseIndicator is set, locationEstimate is ignored. + +-- the add-LocationEstimate parameter shall not be sent to a node that did not indicate the +-- geographic shapes supported in the ProvideSubscriberLocation-Arg +-- The locationEstimate and the add-locationEstimate parameters shall not be sent if +-- the supportedGADShapes parameter has been received in ProvideSubscriberLocation-Arg +-- and the shape encoded in locationEstimate or add-LocationEstimate is not marked +-- as supported in supportedGADShapes. In such a case ProvideSubscriberLocation +-- shall be rejected with error FacilityNotSupported with additional indication +-- shapeOfLocationEstimateNotSupported. +-- sai-Present indicates that the cellIdOrSai parameter contains a Service Area Identity. + +Ext-GeographicalInformation ::= OCTET STRING (SIZE (1..maxExt-GeographicalInformation)) + -- Refers to geographical Information defined in 3GPP TS 23.032. + -- This is composed of 1 or more octets with an internal structure according to + -- 3GPP TS 23.032 + -- Octet 1: Type of shape, only the following shapes in 3GPP TS 23.032 are allowed: + -- (a) Ellipsoid point with uncertainty circle + -- (b) Ellipsoid point with uncertainty ellipse + -- (c) Ellipsoid point with altitude and uncertainty ellipsoid + -- (d) Ellipsoid Arc + -- (e) Ellipsoid Point + -- Any other value in octet 1 shall be treated as invalid + -- Octets 2 to 8 for case (a) - Ellipsoid point with uncertainty circle + -- Degrees of Latitude 3 octets + -- Degrees of Longitude 3 octets + -- Uncertainty code 1 octet + -- Octets 2 to 11 for case (b) - Ellipsoid point with uncertainty ellipse: + -- Degrees of Latitude 3 octets + -- Degrees of Longitude 3 octets + -- Uncertainty semi-major axis 1 octet + -- Uncertainty semi-minor axis 1 octet + -- Angle of major axis 1 octet + -- Confidence 1 octet + -- Octets 2 to 14 for case (c) - Ellipsoid point with altitude and uncertainty ellipsoid + -- Degrees of Latitude 3 octets + -- Degrees of Longitude 3 octets + -- Altitude 2 octets + -- Uncertainty semi-major axis 1 octet + -- Uncertainty semi-minor axis 1 octet + -- Angle of major axis 1 octet + -- Uncertainty altitude 1 octet + -- Confidence 1 octet + -- Octets 2 to 13 for case (d) - Ellipsoid Arc + -- Degrees of Latitude 3 octets + -- Degrees of Longitude 3 octets + -- Inner radius 2 octets + -- Uncertainty radius 1 octet + -- Offset angle 1 octet + -- Included angle 1 octet + -- Confidence 1 octet + -- Octets 2 to 7 for case (e) - Ellipsoid Point + -- Degrees of Latitude 3 octets + -- Degrees of Longitude 3 octets + + -- + -- An Ext-GeographicalInformation parameter comprising more than one octet and + -- containing any other shape or an incorrect number of octets or coding according + -- to 3GPP TS 23.032 shall be treated as invalid data by a receiver. + -- + -- An Ext-GeographicalInformation parameter comprising one octet shall be discarded + -- by the receiver if an Add-GeographicalInformation parameter is received + -- in the same message. + -- + -- An Ext-GeographicalInformation parameter comprising one octet shall be treated as + -- invalid data by the receiver if an Add-GeographicalInformation parameter is not + -- received in the same message. + +maxExt-GeographicalInformation INTEGER ::= 20 + -- the maximum length allows for further shapes in 3GPP TS 23.032 to be included in later + -- versions of 3GPP TS 29.002 + +PositioningDataInformation ::= OCTET STRING (SIZE (2..maxPositioningDataInformation)) + -- Refers to the Positioning Data defined in 3GPP TS 49.031. + -- This is composed of 2 or more octets with an internal structure according to + -- 3GPP TS 49.031. + +maxPositioningDataInformation INTEGER ::= 10 + -- + +UtranPositioningDataInfo ::= OCTET STRING (SIZE (3..maxUtranPositioningDataInfo)) + -- Refers to the Position Data defined in 3GPP TS 25.413. + -- This is composed of the positioningDataDiscriminator and the positioningDataSet + -- included in positionData as defined in 3GPP TS 25.413. + +maxUtranPositioningDataInfo INTEGER ::= 11 + -- + +Add-GeographicalInformation ::= OCTET STRING (SIZE (1..maxAdd-GeographicalInformation)) + -- Refers to geographical Information defined in 3GPP TS 23.032. + -- This is composed of 1 or more octets with an internal structure according to + -- 3GPP TS 23.032 + -- Octet 1: Type of shape, all the shapes defined in 3GPP TS 23.032 are allowed: + -- Octets 2 to n (where n is the total number of octets necessary to encode the shape + -- according to 3GPP TS 23.032) are used to encode the shape itself in accordance with the + -- encoding defined in 3GPP TS 23.032 + -- + -- An Add-GeographicalInformation parameter, whether valid or invalid, received + -- together with a valid Ext-GeographicalInformation parameter in the same message + -- shall be discarded. + -- + -- An Add-GeographicalInformation parameter containing any shape not defined in + -- 3GPP TS 23.032 or an incorrect number of octets or coding according to + -- 3GPP TS 23.032 shall be treated as invalid data by a receiver if not received + -- together with a valid Ext-GeographicalInformation parameter in the same message. + +maxAdd-GeographicalInformation INTEGER ::= 91 + -- the maximum length allows support for all the shapes currently defined in 3GPP TS 23.032 + +SubscriberLocationReport-Arg ::= SEQUENCE { + lcs-Event LCS-Event, + lcs-ClientID LCS-ClientID, + lcsLocationInfo LCSLocationInfo, + msisdn [0] ISDN-AddressString OPTIONAL, + imsi [1] IMSI OPTIONAL, + imei [2] IMEI OPTIONAL, + na-ESRD [3] ISDN-AddressString OPTIONAL, + na-ESRK [4] ISDN-AddressString OPTIONAL, + locationEstimate [5] Ext-GeographicalInformation OPTIONAL, + ageOfLocationEstimate [6] AgeOfLocationInformation OPTIONAL, + extensionContainer [7] ExtensionContainer OPTIONAL, + ... , + add-LocationEstimate [8] Add-GeographicalInformation OPTIONAL, + deferredmt-lrData [9] Deferredmt-lrData OPTIONAL, + lcs-ReferenceNumber [10] LCS-ReferenceNumber OPTIONAL, + geranPositioningData [11] PositioningDataInformation OPTIONAL, + utranPositioningData [12] UtranPositioningDataInfo OPTIONAL, + na-ESRK-Request [16] NULL OPTIONAL, + cellIdOrSai [13] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL, + h-gmlc-Address [14] GSN-Address OPTIONAL, + lcsServiceTypeID [15] LCSServiceTypeID OPTIONAL, + sai-Present [17] NULL OPTIONAL } + + -- one of msisdn or imsi is mandatory + -- a location estimate that is valid for the locationEstimate parameter should + -- be transferred in this parameter in preference to the add-LocationEstimate. + -- the deferredmt-lrData parameter shall be included if and only if the lcs-Event + -- indicates a deferredmt-lrResponse. + -- if the lcs-Event indicates a deferredmt-lrResponse then the locationEstimate + -- and the add-locationEstimate parameters shall not be sent if the + -- supportedGADShapes parameter had been received in ProvideSubscriberLocation-Arg + -- and the shape encoded in locationEstimate or add-LocationEstimate was not marked + -- as supported in supportedGADShapes. In such a case terminationCause + -- in deferredmt-lrData shall be present with value + -- shapeOfLocationEstimateNotSupported. + -- If a lcs event indicates deferred mt-lr response, the lcs-Reference number shall be + -- included. + -- sai-Present indicates that the cellIdOrSai parameter contains a Service Area Identity. + +Deferredmt-lrData ::= SEQUENCE { + deferredLocationEventType DeferredLocationEventType, + terminationCause [0] TerminationCause OPTIONAL, + lcsLocationInfo [1] LCSLocationInfo OPTIONAL, + ...} + -- lcsLocationInfo may be included only if a terminationCause is present + -- indicating mt-lrRestart. + +LCS-Event ::= ENUMERATED { + emergencyCallOrigination (0), + emergencyCallRelease (1), + mo-lr (2), + ..., + deferredmt-lrResponse (3) } + -- exception handling: + -- a SubscriberLocationReport-Arg containing an unrecognized LCS-Event + -- shall be rejected by a receiver with a return error cause of unexpected data value + +TerminationCause ::= ENUMERATED { + normal (0), + errorundefined (1), + internalTimeout (2), + congestion (3), + mt-lrRestart (4), + privacyViolation (5), + ..., + shapeOfLocationEstimateNotSupported (6) } +-- mt-lrRestart shall be used to trigger the GMLC to restart the location procedure, +-- either because the sending node knows that the terminal has moved under coverage +-- of another MSC or SGSN (e.g. Send Identification received), or because the subscriber +-- has been deregistered due to a Cancel Location received from HLR. +-- +-- exception handling +-- an unrecognized value shall be treated the same as value 1 (errorundefined) + +SubscriberLocationReport-Res ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ..., + na-ESRK [0] ISDN-AddressString OPTIONAL } + + +END diff --git a/asn1/MAP-LocationServiceOperations.asn b/asn1/MAP-LocationServiceOperations.asn new file mode 100644 index 0000000..c28ac88 --- /dev/null +++ b/asn1/MAP-LocationServiceOperations.asn @@ -0,0 +1,103 @@ +MAP-LocationServiceOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-LocationServiceOperations (24) + version9 (9)} + +DEFINITIONS + +::= + +BEGIN + +EXPORTS + provideSubscriberLocation, +sendRoutingInfoForLCS, +subscriberLocationReport +; + +IMPORTS + OPERATION +FROM Remote-Operations-Information-Objects { +joint-iso-itu-t remote-operations(4) + informationObjects(5) version1(0)} + +systemFailure, + dataMissing, + unexpectedDataValue, + facilityNotSupported, + unknownSubscriber, + absentSubscriber, + unauthorizedRequestingNetwork, + unauthorizedLCSClient, + positionMethodFailure, + resourceLimitation, + unknownOrUnreachableLCSClient, + unidentifiedSubscriber, + illegalEquipment, + illegalSubscriber +FROM MAP-Errors { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-Errors (10) version9 (9)} + + RoutingInfoForLCS-Arg, + RoutingInfoForLCS-Res, + ProvideSubscriberLocation-Arg, + ProvideSubscriberLocation-Res, + SubscriberLocationReport-Arg, + SubscriberLocationReport-Res +FROM MAP-LCS-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-LCS-DataTypes (25) version9 (9)} +; + +sendRoutingInfoForLCS OPERATION ::= { --Timer m + ARGUMENT + RoutingInfoForLCS-Arg + RESULT + RoutingInfoForLCS-Res + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + facilityNotSupported | + unknownSubscriber | + absentSubscriber | + unauthorizedRequestingNetwork } + CODE local:85 } + +provideSubscriberLocation OPERATION ::= { --Timer ml + ARGUMENT + ProvideSubscriberLocation-Arg + RESULT + ProvideSubscriberLocation-Res + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + facilityNotSupported | + unidentifiedSubscriber | + illegalSubscriber | + illegalEquipment | + absentSubscriber | + unauthorizedRequestingNetwork | + unauthorizedLCSClient | + positionMethodFailure } + CODE local:83 } + +subscriberLocationReport OPERATION ::= { --Timer m + ARGUMENT + SubscriberLocationReport-Arg + RESULT + SubscriberLocationReport-Res + ERRORS { + systemFailure | + dataMissing | + resourceLimitation | + unexpectedDataValue | + unknownSubscriber | + unauthorizedRequestingNetwork | + unknownOrUnreachableLCSClient} + CODE local:86 } + + +END diff --git a/asn1/MAP-MS-DataTypes.asn b/asn1/MAP-MS-DataTypes.asn new file mode 100644 index 0000000..e905c44 --- /dev/null +++ b/asn1/MAP-MS-DataTypes.asn @@ -0,0 +1,2458 @@ +MAP-MS-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-MS-DataTypes (11) version9 (9)} + +DEFINITIONS + +IMPLICIT TAGS + +::= + +BEGIN + +EXPORTS + + -- location registration types + UpdateLocationArg, + UpdateLocationRes, + CancelLocationArg, + CancelLocationRes, + PurgeMS-Arg, + PurgeMS-Res, + SendIdentificationArg, + SendIdentificationRes, + UpdateGprsLocationArg, + UpdateGprsLocationRes, + IST-SupportIndicator, + SupportedLCS-CapabilitySets, + + -- gprs location registration types + GSN-Address, + + -- handover types + ForwardAccessSignalling-Arg, + PrepareHO-Arg, + PrepareHO-Res, + PrepareSubsequentHO-Arg, + PrepareSubsequentHO-Res, + ProcessAccessSignalling-Arg, + SendEndSignal-Arg, + SendEndSignal-Res, + + -- authentication management types + SendAuthenticationInfoArg, + SendAuthenticationInfoRes, + AuthenticationFailureReportArg, + AuthenticationFailureReportRes, + + -- security management types + Kc, + + -- equipment management types + CheckIMEI-Arg, + CheckIMEI-Res, + + -- subscriber management types + InsertSubscriberDataArg, + InsertSubscriberDataRes, + LSAIdentity, + DeleteSubscriberDataArg, + DeleteSubscriberDataRes, + Ext-QoS-Subscribed, + Ext2-QoS-Subscribed, + SubscriberData, + ODB-Data, + SubscriberStatus, + ZoneCodeList, + maxNumOfZoneCodes, + O-CSI, + D-CSI, + O-BcsmCamelTDPCriteriaList, + T-BCSM-CAMEL-TDP-CriteriaList, + SS-CSI, + ServiceKey, + DefaultCallHandling, + CamelCapabilityHandling, + BasicServiceCriteria, + SupportedCamelPhases, + OfferedCamel4CSIs, + OfferedCamel4Functionalities, + maxNumOfCamelTDPData, + CUG-Index, + CUG-Info, + CUG-Interlock, + InterCUG-Restrictions, + IntraCUG-Options, + NotificationToMSUser, + QoS-Subscribed, + IST-AlertTimerValue, + T-CSI, + T-BcsmTriggerDetectionPoint, + APN, + + -- fault recovery types + ResetArg, + RestoreDataArg, + RestoreDataRes, + +-- provide subscriber info types + GeographicalInformation, + MS-Classmark2, + GPRSMSClass, + + -- subscriber information enquiry types + ProvideSubscriberInfoArg, + ProvideSubscriberInfoRes, + SubscriberInfo, + LocationInformation, + LocationInformationGPRS, + RAIdentity, + SubscriberState, + GPRSChargingID, + MNPInfoRes, + RouteingNumber, + + -- any time information enquiry types + AnyTimeInterrogationArg, + AnyTimeInterrogationRes, + + -- any time information handling types + AnyTimeSubscriptionInterrogationArg, + AnyTimeSubscriptionInterrogationRes, + AnyTimeModificationArg, + AnyTimeModificationRes, + + -- subscriber data modification notification types + NoteSubscriberDataModifiedArg, + NoteSubscriberDataModifiedRes, + + -- gprs location information retrieval types + SendRoutingInfoForGprsArg, + SendRoutingInfoForGprsRes, + + -- failure reporting types + FailureReportArg, + FailureReportRes, + + -- gprs notification types + NoteMsPresentForGprsArg, + NoteMsPresentForGprsRes, + + -- Mobility Management types + NoteMM-EventArg, + NoteMM-EventRes, + NumberPortabilityStatus + +; + +IMPORTS + maxNumOfSS, + SS-SubscriptionOption, + SS-List, + SS-ForBS-Code, + Password +FROM MAP-SS-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SS-DataTypes (14) version9 (9)} + + SS-Code +FROM MAP-SS-Code { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SS-Code (15) version9 (9)} + + Ext-BearerServiceCode +FROM MAP-BS-Code { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-BS-Code (20) version9 (9)} + + Ext-TeleserviceCode +FROM MAP-TS-Code { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-TS-Code (19) version9 (9)} + + AddressString, + ISDN-AddressString, + ISDN-SubaddressString, + FTN-AddressString, + AccessNetworkSignalInfo, + IMSI, + IMEI, + TMSI, + HLR-List, + LMSI, + Identity, + GlobalCellId, + CellGlobalIdOrServiceAreaIdOrLAI, + Ext-BasicServiceCode, + NAEA-PreferredCI, + EMLPP-Info, + MC-SS-Info, + SubscriberIdentity, + AgeOfLocationInformation, + LCSClientExternalID, + LCSClientInternalID, + Ext-SS-Status, + LCSServiceTypeID, + ASCI-CallReference, + TBCD-STRING +FROM MAP-CommonDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)} + + ExtensionContainer +FROM MAP-ExtensionDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)} + + AbsentSubscriberDiagnosticSM +FROM MAP-ER-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ER-DataTypes (17) version9 (9)} + +; + +-- location registration types + +UpdateLocationArg ::= SEQUENCE { + imsi IMSI, + msc-Number [1] ISDN-AddressString, + vlr-Number ISDN-AddressString, + lmsi [10] LMSI OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... , + vlr-Capability [6] VLR-Capability OPTIONAL, + informPreviousNetworkEntity [11] NULL OPTIONAL, + cs-LCS-NotSupportedByUE [12] NULL OPTIONAL, + v-gmlc-Address [2] GSN-Address OPTIONAL, + add-info [13] ADD-Info OPTIONAL } + +VLR-Capability ::= SEQUENCE{ + supportedCamelPhases [0] SupportedCamelPhases OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... , + solsaSupportIndicator [2] NULL OPTIONAL, + istSupportIndicator [1] IST-SupportIndicator OPTIONAL, + superChargerSupportedInServingNetworkEntity [3] SuperChargerInfo OPTIONAL, + longFTN-Supported [4] NULL OPTIONAL, + supportedLCS-CapabilitySets [5] SupportedLCS-CapabilitySets OPTIONAL, + offeredCamel4CSIs [6] OfferedCamel4CSIs OPTIONAL } + +SuperChargerInfo ::= CHOICE { + sendSubscriberData [0] NULL, + subscriberDataStored [1] AgeIndicator } + +AgeIndicator ::= OCTET STRING (SIZE (1..6)) + -- The internal structure of this parameter is implementation specific. + +IST-SupportIndicator ::= ENUMERATED { + basicISTSupported (0), + istCommandSupported (1), + ...} +-- exception handling: +-- reception of values > 1 shall be mapped to ' istCommandSupported ' + +SupportedLCS-CapabilitySets ::= BIT STRING { + lcsCapabilitySet1 (0), + lcsCapabilitySet2 (1), + lcsCapabilitySet3 (2), + lcsCapabilitySet4 (3) } (SIZE (2..16)) +-- Core network signalling capability set1 indicates LCS Release98 or Release99 version. +-- Core network signalling capability set2 indicates LCS Release4. +-- Core network signalling capability set3 indicates LCS Release5. +-- Core network signalling capability set4 indicates LCS Release6 or later version. +-- A node shall mark in the BIT STRING all LCS capability sets it supports. +-- If no bit is set then the sending node does not support LCS. +-- If the parameter is not sent by an VLR then the VLR may support at most capability set1. +-- If the parameter is not sent by an SGSN then no support for LCS is assumed. +-- An SGSN is not allowed to indicate support of capability set1. +-- Other bits than listed above shall be discarded. + +UpdateLocationRes ::= SEQUENCE { + hlr-Number ISDN-AddressString, + extensionContainer ExtensionContainer OPTIONAL, + ..., + add-Capability NULL OPTIONAL } + +ADD-Info ::= SEQUENCE { + imeisv [0] IMEI, + skipSubscriberDataUpdate [1] NULL OPTIONAL, + ...} + + +CancelLocationArg ::= [3] SEQUENCE { + identity Identity, + cancellationType CancellationType OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +CancellationType ::= ENUMERATED { + updateProcedure (0), + subscriptionWithdraw (1), + ...} + -- The HLR shall not send values other than listed above + +CancelLocationRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +PurgeMS-Arg ::= [3] SEQUENCE { + imsi IMSI, + vlr-Number [0] ISDN-AddressString OPTIONAL, + sgsn-Number [1] ISDN-AddressString OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +PurgeMS-Res ::= SEQUENCE { + freezeTMSI [0] NULL OPTIONAL, + freezeP-TMSI [1] NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SendIdentificationArg ::= SEQUENCE { + tmsi TMSI, + numberOfRequestedVectors NumberOfRequestedVectors OPTIONAL, + -- within a dialogue numberOfRequestedVectors shall be present in + -- the first service request and shall not be present in subsequent service requests. + -- If received in a subsequent service request it shall be discarded. + segmentationProhibited NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ..., + msc-Number ISDN-AddressString OPTIONAL } + +SendIdentificationRes ::= [3] SEQUENCE { + imsi IMSI OPTIONAL, + -- IMSI shall be present in the first (or only) service response of a dialogue. + -- If multiple service requests are present in a dialogue then IMSI + -- shall not be present in any service response other than the first one. + authenticationSetList AuthenticationSetList OPTIONAL, + currentSecurityContext [2]CurrentSecurityContext OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +-- authentication management types + +AuthenticationSetList ::= CHOICE { + tripletList [0] TripletList, + quintupletList [1] QuintupletList } + +TripletList ::= SEQUENCE SIZE (1..5) OF + AuthenticationTriplet + +QuintupletList ::= SEQUENCE SIZE (1..5) OF + AuthenticationQuintuplet + +AuthenticationTriplet ::= SEQUENCE { + rand RAND, + sres SRES, + kc Kc, + ...} + +AuthenticationQuintuplet ::= SEQUENCE { + rand RAND, + xres XRES, + ck CK, + ik IK, + autn AUTN, + ...} + +CurrentSecurityContext ::= CHOICE { + gsm-SecurityContextData [0] GSM-SecurityContextData, + umts-SecurityContextData [1] UMTS-SecurityContextData } + +GSM-SecurityContextData ::= SEQUENCE { + kc Kc, + cksn Cksn, + ... } + +UMTS-SecurityContextData ::= SEQUENCE { + ck CK, + ik IK, + ksi KSI, + ... } + +RAND ::= OCTET STRING (SIZE (16)) + +SRES ::= OCTET STRING (SIZE (4)) + +Kc ::= OCTET STRING (SIZE (8)) + +XRES ::= OCTET STRING (SIZE (4..16)) + +CK ::= OCTET STRING (SIZE (16)) + +IK ::= OCTET STRING (SIZE (16)) + +AUTN ::= OCTET STRING (SIZE (16)) + +AUTS ::= OCTET STRING (SIZE (14)) + +Cksn ::= OCTET STRING (SIZE (1)) + -- The internal structure is defined in 3GPP TS 24.008 + +KSI ::= OCTET STRING (SIZE (1)) + -- The internal structure is defined in 3GPP TS 24.008 + +AuthenticationFailureReportArg ::= SEQUENCE { + imsi IMSI, + failureCause FailureCause, + extensionContainer ExtensionContainer OPTIONAL, + ... , + re-attempt BOOLEAN OPTIONAL, + accessType AccessType OPTIONAL, + rand RAND OPTIONAL, + vlr-Number [0] ISDN-AddressString OPTIONAL, + sgsn-Number [1] ISDN-AddressString OPTIONAL } + +AccessType ::= ENUMERATED { + call (0), + emergencyCall (1), + locationUpdating (2), + supplementaryService (3), + shortMessage (4), + gprsAttach (5), + routingAreaUpdating (6), + serviceRequest (7), + pdpContextActivation (8), + pdpContextDeactivation (9), + ..., + gprsDetach (10)} + -- exception handling: + -- received values greater than 10 shall be ignored. + +AuthenticationFailureReportRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +FailureCause ::= ENUMERATED { + wrongUserResponse (0), + wrongNetworkSignature (1)} + +-- gprs location registration types + +UpdateGprsLocationArg ::= SEQUENCE { + imsi IMSI, + sgsn-Number ISDN-AddressString, + sgsn-Address GSN-Address, + extensionContainer ExtensionContainer OPTIONAL, + ... , + sgsn-Capability [0] SGSN-Capability OPTIONAL, + informPreviousNetworkEntity [1] NULL OPTIONAL, + ps-LCS-NotSupportedByUE [2] NULL OPTIONAL, + v-gmlc-Address [3] GSN-Address OPTIONAL, + add-info [4] ADD-Info OPTIONAL } + +SGSN-Capability ::= SEQUENCE{ + solsaSupportIndicator NULL OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ... , + superChargerSupportedInServingNetworkEntity [2] SuperChargerInfo OPTIONAL , + gprsEnhancementsSupportIndicator [3] NULL OPTIONAL, + supportedCamelPhases [4] SupportedCamelPhases OPTIONAL, + supportedLCS-CapabilitySets [5] SupportedLCS-CapabilitySets OPTIONAL, + offeredCamel4CSIs [6] OfferedCamel4CSIs OPTIONAL, + smsCallBarringSupportIndicator [7] NULL OPTIONAL } + +GSN-Address ::= OCTET STRING (SIZE (5..17)) + -- Octets are coded according to TS 3GPP TS 23.003 [17] + +UpdateGprsLocationRes ::= SEQUENCE { + hlr-Number ISDN-AddressString, + extensionContainer ExtensionContainer OPTIONAL, + ..., + add-Capability NULL OPTIONAL } + +-- handover types + +ForwardAccessSignalling-Arg ::= [3] SEQUENCE { + an-APDU AccessNetworkSignalInfo, + integrityProtectionInfo [0] IntegrityProtectionInformation OPTIONAL, + encryptionInfo [1] EncryptionInformation OPTIONAL, + keyStatus [2] KeyStatus OPTIONAL, + allowedGSM-Algorithms [4] AllowedGSM-Algorithms OPTIONAL, + allowedUMTS-Algorithms [5] AllowedUMTS-Algorithms OPTIONAL, + radioResourceInformation [6] RadioResourceInformation OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ..., + radioResourceList [7] RadioResourceList OPTIONAL, + bssmap-ServiceHandover [9] BSSMAP-ServiceHandover OPTIONAL, + ranap-ServiceHandover [8] RANAP-ServiceHandover OPTIONAL, + bssmap-ServiceHandoverList [10] BSSMAP-ServiceHandoverList OPTIONAL, + currentlyUsedCodec [11] Codec OPTIONAL, + iuSupportedCodecsList [12] SupportedCodecsList OPTIONAL, + rab-ConfigurationIndicator [13] NULL OPTIONAL, + iuSelectedCodec [14] Codec OPTIONAL } + +AllowedGSM-Algorithms ::= OCTET STRING (SIZE (1)) + -- internal structure is coded as Algorithm identifier octet from + -- Permitted Algorithms defined in 3GPP TS 48.008 + -- A node shall mark all GSM algorithms that are allowed in MSC-B + +AllowedUMTS-Algorithms ::= SEQUENCE { + integrityProtectionAlgorithms [0] PermittedIntegrityProtectionAlgorithms OPTIONAL, + encryptionAlgorithms [1] PermittedEncryptionAlgorithms OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +PermittedIntegrityProtectionAlgorithms ::= + OCTET STRING (SIZE (1..maxPermittedIntegrityProtectionAlgorithmsLength)) + -- Octets contain a complete PermittedIntegrityProtectionAlgorithms data type + -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme + -- mandated by 3GPP TS 25.413. + -- Padding bits are included, if needed, in the least significant bits of the + -- last octet of the octet string. + + +maxPermittedIntegrityProtectionAlgorithmsLength INTEGER ::= 9 + +PermittedEncryptionAlgorithms ::= + OCTET STRING (SIZE (1..maxPermittedEncryptionAlgorithmsLength)) + -- Octets contain a complete PermittedEncryptionAlgorithms data type + -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme + -- mandated by 3GPP TS 25.413 + -- Padding bits are included, if needed, in the least significant bits of the + -- last octet of the octet string. + + +maxPermittedEncryptionAlgorithmsLength INTEGER ::= 9 + +KeyStatus ::= ENUMERATED { + old (0), + new (1), + ...} + -- exception handling: + -- received values in range 2-31 shall be treated as "old" + -- received values greater than 31 shall be treated as "new" + +PrepareHO-Arg ::= [3] SEQUENCE { + targetCellId [0] GlobalCellId OPTIONAL, + ho-NumberNotRequired NULL OPTIONAL, + targetRNCId [1] RNCId OPTIONAL, + an-APDU [2] AccessNetworkSignalInfo OPTIONAL, + multipleBearerRequested [3] NULL OPTIONAL, + imsi [4] IMSI OPTIONAL, + integrityProtectionInfo [5] IntegrityProtectionInformation OPTIONAL, + encryptionInfo [6] EncryptionInformation OPTIONAL, + radioResourceInformation [7] RadioResourceInformation OPTIONAL, + allowedGSM-Algorithms [9] AllowedGSM-Algorithms OPTIONAL, + allowedUMTS-Algorithms [10] AllowedUMTS-Algorithms OPTIONAL, + radioResourceList [11] RadioResourceList OPTIONAL, + extensionContainer [8] ExtensionContainer OPTIONAL, + ... , + rab-Id [12] RAB-Id OPTIONAL, + bssmap-ServiceHandover [13] BSSMAP-ServiceHandover OPTIONAL, + ranap-ServiceHandover [14] RANAP-ServiceHandover OPTIONAL, + bssmap-ServiceHandoverList [15] BSSMAP-ServiceHandoverList OPTIONAL, + asciCallReference [20] ASCI-CallReference OPTIONAL, + geran-classmark [16] GERAN-Classmark OPTIONAL, + iuCurrentlyUsedCodec [17] Codec OPTIONAL, + iuSupportedCodecsList [18] SupportedCodecsList OPTIONAL, + rab-ConfigurationIndicator [19] NULL OPTIONAL, + uesbi-Iu [21] UESBI-Iu OPTIONAL } + +BSSMAP-ServiceHandoverList ::= SEQUENCE SIZE (1.. maxNumOfServiceHandovers) OF + BSSMAP-ServiceHandoverInfo + +BSSMAP-ServiceHandoverInfo ::= SEQUENCE { + bssmap-ServiceHandover BSSMAP-ServiceHandover, + rab-Id RAB-Id, + -- RAB Identity is needed to relate the service handovers with the radio access bearers. + ...} + +maxNumOfServiceHandovers INTEGER ::= 7 + +BSSMAP-ServiceHandover ::= OCTET STRING (SIZE (1)) + -- Octets are coded according the Service Handover information element in + -- 3GPP TS 48.008. + +RANAP-ServiceHandover ::= OCTET STRING (SIZE (1)) + -- Octet contains a complete Service-Handover data type + -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme + -- mandated by 3GPP TS 25.413 + -- Padding bits are included in the least significant bits. + + +RadioResourceList ::= SEQUENCE SIZE (1.. maxNumOfRadioResources) OF + RadioResource + +RadioResource ::= SEQUENCE { + radioResourceInformation RadioResourceInformation, + rab-Id RAB-Id, + -- RAB Identity is needed to relate the radio resources with the radio access bearers. + ...} + +maxNumOfRadioResources INTEGER ::= 7 + +PrepareHO-Res ::= [3] SEQUENCE { + handoverNumber [0] ISDN-AddressString OPTIONAL, + relocationNumberList [1] RelocationNumberList OPTIONAL, + an-APDU [2] AccessNetworkSignalInfo OPTIONAL, + multicallBearerInfo [3] MulticallBearerInfo OPTIONAL, + multipleBearerNotSupported NULL OPTIONAL, + selectedUMTS-Algorithms [5] SelectedUMTS-Algorithms OPTIONAL, + chosenRadioResourceInformation [6] ChosenRadioResourceInformation OPTIONAL, + extensionContainer [4] ExtensionContainer OPTIONAL, + ..., + iuSelectedCodec [7] Codec OPTIONAL, + iuAvailableCodecsList [8] CodecList OPTIONAL } + +SelectedUMTS-Algorithms ::= SEQUENCE { + integrityProtectionAlgorithm [0] ChosenIntegrityProtectionAlgorithm OPTIONAL, + encryptionAlgorithm [1] ChosenEncryptionAlgorithm OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +ChosenIntegrityProtectionAlgorithm ::= OCTET STRING (SIZE (1)) + -- Octet contains a complete IntegrityProtectionAlgorithm data type + -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme + -- mandated by 3GPP TS 25.413 + -- Padding bits are included in the least significant bits. + +ChosenEncryptionAlgorithm ::= OCTET STRING (SIZE (1)) + -- Octet contains a complete EncryptionAlgorithm data type + -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme + -- mandated by 3GPP TS 25.413 + -- Padding bits are included in the least significant bits. + +ChosenRadioResourceInformation ::= SEQUENCE { + chosenChannelInfo [0] ChosenChannelInfo OPTIONAL, + chosenSpeechVersion [1] ChosenSpeechVersion OPTIONAL, + ...} + +ChosenChannelInfo ::= OCTET STRING (SIZE (1)) + -- Octets are coded according the Chosen Channel information element in 3GPP TS 48.008 + +ChosenSpeechVersion ::= OCTET STRING (SIZE (1)) + -- Octets are coded according the Speech Version (chosen) information element in 3GPP TS + -- 48.008 + +PrepareSubsequentHO-Arg ::= [3] SEQUENCE { + targetCellId [0] GlobalCellId OPTIONAL, + targetMSC-Number [1] ISDN-AddressString, + targetRNCId [2] RNCId OPTIONAL, + an-APDU [3] AccessNetworkSignalInfo OPTIONAL, + selectedRab-Id [4] RAB-Id OPTIONAL, + extensionContainer [5] ExtensionContainer OPTIONAL, + ..., + geran-classmark [6] GERAN-Classmark OPTIONAL, + rab-ConfigurationIndicator [7] NULL OPTIONAL } + +PrepareSubsequentHO-Res ::= [3] SEQUENCE { + an-APDU AccessNetworkSignalInfo, + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +ProcessAccessSignalling-Arg ::= [3] SEQUENCE { + an-APDU AccessNetworkSignalInfo, + selectedUMTS-Algorithms [1] SelectedUMTS-Algorithms OPTIONAL, + selectedGSM-Algorithm [2] SelectedGSM-Algorithm OPTIONAL, + chosenRadioResourceInformation [3] ChosenRadioResourceInformation OPTIONAL, + selectedRab-Id [4] RAB-Id OPTIONAL, + extensionContainer [0] ExtensionContainer OPTIONAL, + ..., + iUSelectedCodec [5] Codec OPTIONAL, + iuAvailableCodecsList [6] CodecList OPTIONAL } + +SupportedCodecsList ::= SEQUENCE { + utranCodecList [0] CodecList OPTIONAL, + geranCodecList [1] CodecList OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +CodecList ::= SEQUENCE { + codec1 [1] Codec, + codec2 [2] Codec OPTIONAL, + codec3 [3] Codec OPTIONAL, + codec4 [4] Codec OPTIONAL, + codec5 [5] Codec OPTIONAL, + codec6 [6] Codec OPTIONAL, + codec7 [7] Codec OPTIONAL, + codec8 [8] Codec OPTIONAL, + extensionContainer [9] ExtensionContainer OPTIONAL, + ...} + -- Codecs are sent in priority order where codec1 has highest priority + +Codec ::= OCTET STRING (SIZE (1..4)) + + -- The internal structure is defined as follows: + -- octet 1 Coded as Codec Identification code in 3GPP TS 26.103 + -- octets 2,3,4 Parameters for the Codec as defined in 3GPP TS + -- 26.103, if available, length depending on the codec + +GERAN-Classmark ::= OCTET STRING (SIZE (2..87)) + -- Octets are coded according the GERAN Classmark information element in 3GPP TS 48.008 + +SelectedGSM-Algorithm ::= OCTET STRING (SIZE (1)) + -- internal structure is coded as Algorithm identifier octet from Chosen Encryption + -- Algorithm defined in 3GPP TS 48.008 + -- A node shall mark only the selected GSM algorithm + +SendEndSignal-Arg ::= [3] SEQUENCE { + an-APDU AccessNetworkSignalInfo, + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +SendEndSignal-Res ::= SEQUENCE { + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +RNCId ::= OCTET STRING (SIZE (7)) + -- The internal structure is defined as follows: + -- octet 1 bits 4321 Mobile Country Code 1st digit + -- bits 8765 Mobile Country Code 2nd digit + -- octet 2 bits 4321 Mobile Country Code 3rd digit + -- bits 8765 Mobile Network Code 3rd digit + -- or filler (1111) for 2 digit MNCs + -- octet 3 bits 4321 Mobile Network Code 1st digit + -- bits 8765 Mobile Network Code 2nd digit + -- octets 4 and 5 Location Area Code according to 3GPP TS 24.008 + -- octets 6 and 7 RNC Id value according to 3GPP TS 25.413 + +RelocationNumberList ::= SEQUENCE SIZE (1..maxNumOfRelocationNumber) OF + RelocationNumber + +MulticallBearerInfo ::= INTEGER (1..maxNumOfRelocationNumber) + +RelocationNumber ::= SEQUENCE { + handoverNumber ISDN-AddressString, + rab-Id RAB-Id, + -- RAB Identity is needed to relate the calls with the radio access bearers. + ...} + +RAB-Id ::= INTEGER (1..maxNrOfRABs) + +maxNrOfRABs INTEGER ::= 255 + +maxNumOfRelocationNumber INTEGER ::= 7 + +RadioResourceInformation ::= OCTET STRING (SIZE (3..13)) + -- Octets are coded according the Channel Type information element in 3GPP TS 48.008 + +IntegrityProtectionInformation ::= OCTET STRING (SIZE (18..maxNumOfIntegrityInfo)) + -- Octets contain a complete IntegrityProtectionInformation data type + -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme + -- mandated by 3GPP TS 25.413 + -- Padding bits are included, if needed, in the least significant bits of the + -- last octet of the octet string. + +maxNumOfIntegrityInfo INTEGER ::= 100 + +EncryptionInformation ::= OCTET STRING (SIZE (18..maxNumOfEncryptionInfo)) + -- Octets contain a complete EncryptionInformation data type + -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme + -- mandated by 3GPP TS 25.413 + -- Padding bits are included, if needed, in the least significant bits of the + -- last octet of the octet string. + +maxNumOfEncryptionInfo INTEGER ::= 100 + +-- authentication management types + +SendAuthenticationInfoArg ::= SEQUENCE { + imsi [0] IMSI, + numberOfRequestedVectors NumberOfRequestedVectors, + segmentationProhibited NULL OPTIONAL, + immediateResponsePreferred [1] NULL OPTIONAL, + re-synchronisationInfo Re-synchronisationInfo OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ..., + requestingNodeType [3] RequestingNodeType OPTIONAL, + requestingPLMN-Id [4] PLMN-Id OPTIONAL } + +PLMN-Id ::= OCTET STRING (SIZE (3)) + -- The internal structure is defined as follows: + -- octet 1 bits 4321 Mobile Country Code 1st digit + -- bits 8765 Mobile Country Code 2nd digit + -- octet 2 bits 4321 Mobile Country Code 3rd digit + -- bits 8765 Mobile Network Code 3rd digit + -- or filler (1111) for 2 digit MNCs + -- octet 3 bits 4321 Mobile Network Code 1st digit + -- bits 8765 Mobile Network Code 2nd digit + +NumberOfRequestedVectors ::= INTEGER (1..5) + +Re-synchronisationInfo ::= SEQUENCE { + rand RAND, + auts AUTS, + ...} + +SendAuthenticationInfoRes ::= [3] SEQUENCE { + authenticationSetList AuthenticationSetList OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +RequestingNodeType ::= ENUMERATED { + vlr (0), + sgsn (1), + ...} + -- exception handling: + -- received values in the range 2-15 shall be treated as "vlr" + -- received values greater than 15 shall be treated as "sgsn" + +-- equipment management types + +CheckIMEI-Arg ::= SEQUENCE { + imei IMEI, + requestedEquipmentInfo RequestedEquipmentInfo, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +CheckIMEI-Res ::= SEQUENCE { + equipmentStatus EquipmentStatus OPTIONAL, + bmuef UESBI-Iu OPTIONAL, + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +RequestedEquipmentInfo::= BIT STRING { + equipmentStatus (0), + bmuef (1)} (SIZE (2..8)) + -- exception handling: reception of unknown bit assignments in the + -- RequestedEquipmentInfo data type shall be discarded by the receiver + +UESBI-Iu ::= SEQUENCE { + uesbi-IuA [0] UESBI-IuA OPTIONAL, + uesbi-IuB [1] UESBI-IuB OPTIONAL, + ...} + +UESBI-IuA ::= BIT STRING (SIZE(1..128)) +-- See 3GPP TS 25.413 + +UESBI-IuB ::= BIT STRING (SIZE(1..128)) +-- See 3GPP TS 25.413 + +EquipmentStatus ::= ENUMERATED { + whiteListed (0), + blackListed (1), + greyListed (2)} + +-- subscriber management types + +InsertSubscriberDataArg ::= SEQUENCE { + imsi [0] IMSI OPTIONAL, + COMPONENTS OF SubscriberData, + extensionContainer [14] ExtensionContainer OPTIONAL, + ... , + naea-PreferredCI [15] NAEA-PreferredCI OPTIONAL, + -- naea-PreferredCI is included at the discretion of the HLR operator. + gprsSubscriptionData [16] GPRSSubscriptionData OPTIONAL, + roamingRestrictedInSgsnDueToUnsupportedFeature [23] NULL + OPTIONAL, + networkAccessMode [24] NetworkAccessMode OPTIONAL, + lsaInformation [25] LSAInformation OPTIONAL, + lmu-Indicator [21] NULL OPTIONAL, + lcsInformation [22] LCSInformation OPTIONAL, + istAlertTimer [26] IST-AlertTimerValue OPTIONAL, + superChargerSupportedInHLR [27] AgeIndicator OPTIONAL, + mc-SS-Info [28] MC-SS-Info OPTIONAL, + cs-AllocationRetentionPriority [29] CS-AllocationRetentionPriority OPTIONAL, + sgsn-CAMEL-SubscriptionInfo [17] SGSN-CAMEL-SubscriptionInfo OPTIONAL, + chargingCharacteristics [18] ChargingCharacteristics OPTIONAL, + accessRestrictionData [19] AccessRestrictionData OPTIONAL + } + -- If the Network Access Mode parameter is sent, it shall be present only in + -- the first sequence if seqmentation is used + +AccessRestrictionData ::= BIT STRING { + utranNotAllowed (0), + geranNotAllowed (1) } (SIZE (2..8)) + -- exception handling: + -- bits 2 to 7 shall be ignored if received and not understood + + +CS-AllocationRetentionPriority ::= OCTET STRING (SIZE (1)) + -- This data type encodes each priority level defined in TS 23.107 as the binary value + -- of the priority level. + +IST-AlertTimerValue ::= INTEGER (15..255) + +LCSInformation ::= SEQUENCE { + gmlc-List [0] GMLC-List OPTIONAL, + lcs-PrivacyExceptionList [1] LCS-PrivacyExceptionList OPTIONAL, + molr-List [2] MOLR-List OPTIONAL, + ..., + add-lcs-PrivacyExceptionList [3] LCS-PrivacyExceptionList OPTIONAL } + -- add-lcs-PrivacyExceptionList may be sent only if lcs-PrivacyExceptionList is + -- present and contains four instances of LCS-PrivacyClass. If the mentioned condition + -- is not satisfied the receiving node shall discard add-lcs-PrivacyExceptionList. + -- If an LCS-PrivacyClass is received both in lcs-PrivacyExceptionList and in + -- add-lcs-PrivacyExceptionList with the same SS-Code, then the error unexpected + -- data value shall be returned. + +GMLC-List ::= SEQUENCE SIZE (1..maxNumOfGMLC) OF + ISDN-AddressString + -- if segmentation is used, the complete GMLC-List shall be sent in one segment + +maxNumOfGMLC INTEGER ::= 5 + +NetworkAccessMode ::= ENUMERATED { + bothMSCAndSGSN (0), + onlyMSC (1), + onlySGSN (2), + ...} + -- if unknown values are received in NetworkAccessMode + -- they shall be discarded. + +GPRSDataList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF + PDP-Context + +maxNumOfPDP-Contexts INTEGER ::= 50 + +PDP-Context ::= SEQUENCE { + pdp-ContextId ContextId, + pdp-Type [16] PDP-Type, + pdp-Address [17] PDP-Address OPTIONAL, + qos-Subscribed [18] QoS-Subscribed, + vplmnAddressAllowed [19] NULL OPTIONAL, + apn [20] APN, + extensionContainer [21] ExtensionContainer OPTIONAL, + ... , + ext-QoS-Subscribed [0] Ext-QoS-Subscribed OPTIONAL, + pdp-ChargingCharacteristics [1] ChargingCharacteristics OPTIONAL, + ext2-QoS-Subscribed [2] Ext2-QoS-Subscribed OPTIONAL + -- ext2-QoS-Subscribed may be present only if ext-QoS-Subscribed is present. + } + +ContextId ::= INTEGER (1..maxNumOfPDP-Contexts) + +GPRSSubscriptionData ::= SEQUENCE { + completeDataListIncluded NULL OPTIONAL, + -- If segmentation is used, completeDataListIncluded may only be present in the + -- first segment. + gprsDataList [1] GPRSDataList, + extensionContainer [2] ExtensionContainer OPTIONAL, + ... } + +SGSN-CAMEL-SubscriptionInfo ::= SEQUENCE { + gprs-CSI [0] GPRS-CSI OPTIONAL, + mo-sms-CSI [1] SMS-CSI OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ..., + mt-sms-CSI [3] SMS-CSI OPTIONAL, + mt-smsCAMELTDP-CriteriaList [4] MT-smsCAMELTDP-CriteriaList OPTIONAL, + mg-csi [5] MG-CSI OPTIONAL + } + +GPRS-CSI ::= SEQUENCE { + gprs-CamelTDPDataList [0] GPRS-CamelTDPDataList OPTIONAL, + camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + notificationToCSE [3] NULL OPTIONAL, + csi-Active [4] NULL OPTIONAL, + ...} +-- notificationToCSE and csi-Active shall not be present when GPRS-CSI is sent to SGSN. +-- They may only be included in ATSI/ATM ack/NSDC message. +-- GPRS-CamelTDPData and camelCapabilityHandling shall be present in +-- the GPRS-CSI sequence. +-- If GPRS-CSI is segmented, gprs-CamelTDPDataList and camelCapabilityHandling shall be +-- present in the first segment + +GPRS-CamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF + GPRS-CamelTDPData +-- GPRS-CamelTDPDataList shall not contain more than one instance of +-- GPRS-CamelTDPData containing the same value for gprs-TriggerDetectionPoint. + +GPRS-CamelTDPData ::= SEQUENCE { + gprs-TriggerDetectionPoint [0] GPRS-TriggerDetectionPoint, + serviceKey [1] ServiceKey, + gsmSCF-Address [2] ISDN-AddressString, + defaultSessionHandling [3] DefaultGPRS-Handling, + extensionContainer [4] ExtensionContainer OPTIONAL, + ... + } + +DefaultGPRS-Handling ::= ENUMERATED { + continueTransaction (0) , + releaseTransaction (1) , + ...} +-- exception handling: +-- reception of values in range 2-31 shall be treated as "continueTransaction" +-- reception of values greater than 31 shall be treated as "releaseTransaction" + +GPRS-TriggerDetectionPoint ::= ENUMERATED { + attach (1), + attachChangeOfPosition (2), + pdp-ContextEstablishment (11), + pdp-ContextEstablishmentAcknowledgement (12), + pdp-ContextChangeOfPosition (14), + ... } +-- exception handling: +-- For GPRS-CamelTDPData sequences containing this parameter with any +-- other value than the ones listed the receiver shall ignore the whole +-- GPRS-CamelTDPDatasequence. + +APN ::= OCTET STRING (SIZE (2..63)) + -- Octets are coded according to TS 3GPP TS 23.003 [17] + +PDP-Type ::= OCTET STRING (SIZE (2)) + -- Octets are coded according to TS 3GPP TS 29.060 [105] + +PDP-Address ::= OCTET STRING (SIZE (1..16)) + -- Octets are coded according to TS 3GPP TS 29.060 [105] + + -- The possible size values are: + -- 1-7 octets X.25 address type + -- 4 octets IPv4 address type + -- 16 octets Ipv6 address type + +QoS-Subscribed ::= OCTET STRING (SIZE (3)) + -- Octets are coded according to TS 3GPP TS 24.008 [35] Quality of Service Octets + -- 3-5. + +Ext-QoS-Subscribed ::= OCTET STRING (SIZE (1..9)) + -- OCTET 1: + -- Allocation/Retention Priority (This octet encodes each priority level defined in + -- 23.107 as the binary value of the priority level, declaration in 29.060) + -- Octets 2-9 are coded according to 3GPP TS 24.008 [35] Quality of Service Octets + -- 6-13. + +Ext2-QoS-Subscribed ::= OCTET STRING (SIZE (1..3)) + -- Octets 1-3 are coded according to 3GPP TS 24.008 [35] Quality of Service Octets 14-16. + -- If Quality of Service information is structured with 14 octet length, then + -- Octet 1 is coded according to 3GPP TS 24.008 [35] Quality of Service Octet 14. + +ChargingCharacteristics ::= OCTET STRING (SIZE (2)) + -- Octets are coded according to 3GPP TS 32.215. + +LSAOnlyAccessIndicator ::= ENUMERATED { + accessOutsideLSAsAllowed (0), + accessOutsideLSAsRestricted (1)} + +LSADataList ::= SEQUENCE SIZE (1..maxNumOfLSAs) OF + LSAData + +maxNumOfLSAs INTEGER ::= 20 + +LSAData ::= SEQUENCE { + lsaIdentity [0] LSAIdentity, + lsaAttributes [1] LSAAttributes, + lsaActiveModeIndicator [2] NULL OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +LSAInformation ::= SEQUENCE { + completeDataListIncluded NULL OPTIONAL, + + -- If segmentation is used, completeDataListIncluded may only be present in the + -- first segment. + lsaOnlyAccessIndicator [1] LSAOnlyAccessIndicator OPTIONAL, + lsaDataList [2] LSADataList OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +LSAIdentity ::= OCTET STRING (SIZE (3)) + -- Octets are coded according to TS 3GPP TS 23.003 [17] + +LSAAttributes ::= OCTET STRING (SIZE (1)) + -- Octets are coded according to TS 3GPP TS 48.008 [49] + +SubscriberData ::= SEQUENCE { + msisdn [1] ISDN-AddressString OPTIONAL, + category [2] Category OPTIONAL, + subscriberStatus [3] SubscriberStatus OPTIONAL, + bearerServiceList [4] BearerServiceList OPTIONAL, + -- The exception handling for reception of unsupported / not allocated + -- bearerServiceCodes is defined in section 8.8.1 + teleserviceList [6] TeleserviceList OPTIONAL, + -- The exception handling for reception of unsupported / not allocated + -- teleserviceCodes is defined in section 8.8.1 + provisionedSS [7] Ext-SS-InfoList OPTIONAL, + odb-Data [8] ODB-Data OPTIONAL, + roamingRestrictionDueToUnsupportedFeature [9] NULL OPTIONAL, + regionalSubscriptionData [10] ZoneCodeList OPTIONAL, + vbsSubscriptionData [11] VBSDataList OPTIONAL, + vgcsSubscriptionData [12] VGCSDataList OPTIONAL, + vlrCamelSubscriptionInfo [13] VlrCamelSubscriptionInfo OPTIONAL + } + +Category ::= OCTET STRING (SIZE (1)) + -- The internal structure is defined in ITU-T Rec Q.763. + +SubscriberStatus ::= ENUMERATED { + serviceGranted (0), + operatorDeterminedBarring (1)} + +BearerServiceList ::= SEQUENCE SIZE (1..maxNumOfBearerServices) OF + Ext-BearerServiceCode + +maxNumOfBearerServices INTEGER ::= 50 + +TeleserviceList ::= SEQUENCE SIZE (1..maxNumOfTeleservices) OF + Ext-TeleserviceCode + +maxNumOfTeleservices INTEGER ::= 20 + +ODB-Data ::= SEQUENCE { + odb-GeneralData ODB-GeneralData, + odb-HPLMN-Data ODB-HPLMN-Data OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ODB-GeneralData ::= BIT STRING { + allOG-CallsBarred (0), + internationalOGCallsBarred (1), + internationalOGCallsNotToHPLMN-CountryBarred (2), + interzonalOGCallsBarred (6), + interzonalOGCallsNotToHPLMN-CountryBarred (7), + interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred (8), + premiumRateInformationOGCallsBarred (3), + premiumRateEntertainementOGCallsBarred (4), + ss-AccessBarred (5), + allECT-Barred (9), + chargeableECT-Barred (10), + internationalECT-Barred (11), + interzonalECT-Barred (12), + doublyChargeableECT-Barred (13), + multipleECT-Barred (14), + allPacketOrientedServicesBarred (15), + roamerAccessToHPLMN-AP-Barred (16), + roamerAccessToVPLMN-AP-Barred (17), + roamingOutsidePLMNOG-CallsBarred (18), + allIC-CallsBarred (19), + roamingOutsidePLMNIC-CallsBarred (20), + roamingOutsidePLMNICountryIC-CallsBarred (21), + roamingOutsidePLMN-Barred (22), + roamingOutsidePLMN-CountryBarred (23), + registrationAllCF-Barred (24), + registrationCFNotToHPLMN-Barred (25), + registrationInterzonalCF-Barred (26), + registrationInterzonalCFNotToHPLMN-Barred (27), + registrationInternationalCF-Barred (28)} (SIZE (15..32)) + -- exception handling: reception of unknown bit assignments in the + -- ODB-GeneralData type shall be treated like unsupported ODB-GeneralData + -- When the ODB-GeneralData type is removed from the HLR for a given subscriber, + -- in NoteSubscriberDataModified operation sent toward the gsmSCF + -- all bits shall be set to "O". + +ODB-HPLMN-Data ::= BIT STRING { + plmn-SpecificBarringType1 (0), + plmn-SpecificBarringType2 (1), + plmn-SpecificBarringType3 (2), + plmn-SpecificBarringType4 (3)} (SIZE (4..32)) + -- exception handling: reception of unknown bit assignments in the + -- ODB-HPLMN-Data type shall be treated like unsupported ODB-HPLMN-Data + -- When the ODB-HPLMN-Data type is removed from the HLR for a given subscriber, + -- in NoteSubscriberDataModified operation sent toward the gsmSCF + -- all bits shall be set to "O". + +Ext-SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF + Ext-SS-Info + +Ext-SS-Info ::= CHOICE { + forwardingInfo [0] Ext-ForwInfo, + callBarringInfo [1] Ext-CallBarInfo, + cug-Info [2] CUG-Info, + ss-Data [3] Ext-SS-Data, + emlpp-Info [4] EMLPP-Info} + +Ext-ForwInfo ::= SEQUENCE { + ss-Code SS-Code, + forwardingFeatureList Ext-ForwFeatureList, + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +Ext-ForwFeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF + Ext-ForwFeature + +Ext-ForwFeature ::= SEQUENCE { + basicService Ext-BasicServiceCode OPTIONAL, + ss-Status [4] Ext-SS-Status, + forwardedToNumber [5] ISDN-AddressString OPTIONAL, + -- When this data type is sent from an HLR which supports CAMEL Phase 2 + -- to a VLR that supports CAMEL Phase 2 the VLR shall not check the + -- format of the number + forwardedToSubaddress [8] ISDN-SubaddressString OPTIONAL, + forwardingOptions [6] Ext-ForwOptions OPTIONAL, + noReplyConditionTime [7] Ext-NoRepCondTime OPTIONAL, + extensionContainer [9] ExtensionContainer OPTIONAL, + ..., + longForwardedToNumber [10] FTN-AddressString OPTIONAL } + +Ext-ForwOptions ::= OCTET STRING (SIZE (1..5)) + + -- OCTET 1: + + -- bit 8: notification to forwarding party + -- 0 no notification + -- 1 notification + + -- bit 7: redirecting presentation + -- 0 no presentation + -- 1 presentation + + -- bit 6: notification to calling party + -- 0 no notification + -- 1 notification + + -- bit 5: 0 (unused) + + -- bits 43: forwarding reason + -- 00 ms not reachable + -- 01 ms busy + -- 10 no reply + -- 11 unconditional + + -- bits 21: 00 (unused) + + -- OCTETS 2-5: reserved for future use. They shall be discarded if + -- received and not understood. + +Ext-NoRepCondTime ::= INTEGER (1..100) + -- Only values 5-30 are used. + -- Values in the ranges 1-4 and 31-100 are reserved for future use + -- If received: + -- values 1-4 shall be mapped on to value 5 + -- values 31-100 shall be mapped on to value 30 + +Ext-CallBarInfo ::= SEQUENCE { + ss-Code SS-Code, + callBarringFeatureList Ext-CallBarFeatureList, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +Ext-CallBarFeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF + Ext-CallBarringFeature + +Ext-CallBarringFeature ::= SEQUENCE { + basicService Ext-BasicServiceCode OPTIONAL, + ss-Status [4] Ext-SS-Status, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +CUG-Info ::= SEQUENCE { + cug-SubscriptionList CUG-SubscriptionList, + cug-FeatureList CUG-FeatureList OPTIONAL, + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +CUG-SubscriptionList ::= SEQUENCE SIZE (0..maxNumOfCUG) OF + CUG-Subscription + +CUG-Subscription ::= SEQUENCE { + cug-Index CUG-Index, + cug-Interlock CUG-Interlock, + intraCUG-Options IntraCUG-Options, + basicServiceGroupList Ext-BasicServiceGroupList OPTIONAL, + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +CUG-Index ::= INTEGER (0..32767) + -- The internal structure is defined in ETS 300 138. + +CUG-Interlock ::= OCTET STRING (SIZE (4)) + +IntraCUG-Options ::= ENUMERATED { + noCUG-Restrictions (0), + cugIC-CallBarred (1), + cugOG-CallBarred (2)} + +maxNumOfCUG INTEGER ::= 10 + +CUG-FeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF + CUG-Feature + +Ext-BasicServiceGroupList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF + Ext-BasicServiceCode + +maxNumOfExt-BasicServiceGroups INTEGER ::= 32 + +CUG-Feature ::= SEQUENCE { + basicService Ext-BasicServiceCode OPTIONAL, + preferentialCUG-Indicator CUG-Index OPTIONAL, + interCUG-Restrictions InterCUG-Restrictions, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +InterCUG-Restrictions ::= OCTET STRING (SIZE (1)) + + -- bits 876543: 000000 (unused) + -- Exception handling: + -- bits 876543 shall be ignored if received and not understood + + -- bits 21 + -- 00 CUG only facilities + -- 01 CUG with outgoing access + -- 10 CUG with incoming access + -- 11 CUG with both outgoing and incoming access + +Ext-SS-Data ::= SEQUENCE { + ss-Code SS-Code, + ss-Status [4] Ext-SS-Status, + ss-SubscriptionOption SS-SubscriptionOption OPTIONAL, + basicServiceGroupList Ext-BasicServiceGroupList OPTIONAL, + extensionContainer [5] ExtensionContainer OPTIONAL, + ...} + +LCS-PrivacyExceptionList ::= SEQUENCE SIZE (1..maxNumOfPrivacyClass) OF + LCS-PrivacyClass + +maxNumOfPrivacyClass INTEGER ::= 4 + +LCS-PrivacyClass ::= SEQUENCE { + ss-Code SS-Code, + ss-Status Ext-SS-Status, + notificationToMSUser [0] NotificationToMSUser OPTIONAL, + -- notificationToMSUser may be sent only for SS-codes callSessionRelated + -- and callSessionUnrelated. If not received for SS-codes callSessionRelated + -- and callSessionUnrelated, + -- the default values according to 3GPP TS 23.271 shall be assumed. + externalClientList [1] ExternalClientList OPTIONAL, + -- externalClientList may be sent only for SS-code callSessionUnrelated to a + -- visited node that does not support LCS Release 4 or later versions. + -- externalClientList may be sent only for SS-codes callSessionUnrelated and + -- callSessionRelated to a visited node that supports LCS Release 4 or later versions. + plmnClientList [2] PLMNClientList OPTIONAL, + -- plmnClientList may be sent only for SS-code plmnoperator. + extensionContainer [3] ExtensionContainer OPTIONAL, + ..., + ext-externalClientList [4] Ext-ExternalClientList OPTIONAL, + -- Ext-externalClientList may be sent only if the visited node supports LCS Release 4 or + -- later versions, the user did specify more than 5 clients, and White Book SCCP is used. + serviceTypeList [5] ServiceTypeList OPTIONAL + -- serviceTypeList may be sent only for SS-code serviceType and if the visited node + -- supports LCS Release 5 or later versions. + -- + -- if segmentation is used, the complete LCS-PrivacyClass shall be sent in one segment +} + +ExternalClientList ::= SEQUENCE SIZE (0..maxNumOfExternalClient) OF + ExternalClient + +maxNumOfExternalClient INTEGER ::= 5 + +PLMNClientList ::= SEQUENCE SIZE (1..maxNumOfPLMNClient) OF + LCSClientInternalID + +maxNumOfPLMNClient INTEGER ::= 5 + +Ext-ExternalClientList ::= SEQUENCE SIZE (1..maxNumOfExt-ExternalClient) OF + ExternalClient + +maxNumOfExt-ExternalClient INTEGER ::= 35 + +ExternalClient ::= SEQUENCE { + clientIdentity LCSClientExternalID, + gmlc-Restriction [0] GMLC-Restriction OPTIONAL, + notificationToMSUser [1] NotificationToMSUser OPTIONAL, + -- If notificationToMSUser is not received, the default value according to + -- 3GPP TS 23.271 shall be assumed. + extensionContainer [2] ExtensionContainer OPTIONAL, + ... } + +GMLC-Restriction ::= ENUMERATED { + gmlc-List (0), + home-Country (1) , + ... } +-- exception handling: +-- At reception of any other value than the ones listed the receiver shall ignore +-- GMLC-Restriction. + +NotificationToMSUser ::= ENUMERATED { + notifyLocationAllowed (0), + notifyAndVerify-LocationAllowedIfNoResponse (1), + notifyAndVerify-LocationNotAllowedIfNoResponse (2), + ..., + locationNotAllowed (3) } +-- exception handling: +-- At reception of any other value than the ones listed the receiver shall ignore +-- NotificationToMSUser. + +ServiceTypeList ::= SEQUENCE SIZE (1..maxNumOfServiceType) OF + ServiceType + +maxNumOfServiceType INTEGER ::= 32 + +ServiceType ::= SEQUENCE { + serviceTypeIdentity LCSServiceTypeID, + gmlc-Restriction [0] GMLC-Restriction OPTIONAL, + notificationToMSUser [1] NotificationToMSUser OPTIONAL, + -- If notificationToMSUser is not received, the default value according to + -- 3GPP TS 23.271 shall be assumed. + extensionContainer [2] ExtensionContainer OPTIONAL, + ... } + +MOLR-List ::= SEQUENCE SIZE (1..maxNumOfMOLR-Class) OF + MOLR-Class + +maxNumOfMOLR-Class INTEGER ::= 3 + +MOLR-Class ::= SEQUENCE { + ss-Code SS-Code, + ss-Status Ext-SS-Status, + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +ZoneCodeList ::= SEQUENCE SIZE (1..maxNumOfZoneCodes) + OF ZoneCode + +ZoneCode ::= OCTET STRING (SIZE (2)) + -- internal structure is defined in TS 3GPP TS 23.003 [17] + +maxNumOfZoneCodes INTEGER ::= 10 + +InsertSubscriberDataRes ::= SEQUENCE { + teleserviceList [1] TeleserviceList OPTIONAL, + bearerServiceList [2] BearerServiceList OPTIONAL, + ss-List [3] SS-List OPTIONAL, + odb-GeneralData [4] ODB-GeneralData OPTIONAL, + regionalSubscriptionResponse [5] RegionalSubscriptionResponse OPTIONAL, + supportedCamelPhases [6] SupportedCamelPhases OPTIONAL, + extensionContainer [7] ExtensionContainer OPTIONAL, + ... , + offeredCamel4CSIs [8] OfferedCamel4CSIs OPTIONAL } + +RegionalSubscriptionResponse ::= ENUMERATED { + networkNode-AreaRestricted (0), + tooManyZoneCodes (1), + zoneCodesConflict (2), + regionalSubscNotSupported (3)} + +DeleteSubscriberDataArg ::= SEQUENCE { + imsi [0] IMSI, + basicServiceList [1] BasicServiceList OPTIONAL, + -- The exception handling for reception of unsupported/not allocated + -- basicServiceCodes is defined in section 6.8.2 + ss-List [2] SS-List OPTIONAL, + roamingRestrictionDueToUnsupportedFeature [4] NULL OPTIONAL, + regionalSubscriptionIdentifier [5] ZoneCode OPTIONAL, + vbsGroupIndication [7] NULL OPTIONAL, + vgcsGroupIndication [8] NULL OPTIONAL, + camelSubscriptionInfoWithdraw [9] NULL OPTIONAL, + extensionContainer [6] ExtensionContainer OPTIONAL, + ..., + gprsSubscriptionDataWithdraw [10] GPRSSubscriptionDataWithdraw OPTIONAL, + roamingRestrictedInSgsnDueToUnsuppportedFeature [11] NULL OPTIONAL, + lsaInformationWithdraw [12] LSAInformationWithdraw OPTIONAL, + gmlc-ListWithdraw [13] NULL OPTIONAL, + istInformationWithdraw [14] NULL OPTIONAL, + specificCSI-Withdraw [15] SpecificCSI-Withdraw OPTIONAL } + +SpecificCSI-Withdraw ::= BIT STRING { + o-csi (0), + ss-csi (1), + tif-csi (2), + d-csi (3), + vt-csi (4), + mo-sms-csi (5), + m-csi (6), + gprs-csi (7), + t-csi (8), + mt-sms-csi (9), + mg-csi (10), + o-IM-CSI (11), + d-IM-CSI (12), + vt-IM-CSI (13) } (SIZE(8..32)) +-- exception handling: +-- bits 11 to 31 shall be ignored if received by a non-IP Multimedia Core Network entity. +-- bits 0-10 and 14-31 shall be ignored if received by an IP Multimedia Core Network entity. +-- bits 11-13 are only applicable in an IP Multimedia Core Network. +-- Bit 8 and bits 11-13 are only applicable for the NoteSubscriberDataModified operation. + +GPRSSubscriptionDataWithdraw ::= CHOICE { + allGPRSData NULL, + contextIdList ContextIdList} + +ContextIdList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF + ContextId + +LSAInformationWithdraw ::= CHOICE { + allLSAData NULL, + lsaIdentityList LSAIdentityList } + +LSAIdentityList ::= SEQUENCE SIZE (1..maxNumOfLSAs) OF + LSAIdentity + +BasicServiceList ::= SEQUENCE SIZE (1..maxNumOfBasicServices) OF + Ext-BasicServiceCode + +maxNumOfBasicServices INTEGER ::= 70 + +DeleteSubscriberDataRes ::= SEQUENCE { + regionalSubscriptionResponse [0] RegionalSubscriptionResponse OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +VlrCamelSubscriptionInfo ::= SEQUENCE { + o-CSI [0] O-CSI OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ..., + ss-CSI [2] SS-CSI OPTIONAL, + o-BcsmCamelTDP-CriteriaList [4] O-BcsmCamelTDPCriteriaList OPTIONAL, + tif-CSI [3] NULL OPTIONAL, + m-CSI [5] M-CSI OPTIONAL, + mo-sms-CSI [6] SMS-CSI OPTIONAL, + vt-CSI [7] T-CSI OPTIONAL, + t-BCSM-CAMEL-TDP-CriteriaList [8] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL, + d-CSI [9] D-CSI OPTIONAL, + mt-sms-CSI [10] SMS-CSI OPTIONAL, + mt-smsCAMELTDP-CriteriaList [11] MT-smsCAMELTDP-CriteriaList OPTIONAL + } + +MT-smsCAMELTDP-CriteriaList ::= SEQUENCE SIZE (1.. maxNumOfCamelTDPData) OF + MT-smsCAMELTDP-Criteria + +MT-smsCAMELTDP-Criteria ::= SEQUENCE { + sms-TriggerDetectionPoint SMS-TriggerDetectionPoint, + tpdu-TypeCriterion [0] TPDU-TypeCriterion OPTIONAL, + ... } + +TPDU-TypeCriterion ::= SEQUENCE SIZE (1..maxNumOfTPDUTypes) OF + MT-SMS-TPDU-Type + + +maxNumOfTPDUTypes INTEGER ::= 5 + +MT-SMS-TPDU-Type ::= ENUMERATED { + sms-DELIVER (0), + sms-SUBMIT-REPORT (1), + sms-STATUS-REPORT (2), + ... } + +-- exception handling: +-- For TPDU-TypeCriterion sequences containing this parameter with any +-- other value than the ones listed above the receiver shall ignore +-- the whole TPDU-TypeCriterion sequence. +-- In CAMEL phase 4, sms-SUBMIT-REPORT shall not be used and a received TPDU-TypeCriterion +-- sequence containing sms-SUBMIT-REPORT shall be wholly ignored. + +D-CSI ::= SEQUENCE { + dp-AnalysedInfoCriteriaList [0] DP-AnalysedInfoCriteriaList OPTIONAL, + camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + notificationToCSE [3] NULL OPTIONAL, + csi-Active [4] NULL OPTIONAL, + ...} +-- notificationToCSE and csi-Active shall not be present when D-CSI is sent to VLR/GMSC. +-- They may only be included in ATSI/ATM ack/NSDC message. +-- DP-AnalysedInfoCriteria and camelCapabilityHandling shall be present in +-- the D-CSI sequence. +-- If D-CSI is segmented, then the first segment shall contain dp-AnalysedInfoCriteriaList +-- and camelCapabilityHandling. Subsequent segments shall not contain +-- camelCapabilityHandling, but may contain dp-AnalysedInfoCriteriaList. + +DP-AnalysedInfoCriteriaList ::= SEQUENCE SIZE (1..maxNumOfDP-AnalysedInfoCriteria) OF + DP-AnalysedInfoCriterium + +maxNumOfDP-AnalysedInfoCriteria INTEGER ::= 10 + +DP-AnalysedInfoCriterium ::= SEQUENCE { + dialledNumber ISDN-AddressString, + serviceKey ServiceKey, + gsmSCF-Address ISDN-AddressString, + defaultCallHandling DefaultCallHandling, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SS-CSI ::= SEQUENCE { + ss-CamelData SS-CamelData, + extensionContainer ExtensionContainer OPTIONAL, + ..., + notificationToCSE [0] NULL OPTIONAL, + csi-Active [1] NULL OPTIONAL +-- notificationToCSE and csi-Active shall not be present when SS-CSI is sent to VLR. +-- They may only be included in ATSI/ATM ack/NSDC message. +} + +SS-CamelData ::= SEQUENCE { + ss-EventList SS-EventList, + gsmSCF-Address ISDN-AddressString, + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +SS-EventList ::= SEQUENCE SIZE (1..maxNumOfCamelSSEvents) OF SS-Code + -- Actions for the following SS-Code values are defined in CAMEL Phase 3: + -- ect SS-Code ::= '00110001'B + -- multiPTY SS-Code ::= '01010001'B + -- cd SS-Code ::= '00100100'B + -- ccbs SS-Code ::= '01000100'B + -- all other SS codes shall be ignored + -- When SS-CSI is sent to the VLR, it shall not contain a marking for ccbs. + -- If the VLR receives SS-CSI containing a marking for ccbs, the VLR shall discard the + -- ccbs marking in SS-CSI. + +maxNumOfCamelSSEvents INTEGER ::= 10 + +O-CSI ::= SEQUENCE { + o-BcsmCamelTDPDataList O-BcsmCamelTDPDataList, + extensionContainer ExtensionContainer OPTIONAL, + ..., + camelCapabilityHandling [0] CamelCapabilityHandling OPTIONAL, + notificationToCSE [1] NULL OPTIONAL, + csiActive [2] NULL OPTIONAL} +-- notificationtoCSE and csiActive shall not be present when O-CSI is sent to VLR/GMSC. +-- They may only be included in ATSI/ATM ack/NSDC message. +-- O-CSI shall not be segmented. + +O-BcsmCamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF + O-BcsmCamelTDPData + -- O-BcsmCamelTDPDataList shall not contain more than one instance of + -- O-BcsmCamelTDPData containing the same value for o-BcsmTriggerDetectionPoint. + -- For CAMEL Phase 2, this means that only one instance of O-BcsmCamelTDPData is allowed + -- with o-BcsmTriggerDetectionPoint being equal to DP2. + +maxNumOfCamelTDPData INTEGER ::= 10 + +O-BcsmCamelTDPData ::= SEQUENCE { + o-BcsmTriggerDetectionPoint O-BcsmTriggerDetectionPoint, + serviceKey ServiceKey, + gsmSCF-Address [0] ISDN-AddressString, + defaultCallHandling [1] DefaultCallHandling, + extensionContainer [2] ExtensionContainer OPTIONAL, + ... + } + +ServiceKey ::= INTEGER (0..2147483647) + +O-BcsmTriggerDetectionPoint ::= ENUMERATED { + collectedInfo (2), + ..., + routeSelectFailure (4) } + -- exception handling: + -- For O-BcsmCamelTDPData sequences containing this parameter with any + -- other value than the ones listed the receiver shall ignore the whole + -- O-BcsmCamelTDPDatasequence. + -- For O-BcsmCamelTDP-Criteria sequences containing this parameter with any + -- other value than the ones listed the receiver shall ignore the whole + -- O-BcsmCamelTDP-Criteria sequence. + +O-BcsmCamelTDPCriteriaList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF + O-BcsmCamelTDP-Criteria + +T-BCSM-CAMEL-TDP-CriteriaList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF + T-BCSM-CAMEL-TDP-Criteria + +O-BcsmCamelTDP-Criteria ::= SEQUENCE { + o-BcsmTriggerDetectionPoint O-BcsmTriggerDetectionPoint, + destinationNumberCriteria [0] DestinationNumberCriteria OPTIONAL, + basicServiceCriteria [1] BasicServiceCriteria OPTIONAL, + callTypeCriteria [2] CallTypeCriteria OPTIONAL, + ..., + o-CauseValueCriteria [3] O-CauseValueCriteria OPTIONAL, + extensionContainer [4] ExtensionContainer OPTIONAL } + +T-BCSM-CAMEL-TDP-Criteria ::= SEQUENCE { + t-BCSM-TriggerDetectionPoint T-BcsmTriggerDetectionPoint, + basicServiceCriteria [0] BasicServiceCriteria OPTIONAL, + t-CauseValueCriteria [1] T-CauseValueCriteria OPTIONAL, + ... } + +DestinationNumberCriteria ::= SEQUENCE { + matchType [0] MatchType, + destinationNumberList [1] DestinationNumberList OPTIONAL, + destinationNumberLengthList [2] DestinationNumberLengthList OPTIONAL, + -- one or both of destinationNumberList and destinationNumberLengthList + -- shall be present + ...} + +DestinationNumberList ::= SEQUENCE SIZE (1..maxNumOfCamelDestinationNumbers) OF + ISDN-AddressString + -- The receiving entity shall not check the format of a number in + -- the dialled number list + +DestinationNumberLengthList ::= SEQUENCE SIZE (1..maxNumOfCamelDestinationNumberLengths) OF + INTEGER(1..maxNumOfISDN-AddressDigits) + +BasicServiceCriteria ::= SEQUENCE SIZE(1..maxNumOfCamelBasicServiceCriteria) OF + Ext-BasicServiceCode + +maxNumOfISDN-AddressDigits INTEGER ::= 15 + +maxNumOfCamelDestinationNumbers INTEGER ::= 10 + +maxNumOfCamelDestinationNumberLengths INTEGER ::= 3 + +maxNumOfCamelBasicServiceCriteria INTEGER ::= 5 + +CallTypeCriteria ::= ENUMERATED { + forwarded (0), + notForwarded (1)} + +MatchType ::= ENUMERATED { + inhibiting (0), + enabling (1)} + +O-CauseValueCriteria ::= SEQUENCE SIZE(1..maxNumOfCAMEL-O-CauseValueCriteria) OF + CauseValue + +T-CauseValueCriteria ::= SEQUENCE SIZE(1..maxNumOfCAMEL-T-CauseValueCriteria) OF + CauseValue + +maxNumOfCAMEL-O-CauseValueCriteria INTEGER ::= 5 + +maxNumOfCAMEL-T-CauseValueCriteria INTEGER ::= 5 + +CauseValue ::= OCTET STRING (SIZE(1)) +-- Type extracted from Cause parameter in ITU-T Recommendation Q.763. +-- For the use of cause value refer to ITU-T Recommendation Q.850. + +DefaultCallHandling ::= ENUMERATED { + continueCall (0) , + releaseCall (1) , + ...} + -- exception handling: + -- reception of values in range 2-31 shall be treated as "continueCall" + -- reception of values greater than 31 shall be treated as "releaseCall" + +CamelCapabilityHandling ::= INTEGER(1..16) + -- value 1 = CAMEL phase 1, + -- value 2 = CAMEL phase 2, + -- value 3 = CAMEL Phase 3, + -- value 4 = CAMEL phase 4: + -- reception of values greater than 4 shall be treated as CAMEL phase 4. + +SupportedCamelPhases ::= BIT STRING { + phase1 (0), + phase2 (1), + phase3 (2), + phase4 (3)} (SIZE (1..16)) +-- A node shall mark in the BIT STRING all CAMEL Phases it supports. +-- Other values than listed above shall be discarded. + +OfferedCamel4CSIs ::= BIT STRING { + o-csi (0), + d-csi (1), + vt-csi (2), + t-csi (3), + mt-sms-csi (4), + mg-csi (5), + psi-enhancements (6) +} (SIZE (7..16)) +-- A node supporting Camel phase 4 shall mark in the BIT STRING all Camel4 CSIs +-- it offers. +-- Other values than listed above shall be discarded. + +OfferedCamel4Functionalities ::= BIT STRING { + initiateCallAttempt (0), + splitLeg (1), + moveLeg (2), + disconnectLeg (3), + entityReleased (4), + dfc-WithArgument (5), + playTone (6), + dtmf-MidCall (7), + chargingIndicator (8), + alertingDP (9), + locationAtAlerting (10), + changeOfPositionDP (11), + or-Interactions (12), + warningToneEnhancements (13), + cf-Enhancements (14), + subscribedEnhancedDialledServices (15), + servingNetworkEnhancedDialledServices (16), + criteriaForChangeOfPositionDP (17), + serviceChangeDP (18) +} (SIZE (15..64)) +-- A node supporting Camel phase 4 shall mark in the BIT STRING all CAMEL4 +-- functionalities it offers. +-- Other values than listed above shall be discarded. + +SMS-CSI ::= SEQUENCE { + sms-CAMEL-TDP-DataList [0] SMS-CAMEL-TDP-DataList OPTIONAL, + camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + notificationToCSE [3] NULL OPTIONAL, + csi-Active [4] NULL OPTIONAL, + ...} +-- notificationToCSE and csi-Active shall not be present +-- when MO-SMS-CSI or MT-SMS-CSI is sent to VLR or SGSN. +-- They may only be included in ATSI/ATM ack/NSDC message. +-- SMS-CAMEL-TDP-Data and camelCapabilityHandling shall be present in +-- the SMS-CSI sequence. +-- If SMS-CSI is segmented, sms-CAMEL-TDP-DataList and camelCapabilityHandling shall be +-- present in the first segment + +SMS-CAMEL-TDP-DataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF + SMS-CAMEL-TDP-Data +-- SMS-CAMEL-TDP-DataList shall not contain more than one instance of +-- SMS-CAMEL-TDP-Data containing the same value for sms-TriggerDetectionPoint. + +SMS-CAMEL-TDP-Data ::= SEQUENCE { + sms-TriggerDetectionPoint [0] SMS-TriggerDetectionPoint, + serviceKey [1] ServiceKey, + gsmSCF-Address [2] ISDN-AddressString, + defaultSMS-Handling [3] DefaultSMS-Handling, + extensionContainer [4] ExtensionContainer OPTIONAL, + ... + } + +SMS-TriggerDetectionPoint ::= ENUMERATED { + sms-CollectedInfo (1), + ..., + sms-DeliveryRequest (2) + } +-- exception handling: +-- For SMS-CAMEL-TDP-Data and MT-smsCAMELTDP-Criteria sequences containing this +-- parameter with any other value than the ones listed the receiver shall ignore +-- the whole sequence. +-- +-- If this parameter is received with any other value than sms-CollectedInfo +-- in an SMS-CAMEL-TDP-Data sequence contained in mo-sms-CSI, then the receiver shall +-- ignore the whole SMS-CAMEL-TDP-Data sequence. +-- +-- If this parameter is received with any other value than sms-DeliveryRequest +-- in an SMS-CAMEL-TDP-Data sequence contained in mt-sms-CSI then the receiver shall +-- ignore the whole SMS-CAMEL-TDP-Data sequence. +-- +-- If this parameter is received with any other value than sms-DeliveryRequest +-- in an MT-smsCAMELTDP-Criteria sequence then the receiver shall +-- ignore the whole MT-smsCAMELTDP-Criteria sequence. + +DefaultSMS-Handling ::= ENUMERATED { + continueTransaction (0) , + releaseTransaction (1) , + ...} +-- exception handling: +-- reception of values in range 2-31 shall be treated as "continueTransaction" +-- reception of values greater than 31 shall be treated as "releaseTransaction" + +M-CSI ::= SEQUENCE { + mobilityTriggers MobilityTriggers, + serviceKey ServiceKey, + gsmSCF-Address [0] ISDN-AddressString, + extensionContainer [1] ExtensionContainer OPTIONAL, + notificationToCSE [2] NULL OPTIONAL, + csi-Active [3] NULL OPTIONAL, + ...} +-- notificationToCSE and csi-Active shall not be present when M-CSI is sent to VLR. +-- They may only be included in ATSI/ATM ack/NSDC message. + +MG-CSI ::= SEQUENCE { + mobilityTriggers MobilityTriggers, + serviceKey ServiceKey, + gsmSCF-Address [0] ISDN-AddressString, + extensionContainer [1] ExtensionContainer OPTIONAL, + notificationToCSE [2] NULL OPTIONAL, + csi-Active [3] NULL OPTIONAL, + ...} +-- notificationToCSE and csi-Active shall not be present when MG-CSI is sent to SGSN. +-- They may only be included in ATSI/ATM ack/NSDC message. + +MobilityTriggers ::= SEQUENCE SIZE (1..maxNumOfMobilityTriggers) OF + MM-Code + +maxNumOfMobilityTriggers INTEGER ::= 10 + +MM-Code ::= OCTET STRING (SIZE (1)) +-- This type is used to indicate a Mobility Management event. +-- Actions for the following MM-Code values are defined in CAMEL Phase 4: +-- +-- CS domain MM events: +-- Location-update-in-same-VLR MM-Code ::= '00000000'B +-- Location-update-to-other-VLR MM-Code ::= '00000001'B +-- IMSI-Attach MM-Code ::= '00000010'B +-- MS-initiated-IMSI-Detach MM-Code ::= '00000011'B +-- Network-initiated-IMSI-Detach MM-Code ::= '00000100'B +-- +-- PS domain MM events: +-- Routeing-Area-update-in-same-SGSN MM-Code ::= '10000000'B +-- Routeing-Area-update-to-other-SGSN-update-from-new-SGSN +-- MM-Code ::= '10000001'B +-- Routeing-Area-update-to-other-SGSN-disconnect-by-detach +-- MM-Code ::= '10000010'B +-- GPRS-Attach MM-Code ::= '10000011'B +-- MS-initiated-GPRS-Detach MM-Code ::= '10000100'B +-- Network-initiated-GPRS-Detach MM-Code ::= '10000101'B +-- Network-initiated-transfer-to-MS-not-reachable-for-paging +-- MM-Code ::= '10000110'B +-- +-- If the MSC receives any other MM-code than the ones listed above for the +-- CS domain, then the MSC shall ignore that MM-code. +-- If the SGSN receives any other MM-code than the ones listed above for the +-- PS domain, then the SGSN shall ignore that MM-code. + +T-CSI ::= SEQUENCE { + t-BcsmCamelTDPDataList T-BcsmCamelTDPDataList, + extensionContainer ExtensionContainer OPTIONAL, + ..., + camelCapabilityHandling [0] CamelCapabilityHandling OPTIONAL, + notificationToCSE [1] NULL OPTIONAL, + csi-Active [2] NULL OPTIONAL} +-- notificationToCSE and csi-Active shall not be present when VT-CSI/T-CSI is sent +-- to VLR/GMSC. +-- They may only be included in ATSI/ATM ack/NSDC message. +-- T-CSI shall not be segmented. + +T-BcsmCamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF + T-BcsmCamelTDPData + --- T-BcsmCamelTDPDataList shall not contain more than one instance of + --- T-BcsmCamelTDPData containing the same value for t-BcsmTriggerDetectionPoint. + --- For CAMEL Phase 2, this means that only one instance of T-BcsmCamelTDPData is allowed + --- with t-BcsmTriggerDetectionPoint being equal to DP12. + --- For CAMEL Phase 3, more TDP's are allowed. + +T-BcsmCamelTDPData ::= SEQUENCE { + t-BcsmTriggerDetectionPoint T-BcsmTriggerDetectionPoint, + serviceKey ServiceKey, + gsmSCF-Address [0] ISDN-AddressString, + defaultCallHandling [1] DefaultCallHandling, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +T-BcsmTriggerDetectionPoint ::= ENUMERATED { + termAttemptAuthorized (12), + ... , + tBusy (13), + tNoAnswer (14)} + -- exception handling: + -- For T-BcsmCamelTDPData sequences containing this parameter with any other + -- value than the ones listed above, the receiver shall ignore the whole + -- T-BcsmCamelTDPData sequence. + +-- gprs location information retrieval types + +SendRoutingInfoForGprsArg ::= SEQUENCE { + imsi [0] IMSI, + ggsn-Address [1] GSN-Address OPTIONAL, + ggsn-Number [2] ISDN-AddressString, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +SendRoutingInfoForGprsRes ::= SEQUENCE { + sgsn-Address [0] GSN-Address, + ggsn-Address [1] GSN-Address OPTIONAL, + mobileNotReachableReason [2] AbsentSubscriberDiagnosticSM OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +-- failure report types + +FailureReportArg ::= SEQUENCE { + imsi [0] IMSI, + ggsn-Number [1] ISDN-AddressString , + ggsn-Address [2] GSN-Address OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +FailureReportRes ::= SEQUENCE { + ggsn-Address [0] GSN-Address OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +-- gprs notification types + +NoteMsPresentForGprsArg ::= SEQUENCE { + imsi [0] IMSI, + sgsn-Address [1] GSN-Address, + ggsn-Address [2] GSN-Address OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +NoteMsPresentForGprsRes ::= SEQUENCE { + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +-- fault recovery types + +ResetArg ::= SEQUENCE { + hlr-Number ISDN-AddressString, + hlr-List HLR-List OPTIONAL, + ...} + +RestoreDataArg ::= SEQUENCE { + imsi IMSI, + lmsi LMSI OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... , + vlr-Capability [6] VLR-Capability OPTIONAL } + +RestoreDataRes ::= SEQUENCE { + hlr-Number ISDN-AddressString, + msNotReachable NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +-- VBS/VGCS types +VBSDataList ::= SEQUENCE SIZE (1..maxNumOfVBSGroupIds) OF + VoiceBroadcastData + +VGCSDataList ::= SEQUENCE SIZE (1..maxNumOfVGCSGroupIds) OF + VoiceGroupCallData + +maxNumOfVBSGroupIds INTEGER ::= 50 + +maxNumOfVGCSGroupIds INTEGER ::= 50 + +VoiceGroupCallData ::= SEQUENCE { + groupId GroupId, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +VoiceBroadcastData ::= SEQUENCE { + groupid GroupId, + broadcastInitEntitlement NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +GroupId ::= TBCD-STRING (SIZE (3)) + -- When Group-Id is less than six characters in length, the TBCD filler (1111) + -- is used to fill unused half octets. + -- Refers to the Group Identification as specified in 3GPP TS 23.003 + -- and 3GPP TS 43.068/ 43.069 + +-- provide subscriber info types + +ProvideSubscriberInfoArg ::= SEQUENCE { + imsi [0] IMSI, + lmsi [1] LMSI OPTIONAL, + requestedInfo [2] RequestedInfo, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +ProvideSubscriberInfoRes ::= SEQUENCE { + subscriberInfo SubscriberInfo, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SubscriberInfo ::= SEQUENCE { + locationInformation [0] LocationInformation OPTIONAL, + subscriberState [1] SubscriberState OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ... , + locationInformationGPRS [3] LocationInformationGPRS OPTIONAL, + ps-SubscriberState [4] PS-SubscriberState OPTIONAL, + imei [5] IMEI OPTIONAL, + ms-Classmark2 [6] MS-Classmark2 OPTIONAL, + gprs-MS-Class [7] GPRSMSClass OPTIONAL, + mnpInfoRes [8] MNPInfoRes OPTIONAL } + +-- If the HLR receives locationInformation, subscriberState or ms-Classmark2 from an SGSN +-- it shall discard them. +-- If the HLR receives locationInformationGPRS, ps-SubscriberState or gprs-MS-Class from +-- a VLR it shall discard them. +-- If the HLR receives parameters which it has not requested, it shall discard them. + +MNPInfoRes ::= SEQUENCE { + routeingNumber [0] RouteingNumber OPTIONAL, + imsi [1] IMSI OPTIONAL, + msisdn [2] ISDN-AddressString OPTIONAL, + numberPortabilityStatus [3] NumberPortabilityStatus OPTIONAL, + extensionContainer [4] ExtensionContainer OPTIONAL, + ... } +-- The IMSI parameter contains a generic IMSI, i.e. it is not tied necessarily to the +-- Subscriber. MCC and MNC values in this IMSI shall point to the Subscription Network of +-- the Subscriber. See 3GPP TS 23.066 [108]. + +RouteingNumber ::= TBCD-STRING (SIZE (1..5)) + + +NumberPortabilityStatus ::= ENUMERATED { + notKnownToBePorted (0), + ownNumberPortedOut (1), + foreignNumberPortedToForeignNetwork (2), + ..., + ownNumberNotPortedOut (4), + foreignNumberPortedIn (5) + } + -- exception handling: + -- reception of other values than the ones listed the receiver shall ignore the + -- whole NumberPortabilityStatus; + -- ownNumberNotPortedOut or foreignNumberPortedIn may only be included in Any Time + -- Interrogation message. + +MS-Classmark2 ::= OCTET STRING (SIZE (3)) + -- This parameter carries the value part of the MS Classmark 2 IE defined in + -- 3GPP TS 24.008 [35]. + +GPRSMSClass ::= SEQUENCE { + mSNetworkCapability [0] MSNetworkCapability, + mSRadioAccessCapability [1] MSRadioAccessCapability OPTIONAL + } + +MSNetworkCapability ::= OCTET STRING (SIZE (1..8)) + -- This parameter carries the value part of the MS Network Capability IE defined in + -- 3GPP TS 24.008 [35]. + +MSRadioAccessCapability ::= OCTET STRING (SIZE (1..50)) + -- This parameter carries the value part of the MS Radio Access Capability IE defined in + -- 3GPP TS 24.008 [35]. + +RequestedInfo ::= SEQUENCE { + locationInformation [0] NULL OPTIONAL, + subscriberState [1] NULL OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ..., + currentLocation [3] NULL OPTIONAL, + requestedDomain [4] DomainType OPTIONAL, + imei [6] NULL OPTIONAL, + ms-classmark [5] NULL OPTIONAL, + mnpRequestedInfo [7] NULL OPTIONAL } + +-- currentLocation shall be absent if locationInformation is absent + +DomainType ::= ENUMERATED { + cs-Domain (0), + ps-Domain (1), + ...} +-- exception handling: +-- reception of values > 1 shall be mapped to 'cs-Domain' + +LocationInformation ::= SEQUENCE { + ageOfLocationInformation AgeOfLocationInformation OPTIONAL, + geographicalInformation [0] GeographicalInformation OPTIONAL, + vlr-number [1] ISDN-AddressString OPTIONAL, + locationNumber [2] LocationNumber OPTIONAL, + cellGlobalIdOrServiceAreaIdOrLAI [3] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL, + extensionContainer [4] ExtensionContainer OPTIONAL, + ... , + selectedLSA-Id [5] LSAIdentity OPTIONAL, + msc-Number [6] ISDN-AddressString OPTIONAL, + geodeticInformation [7] GeodeticInformation OPTIONAL, + currentLocationRetrieved [8] NULL OPTIONAL, + sai-Present [9] NULL OPTIONAL } +-- sai-Present indicates that the cellGlobalIdOrServiceAreaIdOrLAI parameter contains +-- a Service Area Identity. +-- currentLocationRetrieved shall be present +-- if the location information were retrieved after a successfull paging. + +LocationInformationGPRS ::= SEQUENCE { + cellGlobalIdOrServiceAreaIdOrLAI [0] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL, + routeingAreaIdentity [1] RAIdentity OPTIONAL, + geographicalInformation [2] GeographicalInformation OPTIONAL, + sgsn-Number [3] ISDN-AddressString OPTIONAL, + selectedLSAIdentity [4] LSAIdentity OPTIONAL, + extensionContainer [5] ExtensionContainer OPTIONAL, + ..., + sai-Present [6] NULL OPTIONAL, + geodeticInformation [7] GeodeticInformation OPTIONAL, + currentLocationRetrieved [8] NULL OPTIONAL, + ageOfLocationInformation [9] AgeOfLocationInformation OPTIONAL } +-- sai-Present indicates that the cellGlobalIdOrServiceAreaIdOrLAI parameter contains +-- a Service Area Identity. +-- currentLocationRetrieved shall be present if the location information +-- was retrieved after successful paging. + +RAIdentity ::= OCTET STRING (SIZE (6)) +-- Routing Area Identity is coded in accordance with 3GPP TS 29.060 [105]. +-- It shall contain the value part defined in 3GPP TS 29.060 only. I.e. the 3GPP TS 29.060 +-- type identifier octet shall not be included. + + +GeographicalInformation ::= OCTET STRING (SIZE (8)) +-- Refers to geographical Information defined in 3GPP TS 23.032. +-- Only the description of an ellipsoid point with uncertainty circle +-- as specified in 3GPP TS 23.032 is allowed to be used +-- The internal structure according to 3GPP TS 23.032 is as follows: +-- Type of shape (ellipsoid point with uncertainty circle) 1 octet +-- Degrees of Latitude 3 octets +-- Degrees of Longitude 3 octets +-- Uncertainty code 1 octet + +GeodeticInformation ::= OCTET STRING (SIZE (10)) +-- Refers to Calling Geodetic Location defined in Q.763 (1999). +-- Only the description of an ellipsoid point with uncertainty circle +-- as specified in Q.763 (1999) is allowed to be used +-- The internal structure according to Q.763 (1999) is as follows: +-- Screening and presentation indicators 1 octet +-- Type of shape (ellipsoid point with uncertainty circle) 1 octet +-- Degrees of Latitude 3 octets +-- Degrees of Longitude 3 octets +-- Uncertainty code 1 octet +-- Confidence 1 octet + +LocationNumber ::= OCTET STRING (SIZE (2..10)) + -- the internal structure is defined in ITU-T Rec Q.763 + +SubscriberState ::= CHOICE { + assumedIdle [0] NULL, + camelBusy [1] NULL, + netDetNotReachable NotReachableReason, + notProvidedFromVLR [2] NULL} + +PS-SubscriberState ::= CHOICE { + notProvidedFromSGSN [0] NULL, + ps-Detached [1] NULL, + ps-AttachedNotReachableForPaging [2] NULL, + ps-AttachedReachableForPaging [3] NULL, + ps-PDP-ActiveNotReachableForPaging [4] PDP-ContextInfoList, + ps-PDP-ActiveReachableForPaging [5] PDP-ContextInfoList, + netDetNotReachable NotReachableReason } + +PDP-ContextInfoList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF + PDP-ContextInfo + +PDP-ContextInfo ::= SEQUENCE { + pdp-ContextIdentifier [0] ContextId, + pdp-ContextActive [1] NULL OPTIONAL, + pdp-Type [2] PDP-Type, + pdp-Address [3] PDP-Address OPTIONAL, + apn-Subscribed [4] APN OPTIONAL, + apn-InUse [5] APN OPTIONAL, + nsapi [6] NSAPI OPTIONAL, + transactionId [7] TransactionId OPTIONAL, + teid-ForGnAndGp [8] TEID OPTIONAL, + teid-ForIu [9] TEID OPTIONAL, + ggsn-Address [10] GSN-Address OPTIONAL, + qos-Subscribed [11] Ext-QoS-Subscribed OPTIONAL, + qos-Requested [12] Ext-QoS-Subscribed OPTIONAL, + qos-Negotiated [13] Ext-QoS-Subscribed OPTIONAL, + chargingId [14] GPRSChargingID OPTIONAL, + chargingCharacteristics [15] ChargingCharacteristics OPTIONAL, + rnc-Address [16] GSN-Address OPTIONAL, + extensionContainer [17] ExtensionContainer OPTIONAL, + ..., + qos2-Subscribed [18] Ext2-QoS-Subscribed OPTIONAL, + -- qos2-Subscribed may be present only if qos-Subscribed is present. + qos2-Requested [19] Ext2-QoS-Subscribed OPTIONAL, + -- qos2-Requested may be present only if qos-Requested is present. + qos2-Negotiated [20] Ext2-QoS-Subscribed OPTIONAL + -- qos2-Negotiated may be present only if qos-Negotiated is present. + } + +NSAPI ::= INTEGER (0..15) +-- This type is used to indicate the Network layer Service Access Point + +TransactionId ::= OCTET STRING (SIZE (1..2)) +-- This type carries the value part of the transaction identifier which is used in the +-- session management messages on the access interface. The encoding is defined in +-- 3GPP TS 24.008 + +TEID ::= OCTET STRING (SIZE (4)) +-- This type carries the value part of the Tunnel Endpoint Identifier which is used to +-- distinguish between different tunnels between the same pair of entities which communicate +-- using the GPRS Tunnelling Protocol The encoding is defined in 3GPP TS 29.060. + +GPRSChargingID ::= OCTET STRING (SIZE (4)) +-- The Charging ID is a unique four octet value generated by the GGSN when +-- a PDP Context is activated. A Charging ID is generated for each activated context. +-- The encoding is defined in 3GPP TS 29.060. + +NotReachableReason ::= ENUMERATED { + msPurged (0), + imsiDetached (1), + restrictedArea (2), + notRegistered (3)} + +-- any time interrogation info types + +AnyTimeInterrogationArg ::= SEQUENCE { + subscriberIdentity [0] SubscriberIdentity, + requestedInfo [1] RequestedInfo, + gsmSCF-Address [3] ISDN-AddressString, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +AnyTimeInterrogationRes ::= SEQUENCE { + subscriberInfo SubscriberInfo, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +-- any time information handling types + +AnyTimeSubscriptionInterrogationArg ::= SEQUENCE { + subscriberIdentity [0] SubscriberIdentity, + requestedSubscriptionInfo [1] RequestedSubscriptionInfo, + gsmSCF-Address [2] ISDN-AddressString, + extensionContainer [3] ExtensionContainer OPTIONAL, + longFTN-Supported [4] NULL OPTIONAL, + ...} + +AnyTimeSubscriptionInterrogationRes ::= SEQUENCE { + callForwardingData [1] CallForwardingData OPTIONAL, + callBarringData [2] CallBarringData OPTIONAL, + odb-Info [3] ODB-Info OPTIONAL, + camel-SubscriptionInfo [4] CAMEL-SubscriptionInfo OPTIONAL, + supportedVLR-CAMEL-Phases [5] SupportedCamelPhases OPTIONAL, + supportedSGSN-CAMEL-Phases [6] SupportedCamelPhases OPTIONAL, + extensionContainer [7] ExtensionContainer OPTIONAL, + ... , + offeredCamel4CSIsInVLR [8] OfferedCamel4CSIs OPTIONAL, + offeredCamel4CSIsInSGSN [9] OfferedCamel4CSIs OPTIONAL } + +RequestedSubscriptionInfo ::= SEQUENCE { + requestedSS-Info [1] SS-ForBS-Code OPTIONAL, + odb [2] NULL OPTIONAL, + requestedCAMEL-SubscriptionInfo [3] RequestedCAMEL-SubscriptionInfo OPTIONAL, + supportedVLR-CAMEL-Phases [4] NULL OPTIONAL, + supportedSGSN-CAMEL-Phases [5] NULL OPTIONAL, + extensionContainer [6] ExtensionContainer OPTIONAL, + ..., + additionalRequestedCAMEL-SubscriptionInfo + [7] AdditionalRequestedCAMEL-SubscriptionInfo + OPTIONAL } + +RequestedCAMEL-SubscriptionInfo ::= ENUMERATED { + o-CSI (0), + t-CSI (1), + vt-CSI (2), + tif-CSI (3), + gprs-CSI (4), + mo-sms-CSI (5), + ss-CSI (6), + m-CSI (7), + d-csi (8)} + +AdditionalRequestedCAMEL-SubscriptionInfo ::= ENUMERATED { + mt-sms-CSI (0), + mg-csi (1), + o-IM-CSI (2), + d-IM-CSI (3), + vt-IM-CSI (4), + ...} +-- exception handling: unknown values shall be discarded by the receiver. + +CallForwardingData ::= SEQUENCE { + forwardingFeatureList Ext-ForwFeatureList, + notificationToCSE NULL OPTIONAL, + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +CallBarringData ::= SEQUENCE { + callBarringFeatureList Ext-CallBarFeatureList, + password Password OPTIONAL, + wrongPasswordAttemptsCounter WrongPasswordAttemptsCounter OPTIONAL, + notificationToCSE NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +WrongPasswordAttemptsCounter ::= INTEGER (0..4) + +ODB-Info ::= SEQUENCE { + odb-Data ODB-Data, + notificationToCSE NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +CAMEL-SubscriptionInfo ::= SEQUENCE { + o-CSI [0] O-CSI OPTIONAL, + o-BcsmCamelTDP-CriteriaList [1] O-BcsmCamelTDPCriteriaList OPTIONAL, + d-CSI [2] D-CSI OPTIONAL, + t-CSI [3] T-CSI OPTIONAL, + t-BCSM-CAMEL-TDP-CriteriaList [4] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL, + vt-CSI [5] T-CSI OPTIONAL, + vt-BCSM-CAMEL-TDP-CriteriaList [6] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL, + tif-CSI [7] NULL OPTIONAL, + tif-CSI-NotificationToCSE [8] NULL OPTIONAL, + gprs-CSI [9] GPRS-CSI OPTIONAL, + mo-sms-CSI [10] SMS-CSI OPTIONAL, + ss-CSI [11] SS-CSI OPTIONAL, + m-CSI [12] M-CSI OPTIONAL, + extensionContainer [13] ExtensionContainer OPTIONAL, + ..., + specificCSIDeletedList [14] SpecificCSI-Withdraw OPTIONAL, + mt-sms-CSI [15] SMS-CSI OPTIONAL, + mt-smsCAMELTDP-CriteriaList [16] MT-smsCAMELTDP-CriteriaList OPTIONAL, + mg-csi [17] MG-CSI OPTIONAL, + o-IM-CSI [18] O-CSI OPTIONAL, + o-IM-BcsmCamelTDP-CriteriaList [19] O-BcsmCamelTDPCriteriaList OPTIONAL, + d-IM-CSI [20] D-CSI OPTIONAL, + vt-IM-CSI [21] T-CSI OPTIONAL, + vt-IM-BCSM-CAMEL-TDP-CriteriaList [22] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL + } + +AnyTimeModificationArg ::= SEQUENCE { + subscriberIdentity [0] SubscriberIdentity, + gsmSCF-Address [1] ISDN-AddressString, + modificationRequestFor-CF-Info [2] ModificationRequestFor-CF-Info OPTIONAL, + modificationRequestFor-CB-Info [3] ModificationRequestFor-CB-Info OPTIONAL, + modificationRequestFor-CSI [4] ModificationRequestFor-CSI OPTIONAL, + extensionContainer [5] ExtensionContainer OPTIONAL, + longFTN-Supported [6] NULL OPTIONAL, + ..., + modificationRequestFor-ODB-data [7] ModificationRequestFor-ODB-data OPTIONAL } + +AnyTimeModificationRes ::= SEQUENCE { + ss-InfoFor-CSE [0] Ext-SS-InfoFor-CSE OPTIONAL, + camel-SubscriptionInfo [1] CAMEL-SubscriptionInfo OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ..., + odb-Info [3] ODB-Info OPTIONAL } + +ModificationRequestFor-CF-Info ::= SEQUENCE { + ss-Code [0] SS-Code, + basicService [1] Ext-BasicServiceCode OPTIONAL, + ss-Status [2] Ext-SS-Status OPTIONAL, + forwardedToNumber [3] AddressString OPTIONAL, + forwardedToSubaddress [4] ISDN-SubaddressString OPTIONAL, + noReplyConditionTime [5] Ext-NoRepCondTime OPTIONAL, + modifyNotificationToCSE [6] ModificationInstruction OPTIONAL, + extensionContainer [7] ExtensionContainer OPTIONAL, + ...} + +ModificationRequestFor-CB-Info ::= SEQUENCE { + ss-Code [0] SS-Code, + basicService [1] Ext-BasicServiceCode OPTIONAL, + ss-Status [2] Ext-SS-Status OPTIONAL, + password [3] Password OPTIONAL, + wrongPasswordAttemptsCounter [4] WrongPasswordAttemptsCounter OPTIONAL, + modifyNotificationToCSE [5] ModificationInstruction OPTIONAL, + extensionContainer [6] ExtensionContainer OPTIONAL, + ...} + +ModificationRequestFor-ODB-data ::= SEQUENCE { + odb-data [0] ODB-Data OPTIONAL, + modifyNotificationToCSE [1] ModificationInstruction OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +ModificationRequestFor-CSI ::= SEQUENCE { + requestedCamel-SubscriptionInfo [0] RequestedCAMEL-SubscriptionInfo, + modifyNotificationToCSE [1] ModificationInstruction OPTIONAL, + modifyCSI-State [2] ModificationInstruction OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ..., + additionalRequestedCAMEL-SubscriptionInfo + [4] AdditionalRequestedCAMEL-SubscriptionInfo + OPTIONAL } +-- requestedCamel-SubscriptionInfo shall be discarded if +-- additionalRequestedCAMEL-SubscriptionInfo is received + +ModificationInstruction ::= ENUMERATED { + deactivate (0), + activate (1)} + +-- subscriber data modification notification types + +NoteSubscriberDataModifiedArg ::= SEQUENCE { + imsi IMSI, + msisdn ISDN-AddressString, + forwardingInfoFor-CSE [0] Ext-ForwardingInfoFor-CSE OPTIONAL, + callBarringInfoFor-CSE [1] Ext-CallBarringInfoFor-CSE OPTIONAL, + odb-Info [2] ODB-Info OPTIONAL, + camel-SubscriptionInfo [3] CAMEL-SubscriptionInfo OPTIONAL, + allInformationSent [4] NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +NoteSubscriberDataModifiedRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +-- mobility management event notificatioon info types + +NoteMM-EventArg::= SEQUENCE { + serviceKey ServiceKey, + eventMet [0] MM-Code, + imsi [1] IMSI, + msisdn [2] ISDN-AddressString, + locationInformation [3] LocationInformation OPTIONAL, + supportedCAMELPhases [5] SupportedCamelPhases OPTIONAL, + extensionContainer [6] ExtensionContainer OPTIONAL, + ..., + locationInformationGPRS [7] LocationInformationGPRS OPTIONAL, + offeredCamel4Functionalities [8] OfferedCamel4Functionalities OPTIONAL +} + +NoteMM-EventRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +Ext-SS-InfoFor-CSE ::= CHOICE { + forwardingInfoFor-CSE [0] Ext-ForwardingInfoFor-CSE, + callBarringInfoFor-CSE [1] Ext-CallBarringInfoFor-CSE + } + +Ext-ForwardingInfoFor-CSE ::= SEQUENCE { + ss-Code [0] SS-Code, + forwardingFeatureList [1] Ext-ForwFeatureList, + notificationToCSE [2] NULL OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +Ext-CallBarringInfoFor-CSE ::= SEQUENCE { + ss-Code [0] SS-Code, + callBarringFeatureList [1] Ext-CallBarFeatureList, + password [2] Password OPTIONAL, + wrongPasswordAttemptsCounter [3] WrongPasswordAttemptsCounter OPTIONAL, + notificationToCSE [4] NULL OPTIONAL, + extensionContainer [5] ExtensionContainer OPTIONAL, + ...} + +END diff --git a/asn1/MAP-MobileServiceOperations.asn b/asn1/MAP-MobileServiceOperations.asn new file mode 100644 index 0000000..b91eac7 --- /dev/null +++ b/asn1/MAP-MobileServiceOperations.asn @@ -0,0 +1,506 @@ +MAP-MobileServiceOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-MobileServiceOperations (5) + version9 (9)} + +DEFINITIONS + +::= + +BEGIN + +EXPORTS + + -- location registration operations + updateLocation, + cancelLocation, + purgeMS, + sendIdentification, + + -- gprs location registration operations + updateGprsLocation, + + -- subscriber information enquiry operations + provideSubscriberInfo, + + -- any time information enquiry operations + anyTimeInterrogation, + + -- any time information handling operations + anyTimeSubscriptionInterrogation, + anyTimeModification, + + -- subscriber data modification notification operations + noteSubscriberDataModified, + + + -- handover operations + prepareHandover, + sendEndSignal, + processAccessSignalling, + forwardAccessSignalling, + prepareSubsequentHandover, + + -- authentication management operations + sendAuthenticationInfo, + authenticationFailureReport, + + -- IMEI management operations + checkIMEI, + + -- subscriber management operations + insertSubscriberData, + deleteSubscriberData, + + -- fault recovery operations + reset, + forwardCheckSS-Indication, + restoreData, + +-- gprs location information retrieval operations + sendRoutingInfoForGprs, + + -- failure reporting operations + failureReport, + + -- gprs notification operations + noteMsPresentForGprs, + +-- Mobility Management operations + noteMM-Event +; + +IMPORTS + OPERATION +FROM Remote-Operations-Information-Objects { +joint-iso-itu-t remote-operations(4) + informationObjects(5) version1(0)} + + systemFailure, + dataMissing, + unexpectedDataValue, + unknownSubscriber, + unknownMSC, + unidentifiedSubscriber, + unknownEquipment, + roamingNotAllowed, + ati-NotAllowed, + noHandoverNumberAvailable, + subsequentHandoverFailure, + absentSubscriber, + mm-EventNotSupported, + atsi-NotAllowed, + atm-NotAllowed, + bearerServiceNotProvisioned, + teleserviceNotProvisioned, + callBarred, + illegalSS-Operation, + ss-ErrorStatus, + ss-NotAvailable, + ss-Incompatibility, + ss-SubscriptionViolation, + informationNotAvailable, + targetCellOutsideGroupCallArea + + +FROM MAP-Errors { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-Errors (10) version9 (9)} + + UpdateLocationArg, + UpdateLocationRes, + CancelLocationArg, + CancelLocationRes, + PurgeMS-Arg, + PurgeMS-Res, + SendIdentificationArg, + SendIdentificationRes, + UpdateGprsLocationArg, + UpdateGprsLocationRes, + PrepareHO-Arg, + PrepareHO-Res, +ForwardAccessSignalling-Arg, +ProcessAccessSignalling-Arg, +SendEndSignal-Arg, +SendEndSignal-Res, +PrepareSubsequentHO-Res, + PrepareSubsequentHO-Arg, + SendAuthenticationInfoArg, + SendAuthenticationInfoRes, + AuthenticationFailureReportArg, + AuthenticationFailureReportRes, + CheckIMEI-Arg, + CheckIMEI-Res, + InsertSubscriberDataArg, + InsertSubscriberDataRes, + DeleteSubscriberDataArg, + DeleteSubscriberDataRes, + ResetArg, + RestoreDataArg, + RestoreDataRes, + ProvideSubscriberInfoArg, + ProvideSubscriberInfoRes, + AnyTimeSubscriptionInterrogationArg, + AnyTimeSubscriptionInterrogationRes, + AnyTimeModificationArg, + AnyTimeModificationRes, + NoteSubscriberDataModifiedArg, + NoteSubscriberDataModifiedRes, + AnyTimeInterrogationArg, + AnyTimeInterrogationRes, + SendRoutingInfoForGprsArg, + SendRoutingInfoForGprsRes, + FailureReportArg, + FailureReportRes, + NoteMsPresentForGprsArg, + NoteMsPresentForGprsRes, + NoteMM-EventArg, + NoteMM-EventRes + + +FROM MAP-MS-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-MS-DataTypes (11) version9 (9)} + +; + + +-- location registration operations + +updateLocation OPERATION ::= { --Timer m + ARGUMENT + UpdateLocationArg + RESULT + UpdateLocationRes + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + unknownSubscriber | + roamingNotAllowed} + CODE local:2 } + +cancelLocation OPERATION ::= { --Timer m + ARGUMENT + CancelLocationArg + RESULT + CancelLocationRes + -- optional + ERRORS { + dataMissing | + unexpectedDataValue} + CODE local:3 } + +purgeMS OPERATION ::= { --Timer m + ARGUMENT + PurgeMS-Arg + RESULT + PurgeMS-Res + -- optional + ERRORS{ + dataMissing | + unexpectedDataValue| + unknownSubscriber} + CODE local:67 } + +sendIdentification OPERATION ::= { --Timer s + ARGUMENT + SendIdentificationArg + RESULT + SendIdentificationRes + ERRORS { + dataMissing | + unidentifiedSubscriber} + CODE local:55 } + +-- gprs location registration operations + +updateGprsLocation OPERATION ::= { --Timer m + ARGUMENT + UpdateGprsLocationArg + RESULT + UpdateGprsLocationRes + ERRORS { + systemFailure | + unexpectedDataValue | + unknownSubscriber | + roamingNotAllowed} + CODE local:23 } + +-- subscriber information enquiry operations + +provideSubscriberInfo OPERATION ::= { --Timer m + ARGUMENT + ProvideSubscriberInfoArg + RESULT + ProvideSubscriberInfoRes + ERRORS { + dataMissing | + unexpectedDataValue} + CODE local:70 } + +-- any time information enquiry operations + +anyTimeInterrogation OPERATION ::= { --Timer m + ARGUMENT + AnyTimeInterrogationArg + RESULT + AnyTimeInterrogationRes + ERRORS { + systemFailure | + ati-NotAllowed | + dataMissing | + unexpectedDataValue | + unknownSubscriber} + CODE local:71 } + +-- any time information handling operations + +anyTimeSubscriptionInterrogation OPERATION ::= { --Timer m + ARGUMENT + AnyTimeSubscriptionInterrogationArg + RESULT + AnyTimeSubscriptionInterrogationRes + ERRORS { + atsi-NotAllowed | + dataMissing | + unexpectedDataValue | + unknownSubscriber | + bearerServiceNotProvisioned | + teleserviceNotProvisioned | + callBarred | + illegalSS-Operation | + ss-NotAvailable | + informationNotAvailable} + CODE local:62 } + +anyTimeModification OPERATION ::= { --Timer m + ARGUMENT + AnyTimeModificationArg + RESULT + AnyTimeModificationRes + ERRORS { + atm-NotAllowed | + dataMissing | + unexpectedDataValue | + unknownSubscriber | + bearerServiceNotProvisioned | + teleserviceNotProvisioned | + callBarred | + illegalSS-Operation | + ss-SubscriptionViolation | + ss-ErrorStatus | + ss-Incompatibility | + informationNotAvailable} + CODE local:65 } + +-- subscriber data modification notification operations + +noteSubscriberDataModified OPERATION ::= { --Timer m + ARGUMENT + NoteSubscriberDataModifiedArg + RESULT + NoteSubscriberDataModifiedRes + -- optional + ERRORS { + dataMissing | + unexpectedDataValue | + unknownSubscriber} + CODE local:5 } + +-- handover operations + +prepareHandover OPERATION ::= { --Timer m + ARGUMENT + PrepareHO-Arg + RESULT + PrepareHO-Res + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + noHandoverNumberAvailable | + targetCellOutsideGroupCallArea } + CODE local:68 } + +sendEndSignal OPERATION ::= { --Timer l + ARGUMENT + SendEndSignal-Arg + RESULT + SendEndSignal-Res + CODE local:29 } + +processAccessSignalling OPERATION ::= { --Timer s + ARGUMENT + ProcessAccessSignalling-Arg + CODE local:33 } + +forwardAccessSignalling OPERATION ::= { --Timer s + ARGUMENT + ForwardAccessSignalling-Arg + CODE local:34 } + +prepareSubsequentHandover OPERATION ::= { --Timer m + ARGUMENT + PrepareSubsequentHO-Arg + RESULT + PrepareSubsequentHO-Res + ERRORS { + unexpectedDataValue | + dataMissing | + unknownMSC | + subsequentHandoverFailure} + CODE local:69 } + +-- authentication management operations + +sendAuthenticationInfo OPERATION ::= { --Timer m + ARGUMENT + SendAuthenticationInfoArg + -- optional + -- within a dialogue sendAuthenticationInfoArg shall not be present in + -- subsequent invoke components. If received in a subsequent invoke component + -- it shall be discarded. + + RESULT + SendAuthenticationInfoRes + -- optional + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + unknownSubscriber} + CODE local:56 } + +authenticationFailureReport OPERATION ::= { --Timer m + ARGUMENT + AuthenticationFailureReportArg + RESULT + AuthenticationFailureReportRes + -- optional + ERRORS { + systemFailure | + unexpectedDataValue | + unknownSubscriber} + CODE local:15 } + +-- IMEI management operations + +checkIMEI OPERATION ::= { --Timer m + ARGUMENT + CheckIMEI-Arg + RESULT + CheckIMEI-Res + ERRORS { + systemFailure | + dataMissing | + unknownEquipment} + CODE local:43 } + +-- subscriber management operations + +insertSubscriberData OPERATION ::= { --Timer m + ARGUMENT + InsertSubscriberDataArg + RESULT + InsertSubscriberDataRes + -- optional + ERRORS { + dataMissing | + unexpectedDataValue | + unidentifiedSubscriber} + CODE local:7 } + +deleteSubscriberData OPERATION ::= { --Timer m + ARGUMENT + DeleteSubscriberDataArg + RESULT + DeleteSubscriberDataRes + -- optional + ERRORS { + dataMissing | + unexpectedDataValue | + unidentifiedSubscriber} + CODE local:8 } + +-- fault recovery operations + +reset OPERATION ::= { --Timer m + ARGUMENT + ResetArg + CODE local:37 } + +forwardCheckSS-Indication OPERATION ::= { --Timer s + CODE local:38 } + +restoreData OPERATION ::= { --Timer m + ARGUMENT + RestoreDataArg + RESULT + RestoreDataRes + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + unknownSubscriber} + CODE local:57 } + +-- gprs location information retrieval operations + +sendRoutingInfoForGprs OPERATION ::= { --Timer m + ARGUMENT + SendRoutingInfoForGprsArg + RESULT + SendRoutingInfoForGprsRes + ERRORS { + absentSubscriber | + systemFailure | + dataMissing | + unexpectedDataValue | + unknownSubscriber | + callBarred } + CODE local:24 } + +-- failure reporting operations + +failureReport OPERATION ::= { --Timer m + ARGUMENT + FailureReportArg + RESULT + FailureReportRes + -- optional + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + unknownSubscriber} + CODE local:25 } + +-- gprs notification operations + +noteMsPresentForGprs OPERATION ::= { --Timer m + ARGUMENT + NoteMsPresentForGprsArg + RESULT + NoteMsPresentForGprsRes + -- optional + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + unknownSubscriber} + CODE local:26 } + +noteMM-Event OPERATION ::= { --Timer m + ARGUMENT + NoteMM-EventArg + RESULT + NoteMM-EventRes + ERRORS { + dataMissing | + unexpectedDataValue | + unknownSubscriber | + mm-EventNotSupported} + CODE local:89 } + +END diff --git a/asn1/MAP-OM-DataTypes.asn b/asn1/MAP-OM-DataTypes.asn new file mode 100644 index 0000000..3866b1e --- /dev/null +++ b/asn1/MAP-OM-DataTypes.asn @@ -0,0 +1,62 @@ +MAP-OM-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-OM-DataTypes (12) version9 (9)} + +DEFINITIONS + +IMPLICIT TAGS + +::= + +BEGIN + +EXPORTS + ActivateTraceModeArg, + ActivateTraceModeRes, + DeactivateTraceModeArg, + DeactivateTraceModeRes +; + +IMPORTS + AddressString, + IMSI +FROM MAP-CommonDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)} + + ExtensionContainer +FROM MAP-ExtensionDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)} + +; + +ActivateTraceModeArg ::= SEQUENCE { + imsi [0] IMSI OPTIONAL, + traceReference [1] TraceReference, + traceType [2] TraceType, + omc-Id [3] AddressString OPTIONAL, + extensionContainer [4] ExtensionContainer OPTIONAL, + ...} + +TraceReference ::= OCTET STRING (SIZE (1..2)) + +TraceType ::= INTEGER + (0..255) + -- Trace types are fully defined in TS GSM 12.08. + +ActivateTraceModeRes ::= SEQUENCE { + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +DeactivateTraceModeArg ::= SEQUENCE { + imsi [0] IMSI OPTIONAL, + traceReference [1] TraceReference, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +DeactivateTraceModeRes ::= SEQUENCE { + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +END diff --git a/asn1/MAP-OperationAndMaintenanceOperations.asn b/asn1/MAP-OperationAndMaintenanceOperations.asn new file mode 100644 index 0000000..adc50bd --- /dev/null +++ b/asn1/MAP-OperationAndMaintenanceOperations.asn @@ -0,0 +1,91 @@ +MAP-OperationAndMaintenanceOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-OperationAndMaintenanceOperations (6) + version9 (9)} + +DEFINITIONS + +::= + +BEGIN + +EXPORTS + activateTraceMode, + deactivateTraceMode, + sendIMSI +; + +IMPORTS + OPERATION +FROM Remote-Operations-Information-Objects { +joint-iso-itu-t remote-operations(4) + informationObjects(5) version1(0)} + + systemFailure, + dataMissing, + unexpectedDataValue, + facilityNotSupported, + unknownSubscriber, + unidentifiedSubscriber, + tracingBufferFull +FROM MAP-Errors { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-Errors (10) version9 (9)} + + ActivateTraceModeArg, + ActivateTraceModeRes, + DeactivateTraceModeArg, + DeactivateTraceModeRes +FROM MAP-OM-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-OM-DataTypes (12) version9 (9)} + + ISDN-AddressString, + IMSI +FROM MAP-CommonDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)} +; + + +activateTraceMode OPERATION ::= { --Timer m + ARGUMENT + ActivateTraceModeArg + RESULT + ActivateTraceModeRes + -- optional + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + facilityNotSupported | + unidentifiedSubscriber | + tracingBufferFull} + CODE local:50 } + +deactivateTraceMode OPERATION ::= { --Timer m + ARGUMENT + DeactivateTraceModeArg + RESULT + DeactivateTraceModeRes + -- optional + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + facilityNotSupported | + unidentifiedSubscriber} + CODE local:51 } + +sendIMSI OPERATION ::= { --Timer m + ARGUMENT + ISDN-AddressString + RESULT + IMSI + ERRORS { + dataMissing | + unexpectedDataValue | + unknownSubscriber} + CODE local:58 } + +END diff --git a/asn1/MAP-Protocol.asn b/asn1/MAP-Protocol.asn new file mode 100644 index 0000000..68dfb98 --- /dev/null +++ b/asn1/MAP-Protocol.asn @@ -0,0 +1,176 @@ +MAP-Protocol { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-Protocol (4) version9 (9)} + +DEFINITIONS + +::= + +BEGIN + +IMPORTS +OPERATION +FROM Remote-Operations-Information-Objects { +joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)} + + updateLocation, + cancelLocation, + purgeMS, + sendIdentification, + updateGprsLocation, + prepareHandover, + sendEndSignal, + processAccessSignalling, + forwardAccessSignalling, + prepareSubsequentHandover, + sendAuthenticationInfo, + authenticationFailureReport, + checkIMEI, + insertSubscriberData, + deleteSubscriberData, + reset, + forwardCheckSS-Indication, + restoreData, + provideSubscriberInfo, + anyTimeInterrogation, + anyTimeSubscriptionInterrogation, + anyTimeModification, + sendRoutingInfoForGprs, + failureReport, + noteMsPresentForGprs, + noteMM-Event, + noteSubscriberDataModified + + +FROM MAP-MobileServiceOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-MobileServiceOperations (5) + version9 (9)} + + activateTraceMode, + deactivateTraceMode, + sendIMSI +FROM MAP-OperationAndMaintenanceOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-OperationAndMaintenanceOperations (6) + version9 (9)} + + sendRoutingInfo, + provideRoamingNumber, + resumeCallHandling, + setReportingState, + statusReport, + remoteUserFree, + ist-Alert, + ist-Command +FROM MAP-CallHandlingOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CallHandlingOperations (7) + version9 (9)} + + registerSS, + eraseSS, + activateSS, + deactivateSS, + interrogateSS, + processUnstructuredSS-Request, + unstructuredSS-Request, + unstructuredSS-Notify, + registerPassword, + getPassword, + ss-InvocationNotification, + registerCC-Entry, + eraseCC-Entry +FROM MAP-SupplementaryServiceOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SupplementaryServiceOperations (8) + version9 (9)} + + sendRoutingInfoForSM, + mo-ForwardSM, + mt-ForwardSM, + reportSM-DeliveryStatus, + alertServiceCentre, + informServiceCentre, + readyForSM +FROM MAP-ShortMessageServiceOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ShortMessageServiceOperations (9) + version9 (9)} + + prepareGroupCall, + processGroupCallSignalling, + forwardGroupCallSignalling, + sendGroupCallEndSignal +FROM MAP-Group-Call-Operations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-Group-Call-Operations (22) + version9 (9)} + + provideSubscriberLocation, + sendRoutingInfoForLCS, + subscriberLocationReport +FROM MAP-LocationServiceOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-LocationServiceOperations (24) + version9 (9)} + +secureTransportClass1, +secureTransportClass2, +secureTransportClass3, +secureTransportClass4 + +FROM MAP-SecureTransportOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SecureTransportOperations (26) + version9 (9)} + +; +Supported-MAP-Operations OPERATION ::= {updateLocation | cancelLocation | purgeMS | +sendIdentification | updateGprsLocation | prepareHandover | sendEndSignal | +processAccessSignalling | forwardAccessSignalling | prepareSubsequentHandover | +sendAuthenticationInfo | authenticationFailureReport | checkIMEI | insertSubscriberData | +deleteSubscriberData | reset | forwardCheckSS-Indication | restoreData | provideSubscriberInfo | +anyTimeInterrogation | anyTimeSubscriptionInterrogation | anyTimeModification | +sendRoutingInfoForGprs | failureReport |noteMsPresentForGprs | noteMM-Event | +noteSubscriberDataModified | activateTraceMode | deactivateTraceMode | sendIMSI | +sendRoutingInfo | provideRoamingNumber | resumeCallHandling | setReportingState | statusReport | remoteUserFree | ist-Alert | +ist-Command | registerSS | eraseSS | activateSS | deactivateSS | interrogateSS | +processUnstructuredSS-Request | unstructuredSS-Request | unstructuredSS-Notify | +registerPassword | getPassword | ss-InvocationNotification | registerCC-Entry | eraseCC-Entry | +sendRoutingInfoForSM | mo-ForwardSM | mt-ForwardSM | reportSM-DeliveryStatus | +alertServiceCentre | informServiceCentre | readyForSM | prepareGroupCall | +processGroupCallSignalling | forwardGroupCallSignalling | sendGroupCallEndSignal | +provideSubscriberLocation | sendRoutingInfoForLCS | subscriberLocationReport | +secureTransportClass1 |secureTransportClass2 | secureTransportClass3 | secureTransportClass4} + + + +-- The following operation codes are reserved for operations +-- existing in previous versions of the protocol + +-- Operation Name AC used Oper. Code +-- +-- sendParameters map-ac infoRetrieval (14) version1 (1) local:9 +-- processUnstructuredSS-Data map-ac networkFunctionalSs (18) version1 (1) local:19 +-- performHandover map-ac handoverControl (11) version1 (1) local:28 +-- performSubsequentHandover map-ac handoverControl (11) version1 (1) local:30 +-- provideSIWFSNumber map-ac sIWFSAllocation (12) version3 (3) local:31 +-- siwfs-SignallingModify map-ac sIWFSAllocation (12) version3 (3) local:32 +-- noteInternalHandover map-ac handoverControl (11) version1 (1) local:35 +-- noteSubscriberPresent map-ac mwdMngt (24) version1 (1) local:48 +-- alertServiceCentreWithoutResult map-ac shortMsgAlert (23) version1 (1) local:49 +-- traceSubscriberActivity map-ac handoverControl (11) version1 (1) local:52 +-- beginSubscriberActivity map-ac networkFunctionalSs (18) version1 (1) local:54 + +-- The following error codes are reserved for errors +-- existing in previous versions of the protocol + +-- Error Name AC used Error Code +-- +-- unknownBaseStation map-ac handoverControl (11) version1 (1) local:2 +-- invalidTargetBaseStation map-ac handoverControl (11) version1 (1) local:23 +-- noRadioResourceAvailable map-ac handoverControl (11) version1 (1) local:24 + + +END diff --git a/asn1/MAP-SM-DataTypes.asn b/asn1/MAP-SM-DataTypes.asn new file mode 100644 index 0000000..664baa1 --- /dev/null +++ b/asn1/MAP-SM-DataTypes.asn @@ -0,0 +1,217 @@ +MAP-SM-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SM-DataTypes (16) version9 (9)} + +DEFINITIONS + +IMPLICIT TAGS + +::= + +BEGIN + +EXPORTS + RoutingInfoForSM-Arg, + RoutingInfoForSM-Res, + MO-ForwardSM-Arg, + MO-ForwardSM-Res, + MT-ForwardSM-Arg, + MT-ForwardSM-Res, + ReportSM-DeliveryStatusArg, + ReportSM-DeliveryStatusRes, + AlertServiceCentreArg, + InformServiceCentreArg, + ReadyForSM-Arg, + ReadyForSM-Res, + SM-DeliveryOutcome, + AlertReason, + Additional-Number +; + +IMPORTS + AddressString, + ISDN-AddressString, + SignalInfo, + IMSI, + LMSI +FROM MAP-CommonDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)} + + AbsentSubscriberDiagnosticSM +FROM MAP-ER-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ER-DataTypes (17) version9 (9)} + + ExtensionContainer +FROM MAP-ExtensionDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)} +; + + +RoutingInfoForSM-Arg ::= SEQUENCE { + msisdn [0] ISDN-AddressString, + sm-RP-PRI [1] BOOLEAN, + serviceCentreAddress [2] AddressString, + extensionContainer [6] ExtensionContainer OPTIONAL, + ... , + gprsSupportIndicator [7] NULL OPTIONAL, + -- gprsSupportIndicator is set only if the SMS-GMSC supports + -- receiving of two numbers from the HLR + sm-RP-MTI [8] SM-RP-MTI OPTIONAL, + sm-RP-SMEA [9] SM-RP-SMEA OPTIONAL } + +SM-RP-MTI ::= INTEGER (0..10) + -- 0 SMS Deliver + -- 1 SMS Status Report + -- other values are reserved for future use and shall be discarded if + -- received + +SM-RP-SMEA ::= OCTET STRING (SIZE (1..12)) + -- this parameter contains an address field which is encoded + -- as defined in 3GPP TS 23.040. An address field contains 3 elements : + -- address-length + -- type-of-address + -- address-value + +RoutingInfoForSM-Res ::= SEQUENCE { + imsi IMSI, + locationInfoWithLMSI [0] LocationInfoWithLMSI, + extensionContainer [4] ExtensionContainer OPTIONAL, + ...} + +LocationInfoWithLMSI ::= SEQUENCE { + networkNode-Number [1] ISDN-AddressString, + lmsi LMSI OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ..., + gprsNodeIndicator [5] NULL OPTIONAL, + -- gprsNodeIndicator is set only if the SGSN number is sent as the + -- Network Node Number + additional-Number [6] Additional-Number OPTIONAL + -- NetworkNode-number can be either msc-number or sgsn-number + } + +Additional-Number ::= CHOICE { + msc-Number [0] ISDN-AddressString, + sgsn-Number [1] ISDN-AddressString} + -- additional-number can be either msc-number or sgsn-number + -- if received networkNode-number is msc-number then the + -- additional number is sgsn-number + -- if received networkNode-number is sgsn-number then the + -- additional number is msc-number + +MO-ForwardSM-Arg ::= SEQUENCE { + sm-RP-DA SM-RP-DA, + sm-RP-OA SM-RP-OA, + sm-RP-UI SignalInfo, + extensionContainer ExtensionContainer OPTIONAL, + ... , + imsi IMSI OPTIONAL } + +MO-ForwardSM-Res ::= SEQUENCE { + sm-RP-UI SignalInfo OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +MT-ForwardSM-Arg ::= SEQUENCE { + sm-RP-DA SM-RP-DA, + sm-RP-OA SM-RP-OA, + sm-RP-UI SignalInfo, + moreMessagesToSend NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +MT-ForwardSM-Res ::= SEQUENCE { + sm-RP-UI SignalInfo OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SM-RP-DA ::= CHOICE { + imsi [0] IMSI, + lmsi [1] LMSI, + serviceCentreAddressDA [4] AddressString, + noSM-RP-DA [5] NULL} + +SM-RP-OA ::= CHOICE { + msisdn [2] ISDN-AddressString, + serviceCentreAddressOA [4] AddressString, + noSM-RP-OA [5] NULL} + +ReportSM-DeliveryStatusArg ::= SEQUENCE { + msisdn ISDN-AddressString, + serviceCentreAddress AddressString, + sm-DeliveryOutcome SM-DeliveryOutcome, + absentSubscriberDiagnosticSM [0] AbsentSubscriberDiagnosticSM + OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ..., + gprsSupportIndicator [2] NULL OPTIONAL, + -- gprsSupportIndicator is set only if the SMS-GMSC supports + -- handling of two delivery outcomes + deliveryOutcomeIndicator [3] NULL OPTIONAL, + -- DeliveryOutcomeIndicator is set when the SM-DeliveryOutcome + -- is for GPRS + additionalSM-DeliveryOutcome [4] SM-DeliveryOutcome OPTIONAL, + -- If received, additionalSM-DeliveryOutcome is for GPRS + -- If DeliveryOutcomeIndicator is set, then AdditionalSM-DeliveryOutcome shall be absent + additionalAbsentSubscriberDiagnosticSM [5] AbsentSubscriberDiagnosticSM OPTIONAL + -- If received additionalAbsentSubscriberDiagnosticSM is for GPRS + -- If DeliveryOutcomeIndicator is set, then AdditionalAbsentSubscriberDiagnosticSM + -- shall be absent + } + +SM-DeliveryOutcome ::= ENUMERATED { + memoryCapacityExceeded (0), + absentSubscriber (1), + successfulTransfer (2)} + +ReportSM-DeliveryStatusRes ::= SEQUENCE { + storedMSISDN ISDN-AddressString OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +AlertServiceCentreArg ::= SEQUENCE { + msisdn ISDN-AddressString, + serviceCentreAddress AddressString, + ...} + +InformServiceCentreArg ::= SEQUENCE { + storedMSISDN ISDN-AddressString OPTIONAL, + mw-Status MW-Status OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... , + absentSubscriberDiagnosticSM AbsentSubscriberDiagnosticSM OPTIONAL, + additionalAbsentSubscriberDiagnosticSM [0] AbsentSubscriberDiagnosticSM OPTIONAL } + -- additionalAbsentSubscriberDiagnosticSM may be present only if + -- absentSubscriberDiagnosticSM is present. + -- if included, additionalAbsentSubscriberDiagnosticSM is for GPRS and + -- absentSubscriberDiagnosticSM is for non-GPRS + +MW-Status ::= BIT STRING { + sc-AddressNotIncluded (0), + mnrf-Set (1), + mcef-Set (2) , + mnrg-Set (3)} (SIZE (6..16)) + -- exception handling: + -- bits 4 to 15 shall be ignored if received and not understood + +ReadyForSM-Arg ::= SEQUENCE { + imsi [0] IMSI, + alertReason AlertReason, + alertReasonIndicator NULL OPTIONAL, + -- alertReasonIndicator is set only when the alertReason + -- sent to HLR is for GPRS + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ReadyForSM-Res ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +AlertReason ::= ENUMERATED { + ms-Present (0), + memoryAvailable (1)} + +END diff --git a/asn1/MAP-SS-Code.asn b/asn1/MAP-SS-Code.asn new file mode 100644 index 0000000..d3f0957 --- /dev/null +++ b/asn1/MAP-SS-Code.asn @@ -0,0 +1,183 @@ +MAP-SS-Code { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SS-Code (15) version9 (9)} + +DEFINITIONS + +::= + +BEGIN + +SS-Code ::= OCTET STRING (SIZE (1)) + -- This type is used to represent the code identifying a single + -- supplementary service, a group of supplementary services, or + -- all supplementary services. The services and abbreviations + -- used are defined in TS 3GPP TS 22.004 [5]. The internal structure is + -- defined as follows: + -- + -- bits 87654321: group (bits 8765), and specific service + -- (bits 4321) + +allSS SS-Code ::= '00000000'B + -- reserved for possible future use + -- all SS + +allLineIdentificationSS SS-Code ::= '00010000'B + -- reserved for possible future use + -- all line identification SS +clip SS-Code ::= '00010001'B + -- calling line identification presentation +clir SS-Code ::= '00010010'B + -- calling line identification restriction +colp SS-Code ::= '00010011'B + -- connected line identification presentation +colr SS-Code ::= '00010100'B + -- connected line identification restriction +mci SS-Code ::= '00010101'B + -- reserved for possible future use + -- malicious call identification + +allNameIdentificationSS SS-Code ::= '00011000'B + -- all name identification SS +cnap SS-Code ::= '00011001'B + -- calling name presentation + + -- SS-Codes '00011010'B to '00011111'B are reserved for future + -- NameIdentification Supplementary Service use. + +allForwardingSS SS-Code ::= '00100000'B + -- all forwarding SS +cfu SS-Code ::= '00100001'B + -- call forwarding unconditional +allCondForwardingSS SS-Code ::= '00101000'B + -- all conditional forwarding SS +cfb SS-Code ::= '00101001'B + -- call forwarding on mobile subscriber busy +cfnry SS-Code ::= '00101010'B + -- call forwarding on no reply +cfnrc SS-Code ::= '00101011'B + -- call forwarding on mobile subscriber not reachable +cd SS-Code ::= '00100100'B + -- call deflection + +allCallOfferingSS SS-Code ::= '00110000'B + -- reserved for possible future use + -- all call offering SS includes also all forwarding SS +ect SS-Code ::= '00110001'B + -- explicit call transfer +mah SS-Code ::= '00110010'B + -- reserved for possible future use + -- mobile access hunting + +allCallCompletionSS SS-Code ::= '01000000'B + -- reserved for possible future use + -- all Call completion SS +cw SS-Code ::= '01000001'B + -- call waiting +hold SS-Code ::= '01000010'B + -- call hold +ccbs-A SS-Code ::= '01000011'B + -- completion of call to busy subscribers, originating side +ccbs-B SS-Code ::= '01000100'B + -- completion of call to busy subscribers, destination side + -- this SS-Code is used only in InsertSubscriberData and DeleteSubscriberData +mc SS-Code ::= '01000101'B + -- multicall + +allMultiPartySS SS-Code ::= '01010000'B + -- reserved for possible future use + -- all multiparty SS +multiPTY SS-Code ::= '01010001'B + -- multiparty + +allCommunityOfInterest-SS SS-Code ::= '01100000'B + -- reserved for possible future use + -- all community of interest SS +cug SS-Code ::= '01100001'B + -- closed user group + +allChargingSS SS-Code ::= '01110000'B + -- reserved for possible future use + -- all charging SS +aoci SS-Code ::= '01110001'B + -- advice of charge information +aocc SS-Code ::= '01110010'B + -- advice of charge charging + +allAdditionalInfoTransferSS SS-Code ::= '10000000'B + -- reserved for possible future use + -- all additional information transfer SS +uus1 SS-Code ::= '10000001'B + -- UUS1 user-to-user signalling +uus2 SS-Code ::= '10000010'B + -- UUS2 user-to-user signalling +uus3 SS-Code ::= '10000011'B + -- UUS3 user-to-user signalling + +allBarringSS SS-Code ::= '10010000'B + -- all barring SS +barringOfOutgoingCalls SS-Code ::= '10010001'B + -- barring of outgoing calls +baoc SS-Code ::= '10010010'B + -- barring of all outgoing calls +boic SS-Code ::= '10010011'B + -- barring of outgoing international calls +boicExHC SS-Code ::= '10010100'B + -- barring of outgoing international calls except those directed + -- to the home PLMN Country +barringOfIncomingCalls SS-Code ::= '10011001'B + -- barring of incoming calls +baic SS-Code ::= '10011010'B + -- barring of all incoming calls +bicRoam SS-Code ::= '10011011'B + -- barring of incoming calls when roaming outside home PLMN + -- Country + +allPLMN-specificSS SS-Code ::= '11110000'B +plmn-specificSS-1 SS-Code ::= '11110001'B +plmn-specificSS-2 SS-Code ::= '11110010'B +plmn-specificSS-3 SS-Code ::= '11110011'B +plmn-specificSS-4 SS-Code ::= '11110100'B +plmn-specificSS-5 SS-Code ::= '11110101'B +plmn-specificSS-6 SS-Code ::= '11110110'B +plmn-specificSS-7 SS-Code ::= '11110111'B +plmn-specificSS-8 SS-Code ::= '11111000'B +plmn-specificSS-9 SS-Code ::= '11111001'B +plmn-specificSS-A SS-Code ::= '11111010'B +plmn-specificSS-B SS-Code ::= '11111011'B +plmn-specificSS-C SS-Code ::= '11111100'B +plmn-specificSS-D SS-Code ::= '11111101'B +plmn-specificSS-E SS-Code ::= '11111110'B +plmn-specificSS-F SS-Code ::= '11111111'B + +allCallPrioritySS SS-Code ::= '10100000'B + -- reserved for possible future use + -- all call priority SS +emlpp SS-Code ::= '10100001'B + -- enhanced Multilevel Precedence Pre-emption (EMLPP) service + +allLCSPrivacyException SS-Code ::= '10110000'B + -- all LCS Privacy Exception Classes +universal SS-Code ::= '10110001'B + -- allow location by any LCS client +callSessionRelated SS-Code ::= '10110010'B + -- allow location by any value added LCS client to which a call/session + -- is established from the target MS +callSessionUnrelated SS-Code ::= '10110011'B + -- allow location by designated external value added LCS clients +plmnoperator SS-Code ::= '10110100'B + -- allow location by designated PLMN operator LCS clients +serviceType SS-Code ::= '10110101'B + -- allow location by LCS clients of a designated LCS service type + +allMOLR-SS SS-Code ::= '11000000'B + -- all Mobile Originating Location Request Classes +basicSelfLocation SS-Code ::= '11000001'B + -- allow an MS to request its own location +autonomousSelfLocation SS-Code ::= '11000010'B + -- allow an MS to perform self location without interaction + -- with the PLMN for a predetermined period of time +transferToThirdParty SS-Code ::= '11000011'B + -- allow an MS to request transfer of its location to another LCS client + +END diff --git a/asn1/MAP-SS-DataTypes.asn b/asn1/MAP-SS-DataTypes.asn new file mode 100644 index 0000000..5cf9178 --- /dev/null +++ b/asn1/MAP-SS-DataTypes.asn @@ -0,0 +1,337 @@ +MAP-SS-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SS-DataTypes (14) version9 (9)} + +DEFINITIONS + +IMPLICIT TAGS + +::= + +BEGIN + +EXPORTS + RegisterSS-Arg, + SS-Info, + SS-Status, + SS-SubscriptionOption, + SS-ForBS-Code, + InterrogateSS-Res, + USSD-Arg, + USSD-Res, + USSD-DataCodingScheme, + USSD-String, + Password, + GuidanceInfo, + SS-List, + SS-InfoList, + OverrideCategory, + CliRestrictionOption, + NoReplyConditionTime, + ForwardingOptions, + maxNumOfSS, + SS-Data, + SS-InvocationNotificationArg, + SS-InvocationNotificationRes, + CCBS-Feature, + RegisterCC-EntryArg, + RegisterCC-EntryRes, + EraseCC-EntryArg, + EraseCC-EntryRes +; + +IMPORTS + AddressString, + ISDN-AddressString, + ISDN-SubaddressString, + FTN-AddressString, + IMSI, + BasicServiceCode, + AlertingPattern, + EMLPP-Priority, + MaxMC-Bearers, + MC-Bearers, + ExternalSignalInfo +FROM MAP-CommonDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)} + + ExtensionContainer +FROM MAP-ExtensionDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)} + + SS-Code +FROM MAP-SS-Code { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SS-Code (15) version9 (9)} +; + + +RegisterSS-Arg ::= SEQUENCE { + ss-Code SS-Code, + basicService BasicServiceCode OPTIONAL, + forwardedToNumber [4] AddressString OPTIONAL, + forwardedToSubaddress [6] ISDN-SubaddressString OPTIONAL, + noReplyConditionTime [5] NoReplyConditionTime OPTIONAL, + ..., + defaultPriority [7] EMLPP-Priority OPTIONAL, + nbrUser [8] MC-Bearers OPTIONAL, + longFTN-Supported [9] NULL OPTIONAL } + +NoReplyConditionTime ::= INTEGER (5..30) + +SS-Info ::= CHOICE { + forwardingInfo [0] ForwardingInfo, + callBarringInfo [1] CallBarringInfo, + ss-Data [3] SS-Data} + +ForwardingInfo ::= SEQUENCE { + ss-Code SS-Code OPTIONAL, + forwardingFeatureList ForwardingFeatureList, + ...} + +ForwardingFeatureList ::= + SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF + ForwardingFeature + +ForwardingFeature ::= SEQUENCE { + basicService BasicServiceCode OPTIONAL, + ss-Status [4] SS-Status OPTIONAL, + forwardedToNumber [5] ISDN-AddressString OPTIONAL, + forwardedToSubaddress [8] ISDN-SubaddressString OPTIONAL, + forwardingOptions [6] ForwardingOptions OPTIONAL, + noReplyConditionTime [7] NoReplyConditionTime OPTIONAL, + ..., + longForwardedToNumber [9] FTN-AddressString OPTIONAL } + +SS-Status ::= OCTET STRING (SIZE (1)) + + -- bits 8765: 0000 (unused) + -- bits 4321: Used to convey the "P bit","R bit","A bit" and "Q bit", + -- representing supplementary service state information + -- as defined in TS 3GPP TS 23.011 [22] + + -- bit 4: "Q bit" + + -- bit 3: "P bit" + + -- bit 2: "R bit" + + -- bit 1: "A bit" + +ForwardingOptions ::= OCTET STRING (SIZE (1)) + + -- bit 8: notification to forwarding party + -- 0 no notification + -- 1 notification + + -- bit 7: redirecting presentation + -- 0 no presentation + -- 1 presentation + + -- bit 6: notification to calling party + -- 0 no notification + -- 1 notification + + -- bit 5: 0 (unused) + + -- bits 43: forwarding reason + -- 00 ms not reachable + -- 01 ms busy + -- 10 no reply + -- 11 unconditional when used in a SRI Result, + -- or call deflection when used in a RCH Argument + -- bits 21: 00 (unused) + +CallBarringInfo ::= SEQUENCE { + ss-Code SS-Code OPTIONAL, + callBarringFeatureList CallBarringFeatureList, + ...} + +CallBarringFeatureList ::= SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF + CallBarringFeature + +CallBarringFeature ::= SEQUENCE { + basicService BasicServiceCode OPTIONAL, + ss-Status [4] SS-Status OPTIONAL, + ...} + +SS-Data ::= SEQUENCE { + ss-Code SS-Code OPTIONAL, + ss-Status [4] SS-Status OPTIONAL, + ss-SubscriptionOption SS-SubscriptionOption OPTIONAL, + basicServiceGroupList BasicServiceGroupList OPTIONAL, + ..., + defaultPriority EMLPP-Priority OPTIONAL, + nbrUser [5] MC-Bearers OPTIONAL + } + +SS-SubscriptionOption ::= CHOICE { + cliRestrictionOption [2] CliRestrictionOption, + overrideCategory [1] OverrideCategory} + +CliRestrictionOption ::= ENUMERATED { + permanent (0), + temporaryDefaultRestricted (1), + temporaryDefaultAllowed (2)} + +OverrideCategory ::= ENUMERATED { + overrideEnabled (0), + overrideDisabled (1)} + +SS-ForBS-Code ::= SEQUENCE { + ss-Code SS-Code, + basicService BasicServiceCode OPTIONAL, + ..., + longFTN-Supported [4] NULL OPTIONAL } + +GenericServiceInfo ::= SEQUENCE { + ss-Status SS-Status, + cliRestrictionOption CliRestrictionOption OPTIONAL, + ..., + maximumEntitledPriority [0] EMLPP-Priority OPTIONAL, + defaultPriority [1] EMLPP-Priority OPTIONAL, + ccbs-FeatureList [2] CCBS-FeatureList OPTIONAL, + nbrSB [3] MaxMC-Bearers OPTIONAL, + nbrUser [4] MC-Bearers OPTIONAL, + nbrSN [5] MC-Bearers OPTIONAL } + +CCBS-FeatureList ::= SEQUENCE SIZE (1..maxNumOfCCBS-Requests) OF + CCBS-Feature + +maxNumOfCCBS-Requests INTEGER ::= 5 + +CCBS-Feature ::= SEQUENCE { + ccbs-Index [0] CCBS-Index OPTIONAL, + b-subscriberNumber [1] ISDN-AddressString OPTIONAL, + b-subscriberSubaddress [2] ISDN-SubaddressString OPTIONAL, + basicServiceGroup [3] BasicServiceCode OPTIONAL, + ...} + +CCBS-Index ::= INTEGER (1..maxNumOfCCBS-Requests) + +InterrogateSS-Res ::= CHOICE { + ss-Status [0] SS-Status, + basicServiceGroupList [2] BasicServiceGroupList, + forwardingFeatureList [3] ForwardingFeatureList, + genericServiceInfo [4] GenericServiceInfo } + +USSD-Arg ::= SEQUENCE { + ussd-DataCodingScheme USSD-DataCodingScheme, + ussd-String USSD-String, + ... , + alertingPattern AlertingPattern OPTIONAL, + msisdn [0] ISDN-AddressString OPTIONAL } + +USSD-Res ::= SEQUENCE { + ussd-DataCodingScheme USSD-DataCodingScheme, + ussd-String USSD-String, + ...} + +USSD-DataCodingScheme ::= OCTET STRING (SIZE (1)) + -- The structure of the USSD-DataCodingScheme is defined by + -- the Cell Broadcast Data Coding Scheme as described in + -- TS 3GPP TS 23.038 [25] + +USSD-String ::= OCTET STRING (SIZE (1..maxUSSD-StringLength)) + -- The structure of the contents of the USSD-String is dependent + -- on the USSD-DataCodingScheme as described in TS 3GPP TS 23.038 [25]. + +maxUSSD-StringLength INTEGER ::= 160 + +Password ::= NumericString + (FROM ("0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9")) + (SIZE (4)) + +GuidanceInfo ::= ENUMERATED { + enterPW (0), + enterNewPW (1), + enterNewPW-Again (2)} + -- How this information is really delivered to the subscriber + -- (display, announcement, ...) is not part of this + -- specification. + +SS-List ::= SEQUENCE SIZE (1..maxNumOfSS) OF + SS-Code + +maxNumOfSS INTEGER ::= 30 + +SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF + SS-Info + +BasicServiceGroupList ::= SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF + BasicServiceCode + +maxNumOfBasicServiceGroups INTEGER ::= 13 + +SS-InvocationNotificationArg ::= SEQUENCE { + imsi [0] IMSI, + msisdn [1] ISDN-AddressString, + ss-Event [2] SS-Code, + -- The following SS-Code values are allowed : + -- ect SS-Code ::= '00110001'B + -- multiPTY SS-Code ::= '01010001'B + -- cd SS-Code ::= '00100100'B + -- ccbs SS-Code ::= '01000100'B + ss-EventSpecification [3] SS-EventSpecification OPTIONAL, + extensionContainer [4] ExtensionContainer OPTIONAL, + ..., + b-subscriberNumber [5] ISDN-AddressString OPTIONAL, + ccbs-RequestState [6] CCBS-RequestState OPTIONAL + } + +CCBS-RequestState ::= ENUMERATED { + request (0), + recall (1), + active (2), + completed (3), + suspended (4), + frozen (5), + deleted (6) + } + +SS-InvocationNotificationRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... + } + +SS-EventSpecification ::= SEQUENCE SIZE (1..maxEventSpecification) OF + AddressString + +maxEventSpecification INTEGER ::= 2 + +RegisterCC-EntryArg ::= SEQUENCE { + ss-Code [0] SS-Code, + ccbs-Data [1] CCBS-Data OPTIONAL, + ...} + +CCBS-Data ::= SEQUENCE { + ccbs-Feature [0] CCBS-Feature, + translatedB-Number [1] ISDN-AddressString, + serviceIndicator [2] ServiceIndicator OPTIONAL, + callInfo [3] ExternalSignalInfo, + networkSignalInfo [4] ExternalSignalInfo, + ...} + +ServiceIndicator ::= BIT STRING { + clir-invoked (0), + camel-invoked (1)} (SIZE(2..32)) + -- exception handling: + -- bits 2 to 31 shall be ignored if received and not understood + +RegisterCC-EntryRes ::= SEQUENCE { + ccbs-Feature [0] CCBS-Feature OPTIONAL, + ...} + +EraseCC-EntryArg ::= SEQUENCE { + ss-Code [0] SS-Code, + ccbs-Index [1] CCBS-Index OPTIONAL, + ...} + +EraseCC-EntryRes ::= SEQUENCE { + ss-Code [0] SS-Code, + ss-Status [1] SS-Status OPTIONAL, + ...} + +END diff --git a/asn1/MAP-ST-DataTypes.asn b/asn1/MAP-ST-DataTypes.asn new file mode 100644 index 0000000..2eac165 --- /dev/null +++ b/asn1/MAP-ST-DataTypes.asn @@ -0,0 +1,98 @@ +MAP-ST-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ST-DataTypes (27) version9 (9)} + +DEFINITIONS +IMPLICIT TAGS +::= +BEGIN + +EXPORTS + SecureTransportArg, + SecureTransportRes, + SecurityHeader, + ProtectedPayload +; + +IMPORTS + IMSI + +FROM MAP-CommonDataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)} +; + +SecureTransportArg ::= SEQUENCE { + securityHeader SecurityHeader, + protectedPayload ProtectedPayload OPTIONAL + } + -- The protectedPayload carries the result of applying the security function + -- defined in 3GPP TS 33.200 to the encoding of the argument of the securely + -- transported operation + +SecureTransportRes ::= SEQUENCE { + securityHeader SecurityHeader, + protectedPayload ProtectedPayload OPTIONAL + } + -- The protectedPayload carries the result of applying the security function + -- defined in 3GPP TS 33.200 to the encoding of the result of the securely + -- transported operation + +SecurityHeader ::= SEQUENCE { + securityParametersIndex SecurityParametersIndex, + originalComponentIdentifier OriginalComponentIdentifier, + initialisationVector InitialisationVector OPTIONAL, + ...} + +ProtectedPayload ::= OCTET STRING(SIZE(1.. 3438)) + -- In protection mode 0 (noProtection) the ProtectedPayload carries the transfer + -- syntax value of the component parameter identified by the + -- originalComponentIdentifier. + -- In protection mode 1 (integrityAuthenticity) the protectedPayload carries + -- the transfer syntax value of the component + -- parameter identified by the originalComponentIdentifier, followed by + -- the 32 bit integrity check value. + -- The integrity check value is the result of applying the hash algorithm + -- to the concatenation of the transfer syntax value of the SecurityHeader, + -- and the transfer syntax value of the component parameter. + -- In protection mode 2 (confidentialityIntegrityAuthenticity) the protected + -- payload carries the encrypted transfer syntax + -- value of the component parameter identified by the + -- originalComponentIdentifier, followed by the 32 bit integrity check value. + -- The integrity check value is the result of applying the hash algorithm + -- to the concatenation of the transfer syntax value of the SecurityHeader, + -- and the encrypted transfer syntax value of the component parameter. + -- See 33.200. + -- The length of the protectedPayload is adjusted according to the capabilities of + -- the lower protocol layers + +SecurityParametersIndex ::= OCTET STRING (SIZE(4)) + +InitialisationVector ::= OCTET STRING (SIZE(14)) + -- the internal structure is defined as follows: + -- Octets 1 to 4 : TVP. The TVP is a 32 bit time stamp. Its value is binary coded + -- and indicates the number of intervals of 100 milliseconds + -- elapsed since 1st January 2002, 0:00:00 UTC + -- Octets 5 to 10: NE-Id. The NE-Id uniquely identifies the sending network entity + -- within the PLMN. It is the entity's E.164 number without CC and + -- NDC. It is TBCD-coded, padded with zeros. + -- Octets 11 to 14: PROP. This 32 bit value is used to make the + -- InitialisationVector unique within the same TVP period. + -- The content is not standardized. + + +OriginalComponentIdentifier ::= CHOICE { + operationCode [0] OperationCode, + errorCode [1] ErrorCode, + userInfo [2] NULL} + +OperationCode ::= CHOICE { + localValue INTEGER, + globalValue OBJECT IDENTIFIER} + +ErrorCode ::= CHOICE { + localValue INTEGER, + globalValue OBJECT IDENTIFIER} + +END + diff --git a/asn1/MAP-SecureTransportOperations.asn b/asn1/MAP-SecureTransportOperations.asn new file mode 100644 index 0000000..dfb830c --- /dev/null +++ b/asn1/MAP-SecureTransportOperations.asn @@ -0,0 +1,78 @@ +MAP-SecureTransportOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SecureTransportOperations (26) + version9 (9)} + +DEFINITIONS + +::= + +BEGIN + +EXPORTS + secureTransportClass1, + secureTransportClass2, + secureTransportClass3, + secureTransportClass4 +; + +IMPORTS + OPERATION +FROM Remote-Operations-Information-Objects { +joint-iso-itu-t remote-operations(4) + informationObjects(5) version1(0)} + + dataMissing, + secureTransportError, + unexpectedDataValue + +FROM MAP-Errors { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-Errors (10) version9 (9)} + + SecureTransportArg, + SecureTransportRes + +FROM MAP-ST-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ST-DataTypes (27) version9 (9)} +; + +secureTransportClass1 OPERATION ::= { --Timer shall be the same as for the + --securely transported operation + ARGUMENT + SecureTransportArg + RESULT + SecureTransportRes + ERRORS { + secureTransportError | + dataMissing | + unexpectedDataValue} + CODE local:78 } + +secureTransportClass2 OPERATION ::= { --Timer shall be the same as for the + --securely transported operation + ARGUMENT + SecureTransportArg + ERRORS { + secureTransportError | + dataMissing | + unexpectedDataValue} + CODE local:79 } + +secureTransportClass3 OPERATION ::= { --Timer shall be the same as for the + --securely transported operation + ARGUMENT + SecureTransportArg + RESULT + SecureTransportRes + CODE local:80 } + +secureTransportClass4 OPERATION ::= { --Timer shall be the same as for the + --securely transported operation + ARGUMENT + SecureTransportArg + CODE local:81 } + + +END diff --git a/asn1/MAP-ShortMessageServiceOperations.asn b/asn1/MAP-ShortMessageServiceOperations.asn new file mode 100644 index 0000000..0cca86c --- /dev/null +++ b/asn1/MAP-ShortMessageServiceOperations.asn @@ -0,0 +1,155 @@ +-- asn1ct:compile("MAP-ShortMessageServiceOperations",[ber_bin, {outdir, "../compiled/umts_map"}]). + +MAP-ShortMessageServiceOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ShortMessageServiceOperations (9) + version9 (9)} + +DEFINITIONS + +::= + +BEGIN + +EXPORTS + sendRoutingInfoForSM, + mo-ForwardSM, + mt-ForwardSM, + reportSM-DeliveryStatus, + alertServiceCentre, + informServiceCentre, + readyForSM +; + +IMPORTS + OPERATION +FROM Remote-Operations-Information-Objects { +joint-iso-itu-t remote-operations(4) + informationObjects(5) version1(0)} + + systemFailure, + dataMissing, + unexpectedDataValue, + facilityNotSupported, + unknownSubscriber, + unidentifiedSubscriber, + illegalSubscriber, + illegalEquipment, + teleserviceNotProvisioned, + callBarred, + subscriberBusyForMT-SMS, + sm-DeliveryFailure, + messageWaitingListFull, + absentSubscriberSM +FROM MAP-Errors { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-Errors (10) version9 (9)} + + RoutingInfoForSM-Arg, + RoutingInfoForSM-Res, + MO-ForwardSM-Arg, + MO-ForwardSM-Res, + MT-ForwardSM-Arg, + MT-ForwardSM-Res, + ReportSM-DeliveryStatusArg, + ReportSM-DeliveryStatusRes, + AlertServiceCentreArg, + InformServiceCentreArg, + ReadyForSM-Arg, + ReadyForSM-Res +FROM MAP-SM-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SM-DataTypes (16) version9 (9)} + +; + +sendRoutingInfoForSM OPERATION ::= { --Timer m + ARGUMENT + RoutingInfoForSM-Arg + RESULT + RoutingInfoForSM-Res + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + facilityNotSupported | + unknownSubscriber | + teleserviceNotProvisioned | + callBarred | + absentSubscriberSM} + CODE local:45 } + +mo-ForwardSM OPERATION ::= { --Timer ml + ARGUMENT + MO-ForwardSM-Arg + RESULT + MO-ForwardSM-Res + -- optional + ERRORS { + systemFailure | + unexpectedDataValue | + facilityNotSupported | + sm-DeliveryFailure} + CODE local:46 } + +mt-ForwardSM OPERATION ::= { --Timer ml + ARGUMENT + MT-ForwardSM-Arg + RESULT + MT-ForwardSM-Res + -- optional + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + facilityNotSupported | + unidentifiedSubscriber | + illegalSubscriber | + illegalEquipment | + subscriberBusyForMT-SMS | + sm-DeliveryFailure | + absentSubscriberSM} + CODE local:44 } + +reportSM-DeliveryStatus OPERATION ::= { --Timer s + ARGUMENT + ReportSM-DeliveryStatusArg + RESULT + ReportSM-DeliveryStatusRes + -- optional + ERRORS { + dataMissing | + unexpectedDataValue | + unknownSubscriber | + messageWaitingListFull} + CODE local:47 } + +alertServiceCentre OPERATION ::= { --Timer s + ARGUMENT + AlertServiceCentreArg + RETURN RESULT TRUE + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue} + CODE local:64 } + +informServiceCentre OPERATION ::= { --Timer s + ARGUMENT + InformServiceCentreArg + CODE local:63 } + +readyForSM OPERATION ::= { --Timer m + ARGUMENT + ReadyForSM-Arg + RESULT + ReadyForSM-Res + -- optional + ERRORS { + dataMissing | + unexpectedDataValue | + facilityNotSupported | + unknownSubscriber} + CODE local:66 } + +END diff --git a/asn1/MAP-SupplementaryServiceOperations.asn b/asn1/MAP-SupplementaryServiceOperations.asn new file mode 100644 index 0000000..7c89273 --- /dev/null +++ b/asn1/MAP-SupplementaryServiceOperations.asn @@ -0,0 +1,295 @@ +MAP-SupplementaryServiceOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SupplementaryServiceOperations (8) + version9 (9)} + +DEFINITIONS + +::= + +BEGIN + +EXPORTS + registerSS, + eraseSS, + activateSS, + deactivateSS, + interrogateSS, + processUnstructuredSS-Request, + unstructuredSS-Request, + unstructuredSS-Notify, + registerPassword, + getPassword, + ss-InvocationNotification, + registerCC-Entry, + eraseCC-Entry +; + +IMPORTS + OPERATION +FROM Remote-Operations-Information-Objects { +joint-iso-itu-t remote-operations(4) + informationObjects(5) version1(0)} + + systemFailure, + dataMissing, + unexpectedDataValue, + unknownSubscriber, + bearerServiceNotProvisioned, + teleserviceNotProvisioned, + callBarred, + illegalSS-Operation, + ss-ErrorStatus, + ss-NotAvailable, + ss-SubscriptionViolation, + ss-Incompatibility, + pw-RegistrationFailure, + negativePW-Check, + numberOfPW-AttemptsViolation, + unknownAlphabet, + ussd-Busy, + absentSubscriber, + illegalSubscriber, + illegalEquipment, + shortTermDenial, + longTermDenial, + facilityNotSupported +FROM MAP-Errors { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-Errors (10) version9 (9)} + + RegisterSS-Arg, + SS-Info, + SS-ForBS-Code, + InterrogateSS-Res, + USSD-Arg, + USSD-Res, + Password, + GuidanceInfo, + SS-InvocationNotificationArg, + SS-InvocationNotificationRes, + RegisterCC-EntryArg, + RegisterCC-EntryRes, + EraseCC-EntryArg, + EraseCC-EntryRes +FROM MAP-SS-DataTypes { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SS-DataTypes (14) version9 (9)} + + SS-Code +FROM MAP-SS-Code { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-SS-Code (15) version9 (9)} +; + + +-- supplementary service handling operations + +registerSS OPERATION ::= { --Timer m + ARGUMENT + RegisterSS-Arg + RESULT + SS-Info + -- optional + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + bearerServiceNotProvisioned | + teleserviceNotProvisioned | + callBarred | + illegalSS-Operation | + ss-ErrorStatus | + ss-Incompatibility} + CODE local:10 } + +eraseSS OPERATION ::= { --Timer m + ARGUMENT + SS-ForBS-Code + RESULT + SS-Info + -- optional + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + bearerServiceNotProvisioned | + teleserviceNotProvisioned | + callBarred | + illegalSS-Operation | + ss-ErrorStatus + } + CODE local:11 } + +activateSS OPERATION ::= { --Timer m + ARGUMENT + SS-ForBS-Code + RESULT + SS-Info + -- optional + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + bearerServiceNotProvisioned | + teleserviceNotProvisioned | + callBarred | + illegalSS-Operation | + ss-ErrorStatus | + ss-SubscriptionViolation | + ss-Incompatibility | + negativePW-Check | + numberOfPW-AttemptsViolation} + CODE local:12 } + +deactivateSS OPERATION ::= { --Timer m + ARGUMENT + SS-ForBS-Code + RESULT + SS-Info + -- optional + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + bearerServiceNotProvisioned | + teleserviceNotProvisioned | + callBarred | + illegalSS-Operation | + ss-ErrorStatus | + ss-SubscriptionViolation | + negativePW-Check | + numberOfPW-AttemptsViolation} + CODE local:13 } + +interrogateSS OPERATION ::= { --Timer m + ARGUMENT + SS-ForBS-Code + RESULT + InterrogateSS-Res + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + bearerServiceNotProvisioned | + teleserviceNotProvisioned | + callBarred | + illegalSS-Operation | + ss-NotAvailable} + CODE local:14 } + +processUnstructuredSS-Request OPERATION ::= { --Timer 10 minutes + ARGUMENT + USSD-Arg + RESULT + USSD-Res + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + unknownAlphabet | + callBarred} + CODE local:59 } + +unstructuredSS-Request OPERATION ::= { --Timer ml + ARGUMENT + USSD-Arg + RESULT + USSD-Res + -- optional + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + absentSubscriber | + illegalSubscriber | + illegalEquipment | + unknownAlphabet | + ussd-Busy} + CODE local:60 } + +unstructuredSS-Notify OPERATION ::= { --Timer ml + ARGUMENT + USSD-Arg + RETURN RESULT TRUE + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + absentSubscriber | + illegalSubscriber | + illegalEquipment | + unknownAlphabet | + ussd-Busy} + CODE local:61 } + +registerPassword OPERATION ::= { --Timer ml + ARGUMENT + SS-Code + RESULT + Password + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + callBarred | + ss-SubscriptionViolation | + pw-RegistrationFailure | + negativePW-Check | + numberOfPW-AttemptsViolation} + LINKED { + getPassword} + CODE local:17 } + +getPassword OPERATION ::= { --Timer m + ARGUMENT + GuidanceInfo + RESULT + Password + CODE local:18 } + +ss-InvocationNotification OPERATION ::= { --Timer m + ARGUMENT + SS-InvocationNotificationArg + RESULT + SS-InvocationNotificationRes + -- optional + ERRORS { + dataMissing | + unexpectedDataValue | + unknownSubscriber} + CODE local:72 } + +registerCC-Entry OPERATION ::= { --Timer m + ARGUMENT + RegisterCC-EntryArg + RESULT + RegisterCC-EntryRes + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + callBarred | + illegalSS-Operation | + ss-ErrorStatus | + ss-Incompatibility | + shortTermDenial | + longTermDenial | + facilityNotSupported} + CODE local:76 } + +eraseCC-Entry OPERATION ::= { --Timer m + ARGUMENT + EraseCC-EntryArg + RESULT + EraseCC-EntryRes + ERRORS { + systemFailure | + dataMissing | + unexpectedDataValue | + callBarred | + illegalSS-Operation | + ss-ErrorStatus} + CODE local:77 } + +END diff --git a/asn1/MAP-TS-Code.asn b/asn1/MAP-TS-Code.asn new file mode 100644 index 0000000..eface38 --- /dev/null +++ b/asn1/MAP-TS-Code.asn @@ -0,0 +1,87 @@ +MAP-TS-Code { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-TS-Code (19) version9 (9)} + +DEFINITIONS + +::= + +BEGIN + +TeleserviceCode ::= OCTET STRING (SIZE (1)) + -- This type is used to represent the code identifying a single + -- teleservice, a group of teleservices, or all teleservices. The + -- services are defined in TS GSM 22.003 [4]. + -- The internal structure is defined as follows: + + -- bits 87654321: group (bits 8765) and specific service + -- (bits 4321) + +Ext-TeleserviceCode ::= OCTET STRING (SIZE (1..5)) + -- This type is used to represent the code identifying a single + -- teleservice, a group of teleservices, or all teleservices. The + -- services are defined in TS GSM 22.003 [4]. + -- The internal structure is defined as follows: + + -- OCTET 1: + -- bits 87654321: group (bits 8765) and specific service + -- (bits 4321) + + -- OCTETS 2-5: reserved for future use. If received the + -- Ext-TeleserviceCode shall be + -- treated according to the exception handling defined for the + -- operation that uses this type. + + -- Ext-TeleserviceCode includes all values defined for TeleserviceCode. + +allTeleservices TeleserviceCode ::= '00000000'B + +allSpeechTransmissionServices TeleserviceCode ::= '00010000'B +telephony TeleserviceCode ::= '00010001'B +emergencyCalls TeleserviceCode ::= '00010010'B + +allShortMessageServices TeleserviceCode ::= '00100000'B +shortMessageMT-PP TeleserviceCode ::= '00100001'B +shortMessageMO-PP TeleserviceCode ::= '00100010'B + +allFacsimileTransmissionServices TeleserviceCode ::= '01100000'B +facsimileGroup3AndAlterSpeech TeleserviceCode ::= '01100001'B +automaticFacsimileGroup3 TeleserviceCode ::= '01100010'B +facsimileGroup4 TeleserviceCode ::= '01100011'B + +-- The following non-hierarchical Compound Teleservice Groups +-- are defined in TS 3GPP TS 22.030: +allDataTeleservices TeleserviceCode ::= '01110000'B + -- covers Teleservice Groups 'allFacsimileTransmissionServices' + -- and 'allShortMessageServices' +allTeleservices-ExeptSMS TeleserviceCode ::= '10000000'B + -- covers Teleservice Groups 'allSpeechTransmissionServices' and + -- 'allFacsimileTransmissionServices' +-- +-- Compound Teleservice Group Codes are only used in call +-- independent supplementary service operations, i.e. they +-- are not used in InsertSubscriberData or in +-- DeleteSubscriberData messages. + +allVoiceGroupCallServices TeleserviceCode ::= '10010000'B +voiceGroupCall TeleserviceCode ::= '10010001'B +voiceBroadcastCall TeleserviceCode ::= '10010010'B + +allPLMN-specificTS TeleserviceCode ::= '11010000'B +plmn-specificTS-1 TeleserviceCode ::= '11010001'B +plmn-specificTS-2 TeleserviceCode ::= '11010010'B +plmn-specificTS-3 TeleserviceCode ::= '11010011'B +plmn-specificTS-4 TeleserviceCode ::= '11010100'B +plmn-specificTS-5 TeleserviceCode ::= '11010101'B +plmn-specificTS-6 TeleserviceCode ::= '11010110'B +plmn-specificTS-7 TeleserviceCode ::= '11010111'B +plmn-specificTS-8 TeleserviceCode ::= '11011000'B +plmn-specificTS-9 TeleserviceCode ::= '11011001'B +plmn-specificTS-A TeleserviceCode ::= '11011010'B +plmn-specificTS-B TeleserviceCode ::= '11011011'B +plmn-specificTS-C TeleserviceCode ::= '11011100'B +plmn-specificTS-D TeleserviceCode ::= '11011101'B +plmn-specificTS-E TeleserviceCode ::= '11011110'B +plmn-specificTS-F TeleserviceCode ::= '11011111'B + +END diff --git a/asn1/MobileDomainDefinitions.asn b/asn1/MobileDomainDefinitions.asn new file mode 100644 index 0000000..30e7143 --- /dev/null +++ b/asn1/MobileDomainDefinitions.asn @@ -0,0 +1,38 @@ +MobileDomainDefinitions {itu-t (0) identified-organization (4) etsi (0) + mobileDomain (0) mobileDomainDefinitions (0) version1 (1)} + +DEFINITIONS ::= + +BEGIN + +-- Mobile DomainId +mobileDomainId OBJECT IDENTIFIER ::= + {itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)} + +-- Mobile Subdomains +gsm-NetworkId OBJECT IDENTIFIER ::= + {mobileDomainId gsm-Network (1)} + +gsm-AccessId OBJECT IDENTIFIER ::= + {mobileDomainId gsm-Access (2)} + +gsm-OperationAndMaintenanceId OBJECT IDENTIFIER ::= + {mobileDomainId gsm-Operation-Maintenance (3)} + +gsm-MessagingId OBJECT IDENTIFIER ::= + {mobileDomainId gsm-Messaging (4)} + +-- Common Component Ids for structuring Mobile Subdomains +CommonComponentId ::= INTEGER (0..9) + +ac-Id CommonComponentId ::= 0 + +as-Id CommonComponentId ::= 1 + +ase-Id CommonComponentId ::= 2 + +moduleId CommonComponentId ::= 3 + +er-Id CommonComponentId ::= 4 + +END -- MobileDomainDefinitions \ No newline at end of file diff --git a/asn1/Remote-Operations-Generic-ROS-PDUs.asn b/asn1/Remote-Operations-Generic-ROS-PDUs.asn new file mode 100644 index 0000000..d4d2eec --- /dev/null +++ b/asn1/Remote-Operations-Generic-ROS-PDUs.asn @@ -0,0 +1,167 @@ +-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t remote-operations(4) + generic-ROS-PDUs(6) version1(0)} + +DEFINITIONS IMPLICIT TAGS + +::= + +BEGIN + +-- exports everything +IMPORTS + OPERATION, ERROR + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)}; + +ROS{InvokeId:InvokeIdSet, OPERATION:Invokable, OPERATION:Returnable} ::= + CHOICE { + invoke [1] Invoke{{InvokeIdSet}, {Invokable}}, + returnResult [2] ReturnResult{{Returnable}}, + returnError [3] ReturnError{{Errors {{Returnable}}}}, + reject [4] Reject +} +(CONSTRAINED BY { -- must conform to the above definition --} ! + RejectProblem:general-unrecognizedPDU) + +Invoke{InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE { + invokeId + InvokeId(InvokeIdSet) + (CONSTRAINED BY { -- must be unambiguous --} ! + RejectProblem:invoke-duplicateInvocation), + linkedId + CHOICE {present [0] IMPLICIT present < InvokeId, + absent [1] IMPLICIT NULL + } + (CONSTRAINED BY { -- must identify an outstanding operation --} ! + RejectProblem:invoke-unrecognizedLinkedId) + (CONSTRAINED BY { -- which has one or more linked operations--} ! + RejectProblem:invoke-linkedResponseUnexpected) OPTIONAL, + opcode + OPERATION.&operationCode + ({Operations} !RejectProblem:invoke-unrecognizedOperation), + argument + OPERATION.&ArgumentType + ({Operations}{@opcode} !RejectProblem:invoke-mistypedArgument) OPTIONAL +} +(CONSTRAINED BY { -- must conform to the above definition --} ! + RejectProblem:general-mistypedPDU) +(WITH COMPONENTS { + ..., + linkedId ABSENT + } | + WITH COMPONENTS { + ..., + linkedId PRESENT, + opcode (CONSTRAINED BY { -- must be in the &Linked field of the associated operation -- + } !RejectProblem:invoke-unexpectedLinkedOperation) + }) + +-- continued on the next page +ReturnResult{OPERATION:Operations} ::= SEQUENCE { + invokeId + InvokeId + (CONSTRAINED BY { -- must be that for an outstanding operation --} ! + RejectProblem:returnResult-unrecognizedInvocation) + (CONSTRAINED BY { -- which returns a result --} ! + RejectProblem:returnResult-resultResponseUnexpected), + result + SEQUENCE {opcode + OPERATION.&operationCode({Operations}) + (CONSTRAINED BY { -- identified by invokeId --} ! + RejectProblem:returnResult-unrecognizedInvocation), + result + OPERATION.&ResultType + ({Operations}{@.opcode} ! + RejectProblem:returnResult-mistypedResult)} OPTIONAL +} +(CONSTRAINED BY { -- must conform to the above definition --} ! + RejectProblem:general-mistypedPDU) + +ReturnError{ERROR:Errors} ::= SEQUENCE { + invokeId + InvokeId + (CONSTRAINED BY { -- must be that for an outstanding operation --} ! + RejectProblem:returnError-unrecognizedInvocation) + (CONSTRAINED BY { -- which returns an error --} ! + RejectProblem:returnError-errorResponseUnexpected), + errcode + ERROR.&errorCode({Errors} !RejectProblem:returnError-unrecognizedError) + (CONSTRAINED BY { -- must be in the &Errors field of the associated operation -- + } !RejectProblem:returnError-unexpectedError), + parameter + ERROR.&ParameterType + ({Errors}{@errcode} !RejectProblem:returnError-mistypedParameter) + OPTIONAL +} +(CONSTRAINED BY { -- must conform to the above definition --} ! + RejectProblem:general-mistypedPDU) + +Reject ::= SEQUENCE { + invokeId InvokeId, + problem + CHOICE {general [0] GeneralProblem, + invoke [1] InvokeProblem, + returnResult [2] ReturnResultProblem, + returnError [3] ReturnErrorProblem} +} +(CONSTRAINED BY { -- must conform to the above definition --} ! + RejectProblem:general-mistypedPDU) + +GeneralProblem ::= INTEGER { + unrecognizedPDU(0), mistypedPDU(1), badlyStructuredPDU(2)} + +-- continued on the next page +InvokeProblem ::= INTEGER { + duplicateInvocation(0), unrecognizedOperation(1), mistypedArgument(2), + resourceLimitation(3), releaseInProgress(4), unrecognizedLinkedId(5), + linkedResponseUnexpected(6), unexpectedLinkedOperation(7)} + +ReturnResultProblem ::= INTEGER { + unrecognizedInvocation(0), resultResponseUnexpected(1), mistypedResult(2) +} + +ReturnErrorProblem ::= INTEGER { + unrecognizedInvocation(0), errorResponseUnexpected(1), unrecognizedError(2), + unexpectedError(3), mistypedParameter(4)} + +RejectProblem ::= INTEGER { + general-unrecognizedPDU(0), general-mistypedPDU(1), + general-badlyStructuredPDU(2), invoke-duplicateInvocation(10), + invoke-unrecognizedOperation(11), invoke-mistypedArgument(12), + invoke-resourceLimitation(13), invoke-releaseInProgress(14), + invoke-unrecognizedLinkedId(15), invoke-linkedResponseUnexpected(16), + invoke-unexpectedLinkedOperation(17), + returnResult-unrecognizedInvocation(20), + returnResult-resultResponseUnexpected(21), returnResult-mistypedResult(22), + returnError-unrecognizedInvocation(30), + returnError-errorResponseUnexpected(31), returnError-unrecognizedError(32), + returnError-unexpectedError(33), returnError-mistypedParameter(34)} + +InvokeId ::= CHOICE {present INTEGER, + absent NULL +} + +noInvokeId InvokeId ::= absent:NULL + +NoInvokeId InvokeId ::= {noInvokeId} + +Errors{OPERATION:Operations} ERROR ::= {Operations.&Errors} + +-- continued on the next page +Bind{OPERATION:operation} ::= CHOICE { + bind-invoke [16] OPERATION.&ArgumentType({operation}), + bind-result [17] OPERATION.&ResultType({operation}), + bind-error [18] OPERATION.&Errors.&ParameterType({operation}) +} + +Unbind{OPERATION:operation} ::= CHOICE { + unbind-invoke [19] OPERATION.&ArgumentType({operation}), + unbind-result [20] OPERATION.&ResultType({operation}), + unbind-error [21] OPERATION.&Errors.&ParameterType({operation}) +} + +END -- end of generic ROS PDU definitions + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/asn1/Remote-Operations-Information-Objects.asn b/asn1/Remote-Operations-Information-Objects.asn new file mode 100644 index 0000000..74be149 --- /dev/null +++ b/asn1/Remote-Operations-Information-Objects.asn @@ -0,0 +1,127 @@ +-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4) + informationObjects(5) version1(0)} + +DEFINITIONS + +::= + +BEGIN + +-- exports everything +IMPORTS + emptyBind, emptyUnbind + FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t + remote-operations(4) useful-definitions(7) version1(0)}; + +OPERATION ::= CLASS { + &ArgumentType OPTIONAL, + &argumentTypeOptional BOOLEAN OPTIONAL, + &returnResult BOOLEAN DEFAULT TRUE, + &ResultType OPTIONAL, + &resultTypeOptional BOOLEAN OPTIONAL, + &Errors ERROR OPTIONAL, + &Linked OPERATION OPTIONAL, + &synchronous BOOLEAN DEFAULT FALSE, + &alwaysReturns BOOLEAN DEFAULT TRUE, + &InvokePriority Priority OPTIONAL, + &ResultPriority Priority OPTIONAL, + &operationCode Code UNIQUE OPTIONAL +} +WITH SYNTAX { + [ARGUMENT &ArgumentType + [OPTIONAL &argumentTypeOptional]] + [RESULT &ResultType + [OPTIONAL &resultTypeOptional]] + [RETURN RESULT &returnResult] + [ERRORS &Errors] + [LINKED &Linked] + [SYNCHRONOUS &synchronous] + [ALWAYS RESPONDS &alwaysReturns] + [INVOKE PRIORITY &InvokePriority] + [RESULT-PRIORITY &ResultPriority] + [CODE &operationCode] +} + +ERROR ::= CLASS { + &ParameterType OPTIONAL, + ¶meterTypeOptional BOOLEAN OPTIONAL, + &ErrorPriority Priority OPTIONAL, + &errorCode Code UNIQUE OPTIONAL +} +WITH SYNTAX { + [PARAMETER &ParameterType + [OPTIONAL ¶meterTypeOptional]] + [PRIORITY &ErrorPriority] + [CODE &errorCode] +} + +OPERATION-PACKAGE ::= CLASS { + &Both OPERATION OPTIONAL, + &Consumer OPERATION OPTIONAL, + &Supplier OPERATION OPTIONAL, + &id OBJECT IDENTIFIER UNIQUE OPTIONAL +} +-- continued on the next page +WITH SYNTAX { + [OPERATIONS &Both] + [CONSUMER INVOKES &Supplier] + [SUPPLIER INVOKES &Consumer] + [ID &id] +} + +CONNECTION-PACKAGE ::= CLASS { + &bind OPERATION DEFAULT emptyBind, + &unbind OPERATION DEFAULT emptyUnbind, + &responderCanUnbind BOOLEAN DEFAULT FALSE, + &unbindCanFail BOOLEAN DEFAULT FALSE, + &id OBJECT IDENTIFIER UNIQUE OPTIONAL +} +WITH SYNTAX { + [BIND &bind] + [UNBIND &unbind] + [RESPONDER UNBIND &responderCanUnbind] + [FAILURE TO UNBIND &unbindCanFail] + [ID &id] +} + +CONTRACT ::= CLASS { + &connection CONNECTION-PACKAGE OPTIONAL, + &OperationsOf OPERATION-PACKAGE OPTIONAL, + &InitiatorConsumerOf OPERATION-PACKAGE OPTIONAL, + &InitiatorSupplierOf OPERATION-PACKAGE OPTIONAL, + &id OBJECT IDENTIFIER UNIQUE OPTIONAL +} +WITH SYNTAX { + [CONNECTION &connection] + [OPERATIONS OF &OperationsOf] + [INITIATOR CONSUMER OF &InitiatorConsumerOf] + [RESPONDER CONSUMER OF &InitiatorSupplierOf] + [ID &id] +} + +ROS-OBJECT-CLASS ::= CLASS { + &Is ROS-OBJECT-CLASS OPTIONAL, + &Initiates CONTRACT OPTIONAL, + &Responds CONTRACT OPTIONAL, + &InitiatesAndResponds CONTRACT OPTIONAL, + &id OBJECT IDENTIFIER UNIQUE +} +WITH SYNTAX { + [IS &Is] + [BOTH &InitiatesAndResponds] + [INITIATES &Initiates] + [RESPONDS &Responds] + ID &id +} + +Code ::= CHOICE {local INTEGER, + global OBJECT IDENTIFIER +} + +Priority ::= INTEGER(0..MAX) + +END -- end of Information Object specifications + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/asn1/Remote-Operations-Useful-Definitions.asn b/asn1/Remote-Operations-Useful-Definitions.asn new file mode 100644 index 0000000..714b96b --- /dev/null +++ b/asn1/Remote-Operations-Useful-Definitions.asn @@ -0,0 +1,99 @@ +-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +Remote-Operations-Useful-Definitions {joint-iso-itu-t remote-operations(4) + useful-definitions(7) version1(0)} + +DEFINITIONS IMPLICIT TAGS + +::= + +BEGIN + +-- exports everything +IMPORTS + OPERATION, ERROR, OPERATION-PACKAGE, Code + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)} + InvokeId, ROS{} + FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t + remote-operations(4) generic-ROS-PDUs(6) version1(0)}; + +emptyBind OPERATION ::= {ERRORS {refuse} + SYNCHRONOUS TRUE +} + +emptyUnbind OPERATION ::= {SYNCHRONOUS TRUE +} + +refuse ERROR ::= {CODE local:-1 +} + +no-op OPERATION ::= {ALWAYS RESPONDS FALSE + CODE local:-1 +} + +Forward{OPERATION:OperationSet} OPERATION ::= + {OperationSet | OperationSet.&Linked.&Linked | + OperationSet.&Linked.&Linked.&Linked.&Linked} + +Reverse{OPERATION:OperationSet} OPERATION ::= {Forward{{OperationSet.&Linked}}} + +ConsumerPerforms{OPERATION-PACKAGE:package} OPERATION ::= + {Forward{{package.&Consumer}} | Forward{{package.&Both}} | + Reverse{{package.&Supplier}} | Reverse{{package.&Both}}} + +SupplierPerforms{OPERATION-PACKAGE:package} OPERATION ::= + {Forward{{package.&Supplier}} | Forward{{package.&Both}} | + Reverse{{package.&Consumer}} | Reverse{{package.&Both}}} + +AllOperations{OPERATION-PACKAGE:package} OPERATION ::= + {ConsumerPerforms{package} | SupplierPerforms{package}} + +-- continued on the next page +recode{OPERATION:operation, Code:code} OPERATION ::= { + ARGUMENT operation.&ArgumentType + OPTIONAL operation.&argumentTypeOptional + RESULT operation.&ResultType + OPTIONAL operation.&resultTypeOptional + RETURN RESULT operation.&returnResult + ERRORS {operation.&Errors} + LINKED {operation.&Linked} + SYNCHRONOUS operation.&synchronous + ALWAYS RESPONDS operation.&alwaysReturns + INVOKE PRIORITY {operation.&InvokePriority} + RESULT-PRIORITY {operation.&ResultPriority} + CODE code +} + +switch{OPERATION-PACKAGE:package, OBJECT IDENTIFIER:id} OPERATION-PACKAGE ::= +{ + OPERATIONS {package.&Both} + CONSUMER INVOKES {package.&Consumer} + SUPPLIER INVOKES {package.&Supplier} + ID id +} + +combine{OPERATION-PACKAGE:ConsumerConsumes, OPERATION-PACKAGE:ConsumerSupplies, + OPERATION-PACKAGE:base} OPERATION-PACKAGE ::= { + OPERATIONS {ConsumerConsumes.&Both | ConsumerSupplies.&Both} + CONSUMER INVOKES {ConsumerConsumes.&Consumer | ConsumerSupplies.&Supplier} + SUPPLIER INVOKES {ConsumerConsumes.&Supplier | ConsumerSupplies.&Consumer} + ID base.&id +} + +ROS-SingleAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= + ROS{{InvokeIdSet}, {AllOperations {package}}, {AllOperations {package}}} + +ROS-ConsumerAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= + ROS + {{InvokeIdSet}, {ConsumerPerforms {package}}, + {SupplierPerforms {package}}} + +ROS-SupplierAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= + ROS + {{InvokeIdSet}, {SupplierPerforms {package}}, + {ConsumerPerforms {package}}} + +END -- end of useful definitions. + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/asn1/TC-Notation-Extensions.asn b/asn1/TC-Notation-Extensions.asn new file mode 100644 index 0000000..89bfd10 --- /dev/null +++ b/asn1/TC-Notation-Extensions.asn @@ -0,0 +1,87 @@ +-- Module TC-Notation-Extensions (Q.775:06/1997) + +TC-Notation-Extensions {itu-t recommendation q 775 modules(2) + notation-extension(4) version1(1)} DEFINITIONS ::= +BEGIN + +IMPORTS + TCMessage{} + FROM TCAPMessages {itu-t recommendation q 773 modules(2) messages(1) + version3(3)} + Bind{}, Unbind{} + FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t + remote-operations(4) generic-ROS-PDUs(6) version1(0)} + AllOperations{}, ConsumerPerforms{}, SupplierPerforms{}, combine{} + FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t + remote-operations(4) useful-definitions(7) version1(0)} + CONTRACT, OPERATION-PACKAGE + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)} + UniDialoguePDU, uniDialogue-as-id + FROM UnidialoguePDUs {itu-t recommendation q 773 modules(2) + unidialoguePDUs(3) version1(1)} + DialoguePDU, dialogue-as-id + FROM DialoguePDUs {itu-t recommendation q 773 modules(2) dialoguePDUs(2) + version1(1)}; + +APPLICATION-CONTEXT ::= CLASS { + &associationContract CONTRACT, + &dialogueMode DialogueMode, + &termination Termination OPTIONAL, + &componentGrouping BOOLEAN DEFAULT TRUE, + &dialogueAndComponentGrouping BOOLEAN DEFAULT TRUE, + &AdditionalASEs OBJECT IDENTIFIER OPTIONAL, + &AbstractSyntaxes ABSTRACT-SYNTAX, + &applicationContextName OBJECT IDENTIFIER UNIQUE +} +WITH SYNTAX { + CONTRACT &associationContract + DIALOGUE MODE &dialogueMode + [TERMINATION &termination] + [COMPONENT GROUPING ALLOWED &componentGrouping] + [DIALOGUE WITH COMPONENTS ALLOWED &dialogueAndComponentGrouping] + [ADDITIONAL ASES &AdditionalASEs] + ABSTRACT SYNTAXES &AbstractSyntaxes + APPLICATION CONTEXT NAME &applicationContextName +} + +DialogueMode ::= ENUMERATED {structured(1), unstructured(2)} + +Termination ::= ENUMERATED {basic(1), prearranged(2)} + +dialogue-abstract-syntax ABSTRACT-SYNTAX ::= { + DialoguePDU + IDENTIFIED BY dialogue-as-id +} + +uniDialogue-abstract-syntax ABSTRACT-SYNTAX ::= { + UniDialoguePDU + IDENTIFIED BY uniDialogue-as-id +} + +TCSingleAS{OPERATION-PACKAGE:package} ::= + TCMessage{{AllOperations {package}}, {AllOperations {package}}} + +TCConsumerAS{OPERATION-PACKAGE:package} ::= + TCMessage{{ConsumerPerforms {package}}, {ConsumerPerforms {package}}} + +TCSupplierAS{OPERATION-PACKAGE:package} ::= + TCMessage{{SupplierPerforms {package}}, {SupplierPerforms {package}}} + +AllPackagesAS{APPLICATION-CONTEXT:ac} ::= + TCSingleAS + {combine{{ac.&associationContract.&OperationsOf | + ac.&associationContract.&InitiatorConsumerOf | + ac.&associationContract.&InitiatorSupplierOf}, + {...}, --was illegaly empty, needs to be changed + { -- Information Object of class OPERATION-PACKAGE to be defined --}}} + +ConnectionAS{APPLICATION-CONTEXT:ac} ::= CHOICE { + bind Bind{ac.&associationContract.&connection.&bind}, + unbind Unbind{ac.&associationContract.&connection.&unbind} +} + +END + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/asn1/TCAP-Examples.asn b/asn1/TCAP-Examples.asn new file mode 100644 index 0000000..17667af --- /dev/null +++ b/asn1/TCAP-Examples.asn @@ -0,0 +1,72 @@ +-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +TCAP-Examples {itu-t recommendation q 775 modules(2) examples(2) version1(1)} +DEFINITIONS ::= +BEGIN + +IMPORTS + OPERATION, ERROR + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)}; + +provideRoutingInformation OPERATION ::= { + ARGUMENT RequestArgument + RESULT RoutingInformation + ERRORS + {invalidCalledNumber | subscriberNotReachable | calledBarred | + processingFailure} + LINKED {getCallingPartyAddress} +} + +-- timer T-pi = 10 s +getCallingPartyAddress OPERATION ::= { + RESULT CallingPartyAddress + ERRORS {callingPartyAddressNotAvailable | processingFailure} +} + +-- timer T-gp = 5 s +invalidCalledNumber ERROR ::= {CODE local:1 +} + +subscriberNotReachable ERROR ::= {CODE local:2 +} + +calledBarred ERROR ::= {CODE local:3 +} + +callingPartyAddressNotAvailable ERROR ::= {CODE local:4 +} + +processingFailure ERROR ::= {CODE local:5 +} + +-- data types +RequestArgument ::= SEQUENCE { + calledNumber IsdnNumber, + basicService BasicServiceIndicator OPTIONAL +} + +RoutingInformation ::= CHOICE { + reroutingNumber [0] IMPLICIT IsdnNumber, + forwardedToNumber [1] IMPLICIT IsdnNumber +} + +BasicServiceIndicator ::= ENUMERATED {speech(0), unrestrictedDigital(1)} + +CallingPartyAddress ::= IsdnNumber + +IsdnNumber ::= SEQUENCE { + typeOfAddress TypeOfAddress, + digits TelephonyString +} + +TypeOfAddress ::= ENUMERATED {national(0), international(1), private(2)} + +TelephonyString ::= + IA5String + (FROM ("0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "*" | + "#"))(SIZE (1..15)) + +END + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/asn1/TCAP-Tools.asn b/asn1/TCAP-Tools.asn new file mode 100644 index 0000000..09ea9d9 --- /dev/null +++ b/asn1/TCAP-Tools.asn @@ -0,0 +1,47 @@ +-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +TCAP-Tools {itu-t recommendation q 775 modules(2) tools(1) version1(1)} +DEFINITIONS ::= +BEGIN + +EXPORTS + cancel, + cancelFailed, + cancelled +; + +IMPORTS + OPERATION, ERROR + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)} + + TCInvokeIdSet + FROM TCAPMessages {itu-t recommendation q 773 modules(2) messages(1) + version3(3)} +; + +cancel OPERATION ::= { + ARGUMENT present < TCInvokeIdSet + -- a TC-user may redefine this type to include + -- an empty result so that it becomes a Class 1 operation + ERRORS {cancelFailed} +} + +-- timer = 15 s +cancelFailed ERROR ::= { + PARAMETER + SET {problem [0] CancelProblem, + invokeId [1] present < TCInvokeIdSet} +} + +CancelProblem ::= ENUMERATED { + unknownInvocation(0), tooLate(1), notCancellable(2)} + +-- a TC-user may redefine this type to include application-specific problems +cancelled ERROR ::= + {} + +-- an error of this type should be included in the error list of cancellable operations +END + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/asn1/TCAPMessages.asn b/asn1/TCAPMessages.asn new file mode 100644 index 0000000..0de9ac2 --- /dev/null +++ b/asn1/TCAPMessages.asn @@ -0,0 +1,149 @@ +-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +-- Module TCAPMessages (Q.773:06/1997) +-- asn1ct:compile("TCAPMessages",[ber_bin]). +TCAPMessages {itu-t recommendation q 773 modules(2) messages(1) version3(3)} + +DEFINITIONS IMPLICIT TAGS + +::= + +BEGIN + +-- EXPORTS everything +-- Transaction Portion fields. +IMPORTS + ROS{}, InvokeId + FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t + remote-operations(4) generic-ROS-PDUs(6) version1(0)} + OPERATION + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)} + Supported-MAP-Operations + FROM MAP-Protocol {itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-Protocol (4) version9 (9)} +-- Start - Added by Eranga + dialogue-as-id + FROM DialoguePDUs {itu-t recommendation q 773 modules(2) dialoguePDUs(2) + version1(1)} + sendRoutingInfoForSM, + mo-ForwardSM, + mt-ForwardSM, + reportSM-DeliveryStatus, + alertServiceCentre, + informServiceCentre, + readyForSM + FROM MAP-ShortMessageServiceOperations { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-ShortMessageServiceOperations (9) + version9 (9)} + gsm-MessagingId + FROM MobileDomainDefinitions { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + mobileDomainDefinitions (0) version1 (1)} + Supported-MAP-Operations + FROM MAP-Protocol { + itu-t identified-organization (4) etsi (0) mobileDomain (0) + gsm-Network (1) modules (3) map-Protocol (4) version9 (9)} +-- End - Added by Eranga +; + +-- Start - Added by Eranga + +mapSpecificAS ABSTRACT-SYNTAX ::= { + MapSpecificPDUs + IDENTIFIED BY gsm-MessagingId +} + +MapSpecificPDUs ::= + TCMessage{{Supported-MAP-Operations}, {Supported-MAP-Operations}} + + +MAPOperations-Invokable OPERATION ::= + {sendRoutingInfoForSM | mo-ForwardSM | mt-ForwardSM} +MAPOperations-Returnable OPERATION ::= + {reportSM-DeliveryStatus | alertServiceCentre | informServiceCentre | readyForSM} + +-- End - Added by Eranga + + +TCMessage{OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE { + unidirectional [APPLICATION 1] Unidirectional{{Invokable}, {Returnable}}, + begin [APPLICATION 2] Begin{{Invokable}, {Returnable}}, + end [APPLICATION 4] End{{Invokable}, {Returnable}}, + continue [APPLICATION 5] Continue{{Invokable}, {Returnable}}, + abort [APPLICATION 7] Abort +} + +Unidirectional{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE { + dialoguePortion DialoguePortion OPTIONAL, + components ComponentPortion{{Invokable}, {Returnable}} +} + +Begin{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE { + otid OrigTransactionID, + dialoguePortion DialoguePortion OPTIONAL, + components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL +} + +End{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE { + dtid DestTransactionID, + dialoguePortion DialoguePortion OPTIONAL, + components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL +} + +Continue{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE { + otid OrigTransactionID, + dtid DestTransactionID, + dialoguePortion DialoguePortion OPTIONAL, + components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL +} + +Abort ::= SEQUENCE { + dtid DestTransactionID, + reason CHOICE {p-abortCause P-AbortCause, + u-abortCause DialoguePortion} OPTIONAL +} + +-- NOTE - When the Abort Message is generated by the Transaction sublayer, a p-Abort Cause may be +-- present. The u-abortCause may be generated by the component sublayer in which case it is an ABRT +-- APDU, or by the TC-User in which case it could be either an ABRT APDU or data in some user-defined +-- abstract syntax. +DialoguePortion ::= [APPLICATION 11] EXPLICIT EXTERNAL + +-- The dialogue portion carries the dialogue control PDUs as value of the external data type. The direct +-- reference should be set to {itu-t recommendation q 773 as(1) dialogue-as(1) version1(1)} if structured +-- dialogue is used and to {itu-t recommendation q 773 as(1) unidialogue-as(2) version1(1)} if unstructured +-- dialogue is used. +OrigTransactionID ::= [APPLICATION 8] OCTET STRING(SIZE (1..4)) + +DestTransactionID ::= [APPLICATION 9] OCTET STRING(SIZE (1..4)) + +P-AbortCause ::= [APPLICATION 10] INTEGER { + unrecognizedMessageType(0), unrecognizedTransactionID(1), + badlyFormattedTransactionPortion(2), incorrectTransactionPortion(3), + resourceLimitation(4)}(0..127) + +-- COMPONENT PORTION. The last field in the transaction portion of the TCAP message is the +-- component portion. The component portion may be absent. +ComponentPortion{OPERATION:Invokable, OPERATION:Returnable} ::= + [APPLICATION 12] + SEQUENCE SIZE (1..MAX) OF Component{{Invokable}, {Returnable}} + +-- Component Portion fields +-- Recommendation X.880 defines four Application Protocol Data Units (APDUs) for invoking +-- operations, returning results or error, and for the rejection of invalid PDUs. +-- TCAP adds returnResultNotLast to allow for the segmentation of a result. +Component{OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE { + basicROS ROS{{TCInvokeIdSet}, {Invokable}, {Returnable}}, + returnResultNotLast + [7] returnResult < ROS{{TCInvokeIdSet}, {Invokable}, {Returnable}} +} + +TCInvokeIdSet ::= InvokeId(WITH COMPONENTS { + present (-128..127) + }) + +END -- TCAPMessages + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/asn1/UnidialoguePDUs.asn b/asn1/UnidialoguePDUs.asn new file mode 100644 index 0000000..4244cc8 --- /dev/null +++ b/asn1/UnidialoguePDUs.asn @@ -0,0 +1,26 @@ +-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +-- Module UnidialoguePDUs (Q.773:06/1997) +UnidialoguePDUs {itu-t recommendation q 773 modules(2) unidialoguePDUs(3) + version1(1)} DEFINITIONS ::= +BEGIN + +EXPORTS uniDialogue-as-id, UniDialoguePDU; + +-- Abstract syntax name for unstructured dialogue APDUs +uniDialogue-as-id OBJECT IDENTIFIER ::= + {itu-t recommendation q 773 as(1) unidialogue-as(2) version1(1)} + +UniDialoguePDU ::= CHOICE {unidialoguePDU AUDT-apdu +} + +AUDT-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE { + protocol-version + [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1}, + application-context-name [1] OBJECT IDENTIFIER, + user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL +} + +END -- UNIDialoguePDU + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/asn1/map.set.asn1 b/asn1/map.set.asn1 new file mode 100644 index 0000000..23404c0 --- /dev/null +++ b/asn1/map.set.asn1 @@ -0,0 +1,36 @@ +MAP-ApplicationContexts.asn +MAP-BS-Code.asn +MAP-CallHandlingOperations.asn +MAP-CH-DataTypes.asn +MAP-CommonDataTypes.asn +MAP-DialogueInformation.asn +MAP-ER-DataTypes.asn +MAP-Errors.asn +MAP-ExtensionDataTypes.asn +MAP-GR-DataTypes.asn +MAP-Group-Call-Operations.asn +MAP-LCS-DataTypes.asn +MAP-LocationServiceOperations.asn +MAP-MobileServiceOperations.asn +MAP-MS-DataTypes.asn +MAP-OM-DataTypes.asn +MAP-OperationAndMaintenanceOperations.asn +MAP-Protocol.asn +MAP-SecureTransportOperations.asn +MAP-ShortMessageServiceOperations.asn +MAP-SM-DataTypes.asn +MAP-SS-Code.asn +MAP-SS-DataTypes.asn +MAP-ST-DataTypes.asn +MAP-SupplementaryServiceOperations.asn +MAP-TS-Code.asn +MobileDomainDefinitions.asn +Remote-Operations-Generic-ROS-PDUs.asn +Remote-Operations-Information-Objects.asn +Remote-Operations-Useful-Definitions.asn +TCAP-Examples.asn +TCAPMessages.asn +TCAP-Tools.asn +TC-Notation-Extensions.asn +UnidialoguePDUs.asn +DialoguePDUs.asn diff --git a/ebin/osmo_er_map.app b/ebin/osmo_er_map.app new file mode 100644 index 0000000..f732e7a --- /dev/null +++ b/ebin/osmo_er_map.app @@ -0,0 +1,10 @@ +{application, osmo_er_map, + [{description, "Osmocom SS7 MAP"}, + {vsn, "1"}, + {modules, [map]}, + {registered, []}, + {mod, {map, []}}, + {applications, []}, + {env, [ + ]} +]}. diff --git a/include/.empty b/include/.empty new file mode 100644 index 0000000..e69de29 diff --git a/rebar.config b/rebar.config new file mode 100644 index 0000000..6f6e854 --- /dev/null +++ b/rebar.config @@ -0,0 +1 @@ +{sub_dirs, ["rel"]}. diff --git a/src/.empty b/src/.empty new file mode 100644 index 0000000..e69de29