IP PBX Asterisk - werkingsprincipes en gebruiksscenario's

Wat is Asterisk IP-PBX, hoe het werkt, gebruiksscenario's en vooruitzichten

O. Teresjtsjenko

Tegenwoordig is het kopen van een gewone of digitale PBX voor een klein kantoor of callcenter niet rendabel. Traditionele telefonie is vervangen door IP-telefonie, die wordt gekenmerkt door lage gesprekskosten, implementatiegemak, configuratiegemak, schaalbaarheid en verbindingsbeveiliging.

IP PBX is een telefooncentrale die spraaktransmissie via internet verzorgt (op basis van het Voice over IP-protocol).

In dit artikel zullen we het hebben over IP-telefonie georganiseerd op basis software IPATS "Asterisk».

IP PBX Asterisk is vandaag de dag de beste oplossing voor het organiseren van kantoortelefonie en een goedkoop callcenter. Dit is een softwareproduct van de Open Source-klasse - gratis open source-software. Door de unieke combinatie van vele functies neemt Asterisk een leidende positie in onder de platforms voor het creëren van kantoortelefonie. Prijs speelt ook een belangrijke rol. De kosten van IP-telefonie op kantoor op het Asterisk-platform zijn meerdere malen lager dan de kosten van oplossingen op traditionele IP-PBX's - Panasonic, Samsung, enz.

Hardware

Asterisk ondersteunt alle apparatuur voor Voice over IP (VoIP). Apparaten van diverse fabrikanten van VoIP-apparatuur kunnen zonder problemen worden aangesloten.

Functionaliteit

Asterisk heeft alle mogelijkheden van een klassieke PBX, ondersteunt vele VoIP-protocollen en biedt functies voor voicemail, conferenties, interactief spraakmenu (IVR), callcenter (oproepen in de wachtrij plaatsen en deze met behulp van verschillende algoritmen naar agenten distribueren), CDR-opname en andere functies . Asterisk heeft geen beperkingen op het aantal abonnees, kanalen en functionaliteit.

Om uw eigen functionaliteit te creëren, kunt u de Asterisk-taal gebruiken om een ​​belplan te schrijven. Tegenwoordig zijn er al veel grafische webshells voor Asterisk geschreven voor gebruiksgemak en gemak van perceptie.

Uitvoering

1. Laten we beginnen met het feit dat Asterisk op Linux is geïnstalleerd.

De eerste vraag is welke implementatieoptie we moeten kiezen. Eigenlijk is de belangrijkste keuze de “platte” Asterisk, bestuurd via de opdrachtinterface (met behulp van de opdrachtregel),

of het Asterisk-systeem met een webinterface (zoals reeds vermeld, er zijn er voldoende geschreven).

De eerste optie biedt meer flexibiliteit en grotere mogelijkheden, terwijl de tweede optie eenvoudiger installatie en beheer biedt.

Voor kantoortaken en kleine bedrijfstaken is de implementatie van complexe logica niet belangrijk. Daarom concentreren we ons hier op het bouwen van een eenvoudiger systeem dat is ontworpen om maximaal 100 interne telefoons te bedienen met meerkanaalsinvoerlijnen van een of meer telefoonoperatoren.

2. Tweede praktische vraag, wat moet worden opgelost - welk platform u moet kiezen om Asterisk te gebruiken. Er zijn twee opties: lokale server of “cloud”?

Een lokale server voor een IP-PBX kan in moderne omstandigheden vrijwel gratis kosten: laten we zeggen dat u oude (of niet zo oude) computers heeft. Het enige dat je nodig hebt is: 2 GB RAM en één processor (je kunt zelfs een oude en niet erg krachtige gebruiken).

Maar - aandacht: als de oude computer helemaal rommel is... Dan kan zo'n server je in de steek laten en op het meest ongelegen moment uitvallen. En dan kan het effect van het besparen van geld voor het bedrijf volledig tegenovergesteld zijn.

Tegenwoordig bedragen de kosten van een computersysteemeenheid voor het implementeren van een IP PBX in een kantoor niet meer dan $ 200.

Het probleem met de server is dus óf opgelost, óf we gaan ‘naar de wolken’.

Virtuele telefooncentrale

Een duidelijk voordeel van de cloud is dat de cloudprovider verantwoordelijk is voor de betrouwbaarheid van de werking en dat er geen geld hoeft te worden uitgegeven aan een server. Het maandelijkse bedrag voor een virtuele "server" met één kern en 2 GB RAM zal niet hoog zijn: ongeveer 1000 roebel (of zelfs minder). U kunt ook gebruik maken van een cloud PBX (de werking van een virtuele server en een cloud PBX verschilt enigszins).

