\select@language {english} \contentsline {section}{\numberline {1}Introduction and Motivation}{4}{section.1} \contentsline {section}{\numberline {2}Requirements}{5}{section.2} \contentsline {subsection}{\numberline {2.1}Logical and algorithmic requirements}{5}{subsection.2.1} \contentsline {subsection}{\numberline {2.2}Software requirements}{6}{subsection.2.2} \contentsline {subsection}{\numberline {2.3}Hardware requirements}{8}{subsection.2.3} \contentsline {section}{\numberline {3}Database design}{9}{section.3} \contentsline {section}{\numberline {4}Software design}{12}{section.4} \contentsline {subsection}{\numberline {4.1}Database access}{15}{subsection.4.1} \contentsline {subsection}{\numberline {4.2}Controlling the cell phones}{15}{subsection.4.2} \contentsline {subsection}{\numberline {4.3}Client and Server class}{16}{subsection.4.3} \contentsline {subsection}{\numberline {4.4}Ping class}{17}{subsection.4.4} \contentsline {subsection}{\numberline {4.5}Data logging}{18}{subsection.4.5} \contentsline {subsection}{\numberline {4.6}SSH Tunnel Class}{18}{subsection.4.6} \contentsline {subsection}{\numberline {4.7}USB Cell phone detection class}{19}{subsection.4.7} \contentsline {subsection}{\numberline {4.8}Truth table class}{19}{subsection.4.8} \contentsline {subsection}{\numberline {4.9}Init Test class}{19}{subsection.4.9} \contentsline {subsection}{\numberline {4.10}Controller class}{20}{subsection.4.10} \contentsline {section}{\numberline {5}Hardware design}{21}{section.5} \contentsline {subsection}{\numberline {5.1}BeagleBoard}{21}{subsection.5.1} \contentsline {subsection}{\numberline {5.2}Cell phones}{21}{subsection.5.2} \contentsline {subsection}{\numberline {5.3}Cables for the cell phones}{22}{subsection.5.3} \contentsline {subsection}{\numberline {5.4}Server}{22}{subsection.5.4} \contentsline {section}{\numberline {6}Communication protocol}{23}{section.6} \contentsline {subsection}{\numberline {6.1}Communication between the handler and controller}{23}{subsection.6.1} \contentsline {subsection}{\numberline {6.2}Verification of the protocol}{26}{subsection.6.2} \contentsline {section}{\numberline {7}Security and safety of the system}{28}{section.7} \contentsline {subsection}{\numberline {7.1}Encryption of the communication channels}{28}{subsection.7.1} \contentsline {subsection}{\numberline {7.2}Security on the web site}{29}{subsection.7.2} \contentsline {subsubsection}{\numberline {7.2.1}Configuring the http secure protocol https}{29}{subsubsection.7.2.1} \contentsline {subsubsection}{\numberline {7.2.2}Password protecting the web site using .htaccess}{32}{subsubsection.7.2.2} \contentsline {section}{\numberline {8}Web page}{34}{section.8} \contentsline {subsection}{\numberline {8.1}Communication between the web page and the test software}{34}{subsection.8.1} \contentsline {subsection}{\numberline {8.2}Results on the web page}{34}{subsection.8.2} \contentsline {section}{\numberline {9}Employing the test software system}{36}{section.9} \contentsline {subsection}{\numberline {9.1}Required software and libraries}{36}{subsection.9.1} \contentsline {subsubsection}{\numberline {9.1.1}Python installation}{36}{subsubsection.9.1.1} \contentsline {subsubsection}{\numberline {9.1.2}Apache Web server installation}{36}{subsubsection.9.1.2} \contentsline {subsubsection}{\numberline {9.1.3}SSH}{36}{subsubsection.9.1.3} \contentsline {subsubsection}{\numberline {9.1.4}MySQL database and MySQLdb library}{37}{subsubsection.9.1.4} \contentsline {subsubsection}{\numberline {9.1.5}Serial port library}{37}{subsubsection.9.1.5} \contentsline {subsubsection}{\numberline {9.1.6}PJSUA library}{37}{subsubsection.9.1.6} \contentsline {subsubsection}{\numberline {9.1.7}pChart library}{38}{subsubsection.9.1.7} \contentsline {subsubsection}{\numberline {9.1.8}proctitle library}{38}{subsubsection.9.1.8} \contentsline {subsection}{\numberline {9.2}Configuring hardware}{38}{subsection.9.2} \contentsline {subsubsection}{\numberline {9.2.1}Configuring the cell phones}{40}{subsubsection.9.2.1} \contentsline {subsection}{\numberline {9.3}Location of the files}{41}{subsection.9.3} \contentsline {subsection}{\numberline {9.4}Setting up the parameters}{42}{subsection.9.4} \contentsline {subsection}{\numberline {9.5}Test descriptions}{42}{subsection.9.5} \contentsline {subsubsection}{\numberline {9.5.1}Smart test}{42}{subsubsection.9.5.1} \contentsline {subsubsection}{\numberline {9.5.2}SIP test}{43}{subsubsection.9.5.2} \contentsline {subsubsection}{\numberline {9.5.3}GSM test}{43}{subsubsection.9.5.3} \contentsline {subsubsection}{\numberline {9.5.4}All test}{43}{subsubsection.9.5.4} \contentsline {subsubsection}{\numberline {9.5.5}Manual test}{43}{subsubsection.9.5.5} \contentsline {subsection}{\numberline {9.6}Result descriptions}{44}{subsection.9.6} \contentsline {subsection}{\numberline {9.7}Using the software}{45}{subsection.9.7} \contentsline {subsubsection}{\numberline {9.7.1}Web site guide}{45}{subsubsection.9.7.1} \contentsline {subsubsection}{\numberline {9.7.2}Terminal guide}{47}{subsubsection.9.7.2} \contentsline {section}{\numberline {10}Conclusion}{49}{section.10}