Wprowadzenie
Tematem tego
artykułu będzie instalacja oraz konfiguracja softwarowej centrali Asterisk
zawartej w pakiecie oprogramowania Elastix. Elastix jest kolekcją „najlepszych
z branży” Opean Source produktów i narzędzi skompilowanej w jednym potężnym
kombajnie IP PBX. Całość oferuje funkcje nie tylko centrali PBX, ale także
całości jakże popularnego dziś „Unifited Communication”.
Produkt znany
pod nazwą Asterisk jest oprogramowaniem typu Open Source firmy Digium
realizującym funkcje centrali telefonicznej PBX. Asterisk to system oferujący
wszystkie funkcję dostępne w centralach telefonicznych, a także i wiele więcej.
Nie tylko obsługuje on dźwięk przesyłany technologią VoIP (Voice over Internet
Protocol), ale także jest swoistym pomostem pomiędzy technologią internetową a
sieciami typu POTS i PSTN. Zapewnia dostęp do wszystkich znanych ludzkości
funkcji PBX, a także i Call Center takich jak: przełączanie, przekierowywanie,
zawieszanie i nagrywanie rozmów, a także: poczta głosowa, rozmowy konferencyjne,
połączenia oczekujące, centralna książka
telefoniczna, system bilingowy, obsługa FAXów, ACD (Advencing Call
Distribution), IVR (Interactive Voice Response) i wiele więcej.
Główne produkty z których składa
się Elastix:
Asterisk (obecnie wersja 1.0) - serce centrali PBX
vTiger CRM i Sugar CRM – systemy CRM
A2Billing – platforma billingowa i aplikacja dla Asterisk
Flash Operator Console – webowa konsola operatorska
Hylafax - softwarowy
wirtualny FAX
Openfire - Server do obsługi
wiadomości tekstowych
System do obsługi konferencji
freePBX – webowy panel konfiguracyjny PBX
Postfix – Open Source serwer
pocztowy
OSLEC – aplikacja do softwarowej kancelacji echa
Round Cube webmail – interfejs webowy dla poczty elektronicznej
Panel zarządzania – panel do zarządzania wszystkich wymienionych
aplikacji powyżej
CentOS – dystrybucja Linuxa, na której pracują wszystkie wyżej
wymienione narzędzia
Projekt system VoIP
Centrala PBX zostanie zainstalowana naw wirtualnej
maszynie firmy VMware (VM Player) działającej pod kontrolą systemu MS Windows 7.
Dodatkowo, jako końcówki IP służyć będą softphony 3CX w wersji dla Windows oraz Android (pracujące
w oparciu o telefony działające w sieci WiFI), a także hardwarowy telefon SIP
marki Polycom. Jako połączenie centrali PBX ze światem zewnętrznym telefonii
będą pracowały łącza SIP Trunk połączone z jednym z providerów telefonii VoIP –
w tym przypadku operatorem marki Happy Call. Pokaże to jak w prosty sposób i tanim kosztem
można dostarczyć usługi profesjonalnej centrali telefonicznej w firmach z
sektora SMB. Z wdrożenia takiego rozwiązania płynie masa korzyści niedostępnych
w tradycjonalnej telefonii:
-ethernet jako medium dla przesyłu nie tylko danych ale i usług
głosowych (znaczne obniżenie kosztów instalacji okablowania)
- możliwość bezpłatnych rozmów w ramach firmy bez względu na
lokalizację
- możliwość rejestracji numeru z innej strefy numeracyjnej – telefon
pracujący w Łodzi może mieć numer należący do strefy numeracyjnej Warszawy,
Londynu lub innego dowolnego miasta
-brak kosztów zakupu fizycznej centrali PBX, wystarczy komputer wpięty
w sieć na którym i tak działają inne usługi, nasz PBX pracuje na maszynie
wirtualnej i nie wymaga sporej ilości zasobów
-wszystkie funkcje dostępne do tej pory jedynie dla bogatych firm i
korporacji, które jest w stanie dostarczyć Asterisk (kolejkowanie i
przekazywanie połączeń, poczta głosowa, pokoje konferencyjne, nagrywanie
rozmów).
Instalacja Asterisk na Wirtualnej Maszynie
Naszą centralę instalujemy na
wirtualnej maszynie marki VMware –VMware Player. Przed rozpoczęciem instalacji pobieramy z
Internetu bootowalną płytę z kompilacją systemu Elastix ze strony producenta: http://www.elastix.org/,
pobrany plik jest obrazem płyty CD z
rozszerzeniem. iso. Do dzieła.
W WMware Playerze tworzymy nową
maszynę – z całą pewnością do obsługi systemu na maksymalnie 100 użytkowników
wystarczy przeznaczyć na nią 512 MB pamięci RAM, oraz przestrzeń dyskową 10 GB.
Kartę sieciową wirtualnej maszyny ustawiamy w trybie Bridged, z zaznaczoną
opcją replikacji adresów IP. Taki dysk powinien wystarczyć jeśli nie zamierzamy
gromadzić na nim i nagrywać sporej ilości rozmów. WAŻNE jest że plik z obrazem płyty instalacyjnej Elastixa podłączamy
dopiero po stworzeniu wirtualnej maszyny! Jeśli zrobimy to podczas tworzenia
wirtualnego serwera – VM Player wymusi
wykryje że instalowanym systemem jest CentOS i wymusi od nas podanie
hasła do Roota przy i instalacji, a finalnie zainstaluje sam CentOS, bez
dodatków, które w tym przypadku są dla nas najważniejsze.
Uruchamiamy nasz wirtualny
serwer, sama instalacja jest banalna, możemy z powodzeniem wybrać opcję żeby
kreator sam podzielił dysk na partycję. Ponadto podczas instalacji podajemy
trzy hasła do różych usług systemowych tzn. hasło do profilu Root, do bazy mySQL,
oraz do konta Administratora na panelu konfiguracyjnym www.
Po zakończeniu instalacji,
logujemy się na roota i wpisujemy polecenie SETUP, wchodzimy w konfigurację
sieci i podajemy adres IP wraz z maską. Teraz możemy się zalogować do
właściwego Panelu Administracyjnego.
Generalne ustawienia
Wchodzimy w górnym menu w
zakładkę PBX, a następnie z lewego menu wybieramy General Settings.
Ważną opcją tutaj jest wybór
strefy czasowej, dostępnej pod International Settings – oczywiście
wybieramy Poland. Następnie ze
względów bezpieczeństwa ustawiamy pod polem Security Settings opcję Allow Anonymous Inbound SIP Calls? Na NO – spowoduje to że żadne wszystkie
niezaufane połączenia SIPowe ze świata zewnętrznego zostaną zablokowane.
Możemy także ustawić czy chcemy, żeby podczas oczekiwania na odebranie połączenia w słuchawce telefonu grał standardowy dźwięk Ring, bądź muzyka. Ustawiamy to pod sekcją Dialing Options w polu Asterisk Outbound Dial command option. Gdy wpiszemy tam literkę r podczas oczekiwania na dźwięk połączenia usłyszmy charakterystyczny dźwięk dzwonka, lecz jeśli wstawimy tam literę m usłyszymy przyjemną dla ucha melodyjkę.
Każdą zmianę
musimy zapisać klikając na dole strony Submit Changes, ale to nie
wystarczy – żeby weszła w życie musimy później na górze strony kliknąć Apply
Configuration Changes Here.
Konfiguracja Extensions
Extenions to nic innego jak klienci
różnych protokołów, będące u nas końcówkami IP, czyli telefonów podłączonych do
naszej centrali. My piosługiwać będziemy się tylko klientami protokołu SIP.
Po lewej stronie w sekcji Basic
wybieramy zakładkę Extensions.
Wybieramy pozycję Generic SIP Devices
a następnie klikamy Submit.
W sekcji Add Extension w polu User
Extension wpisujemy nasz skrócony numer telefonu.
W sekcji Display Name wpisujemy to co chcemy by pokazywało się jako
identyfikacja użytkownika np. Imię i Nazwisko.
W sekcji Device
Options w polu Secret wpisujemy hasło jakie trzeba podać przy logowaniu się do
serwera.
Opcjonalnie w sekcji Recording Options możemy wybrać, czy
dana stacja może być nagrywana, na połączenia wychodzące, bądź przychodzące. Domyślną
wartością jest On Demand. Dzieki tej
funkcji możemy podczas trwania rozmowy wciskając na telefonie *1 nagrać ją.
W
sekcji Voicemail & Directory,
możemy włączyć pocztę głosową ustawiając Status
na Enable, a w pozycji Voicemail Password wpisujemy hasło
numeryczne, jakiego będziemy używać aby odsłuchać pocztę, bądź zmienić z
poziomu telefonu jej ustawiania. Aby wdzownić się na pocztę głosową wyvieramy z
klawiatury telefonu *98, następnie podajemy numer Extension oraz hasło do
poczty. Z tego poziomu, możemy odsłuchać pocztę, zarządzać
wiadomościami, a także nagrywać
powiadomienia.
W celach testowych tworzymy cztery
Extensions (numery 101-104).
UWAGA: Po stworzeniu numeru – nie
możemy później już go zmienić, jeśli chcemy go zmienić musimy go usunąć i
założyć ponownie.
UWAGA:
Ostrożni z włączaniem poczty głosowej. Jeśli włączamy ją z automatu dla każdego
numeru to później problemem może się okazać jej wyłączenie, bo trzeba to robić
oddzielnie.
Konfiguracja 3CX
W naszym projekcie końcówkami IP będą
Softphony marki 3CX w wersji dla Windows i Android (działające na smartphonie
przez sieć bezprzewodową WiFi), oraz fizyczny telefon marki Polycom.
W 3CX Phonie wystarczy tylko, że w
ustawieniach konta wpiszemy nasz numer Extensions, hasło do konta, oraz adres
naszego serwera i już możemy się cieszyć działającym telefonem (tak jak na
obrazku poniżej). Podobnie sprawa wygląda na Smartphonie z Androidem.
Konfiguracja telefonu Polycom
Sprawa wydaję się być poważniejsza,
kiedy przyjdzie nam skonfigurować telefon Polycom. Krok po kroku wygląda to
tak:
-odczytujemy z wyświetlacza telefonu
jego adres IP wchodząc w Menu -> Status -> Network->TCP/IP
Parameters
-logujemy się przez przeglądarkę
internetową do interfejsu webowego telefonu, domyślne dane do logowania to
Hasło: Polycom
Login: 456
Resztę danych potrzebnych do
rejestracji w systemie wpisujemy, czyli nasz numer Extensions, hasło do profilu
SIP oraz adres serwera wpisujemy tak jak ma to miejsce na Rysunku 12.
Teraz wszystkie numery mamy już
dostępne lokalnie w naszej sieci LAN. Możemy swobodnie dzwonić pomiędzy
nimi. Działają takie funkcje jak
zawieszanie, przekierowywanie, transfer rozmów. Fajnie komunikacja wewnątrz
jest zapewniona, ale jak najprościej zapewnić kontakt z całym światem zewnętrznym?
Odpowiedź jest banalna – łącze VoIP od któregoś z wielu dostawców usług opartych
na protokole SIP – my użyjemy dostawcę HappyCall.
Konfiguracja Trunks
Bramą na świat w naszym projekcie
będzie konto SIP dostarczone przez firmę Iptell Sp. z o.o., operatora marki
HappyCall, dostępnego pod adresem www.happycall.pl Zapewni
nam to numer DID, prze który ludzie z „zewnątrz” będą mogli się dodzwonić do
naszej firmy. Za pomocą tych kont, także my będziemy mogli dzwonić z naszej
centrali do reszty świata.
Wchodzimy w Elastix’u w PBX -> Trunks -> Add a Trunk i
wybieramy Add SIP Trunk
W sekcji General Settings wpisujemy nazwę pod jaką nasz Trunk będzie
funkcjonował w centrali w polu Trunk
Name:, natomiast w polu Outbound Caller ID wpisujemy numer
telefonu, otrzymany od naszego providera VoIP.
W sekcji Outgoing
Settings w polu Trunk Name
wpisujemy login otrzymany od naszego operatora, a natomiast w polu PEER
Details, wpisujemy:
username= login od providera VoIP
user= login od providera VoIP
type=friend
secret=hasło do konta SIP
qualify=no
nat=yes
insecure=very
host=adres IP serwera od providera VoIP
fromuser=login od providera VoIP
disallow=all
context=from-trunk
canreinvite=no
allow=alaw
allow=ulaw
allow=gsm
Musimy jeszcze uzupełnić Registraction
Strings, które ogólnie ma postać:
login:hasło@adres_ip_centrali/numer-telefonu
czyli w naszym przypadku:
48223762691:haslo@sip.2call.pl/48223762691
Zapisujemy ustawienia przyciskiem na
dole Submit Changes, oraz
potwierdzamy przyciskiem na górze strony Apply
Configurations Settings.
Czynność tą powtarzamy dla każdego
konta, które otrzymaliśmy od operatora, ja na potrzeby tej pracy wprowadzam
jeszcze jedno, tym razem z numerem ze strefy łódzkiej.
Konfiguracja połączeń wychodzących, czyli Outband Routers
W tym rozdziale opisze jak
skonfigurować połączenia wychodzące. Wchodzimy w PBX, w sekcji Basic Settings klikamy Outband Routers i przechodzimy do
strony Add Route. W oknie Route Name wpisujemy nazwę naszej
konfiguracji połączenia wychodzące – w tym przypadku out_world.
Następnie w sekcji Dial
Patterns that will use this Route konfigurujmy nasz Dialplan połączeń wychodzących. Jako prefiks określamy 0 – oznacza
to, że aby zadzwonić na zewnątrz musimy dowolny numer DID poprzedzić 0,
następnie z racji tego, że numery w naszym kraju są zawsze dziewięciocyfrowe
wpisujemy: [1-689]XXXXXXXX.
Dzięki wpisowi [1-689] zablokowaliśmy połączenia zaczynające
się na 7 oraz 0, czyli odrzucone zostaną połączenia błędne w których użytkownik
wybrał jako drugą cyfrę (po prefiksie) 0, oraz płatne numery typu 7XX
popularnie zwane 0700.
Ogólny schemat Dialplan’u tworzymy w
następujący sposób:
X – zastępuje każdą cyfrę z przedziału
0-9
Z – zastępuje każdą cyfrę z przedziału
1-9
N – zastępuje każdą cyfrę z przedziału
2-9
[1237-9] – blokowanie określonych
liczb, tak możemy zablokować niektóre liczby, w tym przypadku jako liczba mogą
zostać wybrane następujące: 1, 2, 3, 7,8,9
Pozostało nam jeszcze przypisanie
konkretnego SIP Trunku, który zadziała przy próbie nawiązania połączenia z
naszej centrali, w sekcji Trunk
Sequence for Matched Routes wybieramy nasze 2 wcześniejsze SIP Trunki.
Zapisujemy ustawienia i możemy już wykonywać połączenia na świat.
Konfiguracja Inbound Routes
Teraz sprawimy żeby ludzie z zewnątrz
mogli dodzwonić się na naszą centralkę.
Wchodzimy na stronę PBX i w sekcji Inbound Call Control dostępnej po lewej stronie wybieramy Inbound Routes, a następnie po prawo Add Incoming Route. W tym przypadku
przypiszemy konkretne SIP Trunki do konkretnych Extenion, ale należy pamiętać
że Asterisk ma masę możliwości konfiguracyjnych – możemy np. stworzyć Grupy
odbierania, zawansowane IVR etc.
W polu Description wpisujemy nazwę danej reguły odbierania połączeń, w tym
przypadku in_warsaw.
W polu DID Number wpisujemy numer telefoniczny naszego konta SIP – w tym
przypadku SIP Trunku o nazwie Warszawa.
Następnie na samej dole w sekcji Set Destination docelową ścieżkę, gdzie ma trafić połączenie
– w tym przypadku wybieramy Extension
i nasz numer 1001 <Pawel>.
Zapisujemy ustawienia standardową
metodą. Teraz skonfigurowaliśmy, że
wszystkie połączenia kierujące na nasz warszawki numer trafią do telefonu 1001.
W tym momencie wiemy już jak
konfigurować podstawowe funkcje na centrali telefonicznej i możemy bez problemu
skonfigurować system na kilkudziesięciu, albo nawet kilkuset użytkowników.
Konfiguracja Ring Groups
Funkcja Ring Groups pozwala nam
skonfigurować reguły grup dzwoniących. Możemy ustawić kolejki odbierania
połączeń, bądź sprawić żeby wszystkie telefony dzwoniły naraz.
W tym przykładzie nasz SIP Trunk z numerem łódzkim przypiszemy do Działu
Handlowego, którym będą Extensions 1002, 1003 i 1004. Numery te zaczną dzwonić
wszystkie naraz, gdy ktoś zadzwoni na nasz łódzki numer.
W lewej stronie w sekcji Inbound Call Control wybieramy Ring Groups i wybieramy Add Ring Groups.
W polu Ring Group Number wpisujemy numer, który będzie miała nasza grupa.
Ze skróconego wybierania będzie można
używając go wdzwonić się na niego z dowolnego Extension w naszym systemie.
Naszej grupie nadajemy numer 600, to będzie wewnętrzny numer Działu Handlowego.
W polu Group Description wpisujemy opis naszej grupy – w tym przypadku
handlowy.
W polu Extension Quick Pick możemy dodać wcześniej stworzone Extenions,
które mają dzwonić w tej grupie. Wystarczy że klikniemy na dany numer a
zostanie on od razu dodany do listy. My dodajemy numery 1002, 1003, 1004.
Na samym dole strony w sekcji Destination if no answer
wybieramy regułę, co ma się dziać, gdy żaden z numerów nie odbierze połączenia.
My je zakończymy wybierając najpierw Terminate
Call, a następnie Hang Up.
Zapisujemy ustawienia tak jak
robiliśmy to w każdym przypadku wcześniej.
Teraz przypiszemy naszą grupę do
numeru łózkiego, w tym celu powtarzamy kroki z wcześniejszego rozdziału Inbaunt
Routers, gdzie konfigurowaliśmy numer do wdzwonienia się na Extension 1001, z
tą tylko róźnicą, że w sekcji Set Destination wybieramy Ring Groups a następnie wcześniej stworzoną
naszą grupę Ring Groups.
Po wykonaniu tych kroków mamy
skonfigurowany numer do całego działu handlowgo naszej firmy.
Konfiguracja rozmów konferencyjnych
Elastix daje nam możliwość stworzenia
pokojów konferencyjnych tzn. numerów, na który może się wdzwonić wielu użytkowników
i wspólnie mogą prowadzić rozmowę. Aby zabezpieczyć ją przed niepowoływanymi
słuchaczami istnieje możliwość dostępu do pokoju za pomocą kodu PIN. A więc do
dzieła.
W lewym menu w sekcji Internal Options & Configuration
wybieramy Conferences. W polu Conferences Number wpisujemy numer
naszego pokoju konferencyjnego – my nadamy mu numer 9000. W polu Conference Name wpisujemy nazwę naszego
pokoju – nazwiemy go pokoj1.
W polu User Pin wpisujemy kod PIN, który użytkownik musi podać aby wziąć
udział w konferencji, w tym przypadku damy 1234.
W polu Admin PIN – kod, którym ma się posłużyć osoba, która będzie mogła
konferencję zakończyć, usuwać niektórych jej użytkowników etc. Wpisujemy 4321
Użytkownicy Webowi
Elasix umożliwia logowanie się do
centrali za pomocą przeglądarki internetowej nie tylko Administratorom, ale
także wszystkim użytkownikom. Dzięki tej funkcji, właściciel danego numeru
Extension, może bezpośrednio ze strony internetowej odsłuchiwać, bądź kasować
pocztę głosową, ustawić przekierowywania na inny numer telefoniczny, zarządzać,
czy może nagrywać połączenia i wiele więcej.
Aby utworzyć konto użytkownika wchodzimy
w System -> User i wybieramy Add User
Następnie podajemy Login, hasło i
powiązujemy go z konkretnym Extenion i zapisujemy ustawienia.
Teraz możemy zalogować się na naszego
użytkownika podając w przeglądarce www adres IP naszej centrali.
Monitorowanie Centrali VoIP
Elastix dostarcza nam wiele możliwości
monitorowania centrali, tzn sprawdzenia kto jest zalogowany, w tej chili, kto
prowadzi rozmowę, sprawdzenia statusu pokoju konfiguracyjnego etc. Aby dostać się do Panelu Operatorskiego
wybieramy kolejno PBX -> Operation
Panel
Na załączonym obrazku widzimy, że mamy
zalogowanych 3 użytkowników jako Extension, dwóch z nich prowadzi rozmowę
konferencyjną w pokoju numer 9000. Możemy także zobaczyć, że jesteśmy
podłączenie do dwóch kont SIP zewnętrznych, czyli wcześniej stworzonych przez
nas SIP Trunków.
Ciekawym rozwiązaniem jest też Panel
CDR (Call Detail Record). Pozwala nam on zobaczyć raporty z wszystkich rozmów,
jakie przeszły przez naszą centralę, wyeksportować je do Excela, bądź do pliku
.CSV w celu dalszej edycji, policzenia kosztów rozmów etc. Do Panelu wchodzimy
z webowego menu wybierając Reports ->
CDR Reports
Podsumowanie
W artykule została przedstawiona krop
po kroku podstawowa konfiguracja centrali PBX VoIP, dystrybucji Elastix
działającej w oparciu o jądro Asteriska. Centrala została skonfigurowana do
pracy z czterema numerami wewnętrznymi, dwoma łączami od operatora VoIP tzw.
SIP TRUNKS. Włączona została obsługa nagrywania rozmów, włączenie i obsługa
poczty głosowej, stworzony przykładowy pokój konferencyjny. W centrali
domyślnie działają takie funkcje jak przekazywanie i przkierowywanie rozmów,
oraz ich zawieszanie. Pokazano dodatkowo jak skonfigurować telefony IP, zarówno
hardwarowe (Polycom), jaki softwarowe (3CX).
Bardzo przydatny wpis. Może napisałbyś coś jeszcze o konfiguracji Elastix? Np ustawienia kolejek, IVR, nagrywanie rozmów?
OdpowiedzUsuńCześć, mam problem z konfiguracją Elastixa... wszelkie telefony (softowe czy stacjonarne) nie znajdują serwera (błąd 408). Wygląda to tak, jakby firewall blokował te połączenia. SSh i telnet działają normalnie, serwer pinguje WLAN i LAN. Możecie mi pomóc?
OdpowiedzUsuńCześć, mam pytanie. Czy możliwe jest stworzenie za pomocą Asteriska automatu do przeprowadzania płatności kartą poprzez połączenie telefoniczne ? Czy może ktoś wie coś więcej na ten temat ?
OdpowiedzUsuńHej, mam skonfigurowaną centralę na Asterisku. Wszystkie wewnętrzne połączenia działają bez problemu. Mam też ustawiony sip trunk z freeconet. Połączenia przychodzące działają. Chcę zrobić coś takiego: dzwoniący dzwoni na numer sip trunk (numer freeconet) a asterisk przekierowuje go na numer komórkowy lub jakiś inny. Jak to ustawiać w dialplanie w konfiguracji asteriska (extensions.conf)?
OdpowiedzUsuńTen komentarz został usunięty przez autora.
Usuńexten => 234234234,1,Dial(SIP/freeconet_trunk/666666666)
UsuńGdzie :
234234234 - extension do którego wpada połączenie z freeconet
freeconet_trunk - nazwa trunka z pliku sip.conf
666666666 - numer, na który chcesz przekierować rozmowę.
3CX jak wyczytałem przed zainstalowaniem już nie współpracuje z żadnymi PBX poza swoim własnym. Jest coś równie dobrego do polecenia w zamian?
OdpowiedzUsuńMożna zastosować Zoiper
OdpowiedzUsuńWitam,
OdpowiedzUsuńmam problem z połączeniami z zewnątrz tzn. połączenie z zewnątrz przychodzi, odbieram połączenie ale nic nie słychać. W drugą stronę działa wszystko ok. Macie jakiś trop, gdzie szukać przyczyny. Sip Trunk do happycall.
W logach nie ma błędów
Pozdrawiam
Masz zablokowane przychodzące porty RTP
UsuńJak w elastix zmienic sekretarke na polski?
OdpowiedzUsuńFajnie napisane. Pozdrawiam i gratuluję.
OdpowiedzUsuńWitam
OdpowiedzUsuńOrientuje się ktoś czy w ELASTIXie można ustawić gdzie zróżnicowanie połączeń przychodzących między np. 8-16 i po 16?
Można to zrobić za pomocą funkcji time conditions: https://wiki.freepbx.org/display/FPG/Time+Conditions+Module
UsuńWydaje mi się, że jest to dość poważna sprawa i chyba nie wiem czy byłbym w stanie sam to wszystko zrozumieć. Ja również polecam przeczytanie artykułu https://techunbox.pl/jak-dziala-wirtualna-centrala-telefoniczna gdzie fajnie wyjaśniono jak działa wirtualna centrala telefoniczna.
OdpowiedzUsuńJa jestem zachwycona jak wirtualna centrala 3CX odmieniła sposób, w jaki moja firma prowadzi komunikację. Praca z systemem jest intuicyjna i oferuje mnóstwo przydatnych funkcji, które codziennie ułatwiają mi i mojemu zespołowi życie. Gorąco polecam wirtualną centralę 3CX każdemu, kto szuka efektywnego i nowoczesnego rozwiązania :)
OdpowiedzUsuńTelefonia VoIP oferuje nie tylko tańsze rozmowy, ale także lepszą jakość dźwięku i większą niezawodność. Coraz więcej firm i użytkowników prywatnych decyduje się na telefonie VoIP, doceniając jej elastyczność i zaawansowane funkcje, takie jak wideokonferencje czy integracja z innymi aplikacjami. To rozwiązanie, które łączy w sobie nowoczesność i oszczędność, idealne dla każdego, kto szuka efektywnych sposobów komunikacji.
OdpowiedzUsuń