Configurarea de bază cu asterisc după instalare.

Bună ziua, în acest articol vă voi spune cum să instalați cel mai popular server VoIP Telefonie cu asterisc. Prin utilizarea a acestui server Puteți organiza telefonia la birou, acasă sau implementați notificare automată, dar despre asta voi vorbi în alte articole. Deci, să începem să instalăm asterisk pe serverul ubuntu.

Instalarea Asterisk pe Ubuntu Server este extrem de simplă, aveți nevoie de o singură comandă:


sudo apt-get install asterisk

Primul pas după instalarea Asterisk este dezactivarea capacității de a primi apeluri în mod anonim. Pentru a face acest lucru, deschideți fișierul sip.conf și decomentați linia allowguest=no, deoarece implicit este Da. Apropo, pentru a căuta o anumită linie în nano, puteți apăsa Ctrl+W și introduceți partea dorită a liniei și apăsați Enter dacă există mai multe astfel de cuvinte în text, apoi apăsați Ctrl+W și Enter pentru a continua; căutarea.


sudo nano /etc/asterisk/sip.conf

În același fișier putem indica furnizorii VoIP și abonații noștri interni. Folosesc operatorul it-sekret pentru că are apeluri ieftine it-sekret.ru. Pentru a face acest lucru, adăugați la sfârșitul fișierului

Pentru operator:

Tip=peer context=it-sekret host=xxx.it-sekret.ru username=USERNAME secret=PAROLĂ fromuser=USERNAME nat=force_rport insecure=port,invite

Dacă operatorul are nevoie de înregistrare constantă, de exemplu pentru apelurile primite, atunci trebuie să scrieți această linie

Înregistrare => ID utilizator: [email protected]/ID-ul de utilizator

Unde userID este numele de utilizator emis de operator și PAROLA este parola, xxx.it-sekret.ru adresa serverului emisă de operator.

Creați un abonat intern:

Tip=prieten context=gazdă internă=nume utilizator dinamic=1001 secret=1234

După adăugarea acestor intrări, salvați fișierul și ieșiți. Pentru a aplica setările, trebuie fie să reporniți serverul, fie să îi spuneți să recitiți setările. Această metodă este mai bună, deoarece dacă serverul tău este activ, atunci apelurile care sunt în curs de desfășurare nu vor fi întrerupte.


sudo asterisc -r
reîncărcați

Configurarea unui telefon sau softphone

Acum să configuram telefonul sau softphone. Eu folosesc X-lite, sunt destul de multe softphone-uri, îl poți folosi după gustul tău. Setări X-lite faceți ca în captura de ecran.

Pentru a verifica corectitudinea setărilor din Asterisk CLI (denumit în continuare pur și simplu CLI), rulați comanda sip show peers

Configurarea regulilor de apelare Asterisk (plan de apelare)

Mai întâi de toate, să facem o copie a fișierului original extension.conf


sudo mv /etc/asterisk/extensions.conf
/etc/asterisk/extensions.conf.bak

Acum în extension.conf vom scrie o regulă pentru un apel de ieșire.


sudo nano /etc/asterisk/extensions.conf exten => _X.,1,Dial(SIP/it-sekret/$(EXTEN))

În CLI, rulați comanda reload pentru a aplica setările. Și acum să încercăm să dăm un apel.

Apelul a trecut, acum trebuie să îl setăm apel primit. Pentru a face acest lucru, trebuie să scrieți o regulă de apelare.


sudo nano /etc/asterisk/extensions.conf exten => s,1,Dial(SIP/1001)

Pe aceasta configurare ușoară se încheie, în următoarele articole vă voi spune cum să înregistrați conversații, să configurați IVR, să faceți un CallBack de pe site și multe altele.

Acest articol este o notă în cazul în care trebuie să-mi amintesc cum să configurez Asterisc pentru a primi și trimite apeluri. Această notă ar trebui să fie suficientă pentru a configura o stație de birou pe ip pbx Asterisc. Până acum nu aveam un concept puternic și nu aveam experiență de configurare Asterisc pentru lucru fără utilizare FreePbx, adică folosind doar fișierele de configurare și consola. Și acum doar învăț asta. Pe Internet, toate setările se reduc la rezolvarea unei probleme sau alta, dar nu am văzut un articol capabil să ofere măcar o bază pentru configurarea minimă a unei stații IP. Poate nu am căutat bine.

Deci, am compilat și instalat asterisk în folderul /etc/asterisk cu o mulțime de fișiere de configurare. Ce urmează?

1. Capacitatea abonaților interni de a efectua apeluri între ei

2. Configurarea liniilor externe pentru ca stația să primească serviciul de accesare a numerelor de oraș și de distanță lungă și de primire a apelurilor

3. Configurarea posibilității de a efectua apeluri către abonați la numere de oraș și de distanță lungă. Și primiți apeluri din oraș.

