## 5 Experimentation
\begin{table}
\begin{tabular}{c c c} \hline \hline
**Host** & **IP Address(es)** & **Mask** & **Gateway** \\ \hline VOIP-A11 & 192.168.11– & /24 & 192.168.1.1 \\ to A16 & 192.168.1.16 & /24 & 192.168.1.2 \\ \hline VOIP-A11 & 192.168.1.11– & /24 & 192.168.1.2 \\ to A116 & 192.168.1.116 & /24 & 192.168.2.1 \\ \hline VOIP-B21 & 192.168.2.21– & /24 & 192.168.2.1 \\ to B26 & 192.168.2.226 & /24 & 192.168.2.1 \\ \hline RTR-A1 & 192.168.1.1 (in) & /24 & - \\  & 10.0.0.2 (out) & /16 & - \\ \hline RTR-A2 & 192.168.1.2 (in) & /24 & - \\  & 10.0.0.3 (out) & /16 & - \\ \hline RTR-B1 & 192.168.2.2 (in) & /24 & - \\  & 209.165.200.226 & /24 & - \\  & (out) & /24 & - \\ \hline FIREWALL & 10.0.0.1 (in) & /16 & - \\  & 209.165.200.225 & /24 & - \\  & (out) & /24 & \\ \hline DOS-1 to 8 & 209.165.200.240 & & 209.165.200. \\  & 209.165.200.247 & & 225 \\ \hline Control Centre & 1.0.0.1 & /24 & - \\ \hline \hline \end{tabular}
\end{table} 
Table 2: IP addressing scheme used in the network design. Cisco Webex is a meeting/messaging application with an easily accessible API that enables the chatrooms to be used for communication between external programs. Using Cisco Webex version 41.4, several 'rooms' were created to act as a command interface for the VoIP phones, which used HTTP GET and POST requests to read and write content to the chatrooms. Five rooms were created for the purpose of this solution: input and output rooms for Site A and Site B, as well as an additional room for gathering data. The input rooms (shown in Figure 6) were used to 'dial' a number and initiate a connection from one site to the other using an ID unique to each phone (e.g., VOIP-B221 would be dialled using the ID '221'). Following this connection, the voice traffic would begin to travel to and from each site, appearing in the 'output' chatroom (Figure 7) that corresponds with the phone receiving the message. Finally, a data collection room was also present (Figure 8), containing records of all communications between VoIP phones on the network. The timestamps of the messages in the data collection room were used as the main source of data to measure the effectiveness of the solution, which is discussed in Section 5. The VoIP phones are composed of a Python code file, executed within CPT using the 'Thing' component. The main function of the phones is to initiate a connection from a Site A phone to a Site B phone to transmit voice data. For the purpose of this experiment, the voice data being used is a list of thirteen French words, which, upon being received by a Site B phone, are translated into English and transmitted back to Site A. The phones are controlled through Cisco Webex using a command in the following formats: 'VOIP-AXX: YY' for UDP phones, and 'VOIP-AXXX: YYY' for TCP phones. Additionally, during each stage of communication, the VoIP phones record the timestamps of communication in the Webex 'Data Collection' room. When a connection is first initiated using a Webex command, the first step is to perform a TCP handshake on port 5060, simulating a SIP handshake [20]. This handshake is carried out to ensure the destination phone is receptive and trigger the transmission of voice data by changing the'state' of the phone to '1'. Following a handshake, the date and time of the corresponding Webex messages are recorded to the Webex 'Data Collection' room as part of the timeline of events. Once the handshake is complete, the simulated voice traffic is sent from the broadcasting phone to the receiving phone. The traditional VoIP phones use UDP port 2000 to transmit the data, using ROUTER-A1 as the gateway, while the modified phones use TCP port 2001 and ROUTER-A2 as the gateway. Using a separate port and router for the set of TCP phones allows them to be dynamically switched to if the network is suffering a DoS attack, with minimal interference from the side of the network containing the UDP phones. Both the UDP and TCP phones are programmed to transmit 'voice' data in similar ways.