Come configurare smartphone e PC. Portale informativo
  • casa
  • Windows 10
  • Asterisco di telefonia IP da zero. Installazione dell'asterisco

Asterisco di telefonia IP da zero. Installazione dell'asterisco

Questo articolo è una nota nel caso in cui avessi bisogno di ricordare come configurare Asterisk per ricevere e inviare chiamate. Questa nota dovrebbe essere sufficiente per configurare una postazione ufficio su ip pbx Asterisk. Fino ad ora non avevo un'idea forte o esperienza su come configurare Asterisk in modo che funzioni senza utilizzare FreePbx, ovvero utilizzando solo i file di configurazione e la console. E ora sto imparando questo. Su Internet tutte le impostazioni si riducono alla risoluzione di un problema o di un altro, ma non ho visto un articolo in grado di fornire almeno una base per la configurazione minima di una stazione IP. Forse non ho cercato bene.

Quindi ho compilato e installato asterisco nella cartella /etc/asterisk con molti file di configurazione. Qual è il prossimo?

1. La possibilità per gli abbonati interni di effettuare chiamate tra loro

2. Allestimento di linee esterne affinché la stazione riceva il servizio di accesso alle linee urbane, numeri a lunga distanza e ricevere chiamate in arrivo

3. Impostazione della possibilità di effettuare chiamate agli abbonati verso numeri urbani e interurbani. E rispondi alle chiamate dalla città.

Ecco tre compiti principali che devono essere risolti; naturalmente, lo schema potrebbe essere diverso. Cioè, gli abbonati possono essere uniti in gruppi, possono esserci diversi operatori di telecomunicazioni esterni, chiamata in arrivo può essere inviato a un autoinformatore, a una coda o forse a entrambi. Lo schema dei servizi può variare e diventare più complesso, ma le prime tre condizioni saranno comunque soddisfatte.

Pertanto, la prima cosa che facciamo è creare sottoscrittori interni (peer) nel file sip.conf

L'abbonato A avrà le seguenti impostazioni:

Non consentire=tutto
consentire=ulaw
consentire=alaw
tipo=amico
nomeutente=101
segreto=password
qualificarsi=sì
contesto=101
calleride=101
host=dinamico
limite-chiamate=1
canreinvite=sì
codice account=101
amaflags=fatturazione
nega=0.0.0.0/0
permesso=192.168.0.66

Dove:
disallow=all , proibisce l'uso di tutti i codec tranne G.711
consentire=ulaw
consentire=alaw

type=friend, questo parametro può assumere tre valori:

- pari, questo tipo viene utilizzato per effettuare chiamate in entrata e in uscita. Per le chiamate in arrivo non verranno mai controllati nome utente e password, ma solo indirizzo IP e numero di porta della sorgente della chiamata.

- utente una voce che può effettuare solo chiamate in entrata

- amico una voce che è sia un peer che un utente
nomeutente=101
segreto=password
Login e password rispettivamente

Invia periodicamente un messaggio SIP di tipo Opzioni per verificare il monitoraggio della disponibilità del dispositivo per la registrazione, utile quando si lavora tramite NAT per salvare i valori nella tabella di traduzione

Nome del contesto, con regole di routing

ID chiamante del nostro numero

host=dinamico
ip host da cui avverrà la registrazione

limite-chiamate=1
(contatore chiamate)
Limita le chiamate simultanee, qui puoi impostare il numero di canali

canreinvite=sì
(media diretta)

Questo parametro è responsabile della procedura RE-Invite, in caso negativo, tutte le chiamate passeranno attraverso Asterisk, in caso affermativo, il flusso RTP verrà inviato tra due dispositivi bypassando Asterisk

codice account=101
amaflags=fatturazione

Il record CDR per il campo codice account avrà il valore 101
Il valore del campo flag AMA per le chiamate in uscita da questo utente SIP

nega=0.0.0.0/0
permesso=192.168.0.66
IP ACL, a cui consentiremo la registrazione

Allo stesso modo per l'abbonato B:

Non consentire=tutto
consentire=ulaw
consentire=alaw
tipo=amico
nomeutente=102
segreto=password
qualificarsi=sì
contesto=102
calleride=102
host=dinamico
limite-chiamate=1
canreinvite=sì
codice account=102
amaflags=fatturazione
nega=0.0.0.0/0
permesso=192.168.0.67

Alcune altre opzioni nel banchetto che potrebbero essere utili:

trasporto=tcp,udp
Posso lavorare non solo usando udp, ma richiede l'impostazione tcpenable=yes in generale
rtptimeout=180
rtpholdtimeout=420

Utile per i client SIP che non riagganciano quando vengono chiusi o disconnessi. In questo caso, la sessione RTP potrà reimpostarsi a causa di un timeout, rtpholdtimeout - se la chiamata è in attesa

nat=force_rport,comedia

Se il dispositivo è dietro NAT, risolviamo il lavoro tramite rport, inviamo i pacchetti RTP all'indirizzo IP e alla porta da cui sono stati ricevuti, ignorando le informazioni da SDP

scadenza predefinita=60
Scadenza della registrazione in secondi per le registrazioni in entrata e in uscita

dtmfmode=rfc2833

Come lavoreremo con i segnali DTMF

1. Quindi, il compito uno, impostare il routing tra i client SIP 101 e 102, nella versione più semplice può essere risolto con una riga nel file sip.conf e includere le configurazioni


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