Iată trei sarcini principale care trebuie rezolvate în mod natural, schema poate fi diferită. Adică, abonații pot fi combinați în grupuri, pot exista mai mulți operatori de telecomunicații externi, un apel de intrare poate fi trimis către un autoinformator, o coadă sau poate ambele. Schema de servicii poate varia și deveni mai complexă, dar primele trei condiții vor fi îndeplinite în orice caz.

Prin urmare, primul lucru pe care îl facem este să creăm abonați interni (peer) în fișierul sip.conf

Abonatul A va avea următoarele setări:

Disallow=toate
permit=ulaw
permit=alaw
tip=prieten
nume de utilizator=101
secret=parolă
califica=da
context=101
callerid=101
gazdă=dinamic
apel-limită=1
canreinvite=da
cont cod=101
amaflags=facturare
deny=0.0.0.0/0
permis=192.168.0.66

Unde:
disallow=all , interziceți utilizarea tuturor codecurilor, cu excepția G.711
permit=ulaw
permit=alaw

tip=prieten, acest parametru poate lua trei valori:

- egal, acest tip este folosit pentru a efectua apeluri de intrare și de ieșire. Pentru apelurile primite, numele de utilizator și parola nu vor fi verificate niciodată, ci doar adresa IP și numărul portului sursei apelului.

- utilizator o intrare care poate efectua numai apeluri primite

- prieten o intrare care este atât un peer, cât și un utilizator
nume de utilizator=101
secret=parolă
Autentificare și respectiv parolă

Trimiteți periodic un mesaj SIP de tip Opțiuni pentru a verifica monitorizarea disponibilității dispozitivului pentru înregistrare, util atunci când lucrați prin NAT pentru a salva valori în tabelul de traducere

Nume context, cu reguli de rutare

ID apelant numarul nostru

gazdă=dinamic
ip gazdă de la care va avea loc înregistrarea

limita de apel=1
(contor de apeluri)
Limitați apelurile simultane, aici puteți seta numărul de canale

canreinvite=da
(media directă)

Acest parametru este responsabil pentru procedură RE-Invita, dacă nu, atunci toate apelurile vor fi efectuate Asterisc, dacă da, fluxul RTP va fi trimis între două dispozitive ocolind Asterisc

cont cod=101
amaflags=facturare

Înregistrarea CDR pentru câmpul cod de cont va avea valoarea 101
Valoarea câmpului de semnalizare AMA pentru apelurile efectuate de la acest utilizator SIP

deny=0.0.0.0/0
permis=192.168.0.66
ACL ip, căruia îi vom permite înregistrarea

De asemeneaPentruabonatB:

Disallow=toate
permit=ulaw
permit=alaw
tip=prieten
nume de utilizator=102
secret=parolă
califica=da
context=102
callerid=102
gazdă=dinamic
apel-limită=1
canreinvite=da
cont cod=102
amaflags=facturare
deny=0.0.0.0/0
permis=192.168.0.67

Mai multe opțiuni în sărbătoare care pot fi utile:

transport=tcp,udp
Pot lucra nu numai folosind udp, ci necesită setarea tcpenable=yes în general
rtptimeout=180
rtpholdtimeout=420

Util pentru clienții SIP care nu se blochează când sunt închise sau deconectate. ÎN în acest caz, Sesiunea RTP se va putea reseta prin timeout, rtpholdtimeout - dacă apelul este în așteptare

nat=force_rport,comedia

Dacă dispozitivul se află în spatele NAT, atunci reparăm munca prin rport, trimitem pachetele RTP înapoi la adresa IP și portul de la care au fost primite, ignorând informațiile din SDP

defaultexpiry=60
Timpul de expirare a înregistrării în secunde pentru înregistrările de intrare și de ieșire

dtmfmode=rfc2833

Cum vom lucra cu semnalele DTMF

1. Deci, sarcina unu, configurarea rutei între clienții sip 101 și 102, în cea mai simplă versiune poate fi rezolvată cu o singură linie în fișierul sip.conf și include configurații


exten => _XXX,1,Dial(SIP/$(EXTEN),20,T)

Este convenabil să utilizați sip.conf astfel:

Include => in_out_peer_local

Acum abonatul 101 va putea comunica cu abonatul 102 și invers, 102 va putea suna 101

2. Pentru a crea condiții în care abonații interni vor putea accesa liniile externe, vom conecta stația la operatorul de telecomunicații folosind același sip

Adică vom crea un portbagaj
tip=peer
gazdă=XX.XXX.XXX.XX
port=5060
fromdomain=ip-ul stației noastre
nat=nu
disallow=toate
permit=ulaw
permit=alaw
permit=gsm
canreinvite=nu
;allow=g722
trustpid=da
sendrpid=da
dtmfmode=rfc2833
califica=da
nesigur=invită,port
deny=0.0.0.0/0.0.0.0
permis=XX.XXX.XXX.XX/255.255.255.255
context=oferiți

