Download CHAPTER ONE

Document related concepts

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Net bias wikipedia , lookup

IEEE 1355 wikipedia , lookup

Computer network wikipedia , lookup

TCP congestion control wikipedia , lookup

Network tap wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Airborne Networking wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

Subscriber identity module wikipedia , lookup

Transcript
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