WISUPDecode 3.1.0 (29-Aug-2002) =============================== WISUPDecode is a graphical Java decoder for the SS7 ISUP protocol, under GPL license. It dynamically loads a decoder for processing a message, and so can support several ISUP variants. Currently 3 decoders has been written, and are not distributed with WISUPDecode: - ETSI 300-356-1 - ANSI T1.113-1995 - BELLCORE GR-CORE-317 (1994 issue) and GR-CORE-394 (1994 issue) Currently there is no help for WISUPDecode, so you will find here enough (I hope) for using it. Table of Contents: ================== 1. Files 2. WISUPDecode 3. Configuration Files 4. Decoders 5. Languages 6. Applets 7. Compiling 8. Authors 9. Bugs, comments, problems 10. Contacts 1. Files: ========= It is recommended to not install this version over an older version. The main files are: wisup.jar : main application classes. This Jar can be executed. wisup/protocol.jar : required jar file. wisup/speakers.jar : required jar file. wisup/module.jar : required jar file. wisup/conf/modules.properties : modules configuration file. wisup/lang/string.properties : default language resource file. wisup/lang/string_en.properties : English resource file. wisup/lang/string_fr.properties : French resource file. wisup/isup/ : path where the decoders can be installed (usually). You start the application by using the wisup.jar file: $ java -jar wisup.jar The wisup.jar file sets the classpath, so it is not required to change it. The other files are: license COPYRIGHT changes Todo readme.txt You also need at least one decoder (or the application will not start). See "4. Decoders". For the applets, see "6. Applets" below. WISUPDecode_X-X-X.tgz is a compressed tar of all the files. WISUPDecode_X-X-X.zip is a Winzip archive of all the files. 2. WISUPDecode: =============== You need to have Java 1.3 installed for running the software. WISUPDecode will not work with Java 1.1 (and maybe not 1.2). The application has been tested with Windows 2000, Windows 98, and GNU/Linux, with the Sun's JDK. I think that WISUPDecode is not very difficult to use. For decoding a message, you have to paste it in the main window. Unfortunately there is no menu for "cut", "copy", and "paste", so you have to use the shortcuts or the mouse. It is also possible to open a text file with the hexa values. The data of the message can be preceeded by the CIC and the message tag. This can be selected in the menu. The data is represented as hexadecimal bytes (2 characters), separated by spaces. The CIC must be 2 bytes, and the message tag 1 byte. Example of a IAM message (ETSI) with the message tag ("01"): 01 00 33 02 0A 06 02 00 05 81 00 33 55 F9 A tip : all characters that are not representing hexa values (ie "0".."9", "a".. "f", "A".."F") are discarded. So you don't have to paste a perfect "dump". There can be some "noise". In the menu you can do a "decode | clean data" for having a nice dump. Before decoding the message, you have to choose the decoder you want to use. The menu "Option | Decoder" lists all the available decoders. Now, just go in "decode | decode message", and it will decode the message. If the presence of the message tag is not selected, a dialog box will display the list of available messages. The resulting decoding will be showned in 2 formats: - a detailed decoding, that replaces the old message data, in the upper text frame. - the original hexadecimal data, with highlighting of special values, in the lower frame: - the identifiers highlighted by red background, - the lengths highlighted by blue background, - the pointers highlighted by gray background. This software helps to decode messages and parameters. His purpose is not to check if the message or parameter is correct. There is some checks on pointers and length, but don't expect it to do more. For example it will not check if an optional parameter is allowed in the message. It will decode it (if it knows to do it) and no more. I think you have now enough information for using it. 3. Configuration files: ======================= WISUPDecode.cfg --------------- A configuration file, called "WISUPDecode.cfg" is created after the first use. It keeps some values like the position of the windows, etc. It should not be changed by the user, but currently this is the only way to change the language : you set the value of the variable "language" to a valid ISO language code (see ISO 639), as "en" for English, "fr" for French, etc. wisup/conf/modules.properties ----------------------------- This file is used by the application for loading the installed decoders. In this version, this file must be manually set. The provided file configures the 3 existing decoders (etsi, ansi and bellcore), installed in "wisup/isup/". So you can install these decoders without changing the configuration file. The following line should not be changed: decoder.class=Decoder It is the name of the class to load in the decoder package. This class implements the IDecoder and IModule interfaces. Each decoder is numbered, starting at 0. So the first one is "decoder.0", the second one "decoder.1", etc. For each decoder, 2 fields must be set: - decoder.n this is the package name, as "wisup.isup.ansi". This value should be given in a readme file with the decoder. - decoder.n.path this is a path for loading the package. If the decoder is provided as a jar file, this must be the path of the jar file, absolute or relative (as "wisup/isup/ansi.jar"). This path can also be an URL (for example "http://server.org/ansi.jar"). 4. Decoders: ============ A decoder is a module for the application. It is loaded dynamically, and the application uses the file "modules.properties" for getting the required information for the class loader. A decoder is usualy a jar package, with a main class, "Decoder", implementing the IDecoder and IModule interfaces. As the loading is done at runtime, new decoders can be installed without recompiling WISUPDecode. The decoder must simply be added in the module.properties file (see "3. Configuration files"). Now that the decoders, as modules, are not staticaly linked to WISUPDecode, they are distributed separately. 5. Languages: ============= The language is set in the configuration file. It is identified by the language code (ISO 639). The file "string_xx.properties" must exist in the wisup/lang/ directory. So adding a new language is done by adding "string_xx.properties" file. Currently 2 languages are provided: - string_en.properties, - string_fr.properties. The default language (string.properties) is English. 6. Applets: =========== Applets have been written by Joseph Ratterman, based on the one that I wrote for an earlier version. He wrotes one applet per decoder. These applets are not part of the "binary" distribution. The files can be find in the sources. Joe Ratterman wrote a makefile for creating the Jar files. The applet is based on a single jar file, so the jar files of the binary distribution cannot be used. As I don't maintain the applets, please send your comments, feedbacks, etc., to Joseph Ratterman, or to the Sourceforge trackers (see below). Be warned that the current applets does not work with the 3.x.x versions of WISUPDecode, as the applets are based on AWT, and the 3.0.0 version is based on Swing. So a better solution is to get the applets from Joe's website: http://www.jratt.com/resume/isup/etsiapplet.html http://www.jratt.com/resume/isup/ansiapplet.html http://www.jratt.com/resume/isup/bellapplet.html 7. Compiling: ============= You have to get the source files, in WISUPDecode_X-X-X_src.{zip|tgz}, as these files are not included in the "binary" releases. I created an Ant "makefile", that has targets for compiling, building the jar files, the javadoc, etc. I use Ant 1.4.1. There is no target for building the applet jar files. The main class is defined in wisup/main/WISUPDecode.java. As I use NetBeans 3.3, you will find .form files and special comments in some java files, that are used by NetBeans GUI builder. Joe Ratterman wrote a makefile that can probably be used, but I didn't test it. I can't tell you how to use Ant, as I use it through NetBeans. If you plan to compile a decoder, you need the WISUPDecode source files. 8. Authors: =========== Benjamin Cassan-de Gorostarzu WISUPDecode, ETSI decoder. Joseph Ratterman ANSI and BellCore decoders, applets. Bill Hooper 9. Bugs, comments, problems: ============================ For bugs, features, the SourceForge project site provides trackers: http://sourceforge.net/tracker/?group_id=24236 I work on this soft mainly because it is a good way for learning Java. But I work on it at home, and I have others things to do too. So dont't expect me to resolve problems and to add features quickly and often. As you can see with the date of the previous releases, there is not a new version very often. And don't forget this is a free software, with GPL license. That means you have the source code, and you can make modifications on it yourself. I don't think the code is very complicated. If you want to be warned for new releases, you can subscribe to the announce mailing-list (on SourceForge): http://sourceforge.net/mail/?group_id=24236 10. Contacts: ============= http://perso.wanadoo.fr/benjamin.cassan http://sourceforge.net/projects/wisupdecode http://www.jratt.com/resume/isup/etsiapplet.html http://www.jratt.com/resume/isup/ansiapplet.html http://www.jratt.com/resume/isup/bellapplet.html or