Setările portbagajului sunt foarte asemănătoare cu setările de la egal la egal, în principiu, aceasta este o opțiune de egalitate, importante
fromdomain – setați fromdomain în pachetul sip, astfel încât să puteți înțelege unde să returnați pachetele sip la stația noastră
trustpid=da
sendrpid=da

A avea sau nu încredere în ceea ce se primește Telecomanda-Parte-ID

nesigur=invită,port

Nu solicităm autentificarea mesajelor INVITE primite, nu verificăm numărul portului doar pentru conformitatea cu adresa IP

3. Este doar o chestiune de lucruri mici, de îndată ce trunchiul este activat, trebuie să înregistrați rutarea de ieșire pentru a efectua apeluri către abonații A și B
Standardul de facto pare să spună că întotdeauna se stabilește mai întâi comunicarea de ieșire

Crearea unui context pentru efectuarea apelurilor efectuate

Pentru apelurile efectuate către oraș


exten => _XXXXXX,1, Dial(SIP/ provider /$(EXTEN))
exten => _XXXXXX,n,Hangup

Pentru apeluri efectuate către destinații la distanță lungă


exten => _8.,1,Dial(SIP/ provider /$(EXTEN))
exten => _8.,n,Hangup

După ce conexiunea de ieșire funcționează, configuram conexiunea de intrare

Într-un caz simplu fără autoinformator, grupuri și cozi, va arăta așa


exten => 2466754,1, Dial(SIP/$(EXTEN))
exten => 2466754,n,Hangup

Orice statie poate fi configurata in acelasi mod conform principiilor discutate mai sus.

23.02.2012 15:56

Un articol care permite programatorilor începători să efectueze configurarea de bază a asteriscului

Asterisk este unul dintre cele mai comune servere de telefonie IP, împreună cu sisteme precum Switchwox și 3CX. Acest sistem a câștigat o mare popularitate odată cu răspândirea Internetului de înaltă calitate în țara noastră, precum și cu mulți furnizori de telefonie care furnizează numere de telefon în format SIP sau așa-numitele numere SIP. Una dintre astfel de companii este Datagroup, care s-a impus ca unul dintre liderii pe piața serviciilor de comunicații. Cu numerele SIP care devin mai ieftine, este logic să folosiți modern sisteme telefonice Telefonie IP în locul vechiului mini-PBX analogic. Acest lucru se datorează largii funcţionalitate centre de apeluri bazate pe Asterisk. În același timp, costul echipamentului și al instalării Asterisk este practic același ca în costurile bănești.

Instalarea asterisk se face prin descărcarea și apoi compilarea codului sursă distribuit gratuit dezvoltat de Digium. sursele asterisc există numai pentru compatibilitatea cu Unix sisteme de operare, dintre care cele mai comune sunt Linux și FreeBSD. Instalarea asterisk sub Windows este posibilă numai prin implementare mașină virtuală. Puteți descărca cele mai recente versiuni de asterisk de la următorul link. Pe în acest moment 4 versiuni ale acestui server sunt dezvoltate simultan. Versiunile asterisk 1.4 și asterisk 1.6 au cea mai mare stabilitate dintre toate modulele. Pe de altă parte, în ceea ce privește funcționalitatea, versiunea asterisk 1.8 se compară favorabil, care are suport pentru multe module și funcții noi, inclusiv suport pentru protocolul SRTP, lucru cu IPv6 și performanță îmbunătățită atunci când lucrează cu SIP și ISDN.

Acest articol va discuta despre instalarea asterisk v 1.6.22 pe Linux Fedora Core.

Pentru a începe instalarea, descărcați sursele asterisc. Pentru a face acest lucru, executați comenzile în consola serverului:

# wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.6.2.22.tar.gz

# tar -xzvf asterisc-1.6.2.22.tar.gz

Înainte de a compila sursele, să instalăm toate modulele și utilitățile însoțitoare necesare:

# yum instalează gcc

# yum instalează gcc-c++

# yum install make

# yum install libxml2-devel

# yum install ncurses-devel

După ce sunt instalate toate utilitățile suplimentare, instalăm asteriscul în sine:

# cd asterisc-1.6.2.22

După instalarea cu succes, în directorul /etc/asterisk veți găsi asterisc"a fișiere de configurare. Asterisk este configurat prin editarea fișierelor de configurare care au o structură și operatori foarte specifici. Baza configurației la configurarea asterisk este sip.conf și fișierele extensions.conf După ce au studiat și editat aceste fișiere pot fi realizate funcționare corectă server.

Fișierul sip.conf include setările tuturor dispozitivelor SIP înregistrate pe server, care interacționează ulterior între ele prin conectarea a două sau mai multe canale SIP, inițiind astfel o conexiune telefonică - adică un apel.

Exemplu de fișier sip.conf:


califica=da
nat=nu