Iets over de valkuilen van een virtuele PBX

Telefonieoperatoren bieden verschillende voorwaarden voor het gebruik van hun cloud-PBX’en. Er zijn beperkingen. Dit kunnen beperkingen zijn op het aantal interne nummers, verschillende functionele kenmerken. Niet al deze systemen bieden bijvoorbeeld de mogelijkheid om gesprekken op te nemen, niet alle typen IP-telefoons worden ondersteund en soms heeft de kwaliteit van de communicatie daaronder te lijden.

Er is een reeks beperkingen die gelden voor virtuele PBX's van alle telefoonoperatoren. Het zit als volgt: virtuele PBX's staan ​​geen gelijktijdige verbinding met andere telefoonoperatoren toe of het overstappen naar een andere operator. Daarom kunt u de kosten niet optimaliseren door automatisch tarieven voor specifieke verbindingen te selecteren, of een andere operator gebruiken met uw huidige virtuele PBX.

Die. een telefoniste kan dat met behulp van zijn virtuele PBX voorletter fase om oplossingen te bieden voor telefonieproblemen. Maar dit zal een serieuze barrière vormen voor de verdere ontwikkeling van de communicatie van uw bedrijf.

Het is ook de moeite waard om aandacht te besteden aan de situatie waarin een interne abonnee een andere interne abonnee moet bellen. In dit geval zal het gesprek tussen abonnees in een "grote cirkel" plaatsvinden, dat wil zeggen dat vanaf het apparaat van interne abonnee 1 het signaal wordt doorgegeven aan de kantoorrouter met toegang tot het externe netwerk (waarop de overeenkomstige poorten moeten worden aangesloten). open zijn, wat op zijn beurt het ‘aanvalsgebied’ vergroot, omdat het nodig is om SIP-poorten voor elk apparaat te openen), ga naar de virtuele IP-PBX-server (cloud PBX), die zich in een bepaald datacenter bevindt, waarna deze keer terug naar de oorspronkelijke router en vanaf de externe lijn wordt de interne lijn naar het apparaat van interne abonnee 2 gestuurd. Een lange weg nietwaar? Wat als er meer dan een dozijn van dergelijke verbindingen zijn?

Beveiliging kan een probleem worden omdat een interne gebruiker wordt blootgesteld aan het externe netwerk terwijl hij met een andere interne gebruiker praat. Zo'n structuur wordt vaak gehackt en oproepen worden er doorheen 'gepompt', bijvoorbeeld van Nigeria naar Palestina - naar dure betaalde nummers, en via alle beschikbare kanalen. Uw bedrijf kan van de ene op de andere dag een enorm bedrag verliezen, en het is goed als de telefoonaanbieder voor dergelijke gevallen beperkingen heeft ingevoerd, dan zullen de verliezen niet zo groot zijn. Over het algemeen is elke SIP-poort die zichtbaar is op internet (de noodzaak om te openen waarover ik hierboven sprak) binnen een paar minuten na het verschijnen ervan onderworpen aan aanvallen, dus beveiligingsproblemen moeten zorgvuldig en professioneel worden opgelost, aangezien hoe meer poorten open zijn, hoe groter het ‘aanvalsgebied’.

In dit geval moet het “verkeer” tussen interne abonnees worden gecodeerd, omdat bij deze optie alle gesprekken tussen interne abonnees niet moeilijk te beluisteren (onderscheppen) zullen zijn.

IP-PBXCmet behulp van de server


Als u gebruik maakt van “uw eigen” server (die zich binnen het netwerk bevindt), zal het beeld anders zijn.

Eigen server:

Minimaliseert het “aanvalsgebied” (aangezien het het aantal open poorten vermindert);

Hiermee kunt u de mogelijkheid elimineren om te luisteren naar (onderscheppen) gesprekken van interne abonnees of om verbinding te maken met een derde partij namens de interne abonnee, zelfs als er kantoren op afstand zijn (aangezien interne abonnees met elkaar praten zonder naar de “externe abonnee” te gaan). netwerk");