È conveniente usare sip.conf in questo modo:

Includi => in_out_peer_local

Adesso l'abbonato 101 potrà comunicare con l'abbonato 102 e viceversa l'abbonato 102 potrà chiamare il 101

2. Per creare le condizioni alle quali gli abbonati interni potranno accedere alle linee esterne, collegheremo la stazione all'operatore di telecomunicazioni utilizzando lo stesso SIP

Cioè, creeremo un baule
tipo=pari
host=XX.XXX.XXX.XX
porta=5060
fromdomain=ip della nostra postazione
nat=no
non consentire=tutto
consentire=ulaw
consentire=alaw
consenti=gsm
canreinvite=no
;consenti=g722
trustpid=sì
sendrpid=sì
dtmfmode=rfc2833
qualificarsi=sì
insicuro=invita,porta
nega=0.0.0.0/0.0.0.0
permesso=XX.XXX.XXX.XX/255.255.255.255
contesto=fornire

Le impostazioni del trunk sono molto simili alle impostazioni del peer, in linea di principio si tratta di un peer, opzioni importanti
fromdomain – imposta fromdomain nel pacchetto SIP in modo da poter capire dove restituire i pacchetti SIP alla nostra stazione
trustpid=sì
sendrpid=sì

Per fidarsi o meno del Remote-Party-ID ricevuto

insicuro=invita,porta

Non richiediamo l'autenticazione dei messaggi INVITE in entrata, non controlliamo il numero di porta solo per la conformità con l'indirizzo IP

3. È solo questione di piccole cose, appena attivato il trunk è necessario registrare l'instradamento in uscita per effettuare chiamate agli utenti A e B
Lo standard di fatto sembra dire di impostare sempre prima la comunicazione in uscita

Creare un contesto per effettuare chiamate in uscita

Per le chiamate in uscita verso la città


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

Per le chiamate in uscita verso destinazioni a lunga distanza


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

Dopo che la connessione in uscita funziona, configuriamo la connessione in entrata

In un caso semplice senza autoinformatore, gruppi e code apparirà così


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

Qualsiasi stazione può essere configurata allo stesso modo secondo i principi discussi sopra.

Siti web, forum e interi portali come voip-info.org sono dedicati alla configurazione di Asterisk. Ma ci sono sempre persone per le quali questo argomento è una fitta foresta e il prodotto deve essere lanciato “ieri”. Solo un mese e mezzo fa, tutto quello che sapevo di Asterisk era che esisteva. Questo lavoro ha lo scopo solo di rendere la vita un po' più facile a chi si troverà nella stessa situazione dopo di me. Potrebbe contenere errori di qualsiasi entità. Se sei un guru della configurazione Asterisk, segnala l'errore, lo correggerò e i miei discendenti te ne saranno grati.

Prima c'era la parola

Ad un certo punto, grazie ai miei sforzi, la strategia di sviluppo delle infrastrutture dell’azienda è stata letteralmente capovolta. Sono stati delineati scopi e obiettivi ed è diventato chiaro che abbiamo bisogno di un'infrastruttura di server mobile e dinamica per risparmiare denaro, in modo che in caso di problemi possiamo recuperare rapidamente e/o trasferirci in un altro luogo, in modo che sia più facile prenderci cura per l'hardware, ecc. P.

Poi c'era la questione

In generale, sulla carta era tutto bello e facile. Era solo questione di distribuire e configurare Asterisk.
Innanzitutto sono stati acquistati due semplici server. Core i7-930, 12 GB di memoria e 12 TB di dischi SATA. Xen Server gratuito è stato installato su questi server e distribuito Server virtuali e postazioni di lavoro per lavoratori remoti.
COME archiviazione esterna Sto utilizzando un NAS QNAP che ho ereditato.
Terabyte memoria locale necessario solo per immagazzinare la banca multimediale, che è piuttosto grande. I server stessi pesano complessivamente meno di 3 terabyte.
Uno dei server era Asterisk per sostituire il vecchio Panasonic TDE-200. Perché l'azienda ha bisogno di comunicazioni a basso costo, di numeri diretti paesi diversi, e libere trattative tra i dipendenti, in generale non c'è alternativa per 12 shekel.

Primo giorno: Crea il mondo

Si è deciso di configurare Asterisk sul sistema operativo CentOS nativo di Citrix Xen. Lo stesso, solo di lato. Faccio subito la prenotazione: sono stato amministratore di Windows per tutta la vita e ho "giocato" solo con *nix su macchine virtuali, senza contare un paio di server web sull'hardware. Pertanto, questa implementazione di Asterisk in Citrix Xen sa di ingenuità dal punto di vista delle persone esperte.
In generale, ho seguito il percorso collaudato: istruzioni dettagliate per i manichini dai manuali ufficiali vengono aperte sul laptop ed eseguite sul server letteralmente e senza iniziativa. Sarà possibile giocare nei panni degli eroi-aggiustatori in un secondo momento, quando tutto sarà configurato e funzionerà nello stato "predefinito" e sarà stato effettuato il primo backup completo.

Secondo giorno: yum installa l'asterisco -y