defaultexpiry=3600
disallow=toate
permit=alaw
permit=ulaw
fromuser=044XXXXXXX
gazdă=80.91.169.2
nesigur=invită,port
secret=xxxxxxxxxxxx
tip=peer
nume de utilizator=044XXXXXXX
context=incoming
limba=ro
califica=da
dtmfmode=auto


tip=prieten
gazdă=dinamic
nesigur=invită,port
username=fxo
secret=xxxxxxxxx
context=incoming
califica=da
nat=nu
canreinvite=nu
allowtransfer=nu
dtmfmode=auto
disallow=toate
permit=alaw
permit=ulaw


tip=prieten
regexten=101
secret=xxxxxxxxxxxxx
context=intern
gazdă=dinamic
callerid="101"<101>
disallow=toate
permit=alaw
permit=ulaw
limba=ro
grup de apeluri=1
grup de preluare=1
califica=da
canreinvite=da
apel-limită=4
nat=nu

Acest exemplu arată lista simpla dispozitive de sorbire. Este ușor de observat că configurația conține blocuri cuprinse între paranteze drepte. Aceste blocuri sunt cele care descriu configurația oricăror dispozitive (peer) la configurarea Asterisk. Să parcurgem pe scurt blocurile și cei mai de bază parametri.

Blocul este necesar. Include setări și opțiuni care se aplică în mod implicit tuturor blocurilor. Cu alte cuvinte, dacă nu este specificat un parametru atunci când descrieți un dispozitiv, atunci Asterisk îl citește din acest bloc.

Următoarele trei blocuri descriu în mod direct dispozitivele SIP. Pentru claritate, toate cele trei dispozitive au scopuri diferite. Blocul descrie parametrii pentru numărul de sip al companiei Datagroup, blocul descrie parametrii pentru conectarea la un gateway VOIP, iar blocul descrie parametrii unui dispozitiv sip intern obișnuit care poate fi utilizat de un telefon IP software sau hardware.

Să trecem peste principalii parametri ai dispozitivelor SIP. Parametrul de context determină ce algoritm de acțiune să se aplice unui anumit dispozitiv. Callerid definește numărul și numele de peer, care vor fi afișate atunci când se efectuează un apel de ieșire de la acesta. Opțiunile de interdicție și de autorizare determină ce codecuri să folosească pentru comunicare. Opțiunea secretă este parola pentru înregistrarea acestui peer. Este recomandabil să faceți parolele suficient de complexe pentru a evita piratarea de către cei nedoritori.

Fișierul extensions.conf descrie interacțiunile dintre contexte și canale de comunicare, dintre care pot fi un număr mare. De fapt, acest fișier este principalul la configurarea asteriscului.

Exemplu de fișier extensions.conf:


exten => _XXX,1,Dial(SIP/$(EXTEN),120,tT)
exten => _XXX,n,Hangup

Exten => _X.,1,Dial(SIP/datagroup/$(EXTEN),120,tT)
exten => _X.,n,Hangup


exten => _X.,1,Dial(SIP/101,60,tT)
exten => _X.,2,Hangup

Exten => h,1,Hangup

În acest exemplu cel mai simplu, avem doi algoritmi de acțiuni (context) - intern și incoming. Să ne reamintim că legarea la contexte se realizează la crearea de peer-uri în fișierul sip.conf și ulterior este atribuită în extensions.conf atunci când se încearcă inițierea comunicării cu un peer.

Să descriem cele două contexte mai detaliat. Doar după numele lor, devine clar că sunt utilizați pentru algoritmi pentru abonații interni și apelurile primite. Un exemplu generalizat care poate fi exprimat în următoarea linie vă va ajuta să înțelegeți designul acestui fișier:

Exten => _XXX,n,Comandă(Opțiuni)

Aceste opțiuni sunt descifrate după cum urmează:

Exten => _XXX - un prefix de serviciu cu care intră aproape toate liniile acest fisier. Descrie reprezentarea contextului de intrare. Cu alte cuvinte, dacă acest context a fost contactat de peer number 101, atunci algoritmul pentru acesta ar trebui să înceapă cu construcția exten => 101. Prefixul acceptă expresii regulate si poate fi indicat in general. De exemplu, exten => _XXX indică faptul că sub acest algoritm sunt incluși toți colegii formați din trei cifre.

N - numărul de linie al algoritmului. În orice codul programului există o succesiune de instrucţiuni care sunt executate pe rând. În același mod, există o astfel de secvență în setările asteriscului. Singura diferență este că comenzile executate prin asterisc sunt numerotate. Este obligatoriu să indicați primul rând în mod explicit. După cum probabil ați observat, toate contextele încep cu rândurile:

Exten => _XXX,1,…..
exten => _X.,1,…..
exten => h,1,……

Dar liniile suplimentare pot fi numerotate implicit, adică astfel:

Exten => _XXX,n,…..
exten => _X.,n,…..
exten => h,n,……