Asterisk heeft alle mogelijkheden van een klassieke PBX, ondersteunt vele VoIP-protocollen en biedt functies voor voicemail, conferenties, interactief spraakmenu (IVR), callcenter (oproepen in de wachtrij plaatsen en deze met behulp van verschillende algoritmen naar agenten distribueren), CDR-opname en andere functies . Om uw eigen functionaliteit te creëren, kunt u de eigen dialplan-taal van Asterisk gebruiken om een ​​module in C te schrijven, of AGI gebruiken, een flexibele en universele interface voor integratie met externe gegevensverwerkingssystemen. Wat via AGI wordt uitgevoerd, kan in elke programmeertaal worden geschreven.

Asterisk wordt gedistribueerd onder de voorwaarden van een dubbele licentie, waardoor het, gelijktijdig met de hoofdcode die wordt gedistribueerd onder de open GNU General Public License, mogelijk is om gesloten modules te maken die gelicentieerde code bevatten. Bijvoorbeeld een module die de G.729-codec ondersteunt.

Besturingssystemen
De applicatie draait op de besturingssystemen GNU/Linux, FreeBSD en Solaris en is bedoeld voor het creëren van computertelefonieoplossingen. De naam van het project komt van de naam van het *-symbool, dat in Unix- en DOS-besturingssystemen de overeenkomst van een willekeurige reeks tekens in bestandsnamen aangeeft.

Protocollen
Asterisk biedt een voldoende aantal protocollen ter ondersteuning van verbindingen tussen traditionele telefoniesystemen en IP-netwerken, waaronder H.323, Session Initiation Protocol (SIP), Media Gateway Control Protocol (MGCP) en Skinny Client Control Protocol (SCCP).

Voor de communicatie tussen Asterisk-servers is ook een speciaal Inter-Asterisk eXchange (IAX) VoIP-protocol ontwikkeld, dat op transparante wijze spraak- en datatransmissie over verschillende heterogene netwerken mogelijk maakt. Door het IP-protocol te gebruiken, kan Asterisk tijdens een gesprek verschillende gegevens verzenden, zoals URL's of afbeeldingen en foto's, waarbij verschillende soorten informatie worden geïntegreerd.

De Asterisk-structuur is volledig modulair, met de opdrachtregelinterface kunt u individuele modules en hun configuraties overbelasten zonder de algehele werking te verstoren of gevestigde verbindingen te verbreken, en interfaces, bestanden en codecs te ontladen en te laden. Maakt de verbinding tussen alle ondersteunde interfaces transparant, waardoor verschillende telefoonsystemen in één netwerkomgeving worden geïntegreerd.

Hardware
Asterisk vereist geen speciale hardware voor Voice over IP. Vrijwel alle apparaten van diverse fabrikanten van VoIP-apparatuur kunnen zonder problemen worden aangesloten. Voor het gebruik van digitale en analoge telefoonapparatuur ondersteunt Asterisk een breed scala aan apparatuur, waarbij PCI-kaarten van Digium, de maker van Asterisk, een bijzondere plaats innemen.

Dankzij een open licentie wordt Asterisk actief ontwikkeld en ondersteund door duizenden mensen van over de hele planeet. De afgelopen twee jaar zijn Asterisk-applicaties actief ontwikkeld in de Verenigde Staten en Europa. In een of andere vorm heeft Asterisk een sterke plaats ingenomen op de IT-technologiemarkt (meer dan 1000 bedrijven, ondersteuningscentra, online consultaties). Veel bedrijven gebruiken Asterisk in hun seriële VoIP-apparaten, bijvoorbeeld het bedrijf

is een ATC gemaakt door hackers (in de oorspronkelijke zin van het woord), of beter gezegd, het is een superconvergent computertelefonieplatform, gedistribueerd onder de GNU GPL-licentie, oorspronkelijk ontwikkeld Mark Spencer(Mark Spencer), die later president en chief technology officer van Digium werd. Dankzij de commerciële steun van zijn bedrijf en de GNU GPL-licentie wordt Asterisk actief ontwikkeld en ondersteund door duizenden mensen van over de hele planeet.

Asterisk ondersteunt

Protocollen

Audiocodecs

Naam Overdrachtssnelheid, Kbit/s Licentie vereist
G.711 64 Niet nodig
G.726 16, 24, 32 of 40 Niet nodig
G.729A 8
GSM 13 Niet nodig
iLBC 13,3 (30 ms-frames) of 15,2 (20 ms-frames) Niet nodig
Speex Variabel tussen 2,15 en 22,4 Niet nodig
G.723.1 6,4 Kbps (frame is 189 bits, opgevuld tot 24 bytes) en 5,3 Kbps (frame is 158 bits, opgevuld tot 20 bytes). De bedieningsmodus kan dynamisch veranderen van frame tot frame Nodig (niet nodig voor transit)
MP3

