I need helping in Gsm networking code there
I attached the project statement Anyone who help can also
gets a lot of benefits
If anyone wants a deal then i m also ready
so plz help me
Introduction:
The objective of this project is to build simulation of a GSM based
cellular network in MFC/C++ by applying OOP concepts learned in this
course.
Mobile Communication:
A cellular network is a radio network made up of a number of radio
cells (coverage area) each served by a fixed transmitter, known as a
cell site or base station. These cells are used to cover different
areas in order to provide radio coverage over a wider area than the
area of one cell [1]. The mobile or cell phone network is an example
of a cellular network. The mobile phone communicates with the cell
site (Base Station) via radio waves. Each base station has a limited
coverage area in which mobile users can communicate with it. In order
to expand the coverage of cell phone network numerous base stations
are set up to cover a wide region.
A cellular phone network is shown in figure. If user 1 wants to talk
with user 2 he first connects with base station A. A has a radio link
with C and C is linked with D. Similarly user 2 is served by station
D as she is in D's coverage area.
Consider the scenario of a mobile user. User 3 is mobile and crosses
over from B's coverage area to A. In this case a handover takes place
after station B determines that user 3 is going out of its coverage
area and requests A to take over. This is also termed as roaming,
cross over or switching.
3
1
B
A
C
D
2
Figure 1: A cellular network
2
GSM:
GSM is a popular 2nd generation (2G) mobile communication standard
[2]. It operates in the 900 MHz or 1800 MHz frequency bands
corresponding to frequency of radio signals used in transmission. In
the 900 MHz band the uplink frequency (frequency at which user
signals are transmitted to base station) band is 890915 MHz, and the
downlink (frequency at which user receives signals from the base
station) frequency band is 935960 MHz. The total frequency band is
25 MHz and a single user is allocated 20 kHz band for communication.
For example, ideally a single base station can only serve a maximum
of 25Mhz20k=1250users at any given time. In such case any new users
will get a 'Network Busy' error if they try to make a call. Following
are main components of a GSM network:
1. Base Station Subsystem (BSS): Consists of a base station
transceiver (BTS) and base station controller (BSC). BTS is RF
interface and BSC controls mobile operations in a cell.
2. Network Sub System (NSS): Consists of a mobile switching center
which coordinates switching of users between different cells and has
access to a dynamic user database called visitor location register
(VLR). The network subsystem also has a home location register (HLR)
which stores permanent information of users (SIM) subscribed to a
particular mobile service. Several BSC's are connected to a single
MSC.
BSC
BTS
HLR
VLR
MSC
Users
BSS
NSS
Figure 2: Simplified GSM architecture
Requirements:
You are required to provide a simulation of GSM network.
Your program must be able to read number of base stations, their
location coordinate points and area of coverage from a file and then
draw the configuration on the screen as
3
given in Figure 1. Please note that the overlapping will be handled
by central coordinate and the coverage area. Try for different
configurations. Your projects will be tested on different files.
You are required to simulate users. The users may be created either
using Dialog Boxes or via files.
The user then can request to connect with another mobile user. You
are required to maintain a Log file at MSC which must list the
sequence of all the operations occurred while communication.
You must also provide the `mobility' of users i.e. users can
communicate while they are on the move. Provide some facility in the
user interface through which the user can be moved (e.g. via a
command button). Remember that when the user is on the move, she may
leave the coverage area of one base station and enter into coverage
area of another base station. This results in different sequence of
operations. Your log file must clearly show the change.
The respective data files are to be kept in MSC and HLR.
There must be a Report generating capability through which the
sequence of operations occurred during users' communication can be
viewed on screen.
Classes' Details:
You are required to design the following classes. You can write new
methods or include data members if you feel the need.
1. User class:
􀂄 Data members
i. User name
ii. User ID (International Mobile Equipment Identity or IMEI)
iii. Current status
iv. User location
􀂄 Methods
i. Request connection (make a call)
ii. Establish connection
iii. Disconnect from network
iv. Get location
v. Set location
2. BTS class:
4
􀂄 Data members
i. BTS location
ii. Coverage radius
𐂄 Methods
i. Is user inside coverage
3. BSC class:
􀂄 Data members
i. Users connected
ii. Roaming users in cell (users not making any calls)
iii. Bandwidth record
􀂄 Methods
i. Determine if user requires a handover
ii. Determine if there is available bandwidth
iii. Verify user identity
iv. Establish connection
v. Refuse connection
vi. Add roaming user
vii. Delete roaming user
4. BSS class:
􀂄 Data members
i. BTS
ii. BSC
iii. Cell ID
􀂄 Methods
i. Verify user identity
ii. Check connection availability
iii. Request handover
iv. Establish connection
v. Refuse connection
5. VLR/HLR class:
􀂄 Data members
i. User name
ii. User ID
iii. Current Cell (VLR only)
iv. User balance (HLR only)
􀂄 Methods
i. Search user
ii. Add user
iii. Remove user
iv. Set cell (VLR only)
5
v. Get cell (VLR only
vi. Set balance (HLR only)
vii. Get balance (HLR only)
6. MSC class:
􀂄 Data members
i. VLR
􀂄 Methods
i. Check user ID
ii. Check connection availability
iii. Establish new connection
iv. Refuse connection
v. Terminate connection
vi. Check handover requirements
vii. Ask BSC for a handover
viii. Refuse handover
7. NSS class:
􀂄 Data members
i. MSC
ii. HLR
􀂄 Methods
i. Add new user subscription
ii. Delete user subscription
iii. Check balance
iv. Update balance on call termination
Network Design:
You need to design a dummy network for your simulation run. If you
can dynamically change your network during a simulation you'll earn
extra credit. Figure 1 can be an example of one such network. Note
that you need to specify the location of your BTS's so that you will
be able to determine if a user falls in a certain BTS's coverage
area. The coverage areas can overlap and so you'll need to come up
with a suitable algorithm for handovers.
Communication Mechanics:
The BSS's continuously monitor the users roaming in their cells even
if they're not actually making a call. If some user wants to make a
call first task would be determine if it can actually connect to its
respective BSS. The BSS will determine if it has available bandwidth
for a new user. Based on it the connection can be refused or the
request handed over to the NSS. NSS will verify user authenticity and
remaining balance and give go ahead for call initiation. NSS will
update the VLR in its MSC for a new user
6
making a call. The user will occupy a certain portion of the
available bandwidth. During a call if the user goes outside the cell
a handover request will be made by the parent BSS to the MSC and MSC
will determine if another BSS can take over user (again depending
available bandwidth). If the user roams outside and no bandwidth is
available the call is dropped. The MSC's VLR will be updated and user
will be removed. Otherwise, upon a successful handover MSC will
update its VLR to reflect the new cell of the user and the concerned
BSS's will update their bandwidth usages accordingly. After the user
terminates the call the user balance is updated in HLR, the MSC
updates its VLR and the bandwidth is freed.
Program Flow:
Before simulation can actually run HLR must contain the information
of subscribed users. User information can either be read from a file
or you can use GUI based forms for input. A timer may be implemented
to synchronize the events. The users will randomly move and initiate
calls. An appropriate report should be generated for the number of
calls made, calls dropped, no. of users who used the service etc.
References:
[1] http://en.wikipedia.org/wiki/Cellular_network
[2] http://en.wikipedia.org/wiki/
Global_System_for_Mobile_Communications
7