Când numărul de linie este implicit specificat, asterisc le execută secvenţial de sus în jos, ca şi cu orice alt cod.

Comandă - comandă executată prin asterisc. Nu există atât de multe comenzi de bază. Pentru setări de bază Este suficient să cunoaștem sintaxa comenzii Dial, cu ajutorul căreia ne vom uita la opțiunile rămase.

De exemplu:
exten => _X.,1,Dial(SIP/101,60,tT) - asteriscul va forma număr intern 101 și va încerca să ajungă la abonat în 60 de secunde cu posibilitatea de a intercepta apelul de la colegii care apelează și primesc (opțiuni tT)
exten => _X.,1,Dial(SIP/datagroup/$(EXTEN),120,tT) asteriscul va forma numărul care este transmis în variabila $(EXTEN) folosind grupul de date peer-ul specificat anterior în sip.conf

Primul exemplu a fost folosit în contextul de intrare. Aceasta înseamnă că toate apelurile primite care vin în acest context sunt redirecționate către abonatul intern care răspunde la aceste apeluri. Al doilea exemplu, la rândul său, arată cum apel de ieșire trecând numărul format în variabila de serviciu $(EXTEN).

Exemple de fișiere pot fi copiate direct din acest articol și lipite în sip.conf și extensions.conf și editate unele opțiuni (autentificare, nume de peer, parole etc.). După configurarea asteriscului, pornim serverul cu o comandă simplă:

Alte acțiuni pot fi efectuate de la linie de comandă asterisc, care este lansat cu comanda:

# asterisc -rvvvvd

Odată ajuns în consolă, puteți verifica funcționarea serverului dvs. Va afișa toate acțiunile pe care le efectuează.

P.S. Dacă nu ați putut configura serverul sau aveți nevoie de o configurație mai complexă, vă vom ajuta cu plăcere să configurați asterisk. Contactele noastre.


Programul Linux Asterisk este necesar pentru a crea servere de telefonie și PBX. Ea are multe funcții utile, care va fi potrivit în orice birou. Conferințe, robote telefonice, distribuire apeluri, mesaje text, video, meniu vocal și mesagerie vocală. Utilitarul acceptă protocoale de comunicare populare. Ele pot fi comutate. Dar instalarea Asterisk pe Ubuntu nu este cel mai ușor lucru. Aplicația este descărcată și configurată prin intermediul terminalului. Prin urmare, trebuie să învățați comenzile consolei.

  1. Accesați folderul „contrib/scripts/” folosind comanda „cd”.
  2. Deschideți scriptul „get_mp3_source.sh”.
  3. Tastați „make install”.
  4. Așteptați până când arhivele sunt descărcate.

Asterisk instalat trebuie configurat atât prin meniu, cât și prin terminal. Așa că deschide-ți consola.

  1. Faceți fișiere de configurare. Poate fi folosit ca test. Comanda este „face mostre”.
  2. Activați funcția de rulare automată - „make config ldconfig”.
  3. Acum puteți porni serviciul - „start service start”.
  4. Sau deschideți-l imediat ca demon - „/etc/init.d/asterisk start”. Pentru a-i activa consola, introduceți comanda „sudo asterisk -rvvvcd”.

Pentru moment, pentru a lucra cu Asterisk aveți nevoie de drepturi de superutilizator. Dar este mai bine să creați un utilizator separat și să îi oferiți acces la funcțiile programului. Pentru a face acest lucru:

  1. Dezactivați temporar utilitarul - „oprire asterisc serviciu”.
  2. Adăugați un utilizator nou - „adduser [Nume]”. Puteți crea un grup căruia îi veți oferi drepturi necesare. Va fi util dacă decideți să creați mai mulți utilizatori pentru a lucra cu diferite servicii Asterisk.
  3. Acum avem nevoie de un director pentru lansare. Adăugați-l folosind comanda „mkdir”. După aceasta, scrieți parametrul „-p” și calea către folderul „/var/run/asterisk”.
  4. Pentru ca aplicația să se deschidă imediat sub utilizatorul dorit, editați fișierul „/etc/default/asterisk”. Setați următorii parametri acolo: „AST_GROUP="dialout"" și „AST_USER="asterisk"".
  5. Puteți face acest lucru mai ușor - introduceți scriptul „sed -i ‘s/#AST_USER=”asterisk”/AST_USER=”asterisk”/g’ /etc/default/asterisk”.
  6. Oferiți utilizatorului acces la toate folderele programului - „chown -R [Nume utilizator] [Cale către director]”.
  7. Deschideți fișierul „asterisk.conf”, găsiți parametrul „runuser” în el și specificați utilizatorul nou creat în el. Dacă ați făcut un grup, rescrieți și linia „rungroup”.
  8. Reporniți sistemul - „reporniți”.
  9. Conectați-vă ca utilizator Asterisk - „su [Nume]”.
  10. Și rulați programul.
  11. Pentru a vedea informații despre acesta, introduceți „asterisc -rvvvv”.

