summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRefik Hadzialic2012-09-02 17:43:22 +0200
committerRefik Hadzialic2012-09-02 17:43:22 +0200
commit5beeb732bced79cc5d1e67af6acc8e5b69fa302e (patch)
treee388a1fea98ee7055e1fa71180cd45d7339538c6
parentImplement. (diff)
downloadmalign-5beeb732bced79cc5d1e67af6acc8e5b69fa302e.tar.gz
malign-5beeb732bced79cc5d1e67af6acc8e5b69fa302e.tar.xz
malign-5beeb732bced79cc5d1e67af6acc8e5b69fa302e.zip
Implementation chapter done
-rw-r--r--vorlagen/thesis/maindoc.pdfbin17551853 -> 17570711 bytes
-rw-r--r--vorlagen/thesis/src/kapitel_A.tex1
-rw-r--r--vorlagen/thesis/src/kapitel_x.tex93
-rw-r--r--vorlagen/thesis/src/maindoc.lof12
-rw-r--r--vorlagen/thesis/src/maindoc.lot10
-rw-r--r--vorlagen/thesis/src/maindoc.tex2
6 files changed, 102 insertions, 16 deletions
diff --git a/vorlagen/thesis/maindoc.pdf b/vorlagen/thesis/maindoc.pdf
index d146bcc..e82f2ab 100644
--- a/vorlagen/thesis/maindoc.pdf
+++ b/vorlagen/thesis/maindoc.pdf
Binary files differ
diff --git a/vorlagen/thesis/src/kapitel_A.tex b/vorlagen/thesis/src/kapitel_A.tex
index ff0352b..2f7fae9 100644
--- a/vorlagen/thesis/src/kapitel_A.tex
+++ b/vorlagen/thesis/src/kapitel_A.tex
@@ -189,6 +189,7 @@ At this point the nanoBTS and OpenBSC configuration is done.
\newpage
\subsection{Installation and configuration of GNSS assistance software}
+\label{sec:appendSoft}
To install the RRLP software that generates GNSS assistance data several
libraries are required to be installed, \textit{cURL}\footnote{It may happen that
the given download URLs are wrong and in the meantime have changed, but one
diff --git a/vorlagen/thesis/src/kapitel_x.tex b/vorlagen/thesis/src/kapitel_x.tex
index 6883955..d106ebd 100644
--- a/vorlagen/thesis/src/kapitel_x.tex
+++ b/vorlagen/thesis/src/kapitel_x.tex
@@ -1545,6 +1545,7 @@ ought to be tracked if they register \citep[Chapter 4]{0890064717}.
\newpage
\section{Logical channels and the SDCCH channel}
+\label{sec:SDCCHChan}
In this section more details will be given on logical channels and the procedure to initialize (open) an SDCCH channel (Standalone
Dedicated Control Channel). As stated in section \ref{sec:GSMNetStruct}, logical channels can be divided in two groups,
traffic channels (TCH) and signalling channels (SCH). The former are employed for transfering payload data like speech and message data
@@ -2677,7 +2678,7 @@ the RRLP protocol. The generated assistance data packets by the module were used
for comparison and a template to build author's RRLP assistance data generator. The nanoBTS
is operated by OpenBSC which is explained in the following section.
-\section{OpenBSC and its RRLP implementation}
+\section{OpenBSC and its original RRLP implementation}
OpenBSC is an open source implementation of a GSM network software by Osmocom.
It was developed for experimentation and security research of the GSM networks \citep{obsc1}.
OpenBSC is ``implementing the minimal necessary parts to build a small,
@@ -2744,7 +2745,11 @@ Although almanac data can be in RINEX form as well, the almanac data
found online were in the Yuma format. The read files with assistance
data had to be first properly parsed and then converted into the format
specified in the standard by ETSI TS 144 031 \citep{ETSITS144031}.
-Once they were successfully parsed and converted, they had to be verified
+The data included in the ephemeris file contained also UTC model,
+and the ionospheric model. Other operational data were included in the
+configuration file like the reference location data, more details
+can be found in the software appendix configuration section \ref{sec:appendSoft}.
+Once all data have been successfully parsed and converted, they had to be verified
to be in the specified range as in the standard. Afterwards the converted
and verified assistance data were combined into binary series of data
according to the RRLP standard as described in chapter \ref{rrlpChapt}.
@@ -2780,9 +2785,87 @@ respond OpenBSC' real-time functionality might be lost and the system will
malfunction. Since the text file is small and accessed only when an RRLP
request is queued, it is faster than initializing the database driver,
opening a socket connection to the database, making request queries to the
-database, obtaining the result and closing the socket connection.
-
-\section{Creating data channel in OpenBSC}
+database, obtaining the result and closing the socket connection. At this step
+the assistance data are ready to be opened by OpenBSC and sent to the MS.
+
+\section{Creating a data channel in OpenBSC}
+To avoid the watchdog time out triggered by OpenBSC when the RRLP
+requests have been sent originally the solution was to open a data
+channel. The original idea was to open a data channel with a silent
+SMS and then to send the RRLP request. The opening of a data channel
+(SDCCH) and what is on going in OpenBSC can be split up into 4
+stages: adding a Virtual Teletype (VTY) interface to execute an
+RRLP request, open a physical data channel between the BTS and MS,
+opening the text file with assistance data and sending the data as
+well as parsing the RRLP packets, waiting for the response back and
+disconnecting. This will be explained in an sequential order of
+execution.
+
+The GSM network operator can connect to the VTY interface of OpenBSC
+using Telnet on port 4242 to issue commands and administer the GSM
+network. In order to send RRLP requests from the VTY command interface,
+RRLP execution command had to be integrated. Function that integrates
+that command is named \textbf{\texttt{subscriber\_silent\_rrlp\_start()}}
+and is in the file \textit{vty\_interface\_layer3.c}. Once the operator
+executes on of the four implemented commands: RRLP request, RRLP request
+with almanac data, RRLP request with ephemeris and other assistance data
+or to end the execution of the RRLP request. For the first three commands,
+the next executed function is \textbf{\texttt{gsm\_rrlp\_operation\_start()}} in
+the file \textit{silent\_call.c}. Any of the three commands will iniate
+the opening of an SDCCH channel (what in \textbf{\texttt{gsm\_rrlp\_operation\_start()}}
+function takes place was already explained in \ref{sec:SDCCHChan}). In the case,
+when the GSM operator can not wait for the RRLP request answer or wants
+to stop the execution of the RRLP request, he can issue a command in the VTY
+interface to stop it, which will execute \textbf{\texttt{gsm\_rrlp\_operation\_stop()}}
+in the file \textit{silent\_call.c}. If the channel was successfully opened
+the function \textbf{\texttt{send\_rrlp\_req()}} will be executed that is responsible
+for opening the text file with assistance data, copying the assistance data
+into the RRLP data structure and transmitting it to the MS. The data structure
+is shown in \ref{lst:rrlpDatastructure}. The structure contains the length
+of the data packets, \textit{lengthOfPacket} as well as the content
+of the packets, \textit{packetContent} which never exceeds more than 211 bytes.
+\begin{lstlisting}[label=lst:rrlpDatastructure,
+caption={\textbf{Data structure containing the RRLP assistance data.}},
+backgroundcolor=\color{light-gray},
+basicstyle=\scriptsize\ttfamily,
+escapechar=@,
+emph={int, uint8_u, struct},
+emphstyle={\color{ljubicasta}\bfseries},
+emph={[2]int,lengthOfPacket,packetContent},
+emphstyle={[2]\color{blue}},
+emph={[3]gsm48_send_rr_app_info},
+emphstyle={[3]\color{zelena}\bfseries}]
+struct rrlpPacket {
+ int lengthOfPacket;
+ uint8_u packetContent[211];
+}
+\end{lstlisting}
+After the RRLP assistance data have been successfully loaded into the RRLP data structure,
+they are transmitted to the MS. In listing \ref{lst:sendingData} the function required
+to send assistance data is shown. The first arguments passed to the function provides
+the pointer to the opened SDCCH data channel connection. It is followed by the Application
+Protocol Data Unit identifier set to \texttt{0x00}. The third argument is the size of
+the transmitted packet. The last passed argument to the function is the starting address
+of the location where the packet content is located. Since there is more than one
+RRLP assistance packet to be transmitted, this function gets executed a few
+times in a loop defined by the packet counter variable \textit{packNum}.
+The responses sent back by the MS are obtained by the BTS and stored in the
+HLR database table \textit{ApduBlobs} in PER notation. A small utility was
+programmed to connect to the database, display the acquired data and
+the decoded position if it is contained in the RRLP response.
+\begin{lstlisting}[label=lst:sendingData,
+caption={\textbf{Function required to transmit assistance data.}},
+backgroundcolor=\color{light-gray},
+basicstyle=\scriptsize\ttfamily,
+escapechar=@,
+emph={int},
+emphstyle={\color{ljubicasta}\bfseries},
+emph={[2]int,lengthOfPacket,packetContent},
+emphstyle={[2]\color{blue}},
+emph={[3]gsm48_send_rr_app_info},
+emphstyle={[3]\color{tamnozelena}\bfseries}]
+int response = gsm48_send_rr_app_info(conn, 0x00, AlmanacPackets[packNum].lengthOfPacket, AlmanacPacket[packNum].packetContent)
+\end{lstlisting}
%Author's test system operated on the ARFCN 877 channel. ARFCN (Absolute Radio
diff --git a/vorlagen/thesis/src/maindoc.lof b/vorlagen/thesis/src/maindoc.lof
index 3217351..db112c9 100644
--- a/vorlagen/thesis/src/maindoc.lof
+++ b/vorlagen/thesis/src/maindoc.lof
@@ -38,11 +38,11 @@
\addvspace {10\p@ }
\contentsline {figure}{\numberline {5.1}{\ignorespaces Flowchart for the RRLP assistance data generators\relax }}{71}{figure.caption.46}
\addvspace {10\p@ }
-\contentsline {figure}{\numberline {6.1}{\ignorespaces nanoBTS with its plastic cover. Image courtesy of ip.access ltd\relax }}{74}{figure.caption.49}
-\contentsline {figure}{\numberline {6.2}{\ignorespaces nanoBTS with two external antennas and five connection ports\relax }}{75}{figure.caption.51}
-\contentsline {figure}{\numberline {6.3}{\ignorespaces Navilock NL-402U, opened up with the antenna and USB cable\relax }}{76}{figure.caption.53}
-\contentsline {figure}{\numberline {6.4}{\ignorespaces Cable connections, showing interconnection diagram\relax }}{77}{figure.caption.54}
+\contentsline {figure}{\numberline {6.1}{\ignorespaces nanoBTS with its plastic cover. Image courtesy of ip.access ltd\relax }}{76}{figure.caption.49}
+\contentsline {figure}{\numberline {6.2}{\ignorespaces nanoBTS with two external antennas and five connection ports\relax }}{77}{figure.caption.51}
+\contentsline {figure}{\numberline {6.3}{\ignorespaces Navilock NL-402U, opened up with the antenna and USB cable\relax }}{78}{figure.caption.53}
+\contentsline {figure}{\numberline {6.4}{\ignorespaces Cable connections, showing interconnection diagram\relax }}{79}{figure.caption.54}
\addvspace {10\p@ }
-\contentsline {figure}{\numberline {7.1}{\ignorespaces Test rooms as well as the results delivered by the smart phones.\relax }}{81}{figure.caption.56}
-\contentsline {figure}{\numberline {7.2}{\ignorespaces Test room 2 with the positions of the smart phones\relax }}{82}{figure.caption.57}
+\contentsline {figure}{\numberline {7.1}{\ignorespaces Test rooms as well as the results delivered by the smart phones.\relax }}{83}{figure.caption.56}
+\contentsline {figure}{\numberline {7.2}{\ignorespaces Test room 2 with the positions of the smart phones\relax }}{84}{figure.caption.57}
\addvspace {10\p@ }
diff --git a/vorlagen/thesis/src/maindoc.lot b/vorlagen/thesis/src/maindoc.lot
index 8ed2a11..8f30099 100644
--- a/vorlagen/thesis/src/maindoc.lot
+++ b/vorlagen/thesis/src/maindoc.lot
@@ -14,10 +14,10 @@
\contentsline {table}{\numberline {4.5}{\ignorespaces Requested AGPS assistance data bit meaning\relax }}{65}{table.caption.45}
\addvspace {10\p@ }
\addvspace {10\p@ }
-\contentsline {table}{\numberline {6.1}{\ignorespaces Indicator LED status on the nanoBTS\relax }}{78}{table.caption.52}
+\contentsline {table}{\numberline {6.1}{\ignorespaces Indicator LED status on the nanoBTS\relax }}{80}{table.caption.52}
\addvspace {10\p@ }
-\contentsline {table}{\numberline {7.1}{\ignorespaces Smart phone models used for testing in the thesis.\relax }}{80}{table.caption.55}
-\contentsline {table}{\numberline {7.2}{\ignorespaces Smart phone RRLP test results\relax }}{84}{table.caption.58}
+\contentsline {table}{\numberline {7.1}{\ignorespaces Smart phone models used for testing in the thesis.\relax }}{82}{table.caption.55}
+\contentsline {table}{\numberline {7.2}{\ignorespaces Smart phone RRLP test results\relax }}{86}{table.caption.58}
\addvspace {10\p@ }
-\contentsline {table}{\numberline {A.3.1}{\ignorespaces Example uncertainties (latitude and longitude) for various integer values of $K$\relax }}{99}{table.caption.64}
-\contentsline {table}{\numberline {A.3.2}{\ignorespaces Example uncertainties (altitude) for various integer values of $K$\relax }}{100}{table.caption.65}
+\contentsline {table}{\numberline {A.3.1}{\ignorespaces Example uncertainties (latitude and longitude) for various integer values of $K$\relax }}{101}{table.caption.64}
+\contentsline {table}{\numberline {A.3.2}{\ignorespaces Example uncertainties (altitude) for various integer values of $K$\relax }}{102}{table.caption.65}
diff --git a/vorlagen/thesis/src/maindoc.tex b/vorlagen/thesis/src/maindoc.tex
index 53ef4d3..3c40f23 100644
--- a/vorlagen/thesis/src/maindoc.tex
+++ b/vorlagen/thesis/src/maindoc.tex
@@ -48,8 +48,10 @@
\definecolor{plava}{RGB}{51, 102, 153}
\definecolor{crvena}{RGB}{255,174,174}
\definecolor{zelena}{RGB}{176,229,124}
+\definecolor{tamnozelena}{RGB}{65, 146, 75}
\definecolor{zuta}{RGB}{255,236,148}
\definecolor{narandzasta}{RGB}{255,102,0}
+\definecolor{ljubicasta}{RGB}{140, 72, 159}