\documentclass[a4paper, titlepage, oneside, headsepline, footsepline]{scrartcl} %PACKAGES %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \usepackage[english]{babel} %what language are we using \usepackage[latin2]{inputenc} %what alphabet \usepackage[tt]{titlepic} %used for adding the title image \usepackage{graphicx} %used for adding images \usepackage{url} %used for the url in bibliography \usepackage{lastpage} %give me the total number of pages, used in footer: \pageref{LastPage} \usepackage[T1]{fontenc} %used for fonts \usepackage{scrpage2} %used for making headers, footers and correct margins \usepackage{color} %used for highlighting source code \usepackage{listings} %used to make a box with source code \usepackage{fancyvrb} \DefineVerbatimEnvironment{code}{Verbatim}{fontsize=\small} \DefineVerbatimEnvironment{example}{Verbatim}{fontsize=\small} %%%%%%%%%%%%%%%%%%%%%%%%%%%%% %DEFINE LOOK OF THE PAGES %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pagestyle{scrheadings} \renewenvironment{abstract} {\begin{center}\large\textbf{}\noindent\end{center}}{\vspace{2\baselineskip}} % Disable single lines at the start of a paragraph (Schusterjungen) \clubpenalty = 10000 % Disable single lines at the end of a paragraph (Hurenkinder) \widowpenalty = 10000 \displaywidowpenalty = 10000 \setlength{\parskip}{0.01\baselineskip} \textheight = 620pt \ohead{\titleOfProject} %make the header %%%%%%%%%%%%%%%%%%%%%%%%%%%%% %DEFINE THE STUFF FOR CODE %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \lstset{ % language=Python, % choose the language of the code columns=fullflexible, keywordstyle=\color[rgb]{0.608,0.561,0.008}, commentstyle=\color[rgb]{0.25,0.5,0.35}, stringstyle=\color[rgb]{0.25,0.35,0.85}, basicstyle=\footnotesize,%\scriptsize % the size of the fonts that are used for the code numbers=left, % where to put the line-numbers numberstyle=\footnotesize, % the size of the fonts that are used for the line-numbers stepnumber=1, % the step between two line-numbers. If it is 1 each line will be numbered numbersep=8pt, % how far the line-numbers are from the code backgroundcolor=\color{white}, % choose the background color. You must add \usepackage{color} showspaces=false, % show spaces adding particular underscores showstringspaces=false, % underline spaces within strings showtabs=false, % show tabs within strings adding particular underscores frame=single, % adds a frame around the code tabsize=2, % sets default tabsize to 2 spaces captionpos=b, % sets the caption-position to bottom breaklines=true, % sets automatic line breaking breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace escapeinside={\%}{)} % if you want to add a comment within your code } %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\titleOfProject}{Software for self-testing of the Telecommunication network of University of Freiburg} %begin of the document %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document} %make the title page %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \titlepic{\includegraphics[width=70mm]{uniLogo1.jpg}} \title{Team project \\ ``\titleOfProject''} % type title between braces \date{\today} % type date between braces \author{Arda Akcay\\ Tri Atmoko\\ Refik Had\v{z}iali\'{c} } % type author(s) between braces \department{\vspace{1\baselineskip} \large Albert-Ludwigs-Universit\"{a}t Freiburg \\ Lehrstuhl f\"{u}r Komunikationsysteme\\ Prof. Dr. Gerhard Schneider\\ \vspace{1\baselineskip} Supervisors: \\ Konrad Meier \\ Denis Wehrle \\ \vspace{1\baselineskip} Sommersemester 2011} \maketitle %%%%%%%%%%%%%%%%%%%%%%%%%%%%% %add the table of contents \tableofcontents %new page to start with \newpage % first chapter \section{Introduction and Motivation} % chapter 1 \Large In the following report, the authors will try to give you a brief insight into our team project. The goal of our project was to develop a mechanism for automatic testing of our University Telecommunication network. The Telecommunication network of University of Freiburg consists of: our own internal GSM and telephone network systems; GSM redirecting device (if one initiates a call to one of the four external GSM networks, it redirects the calls to: T-mobile, 02, Vodaphone or E-Plus); a SIP gateway for landline calls inside of Germany (sipgate.de) and international calls. Since we did not have access to internal servers, our strategy was to exploit the existing systems and infer the results out of our findings. Before we had started working on our project, we had to analyze the overall network to come up with test cases that contain the highest information content. The next step in our procedure was to implement our ideas into a working piece of software. Gradually we implemented a bit-by-bit of the final software. Every single step was accompanied by testing and validation procedures. At the end we connected all the ``black-boxes'' into one big piece of software. We have fulfilled our requests and goals and made a fully working and operable test software. Despite developing a working software, all the way along we thought about the simplicity of the usage of the software. In the following chapters we will describe in more detail our approach and how each subsystem works. \newpage \section{Software concept} % chapter 2 \newpage \section{Introduction} % section 2.1 \subsection{Usage} % subsection 2.1.1 \newpage \section{Design} \newpage \section{Protocol} \begin{figure}[hb!] \centering \includegraphics[width=130mm]{protocolCommunicationHandler.png} \caption[]{Flowchart of the protocol, on the handler side} \end{figure} \begin{figure}[hb!] \centering \includegraphics[width=130mm]{protocolCommunicationcControllerReceiver.png} \caption[]{Flowchart of the protocol, on the controller side for the caller} \end{figure} \begin{figure}[hb!] \centering \includegraphics[width=130mm]{protocolCommunicationcControllerCaller.png} \caption[]{Flowchart of the protocol, on the controller side for the receiver} \end{figure} %\newpage \section{Encryption of data} \begin{lstlisting} import subprocess import string class Ping: def __init__(self, pingAddress): self.pingAddress = pingAddress def ping(self,numberTries): tried = 1 while numberTries >= tried: tried += 1 #the parameter c 1 means only one ping to be sent, parameter W 3 means how many seconds the time out should be, 3 seconds ping_cmd = subprocess.Popen(['ping', self.pingAddress, '-c', '1', '-W', '2'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT).communicate()[0] b pingAlive = int(string.find(ping_cmd, '1 received')) unknownHost = int(string.find(ping_cmd, 'unknown host')) \end{lstlisting} \newpage \section{Web page} \begin{figure}[hb!] \centering \includegraphics[width=100mm]{resultsImage.png} \caption[]{Result image showing working, defected and not tested subsystems} \end{figure} \newpage \section{Conclusion} \newpage %bibliography start \begin{thebibliography}{9} \bibitem{site1} H. Simpson, \emph{Proof of the Riemann Hypothesis}, preprint (2003), available at \url{http://www.math.drofnats.edu/riemann.ps}. %bibliography end \end{thebibliography} %end of the document \end{document}