Utilitarul este gata de utilizare. Acțiunile ulterioare depind de condițiile în care va fi utilizată stația. Există mai multe fișiere care conțin configurația:

  • conf - setări generale server. În ea puteți indica câți abonați sunt conectați. Ei stabilesc reguli de apelare.
  • conf - de asemenea, configurează regulile de apelare și setează parametrii de apel.
  • conf - configurarea conturilor de abonat.

Cu Asterisk puteți crea un PBX de orice complexitate. Are multe funcții și module utile. După instalare și configurare, veți putea interacționa cu stația folosind clientul software. De exemplu, Linphone.

Asterisk, a cărui instalare va fi discutată în acest material, este un software pentru organizarea așa-numitului birou centrala telefonica sau IP-PBX (Private Branch eXchange, PBX). Combină toate telefoanele de la birou într-unul singur reteaua de informatii, pe baza cărora funcționează o varietate de servicii comunicare vocală. Asterisk rulează pe Linux, BSD, OS X și Windows folosind un emulator.

Asterisk poate transporta vocea peste patru protocoale VoIP diferite și poate interfața cu aproape toate dispozitivele telefonice standard (inclusiv telefoanele mobile) folosind hardware relativ ieftin. Asterisk implementează diverse caracteristici mesageria vocală(mesaj vocal), inclusiv agendă telefonică, conferințe, răspuns vocal interactiv și cozi de apeluri.

În acest material, vom analiza procesul de instalare a Asterisk pe Linux, în special pe distribuțiile populare CentOS și Debian, precum și procedurile de bază pentru configurarea unui server de mesagerie vocală.

Instalarea serverului Asterisk de la sursă

În primul rând, să ne uităm la algoritmul de instalare a unui server de telefonie IP, care este disponibil pe absolut orice distribuție Linux, și anume asamblarea și instalarea de software din codul sursă. Această metodă vă permite să instalați Asterisk de la zero.

Înainte de a instala un server de telefonie IP în sistem, trebuie îndeplinite o serie de condiții. Asterisk trebuie să fie instalat pe un sistem care rulează o versiune de kernel de cel puțin 2.6, iar sistemul trebuie să aibă fișiere de antet pentru ca programul să fie compilat cu succes. Asterisk este scris în C, așa că pentru a construi, compilatorul gcc trebuie să fie instalat pe sistem cu biblioteci însoțitoare, cum ar fi termcap și openssl. Crearea suplimentelor Asterisk necesită, de asemenea, biblioteci preinstalate și clientul mysql, precum și fișierele de antet corespunzătoare.

Când sistemul este pregătit pentru instalare, va trebui să mergeți la secțiunea Descărcare de pe site-ul oficial și să descărcați următoarele arhive de pe acesta:

  1. asterisc.
  2. asterisc-sunete.
  3. asterisc-suplimente.
  4. zaptel.
  5. libpri.

Fișierele trebuie copiate pe serverul care va îndeplini funcțiile PBX de birou. Puneți-le într-un folder /usr/src/.

După aceea, rulați Accesați directorul cu arhivele și despachetați fiecare dintre ele cu comanda:

tar-xzf<имя_архива>tar.gz

Arhivele vor fi despachetate în foldere cu nume care se potrivesc cu numele arhivelor. Accesați fiecare folder secvenţial cu comanda:

CD<имя_папки>

Și rulați următoarele comenzi în fiecare folder.

1. Pregătirea pentru asamblare:

2. Asamblare:

3. Instalare:

Dacă comenzile de mai sus se completează cu succes, veți construi și instala Asterisk pe serverul dvs.

Procedura de instalare de la sursă este aceeași pentru toate distribuțiile Linux, dar nu toată lumea este familiarizată cu aceasta. De regulă, majoritatea utilizatorilor preferă metodele de instalare oferite de o anumită distribuție.

În acest sens, vom lua în considerare procedurile de instalare pentru Asterisk pe două platforme populare pentru crearea PBX-urilor de birou: CentOS și Debian GNU/Linux.

Instalarea Asterisk pe CentOS

În acest exemplu vom instala Asterisk 13. Vom instala Asterisk pe CentOS 7.

Se presupune că instalarea va fi efectuată în modul consolă text ca superutilizator (rădăcină).

Mai întâi trebuie să instalați toate cerințele necesare. Asigurați-vă că toate pachetele enumerate mai jos sunt prezente pe sistemul dumneavoastră. Sunt destul de multe:

Ca rezultat, sistemul va conține toate dependențele necesare pentru a construi cu succes serverul de telefonie Asterisk.

Următorul pas ar trebui să fie dezactivarea SELinux. Sistemul de securitate Linux îmbunătățit cu securitate din CentOS este activat implicit și de foarte multe ori interferează cu funcționarea normală a Asterisk. Prin urmare, pentru configurarea și funcționarea cu succes a serverului, acesta trebuie dezactivat.

