Diploma Thesis Is My Own Work, Based on My Knowledge and Skills
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSITY OF ŽILINA FACULTY OF MANAGEMENT SCIENCE AND INFORMATICS DIPLOMA THESIS Study programme: Information Systems Martin POHANENÍK CERN-THESIS-2013-073 17/06/2013 Design and implementation of a system to interconnect VoIP services and CERN’s telephony networks Supervisor: Rodrigo Sierra Moral Tutor: Ing. Pavel Sege PhD. Registration number: 117/2012 April 2013 GENEVA, 2013 Declaration I hereby declare that this Diploma thesis is my own work, based on my knowledge and skills. This thesis was written under guidance of my supervisor, Mr. Rodrigo Sierra Moral and my tutor, Ing. Pavel Sege PhD. I thank them for their advices and support throughout working on the project. ......................................... GENEVA, 19th April 2013 Martin Pohaneník ABSTRACT POHANENÍK, Martin: Design and implementation of a system to interconnect VoIP services and CERN’s telephony network [diploma thesis] – University of Žilina. Faculty of Management Science and Informatics; Department of InfoComm Networks. – Supervisor: Rodrigo Sierra Moral, Tutor: Ing. Pavel Sege, PhD. – Qualification level: Master in study program Information Systems, field Information-communication networks. Žilina: FRI ŽU in Žilina, 2013. – 73 pages. The purpose of this diploma thesis was to design and implement a system that would provide an interface of CERN’s telephony network for Voice over IP services (SIP-based services specifically). This system thus serves as an entry point for calls originating from outside of CERN’s telephony network and enables users of these services to call CERN’s fixed and mobile phone numbers. The theoretical part of the thesis talks in detail about the project specification and describes the goals that were trying to be achieved. It also describes the topic of VoIP telephony and current trends, alongside with analysis of the current telephone network of CERN. The practical part is targeted to explain the design of the solution and deployment of the system at CERN. The final part of the thesis shows testing scenarios and results and states several extension capabilities. Key words: Voice over IP (VoIP). Session Initiation Protocol (SIP). CERN. SIP proxy. Media server. Open source. 1 Introduction ......................................................................................................... 1 2 VoIP telephony .................................................................................................... 2 2.1 VoIP in corporate environment .................................................................... 3 2.2 Commonly used VoIP protocol - SIP........................................................... 4 2.2.1 Types of SIP servers ................................................................................. 5 2.3 Description of CERN’s telephony network ................................................. 6 2.3.1 Numbering scheme and services .............................................................. 8 3 The scope of the project ...................................................................................... 8 3.1 Usage cases .................................................................................................. 9 3.1.1 Unauthorized calls .................................................................................. 10 3.1.2 Authorized calls ...................................................................................... 10 3.1.3 Explicitly forbidden calls ....................................................................... 11 3.1.4 Emergency calls ...................................................................................... 11 3.2 Users ........................................................................................................... 11 3.2.1 CERN users ............................................................................................ 11 3.2.2 Non-CERN users .................................................................................... 12 4 Project analysis .................................................................................................. 12 4.1 Logical topology ........................................................................................ 12 4.2 Physical topology ....................................................................................... 13 4.3 Desired call flow ........................................................................................ 14 4.4 Elements of the system ............................................................................... 16 4.4.1 SIP proxy server ..................................................................................... 16 4.4.2 Media server ........................................................................................... 17 4.4.3 Database connectivity software .............................................................. 17 4.4.4 Computer clustering software ................................................................. 18 4.4.5 Monitoring software ............................................................................... 19 4.4.6 Administrator script ................................................................................ 19 4.5 Software selection ...................................................................................... 20 4.5.1 Proxy server ............................................................................................ 22 4.5.2 Media server ........................................................................................... 25 4.5.3 Other elements ........................................................................................ 26 4.6 Summary of used technologies .................................................................. 27 5 Configuration and deployment .......................................................................... 28 5.1 DNS configuration ..................................................................................... 28 5.2 Server preparation ...................................................................................... 28 5.3 Database connectivity ................................................................................ 30 5.3.1 UnixODBC configuration ...................................................................... 30 5.3.2 Database schema .................................................................................... 32 5.4 Kamailio installation .................................................................................. 32 5.4.1 Kamailio installation from GIT .............................................................. 33 5.4.2 Kamailio installation from RPMs ........................................................... 34 5.5 Kamailio configuration .............................................................................. 34 5.5.1 Core parameters configuration ............................................................... 36 5.5.2 UnixODBC module configuration ......................................................... 37 5.5.3 Load balancing configuration ................................................................. 37 5.5.4 Dialog module configuration .................................................................. 40 5.5.5 TLS module configuration ..................................................................... 41 5.5.6 SNMP module configuration .................................................................. 41 5.5.7 Permissions module configuration ......................................................... 42 5.5.8 Attack protection configuration .............................................................. 45 5.5.9 LDAP configuration ............................................................................... 47 5.5.10 Configuration of miscellaneous parameters ........................................... 48 5.6 FreeSwitch installation ............................................................................... 50 5.6.1 FreeSwitch installation from GIT ........................................................... 50 5.6.2 FreeSwitch installation from RPMs ....................................................... 51 5.7 FreeSwitch configuration ........................................................................... 52 5.7.1 FreeSwitch Lua scripts ........................................................................... 56 5.8 Clustering software .................................................................................... 58 5.8.1 Cluster configuration .............................................................................. 59 5.8.2 Cluster information base configuration .................................................. 60 5.9 Firewall ...................................................................................................... 64 5.9.1 Traffic characteristics ............................................................................. 64 5.9.2 Configuration .......................................................................................... 65 5.10 Complete installation procedure ................................................................ 66 5.11 Client side requirements ............................................................................. 68 6 Testing ............................................................................................................... 68 6.1 Calls............................................................................................................ 68 6.2 IP address banning ....................................................................................