Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
79 views11 pages

The Open Service Node (OSN) A Practical Approach To Getting Started

Free World

Uploaded by

July Min
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
79 views11 pages

The Open Service Node (OSN) A Practical Approach To Getting Started

Free World

Uploaded by

July Min
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Tampere University of Technology DMI Telecommunications Laboratory

The Open Service Node (OSN) A practical approach to getting started

Bilhanan Silverajan [email protected]

Tampere University of Technology DMI Telecommunications Laboratory

This document was prepared especially for usage in the 83380 lyverkot (Intelligent Networks) course. You are strongly encouraged to read through it carefully once and understand and remember the important points before attempting to use the OSN.

1. OSN Overview
The Open Service Node system is a complete environment for developing, testing and deploying Intelligent Network (IN) services and applications. The OSN is based on an open modular software architecture which allows for instance, the development and inclusion of new interfaces for different network components (eg SS7 and ATM switches). The systems modularity also possesses the flexibility to support various INAPs, SDPs and others. OSN has been implemented with a C-based protocol implementation framework, CVOPS. The system thus remains highly portable. However, the service designer would need a good knowledge of C and CVOPS to effectively develop new services. Service Logic Programs (SLP) are written with the Extended Finite State Automaton (EFSA) language and executed within the CVOPS run time system. The OSN system can be configured as a single laboratory system, a single service piloting system or a doubled production system. The current configuration is a single laboratory system but has enough features to easily expand into a full production system. The estimated overall performance of an OSN production system is an average of 20 to 30 transactions per second. The OSN system is currently installed on the HP workstations of the Telecommunications laboratory. The OSN has been tested with HP 9000 series workstations and it requires HP-UX version 10.01 or later, an ANSI C compatible compiler, Perl 5 with Tk and curses packages and an SQL database, which in our laboratory would be Postgres 95 version 1.01. The software is located physically on /opt/osn on lanttu.cs.tut.fi, and users should have enough privileges to run these programs from their respective project directories. The OSN is usually run from console, but running it remotely is also possible. For these exercises, remote execution is strongly forbidden.

2. Obtaining the Lab package


Log in to your project group account and do the following: MachineX:\> cd ~ MachineX:\> uncompress d < /opt/osn/osn_83380.tar.Z | tar xvf This will extract the package and software necessary to continue with the rest of your practical work into your projects home directory, under a new directory called IN/

Tampere University of Technology DMI Telecommunications Laboratory

2.1 Understanding the package contents directories, scripts, etc

If you change dir to IN, you will see the following structure: OSN /Bin /Configs /Libs /Logs /SetUp /System startOSN shutOSN Simulator /Bin /Configs /Libs /Logs /phone Source /child-2.0.3 /mod /nts-1.4.0 sqllib startLAB killtool Symbolic link to the actual binaries in /opt/osn/OSN/Bin Configuration files for the OSN

Startup script for OSN (you dont need to touch this) Shutdown script for OSN (this neither) Telecoms network simulator (contains SSP, CCAF, phones) Symbolic link to the actual binaries in /opt/osn/Simulator/Bin Configuration files for the simulator

development environment for db child module sources and headers NTS service development environment dir for you to store 1 or more sql files for the exercise startup script for graphical environment (this ones for you) useful script to clean up unneeded processes (this one too)

2.2 Inserting values into database

You have to next create databases and tables using your login id. These will be done with the help of sql script files. In the following steps, the example id of inXX will be used. When you are doing this, substitute XX with your group ids 2 digits. First ensure that postmaster is running on your machine. (type ps ef |grep postmaster) Next modify your PATH to include the directory which contains the postgres binaries. Also setenv ORACLE_HOME to the directory of postgres. Eg if postgres on your system is in /usr/local/postgres, ORACLE_HOME must be set to /usr/local/postgres, and PATH must include /usr/local/postgres/bin MachineX:\> cd OSN/SetUp MachineX:\> createdb inXX MachineX:\> psql f ./ntsdb_cre.sql inXX MachineX:\> psql f ./ntsdb_ntsquery.sql inXX

Tampere University of Technology DMI Telecommunications Laboratory

MachineX:\> psql f ./ntsdb_insertvalues.sql inXX You can examine the various .sql files in this directory and see what exactly was done. The database will be used by OSN to store and retrieve data to be used in the demo Number Translation Service. This will also give you an idea of the tablename that NTS uses together with the datatypes and their values in the table. Next test if you have correctly populated the table with the datafile: MachineX:\> psql inXX inXX=> Select * from ntsService; To exit from the psql prompt you can type ^D or \q. To learn more about psql, consult the postgres man pages or type \? At the psql prompt. Note: psql can also be used to modify existing data in the table with SQL commands. In the practical exercise of this course, you will be required to create the database, insert values, modify them and subsequently delete the table before you log off from your workstation. Some examples of SQL statements are: Creating a table:
CREATE TABLE phonebook { name homenumber worknumber mobilenumber }; varchar(30), int, int, int

Inserting some values into that table:


