1 CHAPTER ONE 1.0 1.1 INTRODUCTION BACKGROUND OF THE STUDY The world is fast becoming a global village and a necessary tool for this process is communication of which telecommunication is a key player. The quantum development in the telecommunications industry all over the world is very rapid as one innovation replaces another in a matter of weeks. A major breakthrough is the wireless telephone system which comes in either fixed wireless telephone lines or the Global System of Mobile Communications (GSM). Communication without doubt is a major driver of any economy. Emerging trends in socio-economic growth shows a high premium being placed on information and communication technology (ICT) by homes, organizations, and nations. Nigeria is not left out in this race for rapid development as the nation’s economy has been subjected to years of economic reversal via mismanagement and bad leadership. The Nigerian telecommunications sector was grossly underdeveloped before the sector was deregulated under the military regime of General Ibrahim Babangida in 1992 with the 2 establishment of a regulatory body, the Nigerian Communication Commission (NCC). So far the NCC has issued various licenses to private telecommunications operator. These include 7 fixed telephony providers that have activated 90,000 lines, 35 Internet service providers with a customer base of about 17,000. Several VSAT service providers are in operation, and have improved financial intermediation by providing on-line banking services to most banks in Nigeria. These licenses allowed private telephone operators (PTOs), to roll out both fixed wireless telephone lines and analogue mobile phones. The return of democracy in 1999 paved the way for the granting of GSM license to 3 service providers: MTN Nigeria, ECONET Wireless Nigeria which is now called ZAIN and NITEL Plc which is now called ZOOM in 2001 and later GLO. 1.2 STATEMENT OF THE PROBLEM It has been observed that calls across different networks are always difficult to connect, at times diverted and also attract more cost. This creates room for users to be confused as how much is deducted from their call credits or are compelled to having multiple GSM lines. As the network increases, more 3 users makes call across different networks and there is need to record the call time, call network, and line identification and be able to put calls across the networks with out much congestions. Transmission of calls requires at least two points, A and B (point-to-point; point-to-multipoint or multipoint-to-point). Consequently, the interconnectivity problem within Nigeria is simply stated as follows: 1. How can A and B, separated possibly by thousands of kilometers within Nigeria, transmit voice to each other without each having to be subscribers to the same operator? 2. More importantly, how can we ensure multi-user resource allocation such that if A is the originating consumer, it does not matter technologically (even if financially) which of ALL the other operators that B is a subscriber to, nor does it matter what type of transmission he or she is sending? 3. The transmission of calls with out much congestion in the network. This will form the bases for the project work. 4 1.3 PURPOSE OF THE STUDY The purpose of this research work is to establish a transparent set of Interconnection Rules, which shall encompass at least the following requirements: * Every operator must allow all other operators full interconnection to its network at technically feasible and convenient points of interconnection, such that traffic may originate on one network and terminate on another, or otherwise pass across networks, without interference, signal deterioration, delay, congestion, or restriction. * To design software that will serve as a congestion control system for multi-user telecommunication networks. 1.4 SIGNIFICANCE OF THE STUDY This study will help us to know the status of GSM network resource allocation in Nigeria with a view to knowing areas to be addressed for better performance. This research work will aid telecommunication companies in Nigeria to achieve the following: 1. Keep record of calls across the GSM networks. 5 2. Use Interswitch to put calls through to the right designation without delay, distortions or diversion. 3. Determine the calling network and receiving network and use this information for the purpose of interconnectivity tariffs. 4. Maintain a database of all registered GSM lines for all GSM communication companies. 1.5 AIMS AND OBJECTIVES OF THE STUDY Basically the aim of this project work is to design and simulate a multi-user congestion control system for MTN. 1.6 SCOPE OF THE PROJECT This research covers network connectivity and traffic control of MTN network in Nigeria. The system covers all forms of voice calls across the network. Both call identification, recording and network interconnectivity. 6 1.7 CONSTRAINTS AND LIMITATIONS Some of the constraints encountered during this project design include the following: Financial Constraints: The design was achieved but not without some financial involvements. One had to pay for the computer time. Also the typing and planning of the work has its own financial involvements. However, to solve the problems I solicited fund from guardians and relations. High programming Technique: The programming aspect of this project posed a lot of problematic bugs that took me some days to solve. Problems such as the ADO, DAO and Jet Engine related run time errors. For instance, the Ms Access office 2000 edition does not work with VB-6. Jet Engine unless converted to lower version of Ms ACCESS of office 1997 edition (i.e. version 2.0). Also other technical problem, which requires semantic and syntactic approaches where encountered as well. In seeking for the solution to these problems, I acquired more knowledge from well –versed textbooks and programmes. 7 1.8 The epileptic nature of power supply cannot be overlooked. DEFINITION OF TERMS Inter-switch: Inter-Switch Link (ISL) is a trunking method developed by Cisco to use for Ethernet and Token Ring trunk connections. Congestion: It is the overcrowding of route, leading to slow and inefficient flow. In computing, it is a situation in which the amount of information to be transferred is greater than the amount that the data communication path can carry. Air interface: In a mobile phone network, the radio transmission path between the base station and the mobile terminal. Asymmetric Transmission: Data transmissions where the traffic from the network to the subscriber is at a higher rate than the traffic from the subscriber to the network. SIM: Subscriber Identity Module; A smart card containing the telephone number of the subscriber, encoded network identification details, the PIN 8 and other user data such as the phone book. A user’s SIM card can be moved from phone to phone as it contains all the key information required to activate the phone. Telecommunication: Are devices and systems that transmit electronic or optical signals across long distances. Telecommunication enables people around the world to contact one another to access information instantly, and to communicate from remote areas. Computer Network: It is a system used to connect two or more computers using a communication link. 9 CHAPTER TWO 2.0 2.1 LITERATURE REVIEW THEORY OF CONGESTION CONTROL The modern theory of congestion control was pioneered by Frank Kelly, who applied microeconomic theory and convex optimization theory to describe how individuals controlling their own rates can interact to achieve an "optimal" network-wide rate allocation. Examples of "optimal" rate allocation are max-min fair allocation and Kelly's suggestion of proportional fair allocation, although many others are possible. The mathematical expression for optimal rate allocation is as follows. Let xi be the rate of flow i, Cl be the capacity of link l, And rli be 1 If flow i uses link l and 0 otherwise. Let x, c and R be the corresponding vectors and matrix. Let U(x) be an increasing, strictly convex function, called the utility, which measures how much benefit a user obtains by transmitting at rate x. The 10 optimal rate allocation then satisfies that Lagrange dual of this problem decouples, so that each flow sets its own rate, based only on a "price" signaled by the network. Each link capacity imposes a constraint, which gives rise to a Lagrange multiplier, pl. The sum of these Lagrange multipliers; yi = ∑plrli, l is the price to which the flow responds. Congestion control then becomes a distributed optimization algorithm for solving the above problem. Many current congestion control algorithms can be modeled in this framework, with pl being either the loss probability or the queuing delay at link l. A major weakness of this model is that it assumes all flows observe the same price, while sliding window flow control causes "burstiness" which causes different flows to observe different loss or delay at a given link. There are many ways to classify congestion control algorithms: By the type and amount of feedback received from the network: Loss; delay; single-bit or multi-bit explicit signals 11 By incremental deplorability on the current Internet: Only sender needs modification; sender and receiver need modification; only router needs modification; sender, receiver and routers need modification. By the aspect of performance it aims to improve: high bandwidth-delay product networks; lossy links; fairness; advantage to short flows; variablerate links By the fairness criterion it uses: max-min, proportional, "minimum potential delay" 2.2 CONGESTIVE COLLAPSE Congestive collapse (or congestion collapse) is a condition which a packet switched computer network can reach, when little or no useful communication is happening due to congestion. When a network is in such a condition, it has settled (under overload) into a stable state where traffic demand is high but little useful throughput is available, and there are high levels of packet delay and loss (caused by routers discarding packets because their output queues are too full). 12 Congestion collapse was identified as a possible problem as far back as 1984 (RFC 896, dated 6 January). It was first observed on the early Internet in October 1986, when the NSFnet phase-I backbone dropped three orders of magnitude from its capacity of 32 kbit/s to 40 bit/s, and this continued to occur until end nodes started implementing Van Jacobson's congestion control between 1987 and 1988. When more packets were sent than could be handled by intermediate routers, the intermediate routers discarded many packets, expecting the end points of the network to retransmit the information. However, early TCP implementations had very bad retransmission behavior. When this packet loss occurred, the end points sent extra packets that repeated the information lost; doubling the data rate sent, exactly the opposite of what should be done during congestion. This pushed the entire network into a 'congestion collapse' where most packets were lost and the resultant throughput was negligible. Congestion collapse generally occurs at choke points in the network, where the total incoming bandwidth to a node exceeds the outgoing bandwidth. Connection points between a local area network and a wide area network are 13 the most likely choke points. A DSL modem is the most common small network example, with between 10 and 1000 Mbit/s of incoming bandwidth and at most 8 Mbit/s of outgoing bandwidth. The prevention of congestion collapse requires two major components: A mechanism in routers to reorder or drop packets under overload, End-to-end flow control mechanisms designed into the end points which respond to congestion and behave appropriately. The correct end point behaviour is usually still to repeat dropped information, but progressively slow the rate that information is repeated. Provided all end points do this, the congestion lifts and good use of the network occurs, and the end points all get a fair share of the available bandwidth. Other strategies such as 'slow start' ensure that new connections don't overwhelm the router before the congestion detection can kick in. The most common router mechanisms used to prevent congestive collapses are fair queuing in its various forms, and random early detection, or RED, where packets are randomly dropped before congestion collapse actually occurs, triggering the end points to slow transmission more proactively. Fair 14 queuing is most useful in routers at choke points with a small number of connections passing through them. Larger routers must rely on RED. Some end-to-end protocols are better behaved under congested conditions than others. TCP is perhaps the best behaved. The first TCP implementations to handle congestion well were developed in 1984[citation needed], but it was not until Van Jacobson's inclusion of an open source solution in Berkeley UNIX ("BSD") in 1988 that good TCP implementations became widespread. UDP does not, in itself, have any congestion control mechanism at all. Protocols built atop UDP must handle congestion in their own way. Protocols atop UDP which transmit at a fixed rate, independent of congestion, can be troublesome. Real-time streaming protocols, including much Voice over IP protocols, have this property. Thus, special measures, such as quality-of-service routing, must be taken to keep packets from being dropped from streams. In general, congestion in pure datagram networks must be kept out at the periphery of the network, where the mechanisms described above can handle it. Congestion in the Internet backbone is very difficult to deal with. 15 Fortunately, cheap fiber-optic lines have reduced costs in the Internet backbone. The backbone can thus be provisioned with enough bandwidth to (usually) keep congestion at the periphery. The protocols that avoid congestive collapse are based on the idea that essentially all data loss on the Internet is caused by congestion. This is true in nearly all cases; errors during transmission are rare on today's fiber based Internet. However, this causes Wi-Fi or other networks with a radio layer (such as satellite) to have poor throughput in some cases since wireless networks are susceptible to data loss. The TCP connections running over a radio based physical layer see the data loss and tend to believe that congestion is occurring when it isn't and erroneously reduce the data rate sent. The slow start protocol performs badly for short-lived connections. Older web browsers would create many consecutive short-lived connections to the web server, and would open and close the connection for each file requested. This kept most connections in the slow start mode, which resulted in poor response time. 16 To avoid this problem, modern browsers either open multiple connections simultaneously or reuse one connection for all files requested from a particular web server. 2.3 BRIEF HISTORY OF NIGERIA’S TELECOMMUNICATION The journey to success in Nigeria’s telecommunication milieu has been long and tortuous. Telecommunication facilities in Nigeria were first established in 1886 by the colonial administration. At independence in 1960, with a population of roughly 40 million people, the country only had about 18,724 phone lines for use. This translated to a teledensity of about 0.5 telephone lines per 1,000 people. The telephone network consisted of 121 exchanges of which 116 were of the manual (magneto) type and only 5 were automatic. Between 1960 and 1985, the telecommunication sector consisted of the Department of Posts and Telecommunications (P&T) in charge of the internal network and a limited liability company, the Nigerian External Telecommunication (NET) Limited, responsible for the external telecommunications services. NET provided the gateway to the outside 17 world. The installed switching capacity at the end of 1985 was about 200,000 lines as against the planned target of about 460,000. All the exchanges were analogue. Telephone penetration remained poor equaling 1 telephone line to 440 inhabitants, well below the target of 1 telephone line to 100 inhabitants recommended by ITU for developing countries. The quality of service was largely unsatisfactory. The telephone system was unreliable, congested, expensive and customer unfriendly. Arising from the foregoing, in January 1985, the erstwhile Posts and Telecommunications Department was split into Postal and Telecommunications Divisions. The latter was merged with NET to form Nigerian Telecommunications Limited (NITEL), a limited liability company. The main objective of establishing NITEL was to harmonies the planning and co-ordination of the internal and external telecommunications services, rationalize investments in telecommunications development and provide accessible, efficient and affordable services. Almost 43 years down the line, the Nigerian Telecommunication Plc, NITEL had roughly half a million lines available to over 100 million 18 Nigerians. NITEL the only national carrier had a monopoly on the sector and was synonymous with epileptic services and bad management. On assumption of office on May 29, 1999 the President Olusegun Obasanjo administration swung to gear to make a reality the complete deregulation of the telecom sector, most especially the much touted granting of licenses to GSM service providers and setting in motion the privatization of NITEL. This proactive approach by the government to the telecom sector has made it possible for over 2.5 million Nigerians to clutch GSM phones today. 2.4 NETWORK CONGESTION In data networking and queuing theory, network congestion occurs when a link or node is carrying so much data that its quality of service deteriorates. Typical effects include queuing delay, packet loss or the blocking of new connections. A consequence of these latter two is that incremental increases in offered load lead either only to small increase in network throughput, or to an actual reduction in network throughput. Network protocols which use aggressive retransmissions to compensate for packet loss tend to keep systems in a state of network congestion even after 19 the initial load has been reduced to a level which would not normally have induced network congestion. Thus, networks using these protocols can exhibit two stable states under the same level of load. The stable state with low throughput is known as congestive collapse. Modern networks use congestion control and network congestion avoidance techniques to try to avoid congestion collapse. These include: exponential back off in protocols such as 802.11's CSMA/CA and the original Ethernet, window reduction in TCP, and fair queuing in devices such as routers. Another method to avoid the negative effects of network congestion is implementing priority schemes, so that some packets are transmitted with higher priority than others. Priority schemes do not solve network congestion by themselves, but they help to alleviate the effects of congestion for some services. An example of this is 802.1p. A third method to avoid network congestion is the explicit allocation of network resources to specific flows. One example of this is the use of Contention-Free Transmission Opportunities (CFTXOPs) in the ITU-T G.hn standard, which provides highspeed (up to 1 Gbit/s) Local area networking over existing home wires (power lines, phone lines and coaxial cables). 20 2.5 NETWORK CONNECTIVITY Perhaps, one of the memorable legacies of the Obasanjo government was the creation of an enabling environment for the evolution of a telecommunications industry in Nigeria. Actually Nigeria’s statistics in terms of telecommunications is overwhelming. At a recent international conference on telecommunications in Egypt, many were simply wowed by the country's population, which is now anything between 140 and 150 million with a preponderance of youths. But the real amazement was in the trend analysis of the growth of the telecommunications industry in just over five years on the introduction of mobile telephony in the country. Nigeria is probably the largest market for telecommunications in Africa, if not the world (Oparah, 2007). At the 4th Nigeria telecom summit held in Abuja in November, 2005, Nigeria was rated the fastest growing telecommunication market IN THE WORLD, the number one GSM country in WEST Africa, the number one fixed wireless country in Africa, the most liberalized market in Africa, the best telecommunication regime in Africa with proper enabling laws and regulatory transparency (IT & TELECOM DIGEST, 2005). 21 The achievement of the goal of the market-based competition in telecommunications requires that every operator has mandatory access to technically adequate and economically efficient interconnection with all other operators, especially those operating long distance and local access facilities. It is the responsibility of the NCC to ensure that such interconnection is available on a non-discriminatory and cost- oriented basis to all licensed operators. In line with this the commission had been mandated to establish a transparent set of Interconnection Rules, which shall encompass at least the following requirements: * Every operator must allow all other operators full interconnection to its network at technically feasible and convenient points of interconnection, such that traffic may originate on one network and terminate on another, or otherwise pass across networks, without interference, signal deterioration, delay, or restriction. * Any payments for interconnection or access services between operators should be based on the actual costs of such interconnection, and must be applied in a non-discriminatory and competitively neutral manner. 22 It appears the reverse is however the case, as in Nigerian, consumers subscribe to different networks at least to the mobile terminated message“network busy”, “the number you dialed is not reachable at the moment, please try again later” or the outrageous charge for roaming outside your local network. Note that if A and B must be subscribers to the same operator in order to talk to each other, then there is in fact Zero National Interconnectivity, and essentially what we would have is an undesirable telecommunications network comprised of separate Private Network Links (PNLs) – Figure 1. In that situation, for A to talk to B, C, D and E who are each subscribed to different operators, he must carry five different transmission/receive T/R equipments – one to talk/receive within his own network and the others to talk to each of B, C, D and E on different operator subscriptions. Situations like this (i.e. multiple handset possessions) are currently occurring in Nigeria, not really because of zero national interconnectivity, but due to experience-based zero trust in the existing limited interconnectivity. (Aluko, 2007). 23 CHAPTER THREE 3.0 METHODOLOGY AND SYSTEM ANALYSIS 3.1 GENERAL ANALYSIS OF THE EXISTING SYSTEM In conformity to the terms of interconnectivity agreement and the relevant ITU-T recommendations the following steps are involved: 1. Interconnect Requests Interconnect requests shall be reviewed to confirm that interconnect applicants are licensed by the NCC to provide services which necessitate interconnection. Where the company is licensed by the NCC to operate a network which necessitates interconnection, MTN Nigeria (MTNN) shall acknowledge the request and seek relevant information in order to process the request for interconnection. 2. Interconnect Schedule The schedule for the interconnectivity procedures is as detailed below: • Verification of interconnect applicant’s NCC license and other MTN required information. • Database Preparation. 24 • Transmission tests. • Switching tests. • Billing Verification. • Post processing. • Commercial Launch. 3. Points of Interconnectivity The Requesting Operator shall provide transmission links from its network to the relevant Network’s POI in line with standard industry practice. Current MTNN’s POIs have since grown from an initial four to a current total of eight locations with a nation-wide geographical spread, namely Ikoyi and Ojota within Lagos, Ibadan, Abuja, Port-Harcourt, Asaba, Benin and Kano. 4. Resources A summary of the organizational departments responsible in the process flow for the standard operation procedure, including the inputs and outputs are given below: Transmission tests – Transmission Engineer(s).Switching tests – Switching Engineer(s) 25 3.2 ACT FINDING METHOD 3.2.1 Methodology During the research work, data needed for the project was gathered from various sources. In gathering and collecting necessary data and information needed for system analysis, two major fact-finding techniques were used in this work and they are: (a) Primary Source This refers to the sources of collecting original data in which the researcher made use of empirical approach such as personal interview and questionnaires. (b) Secondary Source The secondary data were obtained by the researcher from written documents such as magazines, Journal, Newspapers, Library source and Internet downloads. Personnel interviews This method was implored due to some reasons that is, congestion control of GSM in MTN. controlling congestion in GSM has so many steps and all the necessary information cannot be obtained through written documents. The 26 information is obtained orally by the personnel manager, the IT department manager and some staffs. Some of the vital questions addressed include: What congestive collapse is all about When does congestive collapse occur What are the consequences of a network been congested The problems it has caused Techniques involved in congestion control. Written document For any work to be successfully achieved, a research could be made to know what writers and scientists observed in retrospect to the research topic. In the process of this research/project, past documents are consulted which serve as a secondary source of information and act as an addictive, pave a way for a researcher to understand or know a little about the project topic. 3.3 OBJECTIVES OF THE EXISTING SYSTEM The objective of the existing system includes: o Put calls across the network o Take record of calls and time 27 o Block or disconnect a line if not in use. o Activate or reactivate a new or existing line. o Maintain a constant network services ORGANIZATIONAL STRUCTURE Director Admin Manager Staff Store Fig 3.1 Organogram of the firm. Marketing manager Customers Secretary Marketers 28 3.4 INPUT, PROCESS AND OUTPUT ANALYSIS 3.4.1 Input Analysis There are three main methods of unbundled access, each of which responds to a different service need. These three methods are: Full unbundling of the local loop; Shared use of the copper line; and High speed bit-stream access. They provide complementary means of access. The three different options solve various operational aspects in terms of time to market, subscriber takerate, availability of second subscriber line, local exchange node size and availability of collocation space in the exchange. A PACKET or request in this context has three parts: The source address The destination address and The message proper (voice, data or multimedia) As could be seen in the flowchart below, on receipt of a subscriber’s request (for connection), the request is subjected to analysis. Since address formats are unique and localized, if the source address of the packet is same with that 29 of the forwarding telecom service centre, the subscriber is on-net and receives a minimal charge rate, else the subscriber is off-net and is subjected to the highest tariff. 3.4.2 Process Analysis The information gathered was processed into a more meaningful format for entry into the system. The processing was basically on calls. 3.4.3 Output Analysis The output from the system designed is generated from the system inputs. More of the output generated is on calls across the network. 30 Information Flow Diagram START SUBSCRIBER REQUEST REQUEST ANALYSIS ON-NET? NO YES CHARGE TYPE 1 PARTNER? YES CHARGE TYPE 2 STOP Fig 3.1 Information Flow Diagram NO CHARGE TYPE 3 31 3.5 PROBLEMS OF THE EXISTING SYSTEM Due to the manual means being used, keeping information about resource allocation has lot of problems which includes: a. Delay in processing call files b. Loss of vital documents as the filing system is manual c. Damage of documents due to fire incident. d. Illegal removal of files by fraudulent staff leading to insecurity. 3.6 JUSTIFICATION FOR THE NEW SYSTEM The new system is designed to solve problems affecting the manual system in use. It is design to be computerised thereby relieving both the customers and staff from much stress as experienced in the manual system. The proposed system will also have some other feature like: Accuracy in the handling of data. Fast rate of operation and excellent responses time Easy way of back up or duplicating data in diskettes in case of data loss. Better storage and faster retrieval system. 32 CHAPTER FOUR 4.0 SYSTEM DESIGN 4.1 DESIGN STANDARDS As the new system is focusing on how to create computerised database system, effort was made to present designs that will suite the research objectives. So, the design of the software will help the user achieve the following objectives. a. Have a workable form through which all the inputs will be made to the system. b. Generate a report that will present call records with time and date. c. Design of a menu driven program so that the forms will be neatly arranged and utilized. d. Create a modular programming interface for easy debugging. e. Design a system that will be very fast in detecting congestions and put some control measures. 33 4.2 OUTPUT SPECIFICATION AND DESIGN The output from the system designed is generated from the system inputs. The call records are generated in a hard copy and soft copy for management analysis and decision making. The following outputs were generated from the software. 4.3 1. Activated lines 2. Call Information INPUT SPECIFICATION AND DESIGN At this stage, the information gathered were analyzed and restructured into a more relevant and useful data. Data analysis and restructuring was based on the identification of the basic needs and the structure required for the project. The information gathered were analyzed and restructured in such a way that the subsystems and the modules were achieved efficiently. The analysis and restructuring of these data were such that the system is capable of presenting one frame at a time to the user. Below are some of the inputs forms designed. 34 Phone Lines Form Phone No ……………………………………………… User Name ……………………………………………… Network ……………………………………………… Remark ……………………………………………… 4.4 FILE DESIGN The new system comprises of a database for GSM Lines register and Call Interconnectivity Database. The database was designed using Access Database. The structure for the tables in the database file includes: GSM Interconnectivity Database Field Name Data Type Field Size Caller Text 50 Phone Text 11 Date Date\time 8 Time Text 15 Receiver Text 50 Phone Text 11 Table 4.4.1 GSM Interconnectivity Database 35 GSM numbers Database Field Name Data Type Field Size Name Text 50 Phone Numeric 11 Network Text 50 Remark Text 25 Table 4.4.2 GSM numbers Database 36 Procedure Chart Main Menu Help Lines Calls Report Sim Pack Make Call Sims Block Line Subscribers Calls Fig 4.1 Procedure Chart Exit 37 System Flowchart Input Data Form Input From the Keyboard Disk Storage Control Unit Output (report) Fig4.2 System Flow Chart Result to Screen 38 4.5 SYSTEM REQUIREMENT Both software and hardware are required for the implementation of this project. So many programming languages were considered in the cause of designing this software. A lot of factors were put into consideration which includes database access, data transmission via networks, database security, etc. Moreover, Visual Basic 6.0 is very user friendly and enables the design of an interface that can be modified programmatically. They include: 4.5.1 Software Requirement Windows Xp, Windows 2000 or Vista Visual Basic 6.0 Microsoft Access Database Windows Xp Service pack 1, 2, 3 Visual Basic 6.0 The choices for Visual Basic 6.0 is because the programming language has the advantage of easy development, flexibility and it has the ability of 39 providing the developer/programmer with possible hints and it produces a graphical user interface. Microsoft Access Database The choices for Visual Basic 6.0 with Access Database was made to enable us achieve the above set objectives. Also Visual Basic supports modular programming and hence the research finds it suitable for the design of this software. 4.5.2 Hardware Requirement Pentium VI and Above 256 MB Ram and above 40GB HD Printer 4.5.3 Operational Requirement For the new system to be operational, a computer lab has to be established, equipped with air conditioner, chairs and office table. This will create a conducive environment for the computer system and personnel that will work as the staff. 40 4.5.4 Personnel Requirement A total of 2 to 3 computer operators are needed to manage the computer centre. They will oversee the entry of data into the system. 41 Program Flowchart Start Main Menu 1. SIMs (Lines) 2. Calls 3. Report 4. Help Select Menu options Register the Yes new line on the network New Line No No Calls A Yes Dial the number No Same Network? Yes Connect the call to the other network Charge for interconnectivity 42 A Report Menu 1. Calls Interconnectivity 2. SIMS on Network Select sub menu options Yes Option = 1 No Option = 4 Option = 2 No Option = 3 Stop Fig 4.3 Program Flow Chart Yes Display call interconnectivity report on and across different GSM Network Display GSM Lines on the Network 43 4.6 SYSTEM IMPLEMENTATION The new system was implemented using top down methodology. The program is divided into modules for effective implementation. Bellow is the modules implemented in the new system. Sim Pack Sub System This sub system is used to record all the existing GSM numbers on the inters witch network. Once a GSM number is entered through this sub system, it is stored on a database so that when dialed, computer will search for the number on the database for the purpose of network connectivity Make Call Sub System This module is used to dial any GSM number on the network. It has the features for number entry and dialing. Subscriber Sub System Once a user opens the software, he/she has to logon to the network by using the subscriber subsystem to select his/her phone number. Block line Sub System This is used to put off a GSM number out of the network so that calls cannot be connected to the number. 44 Sim Report Sub System This displays all the registered GSM numbers on the network. Call Report Sub System All the GSM interconnectivity are retrieved by this module and displayed on the screen. 4.7 SOFTWARE INSTALLATION The software run from “GSM” folder in drive C: Installation of the software onto the hard disk of the host computer can easily be done by creating a folder and copying the database files and the application programs. The easiest way of doing this under the Windows environment is to use the Windows Explorer program. The following steps can be used to install the software: a) Open Windows Explorer b) Select GSM folder in drive D: c) Open the Edit menu and click copy d) Open drive c: e) Click Edit menu and click paste 45 The new system is a simple constructed, menu-driven program, which makes it much easier to use. Thus, it has been designed to alleviate the problems of complexity in the use of the package. To run the program, follow the steps below. Double click on my computer on the desktop Double Click C: Drive Double Click “GSM” Folder to open it. Double click on “Congestion Control System.exe”. Select the options on the home page to load the different modules. Click close (X) to exit the program 46 CHAPTER FIVE 5.0 SUMMARY, RECOMMENDATIONS AND CONCLUSION 5.1 SUMMARY With the level of research work carried out in this project, a lot of findings were made on the operations of GSM industries. This will help the mass to have background information of the GSM sets the use and possible trigger researchers to use this information for further research. Also students of higher institutions can adopt the methods used for the implementation of this project in their academic works. Moreover, in the cause of this research, the features of the programming language used were mention and this will make more students to have interest in programming. 5.2 CONCLUSIONS The broader world of information and communications technologies (ICT) has exciting prospects in the Nigerian market, and will attain greater heights even quicker if all technological tools are properly harnessed. 47 Nigerians are now awaiting downward review of tariff, which is believed, will place national interest as a major factor in considering the price regime especially putting into consideration the economic capacity of the average Nigerian. In a country where the Federal Government pays its public service workers a minimum wage of 7,500 Naira, it is assumed that the Government will prevail on the national telecommunications body to have rates that will be affordable for at least middle class workers. It is perceived that such a move will force operators to cut their rates, as market forces will level the price differentials involved in interconnectivity. Also, with a good congestion control on the telecommunication networks, users will start to enjoy their calls without much interruption or call failures. 5.3 RECOMMENDATION Based on the achievement made on this research work and also the experienced gained during the design and implementation. We suggest that every undergraduates, graduates and post graduates should pay more attention to programming in other to compete favorably with there counterparts in the western world. 48 Some of the subsystems in this congestion control system were not completely developed because of the time and financial constraint, hence the need to further develop this research work and implement it on both the software and hardware aspect of it. 49 BIBLIOGRAPHY Textbooks Aluko, M. E. (2007). Resolving the Telecommunications Interconnectivity Battle in Nigeria. Agba, P.C. (2001). Electronic reporting: Heart of the new Communication Age Enugu: Snapp ltd. Carey (1975). A Communication. cultural approach to communication; Dr. Alabi, G.A. (1996). Telecommunication in Nigeria. Abuja: Magnet Publishing ltd. "Gateway." Microsoft® Student 2008 [DVD]. Redmond, WA: Microsoft Corporation. Gbenga, A. (2006). Telecommunication in Nigeria. Lagos: Concept Publishing ltd. Giffin, E.M. (1994). A first look at communication theory. New York: MacGraw-Hill. John G., Van B., Fabrizio, U.D. (2007). Signaling in Telecommunication networks Larry, A.S. and Richard, E.P. (2003). International Communication. Belmont: Wadsworth. Littlejohn, S.W. (1996). Theories of Human communication. Belmont, CA: Wadsworth. 50 Microsoft Cooperation (1993); Programmer’s Guide. Microsoft Visual Basic Programming System for Windows, Version 5.0. Microsoft Press. Oki Paul, T. and Etomi, G. (2008). Interconnection Costs and the Pricing of Telecommunications Services. Olose, F.P. (2007). Communication for Development and modern ICTs:Nigeria at a cross road in Mojaye, Ebenezer Soola Conference on Communication: Proceedings Ibadan: Ebenezer Soola Conference On Communication. Vossen, G. (1991). Data Models, Database Languages and Database Management Systems. Adison-Wesley Publishing Comp. Magazines Alfred, G. (2007, September), Africa’s Hope for Low Telecom Tariffs. IT and TELECOM DIGEST No. 069, 16-17. Malik, A. (2007, September). NigComsat Searches for a Needless License. IT & TELECOM DESIGN No. 069, 16-17. NCC communicates. (2005, December). IT & TELECOM DIGEST. Newspapers Bankole, D. (Retrieved June 3, 2008) Bankole Calls for Downward Review of GSM Tariff. Nigeria Leadership. Oparah, E. (2007, June 20). Celtel Nigeria's Spirit of Innovation. Nigeria Vanguard. URL: http://wikipedia.org/internet/ 51 QUESTIONNAIRE Please kindly tick the most appropriate option and fill in the blank spaces with the best answers. Is the GSM network connectivity in MTN reliable? [Yes] [No] Have there been any complaints from users about poor network connectivity? [Yes] [No] How does MTN tackle this problem?_________________________________________ In MTN are there always congestions or traffic in the network [Yes] [No] Is there any difference between congestion and congestive collapse? [Yes] [No] If there is please state_____________________________________________________ _______________________________________________________________________ When does congestive collapse occur?________________________________________ What are the consequences of a network been congested?_________________________ How does congestive collapse or congestion affect MTN as a whole?_______________ What are the techniques involved in congestion control?_________________________ 52 APPENDIX 2 PROGRAM WELCOME PAGE Diagram 2.1 Introductory Design form 53 APPENDIX 3 PROGRAM HOME PAGE Diagram 3.1 Main menu forms 54 APPENDIX 4 PROGRAM CALL PAGE Diagram 4.1 Dial processing form 55 APPENDIX 5 PROGAM SIMPACK PAGE Diagram 5.1 SimPack Activation form 56 APPENDIX 6 PROGRAM REPORT PAGE Diagram 6.1 SimPack Report form 57 Diagram 6.2 Calls Duration form 58 APPENDIX 7 PROGRAM SOURCE CODE OF WELCOME PAGE Private Sub Form_Activate() ProgressBar1.Min = 1 ProgressBar1.Max = 8 ProgressBar1.Value = 1 End Sub Private Sub Form_KeyPress(KeyAscii As Integer) frmMainMenu.Show Unload Me End Sub Private Sub Timer1_Timer() Static pr As Boolean Static va As Integer Dim col As Integer col = Int(Rnd * 15) va = va + 1 ProgressBar1.Value = va pr = Not pr If va = 8 Then frmMainMenu.Show Unload Me End If End Sub 59 APPENDIX 8 PROGRAM SOURCE CODE OF HOME PAGE Private Sub activesims_Click() simsreport.Show End Sub Private Sub callsreport_Click() End Sub Private Sub bline_Click() On Error Resume Next sim.Data1.Refresh sim.Combo2.Clear sim.Data1.Recordset.MoveFirst Do Until sim.Data1.Recordset.EOF sim.Combo2.AddItem sim.Data1.Recordset.Fields("phone") sim.Data1.Recordset.MoveNext Loop sim.Command1.Enabled = False sim.Command2.Enabled = True sim.Command3.Enabled = True sim.Show End Sub Private Sub callsreportp_Click() callsreport.Show callsreport.Data1.Refresh callsreport.DBGrid1.Refresh End Sub 60 Private Sub cmdcall_Click() On Error Resume Next sim.Data1.Refresh frmcall.Combo1.Clear sim.Data1.Recordset.MoveFirst Do Until sim.Data1.Recordset.EOF frmcall.Combo1.AddItem sim.Data1.Recordset.Fields("phone") sim.Data1.Recordset.MoveNext Loop frmMainMenu.Hide frmcall.Show End Sub Private Sub cmdcall_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) lblDisplay.Caption = "Make a call" End Sub Private Sub cmdExit_Click() Rep = MsgBox("Are you sure you want to exit?", vbYesNo, "Confirm Exit.") If Rep = vbYes Then End End If End Sub Private Sub cmdExit_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) lblDisplay.Caption = "This will Close or End this Program" End Sub 61 Private Sub cmdline_Click() On Error Resume Next sim.Data1.Refresh sim.Combo2.Clear sim.Data1.Recordset.MoveFirst Do Until sim.Data1.Recordset.EOF sim.Combo2.AddItem sim.Data1.Recordset.Fields("phone") sim.Data1.Recordset.MoveNext Loop sim.Command1.Enabled = False sim.Command2.Enabled = True sim.Command3.Enabled = True sim.Show End Sub Private Sub cmdline_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) lblDisplay.Caption = "Block a Line" End Sub Private Sub cmdsim_Click() On Error Resume Next sim.Data1.Refresh sim.Combo2.Clear sim.Data1.Recordset.MoveFirst Do Until sim.Data1.Recordset.EOF sim.Combo2.AddItem sim.Data1.Recordset.Fields("phone") sim.Data1.Recordset.MoveNext Loop sim.Command1.Enabled = True sim.Command2.Enabled = False 62 sim.Command3.Enabled = False sim.Show End Sub Private Sub cmdsim_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) lblDisplay.Caption = "Activate a Simpack" End Sub Private Sub cmdSubsriber_Click() On Error Resume Next sim.Data1.Refresh frmMainMenu.Combo1.Clear sim.Data1.Recordset.MoveFirst Do Until sim.Data1.Recordset.EOF frmMainMenu.Combo1.AddItem sim.Data1.Recordset.Fields("phone") sim.Data1.Recordset.MoveNext Loop frmMainMenu.Frame3.Visible = True Text3.Text = "" End Sub Private Sub cmdSubsriber_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) lblDisplay.Caption = "Log onto the network" End Sub Private Sub Combo1_Click() sim.Data1.Refresh sim.Data1.Recordset.MoveFirst Do Until sim.Data1.Recordset.EOF 63 If frmMainMenu.Combo1.Text = sim.Data1.Recordset.Fields("phone") Then frmMainMenu.Text3.Text = sim.Data1.Recordset.Fields("user") Exit Do Else sim.Data1.Recordset.MoveNext End If Loop End Sub Private Sub Command8_Click() frmMainMenu.Frame3.Visible = False End Sub Private Sub developer_Click() Dim de As String de = MsgBox("Copywrite :Oguanuo Chisom Pamela ", vbInformation, "Developer") End Sub Private Sub exit_Click() End End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) lblDisplay.Caption = "" End Sub Private Sub PictureSecurity_Click() End Sub Private Sub makecallp_Click() 64 On Error Resume Next sim.Data1.Refresh frmcall.Combo1.Clear sim.Data1.Recordset.MoveFirst Do Until sim.Data1.Recordset.EOF frmcall.Combo1.AddItem sim.Data1.Recordset.Fields("phone") sim.Data1.Recordset.MoveNext Loop frmMainMenu.Hide frmcall.Show End Sub Private Sub simpack_Click() On Error Resume Next sim.Data1.Refresh sim.Combo2.Clear sim.Data1.Recordset.MoveFirst Do Until sim.Data1.Recordset.EOF sim.Combo2.AddItem sim.Data1.Recordset.Fields("phone") sim.Data1.Recordset.MoveNext Loop sim.Command1.Enabled = True sim.Command2.Enabled = False sim.Command3.Enabled = False sim.Show End Sub Private Sub subscribersp_Click() On Error Resume Next sim.Data1.Refresh frmMainMenu.Combo1.Clear 65 sim.Data1.Recordset.MoveFirst Do Until sim.Data1.Recordset.EOF frmMainMenu.Combo1.AddItem sim.Data1.Recordset.Fields("phone") sim.Data1.Recordset.MoveNext Loop frmMainMenu.Frame3.Visible = True Text3.Text = "" End Sub Private Sub user_Click() Dim k, usname As String k = "User Name : " + Text3.Text + " -- Phone Number : " + Combo1.Text usname = MsgBox(k, vbInformation, "User Information") End Sub 66 APPENDIX 9 PROGRAM SOURCE CODE OF CALL PAGE Private Sub Cmdial_Click(Index As Integer) Text1.Text = Text1.Text + Cmdial(Index).Caption End Sub Private Sub Combo1_Click() Text1.Text = Combo1.Text End Sub Private Sub Command1_Click() On Error Resume Next Dim found As Boolean Animation1.Open "C:\gsm\Search.avi" Animation1.Play Label2.Caption = "Dialing....." 'frmMainMenu.Text3.Text = "Call 1" Label6.Caption = 0 found = False sim.Data1.Refresh sim.Data1.Recordset.MoveFirst Do Until sim.Data1.Recordset.EOF If frmcall.Text1.Text = sim.Data1.Recordset.Fields("phone") Then frmcall.Label3.Caption = sim.Data1.Recordset.Fields("user") found = True If sim.Data1.Recordset.Fields("remark") <> "Activate" Then GoTo 300 Exit Do Else sim.Data1.Recordset.MoveNext 67 End If Loop If found = True Then frmcall.Timer1.Enabled = True Else frmcall.Timer2.Enabled = True End If GoTo 400 300 ms = MsgBox("The number you called is not available at the moment. Please try again later.", vbInformation, "Error in Connection") 400 End Sub Private Sub Command2_Click() On Error Resume Next Animation1.Stop Label2.Caption = "Call Ended" Timer1.Enabled = False Timer2.Enabled = False End Sub Private Sub Command3_Click() 'Frame1.Visible = False 'Frame2.Visible = False Label2.Caption = "-" frmcall.Hide frmMainMenu.Show End Sub Private Sub Command4_Click() Text1.Text = Left$(Text1.Text, Len(Text1.Text) - 1) 68 End Sub Private Sub Command5_Click() On Error Resume Next Timer3.Enabled = True Label2.Caption = "Connected....." frmMainMenu.Data1.Recordset.AddNew frmMainMenu.Data1.Recordset.Fields("phone") = frmMainMenu.Combo1.Text frmMainMenu.Data1.Recordset.Fields("caller") = frmcall.Text2.Text frmMainMenu.Data1.Recordset.Fields("date") = Date frmMainMenu.Data1.Recordset.Fields("time") = Time frmMainMenu.Data1.Recordset.Fields("Status") = "On" frmMainMenu.Data1.Recordset.Fields("receiver") = frmcall.Label3.Caption frmMainMenu.Data1.Recordset.Fields("phone2") = frmcall.Text1.Text frmMainMenu.Data1.Recordset.Update Command5.Enabled = False Timer4.Enabled = False 'MediaPlayer1.Stop End Sub Private Sub Command6_Click() On Error Resume Next Timer3.Enabled = False Label2.Caption = "Call Terminated" Animation1.Stop Animation2.Stop frmMainMenu.Data1.Recordset.MoveFirst Do Until frmMainMenu.Data1.Recordset.EOF 69 If (frmMainMenu.Data1.Recordset.Fields("phone") = frmMainMenu.Combo1.Text) And (frmMainMenu.Data1.Recordset.Fields("Status") = "On") Then frmMainMenu.Data1.Recordset.Edit frmMainMenu.Data1.Recordset.Fields("Status") = "Off" frmMainMenu.Data1.Recordset.Update End If frmMainMenu.Data1.Recordset.MoveNext Loop End Sub Private Sub Command7_Click() On Error Resume Next Frame2.Visible = False Label2.Caption = "Call Ended" Timer3.Enabled = False Animation1.Stop Animation2.Stop frmMainMenu.Data1.Recordset.MoveFirst Do Until frmMainMenu.Data1.Recordset.EOF If (frmMainMenu.Data1.Recordset.Fields("phone") = frmMainMenu.Combo1.Text) And (frmMainMenu.Data1.Recordset.Fields("Status") = "On") Then frmMainMenu.Data1.Recordset.Edit frmMainMenu.Data1.Recordset.Fields("Status") = "Off" frmMainMenu.Data1.Recordset.Fields("duration") = Val(Label6.Caption) frmMainMenu.Data1.Recordset.Update End If frmMainMenu.Data1.Recordset.MoveNext Loop End Sub 70 Private Sub Timer1_Timer() On Error Resume Next Label2.Caption = "Ringing ...." Animation1.Open "C:\gsm\Findcomp.avi" Animation1.Play Timer1.Enabled = False Timer4.Enabled = True Timer2.Enabled = False Frame2.Visible = True Animation2.Open "C:\gsm\Findcomp.avi" Animation2.Play frmcall.Text2.Text = frmMainMenu.Text3.Text Command5.Enabled = True End Sub Private Sub Timer2_Timer() Label2.Caption = "The number you dial is not available" Timer1.Enabled = False Timer2.Enabled = False End Sub Private Sub Timer3_Timer() Dim mi As Integer Label6.Caption = Val(Label6.Caption) + 1 Text3.Text = Time End Sub Private Sub Timer4_Timer() On Error Resume Next Animation1.Stop Timer1.Enabled = False 71 Timer4.Enabled = False Timer2.Enabled = False Frame2.Visible = False Animation2.Open "C:\gsm\Findcomp.avi" Animation2.Stop ' MediaPlayer1.Stop Label2.Caption = "Call Ended" End Sub 72 APPENDIX 10 PROGRAM SOURCE CODE OF SIMPACK PAGE Private Sub Combo2_Click() sim.Data1.Refresh sim.Data1.Recordset.MoveFirst Do Until sim.Data1.Recordset.EOF If sim.Combo2.Text = sim.Data1.Recordset.Fields("phone") Then sim.Text1.Text = sim.Data1.Recordset.Fields("phone") sim.Text2.Text = sim.Data1.Recordset.Fields("user") sim.Combo1.Text = sim.Data1.Recordset.Fields("network") sim.Combo3.Text = sim.Data1.Recordset.Fields("remark") Exit Do Else sim.Data1.Recordset.MoveNext End If Loop End Sub Private Sub Command1_Click() Dim t As String If (sim.Text1.Text = "") Or (sim.Text2.Text = "") Then t = MsgBox("Wrong Coding. Re - Enter the Phone Details", vbOKOnly, "Invalid!!!") Else sim.Data1.Recordset.AddNew sim.Data1.Recordset.Fields("phone") = sim.Text1.Text sim.Data1.Recordset.Fields("user") = sim.Text2.Text sim.Data1.Recordset.Fields("network") = sim.Combo1.Text sim.Data1.Recordset.Fields("remark") = sim.Combo3.Text 73 sim.Data1.Recordset.Update sim.Text1.Text = "" sim.Text2.Text = "" sim.Data1.Refresh sim.Combo2.Clear sim.Data1.Recordset.MoveFirst Do Until sim.Data1.Recordset.EOF sim.Combo2.AddItem sim.Data1.Recordset.Fields("phone") sim.Data1.Recordset.MoveNext Loop sim.Text1.SetFocus End If End Sub Private Sub Command2_Click() sim.Data1.Refresh sim.Data1.Recordset.MoveFirst Do Until sim.Data1.Recordset.EOF If sim.Combo2.Text = sim.Data1.Recordset.Fields("phone") Then sim.Data1.Recordset.Delete sim.Text1.Text = "" sim.Text2.Text = "" sim.Text1.SetFocus Exit Do Else sim.Data1.Recordset.MoveNext End If Loop sim.Data1.Refresh sim.Combo2.Clear sim.Data1.Recordset.MoveFirst 74 Do Until sim.Data1.Recordset.EOF sim.Combo2.AddItem sim.Data1.Recordset.Fields("phone") sim.Data1.Recordset.MoveNext Loop End Sub Private Sub Command3_Click() sim.Data1.Refresh sim.Data1.Recordset.MoveFirst Do Until sim.Data1.Recordset.EOF If sim.Combo2.Text = sim.Data1.Recordset.Fields("phone") Then sim.Data1.Recordset.Edit sim.Data1.Recordset.Fields("phone") = sim.Text1.Text sim.Data1.Recordset.Fields("user") = sim.Text2.Text sim.Data1.Recordset.Fields("network") = sim.Combo1.Text sim.Data1.Recordset.Fields("remark") = sim.Combo3.Text sim.Data1.Recordset.Update sim.Text1.Text = "" sim.Text2.Text = "" sim.Text1.SetFocus Exit Do Else sim.Data1.Recordset.MoveNext End If Loop sim.Data1.Refresh sim.Combo2.Clear sim.Data1.Recordset.MoveFirst Do Until sim.Data1.Recordset.EOF sim.Combo2.AddItem sim.Data1.Recordset.Fields("phone") sim.Data1.Recordset.MoveNext 75 Loop End Sub Private Sub Command4_Click() sim.Hide End Sub 76 APPENDIX 11 PROGRAM SOURCE CODE OF REPORT PAGE Private Sub Command1_Click() simsreport.PrintForm Printer.EndDoc End Sub Private Sub Command2_Click() simsreport.Hide End Sub