Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo
Welcome to your wiki!
This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: [SamplePage].
The wiki uses Markdown syntax.
The purpose of the 7-Scales project is to establish a simple to use and easy to extend base for development, testing and executing of SS7 scenarios. It is conceived as a kind of pool of active knowledge in the area of telecommunication processes that can be modeled by such scenarios. To be able to serve effectively such a purpose, this Project supports two modes of operation – simulation mode to develop and tests scenarios, and network mode to execute scenarios against the network.
For the time being this mission is partially achieved for TCAP operations. That means MAP, INAP and CAMEL. ISUP is not developed; further information can be found in the Roadmap section of this document.
There are three main lines that constitute the operation concept:
- Developing scenario base – messages that will be used to play the scenario
- Developing scenario code – how these messages will be modified/send/received
- Running scenarios against the network
The figure below presents an integral view of the subject.
As with the Bible, everything starts with the Idea. You decide which operations shall be used and what parameters they shall have, how they shall be grouped into messages and exchanged between the Code and network elements. Once this is done, the necessary messages and code have to be prepared. It is hard to construct messages manually but there are many SS7 protocol analyzers that export recorded messages as hex numbers in text files. Once having chosen a message that almost satisfies you in temrs of operations and information elements it contains, you can export it to a text file and feed the software tool 'dmtcap.exe'. This tool produces an object that contains the information needed to use this message in a scenario during runtime. Details are provided in the document “Creation of Message Templates and Operations Definitions”.
After all messages are ready, you arrive at the code development stage. You have a number of functions to program the behavior of the scenario, using the document “Application Program Interface Specification”. Generally you can modify I.E.s in messages, you can add to or remove I.E.s from messages, and you can send and receive messages using a simplified version of M2PA protocol. Message structures and scenarios codes are stored in header files.
The figure below presents the roadmap of the 7-Scales project using the famous scene of the great Servantes’ novel about Don Quixote, to point out that the author has started a project devoted to a great but waning era in Telecommunications – the one of TDM technology and the Signalling No.7.
The first windmill to battle with, this is CAMEL implementation, is done already. Version 0.3.1 recognizes all MAP, CAP and CS1+ Application Contexts and Operations. From this version onward any MAP, CAP or CS1+ scenario can be built in principle.
The next windmill in the up-road is to port 7-Scales to M3UA, the most widespread transport protocol above SCTP. With the acquisition of M3UA, the Code will be published under its first official Release, v1.0. This is going to be the official birth of the project.
One line of development is to supply the 7-Scales with call establishment mechanism. The shortest way to obtain this vital functionality is to be integrated in the Asterisk. With this objective in mind the next windmill to overcome is to develop functionality to support MAP, INAP and CAP Specs in full. This means that all operations are acquired (have complete static thisIE structures) and functions to process all types of I.E. are available (functions for some basic I.E. types are developed already). A functionally to build messages from scratches has to be available in the Code as well. This is a huge undertaking and requires a software tool that reads specs and produces static thisIE structures for the operations, a kind of ASN.1 parser.
If ever reached, at this moment of its life the 7-Scales project will be ready for development of a common NSU to simulate the network and save scenario development efforts for the NSU process. It is not feasible that a single NSU can accommodate all the functionality of the network. The objective at this point is to have a limited number of NSU functions, which simulate different aspects of network functionality, giving the users opportunity to choose the one that matches best to their needs. If that ever happen, it will be Release v3.x.x and is considered to be a long process as well.
Another line of development for the 7-Scales is MAP--Diameter and CAP--Diameter translators. The precondition is the same - full support of MAP and CAP. With this objective in mind the full acquiring of CAP and MAP becomes high priority and this is what is being developed now (v0.4.x). Note that this is being written in c++11.
Nothing is as certain as the final stage of this project, its phase out. One day the 7-Scales will be buried at the bottom of author’s hard disk. This is inevitable, but the author hopes not to be alone at this funeral. The project is open for anyone and anyone’s contribution will be noted and respected should he or she notes and respects contributions of the others. As with the windmills it is not the result that matters but the way we achieve it for the challenges and the good time.
It is the right time to present my acknowledgement to the people who supported me in this long journey. These are Oggy and Ilko, who compensated my lack of Linux knowledge and experience; Anny, Monni Vasko and Jordan who supported me at the network side, and Angel whose sharp eyes and experience in VPN helped me a lot. I would like to thank also Petar, who helped me to test v0.3.1.
I would like to present my thanks to all IT people who have shared their knowledge and experience on the Internet. Without this invaluable source of information I wouldn’t do anything.
Once, some three years ago, I decided to look for some free SS7 software to facilitate troubleshooting in cases that were very difficult to reproduce in the network. I got to the OpenSS7 project and found there a demonstration program named ‘test-m2pa’. I studied this code carefully; it was my first and, I hope to be the last touch with the C-language. This program became my practical guide in the C-programming. So I think I owe acknowledgements to the author of this program, Mr. Brian Bidulock, too.
My name is Ivelin Atanasov. My current job is senior engineer for the core network of Globul, a Bulgarian mobile operator.
I worked for the Bulgaria Academy of Science, the Bulgarian Telecomunication Company, Nortel Networks Bulgaria, Siemens I&C Bulgaria, Applicata OOD. I was postgraduate, expert in the HQ of BTC, field support engineer, sales engineer, solution designer; before all that I was an Asm 80/86 and database developer for a while. I organised the international SS7 network of the Country and I did SS7 training for more than 150 engineers in the BTC.
I am not an Engineer by diploma; my background is mathematics.
At my current job I took part in the preparation of the core network Technical Requirements (TR) for the 3G tender. Then I took part in the evaluation of the offers for the 3G tender, and finally I was the test manager for the 3G Multi-vendor verification tests for the 3G project that followed soon after.
Today I am responsible for interconnection tests, I take part in network and services troubleshooting, development of core network and services solutions; I write SLAs when needed, TRs for tenders when such happen to appear on the horizons. I support QoS evaluations in the core network; I am developing now the core nertors-side of the EU Regulation III Unbundling Project for Globul and I am involved in the role of passive observer in an IMS project that goes at the Telecom group level.
My professional interests comprise first of all signaling protocols – SS7 and SIP – specs and implementation, AXE10/810 switching systems, and IMS, but I am not a switching engineer. I am trying to keep myself informed about IP networking (mainly for the IMS). I am interested also in OOP and design patterns, and C++ and Java in aprticular.