14 Case study: telecom

14.1 Introduction
This chapter describes the development of a telecom switching system. The focus is on the parts handling a local phone call between two subscribers connected to the same switch. We first discuss the
f u n c t i o n a l i t y o f s w i t c h i n g s y s t e m s i n g e n e r a 1 a n d t h e s p e c i f i c r e q u i r e -

different models concerning this functionality We use Smalltalk to illustrate t h e implementation, a through Smalltalk is not (yet) widely used in this application area.
m e n t s of the parts on which we are to focus. We t h e n develop the

14.2 Telecommunication switching systems
Before looking at the requirements of the functionality to be develped,we will give a very short and simplified introduction to the world of telephone exchanges. An exchange connects subscribers with each other. The subscriber that calls is called the A-subscriber. . As she or he dials the number, the exchange analyzes the digits and looks up the line to the subscriber to be called This subscriber is called the Bsubscriber.The exchange then connects the lines of the two subscribers so that they can talk to each other. When they have finished, they put their telephone handsets down (called on — hook in the telecommunications world; picking up the phone is called off-hook and this makes the exchange disconnect the two lines. Normally,a. Subscriber can be both an A — subscriber and a B-subscriber, but in a specific phone call he or she can only play one of the two roles.

393

394

Case study: telecom Every unit connected to the switching system is called a device. A line to or from a subscriber, for example, is a device. This implies that each specific subscriber is connected to a certain exchange. each subscriber has two associated physical devices, an Asubscriber line and a B-suhscribcr line: These devices are used to 'make outgoing calls and to accept incoming calls. Since a larger telecommunication network cannot be handled by one exchange alone, device:; can also be incoming lines or outgoing lines to other exchanges (see figure 14.1). An incoming line is connected to an A-subscriber in another exchange, while an outgoing line directs the call, to a B-subscriber in another exchange. When a subscriber wants to call a subscriber connected to another switching system, she or he uses outgoing lines on the system to connect to the other systems incoming lines. A route is a collection of outgoing lines, all in one specific direction, such as all lines from one. exchange to another.. Top communicate with the other system, our system will choose one outgoing lire from: the route in that direction. It is of no interest which line in the route is used; so long as it is not busy the system can use any free line in the route. Before we start defining the requirements of the functionality, we will make some general assumptions:

A-subscriber lines

B-subscriber lines

Exchange

Exchange

Exchange

incom m ing

Outgoin g

figure l4.l A schematic picture of a telecommunication network.

14.2 Telecommunication switching systems

395

Call between A-subscribdr line and Outgoing Line, This function is similar to the Call between A-subscriber line and B-subscriber line with a

• A subscriber is assumed to have two identities: a subscriber number known among subscribers and found in the telephone directory,, and a physical external identity used by the maintenance personnel ft It is assumed that hardware associated with each subscriber will recognise whether an off-hook is performed as the beginning of a new call or as an answer to a call. All devices have an external physical identity . each route has unique identity. le system, for simplicity, we will not directly the application hardware, but instead consider the hardware as part of the underlying system. Now let us turn to the actual functional requirements. The requirements specification is separated into two parts: • Call handling • Operation and maintenance Call Between A-subscriber line and B-subscriber Line. When an A-subscriber lift his Handset, it results in the following action being taken by the system .First the subscriber category is checked to see whether the subscriber is allowed to make outgoing calls. If so, the system marks the subscriber as being busy for incoming calls, and returns the dial tone The dialling tone indicates that the system is ready to .receive digits The dialling tone is disconnected when the first digit is received After dialling all digits the A-subscriber will be connected to the B-subscriber lf the B-subscriber is idle and if her category allows incoming calls, she will be marked busy and the A-subscriber and the Bsubscriber,will be connected When the connection is performed, the B-subscriber will get a ringing signal and the A-subscriber will receive a ringing tone Both these signals will be interrupted when the B-subscriber, answers In A normal call, the two subscribers talk to each,other for some while before disconnection. The call will be disconnected when both the A-subscriber and the B-subscriber have cleared Then both subscriber. are marked idle and they are disconnected. If One of the parties clears the call is continued if the party that has. cleared lifts his or her handset again. The A-subscriber may clear the call at any moment during I he call set up.

few exceptions. The direction of the call will now be to an Outgoing

396

Case study telecom

Call between incoming Line and B-subscriber Line. This function is .similar to the call between A-subscribcr line and B-subscriber line with a

line. This will be chosen from the free lines in the route between this switching system and the other system. The line will be marked busy during the call in the same way as the B-subscriber line. The system does not need to check the category of the outgoing line since it is always allowed to receive calls.

few exceptions. The function will be started when another switching system starts communicating with this system. In this case all the digits Will be received directly and there is no need to check whether calls are allowed to originate from this line. The function will then behave like the function call between A-subscriber line and subscriber
line.

similar to the previous functions but in this case the line from where the call originates in this switching system is an Incoming line and the direction of the call is to an Outgoing line. Operation and Subscription Changers. An operator can connect a new subscriber to the maintenance system or disconnect an existing subscriber.When new subscriber is connected to the system, the system is informed by the operator of the phone number, the external identity and the category of the subscriber. Changes of Digit Information. An operator can change the dig information for the system. This information is used for each call the system so that proper action can be taken. the information is normally structured as a tree where each node represents a digit and a leaf node lepicsents a direction. The result of a digit analysis is associated with a leaf node. The result consists of three components: the name of the outgoing function to which the call is directed, an external route identity object (not required for a call to a A-subscriber line) and the expected number length (dependent on the direction of the call). The number length is used to decide when all digits for a call have been received. Connection of Devices. This function is used to connect new devices and to delete existing devices from the system. For each connected device the system is informed of-the external identity of the device and the external identity of the route to which the device belongs. The external route identity is used outside the system and for commuication with the system. 14.2.1 An overview of the system Before going into the development work we will now give a brief overview of how the system works. When a new subscriber is to be

Call between incoming Line and Outgoing Line. This function is

14.3 The requirements model

307

connected to the system, an operator uses the function described as Subscription Changes. The operator gives the subscriber's number, external identity and category to the system. Then the operator uses Changes of Digit information and the system is informed about the new subscriber the number of the subscriber, The direction of the call and the length of the number. The number of the subscriber is used to find the other information, such as the direction of the call. It is now possible to make a call to and from this subscriber if the subscriber is physically connected to the telecommunication switching system. This should be done before the operator connected the subscriber to the exchange. When The subscriber lift the handset to make a phone call, the External identity of the subscriber is sen! to the system. Then, depending on the destination of the call, the subscriber, uses one of the functions described as call between A — subscriber Line and B-subcriber Line or Call between A-subcriber Line and Outgoing Line. An operator removes a subscription by giving the number of the subscriber whose subscription should be removed, or for another type of device by giving the external identify of the device to the system.

14.3 The Requirements model in the use case model we will

describe what functionality each actor. should be able to perform. Therefore we start by identifying the actors From the above description, we see that the system is primarily developed to serve subscribers. A subscriber is thus a candidate actor However we see also that the subscriber can play either of two roles an A-subscriber or a B-subscriber. We have previously discussed the importance of describing roles played in the system These two roles will therefore be perfect to model with two actors A-Subscriber and B-subsciber. To model incoming and outgoing lines we also use actors since they will show behavior external to our system here we see an example where other systems (in this case even the Same kind of system!) are modeled with actors. Let us call these actors A-remote and B-remote. In this example these four actors will be the primary actors. We also have secondary actors, namely actors that will service the functionality for the primary actors. From the description above we see that we have a secondary actor,namely an Operator to perform, the functionality described under Operation and Maintenance above. In this example we will not have any more actors. We thus have the picture in Figure 14.2.