I VoIP Implementation Using OpenFlow Switch Hafizh Wibowo Widodo 1, Eki Ahmad Zaki Hamidi, MT2, Mufid Ridlo Effendi, MT3 1,2 Teknik Elektro Fakultas Sains dan Teknologi UIN Sunan Gunung Djati Bandung Jln. A.H Nasution no 105 1 2 [email protected], [email protected], [email protected] ABSTRACT The development of modern and sophisticated communication can help people to make a long communication. It produces the digital signal of technological process which has modular capability in IP base this integrated by voice and data communication. Voice Over Internet Protocol (VoIP) is a technology which able to operate the traffic of voice and packet data through the IP. The uses of IP is able to thrift the expense. This is because, it does need to make a new infrastructure for the voice communication. In addition, the infrastucture of VoIP still uses the conventional method, and there is a development of the infrastructure in SDN (Software Defined Network). SDN is a new technology in computer network field, and the use of SDN is able to decrease the difficulty in network setting. In implementing VoIP by switch OpenFlow, it can be built by using the application with a freeware, such as X-lite as the user agent or client, asterisk as the VoIP server, and G.711 as the codec by use the OpenvSwitch or virtual switch OpenFlow which has a function to continue the packets in VoIP service. Testing of the system is done in two parts, OpenvSwitch and VoIP. The result of OpenvSwitch test is that the flow which has been made in OpenvSwitch can be used to forward the set of VoIP service, therefore server and client be connected. VoIP testing performed need 10 times for its experiment, the result of this experiment is 10,0002421 ms, throughput 171,195 Kbps, jitter 0,424 ms, packet loss 0%. Keywords: Software Defined Network, OpenFlow, OpenvSwitch, VoIP I. Introduction The development of technology, especially information technology brings a very fundamental change for the world of telecommunications. Because the need for communication is needed everyone to do an interaction or conversation, because communication is a basic human activity. It must be admitted that man can not live without communication, because man is a social being. And in this era of globalization the use and application of increasingly sophisticated and modern communication technology that allows to communicate with people who are in a distant place. This results in the presence of digital signal processing technology that has modular capability with IP (Internet Protocol) based technology integrated between data and voice communications [1]. VoIP (Voice Over Internet Protocol) is a technology capable of passing voice, video and data traffic in the form of packets over an IP network. The use of IP networks enables cost savings because there is no need to create new infrastructure for voice communications and the use of data bandwidth (bandwidth) is smaller than the regular phone [2]. There are currently three types Different methods and most commonly used in VoIP services are ATA (Analog Telephone Adapter), IP Phones, Computer to Computer [3]. Infrastructure that exists today besides using infrastructure with convenonal methods has also developed the infrastructure-based SDN (Software Defined Network). SDN (Software Defined Network) or split architecture is a new concept that allows network operators to manage routers and switches flexibly using software running from external servers. SDN or (Software Defined Network) promises an advantage of (1) management centralization and multi-vendor network control (2) automated development and management (3) continuous innovation in network capabilities and services without having to reconfigure each device) can be deprogrammed by admin (5) increased reliability of network security, network management automatically (6) uniform network policy implementation and can anticipate in reducing errors (7) small network controls to be applied comprehensively and broad policy on user sessions app device [4]. SDN is closely associated with OpenFlow so many people assume that SDN is OpenFlow. SDN was born from the OpenFlow protocol proposed by Nick McKeown and his colleagues. OpenFlow is a communication specification between control plane and OpenFlow data plane is an open standard applied to SDN [5]. An OpenFlow switch consists of the first two types of hardware-base switches, these switches have modified hardware using a special OS to implement OpenFlow protocol and the second type is a base switch software that uses Unix or Linux systems to implement all OpenFlow functions [6 ]. Considering the flexibility of SDN (Software Defined Network) based on OpenFlow that enables it to be implemented in VoIP (Voice Over Internet Protocol) service. Based on the above exposure will be developed VoIP service using OpenFlow switch. II. Teory 2.1 VoIP (Voice Over Internet Protocol) *VoIP is an internet-based telephone service, because VoIP utilizes the Internet infrastructure so that communication with this service does not cost the phone to allow for cost savings compared to traditional telephony, as it does not need to build new infrastructure for voice communications and more data wide usage small compared to regular phones [2]. Based on the definition of VoIP is a technology capable of sending data in the form of sound, video and data in the form of packets in real-time using the Internet protocol network. Basically this technology is to convert analog sound signals and then converted into digital formats and translated into IP packets, which are then transmitted over the internet network. *And to do its job of channeling VoIP voice signals must be supported by several components such as terminal, gateway, gatekeeper, multi point control unit (MCU). Terminal is a device that is directly related to the application usage, terminal equipment used to connect VoIP there are various one of them headphone. The VoIP gateway is an interface between traditional phones and IP networks and enables interoperability of different network technologies to communicate with each other, this VoIP gateway is a computer or a router configured to connect phone calls to IP networks on the gateway of encoding and compressing calls and data packetization digital sound. Network IP is a network that uses TCP / IP as a rule in transferring data from source to destination, this IP network component is a router and transmission media, the router has the ability to choose the shortest path and best for all datagrams to the destination gateway. The datagram arriving at the router is queued in the wait process buffer and then processed and routed to the next router [1]. 2.2 VoIP Service Method In using the service on VoIP (Voice Over Internet Protocol) is divided into three types of services in general namely: 1.) IP Phone Is a telephone device owned RJ-45 port with the existence of this port then this network device can be connected with router connected in network. 2.) Analog Telephone Adapter It is a tool used to connect one or more conventional telephone services to a digital or VoIP system. 3.) Pc to Pc It is a use of a call made by using a PC to communicate like this will require some additional tools such as microphone, earphone, soundcard and softphone application in doing VoIP connection. 2.3 Codec Compression / decompression has the ability to determine the process of encode and decode. Basically the codec can be one of the sound quality factor in communicating. The selection of codecs should be tailored to the needs, eg free and open source codecs are GSM, Internet Low Bitrate Codec and G.711 while licensed codecs are G.729 and G.723. for the G.711 codec is divided into a-law and u-law. One comparison of these two codecs is that u-law is used in north america and japan, whereas a-law is used for international relations [10]. 2.4 SDN (Software Defined Network) With the state of the network began to saturate the reasons for the number of studies using SDN platform (Software Defined Network). SDN is the main approach to network virtualization, this idea comes from Stanford University [13]. SDN (Software Defined Network) is a new paradigm in the networking world that can implement some functions in the software. SDN is a completely different way to traditional networks because SDN can manage networks in a centralized form. The rapidly expanding SDN technology can implement existing network functions, aiming for efficiency and delivering reliable services [15]. 2.5 OpenFlow OpenFlow is a relatively new protocol designed and implemented at Stanford University in 2008. This protocol aims to control the Data Plane Switch that is physically separated with Control Plane using a controller on a server. Control plane can communicate with plane data through the OpenFlow protocol, the widely available and widely accepted standard for SDN is OpenFlow [4]. 2.5 OpenvSwitch The OpenFlow switch consists of two types, the first being a hardware-based switch, which has been commercially sold by several vendors. This type of switch has modified its hardware by using TCAM (Ternary Content Addressable Memory). And on the second type is a software-based switch that uses a Unix or Linux system to implement the OpenFlow switch [6]. OpenvSwitch Is a form of implementation of the OpenFlow switch that can be used either pure virtual switch in a virtual environment and as a software switch that aims to connect a separate physical node. The OpenFlow or OpenvSwitch switch is a reference developed by Standford University and then continued with Open Networking Foundation (ONF). OpenFlow switches include the basic functional components required by networking devices to support OpenFlow. OpenFlow designers find the fact that from networking devices even though their flow-tables are different from each vendor but have a common function. Networking devices are usually produced using Ternary Content Addresabble Memorry (TCAM). OpenFlow designers exploit these common functions used in forming the logical architecture of the OpenFlow switch [8]. Table 1 Implementation Support III. Research Methodology The research for this final project has several steps. The steps are prepared to support the research process to run systematically. From several stages, then arranged in the form of a diagram or flowchart as follows No Perangkat Hardware Software 1 PC Server Asus A43s Core i3 System Operation 2 PC Client 1 Ram 2 Gb Ubuntu 14.04 Soundcard External Asterisk IP PBX System Operation Headset Windows 8.1 (Trial) X-Lite Softphone 3 PC Client 2 Soundcard External Wireshark System Operation Headset Windows 8.1 (Trial) X-Lite Softphone 4 Figure 1 Research Methodology Flowchart 5 Switch OpenFlow Switch TP-Link Intel Core 2 duo 2.80 Wireshark System Operation Ghz Linux Debian 8 Ram 1 Gb OpenvSwitch Hardisk 80 Gb (Open Virtual Switch) 3 buah Network Interface Card 8 port RJ45 10/100Mbps No configuration IV. Design and Implementation 4.2 Asterisk Configuration The design used in this study is the design of VoIP server using Asterisk software with Ubuntu 16.04 as the operating system. Next to the VoIP client using X-Lite Softphone so that it can make the acceptance of calls with fellow clients who have registered on the VoIP server. And to implement VoIP service using OpenFlow switch then use OpenvSwitch as OpenFlow virtual switch with Debian 8 Linux operating system with additional network interface card (NIC) that serves as a liaison between server and client, then test analysis using wireshark software with testing parameters such as delay, jitter, packet loss and throughput. After the Asterisk installation process, some system configuration must be performed. Most Asterisk configurations are located in the directory / etc / asterisk. The SIP.conf file contains parameters related to SIP configuration for the Asterisk server, by giving the command "nano /etc/asterisk/sip.conf" which serves to create a numbering and password on the client that will be used to enable the client to communicate with other clients . 4.1 Design of Network Topology The physical topology of the network used in this system is as follows : Figure 3 Process SIP.conf configuration file Figure 2 VoIP Network Topology Using OpenFlow Switch 4.1.1 Implementation Support To do this research required some supporting components that are divided into two kinds, namely hardware (hardware) and software (software). Both support each other in this study: Information: [800] : is an extension used as an address or phone number on client 1 [5060] : is a service port used in VoIP [Type] : is a group tagging [Host] : serves as declaring the host used by the user and dynamic is the account can be used from any host [Username] : is a context name that will appear when there is an incoming call Context : is a naming that is used in extension configuration Secret: password [Dtmf mode] : is a technique of sending numbers of phone number formers. [Nat] : in mode Nat After the configuration process in the SIP.conf file the next stage is to configure the file extensions.conf which serves to create a pattern of calls that will be done by using the command "nano /etc/asterisk/extensions.conf" Figure 6 Softphone ready for use 4.3 Configuration Switch Figure 4 Configuration Process file extensions.conf 4.2 Configuration Softphone After the x-lite softphone installation process must be done some system configuration that aims to fellow clients who have registered on the VoIP server can receive and make calls. Switch functions as a traffic management contained on computer networks, and switches also serve as a medium for sending a data packet to get to the destination by finding the best and optimal path and ensure the delivery of data packets to its destination. In this final project use OpenvSwitch or OpenFlow virtual switch and TP-link T1-SF11008D switch. 4.3.1 Configuration OpenvSwitch In this study used OpenvSwitch which aims to create a virtual network by implementing VoIP services. To install and run it can be done in the following ways: 1. The first thing to do is to install OpenvSwitch by giving commands on the debian server terminal using the apt-get install OpenvSwitch-switch. 2. After the installation process is complete then run a command with ovs-vsctl add-br ovs0 and input the command ovs-vsctl add-port eth0 to eth3 to create a bridge and virtual port, and ovs0 is the name of the virtual switch that has been created . 3. The next step when the OpenFlow virtual switch has been created then a check is done by giving the ovs-vsctl show command 4. When the vitual switch is done then the next process is to check the port bridge on OpenvSwitch with the command ovsdpctl show. 5. If all processes on OpenvSwitch have been done then the next is to perform an up-port that aims to port in a virtual switch in the active state (Up) and ready to use. 6. Add add-flow to OpenvSwitch with command ovs-ofctl add-flow ovs0. Figure 5 Configuration process softphone After the configuration process has been done and in the process of creating an account that already matches the name, number and password it will automatically VoIP softphone will detect the changes to the parameters (conditions are already connected in one network). If the configuration stage is no problem it will be seen softphone or VoIP client that is ready to be used in receiving or making calls, can be seen in the picture below: 4.3.2 Implementasi Switch TP-Link T1-SF1008D Switch functions as a traffic management contained in computer networks and switches also served as a medium for sending a data packet to get to the destination by finding the best and optimal path and ensure the delivery of data packets to destination. The TP-link switch in this final project is used as a medium for sending a packet from a VoIP server to a VoIP client. In TP-Link T1-SF1008D switch is no configuration and installation process because this switch is plug and play so it can be directly used. V. Testing and Analysis In this research, several test scenarios were conducted in VoIP with the aim of obtaining a comparison result between using VoIP service using OpenFlow switch and using TP-Link T1SF1008D switch and then taken the average value from each measurement. 5.1 Testing VoIP Calls on OpenFlow Switch The first process on OpenvSwitch is an up-port that aims to keep the ports in the virtual switch active (Up) and ready for use. Figure 7 Process Dump-flow OpenvSwitch After the add-flow process on OpenvSwitch has been done then the next process is to ensure that the network connection on the VoIP server via OpenvSwitch to the client one and two are well connected. The test is done by "ping" the terminal with the command "ping 192.168.100.2" for client one and "ping 192.168.100.3" for client two. Figure 5 Up Port OpenvSwitch The second process is to create a flow on OpenvSwitch with the command ovs-ofctl add-flow ovs0 Figure 6 Process Add-flow OpenvSwitch Information: • ovs-ofctl is a command that serves to manage OpenFlow switches • Add-flow is a command in creating flow • Priority is a command to set priorities on packages that have the greatest priority value. • Arp is a link between data link layer and IP layer on TCP / IP • In_port = 2 is a command to perform input for example port 2 is used to be a port of a VoIP server • Nw_dst is the packet destination address to be sent • Action = output: 2 is a command to output packets through a particular port eg port 2 The next process is to do a dump-flow function to see the package used, and the reference to the dump-flow is n_packet be one of the references seen because n_packet appears several times the package was used, in this test n_packet obtained not 0 means flow is often used Figure 8 Process Check Connectivity Each client is given a registration list to configure the call number that has been made on the VoIP server (Asterisk) so that the client can make a call with the number of the call. Here's a list of dial numbers on each VoIP client. Tablel 2 List Number Client VoIP No Client Nomor Dial Password IP Address 1 2 Client 1 800 hafizh00 192.168.100.2 Client 2 801 hafizh01 192.168.100.3 In making a call in VoIP every client must already be registered on the VoIP server. This calling process is very similar to the usual communication done on the phone, to see the VoIP client is active on the server is to give commands on the asterisk -r sip show peers. 5.2 Analysis Quality of Service It is the ability of a network to provide the capability of a network to provide better services to certain traffic on different types of technology platforms. And in the results obtained VoIP research will be compared with the recommendations ITU-T and TIPHON on VoIP service quality standards as below: Figure 9 VoIP client already registred on server After one VoIP client account with dial number 800 and client account two with dial number 801 already registered on the server then VoIP client can make a call. By pressing the dial number that has been registered on the server, as in the following picture: a. b. c. d. Delay (≤ 150 ms, ITU-T G.114) Jitter ( ≤ 75 ms, TIPHON) Packet Loss ( ≤ 5%, ITU-T G.114) Throughput measurement is done by using variation of switches used. The switches used for measurement are the OpenFlow (OpenvSwitch) virtual switch and the TP-Link T1-SF1008D switch. retrieval of data is done as much as 10 times call with time once call is 5 minutes. Measurements were made with wireshark software with G.711 codec. A. Analysis Delay Delay directly related to the data transfer speed of a network, delay is very influential on real-time data such as voice data in VoIP applications. The greater the delay value the worse the quality of the network and the quality of data received by the listener [19]: Figure 10 VoIP client when calling in the picture above is the condition where the client one with dial number 800 will make a call with the two clients who have dial number 801. In this waiting process, the client two there is an incoming call sign from the client one who is waiting whether the call request is accepted or rejected. Select the phone logo to receive communications. Figure 11 Graphic comparison chart of VoIP delay value Figure 11 Client VoIP on the phone If the communication process is running (client two answers the phone), then the information contained on the status of softphone client one and two changed to like picture 5.8 above, "on the phone" information indicates that the client one and the two clients are operating communications. the process of delay measurement on VoIP communications using OpenvSwitch has an average delay value of 10.0002421 ms, while using TP-Link switch has an average delay value of 10.000989 ms. From the result of sound quality measurement on VoIP service applied by OpenvSwitch and TP-Link switch still considered good, because according to recommendation from ITU-T and TIPHON the recommended delay value is less than 150 ms. From the results of the measurement of the value of delay in this study is influenced by the value of throughput. The value of throughput is inversely proportional to the value of delay, the greater the throughput value the smaller the delay generated. B. Analysis Throughput Measurement throughput is done to know the rate of data in a call, so it can be recommended requirements on the minimum bandwidth that will be used. Figure 14 Graphic comparison chart of VoIP jitter value Figure 12 Graphic comparison chart of VoIP throughput value In the measurement of throughput with the longer duration of speech by using VoIP service, then the value of delay caused greater, this affects the value of a throughput. Because the test is limited to 5 minutes of talk time, so the average throughput value of OpenvSwitch is 171,195 kbps, while using TP-Link switch has a mean value of throughtput of 171,196 ms. Because in this experiment only use two client and still reside in local network and use media cable so that value obtained in this research is relatively same. C. Analysis Jitter Jitter is a delay variation between packets that occur in the IP network, the magnitude of jitter value is influenced by the variation of traffic load and the amount of packet accumulation in the IP network [19]. Based on the measurement VoIP service using OpenvSwitch and TP-Link switches, the average result is 0% so that it can be categorized as very good condition, because the standardization of TIPHON categorizes that the quality of network with 0% value is very good. Based on the results of testing VoIP service (Voice Over Internet Protocol) which has been displayed in graphical form done by using OpenvSwitch and TP-Link switches with some test scenarios. Can be concluded by analyzing the data generated by wireshark software, from the test results that have been done can be seen in the following table: Table 2 Analysis of network performance Quality of Service Delay Throughput Jitter Packet Loss OpenvSwitch 10,0002421 ms 171,195 Kbps 0,424 ms 0% Switch TP-Link 10,0001989 ms 171,196 Kbps 0,435 ms 0% VI. Conclution In this final project has been realized VoIP using OpenFlow switch by using OpenvSwitch as OpenFlow virtual switch. A QoS measurement of communication sessions using SIP (Session Innitiation Protocol) for signaling, RTP (Real-Time Protocol) protocol for transport and G.711 audio codecs can be inferred from the design, implementation and testing of this system in the results as follows: 1. VoIP using OpenFlow switch is successfully implemented. 2. The use of priority on OpenvSwitch in this test is not very influential because the network used is small scale, but on a large scale will have an effect. 3. The VoIP service port used on OpenvSwitch is random. 4. Testing of VoIP is done as much as 10 times the experiment with the results obtained with an average delay of 10,0002421 ms, throughput 171,195 Kbps, 0.424 ms jitter, packet loss 0% Figure 13 Graphic comparison chart of VoIP jitter value VII. Suggestion D. Analysis Packet Loss Packet Loss is the loss of one or more data packets running on the network or in other words data packets that fail in achieving the goal [19]. Some suggestions that can be used for the development of VoIP implementations using OpenFlow switches are: 1. Adding controllers to OpenFlow switches for large networks will make it easier for administrators to manage networks. 2. In order to cangkupan VoIP more widely suggested to be connected with ATA (Analogue Telephone Adapter) so it can connect on analog telephone network. BIBLIOGRAPHY [1]. Lazuardi, N., 2009. Perencanaan Jaringan Komunikasi VoIP (Voice Over Internet Protokol) Menggunakan Asterisk SIP (Session Initiation Protocol). [2]. Yuniati, Y., Fitriawan, H. and Patih, D.F.J., 2014. Analisa Perancangan Server VoIP (Voice Internet Protocol) dengan Opensource Asterisk dan VPN (Virtual Private Network) Sebagai Pengaman Jaringan Antar Client. Jurnal Sains dan Teknologi Industri, 12(1), pp.112-121. [3]. Wahyuddin, M.I., 2009. Implementasi VoIP Computer To Computer Berbasis Freeware Menggunakan Session Initiation Protocol. , 3(1), pp.50–59. 4]. Kartadie, R. and Satya, B., 2015. Uji Performa Implementasi Software-Based OpenFlow Switch Berbasis OpenWRT Pada Infrastruktur Software-Defined Network. DASI, 16(3), p.87. [5] Cui, Hongyan, et al. "Accurate Network Resource Allocation in SDN according to Traffic Demand." (2015). openflow halaman 26 [6]. Kartadie, R., Utami, E. and Pramono, E., 2014. Prototipe Infrastruktur Software-Defined Network Dengan Protokol OpenFlow Menggunakan UBUNTU Sebagai Kontroler. DASI, 15(1), p.24. [7]. Gojali, I., 2013. Modul Jaringan Komputer. [8]. Salwa, M.I., 2016. Implementasi DHCP server multi subnet menggunakan switch OpenFlow. Universitas Islam Negeri Sunan Gunung Djati Bandung. [9]. Mahardwiani, I., 2015. Desain dan implementasi telepon internet pada jaringan komputer Laboratorium Telekomunikasi Politeknik Negeri Bandung. Politeknik Negeri Bandung. [10]. Ilma, U.Z., 2011. Rancang bangun dan analisa Quality of service (QoS) pada sistem Voice Over Internet Protocol (VoIP) menggunakan opensource Elastix. Institut Sains dan Teknologi Nasional. [11]. Supriyanto, 2013. Jaringan Dasar 1. Available at: https://docs.google.com [12].Syamsu, S.,Modul Jaringan Komputer. Stimik AKBA [13] Li, Y., & Wang, G. (2013). SDN-based switch implementation on network processors. Communications and Network, 5(03), 434. [14] Tulloh, R., Negara, R.M. and Hidayat, A.N., 2015. Simulasi Virtual Local Area Network (VLAN) Berbasis Software Defined Network (SDN) Menggunakan POX Controller. JURNAL INFOTEL, 7(2), pp.129-136. [15] Baek, Sun Uk, et al. "Implementation and Verification of QoS Priority over Software Defined Networking." Proceedings on the International Conference on Internet Computing (ICOMP). The Steering Committee of The World Congress in Computer Science, Computer Engineering and Applied Computing (WorldComp), 2016 [16]. ONF Market Education Committee, 2012. Softwaredefined networking: The new norm for networks. ONF White Paper. [17]. Risdianto, A.C., Arif, M. & Mulyana, E., 2013. Buku Komunitas SDN-RG: Pengantar SDN [18] Thorpe, Christina, et al."iMOS: Enabling VoIP QoS Monitoring at Intermediate Nodes in an OpenFlow SDN." Cloud Engineering Workshop (IC2EW), 2016 IEEE International Conference on. IEEE, 2016. [19]. Ketut Sudiarta, P. and Sukadarmika, G., 2012. Penerapan Teknologi VoIP Untuk Mengoptimalkan Penggunaan Jaringan Intranet Kampus Universitas Udayana. Majalah Ilmiah Teknologi Elektro, 8(2). CURRICULUM VITAE Bismmilahirahmaanirrahim The writer was born in Bandung on October 3 1994 from a father who named Widodo and mother named I karliah. The writer is the first of two brothers. Formal education pursued: 1. SD Negeri Sukarela 4 Bandung graduated in 2006 2. SMP Negeri 50 Bandung graduated in 2009 3. SMA Negeri 16 Bandung graduated in 2012 Writer completing undergraduate program in the Department of Electrical Engineering Faculty of Science and Technology UIN Sunan Gunung Jati Bandung in 2012 and graduated in 2017. In the completion of the final project, the author conducted research and thesis writing with “VoIP Implementation Using OpenFlow Switch” Guided by Mr. Eki Ahmad Zaki Hamidi, MT. and Mr. Mufid Ridlo Effendi, MT.