Lista de figuri [305196]
Lista de figuri
Figura 1. Arhitectura generală a unui system VoIP [Sin13] 21
Figura 2. Comunicații unificate 3CX [3CX17] 24
Figura 3. Componentele majore ale unui sistem telefonic 3CX [Lan10] 24
Figura 4. 3CX în Cloud [Clo13] 26
Figura 5. Straturile arhitecturii Cloud [Zha10] 27
Figura 6. Arhitectura Protocolului SIP [Ses03] 29
Figura 7. Realizarea unui apel SIP direct [Dob16] 30
Figura 8. Modelul de funcționare al trunchiurilor SIP [SIP17] 31
Figura 9. Interfața telefonului soft MicroSIP 33
Figura 10. Interfața telefonului soft CSIP Simple 33
Figura 11. Comunicarea între două dispozitive cu sau fără VPN [Cri15] 34
Figura 12. Arhitectura sistemului de comunicații care are la baza centrala 3CX 35
Figura 13. Configurarea hardware a mașinii virtuale 36
Figura 14. Navigarea spre adresă pentru ultimele configurări 37
Figura 15. Selectarea tipului de IP Public 38
Figura 16. Dashboard – [anonimizat] 38
Figura 17. Dashboard – [anonimizat] 39
Figura 18. Dashboard – Informație – Information 40
Figura 19. Adăugarea unei noi extensii 41
Figura 20. Dashboard-ul OpenStack 42
Figura 21. [anonimizat] 43
Figura 22. Crearea unei extensii 43
Figura 23. Crearea unui cont 44
Figura 24. [anonimizat] 45
Figura 25. Accesarea meniului de creare a unui cont 46
Figura 26. [anonimizat] 46
Figura 27. Interfața programului Connectify Hotspot 47
Figura 28. Câmpurile necesare pentru o conexiune Bridge între centrale 48
Figura 29. Conectarea clienților la centrala telefonică 49
Figura 30. Înregistrarea extensiilor la server 49
Figura 31. Captură Wireshark semnalizări SIP 50
Figura 32. Captură Server Activity Log 51
Figura 33. Schimb de mesaje între clienți 52
Figura 34. Semnalizările SIP pentru mesajul transmis 52
Figura 35. Conținutul unui pachet de tip mesaj 53
Figura 36. Semnalizările SIP care conțin răspunsul 406 54
Figura 37. Răspunsul 406 văzut prin intermediul centralei telefonice 54
Figura 38. Închiderea unui apel din centrala telefonică 55
Figura 39. Semnalizările SIP pentru încheierea apelului 55
Figura 40. Cererile SIP transmise de centrală pentru încheierea apelului 56
Figura 41. Înregistrările clienților văzute prin intermediul utilitarului Wireshark 56
Figura 42. Afișarea rezultatelor Wireshark prin intermediul RTP Player 57
Figura 43. Înregistrările clienților 1001 și 1003 58
Figura 44. Afișarea răspunsului SIP 486 Busy Here 58
Figura 45. Conținutul pachetului Busy Here 59
Figura 46. Semnalizările SIP ale unui apel video 59
Figura 47. Ecranul telefonului în timpul apelului video 60
Lista de tabele
Tabelul 1. Scurtă comparație a centralelor telefonice VoIP [VoIP17] 20
Tabelul 2. Comparație între tehnologia VoIP si tehnologia PSTN [Var02] 22
Tabelul 3. Comparație între protocoalele VoIP [Pro14] 23
Tabelul 4. Codec-urile 3CX și lărgimea de bandă pe care o folosesc [Lan10] 25
Tabelul 5. Avantajele și dezavantajele protocolului OpenVPN [Ope16] 34
Abrevieri
AMR = [anonimizat] = Click to Call
DHCP = Dynamic Host Configuration Protocol
DOS = Denial of Service
FQDN = Fully Qualified Domain Name
GSM = Global System for Mobile Communications
HRTF = Head Related Transfer Function
HTTP = Hypertext Transfer Protocol
IETF = Internet Engineering Task Force
iLBC = Internet Low Bitrate Codec
IP = Internet Protocol
IPv4 = Internet Protocol version 4
IPv6 = Internet Protocol version 6
ISDN = Integrated Services Digital Network
ISP = Internet Service Provider
ITU = International Telecommunication Union
IVR = Interactive Voice Response System
LAN = Local Area Network
LPCM = Linear pulse code modulation
MCU = Multipoint Control Unit
MGCP = Media Gateway Control Protocol
NIST = National Institute of Standards and Technology
PBX = Private Branch Exchange
PCMA = Pulse Code Modulation A-law
PCMU = Pulse Code Modulation U-law
PSTN = Public Switched Telephone Network
QoS = Quality of Service
RAS = Registration Admission Status
RTP = Real-time Transport Protocol
RTSP = Real-time Streaming Protocol
SCP = Secure Copy Protocol
SCTP = Stream Control Transmission Protocol
SDP = Session Description Protocol
SIP = Session Initiation Protocol
SSH = Secure Shell
SSL = Secure Sockets Layer
TCP = Transmission Control Protocol
TDM = Time Division Multiplexing
TLS = Transport Layer Security
UA = User Agents
UAC = User Agent Client
UAS = User Agent Server
UC = Unified Communications
UDP = User Datagram Protocol
VM = Virtual Machine
VoIP = Voice over IP
VPN = Virtual Private Network
WAN = Wide Area Network
XML = Extensible Markup Language
YATE = Yet Another Telephony Engine
Summary in English
Introduction
Nowadays, modern applications, especially real-time ones, are imposing new demands on the computer networks performances. Voice over IP (VoIP) is one of the main technologies which ensures encapsulation of voice telephony services within IP (Internet Protocol), for transmission over IP networks, such as the Internet. One of the most important service that Voice over IP technology is providing is represented by the unified communication (UC) service. Unified communication [3CX17] is defined as the process in which all means of communication, communication devices and media are integrated, allowing users to be in touch with anyone, wherever they are and in real time.
In [Pal06], the authors describe the reliability of Voice over IP technology, which is a concept that generally deals with the continuous operation of a service, depends on the hardware and software elements of the system. Reliability can be defined as the calculated value, which represents how often the system fails as compared to the percentage of time the system is available. Five-nine availability (or 99.999%) means a downtime of five minutes and fifteen seconds or less per year. This paper reviews the “five nines” availability for PSTN systems and explores how emerging VoIP systems may achieve this level of performance using a combination of Kamailio and Freeswitch softwares, operating in a Linux environment.
Another definitory process for the Voice over IP technology is described in [Ans13] and is known as Interactive Voice Response System (IVR), which is an easy to implement cloud service, through which the user can choose an option from a menu using digits. The FreeSwitch software is used to implement this system. It acts as a server and performs all the functions of a traditional PSTN. Using this system, the information will be accessed during a phone call, without the need to use a browser, which makes this system much easy to use.
Theoretical Fundamentals
Voice over IP
VoIP (Voice over IP) is represented by the transmission of voice and other multimedia content over Internet Protocol networks. This technology has a lot of advantages, which makes this system best alternative against the traditional circuit (PSTN) [wik16]. The brief description about the benefits of VoIP telephony is summarized here [Sin13]:
Low cost – Is the main advantage of the VoIP system. The long distance calls can be made at very low cost through the VoIP system;
Integrated Services – Since the number of calls on the traditional network is more, VoIP network provides the integration with the traditional PSTN system;
Highly scalable and easy update – In traditional systems, increasing the connectivity, that means providing more connecting ports to connect the telephones, leads to increase in cost. But in the VoIP system, no extra cost would be paid to increase the connectivity;
The table below shows a qualitative comparison of voice over PSTN and over IP.
Table 1. Qualitative comparison of voice over PSTN and over IP [Var02]
3CX PBX
The 3CX IP PBX is a VoIP phone system. This means that the voice traffic goes over the same Ethernet cables that the personal computer network traffic does. Traditionally, phone systems only incorporate the hardware part, designed just to do the basic functions of a phone system. 3CX is the software that can turn any standard personal computer or hardware server into a complete phone system. The 3CX Phone System has all the functions that a normal phone system has. It allows phones connected to it to call each other and call external phones too, whether they are on Public Switched Telephone Network (PSTN) or a Voice over IP (VoIP) network. Beside all the functions that a Phone System should have, there are some features that are inserted in the 3CX Phone System. Calls can be transferred, put on hold (with music playing), sent to a menu of options that callers can select from, sent to a queue to wait until a customer service representative can help them, or sent to voicemail. Calls can be routed to a digital receptionist, an extension, voicemail, or even to an external mobile phone [Lan10].
The 3CX IP PBX Phone System is made up of several major components [Lan10]:
3CX Phone System – an SQL database to store configuration data and a web interface for administration.
3CX Call Assistant – a software operator panel that allows us to see the status of the phone system, to control phone calls, and do simple chats between the operator and the caller.
3CX Call Reporter – allows us to print graphs and reports of call detail.
The previously described components are illustrated in Figure 1:
Figure 1. The major components of 3CX Phone System [Lan10]
Cloud Computing
With the accelerated development of processing and storage technologies and the success of the Internet, computing resources have become cheaper, more powerful and more ubiquitously available than ever before. This technological trend has enabled the realization of a new computing model called cloud computing, in which resources ( CPU and storage) are provided as general utilities that can be leased and released by users through the Internet in an on-demand fashion [Zha10].
NIST definition of cloud computing – Cloud Computing is characterized by a model which allows convenient, on-demand network access, to a shared pool of configurable computing resources (servers, storage and services), that can be fast leased and released with minimal struggle [Zha10].
OpenStack is a cloud computing service, released in July 2010, to provide Infrastructure as a Service (IaaS). This software is designed to create necessary standards for both cloud providers and cloud customers. OpenStack is made up of a collection of three projects: OpenStack Compute (Nova), OpenStack Object Storage (Swift) and OpenStack Image Service (Glance) [Mah11].
Session Initiation Protocol (SIP)
The Session Initiation Protocol (SIP) is a signaling, presence, and instant messaging protocol developed to set up, modify, and tear down multimedia sessions; request and deliver presence and send and receive instant messages [Sip16]. The Session Initiation Protocol also works with other protocols (which resolves other functionalities):
RTP (Real-Time Transport Protocol) – used for real time media transport and QoS feedback;
RTSP (Real-Time Streaming Protocol) – for streaming control;
MGCP (Media Gateway Control Protocol) – for gateway control to PSTN;
SDP (Session Description Protocol) – used for multimedia session description [Dob16];
Figure 2 shows the architecture of the SIP protocol, how the components of this architecture interact with each other and the protocols involved [Ses03]. In this case, the User Agent A (UA) is an User Agent Client (UAC) which will send a SIP Request in order to create a session with User Agent B, a User Agent Server (UAS). Sessions that take place between agents require proxy servers to forward their request or their response [Dob16].
Figure 2. Architecture of the SIP Protocol [Dob16]
SIP messages are scattered using TCP, UDP or SCTP protocols. The SIP Requests that are used in a direct SIP call are the following:
INVITE – Used to establish a media session between User Agents;
ACK – Confirms reliable message exchange;
CANCEL – Terminates a pending request, but does not undo a completed call;
BYE – Terminates a session between two users [Jab12];
SIP trunks facilitate voice and video transmission (and other real-time applications) via Internet (IP) in and between different communications domains, such as companies. SIP trunks are widely used to replace traditional Time Division Multiplexing trunks (TDMs) to access a Public Switched Telephone Network (PSTN) [Hat10].
Softphones
Softphones are clients that are installed on any smart devices that were not originally designed as phones [Hat10]. Through softphones, voice calls on the Internet can be made, received and managed [Sof17].
Implementation
Testbed Description
Figure 3. Architecture of the 3CX communication system
The 3CX PBX is installed on a virtual machine running Windows 7 operating system. The virtual machine is stored in OpenStack, which is a cloud software managed by UC Labs. To make a call through the 3CX PBX, the devices involved in the call must be in the same virtual private network, as the virtual machine. In order to do so, the OpenVPN software will be used.
3CX Configuration – Version 15
This solution was implemented in four main steps:
1) Installing the Debian operating system on the virtual machine using VMware software;
2) Downloading and installing 3CX software on the Debian Operating System;
3) Configuring the 3CX PBX;
4) Creating extensions in order to make calls from a softphone to another;
Before the installation of the operating system a few parameters must be set through the VMware interface. Storage capacity must be at least 20GB and the RAM memory must be set to 3GB.
After the installation of the Debian operating system, the software should be installed on the virtual machine which is stored on the OpenStack cloud software. Connect to the machine using SSH and enter the following commands:
wget -O- http://downloads.3cx.com/downloads/3cxpbx/public.key | apt-key add –
echo "deb http://downloads.3cx.com/downloads/3cxpbx/ /" | tee /etc/apt/sources.list.d/3cxpbx.list
apt-get update
apt-get install 3cxpbx
In the next main step, after the installation one must launch a browser and navigate to http://IPADDRESS:5015 in order to make the last configuration of the 3CX PBX. In this configuration, among others, the credentials must be specified and the nature of the IP address provided by the ISP, static or dynamic.
In the final step the interface of the 3CX BPX will be accessed using the IP address of the machine and the 5001 port. On the web interface can be found a Dashboard which has three windows that monitors the PBX activity. These windows are the following: System Status, PBX Status, and the Information window. In order to place a call two extensions must be created. An extension can be created by clicking the Add button from the extension section.
3CX Configuration – Version 11
Version 11 has been picked because it allows the video feature to be used during calls between devices. This solution was implemented in four main steps:
1) Accessing the Windows 7 virtual machine from a cloud managed by UC Labs via a web browser;
2) Download, install and configure the 3CX package;
3) Creating extensions in order to make calls between devices;
4) Configuring softphones for making voice and video calls;
The first step is to access the virtual machine already installed and stored in the OpenStack cloud. The OpenStack dashboard provides an overview of the existing instance, where are specified, among others, the name of the instance, the status or the technical specifications.
In the next step, to download the 3CXPhoneSystem package, navigate to the [D3CX] website and choose version 11 and then install it. The configuration process will be done step by step and the relevant settings are the following:
Local IP – The local IP will be selected manually from a list;
Public IP – If a connection to the PBX from another network is needed, the PBX public IP must be specified. This field is an optional one and cand be left blank or completed later (in this case the field has been left blank);
Extension Digits – The number of digits from which the extension is composed should be specified. From previous experiments is recommended to use a four-digit extension.
The process of creating an extension is pretty similar to version 15. Click the Add Extension button that can be found in the horizontal options bar and then fill in the fields in the User Information and the Authentication section.
The last step is to set up the softphones in order to make calls between devices. For making voice or video calls between equipments, the MicroSIP softphone for the Windows-running terminal and the CSIP Simple softphone for the Android device were selected.
Experimental Results
The main purpose of these experiments was to observe the PBX reaction to different scenarios. Seven scenarios will take place between four devices: two computers, a tablet and a smartphone.
The Wireshark software and the 3CX Server Activity Log option will be used to evaluate the results and after the achievement of the results, a comparison will be made between them. Some of the most representative results obtained by applying the scenarios are as follows:
Figure 4. SIP flows after disabling video codecs on a terminal
Figure 5. The results of an audio call captured by the Server Activity Log
Conclusions
Voice over IP is a new trend that will gradually replace traditional telephony. Through this technology voice services are transmitted over IP networks. VoIP has many benefits over traditional telephony and the main advantage of this technology is the price, because the implementation is done using an existing infrastructure.
This paper presents the configuration of the 3CX PBX in order to make audio and video calls that will take place between different terminals running different operating systems. The 3CX PBX is installed and configured on a virtual machine that runs the Windows 7 operating system and is stored in a Cloud OpenStack managed by UC Labs. The big advantage of this PBX is its interface, which makes it easy to create and manage extensions.
For the experiments the 3CX PBX is installed on a virtual machine that runs Windows 7 operating system and which is stored in an OpenStack cloud managed by UC Labs. The virtual machine is in a private network and other devices will have access only using the OpenVPN program. The OpenVPN software creates a virtual private network through which the devices will be on the same network as the virtual machine. This process is necessary to make calls between terminals. Experiments involve the following seven scenarios: audio and video calling between two computers, video and audio calling between a computer and a phone, sending a text message between computers, and making audio and video calls between a phone and a tablet.
The results are analyzed using the Wireshark software and the Server Activity Log option in the 3CX PBX. The results obtained from the Wireshark will be compared with the results of the Server Activity Log, which were obtained for the same scenarios.
As a future development, a call will be made between a user registered to the 3CX PBX and a user registered to a different PBX using the SIP Trunking option. To make this experiment, a licensed version of the 3CX program needs to be purchased, because the SIP Trunking option can only be configured from a licensed 3CX version.
Planificarea activității
Stadiul actual
3CX este un PBX bazat pe software, care funcționează cu telefoane IP, trunchiuri SIP și Gateway-uri populare. Este o soluție completă de comunicații unificate, care include funcții cum ar fi: conferințe web, prezență, telefoane soft, clienți de smartphone și multe altele. 3CX reprezintă o soluție eficientă pentru clienții care doresc rezultate excelente la prețuri convenabile.
Lucrarea [Ans13] descrie folosirea sistemului IVRS (Interactive Voice Response System), acesta fiind un serviciu Cloud, ușor de implementat prin care utilizatorul alege opțiunea dorită din meniu prin intermediul cifrelor de apelare (e.g Apăsați tasta 1 pentru limba engleză). Pentru implementarea acestui sistem se va folosi software-ul FreeSwitch, prin care se încearcă accesul la informație pe durata unui apel fără a fi nevoie de folosirea unui browser. Acest lucru este esențial, deoarece, spre exemplu, există restaurante sau spitale care nu oferă informații on-line și astfel se va folosi telefonul mobil pentru a obține informația dorită prin intermediul unui IVRS.
În articolul [Sul11] se folosește software-ul Elastix pentru a implementa sistemul de comunicații unificate în cadrul unei universități. Comunicațiile unificate înglobează un spectru larg de tehnologii de comunicații care sunt descrise in [Sea09]. Elastix are la baza software-ul Asterisk, fiind dezvoltat pornind de la Asterisk 1.4.
În lucrarea [Zap09] se descrie procesul de prelucrare a software-ului AskoziaPBX, prin adăugarea unei noi pagini în cadrul interfeței. Prin intermediul acelei pagini se caută fișiere XML care mai apoi vor fi exportate către un telefon fizic SNOM 360 [Sno15] pentru configurare, folosind protocolul SIP.
În articolul [Lop12] se dorește integrarea unui groupware (software care permite mai multor utilizatori aflați în diferite puncte de lucru, să acceseze aceleași informații) într-un sistem VoIP-PBX, mai exact Zarafa Groupware [Gro05] într-un sipXecs. Pentru aceasta se va dezvolta o aplicație ”Click-To-Call” (CTC), in care doi utilizatori înregistrați într-o baza de date MySQL se vor putea apela prin intermediul unui buton.
În lucrarea [Pal06] se studiază posibilitatea ca sistemele VoIP să beneficieze de performanțele de disponibilitate care sunt specifice sistemelor PSTN și anume disponibilitatea ”five nines” [Five]. În acest fel putându-se face trecerea de la PSTN la VoIP. În această lucrare se propune o combinație a aplicațiilor Kamailio și FreeSwitch, care vor rula pe un mediu Linux, pentru punerea în evidenta a celor mai sus menționate.
În următoarea lucrare [Rah14], se dorește introducerea VoIP și punerea sa în aplicare, precum și testarea performanțelor apelurilor de voce inițiate prin intermediul protocoalelor SIP, folosind aplicația Asterisk.
În articolul [Sor15] se prezintă un studiu despre capacitatea lățimii de bandă care poate fi atinsă atunci când mai multe apeluri concurente sunt efectuate prin intermediul serverului software FreePBX atât în rețeaua IPv4 cât și în rețeaua IPv6. Pentru aceasta se vor folosi următoarele programe: VoIPmonitor, SIPp v3.3 , XLite v4.5 și Iperf.
Această lucrare [Tru05] introduce un sistem de detecție a intrărilor nedorite pentru protecția standardului H.323 gatekeepers [H.323] împotriva atacurilor DOS (Denial of Service) [Den07] interne și externe. Având la bază un protocol pentru mesaje RAS (Registration Admission Status) [Reg08] se va asigura o legătura adecvată între gatekeepers și punctele finale. O soluție viabilă pentru cele menționate mai sus este folosirea unei aplicații GNU Gatekeeper care înglobează toate specificațiile necesare.
Integrarea unui sistem HRTF (Head Related Transfer Function) în aplicația VoIP Mumble este descris succint în lucrarea [Rot10]. Prin intermediul acestei aplicații se permite participanților într-o conferință audio să distingă vorbitorul. În plus, folosind HRTF se poate genera un mediu audio 3D, prin intermediul căruia ascultătorul va fi capabil să facă diferența dintre mai mulți vorbitori.
Articolul [Ass14] explorează posibilul rol al unui server SIP și posibilele îmbunătățiri care pot fi aduse protocoalelor de telefonie, dezvoltate în special pentru a implementa conferințe multimedia. În acest proces se va folosi aplicația YATE(Yet Another Telephony Engine) prin intermediul codului sursa a unui server SIP și se vor analiza datele recepționate în urma testării serverului SIP (SUT-Server Under Test), folosind un număr mare de apeluri telefonice.
În Tabelul 1 se prezintă o comparație între toate serverele VoIP care au fost prezentate anterior:
Tabelul 1. Scurtă comparație a centralelor telefonice VoIP [VoIP17]
Fundamentare teoretică
Voice over IP
Voice over IP (sau VoIP) [wik16] este o tehnologie care permite încapsularea serviciilor de voce în cadrul IP (Internet Protocol) pentru transmiterea lor prin intermediul rețelelor IP. Această tehnologie [Sin13] are o mulțime de avantaje, care fac acest sistem să fie cea mai bună alternativă in detrimentul circuitului tradițional (PSTN). Descrierea succintă a beneficiilor tehnologiei VoIP este sumarizată în continuare:
Costul redus – reprezintă principalul avantaj al acestei tehnologii. Apelurile la distanță pot fi efectuate la un cost foarte scăzut prin sistemul VoIP. Utilizează infrastructura existentă fără a mai adăuga costuri suplimentare. VoIP tratează vocea ca orice alt tip de date, în acest fel, utilizatorii vor putea atașa documente sau vor putea realiza videoconferințe;
Serviciile integrate – au fost introduse datorită faptului că majoritatea apelurilor au loc pe rețelele tradiționale, sistemul VoIP asigură integrarea cu sistemul tradițional PSTN. Comunicarea între un sistem VoIP și un sistem PSTN poate fi posibilă prin intermediul protocolului de semnalizare H.323 și a protocolului de inițiere a sesiunii (SIP);
Actualizare ușoară și extrem de scalabilă – în sistemele tradiționale, creșterea conectivității presupune mărirea numărului de porturi pentru conectarea telefoanelor, conducând la creșterea costurilor. Sistemul VoIP fiind bazat pe software, orice tip de creștere al conectivității se face ușor si fără a genera costuri suplimentare;
În figura de mai jos este reprezentată arhitectura generală a unui sistem VoIP.
Figura 1. Arhitectura generală a unui system VoIP [Sin13]
Asemenea noilor tehnologii [wik16] , VoIP, prezintă anumite problemele de care trebuie să se țină cont înainte de implementare:
Servicii de urgență și de informare – nu există nicio garanție că apelurile efectuate prin intermediul IP pentru numere precum 911 sau 112 vor fi direcționate corect. Din cauza lipsei terminatorului de specificare a locației pentru apelurile prin VoIP, nu este posibil pentru aceste servicii să determine locația apelului;
Probleme legate de lățimea de bandă – protocoalele VoIP pot fi foarte sensibile atât la limitările de lățime de bandă cât și la latența rețelei. În general, apelurile VoIP trebuie să fie plasate printr-o conexiune de bandă largă. În cazul în care există o utilizare intensă a lățimii de bandă, o latență ridicată a rețelei sau gateway-ul este la o distanță semnificativă de utilizator, calitatea apelului poate fi puternic degradată, cu posibilitatea că nu va mai exista nici un serviciu VoIP;
În tabelul de mai jos este prezentată o comparație între tehnologia VoIP și tehnolgia tradițională, PSTN:
Tabelul 2. Comparație între tehnologia VoIP si tehnologia PSTN [Var02]
Termenul VoIP [wik16] este adesea folosit pentru a descrie tehnologia generală de telefonie IP. În spatele acestui termen se află o serie de protocoale diferite, set de reguli folosite pentru a comunica într-o gamă largă de dispozitive și furnizori.
H.323 – este o suită de protocoale care include H.245 sau Q.931. Această suită intervine în stabilirea sesiunii între telefon și switch și se bazează în mare masură pe serviciile integrate a rețelei digitale (ISDN);
SIP (Session Initiation Protocol) – este un standard dezvoltat de IETF (Internet Engineering Task Force), utilizat în stabilirea diferitelor sesiuni multimedia, cum ar fi voce, mesaje instant și video. SIP este de asemenea responsabil pentru implementarea altor funcții legate de sesiunea de voce, cum ar fi punerea în așteptare a unui apel, transferarea apelurilor sau găzduirea simultană a mai multor convorbiri vocale (conferințe telefonice);
MGCP (Media Gateway Control Protocol) – protocol utilizat în mod obișnuit pentru a reprezenta un sistem ca o singură entitate. Sistemele MGCP sunt alcătuite din agenți de apel (Call Agents) și gateway-uri. Agenții de apel păstrează informațiile importante și transferă majoritatea informațiilor de control de la gateway-uri. În tabelul de mai jos este ilustrată o comparație între protocoalele prezentate anterior;
Tabelul 3. Comparație între protocoalele VoIP [Pro14]
3.2 3CX
În cartea [Lan10] este descrisă o tehnologie VoIP, 3CX, care este un sistem telefonic IP (Internet Protocol), PBX (Private Branch Exchange) destinat companiilor și nu numai. În mod tradițional, sistemele telefonice erau constituite doar din partea hardware, fiind dezvoltate doar pentru a realiza funcțiile de bază a unui sistem telefonic. În schimb, 3CX reprezintă software-ul care poate transforma orice calculator personal sau server hardware într-un sistem telefonic.
Pe lângă avantajul de a permite apelurile spre telefoanele tradiționale (PSTN), 3CX, implementează și alte facilități, apelurile pot fi transferate, puse în așteptare (cu muzică pe fundal), transmise unui meniu de unde se pot face diferite modificări, puse într-o coadă de așteptare până când cineva este gata să le preia, sau trimise la căsuța vocală. Toate aceste facilități de care dispune această tehnologie sunt integrate în procesul de comunicații unificate care va fi prezentat în continuare.
3.2.1 Comunicații unificate
Comunicațiile unificate [3CX17] reprezintă procesul în care sunt integrate toate mijloacele de comunicare, dispozitivele de comunicare și media, permițând utilizatorilor să fie în contact cu oricine, oriunde s-ar afla și în timp real.
Figura 2. Comunicații unificate 3CX [3CX17]
Comunicațiile unificate permit trimiterea unui mesaj într-un anumit mediu si recepționarea aceluiași mesaj în alt mediu. De exemplu, un utilizator poate recepționa un mesaj vocal si rămâne la alegerea lui dacă îl va accesa prin e-mail sau prin intermediul oricărui telefon. Starea expeditorului poate fi văzută prin intermediul informației de prezență și dacă este activ un răspuns poate fi trimis imediat prin intermediul unei conversații sau unui apel video. Scopul comunicațiilor unificate este optimizarea comunicațiilor prin simplificarea proceselor.
3.2.2 Componentele majore ale unui sistem telefonic 3CX
Sistemul telefonic IP PBX 3CX, [Lan10] este alcătuit din câteva componente majore:
Sistemul telefonic 3CX este alcătuit dintr-o bază de date SQL pentru stocarea datelor de configurare și o interfață web;
Asistentul de apel 3CX, este un panou de operare care permite vizualizarea stării sistemului telefonic, controlarea apelurilor telefonice și efectuarea de conversații simple între operator și apelant;
Reporterul de apeluri 3CX, permite tipărirea graficelor și a rapoartelor privind detaliile apelului;
Figura 3. Componentele majore ale unui sistem telefonic 3CX [Lan10]
3.2.3 Codec-uri
Pentru a putea converti vocea umană (semnal analogic) [Lan10] într-un semnal digital care poate să fie transmis printr-o rețea, cum ar fi fibra optică, wireless, sau CAT5, este nevoie de folosirea unor codec-uri. Fiecare codec folosește o anumită cantitate de lărgime de bandă. Cantitatea de bandă disponibilă va determina numărul de apeluri permis la un moment dat. Un codec popular este codec-ul ITU.G711, cunoscut și sub denumirea de A-law sau U-law. Acesta are puțină compresie pe linie și este folosit de cele mai multe ori din cauza calității apelului. Alt codec popular este ITUG.729. Acesta este printre cele mai recomandate în ceea ce privește calitatea apelului și lărgimea de bandă folosită. Mai jos este prezentată o lista cu codec-urile disponibile și cantitatea de lărgime de bandă pe care o folosesc.
Tabelul 4. Codec-urile 3CX și lărgimea de bandă pe care o folosesc [Lan10]
3.2.4 Versiunea în Cloud
Cererea de PBX-uri bazate pe Cloud [Clo13] este într-o continuă creștere, de aceea înafară de versiunea locală (On Premise), 3CX mai dispune și de o versiune în Cloud. Sistemul telefonic Cloud Server 3CX permite găzduirea de până la 50 de instanțe de sisteme telefonice 3CX separate pe o mașină Windows Server. Fiecare instanță este în întregime separată de celelalte instanțe și de asemenea permite separarea configurațiilor și resurselor care sunt atribuite fiecărui client. Găzduind 50 de instanțe pe un singur server se poate evita necesitatea licențierii și gestionarea individuală a instanțelor Windows. Fiecare instanță se va conecta la trunchiul SIP dedicat sau port gateway, menținând facturarea apelurilor perfect separată pentru fiecare client.
Figura 4. 3CX în Cloud [Clo13]
3.3 Tehnologia Cloud
Odată cu dezvoltarea rapidă a tehnologiilor de procesare și stocare și succesul Internetului, resursele de calcul au devenit mai ieftine, mai puternice și mult mai disponibile pe scară largă decât oricând. Acest trend tehnologic a permis realizarea unui nou model de calcul numit Cloud, în care resursele (procesorul și unitatea de stocare) sunt furnizate ca utilități generale care pot fi închiriate de către utilizatori prin intermediul Internetului într-o manieră la cerere [Zha10].
Definirea termenului Cloud conform Institului Național de Standarde si Tehnologii (NIST): Cloud-ul este un model care permite accesul convenabil, la cerere, la o rețea comună de resurse de calcul configurabile (rețele, servere, spațiu de stocare și servicii) care pot fi rapid furnizate cu un efort minim de gestionare [Zha10].
3.3.1 Caracteristicile generale ale sistemelor Cloud
Cloud oferă mai multe caracteristici care îl fac un sistem atractiv pentru proprietarii de afaceri, după cum se arată mai jos:
Nu necesită nici o investiție inițială – se folosește un model de tarifare de tipul pay-as-you-go, ceea ce înseamna că nu este necesară o investiție inițială ci doar o închiriere a resurselor din Cloud pentru care se plătește;
Reducerea costului de operare – resursele pot fi eliberate pentru a economisi costurile de exploatare atunci când cererea de servicii este scăzută;
Acces ușor – serviciile Cloud sunt ușor de accesat printr-o varietate de dispozitive cu conexiune la Internet [Zha10];
3.3.2 Arhitectura sistemului Cloud
Această secțiune descrie modelele arhitecturale precum și modelele de operare în Cloud. Arhitectura sistemului Cloud poate fi divizată în 4 straturi: stratul hardware, stratul de infrastructură, stratul platformei și stratul aplicație, ilustrate in Figura 5.
Figura 5. Straturile arhitecturii Cloud [Zha10]
3.3.3 OpenStack
OpenStack este un proiect de Cloud Computing, lansat în Iulie 2010, pentru a furniza IaaS (Infrastructura ca serviciu) [Mal13]. Acesta reprezintă un software conceput pentru a crea standarde necesare în beneficiul furnizorilor Cloud și al clienților Cloud. OpenStack este alcătuit dintr-o colecție de trei proiecte Open Source:
OpenStack compute (Nova) – pentru a furniza și a gestiona o rețea mare de VM (Mașini Virtuale);
OpenStack object storage (Swift) – pentru a oferi stocare de date redundantă și scalabilă folosind un cluster de servere;
OpenStack image service (Glance) – furnizează servicii de înregistrare, de descoperire și livrare pentru imagini virtuale [Mah11];
Printre criteriile de clasificare ale diferitelor soluții Open Source Iaas în Cloud Computing se numără:
Scopul principal – Furnizorii de Cloud ar trebui sa aleagă cu atenție platforma care se potrivește cel mai bine cu obiectivele proprii.
Arhitectura – Arhitectura platformei spune foarte multe despre modul în care funcționează platforma și cum a fost concepută;
Plasarea Mașinii Virtuale – Locația Mașinii Virtuale este deosebit de importantă pentru a asigura o utilizare inteligentă și optimă a resurselor;
Depozitarea – Modelul de stocare online, în rețea, arată cum datele sunt stocate;
Rețea – Platformele de Cloud ar trebui să asigure atenție rețelelor virtuale pentru a asigura performanța;
Interfața de acces – Acest aspect se referă la modul în care clienții din Cloud au acces la resursele închiriate;
Securitate – Serviciul de Cloud a devenit tot mai popular în ultimii ani, deci trebuie să fie sigur;
Toleranța la defecțiuni – Proprietatea unui sistem de a funcționa în parametrii normali în ciuda defecțiunii anumitor componente;
Echilibrarea încărcării – Reprezintă o metodologie de rețea prin intermediul căreia se poate distribui volumul de lucru pe mai multe calculatoare pentru a obține o utilizare optimă a resurselor [Mah11];
3.4 Protocolul de inițiere al sesiunii – Session Initiation Protocol (SIP)
Protocolul de inițiere a sesiunii [Dob16] este un protocol de strat aplicație folosit doar pentru semnalizare, adică pentru stabilirea și terminarea comunicațiilor VoIP (spre deosebire de H.323 care este un standard „umbrelă”). Acest protocol lucrează și cu alte protocoale (care rezolvă alte funcționalități):
RTP (Real-Time Transport Protocol) – pentru transport media în timp real și feedback QoS (Quality of Service);
RTSP (Real-Time Streaming Protocol) – pentru control streaming;
MGCP (Media Gateway Control Protocol) – pentru control gateway către PSTN;
SDP (Session Description Protocol) – pentru descriere sesiuni multimedia;
Ca principiu are un model de tranzacții bazat pe cereri asemănătoare cu HTTP (se invocă o anumită metodă sau funcție a unui server) și răspunsuri prin care se deschid sesiuni în care participanții sunt invitați. Sarcina principală a Protocolului de Inițiere a Sesiunii este de a gestiona sesiunile între utilizatori. Ca atare, SIP conține cinci funcții principale care îi permit să efectueze diferite sarcini privind sesiunea între utilizatori. Funcțiile sunt prezentate în continuare [Fun08]:
Determinarea locației terminalului invitat (target endpoint) – prin rezoluție adresă, mapare nume și redirijare apel;
Determinarea capabilităților media ale terminalului invitat – nivelul minim de servicii comun pentru ambele terminale folosind SDP. La conferințe se folosesc exclusiv capabilitățile media suportate de toate părțile;
Determinarea disponibilității terminalului invitat – se verifică disponibilitatea terminalului respectiv, iar dacă acesta nu răspunde după mai multe apelări, se constată indisponibilitatea sa;
Stabilirea unei sesiuni între terminalele origine și terminalele destinație – dacă apelul poate fi finalizat, se vor accepta și schimbări în timpul comunicației (codec, tip media, noi terminale);
Tratarea transferurilor și terminarea apelurilor – este permis transferul apelurilor de la un dispozitiv la altul. Pe durata transferului se stabilește o sesiune între terminalul care va renunța (transferee party) și noul terminal (transferring party) care apoi se închide. La finalul convorbirii se închide sesiunea [Dob16];
3.4.1 Arhitectura protocolului SIP
În Figura 6 este prezentată arhitectura protocolului SIP, modul în care componentele acestei arhitecturi interacționează una cu cealaltă, precum și protocoalele implicate [Ses03]. Agenții utilizatori (UA-User Agents) reprezintă perechiile dintr-o sesiune. În acest caz, Agentul Utilizator A este un agent utilizator client (UAC-User Agent Client) care inițiază o cerere SIP (SIP Request) pentru a realiza o sesiune cu Agentul Utilizator B, acesta fiind un server (UAS-User Agent Server) [Dob16]. Sesiunile care au loc între agenți necesită servere proxy pentru a transmite cererile sau răspunsurile acestora. Agenții utilizatori folosesc de asemenea SDP (Session Description Protocol), care se folosește pentru a descrie sesiunea media.
Figura 6. Arhitectura Protocolului SIP [Ses03]
Un server SIP reprezintă o componentă importantă în cadrul unei centrale telefonice și are rol în gestionarea tuturor apelurilor dintr-o rețea. Acestea nu transmit sau recepționează nici un tip de informații media, acest lucru se realizează cu ajutorul protocolului RTP (Real-time Transport Protocol) [Server]. Mai jos se vor defini serverele SIP:
Proxy Server – recepționează cereri SIP de la client și le trimite în numele clientului la următorul server SIP din rețea (care poate fi alt proxy server sau un UAS);
Redirect Server – oferă clientului informații despre următorul hop la care trebuie să ajungă mesajul;
Registrar Server – recepționează cereri de la UAC pentru înregistrarea locației curente a agentului utilizator client;
Location Server – este o abstractizare a unui serviciu și oferă rezoluție adresă pentru serverele SIP proxy și redirect [Dob16];
3.4.2 Mesaje SIP
Mesajele SIP sunt transmise folosind protocoalele TCP, UDP sau SCTP. Porturile utilizate sunt 5060 pentru semnalizări necriptate și 5061 pentru semnalizări criptate cu TLS (Transport Layer Security). Există două tipuri de mesaje: cereri SIP (SIP Request) și răspunsuri SIP (SIP Response). Cererile SIP care sunt utilizate într-un apel SIP direct sunt următoarele iar celelalte cereri SIP pot fi consultate în Anexe [Dob16].
INVITE – este folosită pentru a stabili sesiuni media între clienți și server;
ACK – este utilizată pentru confirmarea schimbului de mesaje;
CANCEL – se folosește pentru a finaliza sesiunea în așteptare;
BYE – este utilizată atunci când există o sesiune în curs și se dorește
încheierea acesteia [Jab12];
Codul precum și descrierea răspunsurilor SIP sunt prezentate în continuare, de asemenea descrierea explicită a fiecărui cod în parte poate fi gasită în Anexe.
1xx – Răspunsurile Informaționale;
2xx – Succes;
3xx – Redirecționare;
4xx – Eroare de client;
5xx – Eroare de server;
6xx – Defecțiune globală [Jab12];
Figura 7. Realizarea unui apel SIP direct [Dob16]
3.4.3 Trunchiuri SIP
Trunchiurile SIP [Hat10] facilitează transmisii de voce și video (și alte aplicații în timp real) prin intermediul Internetului (IP) în și între diferite domenii de comunicații, cum ar fi companiile. Trunchiurile SIP sunt utilizate pe scară largă cu scopul de a înlocui trunchiurile tradiționale TDM (Time Division Multiplexing) pentru a putea accesa un PSTN (Public Switched Telephone Network). Acestea furnizează o platformă prin intermediul căreia companiile pot comunica între ele folosind rețele IP. De asemenea, acestea permit comunicarea IP de la un capăt la altul pentru a asigura o experiență media bogată pentru toți utlizatorii.
Figura 8. Modelul de funcționare al trunchiurilor SIP [SIP17]
Înainte de trecerea spre serviciul de trunchiuri SIP trebuie să se țină cont de următoarele aspecte:
Numărul de persoane care sunt la telefon în același timp în timpul orelor cele mai aglomerate. Acest lucru va determina numărul total de canale de care este nevoie. Trunchiurile SIP permit o scalare rapidă și ușoară, astfel încât se pot adăuga sau elimina canale după cum este necesar în cazul în care există o situație suprasolicitantă;
Volumul de apeluri de la săptămână la săptămână. Trunchiurile SIP pun la dispoziție taxarea pe canal sau pe minut;
Îmbunătățirea conexiunii de Internet ar putea fi necesară pentru a asigura o lățime de bandă suficientă pentru a transporta un nou sistem telefonic pe lângă utilizarea tipică a Internetului;
La fel de importantă ca lățimea de bandă este QoS (Quality of Service). Aceasta prioritizează traficul de voce și asigură lățimea de bandă necesară pentru apelurile telefonice, indiferent de ce se întâmplă în rețea;
O altă caracteristică importantă in vederea serviciului de trunchiuri SIP este reprezentată de caracteristica de Firewall. Aceasta este esențială pentru a menține securitatea atât în cadrul unei rețele LAN, cât și în cadrul unei rețele largi (WAN). Totuși, acestea trebuie configurate corect pentru o bună funcționare cu Trunchiul SIP [SIP17];
Beneficiile trunchiurilor SIP
Reducerea costurilor – Reducerea costurilor și avantajele de comunicare ale trunchiurilor SIP sunt substanțiale. Trunchiurile SIP permit companiilor să plătească numai pentru numărul de linii de care au nevoie. Economiile sunt realizate fie prin achiziționarea doar a numărului necesar de canale, fie prin plata doar pentru minutele utilizate. Acest lucru permite companiilor să utilizeze mai eficient costurile de comunicații și să reducă sau să elimine resursele pierdute.
Scalabilitate – Deorece se utilizează o conexiune virtuală, adăugarea de linii sau modificarea serviciilor este rapidă și ușoară. De asemenea, funcționează cu cele mai moderne telefoane.
Fiabilitate – VoIP împreuna cu trunchiurile SIP sporesc fiabilitatea serviciilor oferind un nivel de redundanță. Atunci când apar defecțiuni și situații de urgență, furnizorii de trunchiuri SIP pot să reruteze serviciile către o linie de date redundantă [SIP17].
3.5 Telefoane soft
Telefoanele soft sunt clienți instalați pe orice dispozitive inteligente care nu au fost inițial concepute ca telefoane [Hat10]. Prin intermediul telefoanelor soft se pot realiza, recepționa și gestiona apelurile vocale pe Internet [Sof17].
3.5.1 Părțile componente a unui telefon soft
Un telefon soft este compus din următoarele componente:
O interfață care acționează asemenea unei platforme pentru comunicarea dintre utilizator și computer sau dispozitiv. Oferă utilizatorului o tastatură numerică pentru a forma numerele și în unele cazuri, o tastatură pentru a adăuga nume noilor contacte. Interfața include, de asemenea, butoane de control prin intermediul cărora se pot gestiona apelurile și seta prezența. Funcționează cu ajutorul intrărilor și a ieșirilor audio ale dispozitivului pentru a reda și a capta sunete pe toată durata apelului;
Un motor pentru procesarea apelurilor, care permite plasarea și recepționarea apelurilor folosind un anumit protocol;
Un set de codec-uri care permit ca vocea să fie codificată între formatul analog (vocea naturală) și formate digitale. De asemenea, codec-urile comprimă datele astfel încât să poată fi ușor transmise prin Internet;
O listă de contacte, care este o listă ce cuprinde nume și numere [Sof17];
3.5.2 Tipuri de telefoane soft
Telefoanele soft au evoluat de-a lungul anilor pe tot parcursul dezvoltării industriei VoIP. La început, telefoanele soft erau doar o replicare pe un ecran a telefoanelor tradiționale. În prezent, acestea sunt utlizate ca interfețe de baza pentru aplicațiile de comunicare. Telefoanele soft diferă în funcție de caracteristicile lor, de scopul utilizării lor și de complexitatea protocoalelor sub care funcționează și în funcție de caracteristicile oferite. De exemplu, un telefon soft care este folosit în scopuri de afaceri este probabil să aiba o interfață voluminoasă [Sof17].
3.5.3 Tipuri de telefoane soft utilizate
MicroSIP – este un telefon soft portabil, disponibil doar pentru sistemul de operare Windows, care poate fi procurat fără a necesita vreo investiție, fiind open source. Beneficiază de o interfață simplistă și din acest motiv are un consum mic de resurse [Mic17]. MicroSIP utilizează următorul set de codec-uri de voce: Speex, G.722, G.729, LPCM, SILK, iLBC, AMR, GSM. Codec-urile pentru video sunt următoarele: H.264, H.263+, VP8. În figura următoare este prezentată interfața telefonului soft MicroSIP.
Figura 9. Interfața telefonului soft MicroSIP
CSIP Simple – este o aplicație VoIP mobilă dedicată terminalelor care rulează sistemul de operare Android. Este o aplicație gratuită, care îndeplinește funcțiile de bază a unui telefon, cum ar fi efectuarea și recepționarea apelurilor dar care nu acceptă transferuri de apeluri și permite doar un singur apel la un moment dat [CSI17]. CSIP Simple utilizează următorul set de codec-uri pentru voce: Speex, G722, SILK, iLBC, GSM, PCMU, PCMA, ISAC, G726, Mpeg4, Opus. Iar pentru serviciul video se folosesc următoarele codec-uri: H264, H263, VP8. În figura următoare este prezentată interfața telefonului soft CSIP Simple.
Figura 10. Interfața telefonului soft CSIP Simple
3.6 OpenVPN
Definirea unui VPN – un VPN permite crearea unei rețele locale între multiple dispozitive care se află în diferite segmente de rețea. În unele cazuri, aceste mașini pot fi în aceeași rețea locală sau pot fi distante una față de cealaltă. Litera „P” din VPN vine de la faptul că rețeaua locală este privată. Traficul de rețea care circulă prin interiorul tunelului VPN este privat față de tot ceea ce se întamplă în exteriorul tunelului. În figura următoare se poate observa comunicarea între două dispozitive cu sau fără VPN [Cri15].
Figura 11. Comunicarea între două dispozitive cu sau fără VPN [Cri15]
OpenVPN a fost lansat în anul 2001 și prima versiune permitea doar o conexiune punct-la-punct VPN folosind protocolul UDP. Versiunea curentă de OpenVPN folosește protocolul SSL/TLS pentru securizarea și privatizarea conexiunii [Cri15].
Ca orice protocol VPN, OpenVPN prezintă numeroase avantaje, dar de asemenea prezintă și dezavantaje care trebuiesc luate în considerare. Tabelul de mai jos prezintă succint aceste aspecte.
Tabelul 5. Avantajele și dezavantajele protocolului OpenVPN [Ope16]
Implementarea soluției adoptate
Descriere testbed
Figura 12. Arhitectura sistemului de comunicații care are la baza centrala 3CX
Centrala telefonică 3CX este instalată pe o mașină virtuală care rulează sistemul de operare Windows 7. Mașina virtuală este stocată în OpenStack, acesta fiind un software Cloud gestionat de către UC Labs.
Pentru a realiza un apel prin intermediul centralei telefonice 3CX, dispozitivele între care se dorește să se realizeze conexiunea trebuie să fie în aceeasi rețea locală cu mașina virtuală, stocată în Cloud. Pentru ca dispozitivele să fie în aceeași rețea locală cu mașina virtuală din Cloud, se realizează o rețea privată virtuală folosind software-ul OpenVPN. Prin această rețea privată virtuală se realizează o conexiune securizată între client, reprezentat de dispozitivele dinafara rețelei, și Internet. Mașina virtuală este conectată direct la Internet și dispozitivele se conectează la rețeaua locală a mașinii virtuale folosind OpenVPN și indirect la Internet. Dinspre Internet, dispozitivele sunt văzute ca mașina virtuală insăși folosind adresa fizică și alte atribute ale mașinii virtuale, asta însemnând că identitatea dispozitivelor este perfect ascunsă.
Pentru a putea stabili o conexiune între două telefoane mobile sau între un telefon mobil și un laptop, telefoanele mobile trebuie să fie, la rândul lor, în aceeași rețea locală cu mașina virtuală iar acest lucru se poate realiza prin intermediul unui punct de acces creat prin programul Connectify Hotspot de către laptopul conectat la rețeaua locală a mașinii virtuale prin OpenVPN.
Configurarea centralei telefonice 3CX
Configurarea 3CX – Versiunea 15
Implementarea versiunii 15 a centralei telefonice 3CX s-a realizat în patru pași principali:
1) Instalarea și configurarea sistemului de operare Debian pe o mașină virtuală folosind programul VMware;
2) Instalarea software-ului 3CX pe sistemul de operare Debian;
3) Configurarea centralei telefonice 3CX;
4) Crearea de extensii pentru a putea realiza apeluri între dispozitive;
Instalarea sistemului de operare Debian trebuie pregătită cu mare atenție. Înainte de instalarea propriu-zisă, prin intermediul interfeței programului VMware trebuie să se seteze câțiva parametrii pentru o bună și o fluidă funcționare a sistemului de operare. Capacitatea de stocare a discului este setată implicit la 20GB dar nu trebuie modificată deoarece este suficientă. Memoria RAM vine setată implicit la 512MB dar pe baza experimentelor anterioare, această memorie este insuficientă pentru o funcționare fluidă a sistemului de operare. Prin urmare, memoria RAM va fi setată la 3GB așa cum este ilustrat în figura următoare.
Figura 13. Configurarea hardware a mașinii virtuale
În timpul procesului de instalare al sistemului de operare Debian, după selectarea locației și a limbii dorite va apărea o fereastră în care se pot selecta colecțiile software dorite pentru instalare alături de cele instalate predefinit. Aceste colecții software sunt următoarele:
Debian Desktop Environment – Debian suportă mai multe tipuri de medii grafice, cum ar fi: GNOME, Xfce, KDE, Cinamon, MATE, LXDE [Des17];
Web Server – Un web server acceptă cereri HTTP de la clienți (Browser Web) după care trimite clienților răspunsuri HTTP împreună cu conținutul de date, care de obicei sunt pagini Web [Web17];
Print Server – Această opțiune va pune la dispoziție pachete de printare pe care Debian le are la dispoziție [Pri17];
SSH Server – Permite conectarea securizată la distanță [SSH17];
Standard System Utilities – Furnizează pachete de bază, de care va fi nevoie pe parcursul utilizării sistemului de operare [Sta16];
Pentru instalarea centralei telefonice 3CX următoarele cerințe minime trebuiesc îndeplinite:
1) 1 GB RAM;
2) Procesor Pentium IV sau mai mare;
3) Capacitatea de redare audio;
Mai întâi, programul trebuie să fie instalat pe mașina virtuală care este stocată în Cloud-ul OpenStack orchestrat de către UC Labs. Se conectează la mașina virtuală folosind SSH și se introduc următoarele comenzi:
wget -O- http://downloads.3cx.com/downloads/3cxpbx/public.key | apt-key add –
echo "deb http://downloads.3cx.com/downloads/3cxpbx/ /" | tee /etc/apt/sources.list.d/3cxpbx.list
apt-get update
apt-get install 3cxpbx
În al treilea pas, după finalizarea instalării se lansează un browser web și se navighează la http://ADRESAIP:5015 pentru realizarea ultimelor configurații ale centralei telefonice 3CX, așa cum se poate observa în figura următoare.
Figura 14. Navigarea spre adresă pentru ultimele configurări
În aceste configurații, printre altele, credențialele trebuiesc specificate și tipul adresei IP asigurat de furnizorul de servicii de Internet (ISP). Un IP Static reprezintă tipul de IP care rămâne neschimbat de către furnizorul de servicii spre deosebire de IP-ul Dinamic care poate fi schimbat oricând de către furnizor. Se va opta pentru prima variantă deoarece mașina are asignat un IP Static.
Figura 15. Selectarea tipului de IP Public
În ultimul pas se va accesa interfața centralei telefonice 3CX folosind adresa IP a mașinii și portul 5001. La nivelul interfeței web poate fi găsit un Dashboard care este compus din trei ferestre prin intermediul cărora se monitorizează activitatea centralei. Prima fereastră este reprezentată de Starea Sistemului – System Status unde se poate observa întreaga activitate a procesorului care este măsurată cu ajutorul unui grafic, utilizarea discului – disk usage si a memoriei – memory usage.
Figura 16. Dashboard – Starea Sistemului – System Status
A doua fereastră reprezintă Starea Centralei Telefonice – PBX Status care furnizează diferite statistici cu privire la centrala telefonică, cum ar fi:
Trunks Up – Arată numărul de trunchiuri înregistrate versus configurate;
Extensions Up – Arată numărul de extensii active versus configurate;
Number of calls in use – Arată numărul de apeluri active versus cele licențiate;
Blacklisted IPs – Arată numărul de apeluri care au fost adăugate la lista neagră în urma autentificărilor repetate;
Event log – Permite eliminarea jurnalului de evenimente;
Call history – Afișează cantitatea de date folosită de Call History;
Chat logs – Permite activarea sau dezactivarea Chat logs;
Automatic Backups – Afișează dacă există configurarea copiei de rezervă;
Firewall Check – Arată dacă a fost executată verificarea firewall-ului și rezultatul acesteia;
Services – Are culoarea verde dacă toate serviciile centralei rulează și culoarea roșie dacă cel puțin un serviciu este căzut;
System Extensions – Are culoarea verde dacă toate extensiile sistemului sunt înregistrate, roșu în caz contrar [Interf];
Figura 17. Dashboard – Starea Centralei Telefonice – PBX Status
În următoarea figură este ilustrată ultima fereastră a Dashboard-ului care conține toate informațiile cu privire la cont, acestea fiind:
FQDN – Afișează FQDN (Fully Qualified Domain Name) utilizat de site;
IP – Arată IP-ul public asignat centralei telefonice 3CX;
PUSH Account – Se poate alege un cont implicit sau un cont propriu;
Webmeeting FQDN – Afișează FQDN care corespunde întâlnirilor Web;
Webmeeting MCU – Afișează MCU (Multipoint Control Unit) implicit; trebuie configurat la regiunea actuală;
License – Arată daca licența este activată și cărei versiuni și ediții îi corespunde;
Maintenance – Arată data limită la care mentenanța va expira;
Sim Calls – Numărul maxim de apeluri licențiate;
Sim meeting participants – Numărul maxim de participanți acceptați la conferință;
Outbound Rules – Cel puțin o regulă este necesară pentru a putea efectua un apel [Interf];
Figura 18. Dashboard – Informație – Information
Pentru a efectua un apel cel puțin două extensii trebuie să fie create. O extensie poate să fie creată prin apăsarea butonului de Add care se află în secțiunea de extensii. În procesul de adăugare unei noi extensii există câteva câmpuri care trebuie completate. Aceste câmpuri pot fi văzute în figurile listate mai jos. În secțiunea User Information există următoarele câmpuri care trebuie completate:
Extension Number – Este reprezentată de un grup de trei, patru sau cinci cifre, în funcție de ce s-a optat la configurarea centralei, care se vor folosi când se va face un apel la extensia respectivă;
First Name – Reprezintă prenumele utilizatorului;
Last Name – Reprezintă numele de familie al utilizatorului;
Email address – Acest câmp se completează cu e-mailul utilizatorului. Prin intermediul acestuia se poate solicita un e-mail de bun venit care conține toate setările necesare pe care centrala le trimite pentru a configura dispozitivul de pe care se realizează, sau se primesc apelurile;
Mobile Number – Se utilizează pentru a permite altor utilizatori să faca un apel direct pe mobil;
Outbound Caller ID – Reprezintă numărul afișat atunci când se opteaza pentru un asemenea apel;
În secțiunea Autethication există două câmpuri care se completează automat, dar se pot modifica dacă se dorește. Acestea sunt ID și Password și sunt folosite de către dispozitiv pentru a se autentifica la centrala telefonică 3CX [Ext].
Figura 19. Adăugarea unei noi extensii
Configurarea 3CX – Versiunea 11
S-a optat pentru versiunea 11 deoarece permite folosirea caracteristicii video pe durata apelurilor dintre dispozitive, chiar dacă este o versiune gratis. Implementarea acestei versiuni s-a realizat în patru pași principali, iar cerințele minime de instalare sunt aceleași ca în cazul versiunii 15.
1) Accesarea mașinii virtuale Windows 7 din Cloud-ul gestionat de către UC Labs prin intermediul unui browser web;
2) Descărcarea, instalarea și configurarea pachetului 3CX;
3) Crearea de extensii pentru a putea plasa apeluri între dispozitive;
4) Configurarea telefoanelor soft în vederea realizării apelurilor de voce, respectiv video;
În primul pas se accesează mașina virtuală deja instalată și stocată în Cloud-ul OpenStack. Dashboard-ul OpenStack oferă o prezentare generală asupra instanței existente, unde sunt specificate, printre altele, următoarele informații:
Numele instanței;
Starea instanței – pornită sau oprită;
Data când a fost creată;
Specificațiile instanței;
Adresa IP;
În cazul acestei instanțe s-a optat pentru o configurație asemănătoare cu cea realizată pentru varianta 15 a centralei telefonice 3CX, pentru o funcționare mai satisfăcătoare a sistemului de operare. În figura următoare se găsește Dashboard-ul OpenStack cu toate specificațiile aferente.
Figura 20. Dashboard-ul OpenStack
În următorul pas, pentru descărcarea pachetului 3CXPhoneSystem se navighează la website-ul [D3CX] și se alege versiunea 11, după care se instalează. Procesul de configurare se va realiza pas cu pas, iar setările care trebuie configurate sunt următoarele:
Language – Se va selecta dintr-o listă limba dorită (s-a optat pentru limba engleză);
Local IP – Se va selecta IP-ul local dintr-o listă, așa cum este ilustrat în Figura 21;
Public IP – Dacă se dorește o conectare la centrala telefonică dintr-o altă rețea, trebuie să se specifice un IP Public al centralei. Acest câmp este opțional și poate fi lăsat gol sau completat ulterior (în acest caz acest câmp a fost lăsat gol);
Settings – Se pot folosi setări noi sau se pot folosi setări existente;
Extensions Digits – Va trebui să se specifice din câte cifre va fi compusă extensia. Din experimentele anterioare se recomandă folosirea extensiilor formate din 4 cifre;
Mail Server – În această setare se specifică serverul SMTP (Simple Mail Transfer Protocol) care se folosește pentru a trimite notificări în ceea ce privește mesageria vocală. Se va specifica, de asemenea, adresa personală de e-mail și parola contului;
Administrator Login – În aceste câmpuri se vor specifica credențialele dorite;
Extension – Prin intermediul acestei setări se va crea prima extensie;
Region – Se va selecta țara de unde va opera centrala telefonică, precum și prefixul corespunzător (România +40);
Allowed Countries – Cu ajutorul acestei setări se pot selecta regiunile suportate de către centrala telefonică, pentru a realiza apeluri (în acest caz s-a selectat doar regiunea Europei);
VoIP Providers – Dacă este cazul se poate alege un furnizor de servicii VoIP iar în caz contrar nu se specifică nimic (Nu se selectează nici un operator și se apasă Skip);
După realizarea tuturor acestor setări se salvează configurația dorită iar centrala poate fi utilizată.
Figura 21. Selectarea IP-ului local
Procedeul creării unei extensii este asemănător cu cel din versiunea 15. Se apasă butonul Add Extension din bara de opțiuni orizontală și dupa aceea se completează câmpurile din secțiunea User Information și cele din secțiunea Authentication care sunt aproximativ aceleași cu cele prezentate pentru versiunea 15.
Figura 22. Crearea unei extensii
În ultimul pas are loc configurarea telefoanelor soft în vederea realizării apelurilor dintre dispozitive. În primă instanță s-au folosit smartphone-urile Zoiper și 3CX dar acestea nu au putut fi configurate pentru realizarea experimentelor dorite, deoarece centrala telefonică trebuia actualizată la o versiune mai nouă, dar acest aspect ar fi dus la împiedicarea realizării apelurilor video.
Pentru realizarea apelurilor de voce sau video dintre dispozitive s-a optat pentru telefonul soft MicroSIP pentru terminalul care rulează Windows și telefonul soft CSIP Simple pentru dispozitivul Android.
Configurarea telefonului soft MicroSIP
Configurarea presupune, în primul rând, adăugarea unui cont care să corespundă unei extensii create în centrala telefonică. Adăugarea unui cont se realizează prin intermediul interfeței telefonului soft apăsând butonul Menu iar apoi Add account. Pentru adăugarea unui cont trebuie completate câmpurile ilustrate în Figura 23. În cotinuare se vor defini doar câmpurile obligatorii:
Account name – Reprezintă numele contului;
SIP Server – Acest câmp trebuie completat cu adresa centralei telefonice;
User – În acest câmp se insereaza numele contului;
Domain – Se completează cu adresa IP a centralei telefonice;
Login – Se va folosi numărul de patru cifre care reprezintă extensia, iar daca acest câmp nu se va completa se vor lua informațiile din câmpul User;
Password – Se utilizează parola corespuzătoare extensiei respective;
Display name – Acest nume este afișat de către terminalul apelat de fiecare dată când se realizează un apel;
Transport – Reprezintă tipul de transmitere al datelor. Se folosește Auto, ceea ce înseamnă ca se folosește un mix între TCP și UDP;
Public Address – Se utilizează pentru selectarea adresei publice, totuși se recomandă selectarea modului Auto pentru actualizarea automată a adresei;
Publish Presence – Prin utilizarea acestei opțiuni, ceilalți abonați au dreptul să vada starea utilizatorului [Micro];
Figura 23. Crearea unui cont
După procesul de configurare al unui cont, pentru a putea plasa un apel funcțional anumite setări trebuiesc configurate. Aceste setări pot fi accesate prin apăsarea butonului Menu și apoi Settings. Dintre aceste setări, cele mai importante sunt cele care privesc codec-urile audio și video. După cum se poate observa în Figura 24, codec-urile audio pot fi activate sau dezactivate prin mutarea lor dintr-o listă în alta, iar codec-urile video se pot activa sau dezactiva prin intermediul butoanelor de tip checkbox. În lista codec-urilor audio valabile-enabled se poate stabili prioritatea lor prin mutarea acestora cu ajutorul săgeților din stânga listei. În cazul codec-urilor video ele au fost setate în mod implicit-default ceea ce înseamnă că, codec-ul folosit va fi ales în funcție de codec-ul video folosit de către celălalt terminal.
Figura 24. Configurare codec-uri audio și video
Configurarea telefonului soft CSIP Simple
Acest telefon soft rulează doar pe dispozitivele Android și poate fi descărcat prin intermediul aplicației Magazin Play, care se găsește pe toate dispozitivele Android. Această aplicație trebuie descărcată împreună cu pachetul de codec-uri Codec Pack for CSipSimple¸ unde se găsesc toate codec-urile necesare pentru voce și pentru video. De asemenea trebuie să se navigheze la pagina [CSip] și să se descarce fișierul cu extensia .apk CSipSimpleVideoPlugin, care adaugă componenta video programului.
După instalarea programului și a extensiilor se va trece la crearea unui cont. Meniul de creare a unui utilizator se poate accesa prin apăsarea butonului corespunzător tuturor conturilor situat în colțul de jos din stânga ecranului, după care se apasă butonul Add account, iar în continuare va apărea o lista cu mai multe opțiuni de creare a contului de unde se va alege Advanced, toți acești pași precum și câmpurile care trebuie completate, în vederea creării unei extensii pot fi urmărite în Figura 25. Câmpurile pentru adăugarea unei extensii sunt aceleași ca și în cazul telefonului soft MicroSIP.
Figura 25. Accesarea meniului de creare a unui cont
După procesul de creare al unei extensii trebuiesc realizate câteva setări pentru a asigura o bună funcționare a telefonului soft pe durata unui apel. În primă fază se selectează codec-urile pentru audio și video. De menționat este faptul că există câte două liste pentru codec-urile audio și video:
1) Fast – se folosește dacă apelul se realizează printr-o rețea Wireless;
2) Slow – se folosește daca apelul se realizează printr-o rețea 3G;
Pentru acest experiment se va folosi doar lista Fast de codec-uri audio și video. Pentru a ajunge la meniul codec-urilor se vor accesa setările cu ajutorul butonului situat în colțul de jos, din dreapta ecranului, după care se va selecta Media iar apoi Codecs, exact ca în Figura 26. După selectarea codec-urilor se va accesa din nou setările, dar de această dată în loc de Media se va selecta Call options și se va bifa opțiunea Use video pentru a permite acestui dispozitiv să realizeze apeluri video.
Figura 26. Procesul de selectare al codec-urilor pentru audio și video
Replicarea rețelei locale folosind programul Connectify Hotspot
Programul Connectify Hotspot se folosește pentru replicarea rețelei locale de Internet la care este conectat dispozitivul prin intermediul unei rețele private virtuale – OpenVPN. Rețeaua replicată este utilizată de către telefoanele Android din pricina faptului că nu se poate folosi versiunea mobilă a programului OpenVPN deoarece aceasta este relativ nouă și necesită anumite îmbunătățiri.
De asemenea, utilitarul Connectify Hotspot utilizează un server DHCP prin care atribuie în mod dinamic adrese IP de clasă C terminalelor conectate la rețeaua replicată, IP-urile fiind de forma: 192.168.70.XXX .
Configurarea Connectify Hotspot este relativ simplă și nu necesită mult timp. Tot ce trebuie specificat este un nume al noii rețele, o parolă, rețeaua care se dorește a fi replicată și placa de rețea prin intermediul căreia se realizează replicarea rețelei. În figura ilustrată în continuare se pot vedea toate aceste câmpuri.
Figura 27. Interfața programului Connectify Hotspot
4.4 Implementarea trunchiurilor SIP
Experimentul ce implică trunchiuri SIP între centrala telefonică 3CX și o altă centrală telefonică se va demonstra practic într-o lucrare viitoare datorită faptului că centrala 3CX nu este una open source, iar implementarea anumitor funcții necesită bani și nu pot fi realizate în versiunea gratis. Totuși, pașii pentru configurarea centralei 3CX în vederea realizării trunchiurilor SIP se vor defini în continuare. În primă instanță, prin intermediul consolei de gestionare al centralei se va selecta Bridges iar apoi Add Bridge. În Figura 28 se pot vedea câmpurile care trebuie completate, acestea fiind:
Virtual extension – Reprezintă un număr format din cinci cifre care trebuie să fie unic;
Name of bridge – Este modul de identificare a conexiunii respective;
Type of 3CX Bridge – Când se creează o conexiune de tip Bridge între două centrale telefonice, una dintre ele trebuie sa fie Master iar cealaltă Slave;
Authentication Password – Reprezintă parola aleasă de către dispozitivul Master, pentru stabilirea conexiunii, iar centrala telefonică de tip Slave trebuie sa introducă aceeași parolă;
Publish Information – Transmiterea informațiilor de stare către cealaltă centrală telefonică [Bri17];
Pentru ca apelurile între centrale să fie funcționale, trebuiesc configurate un set de reguli pentru apelurile dinspre centrală – Outbound Call Rule și pentru apelurile către centrală – Inbound Call Rule. Pentru aplicarea acestor reguli apelurile vor fi filtrate în funcție de:
Prefix;
Anumite extensii sau intervale de extensii;
Numărul de cifre dintr-o extensie;
Extensiile dintr-un anumit grup [Bri17];
Apelurile care se încadrează acestor filtrări, vor fi trimise pe o anumită conexiune Bridge care este specificată ca și rută.
Figura 28. Câmpurile necesare pentru o conexiune Bridge între centrale
4.5 Arhitectura de test
În vederea realizării rezultatelor experimentale se vor crea patru clienți, doi dintre ei se vor înregistra prin intermediul unor dispozitive Android, un telefon și o tabletă, iar ceilalți doi clienți se vor înregistra folosind două laptop-uri. Toți cei patru clienți sunt conectați la centrala telefonică cu ajutorul Internetului, exact cum se poate vedea în Figura 29. Înregistrarea clienților se realizează utilizând dispozitivele mai sus menționate și următoarele credențiale:
Clientul Uclabs1 – Extensia: 1000; Parola: parola1;
Clientul Uclabs2 – Extensia: 1001; Parola: parola2;
Clientul Uclabs3 – Extensia: 1002; Parola: parola3;
Clientul Uclabs4 – Extensia: 1003; Parola: parola4;
Pentru toate extensiile se va folosi următoarea adresă IP a serverului: 10.8.8.102.
Figura 29. Conectarea clienților la centrala telefonică
Pentru a putea plasa apeluri între dispozitive este necesar ca toate extensiile sa fie introduse exact în modul în care s-au definit mai sus, iar acest aspect se poate verifica prin intermediul centralei telefonice, accesând secțiunea Extensions Status, Server Event Log sau Server Activity Log unde se poate vedea cu exactitate data și ora la care extensia respectivă s-a înregistrat la centrală. În fereastra Server Activity Log se pot filtra rezultatele în funcție de ce se dorește să se afișeze și în funcție de intervalul de timp dorit. În figura următoare sunt prezentate toate cele trei ferestre.
Figura 30. Înregistrarea extensiilor la server
Rezultate experimentale
În acest capitol se vor prezenta diferite scenarii de realizare a unui apel audio sau video între terminalele menționate anterior. Pentru monitorizarea acestor scenarii s-a folosit programul Wireshark cu ajutorul căruia se vor captura toate pachetele dintre dispozitive, de asemenea se va folosi Server Activity Log din centrala telefonică 3CX. Scenariile care se vor realiza sunt următoarele:
Apel audio între calculatorul cu extensia 1000 și cel cu extensia 1002;
Mesaje text în timp real între calculatorul cu extensia 1000 și cel cu extensia 1002;
Apel video între calculatorul cu extensia 1000 și cel cu extensia 1002;
Apel audio între calculatorul cu extenisa 1000 și telefonul cu extensia 1001;
Apel video între calculatorul cu extensia 1000 și telefonul cu extensia 1001;
Apel audio între telefonul cu extenisa 1001 și tableta cu extensia 1003;
Apel video între telefonul cu extenisa 1001 și tableta cu extensia 1003;
5.1 Apel audio între două calculatoare
În cadrul acestui scenariu se va folosi programul Wireshark pentru a captura pachetele rezultate în urma apelului dintre terminale iar apoi aceste rezultate se vor compara cu rezultatele înregistrate în centrala cu ajutorul Server Activity Log.
În primă fază se va selecta rețeaua de unde se vor captura pachetele, după care se pornește apelul între dispozitive. După încheierea apelului se oprește procesul de capturare al pachetelor și se vizualizează rezultatele obținute. Rezultatele se pot filtra în funcție de ce se dorește să se analizeze. În figura următoare s-au filtrat pachetele și s-au afișat doar cele care implică protocolul SIP.
Figura 31. Captură Wireshark semnalizări SIP
Așa cum se poate observa în această captură există trei adrese IP între care se trimit semnalizările SIP:
Primul pachet se trimite între calculatorul care efectuează 10.8.8.32 – Reprezintă IP-ul folosit în rețeaua privată virtuală și este adresa calculatorului care are acces la acea rețea prin intemediul programului OpenVPN;
10.8.8.102 – Este adresa serverului. De asemenea această adresă se folosește atunci când se înregistrează fiecare client la centrală;
10.8.8.1 – Reprezintă IP-ul gateway-ului rețelei private, care este utilizat pentru a vizualiza toate pachetele care circulă între rețeaua privată și extensia 1002;
Primul pachet se trimite între calculatorul care efectuează apelul și server, aceasta fiind o cerere SIP prin intermediul căreia se descrie sesiunea multimedia și se invită celălalt client la conversație.
Răspunsul SIP 407 este modul în care serverul înștiințează clientul care efectuează apelul că trebuie să se autentifice pentru a putea invita celălalt client la conversație. După retransmiterea invitației, apelul se va efectua în condițiile specificate în invitație, acest lucru fiind confirmat de răspunsul SIP 200 transmis de clientul destinație.
După încheierea conversației se va trimite o cerere de finalizare a convorbirii iar acest lucru se confirmă printr-un răspuns SIP 200.
Figura 32. Captură Server Activity Log
Prin intermediul opțiunii Server Activity Log a centralei se poate monitoriza întreaga activitate care este necesară în vederea realizării unui apel. De asemenea această opțiune poate fi folosită atunci când se încearcă depanarea unei probleme la nivelul centralei sau la nivelul clienților.
Spre deosebire de captura realizată cu programul Wireshark, aceasta este mai sumară, deoarece multe dintre detaliile despre cererile sau răspunsurile SIP au fost omise. Se specifică doar că există un apel de la clientul 1000 spre clientul 1002, ruta dintre cei doi clienți, precum și alăturarea clienților la conversație. La finalul conversației se precizează clientul care a inițiat încheierea conexiunii.
5.2 Mesaje text în timp real între două calculatoare
Folosind opțiunea de mesaje text din cadrul telefonului soft MicroSIP, se va realiza un schimb de mesaje între clienți, iar apoi se va încerca vizualizarea acestor imagini folosind utilitarul Wireshark, precum și afișarea semnalizărilor SIP aferente. În Figura 33 este ilustrat schimbul de mesaje dintre clientul 1002 și clientul 1000.
Figura 33. Schimb de mesaje între clienți
În Figura 34 sunt ilustrate semnalizările SIP care s-au realizat în vederea trimiterii primului mesaj din Figura 33.
Primul pachet va fi retransmis deoarece serverul solicită o autentificare a clientului care expediază mesajul, comunicat prin răspunsul SIP 407. După această autentificare mesajul va fi transmis la destinație, iar clientul destinație va trimite un răspuns SIP că acel mesaj a fost recepționat cu succes.
Figura 34. Semnalizările SIP pentru mesajul transmis
În figura următoare se găsește conținutul unui pachet SIP care se folosește pentru transmiterea unui mesaj la o anumită destinație.În chenarul notat cu numărul 1, expeditorul mesajului este clientul 1002, iar destinatarul este clientul 1000, de asemenea în chenarul 2 se poate vedea câmpul Message Body care conține mesajul care a fost transmis de către clientul 1002 folosind telefonul soft MicroSIP.
Figura 35. Conținutul unui pachet de tip mesaj
5.3 Apel video între două calculatoare
În cadrul acestui scenariu adresele IP sunt aceleași ca în cazul scenariului 5.1, fiind atribuite pentru aceleași terminale.
În primă fază, se vor dezactiva codec-urile video ale clientului 1002, iar schimbul de pachete dintre terminale va fi monitorizat folosind utilitarul Wireshark și Server Activity Log din centrala telefonică 3CX. Codec-urile video vor putea fi dezactivate prin intermediul telefonului soft MicroSIP accesând Menu apoi Settings, după care se vor bifa următoarele butoane de tip checkbox:
Disable H.264;
Disable H.263+;
Disable VP8;
În Figura 36 sunt prezentate semnalizările SIP dintre cele două terminale. Se poate observa că după autentificarea clientului 1000, invitația la convorbire va ajunge la destinație, dar destinatarul apelului va trimite un răspuns SIP 406 prin care clientul 1000 este înștiințat de faptul că sesiunea nu va avea loc.
Figura 36. Semnalizările SIP care conțin răspunsul 406
Folosind opțiunea Server Activity Log din cadrul centralei telefonice 3CX, se poate vedea pas cu pas realizarea apelului. Apelul se realizează în mod normal până într-un anumit punct marcat pe Figura 37 cu culoarea verde, unde se specifică exact ca și în captura Wireshark transmiterea răspunsului SIP 406 de către IP-ul 10.8.8.1 care aparține gateway-ului rețelei private și care se utilizează pentru a vedea toate pachetele care se trimit între rețeaua privată și extensia 1002. După recepționarea acestui răspuns apelul va fi încheiat, specificându-se explicit cauza care a dus la terminarea apelului.
Figura 37. Răspunsul 406 văzut prin intermediul centralei telefonice
5.4 Apel audio între un calculator și un telefon
Prin intermediul acestui experiment se va realiza un apel audio între dispozitivul cu extensia 1000 și telefonul cu extensia 1001. Pe durata acestui apel se va folosi centrala telefonică pentru a încheia apelul.
În primă fază se va apăsa butonul Extensions Status din meniul centralei, unde vor putea fi gestionate toate cele patru extensii create. După stabilirea apelului, se poate observa că cele două extensii implicate în apel pot fi identificate prin cele două cercuri de culoare galbenă. Acest apel va putea fi încheiat prin selectarea uneia dintre cele două extensii implicate în apel și după aceea apăsarea butonului Disconnect Call, situat deasupra extensiilor. În Figura 38 se pot vedea aceste aspecte.
Figura 38. Închiderea unui apel din centrala telefonică
Pentru realizarea acestui experiment, se vor folosi trei adrese IP, între care se transmit semnalizările SIP, așa cum se poate vedea în Figura 39. Aceste adrese sunt următoarele:
10.8.8.32 – Reprezintă IP-ul folosit în rețeaua privată virtuală și este adresa calculatorului care are acces la acea rețea prin intemediul programului OpenVPN;
10.8.8.102 – Este adresa serverului;
10.8.8.1 – Reprezintă IP-ul gateway-ului rețelei private, care este utilizat pentru a vizualiza toate pachetele care circulă între rețeaua privată și extensia 1001;
În semnalizările SIP din Figura 39, capturate cu ajutorul utilitarului Wireshark, se poate vizualiza realizarea unui apel audio normal dintre două terminale. Ceea ce se încearcă să se evidențieze în acest experiment este întreruperea apelului de către centrală prin transmiterea unei cereri SIP de tip BYE spre ambele terminale și răspunsul SIP afirmativ al acestora.
Figura 39. Semnalizările SIP pentru încheierea apelului
Încheierea apelului de către centrală poate fi văzută și prin intermediul opțiunii Server Activity Log. În cele două chenare de culoare verde sunt afișate cele două cereri SIP trimise de către centrală spre cele două terminale pentru întreruperea apelului.
Figura 40. Cererile SIP transmise de centrală pentru încheierea apelului
5.5 Apel video între un calculator și un telefon
Pentru realizarea acestui scenariu cele două extensii trebuie să fie înregistrate la centrala telefonică. Acest aspect se poate verifica din interfața centralei accesând Extension Status iar apoi observarea culorii cercurilor din dreptul fiecărei extensii. Un alt mod de verificare al înregistrării extensiilor este folosirea utilitarului Wireshark așa cum este ilustrat în Figura 41.
În cazul înregistrării primei extensii, se poate vedea în prima jumătate a figurii următoare, în primul chenar de culoare roșie, trimiterea unei cereri de înregistrare din partea clientului către server. De asemenea, în cel de-al doilea chenar de culoare roșie se poate observa tipul de telefon soft folosit, numele extensiei, numărul extensiei și adresa IP din rețeaua privată virtuală atribuită calculatorului cu extensia 1000.
Pentru înregistrarea celei de-a doua extensii, se trimite o cerere de înregistrare prin intermediul gateway-ului cu adresa 10.8.8.1, care este utilizat pentru vizualizarea traficului între rețeaua privată și extensia 1001, către adersa serverului. De asemenea, în al doilea chenar de culoare verde din a doua jumătate a figurii se poate vedea tipul telefonului soft folosit, numele extensiei, numărul extensiei precum și adresa IP atribuită de utilitarul Connectify Hotspot.
Figura 41. Înregistrările clienților văzute prin intermediul utilitarului Wireshark
După înregistrarea celor doi clienți se va realiza un apel video. Pachetele corespunzătoare acestui apel se vor captura folosind utilitarul Wireshark. Rezultatele capturii se vor afișa în Figura 42 prin intermediul unui Player RTP, care conține patru fluxuri unidirecționale. Primul flux are loc între adresa sursă 192.168.70.101 și adresa destinație 192.168.70.1, ambele fiind adrese atribuite în mod dinamic de către utilitarul Connectify Hotspot, prima adresă aparținând telefonului cu extensia 1001, iar cea de-a doua calculatorului cu extensia 1000. În acest flux datele utile sunt reprezentate de voce deoarece codec-ul folosit este g711U-law. De asemenea, graficul corespunzător acestui flux poate fi văzut în Figura 42, evidențiat cu negru. Ultimul flux este asemenea cu primul din punct de vedere al tipului de date utile transmise și a codec-ului folosit. De această dată adresele sursă și destinație sunt inversate față de primul flux. De asemenea graficul de culoare verde, corespunzător acestui flux diferă de primul. Fluxurile 2 și 3 se transmit între aceleași adrese IP prezentate anterior dar de această dată datele utile sunt reprezentate de video datorită codec-ului H264 care se folosește pentru apeluri video.
Figura 42. Afișarea rezultatelor Wireshark prin intermediul RTP Player
5.6 Apel audio între un telefon și o tabletă
Pentru realizarea acestui experiment cele două terminale trebuie să fie înregistrate la centrala 3CX. Acest astept se va monitoriza cu ajutorul programului Wireshark, iar rezultatele se vor afișa sub forma unor semnalizări SIP, ilustrate în Figura 43.
Un aspect important, care poate fi observat în figura următoare este că pentru ambele extensii, procesul de înregistrare are loc între adresa IP a serverului 10.8.8.102 și gateway-ul rețelei private 10.8.8.1. Acest lucru se datorează faptului că acel gateway este folosit pentru a vizualiza traficul între rețeaua privată și dispozitivele din afara rețelei.
Figura 43. Înregistrările clienților 1001 și 1003
După înregistrarea celor două extensii se va efectua un apel audio. Acest apel va fi inițiat de către extensia 1001 dar apelul nu va fi preluat, ci va fi rejectat de către celălalt terminal.
Folosind Server Activity Log din cadrul centralei 3CX se vor verifica rezultatele obținute ca urmare a acestei acțiuni. În Figura 44 sunt afișate rezultatele obținute în urma acestui scenariu și se poate observa că apelul decurge normal până în punctul unde se specifică faptul că terminalul 1003 nu a putut fi contactat deoarece nu este disponibil. Clientul 1003 va trimite un răspuns SIP 486 Busy Here informând centrala despre decizia luata, iar centrala la rândul ei va informa clientul 1001, iar apelul se va încheia.
Figura 44. Afișarea răspunsului SIP 486 Busy Here
Cu ajutorul utilitarului Wireshark s-au capturat pachetele rezultate în urma acestui experiment. Pachetul definitoriu al acestui scenariu fiind pachetul Busy Here, iar conținutul acestui pachet este ilustrat în figura următoare. După cum se poate vedea în figură acest pachet a fost trimis de adresa sursă 10.8.8.1, aceasta fiind adresa de gateway al rețelei private, și adresa destinație 10.8.8.102, reprezentând adresa centralei telefonice. De asemenea, în acest pachet mai sunt specificate sursa și destinația pachetului inițial, acestea pot fi văzute în al doilea chenar din figură.
Figura 45. Conținutul pachetului Busy Here
5.7 Apel video între un telefon și o tabletă
Realizarea acestui experiment presupune, în primul rând, înregistrarea celor două extensii. Înregistrarea extensiilor se face în același mod ca și în experimentul anterior, fiind vorba de aceleași extensii, respectiv aceleași terminale.
După înregistrarea extensiilor se va folosi programul Wireshark pentru capturarea rezultatelor finale. Rezultatele finale se vor vizualiza sub forma unor semnalizări SIP pentru a putea observa cu exactitate procesul de stabilire al apelului precum și codec-urile video utilizate.
Figura 46. Semnalizările SIP ale unui apel video
Figura 46 ilustrează semnalizările SIP pentru realizarea unui apel video. Apelul începe cu o invitație din partea clientului 1001 în care are loc descrierea protocoalelor folosite pentru audio, respectiv video. Serverul îi solicită clientului o autentificare înainte de trimiterea invitației prin intermediul răspunsului 407. După autentificare se retrimite invitația și se stabilește apelul video pe baza condițiilor specificate în invitație, iar la final apelul se va încheia la cererea clientului.
În figura următoare este afișat apelul video dintre cele două telefoane. Pe durata apelului video ecranul telefonului este împarțit în două imagini de dimensiuni diferite. Imaginea de dimensiune mai mare reprezintă imaginea captată de celălalt dispozitiv, iar imaginea care este situată în colțul ecranului este imaginea surprinsă de dispozitivul curent.
Figura 47. Ecranul telefonului în timpul apelului video
Concluzii
Voice over IP reprezintă o nouă tendință menită să înlocuiască treptat telefonia tradițională. Prin intermediul acestei tehnologii serviciile de voce sunt încapsulate, pentru ca mai apoi să fie transmise folosind rețelele IP. VoIP prezintă numeroase beneficii față de telefonia tradițională, iar principalul avantaj al acestei tehnologii este costul redus, deoarece implementarea acesteia se realizează utilizând o infrastructură existentă, fără a mai genera costuri suplimentare. Una dintre cele mai importante servicii pe care VoIP le furnizează sunt comunicațiile unificate. Acest serviciu înglobează toate mijloacele de comunicare și dispozitivele de comunicare, optimizând comunicațiile prin simplificarea proceselor.
Această lucrare prezintă configurarea centralei telefonice 3CX în vederea realizării apelurilor audio și video care vor avea loc între diferite terminale, care rulează diferite sisteme de operare. Centrala 3CX este instalată si configurată pe o mașină virtuală care rulează sistemul de operare Windows 7 și care este stocată într-un Cloud OpenStack orchestrat de către UC Labs. Marele avantaj al acestei centrale telefonice este reprezentat de interfața sa, prin intermediul căreia se pot crea și gestiona cu ușurință extensiile, de asemenea se pot depana problemele care apar la nivelul centralei accesând cu ajutorul interfeței, fereastra Server Activity Log, care oferă cu lux de amănunte toate activitățile care au loc la nivelul centralei telefonice. Cu toate acestea, unele caracteristici sunt valabile doar în varianta licențiată, care nu este gratis.
Pentru realizarea experimentelor s-a folosit centrala telefonică 3CX care este stocată pe o mașină virtuală care rulează sistemul de operare Windows 7 și care este stocată în Cloud-ul OpenStack gestionat de UC Labs. Mașina virtuală se află într-o rețea privată iar accesul terminalelor la aceasta se realizează folosind programul OpenVPN, care creează o rețea privată virtuală prin intermediul căreia celelalte dispozitive vor fi în aceeași rețea cu mașina virtuală. Acest proces este necesar pentru a putea plasa apeluri între terminale. Experimentele presupun următoarele șapte scenarii: apel audio și video între două calculatoare, apel video și audio între un calculator și un telefon, transmiterea unui mesaj de tip text între calculatoare și realizarea apelurilor audio și video între un telefon și o tabletă.
În urma apelurilor video dintre terminalele utilizate pentru realizarea experimentelor s-a constatat că imaginile care sunt transmise între dispozitive pot suferi un decalaj de câteva secunde. De asemenea, în primă instanță, s-au folosit smartphone-urile Zoiper și 3CX dar acestea nu au putut fi configurate pentru realizarea experimentelor dorite, deoarece centrala telefonică ar fi trebuit actualizată la o versiune mai nouă, care nu ar fi permis realizarea apelurilor video.
Analizarea rezultatelor s-a realizat cu ajutorul utilitarului Wireshark și a opțiunii Server Activity Log din cadrul centralei telefonice 3CX. După capturarea pachetelor rezultate în urma apelurilor dintre terminale s-au analizat semnalizările SIP, fluxurile RTP precum și pachetele rezultate în urma înregistrării clienților la centrală. Rezultatele obținute în urma capturilor Wireshark s-au comparat cu rezultatele înregistrate de Server Activity Log, care au fost obținute pentru aceleași scenarii. În urma rezultatelor s-a constatat că rezultatele obținute folosind utilitarul Wireshark sunt mult mai complexe decât cele obținute prin intermediul Server Activity Log.
Ca și dezvoltare viitoare se va realiza un apel între un utilizator înregistra la centrala telefonică 3CX și un utilizator înregistrat la o altă centrală telefonică, folosind opțiunea de trunchiuri SIP. Pentru realizarea acestui experiment este necesară achiziția variantei licențiate a programului 3CX, deoarece opțiunea de trunchiuri SIP se poate configura doar din cadrul unei astfel variante de 3CX.
Referințe
Anexe
8.1 Cereri SIP (SIP Requests)
În tabelul de mai jos sunt prezentate toate cererile SIP, precum și referințele de care aparțin. [Par17]
Răspunsuri SIP (SIP Response)
În următorul tabel se găsesc toate răspunsurile SIP, referințele și descrierile acestora. [Par17]
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Lista de figuri [305196] (ID: 305196)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