Să verificăm starea activității sistemului SELinux cu următoarea comandă:

Dacă sistemul raportează că SELinux este activat, vom efectua procedura de dezactivare. Pentru a face acest lucru, este necesar să faceți modificări la fișier de configurareîntr-un folder /etc/selinux, prin stabilirea steagului corespunzător.

sed -i "s/\(^SELINUX=\).*/\SELINUX=DEZACTIVAT/" config

timedatectl set-timezone<имя_зоны>(de exemplu, America/Los_Angeles)

Pentru a verifica dacă fusul orar a fost setat, puteți utiliza următoarea comandă:

starea timedatectl

Apoi va trebui să reporniți sistemul pentru ca modificările să intre în vigoare. Pentru a face acest lucru, utilizați comanda de repornire.

Acum să trecem la instalarea Asterisk.

De fapt, instalarea Asterisk pe CentOS se reduce la același ansamblu de la sursă pe care l-am întâlnit în secțiunea anterioară. Aici ne vom uita la procesul de construire ținând cont de caracteristicile unei distribuții Linux specifice, și anume CentOS 7.

Mai întâi, să descarcăm și să instalăm propriul server de telefonie IP.

Descărcați arhiva cu Asterisk 13 din secțiunea Descărcări de pe site-ul oficial al produsului și Să-l salvăm în folderul /usr/src. Să despachetăm arhiva cu comanda:

tar zxvf<имя_архива>

Să mergem la folderul cu arhiva dezambalată și să executăm comenzile de mai jos.

./configure --libdir=/usr/lib64 --with-pjproject-bundled

Această secvență de comenzi va pregăti sursele pentru asamblare.

make menuselect.makeopts

După setarea opțiunilor de compilare, efectuați următoarea secvență de acțiuni:

1. Creați un separat cont utilizator pentru serverul de telefonie IP.

adduser asterisk -s /sbin/nologin -c „Utilizator Asterisk”

2. Construiți și instalați serverul.

make && make install

3. Setați drepturile de acces Asterisk pentru utilizatorul nou creat.

chown -R asterisc. /var/lib/asterisc

Ca urmare server de bază Asterisk va fi construit și instalat.

Pe lângă Asterisk în sine, îl puteți instala pe CentOS într-un mod similar completări utile la server. Citiți mai jos despre asta.

FreePBX

FreePBX este o interfață web grafică cu funcții complete, concepută pentru configurarea și gestionarea unui PBX de birou. Instalarea Asterisk cu FreePBX se realizează în următoarea secvență.

Să începem baza de date:

systemctl start mariadb

Descărcați codul sursă FreePBX din GitHub în folderul /usr/src:

git clone -b release/13.0 https://github.com/FreePBX/framework.git freepbx

./start_asterisk start

Și o serie de comenzi pentru configurarea FreePBX:

DAHDI

DAHDI este un driver care permite lui Asterisk să interacționeze cu diverse echipamente telefonice. Este responsabil pentru funcționarea plăcilor de interfață de telefonie instalate direct în serverul care rulează Asterisk. Procedura de instalare pentru DAHDI este descrisă mai jos.

Descărcați arhiva cu driverul în directorul /usr/src, despachetați-o și accesați folderul dezarhivat. Rulați comenzile din el:

PJSIP

PJSIP este o bibliotecă scrisă în C care este responsabilă cu suportarea diferitelor protocoale de telefonie IP. Din versiunea Asterisk 13.8 inclusiv, biblioteca PJSIP poate fi instalată separat. Cu toate acestea, dacă Asterisk este compilat cu steag --cu-pjproject-bundled(ceea ce am făcut în secțiunea anterioară), biblioteca PJSIP va fi instalată direct când serverul este compilat.

Pentru a instala PJSIP separat, este necesară următoarea procedură.

Descărcați arhiva cu driverul de pe pjsip.org în directorul /usr/src, despachetați-o și accesați folderul dezarhivat. Rulați comenzile din el:

Proceduri post-instalare

Odată ce instalarea Asterisk este finalizată, există o serie de pași suplimentari pe care trebuie să îi finalizați. Aceste proceduri sunt obligatorii.

1. Configurați protecția pentru serverul bazei de date:

mysql_secure_installation

Pentru a finaliza procedura, pur și simplu răspundeți Y la toate întrebările.

2. Modificați setările serverului web:

3. Deschideți accesul la serviciile și porturile necesare pentru ca Asterisk să funcționeze:

firewall-cmd --permanent --zone=public --add-service=(http,https) --add-port=5060-5061/tcp --add-port=5060-5061/udp --add-port= 10000-20000/udp

4. Configurați încărcarea automată a bazei de date:

systemctl enable mariadb

5. Configurați serverul web să se încarce la pornirea sistemului:

systemctl enable httpd

6. Configurați pornirea automată FreePBX când sistemul pornește:

nano /etc/systemd/system/freepbx.service