Non che fossi molto sorpreso, ma, tuttavia, sono andato da un amico delle telecomunicazioni per un consiglio su come impostare Asterisk quando ho scoperto che esistevano già tre fork di Asterisk viventi: 1.4, 1.6 e 1.8. Ognuno di loro ha i propri scarafaggi e lozioni. Perché Non ero lusingato dalla speranza di sconfiggere in fretta l'asterisco, così ho deciso di installare la versione 1.4, come quella di un amico, per avere il massimo possibile compatibilità configurazioni. Anche se, successivamente, abbiamo dovuto aggiornare alla 1.6 a causa della mancanza del supporto TCP nella 1.4, quando si è presentata tale necessità.
Per fare ciò, è stato collegato un repository digium a CentOS e da esso è stato installato Asterisk.
L'installazione è andata come previsto, senza intoppi. Fondamentalmente è stata utilizzata una tabella di marcia sensata passo dopo passo con informazioni VoIP.
iptables è stato immediatamente corretto per consentire il traffico sulle porte SIP.
Non immediatamente, ma consiglio alle generazioni future di installare e configurare immediatamente un pacchetto chiamato fail2ban. Affatto programma aggiuntivo su un server esposto a Internet. Un giorno dopo l'installazione, tutta Taiwan è andata in caduta, a giudicare da iptables.

Terzo giorno: Specifiche tecniche per la funzionalità PBX

Cominciamo con la parte divertente: la pianificazione. Prima di qualsiasi processo di configurazione è necessario scrivere e strutturare tutti i desideri del cliente ed assicurarsi di firmare un accordo per evitare futuri conflitti del tipo “no, ho detto una cosa completamente diversa”. Nel mio caso il cliente è l'azienda per cui lavoro, ma questo non cambia nulla. Noi scriviamo compito tecnico sulla funzionalità, discuterne con le persone responsabili, risolvere i disaccordi e firmare la versione finale e iniziare a configurare Asterisk.
Le specifiche per la configurazione sono risultate così:

  • La numerazione telefonica è di quattro cifre.
  • La prima cifra del numero indica il paese in cui si trova l'ufficio.
  • La numerazione in ciascun dipartimento inizia con la prima cifra del centinaio successivo.
  • Ogni reparto è un gruppo di chiamata separato.
  • Se l'utente chiamato non è disponibile per qualsiasi motivo alla chiamata, la chiamata viene trasferita all'intero gruppo.
  • Logica per gestire le chiamate in entrata:
  • Per rispondere a una chiamata.
  • Gioca al saluto.
  • Riproduci un annuncio sulle promozioni in corso.
  • Gioca alle opzioni per chiamare vari dipartimenti o offri di comporre il numero dell'abbonato.
  • Partendo dal punto 2 attendere l'inserimento degli eventuali comandi.
  • Dopo aver completato il passaggio 4, attendere altri 10 secondi per inserire i comandi.
  • Se non ci sono comandi, riproduci nuovamente le opzioni di chiamata.
  • Se l'abbonato è ancora muto, trasferisci la chiamata alla segretaria.
  • Gli utenti che necessitano di tale servizio dovrebbero aggiungere la segreteria telefonica. In questo caso, se l'utente non è in qualche modo disponibile per una chiamata, trasferisci la chiamata alla segreteria telefonica.
  • Per impostazione predefinita, le chiamate sono consentite solo verso Russia e Italia, i paesi in cui opera principalmente la nostra azienda. Le restanti direzioni vengono aperte secondo necessità con le maschere più strette, perché ricordiamo tutti storie horror sugli “operatori telefonici cubani” e non vogliamo che un giorno il nostro PBX inizi improvvisamente a chiamare la Sierra Leone su tutti i 50 canali a 14 dollari al minuto per ciascun canale.

A prima vista, il compito è semplice e la configurazione di Asterisk non richiederà molto tempo, ma in pratica ci è voluto molto sangue per coordinarlo. Soprattutto, concordare il divieto di tutte le direzioni tranne quelle chiaramente consentite. Questo era qualcosa a cui il cliente doveva accettare solo di fronte all'altrimenti inevitabile necessità di configurare una VPN per chiunque si connettesse Dispositivo PBX. Cerco solo di mantenere le configurazioni quanto più semplici e comprensibili possibile, ma il cliente pensa sempre che aggiungere qualche funzionalità al sistema sia "solo un paio di pulsanti da premere".

Giorno quattro: nano sip.conf

Ora arriva la parte divertente: il processo di configurazione di Asterisk.
Per non trascinare un articolo già lungo, appesantendolo descrizione dettagliata tormento della configurazione iniziale e della successiva messa a punto, mostrerò semplicemente le mie configurazioni attuali con commenti su cosa è cosa.