Belangrijke punten om te overwegen

Prestaties van Asterisk-systemen

Experimentele systeemprestatiegegevens worden gepresenteerd op het forum en in de originele tekst. Asterisk - kan op vrijwel elk Linux-platform draaien, plus enkele andere besturingssystemen zoals Solaris, BSD, MacOS X en er is zelfs een Asterisk voor Win32-project. Wat betreft de keuze van het besturingssysteem voor Asterisk: ik wil geen holivar ontwikkelen en ik stel voor dat u zelf kiest, maar het kan geen kwaad om de draad op het formulier dat aan dit probleem is gewijd te lezen. Concluderend zal ik zeggen dat ik zelf CentOS gebruik - een populaire distributie die wordt gebruikt met Asterisk (gebouwd op basis van onbewerkte RedHat) versie 5.2.
Gedetailleerde handleiding voor het installeren van CentOS 5.2 vanaf de blog Linuxoïde.
Ik raad aan om X's niet in te stellen, omdat deze met Asterisk zullen concurreren om bronnen.

Asterisk installeren en configureren

Asterisk bevat in de basisconfiguratie drie hoofdpakketten die kunnen worden gedownload op de officiële website:
  • Asterisk zelf, versie 1.6.0.6 is beschikbaar;
  • Telefoniestuurprogramma's DAHDI – acroniem voor Digium Asterisk Hardware Device Interface, voorheen zaptel + DAHDI Tools;
  • PRI – Libpri-bibliotheken.
links naar 32-bits versies, maar er zijn ook 64-bits versies beschikbaar
Als u van plan bent alleen VoIP te gebruiken, dan is het Asterisk-pakket voldoende, maar het is aan te raden om alle pakketten te installeren.

Bovendien kunt u installeren

  • Modules en add-ons, bevat modules voor het werken met MySQL en het afspelen van mp3-bestanden, IMHO is het niet opgenomen in de officiële distributie en is het niet nodig. Asterisk wordt bijvoorbeeld geïnstalleerd met ODBC-ondersteuning en bij het installeren van een add-on voor het werken met MySQL werkt het systeem mogelijk niet, dus het wordt aanbevolen om slechts één van de stuurprogramma's tegelijkertijd te gebruiken en de andere uit te schakelen. Het afspelen van mp3-bestanden zal op zijn beurt extra belasting van het systeem veroorzaken, omdat... het bestand dat wordt afgespeeld, moet worden gedecomprimeerd.

Vereiste Linux-pakketten

  • GCC 3.x;
  • ncurses-devel;
  • libtermcap-devel;
  • Kernelontwikkelingsheaders;
  • GCC C++ 3.x;
  • OpenSSL (optioneel);
  • newt-devel (optioneel);
  • zlib-devel (optioneel);
  • unixODBC; unixODBC-devel (optioneel) ;
  • libtool (aanbevolen);
  • GNU-merk (versie 3.80 en hoger).
In mijn geval zat alles al in het systeem, ik heb zojuist de kernel bijgewerkt (laat dit voor niemand eng lijken).

Vooral de Trixbox-distributie is populair en geliefd - het is een softwarepakket gebaseerd op CentOS en Asterisk, met als hoofdtaak het creëren van een IP-telefonieserver in de kortst mogelijke tijd.
Momenteel beschikbaar. De installatiestappen zijn te bekijken op de website voiceip.com.ua.

De Elastix-distributie van PaloSanto Solutions is qua functionaliteit niet veel superieur aan de Trixbox Community Edition. Gedistribueerd onder de GNU GPL-licentie. Elastix was gebaseerd op CentOS 5 met kernel 2.6.18. De basis van het VoIP-systeem is Asterisk 1.4.18, de ontwikkelaars hebben het aangevuld met hulpprogramma's van hun eigen ontwerp en modules van externe fabrikanten. Als facturatiesysteem werd het vernieuwde A2Billing gebruikt. De levering omvat ook de Openfire 3.4.2-server, die berichten verzorgt via het XMPP/Jabber-protocol. De distributie omvat ook twee CRM's (Klantrelatiebeheer) - SugarCRM en VTigerCRM
Een overzicht en installatie kun je vinden in het Linuxoid-artikel.

Laten we doorgaan