systemctl activa freepbx

7. Configurați o conexiune la baza de date prin ODBC. Dacă este instalat un modul învechit cdr_mysql.so, Acest articol este opțional, dar totuși recomandat:

nano /etc/odbc.ini

Pentru a testa conectivitatea ODBC, utilizați următoarea comandă:

isql -v asteriskcdrdb

8. Reporniți sistemul pentru a aplica modificările făcute:

Instalarea Asterisk 13 pe Debian

ÎN această secțiune Ne vom uita la procedura de instalare pe o altă platformă populară - Debian. Vestea bună pentru utilizatori este că este relativ simplu, deși include și construirea de la sursă. De exemplu, vom instala Asterisk pe Debian 8.

Instalarea se realizează ca superutilizator (rădăcină). Deschideți un terminal, obțineți drepturile corespunzătoare, după care puteți continua cu instalarea.

Mai întâi, descărcați Asterisk 13 de pe site-ul oficial și extrageți arhiva descărcată. Accesați folderul cu sursele dezambalate.

Acum să instalăm dependențele necesare. Cel mai important - compilatorul gcc - este deja disponibil în Debian. Deci, să le descarcăm pe cele rămase:

După ce toate dependențele sunt descărcate și instalate, rulați următoarea comandă în folderul cu arhiva extrasă Asterisk:

Comanda ar trebui să se finalizeze fără erori. Dacă acest lucru duce la un mesaj că unele dependențe lipsesc, instalați-le.

Înainte de a compila Asterisk, este posibil să activați sau să dezactivați module individuale:

Se va deschide o aplicație consolă cu o listă de module. Deplasând tastele în jos și în sus prin listă, le puteți activa și dezactiva. Unele module suplimentare necesită instalarea dependențelor. Acest lucru se poate face folosind apt-get.

Acum să începem compilarea Asterisk. Introduceți comenzile familiare în consolă:

1. Creați coduri sursă:

2. Instalare în directoarele de sistem:

Când compilarea se termină fără erori, trebuie să rulați comanda:

Aceasta completează instalarea. Asterisk a fost instalat cu succes pe serverul dvs. Următoarea comandă va afișa consola de management Asterisk:

asterisc -vvvvvvgc

Configurarea Asterisk

Acum să ne uităm la procedurile de bază pentru configurarea serverului de telefonie Asterisk. Ele sunt fundamental aceleași pentru toate distribuțiile Linux.

Mai întâi trebuie să adăugați următorul text la fișier sip.conf:

Acest lucru va crea cinci conturi care pot fi utilizate de orice client SIP (Cisco SIP Phone, xlite, ATA și altele asemenea). Toți utilizatorii vor fi înregistrați în Asterisk. Dacă această configurație nu funcționează, încercați să dezactivați paravanul de protecție înainte de a finaliza configurarea software-ului.

Creați primul dvs. plan de apelare

Planul de numere (dialplan) oferă o descriere oficială a proceselor de procesare a apelurilor telefonice. Dialplan-ul spune sistemului în detaliu ce trebuie să facă cu apelurile primite și efectuate. De exemplu, Asterisk le poate redirecționa, le poate răspunde cu un răspuns automat și așa mai departe.

Deschideți fișierul extensie.confîntr-un folder /etc/asteriscși adăugați linia la el:

exten => _XXXX,1, Dial(SIP/$(EXTEN))

Acum toți clienții SIP configurați vor putea primi și trimite apeluri. Datorită ușurinței configurării dialplanului, Asterisk este una dintre cele mai prietenoase platforme de telefonie IP. Nu sunt necesare prea multe abilități pentru a configura un PBX de birou.

Crearea primului trunchi SIP

Asterisk poate efectua apeluri efectuate și primite. Pentru apelurile efectuate, solicităm unui furnizor să redirecționeze apelurile către sistemul nostru, precum și o adresă IP publică.

Pentru a face acest lucru, trebuie să configurați un canal trunk SIP comunicare virtualăîntre echipamentul clientului și operatorul de telefonie. Dacă serverul nostru cu Asterisk va acționa ca echipament al clientului, configurarea unui trunchi vă va permite să conectați orice număr de orașe. numere de telefon prin protocolul SIP

Pentru a crea un trunchi, adăugați următorul cod la fișier sip.conf:

După aceasta va trebui să intri extensie.conf inca o linie:

exten => _XXXXXXX.,1, Dial(SIP/trunk1/$(EXTEN))

Acest lucru vă va permite să stabiliți o conexiune cu furnizorul dvs. pentru a efectua apeluri de ieșire.

Concluzie

Configurarea unui PBX de birou cu drepturi depline bazat pe Asterisk, a cărui instalare a fost discutată în acest articol, include mult mai multe proceduri decât cele descrise mai sus. Informații detaliate despre serverul de telefonie și capacitățile acestuia este prezentat în documentația oficială Asterisk.