contesto=predefinito ;contesto predefinito
allowguest=no ;nessun ospite, non aspettiamo nessuno
allowoverlap=no ;Questo parametro determina se consentiamo o meno il trasferimento di una chiamata con cifre aggiuntive. Non lo permettiamo.
Alwaysauthreject=yes ;Questo parametro indica che tutti gli errori per il client esterno appaiono uguali: errore di autorizzazione. Progettato per complicare l'hacking del PBX.
useragent=Orgue de Barbaris ;Così ci presentiamo agli altri. Mi sono identificato con il nome del primo grammofono per rendere più semplice al supporto tecnico dei provider il dialogo con il mio centralino, perché... Devo comunicare con loro periodicamente.
defaultexpiry=360 ;Intervallo per la nuova registrazione obbligatoria dei client.
callevents=yes ;Questo è per il futuro in modo che il client possa riprodurre la musica con i controlli di attesa
limitonpeer=yes ;Contiamo insieme le chiamate in uscita e in entrata dai peer.
tcpenable=yes ;Abilita il protocollo TCP per SIP.
rtptimeout=60 ;Per quanto tempo un client potrebbe non rispondere prima di essere espulso dal sistema.
lingua=ru ;Lingua di sistema. Utilizzato per il menu vocale.
bindport=5060 ;Porta predefinita. Può essere modificato per complicare il calcolo e l'hacking del PBX, ma la soluzione è controversa.
bindaddr=0.0.0.0 ;Ho degli zeri perché... Il PBX ha due interfacce ed entrambi hanno client.
srvlookup=sì
tos_sip=cs3 ; http://www.voip-info.org/wiki/view/Asterisk+sip+tos
tos_audio=efdisallow=all ;disabilitare prima tutti i codec
consent=alaw ;quindi consentiamo solo quelli che vogliamo utilizzare. L'ordine non ha importanza.
consenti=g729
consenti=g723
consentire=ulaw

canreinvite=no ;Questo parametro impedisce ai client di comunicare direttamente. La comunicazione avviene solo attraverso il server. Lo faccio in questo modo perché i clienti mobili utilizzano clienti a pagamento con il protocollo g.729a e i clienti fissi utilizzano clienti gratuiti Senza esso. Pertanto, ho preferito sottoporre a sforzo il server transcodificando al volo alawg.729a a favore della qualità della connessione per client mobili. Inoltre, il Core i7-930 non nota affatto questo carico.

GUI dell'amministratore IP – Asterisco del centralino telefonico– FreePBX, totali grande quantità opzioni di configurazione, opzioni di routing, connessione attrezzature varie, a partire dagli apparecchi telefonici e termina con i gateway. In questo articolo descriveremo subito dopo la configurazione di base della tredicesima versione di FreePBX.

Video passo dopo passo

Connessione a FreePBX

Per connetterti alla GUI di FreePBX, devi inserire l'indirizzo IP Asterisk che hai specificato durante la fase di installazione. Se hai dimenticato l'indirizzo IP specificato, collega il monitor e la tastiera al server, quindi inserisci i dati utente root come sotto:



Al momento della connessione ti verrà fornito l'indirizzo IP del tuo server. Se la versione della tua distribuzione è diversa e non vedi un output simile, esegui il comando seguente:

#ifconfig

L'output del comando ti permetterà di vedere tutto interfacce disponibili e i loro indirizzi IP.

Attivazione e password amministratore

Dopo esserti connesso a FreePBX 13 tramite il browser Internet, ti verrà immediatamente richiesto di creare un account amministratore specificando login, password e indirizzo E-mail amministratore di sistema. Dopo creazione di successo, seleziona on pagina iniziale Elemento Amministrazione FreePBX e specificare i parametri creati:



Subito dopo la connessione, vai alla scheda Amministrazione → Amministrazione di sistema e fai clic sul pulsante Attivazione




Successivamente, seguire le istruzioni dell'installatore. Dovrai fornire il tuo indirizzo email, password, numero di telefono e posizione del server.


Impostazioni SIP

Il modulo Impostazioni SIP è una visualizzazione grafica delle impostazioni nel file /etc/asterisk/sip_nat.conf. Qui, con l'aiuto GUIè possibile configurare i parametri più importanti come Impostazioni NAT, indirizzo IP esterno e impostazioni del codec. Per andare alla configurazione, fare clic sulla scheda Impostazioni, quindi su Impostazioni Asterisk Sip.



Consenti chiamate SIP anonime in entrata
Questa opzione consente di consentire o bloccare le chiamate in arrivo da numeri sconosciuti. Consigliamo di vietare questo tipo chiamate anonime, poiché consentire potenzialmente chiamate anonime potrebbe diventare una scappatoia per gli aggressori.