INSERT INTO phonebook VALUES (Donald Duck, 3123, 2222, 1412); INSERT INTO phonebook VALUES (Goofy, 3124, 2222, 1444);

Retrieving some values from that table:


Select name from phonebook where homenumber = 3123;

Modifying some data in that table:


UPDATE phonebook Set name = Mickey Mouse where homenumber = 3123 AND worknumber = 2222;

Tampere University of Technology DMI Telecommunications Laboratory

Deleting some values:


Delete from phonebook where worknumber = 2222;

Or deleting the entire table:


Delete from phonebook;

2.3 Customizing your configuration

Edit the configuration file ~/IN/OSN/Configs/osnmgmt.cnf: LOCALHOST: machineX(the name of the machine you are currently using) Edit the configuration file ~/IN/OSN/Configs/dbChild.cnf dbChild:DBLOGIN: inXX dbChild:DBPASSWD: inXX Edit ~/IN/OSN/SetUp/create_db USER=inXX PASSWORD=inXX where inXX is your group id. Next do the following: MachineX:\> setenv OSNDIR <your home directory>/IN/OSN MachineX:\> setenv SSPDIR <your home directory>/IN/Simulator Note: 1. In the carrot machines, your home directory should be /home_lanttu/inXX, but be careful, as on lanttu.cs.tut.fi, your home directory will instead be /home/inXX 2. It will be easier in future for you if you keep OSNDIR, SSPDIR, ORACLE_HOME and the modified PATH in some init file, eg .tcshrc

3. Using the OSN Simulator


Next, cd to ~/IN and start the system with the command: ./startLAB

Tampere University of Technology DMI Telecommunications Laboratory

Two windows should pop up.

The fancy looking window on the left above gives a rough picture as to what some of the important elements in an Intelligent Network conceptually could look like, amongst which the 3 most interesting are the Service Logic Execution Environment (SLEE), the Call Control Agent Function (CCAF) as well as a simulated Service Switching Point (SSP). For the purposes of this exercise, you can assume that the SLEE and the Database form the Service Control Point (SCP). Typically these elements are distributed in a Signalling Stack 7 (SS#7) network. This is also shown in the window. However, instead of a real network, the SSP Simulator communicates with the OSN over a virtual SS#7, implemented over TCP/IP sockets. Therefore, all these components are actually running within a single machine.

3.1 Launching SSP and CCAF


First you have to start the SSP Simulator. This is done in the following way: Select SSP Simulator and start. Once the box turns green, do the same with CCAF. Do not activate the massgenerator. Do not also activate the SLEE. Well look at how to use phones next.

Tampere University of Technology DMI Telecommunications Laboratory

3.2 Adding phones


It is now possible to add phones into the system. Click either of the two Add Phone buttons. A phone should now pop up on your screen which looks like this:
Send Voice

Connect Entry

Options

Handset

Info

Add two phones and connect them to the CCAF by clicking the connect button. Clicking the connect button again deactivates and disconnects the phone from the CCAF. Lift (click) the handset in phone #1. This will cause the Info line to inform that you have the dial tone. Type 4517302<CR> (the number for Phone #1 is 4517301 and Phone #2 is 4517302). Phone #2 should start ringing. The direct observation you can make is that for direct phone-to-phone calls, you do not need a Service Control Point, as the CCAF handles such cases locally. Answer the call by lifting the handset. You can send written speech by writing the message to the text entry area and clicking the microphone button. The call can be terminated by either the calling or called party. Next try dialling an IN number from phone #1 or #2, such as 9800111111 (if you examine the ntsService table in your database, you will observe this is one of the phone numbers which is used by the service logic described later in this exercise). Without the SLEE active, you can see that the attempt to connect to such a number is unsuccessful.

3.3 Launching OSN


Next start OSN by selecting OSN SLEE from either window and run. The colour of the SLEE box should turn from red to orange to finally green, indicating it is now running. At the same time, the OSN management window will pop up in an xterm with the title-bar named OSN System Management. Next, in this OSN management window, select 4) System -> 1) Start Host hostx

Tampere University of Technology DMI Telecommunications Laboratory

The display should look similar to this:

Note: If the display in your window seems unaligned, press Ctrl-CenterMouseButton and select Enable Auto Linefeed and it should look better. Wait until all the processes become active. It can take sometimes up to a few minutes (depending on the speed of your machine). If it takes an unreasonable amount of time, proceed to press ^C and select 5) Shutdown Host hostx and inspect the log files in OSN/Logs directory. Otherwise proceed onwards with the exercise. Note: You will probably have noticed that the box entitled Oracle remains green throughout. This pertains to the postgres database connection, and the user does not explicitly have to run it. The reason why the box is named Oracle and not Postgres is because usually for mission critical production systems, OSN uses Oracle by default. Its a feature, not a bug.

Tampere University of Technology DMI Telecommunications Laboratory

4. Running the Number Translation Service


