A Rapidly Deployable Cellphone Network
Total Page:16
File Type:pdf, Size:1020Kb
Beacon - A Rapidly Deployable Cellphone Network Paul Crane a thesis submitted for the degree of Master of Science at the University of Otago, Dunedin, New Zealand. May 14, 2012 Abstract In this thesis we examine the use of rapidly deployable cellphone net- works for disaster relief efforts. Disasters are require a coordinated response from many different groups and clear communication to civilians affected by the disaster. This needs a good communication system that does not rely on existing infrastructure that is set up in a small amount of time. Our proposed system is targeted towards use by civilians without a connection to existing telecommunications systems. We have developed a method that allows users of the sys- tem to claim telephone numbers along with an automated reputation based moderation system. We undertook experiments and recorded results in the form of logs from consoles and files. These experiments show that the proposed system can be used to provide a decentralised telephony service. Proposed future work includes research into how best to provide information to civilians affected by disasters. ii Acknowledgements I would like to thank my supervisor, Dr. Mariusz Nowostawski, for his guidance and support throughout the duration of this thesis. Many thanks go to my family, friends, and fellow students who have provided support and encouragement. Especially those who helped with the proof-reading, Alan, Heidi, Lisa, Matt, Rosi, Sally, and Tony. iii Contents 1 Introduction 1 1.1 Problem Overview . .1 1.2 Dimension of Interest . .2 1.3 Thesis Outline . .2 2 Disaster Response and Recovery 4 2.1 Introduction . .4 2.2 Response to Disasters . .5 2.2.1 Case Studies . .7 2.2.2 Summary . 10 2.3 Information Sharing . 10 2.4 Conclusion . 14 3 Rapidly Deployable Networks 15 3.1 Introduction . 15 3.2 Review of the State of the Art . 16 3.2.1 Existing Solutions . 16 3.2.2 Wireless Mesh Networks . 20 3.2.3 Number Discovery . 25 3.3 Research Question . 26 4 Beacon Infrastructure 27 4.1 Components . 29 4.1.1 Hardware . 29 4.1.2 Software . 31 4.1.3 OpenBSC . 34 4.2 Experimental Setup . 35 4.2.1 GSM . 35 4.2.2 Telephony and Routing . 37 4.3 Call Routing . 39 4.4 Evaluation . 41 4.4.1 GSM Network connectivity . 41 4.4.2 Number Lookups . 46 4.5 Conclusion . 49 4.5.1 Unique Contribution . 49 4.5.2 Discussion . 49 iv 4.5.3 Future Work . 49 5 User Management 51 5.1 Overview . 51 5.2 User Verification in Literature . 51 5.3 Research Question . 53 6 Beacon User Management 55 6.1 Overview . 56 6.2 Distributed Databases . 57 6.3 Web-based Interface . 59 6.4 Phone Numbers . 60 6.4.1 Database Schema and Programmer Interface . 60 6.4.2 Call Flow for Setup . 62 6.4.3 Setup Evaluation . 62 6.4.4 Number Discovery Call Flow . 64 6.4.5 Number Discovery Evaluation . 65 6.5 User Verification . 67 6.5.1 Database Schema and Programmer Interface . 68 6.5.2 Evaluation . 69 6.6 Discussion . 72 6.6.1 Abuse . 72 6.6.2 Unique Contribution . 73 6.6.3 Future Work . 73 7 Conclusions and Future Work 76 7.1 Conclusion . 76 7.2 Unique Contribution . 78 7.3 Future Work . 79 7.3.1 Overview . 79 7.3.2 Rapidly Deployable Network . 79 7.3.3 User Management . 81 References 83 A Setup 91 A.1 MySQL . 91 A.1.1 Installation . 91 A.1.2 Configuration . 91 A.2 Asterisk . 92 A.2.1 Installation . 92 A.2.2 Configuration . 93 A.3 Boost . 93 A.4 GNU Radio . 93 A.5 OpenBTS . 94 A.5.1 libosip ............................... 94 v A.5.2 Installation . 94 A.6 Configuration . 95 A.7 Provisioning . 95 B Configuration 97 B.1 Asterisk . 97 B.1.1 extensions.conf . 97 B.1.2 sip.conf . 100 B.1.3 dundi.conf . 100 B.1.4 res mysql.conf . 101 B.1.5 extconfig.conf . 101 B.2 OpenBTS . 102 B.3 Django . 105 B.3.1 API | api/handlers.py . 105 B.3.2 Cassandra Interface | api/score.py . 107 B.3.3 Models | asterisk/models.py . 111 B.4 AGI Scripts . 114 B.4.1 JSON Parser | parse json.py . 114 B.4.2 Rating | rate.py . 115 B.5 MySQL . 116 vi List of Tables 2.1 The different agencies involved in disaster operations in Otago . .6 3.1 Acronyms used in GSM network diagrams (Mehrotra, 1997) . 18 4.1 Features not supported in the public version of OpenBTS . 33 4.2 A brief example of the data stored in the database . 37 5.1 Three ways to prove someone is who they claim to be . 51 6.1 The relationship between Column Names, and Values in Cassandra. 58 6.2 The relationship between Row Keys, Column Names, and Values in Cassandra. 58 7.1 Key differences between our work and the Serval Project . 78 7.2 Enhancements of our work over the Serval Project . 79 7.3 Proposed additional features. 80 vii List of Figures 2.1 Ushahidi Disaster Information System . 12 3.1 GSM Architecture Design . 17 3.2 A COLT . 19 3.3 Different mesh network architectures . 21 3.4 The Mesh Potato . 23 4.1 Network Architecture Design . 27 4.2 The network topology in Kretschmer, Hasse, Niephaus, Horstmann, and Jonas (2011), the Global Standard for Mobile Communications, or Groupe Sp´ecialMobile (GSM) access node with remote telephony service. 28 4.3 Beacon Logical Diagram . 29 4.4 USRP . 30 4.5 The difference between the OpenBTS and OpenBSC projects. 34 4.6 Experimental Architecture Design . 35 4.7 Uplink . 36 4.8 Screen capture showing the OpenBTS network . 37 4.9 The mesh network architecture . 40 4.10 Mobile originated call flow diagram . ..