Ik zal het artikel niet laden met algemene vragen over het installeren en configureren van Asterisk, vooral omdat er prachtige artikelen op internet zijn die in detail over elk van de fasen vertellen. Ondanks het feit dat de artikelen 3-4 jaar geleden zijn geschreven, geloof me, ze verliezen hun relevantie niet, ik beweer niet, de versies zijn veranderd van 1.2 helemaal naar 1.6, zelfs de naam van de telefoonchauffeur is veranderd en de functionaliteit is aanzienlijk uitgebreid, maar dit mag je niet afschrikken. Artikelen over Asterisk in het tijdschrift "Systeembeheerder"
Auteur Michail Platov:
  • Asterisk en Linux - IP-telefoniemissie - bespreekt de belangrijkste mogelijkheden van Asterisk, het opzetten en werken via het SIP-protocol;
  • Asterisk en Linux: de missie van IP-telefonie. Actie 2 – er wordt gewerkt aan het H323-protocol en het aanbieden van communicatie met het PSTN;
  • Asterisk en Linux: de missie van IP-telefonie. Actie 3 is het laatste artikel in deze serie, waarin de kwesties van voicemail, conferenties en webinterfaces worden onderzocht, die het werk van zowel gebruikers als Asterisk-beheerders enorm vergemakkelijken.

Opmerking: de artikelen maken gebruik van zaptel-hulpprogramma's, die de naam hebben gewijzigd in DAHDI
ztcfg -> dahdi_cfg
ztmonitor -> dahdi_monitor
ztscan -> dahdi_scan
ztspeed -> dahdi_snelheid
zttest -> dahdi_test
zttool -> dahdi_tool
zapconf -> dahdi_genconf voorheen bekend als genzaptelconf)

En de manieren zijn veranderd:

  • Het systeemconfiguratiebestand is hernoemd van /etc/zaptel.conf naar /etc/dahdi/system.conf
  • Het dahdi_cfg hulpprogramma kan nu worden gebruikt om een ​​echo-onderdrukker voor elk kanaal of elke groep kanalen te selecteren, gebaseerd op de instellingen uit het configuratiebestand: system.conf; Een volledige lijst met wijzigingen staat op de svn-trunk van de ontwikkelaars of in het Russisch op de website voip.rus.net.

Asterisk: we organiseren de automatische distributie van inkomende oproepen - er wordt aandacht besteed aan het organiseren van een wachtrij voor oproepverwerking, die zo noodzakelijk is bij diensten die met klanten werken. Auteur Sergej Yaremchuk

CDR-bestanden opslaan in een database

Call Detail Records (CDR) – een bestand waarin de parameters worden vastgelegd van oproepen die door het systeem worden doorgegeven. Met Asterisk kunt u CDR-bestanden opslaan in:
  • Door komma's gescheiden waarden (CSV) – bestand;
Een belangrijk onderdeel van het dialplan dat het van kracht en dynamiek voorziet is func_odbc, hiermee kunt u functies in het dialplan maken en gebruiken voor het ophalen en gebruiken van informatie uit de database.

IVR

Interactive Voice Response (IVR) is al een integraal onderdeel van elk platform en bedrijf dat zich bezighoudt met klantenservice. De kosten van commerciële IVR-systemen (Avaya, Cisco, Genesys, Nortel of Dialogic) zijn behoorlijk hoog, en hiervoor is Asterisk eenvoudigweg gemaakt.
Helaas is er geen Russische vrouwenstem voor Asterisk (gratis). Na de installatie spreekt Asterisk ons ​​met uw stem aan Allison Smit(Allison Smith) - dit zijn ongeveer 300 promts, plus nog eens 600 in de add-on met asterisk-geluiden.

Tekstvertaling van gesproken aanwijzingen voor Asterisk-versies 1.4, 1.6 is beschikbaar, evenals een mannelijke Russische stem van romik_g voor Sterretje 1.4.

Op de bron ivrvoice.ru kunt u downloaden en gebruiken voor alle vreedzame doeleinden, inclusief zakelijke, Russische producten voor Asterisk.

Als u besluit zelf spontane opnames op te nemen, dan is de belangrijkste vereiste het normaliseren van de opnames naar -3dB met pauzes aan het begin en einde van de opname. Gebruik het hulpprogramma (Sound eXchange) om een ​​audiobestand te converteren.

IVR-systemen zijn echter “niet alleen waardevol voor” en DTMF, maar ook automatische spraakherkenningssystemen (ASR) en tekst-naar-spraak (TTS) spraakreproductie-engines. Het is waar dat het hier nog steeds moeilijk is met de Russen.
Maar je moet weten:

  • Open source TTS – motor