The OSN system has a built-in demo that simulates Number Translation Service (NTS). It can be used to translate IN numbers such as freephone (FP), premium rate (PR) and virtual private network (VPN) to real telephone numbers. The Number Translation Service (NTS) is a simple service where numbers beginning with a certain sequence trigger off IN service processing logic. The service basically centers around forwarding the caller to a different phone number, depending on the time of day or week. For example, if someone telephones a number (in the OSN it is 9800111111), the SCP will be consulted, and it would translate 9800111111 to a certain phone number. During working hours it would be Phone #1, after working hours it would be Phone #2 and during weekends it would be Phone #3. If the rerouted number is unreachable, busy or unanswered, the SCP would once again be consulted and the service logic would then proceed to connect the caller to a default number, which is Phone #4. If the caller is still unable to get a response from the default number, a busy or call unanswered message will be the result. As such, you can see that the NTS service logic needs to make a query each time to the database to obtain the correct number to connect to, in the telephone network. Launch and activate all the parts of OSN as described in sections 3.1, 3.2 and 3.3. Add 3 more phones (so in total you should have 5 phones) and connect them the same way as described before to the CCAF. Use Phone #5 to make a call to 9800111111. If youre doing this exercise during working hours, youll soon see Phone #1 ringing (Phone #2 will only ring after office hours, Phone #3 only during weekends). Observe what happens when no one answers the phone. The call will be routed after a timeout to Phone #4. Observe what happens when no one answers Phone #4. It is important that you understand how this call is being routed to these phones, especially how the service logic resolves the 9800 number from the database. The structure of NTS database is simple. It includes three fields: serviceNumber, time and bNumber. The primary keys are serviceNumber and time, because the rerouting is done differently depending on time. The bNumber is the actual number, where the call is made to. Look at the ntsService table in your database and observe the rows where the serviceNumber is 9800111111. Look at the bNumber and the time fields. Youll observe that time 0 refers to the default phone. If you feel adventurous, try changing the phone numbers in the four timezones and see if the calls are forwarded the way you predicted.

5. Important Instructions on the Startup and Shutdown sequences when running OSN
As with any software, the OSN has its advantages and drawbacks. Therefore it is important that you are able to systematically bring up and shut down OSN so that the system does not behave unpredictably and you have a more enjoyable experience using and experimenting with it.

Tampere University of Technology DMI Telecommunications Laboratory

To summarize the points from the previous sections, the following sequence to launch and use OSN is strongly recommended: 1. 2. 3. 4. Check that all environment variables are set correctly Check that your configuration is set correctly Ensure that postmaster is running on your machine Create your databases and tables, and populate the tables with data. Of course, if you have previously created a database and your tables are just empty, simply just populate them with data. If they do contain data already, did you remember to delete the rows the last time you did the exercise? 5. Launch SSP Simulator, CCAF, phones and the SLEE. 6. Alternatively you can also bring up SLEE first, followed by the OSN Management Window where you set the various options to start the SLEE. Wait for all of the processes to become active (it may take some time, so exercise patience), after which you can launch the SSP Simulator followed by the CCAF and phones. 7. You can choose to follow either step 5 or 6, but be patient and do one thing at a time. Trying to do too many things at the same time will most probably cause some unpleasant crash however keep in mind that SSP Simulator and CCAF must always be started before starting the phones.

Once you have finished using the OSN and are ready to log off, please follow this shutdown sequence so as not to cause the creation of any zombie process or conflicts. 1. Disconnect all the phones first. Do not kill the windows yet. 2. Stop the CCAF and SSP Simulator. 3. Next press ^C in the OSN management window and shut it down by selecting 5) Shutdown Host hostx and quit the management. 4. If SLEE is still running, stop it. Then select Quit from the main window menu. This will quit the OSN Simulator tool. 5. Run killtool. This is a script found in the ~/IN directory which will kill any existing processes. 6. Delete your tables in the database using psql and the sql delete statement. Note: Running killtool before you log off is very important. If you leave some OSN-related processes running after you log off, it would be impossible for the group after you to run their OSN, which is a bad thing.

6. Changing the service numbers

The NTS can also be configured and customized to support new triggers. This section will demonstrate how the 0700 trigger can be supported instead of the current 9800. Before we start customizing anything, the database must be modified to contain a few rows describing the numbers to be routed to from the 0700 service numbers. For simplicity, such rows are already in

Tampere University of Technology DMI Telecommunications Laboratory

the file, ~/IN/sqllib/ntsdb_insertvalues.sql. Examine this file and apply it to the database and verify using psql following the same steps shown in section 2.2 for inserting values into tables. Now edit /Simulator/Configs/sspconf.cnf to change the trigger count to 2.
switch:TRIGGER-COUNT:2

Add lines describing new trigger


switch:TRIGGER2:0700 switch:SERVICE-KEY2:7 switch:DIGITS-NEEDED-FOR-TRIGGER2:8 switch:PC-FOR-TRIGGER2:100 switch:SSN-FOR-TRIGGER2:3

Edit OSN/Configs/nts11.cnf to change the service key to be the same as in SSP


muxc: SERVICEKEY:7

Start the OSN system again. Now a call to 0700 1234 or 0700 1111 from phone #5 should be rerouted. However, note that 9800 numbers do not work anymore.

You might also like