Reti locali
Inserisci gli indirizzi di sottorete locali (situati all'interno della tua rete) di cui Asterisk si fiderà. Ad esempio, 192.168.2.0/255.255.255.0

Intervalli RTP
Specificare l'intervallo di porte RTP. Ti consigliamo di lasciare tutto come predefinito.

RTP rigoroso
Quando viene stabilito un flusso RTP tra due dispositivi, vengono assegnati gli indirizzi di origine e di destinazione. Quando questa opzione è abilitata, tutti i pacchetti provenienti da un altro indirizzo IP verranno scartati. Consigliamo di non disabilitare questa opzione.

Codec
Seleziona la casella accanto ai codec richiesti.

La posizione dei codec indica la loro priorità. Ad esempio, nello screenshot seguente, la priorità viene data a g.711 u-law, quindi a g.711 a-law, gsm e così via. Puoi leggere ulteriori informazioni sui telefoni nei nostri articoli precedenti.
Configurazione del NAT in FreePBX

Nella maggior parte dei casi, se un amministratore rileva un problema di udibilità unidirezionale o che le chiamate vengono interrotte dopo pochi secondi di conversazione, il problema è nel NAT. Ecco cosa devi fare per eliminare questo problema: nelle impostazioni del modulo Impostazioni SIP di Asterisk, vai alla scheda Impostazioni Chan SIP e nota quanto segue:

NAT – sì
Configurazione IP: IP statico
Sostituisci IP esterno: inserisci il tuo indirizzo IP esterno

Comportamento di reinvito - No
Assicurati di indicare in Impostazioni locali Reti dentro scheda precedente la tua sottorete locale. Inoltre, inoltra la porta 5060 e l'intervallo di porte dal parametro Intervalli RTP sul router, il valore predefinito è 10000-20000

Impostazioni parametri di rete PBX gratuito

Ce ne sono tre punti importanti impostazione data:

  • Configura un indirizzo IP statico per il server
  • Configura il DNS
  • Imposta il fuso orario
  • Passiamo alla configurazione dell'IP. Per fare ciò, vai alla scheda Amministrazione → Amministrazione di sistema → Impostazioni di rete

    Qui configuriamo le seguenti opzioni:

    • Interfaccia di rete - interfaccia di rete, ovvero una scheda di rete specifica (NIC)
    • Assegnazione IP: selezionare Statico per configurare un indirizzo IP statico
    • IP statico: inserisci l'indirizzo IP del server
    • Maschera di rete: maschera di rete
    • Gateway: gateway predefinito
    • Avvia automaticamente: avvia all'avvio del server



    Impostiamo le notifiche per il nostro server Asterisk in caso di guasti di piccola entità spazio sul disco o guasto dell'array RAID:



    Configuriamo le seguenti opzioni:

    • Indirizzo del mittente: indirizzo email che il PBX indicherà come indirizzo del mittente durante la generazione di una lettera
    • Notifiche di archiviazione: posta per notifiche relative a problemi di archiviazione dei dati (errore RAID o spazio su disco insufficiente)
    • Notifiche rilevamento intrusioni IP: posta per notifiche su intrusioni o tentativi di hackeraggio di un server

    Configurazione della sicurezza

    Asterisk ha un sistema di rilevamento delle intrusioni integrato: Fail2Ban. Per configurare il sistema, andare alla scheda Amministrazione → Amministrazione sistema → Rilevamento intrusioni



    Il sistema è flessibile e talvolta reagisce quando non è necessario :) Pertanto, ti consigliamo di aggiungere in anticipo alla Whitelist un elenco di indirizzi IP richiesti, come proxy IP SIP, indirizzi gateway, ad esempio FXS. A volte capita che l'indirizzo IP del gateway FXS a cui sono collegati tutti i telefoni analogici dell'ufficio venga bannato.

    • Stato: ti consigliamo di monitorare sempre lo stato di Fail2Ban in modo che lo stato sia in esecuzione
    • Rilevamento intrusioni: a questo punto è possibile interrompere e riavviare il servizio.
    • Ban Time: tempo in secondi in cui l'indirizzo IP sarà in stato di blocco
    • Numero massimo di tentativi: il numero di tentativi di connessione al PBX che l'utente può effettuare durante la ricerca.
    • Trova ora: tempo durante il quale l'utente dispone di un numero massimo di tentativi di connessione al sistema.
    • E-mail: - indirizzo email al quale verranno inviate le notifiche relative all'aggiunta di un nuovo indirizzo IP al ban.
    • La whitelist è un elenco di indirizzi IP preimmessi ritenuti attendibili dall'amministratore.

    Impostazione dei numeri di interno

    Per configurare i telefoni e creare numeri di interni, vai alla scheda Applicazioni → Interni. Abbiamo descritto il processo di creazione dei numeri interni (Interno) nell'articolo al link sottostante:

    Configurazione di un trunk SIP

    La connessione a un provider lo è la fase più importante nella configurazione del tuo server IP - Asterisk PBX. Sono le impostazioni del provider che consentiranno ai nostri utenti di effettuare e ricevere chiamate in uscita. Per configurare un trunk SIP, vai alla scheda Connettività → Trunk. Il processo di creazione di un trunk SIP è descritto in dettaglio nell'articolo al link seguente:

    Impostazione del percorso

    Dopo aver configurato i numeri interni e i trunk SIP per la connessione al provider, dobbiamo configurare l'instradamento delle chiamate. Come parte di questa configurazione, insegneremo al nostro server Asterisk come gestire le chiamate in entrata e in uscita. Connettività Ci dispiace che l'articolo non ti sia stato utile: (Per favore, se non è difficile, indica perché? Ti saremo molto grati per una risposta dettagliata. Grazie per averci aiutato a migliorare!

    Cosa è necessario fare prima dell'installazione Fare riferimento alla sezione se è necessario installare un PBX che deve far fronte a un carico pesante e non si è sicuri che il software e l'hardware siano in grado di gestirlo. sistema operativo: Il server Asterisk funziona bene Sistemi Linux, è stato anche fatto grande lavoro membri del progetto per portare il server Asterisk su piattaforme BSD, inclusi FreeBSD, OpenBSD e Mac OS X. Tuttavia, il driver zaptel e i driver del canale ISDN potrebbero non essere supportati su queste piattaforme. Fare riferimento alla sezione Sistemi operativi per Asterisk Server per informazioni specifiche sul sistema operativo. In alternativa, è possibile utilizzare i metodi descritti nelle pagine seguenti: CDROM di installazione di Asterisk CDROM avviabile di Asterisk Istruzioni di installazione rapida Leggere la panoramica di 10 minuti di Asterisk Server, se si voglio sapere cosa può fare il server Asterisk. Altrimenti puoi saltare questa sezione.Leggi la sezione Istruzioni passo passo per installare Asterisk, dove troverai informazioni dalla configurazione di Linux fino alla prima telefonata per wormare il tuo Asterisk. http://www.automated.it/guidetoasterisk.htm http://asterisk.net.au/ Guida all'installazione del server Asterisk dal guru di questa materia Requisiti di sistema Non è necessaria alcuna attrezzatura specifica per installare ed eseguire il server Asterisk. Necessità di scheda audio No. È necessario installare quanto segue pacchetti software prima di compilare Asterisk: file Kernel source.h per il kernel (intestazioni del kernel) bison (necessario per elaborare le espressioni nel file) Pacchetti: openssl e openssl-dev o libssl-devlibnewt: necessari per il funzionamento dell'interfaccia di gestione astman. Non è necessario per il server Asterisk, ma senza questo pacchetto non avrai l'applicazione astman, che è un programma separato, e non avrai più bisogno di installare i pacchetti "readline" e "readline-devel" per Asterisk. Il server viene fornito con la propria implementazione del pacchetto "readline", chiamata "editline". Se prevedi di utilizzare componenti aggiuntivi con cui lavorare database mysql, installa pacchetti per mysql, mysql_devel e mysql server Se prevedi di utilizzare le schede di interfaccia di Digium, dovrai installare il modulo del kernel per supportare il driver del dispositivo Zaptel prima di poterle utilizzare in Asterisk. Tuttavia, potresti voler prima scaricare e installare Asterisk - testare il funzionamento dei telefoni SIP e IAX - e solo dopo aggiungere il supporto per le tue schede Digium. Installazione Per ulteriori istruzioni, che dipendono dal sistema operativo utilizzato, vedere la sezione "Sistemi operativi su cui gira il server Asterisk" Come ottenere un server Asterisk Timer Asterisk: necessario per la conferenza MeetMe e per i trunk IAX2 Preparazione di utilità di terze parti Prestare attenzione alla sezione utilità sviluppatori di terze parti nella pagina principale dedicata per informazioni sulle seguenti applicazioni:
    Musica di attesa: utilizzando mpg123voicemail: richiede sendmail per inviare notifiche via email registrazione dettagli chiamata: il server Asterisk può registrare queste informazioni in file CSV, nel database Dati PostgreSQL o in SQLite. Si prega di notare il pacchetto asterisk_addons di SVN .odbc: per archiviare e recuperare dati da altri database (diversi da MySQL) codec speex: richiede l'installazione di librerie aggiuntive Sintetizzatore vocale: Festival Riconoscimento vocale: integrazione con l'applicazione Sphinx.

    Asterisk, la cui installazione verrà discussa in questo materiale, è un software per l'organizzazione del cosiddetto ufficio centrale telefonica o IP-PBX (Private Branch eXchange, PBX). Unisce tutti i telefoni dell'ufficio in un'unica rete informativa, sulla base della quale operano vari servizi comunicazione vocale. Asterisk funziona su Linux, BSD, OS X e Windows utilizzando un emulatore.

    Asterisk può trasportare la voce su quattro diversi protocolli VoIP e interfacciarsi praticamente con tutti gli standard apparecchi telefonici(compresi quelli mobili) utilizzando apparecchiature relativamente economiche. L'asterisco implementa varie possibilità segreteria telefonica(segreteria telefonica), compresi elenchi telefonici, conferenze, risposta vocale interattiva e code di chiamata.

    In questo materiale esamineremo il processo di installazione di Asterisk sul sistema operativo Linux, in particolare su distribuzioni popolari CentOS e Debian, nonché le procedure di base per la configurazione di un server di posta vocale.

    Installazione del server Asterisk dal sorgente

    Innanzitutto, diamo un'occhiata all'algoritmo di installazione per un server di telefonia IP, disponibile su qualsiasi distribuzione Linux, ovvero assemblaggio e installazione Software dal codice sorgente. Questo metodo ti consente di installare Asterisk da zero.

    Prima di installare un server di telefonia IP nel sistema, è necessario soddisfare una serie di condizioni. Asterisk deve essere installato su un sistema che esegue una versione del kernel almeno 2.6 e il sistema deve disporre di file di intestazione affinché il programma possa essere compilato con successo. Asterisk è scritto in C, quindi per compilare il compilatore gcc deve essere installato sul sistema con librerie di accompagnamento come termcap e openssl. La creazione dei componenti aggiuntivi Asterisk richiede anche librerie preinstallate e il client mysql, nonché i file di intestazione corrispondenti.

    Quando il sistema è pronto per l'installazione, dovrai andare alla sezione Download sul sito ufficiale e scaricare da esso i seguenti archivi:

  • asterisco.
  • suoni di asterisco.
  • componenti aggiuntivi asterisco.
  • zaptel.
  • libpri.
  • I file devono essere copiati su un server che svolgerà le funzioni di un PBX da ufficio. Metterli in una cartella /usr/src/.

    Successivamente, esegui Vai alla directory con gli archivi e decomprimi ciascuno di essi con il comando:

    tar-xzftar.gz

    Gli archivi verranno decompressi in cartelle con nomi che corrispondono ai nomi degli archivi. Vai a ciascuna cartella in sequenza con il comando:

    CD

    Ed esegui i seguenti comandi in ciascuna cartella.

    1. Preparazione per il montaggio:

    2. Assemblea:

    3. Installazione:

    Se i comandi precedenti vengono completati correttamente, creerai e installerai Asterisk sul tuo server.

    La procedura di installazione dai sorgenti è la stessa per tutte le distribuzioni Linux, ma non tutti la conoscono. Di norma, la maggior parte degli utenti preferisce i metodi di installazione offerti da una particolare distribuzione.

    A questo proposito prenderemo in considerazione le modalità di installazione di Asterisk su due popolari piattaforme per la realizzazione di centralini da ufficio: CentOS e Debian GNU/Linux.

    Installazione di Asterisk su CentOS

    Entro questo esempio installeremo Asterisk 13. Installeremo Asterisk su CentOS 7.

    Si presuppone che l'installazione venga eseguita in modalità console di testo come superutente (root).

    Per prima cosa devi installare tutti i prerequisiti necessari. Assicurati che tutti i pacchetti elencati di seguito siano presenti sul tuo sistema. Ce ne sono parecchi:

    Di conseguenza, il sistema conterrà tutte le dipendenze necessarie per costruire con successo il server di telefonia Asterisk.

    Il prossimo passo dovrebbe essere disabilitare SELinux. Il sistema di sicurezza Security-Enhanced Linux in CentOS è abilitato per impostazione predefinita e molto spesso interferisce con il normale funzionamento di Asterisk. Pertanto, per una corretta configurazione e funzionamento del server, è necessario disabilitarlo.

    Controlliamo lo stato di attività del sistema SELinux con il seguente comando:

    Se il sistema segnala che SELinux è abilitato, eseguiremo la procedura di disabilitazione. Per fare ciò, è necessario apportare modifiche a file di configurazione nella cartella /etc/selinux, impostando l'apposito flag.

    sed -i "s/\(^SELINUX=\).*/\SELINUX=DISABILITATO/" configurazione

    timedatectl set-timezone (ad esempio America/Los_Angeles)

    Per verificare se è stato impostato il fuso orario, è possibile utilizzare il seguente comando:

    stato timedatectl

    Sarà quindi necessario riavviare il sistema affinché le modifiche abbiano effetto. Per fare ciò, utilizzare il comando reboot.

    Passiamo ora all'installazione di Asterisk.

    In effetti, l'installazione di Asterisk su CentOS si riduce allo stesso assembly dal sorgente che abbiamo incontrato nella sezione precedente. Qui vedremo il processo di assemblaggio, tenendo conto delle caratteristiche di un particolare Distribuzione Linux, ovvero CentOS 7.

    Per prima cosa scarichiamo e installiamo il server di telefonia IP stesso.

    Scarica l'archivio con Asterisk 13 dalla sezione Download sul sito ufficiale del prodotto e Salviamolo nella cartella /usr/src. Discomponiamo le valigie archiviare con il comando:

    tar zxvf

    Andiamo nella cartella con l'archivio decompresso ed eseguiamo i comandi indicati di seguito.

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

    Questa sequenza di comandi preparerà i sorgenti per l'assemblaggio.

    crea menuselect.makeopts

    Dopo aver impostato le opzioni di compilazione, eseguire la seguente sequenza di azioni:

    1. Creare un account utente separato per il server di telefonia IP.

    adduser asterisco -s /sbin/nologin -c "Utente asterisco"

    2. Costruire e installare il server.

    crea && crea installa

    3. Impostare i diritti di accesso Asterisk per l'utente appena creato.

    chown -R asterisco. /var/lib/asterisco

    Di conseguenza, il server Asterisk di base verrà creato e installato.

    Oltre ad Asterisk stesso, puoi installarlo su CentOS in modo simile aggiunte utili al server. Leggi di seguito.

    PBX gratuito

    FreePBX è un'interfaccia Web grafica completa progettata per la configurazione e la gestione di un PBX da ufficio. L'installazione di Asterisk con FreePBX viene eseguita nella seguente sequenza.

    Iniziamo il database:

    systemctl avvia mariadb

    Scarica da GitHub nella cartella /usr/src fonte Centralino gratuito:

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

    ./start_asterisco inizio

    E una serie di comandi per configurare FreePBX:

    DAHDI

    DAHDI è un driver che permette ad Asterisk di interagire con vari apparecchi telefonici. È responsabile del funzionamento delle schede di interfaccia telefonica installate direttamente nel server su cui è in esecuzione Asterisk. La procedura di installazione per DAHDI è descritta di seguito.

    Scaricare l'archivio con il driver nella directory /usr/src, decomprimerlo e andare nella cartella decompressa. Esegui i comandi al suo interno:

    PJSIP

    PJSIP è una libreria scritta in C responsabile del supporto di vari protocolli di telefonia IP. Dalla versione Asterisk 13.8 inclusa, la libreria PJSIP può essere installata separatamente. Tuttavia, se Asterisk viene compilato con il flag --with-pjproject-bundled(che è quello che abbiamo fatto nella sezione precedente), la libreria PJSIP verrà installata direttamente al momento della compilazione del server.

    Per installare PJSIP separatamente, è necessaria la seguente procedura.

    Scarica l'archivio con il driver da pjsip.org nella directory /usr/src, decomprimilo e vai alla cartella decompressa. Esegui i comandi al suo interno:

    Procedure post-installazione

    Una volta completata l'installazione di Asterisk è necessario eseguire una serie di passaggi: azioni aggiuntive. Queste procedure sono obbligatorie.

    1. Configurare la protezione per il server del database:

    mysql_secure_installation

    Per completare la procedura è sufficiente rispondere Y a tutte le domande.

    2. Modifica le impostazioni del server web:

    3. Accesso aperto ai servizi e alle porte necessari affinché Asterisk funzioni:

    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. Configurare il caricamento automatico del database:

    systemctl abilita mariadb

    5. Configurare il server Web da caricare all'avvio del sistema:

    systemctl abilita httpd

    6. Configura l'avvio automatico di FreePBX all'avvio del sistema:

    nano /etc/systemd/system/freepbx.service

    systemctl abilita freepbx

    7. Configurare una connessione al database tramite ODBC. Se è installato un modulo obsoleto cdr_mysql.so, Questo elemento è facoltativo, ma comunque consigliato:

    nano /etc/odbc.ini

    Per testare la connettività ODBC, utilizzare il comando seguente:

    isql -v asteriscocdrdb

    8. Riavviare il sistema per applicare le modifiche apportate:

    Installazione di Asterisk 13 su Debian

    IN questa sezione Considereremo la procedura di installazione su un'altra piattaforma popolare: Debian. Buone notizie per gli utenti: è relativamente semplice, sebbene includa anche la compilazione dal sorgente. Ad esempio, installeremo Asterisk su Debian 8.

    L'installazione viene eseguita come superutente (root). Aprire un terminale, ottenere i diritti appropriati, dopodiché si potrà procedere con l'installazione.

    Innanzitutto, scarica Asterisk 13 dal sito ufficiale ed estrai l'archivio scaricato. Vai alla cartella con i sorgenti decompressi.

    Ora installiamo le dipendenze necessarie. Il più importante, il compilatore gcc, è già disponibile in Debian. Quindi scarichiamo solo quelli rimanenti:

    Dopo aver scaricato e installato tutte le dipendenze, esegui il seguente comando nella cartella con l'archivio Asterisk estratto:

    Il comando dovrebbe essere completato senza errori. Se viene visualizzato un messaggio indicante che mancano alcune dipendenze, installarle.

    Prima di compilare Asterisk è possibile abilitare o disabilitare i singoli moduli:

    Sarà aperto applicazione console con un elenco di moduli. Spostando i tasti verso il basso e verso l'alto nell'elenco, è possibile attivarli e disattivarli. Alcuni moduli aggiuntivi richiedono l'installazione di dipendenze. Questo può essere fatto utilizzando apt-get.

    Ora iniziamo a compilare Asterisk. Inserisci i comandi familiari nella console:

    1. Crea codici sorgente:

    2. Installazione nelle directory di sistema:

    Quando la compilazione viene completata senza errori, è necessario eseguire il comando:

    Questo completa l'installazione. Asterisk è stato installato con successo sul tuo server. Il seguente comando farà apparire la console di gestione di Asterisk:

    asterisco -vvvvvvgc

    Impostazione dell'asterisco

    Vediamo ora le procedure base per configurare il server di telefonia Asterisk. Sono fondamentalmente gli stessi per tutte le distribuzioni Linux.

    Per prima cosa devi aggiungere il seguente testo al file sip.conf:

    Verranno creati cinque account che possono essere utilizzati da qualsiasi client SIP (Cisco SIP Phone, xlite, ATA e simili). Tutti gli utenti verranno registrati in Asterisk. Se questa configurazione non funziona, provare a disattivare il firewall prima di completare la configurazione del software.

    Crea il tuo primo dial plan

    Il piano numerico (dialplan) fornisce una descrizione formalizzata dei processi di elaborazione delle chiamate telefoniche. Il dialplan dice al sistema in dettaglio cosa fare con le chiamate in uscita e in entrata. Ad esempio, Asterisk può inoltrarli, rispondere con un autoresponder e così via.

    Apri il file estensione.conf nella cartella /etc/asterisco e aggiungici la riga:

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

    Adesso è tutto configurato Client SIP sarà in grado di ricevere e inviare chiamate. Grazie alla facilità di configurazione del dialplan, Asterisk è una delle piattaforme di telefonia IP più semplici. Non sono necessarie molte competenze per configurare un PBX da ufficio.

    Creazione del tuo primo trunk SIP

    Asterisk può effettuare chiamate in uscita e in entrata. Per le chiamate in uscita, richiediamo un provider che inoltri le chiamate al nostro sistema, nonché un indirizzo IP pubblico.

    Per fare ciò, è necessario configurare un canale trunk SIP comunicazione virtuale tra l'apparecchiatura del cliente e operatore telefonico. Se il nostro server con Asterisk fungerà da attrezzatura del cliente, la configurazione di un trunk ti consentirà di connettere qualsiasi numero di città numeri di telefono tramite protocollo SIP

    Per creare un trunk, aggiungi il seguente codice al file sip.conf:

    Dopodiché dovrai entrare estensione.conf ancora una riga:

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

    Ciò ti consentirà di stabilire una connessione con il tuo provider per effettuare chiamate in uscita.

    Conclusione

    La configurazione di un PBX da ufficio a tutti gli effetti basato su Asterisk, la cui installazione è stata discussa in questo articolo, include molte più procedure di quelle descritte sopra. Informazioni dettagliate sul server di telefonia e sulle sue capacità sono presentate nella documentazione ufficiale di Asterisk.

    I migliori articoli sull'argomento