You are on page 1of 76

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 nations
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

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

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.

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.

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.

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.

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

and other user data such as the phone book. A users 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.

CHAPTER TWO
2.0

LITERATURE REVIEW

2.1

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
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"

10

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 NIGERIAS TELECOMMUNICATION

The journey to success in Nigerias 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 Nigerians.

18

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
high-speed (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

telecommunications industry in Nigeria. Actually Nigerias 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 applicants 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 Networks POI in line with standard industry practice.
Current MTNNs 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

27

o Take record of calls and time


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

28

Fig 3.1 Organogram of the firm.


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)

29

As could be seen in the flowchart below, on receipt of a subscribers 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 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

32

Easy way of back up or duplicating data in diskettes in case of data


loss.
Better storage and faster retrieval system.

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.

33

e.

Design a system that will be very fast in detecting congestions and


put some control measures.

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

34

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.

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
Caller
Phone
Date
Time

Data Type
Text
Text
Date\time
Text

Field Size
50
11
8
15

35

Receiver
Text
Phone
Text
Table 4.4.1 GSM Interconnectivity Database

50
11

GSM numbers Database


Field Name
Data Type
Name
Text
Phone
Numeric
Network
Text
Remark
Text
Table 4.4.2 GSM numbers Database

Field Size
50
11
50
25

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

39

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
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

40

conducive environment for the computer system and personnel that will
work as the staff.
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
SIMs (Lines)
Calls
Report
Help

Select Menu options


Register the
Yes new line on the
network

New Line
No

No

Calls

Yes
Dial the number

No

Same
Network?

Yes
Connect the call to
the other network

Charge for
interconnectivity

42

Report Menu
Calls Interconnectivity
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); Programmers 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), Africas 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?_________________________

APPENDIX 2

52

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

You might also like