Come configurare smartphone e PC. Portale informativo
  • casa
  • Windows 7, XP
  • Installazione e configurazione dell'asterisco del PBX. Telefonia IP da zero

Installazione e configurazione dell'asterisco del PBX. Telefonia IP da zero

L'interfaccia grafica dell'amministratore di IP - PBX Asterisk - FreePBX, ha un numero enorme di opzioni di configurazione, opzioni di routing, connessioni attrezzature varie, a partire da apparecchi telefonici e termina con 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 account amministratore specificando login, password e indirizzo E-mail amministratore di sistema. Dopo creazione di successo, seleziona Amministrazione FreePBX nella pagina principale e specifica 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, come potenzialmente consentito chiamate anonime può 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 nella 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

Configurazione dei parametri di rete FreePBX

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 delle intrusioni - dentro 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 sottostante:

    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!

    Asterisk è la soluzione per telefonia informatica open source che supporta i protocolli VoIP, SIP e PJSIP per il sistema operativo Linux. Se colleghi l'attrezzatura appropriata al tuo computer, utilizzando Asterisk puoi creare una stazione ATC a tutti gli effetti. Tra le caratteristiche principali del programma ci sono: segreteria telefonica, conferenze, menu vocale interattivo e distribuzione delle chiamate.

    In questo articolo vedremo come installare Asterisk 13 su Ubuntu 16.04. La versione più recente del programma non si trova nei repository ufficiali, poiché non viene utilizzata così spesso dagli utenti ordinari, quindi dovremo crearla dal sorgente.

    Installazione di Asterisk su Ubuntu 16.04

    Per compilare dai sorgenti, dovremo eseguire la maggior parte delle azioni per conto del superutente, quindi otterremo immediatamente pieni diritti nel sistema:

    Tieni presente che se accedi al tuo server tramite ssh come root, dovrai comunque connetterti come utente normale e solo dopo passare alla console root. Successivamente è necessario installare le dipendenze affinché il programma funzioni:

    apt-get install build-essential wget libssl-dev libncurses5-dev libnewt-dev libxml2-dev linux-headers-$(uname -r) libsqlite3-dev uuid-dev git subversion

    cd /usr/src
    $ wget downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz

    Per decomprimere i sorgenti, digitare:

    tar zxvf asterisco-13-current.tar.gz

    Prima di compilare il programma, dobbiamo compilare e installare pjproject. Per prima cosa scarica i sorgenti:

    git clone git://github.com/asterisk/pjproject pjproject
    $ cd pjproject
    $ ./configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr CFLAGS="-O2 -DNDEBUG"
    $ make dep make && make install
    $ldconfig
    $ ldconfig -p|grep pj

    Finalmente, ora siamo pronti per creare e installare Asterisk su Ubuntu 16.04:

    cd .. contrib/scripts/get_mp3_source.sh
    $ contrib/scripts/install_prereq install

    Questi comandi ti permetteranno di installare alcune dipendenze per la riproduzione di mp3. Il completamento potrebbe richiedere del tempo e dovrai anche inserire un codice paese. Successivamente iniziamo l'assemblaggio:

    ./configure && make menuselect && make && make install

    Una volta completata l'installazione, esegui il comando seguente per evitare di creare manualmente centinaia di file di configurazione:

    Per installare gli script init che consentiranno l'avvio automatico di asterisco, eseguire:

    crea la configurazione ldconfig

    Ora puoi avviare il server asterisco e assicurarti che tutto funzioni davvero:

    inizio dell'asterisco del servizio

    E guarda le informazioni sull'utilità tramite il terminale:

    Se tutto è stato eseguito correttamente e l'installazione di Asterisk su Ubuntu 16.04 è andata a buon fine, allora tutto funzionerà.

    Configurazione di Asterisk su Ubuntu 16.04

    Il programma funziona come superutente. Ma abbiamo bisogno che possa essere eseguito come utente asterisco, quindi dobbiamo fare qualche altra impostazione. In questo modo il tuo sistema sarà più sicuro. Per prima cosa devi interrompere il servizio in esecuzione:

    gruppoaggiungere asterisco
    $ useradd -d /var/lib/asterisk -g asterisco asterisco

    Successivamente dobbiamo modificare lo script di inizializzazione in modo che il programma venga avviato come utente desiderato. Possiamo modificare manualmente il file /etc/default/asterisk, ma è più semplice utilizzare i seguenti comandi:

    sed -i "s/#AST_USER="asterisco"/AST_USER="asterisco"/g" /etc/default/asterisco
    $ sed -i "s/#AST_GROUP="asterisco"/AST_GROUP="asterisco"/g" /etc/default/asterisco

    Affinché tutto funzioni correttamente, l'utente asterisco deve avere accesso a tutte le directory del programma:

    chown -R asterisco:asterisk /var/spool/asterisk /var/run/asterisk /etc/asterisk /var/(lib,log,spool)/asterisk /usr/lib/asterisk

    Indicheremo anche impostazioni corrette user per i campi runuser e rungroup nel file asterisco.conf:

    sed -i "s/;runuser = asterisco/runuser = asterisco/g" /etc/asterisk/asterisk.conf

    $ sed -i "s/;rungroup = asterisco/rungroup = asterisco/g" /etc/asterisk/asterisk.conf

    Quando tutto è pronto, avvia il servizio precedentemente interrotto o riavvia se non lo hai interrotto:

    Inizio dell'asterisco del servizio sudo

    Quindi controlliamo:

    Se l'utente e il gruppo sono contrassegnati da un asterisco, significa che abbiamo fatto tutto correttamente.

    conclusioni

    È tutto. L'installazione di Asterisk 13 su Ubuntu 16.04 è completata. Ora puoi procedere con un'ulteriore configurazione della rete per effettuare chiamate tra i tuoi abbonati direttamente tramite Internet. Come software client, puoi utilizzare qualsiasi programma che supporti protocolli necessari, come Jitsi o Linphone.

    Circa l'autore

    Fondatore e amministratore del sito, sono appassionato di open Software e il sistema operativo Linux. Attualmente utilizzo Ubuntu come sistema operativo principale. Oltre a Linux, mi interessa tutto ciò che riguarda tecnologie dell'informazione e la scienza moderna.

    Cosa è necessario fare prima dell'installazione Fare riferimento alla sezione se è necessario installare un PBX a cui far fronte carico pesante, e non sei sicuro che il tuo software e hardware lo supportino Sistemi operativi: il server Asterisk funziona benissimo su sistemi Linux, è stato fatto anche questo 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 sull'installazione di Asterisk, dove troverai informazioni dalla configurazione di Linux alla prima telefonata con 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 i seguenti 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: richiesti per l'interfaccia di gestione astman per funzionare. 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 Consultare la sezione "Sistemi operativi su cui gira il server Asterisk" per ottenerlo istruzioni addizionali, che dipendono dal sistema operativo utilizzato Come ottenere un server Asterisk Timer Asterisk: necessario per la conferenza MeetMe e per i trunk IAX2 Preparazione utilità di terze parti Prestare attenzione alla sezione utilità di terze parti nella pagina principale dedicata per informazioni su le seguenti applicazioni:
    Musica di attesa: utilizzando mpg123voicemail: richiede sendmail per inviare notifiche e-mail registrazione dettagli chiamata: il server Asterisk può registrare queste informazioni in File CSV, al 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.

    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 fonte 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 in questo caso La sessione RTP sarà in grado di reimpostarsi in base al 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.

    23.02.2012 15:56

    Un articolo che consente ai programmatori alle prime armi di eseguire la configurazione di base dell'asterisco

    Asterisk è uno dei server di telefonia IP più comuni, insieme a sistemi come Switchwox e 3CX. Maggiore popolarità questo sistema acquisita con la diffusione di Internet di alta qualità nel nostro Paese, così come molti operatori telefonici che forniscono numeri di telefono in formato SIP o i cosiddetti numeri SIP. Una di queste società è Datagroup, che si è affermata come uno dei leader nel mercato dei servizi di comunicazione. Con i numeri SIP sempre più economici, ha senso utilizzarli moderni sistemi telefonici Telefonia IP al posto del vecchio mini-PBX analogico. Ciò è dovuto all'ampio funzionalità call center basati su Asterisk. Allo stesso tempo, il costo dell'attrezzatura e della configurazione di Asterisk è praticamente lo stesso dei costi monetari.

    Asterisk viene installato scaricando e quindi compilando il file distribuito gratuitamente codice sorgente, sviluppato da Digium. le fonti con asterisco esistono solo per compatibili con UNIX sistemi operativi, i più comuni dei quali sono Linux e FreeBSD. L'installazione dell'asterisco su Windows è possibile solo implementando una macchina virtuale. È possibile scaricare le ultime versioni di asterisco dal seguente collegamento. SU questo momento Sono in fase di sviluppo 4 versioni di questo server contemporaneamente. Le versioni asterisco 1.4 e asterisco 1.6 hanno la massima stabilità tra tutti i moduli. D'altra parte, in termini di funzionalità, la versione asterisco 1.8 si confronta favorevolmente, che supporta molti nuovi moduli e funzioni, incluso il supporto per il protocollo SRTP, funziona con IPv6 e prestazioni migliorate quando si lavora con SIP e ISDN.

    Questo articolo discuterà dell'installazione di Asterisk v 1.6.22 su LinuxFedora Nucleo.

    Per avviare l'installazione, scaricare i sorgenti dell'asterisco. Per fare ciò, esegui i comandi nella console del server:

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

    # tar -xzvf asterisco-1.6.2.22.tar.gz

    Prima di compilare i sorgenti, installiamo tutti i moduli e le utilità di accompagnamento necessari:

    # gnam installa gcc

    # gnam installa gcc-c++

    # gnam installa make

    # gnam installa libxml2-devel

    # gnam installa ncurses-devel

    Dopo tutto utilità aggiuntive installato, installiamo l'asterisco stesso:

    # cd asterisco-1.6.2.22

    Dopo l'installazione con successo, nella directory /etc/asterisk troverete i file di configurazione asterisco"a. Asterisk viene configurato modificando file di configurazione che hanno una struttura e operatori molto specifici. La base per la configurazione quando si configura asterisco è sip.conf ed extensions.conf.Dopo aver studiato e modificato questi file è possibile ottenere operazione appropriata server.

    Il file sip.conf contiene le impostazioni di tutti i dispositivi SIP registrati sul server, che successivamente interagiscono tra loro collegando due o più canali SIP, avviando così una connessione telefonica, ovvero una chiamata.

    Esempio di file sip.conf:

    Qualificazione=sì
    nat=no

    Scadenza predefinita=3600
    non consentire=tutto
    consentire=alaw
    consentire=ulaw
    fromutente=044XXXXXXX
    host=80.91.169.2
    insicuro=invita,porta
    segreto=xxxxxxxxxxxx
    tipo=pari
    nomeutente=044XXXXXXX
    contesto=in arrivo
    lingua=it
    qualificarsi=sì
    dtmfmode=auto

    Tipo=amico
    host=dinamico
    insicuro=invita,porta
    nome utente=fxo
    segreto=xxxxxxxxx
    contesto=in arrivo
    qualificarsi=sì
    nat=no
    canreinvite=no
    consenti trasferimento=no
    dtmfmode=auto
    non consentire=tutto
    consentire=alaw
    consentire=ulaw

    Tipo=amico
    regexten=101
    segreto=xxxxxxxxxxxxx
    contesto=interno
    host=dinamico
    callerid="101"
    non consentire=tutto
    consentire=alaw
    consentire=ulaw
    lingua=it
    gruppo di chiamata=1
    gruppo di ritiro=1
    qualificarsi=sì
    canreinvite=sì
    limite-chiamate=4
    nat=no

    IN in questo esempio dato elenco semplice sorseggia dispositivi. È facile notare che la configurazione contiene blocchi racchiusi in parentesi quadre. Sono questi blocchi che descrivono la configurazione di eventuali dispositivi (peer) durante la configurazione di Asterisk. Esaminiamo brevemente i blocchi e i parametri più basilari.

    Il blocco è obbligatorio. Include impostazioni e opzioni che si applicano a tutti i blocchi per impostazione predefinita. In altre parole, se un parametro non viene specificato quando si descrive un dispositivo, Asterisk lo legge da questo blocco.

    I successivi tre blocchi descrivono direttamente i dispositivi SIP. Per chiarezza, tutti e tre i dispositivi hanno scopi diversi. Il blocco descrive i parametri per il numero SIP della società Datagroup, il blocco descrive i parametri per la connessione a un gateway VOIP e il blocco descrive i parametri di un normale dispositivo SIP interno, che può essere utilizzato da un telefono IP software o hardware .

    Esaminiamo i parametri principali dei dispositivi SIP. Il parametro di contesto determina quale algoritmo di azione applicare a un particolare dispositivo. Callerid definisce il numero e il nome del peer, che verrà visualizzato quando viene effettuata una chiamata in uscita da esso. Le opzioni Non consentire e Consenti determinano quali codec utilizzare per la comunicazione. L'opzione segreta è la password per la registrazione di questo peer. Si consiglia di rendere le password sufficientemente complesse per evitare l'hacking da parte di malintenzionati.

    Il file extensions.conf descrive le interazioni tra contesti e canali di comunicazione, che possono essere numerosi. In effetti, questo file è quello principale impostando l'asterisco.

    Esempio di file extensions.conf:

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

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

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

    Estendi => h,1,Riaggancia

    In questo esempio più semplice, abbiamo due algoritmi di azioni (contesto): interno e in entrata. Ricordiamo che l'associazione ai contesti viene effettuata durante la creazione dei peer nel file sip.conf e viene successivamente assegnata in extensions.conf quando si tenta di avviare la comunicazione con un peer.

    Descriviamo più nel dettaglio i due contesti. Già dai loro nomi risulta chiaro che vengono utilizzati per algoritmi per gli abbonati interni e le chiamate in entrata. Un esempio generalizzato che può essere espresso nella riga seguente ti aiuterà a comprendere la struttura di questo file:

    Esteso => ​​_XXX,n,Comando(Opzioni)

    Queste opzioni sono decifrate come segue:

    Exten => _XXX - un prefisso di servizio con cui entrano quasi tutte le righe questa vita. Descrive la rappresentazione del contesto in entrata. In altre parole, se questo contesto fosse contattato dal peer numero 101, allora il relativo algoritmo dovrebbe iniziare con la costruzione exten => 101. Il prefisso supporta espressioni regolari e può essere indicato in modo generale. Ad esempio, exten => _XXX indica che sotto questo algoritmo sono inclusi tutti i peer costituiti da tre cifre.

    N - numero di riga dell'algoritmo. In qualsiasi codice di programma c'è una sequenza di istruzioni che vengono eseguite a turno. Allo stesso modo, esiste una tale sequenza nelle impostazioni dell'asterisco. L'unica differenza è che i comandi eseguiti da asterisco sono numerati. È obbligatorio indicare esplicitamente la prima riga. Come avrai notato, tutti i contesti iniziano con le righe:

    Estendi => _XXX,1,…..
    estensione => _X.,1,…..
    estensione => h,1,……

    Ma le righe successive possono essere numerate implicitamente, cioè in questo modo:

    Esteso => ​​_XXX,n,…..
    estensione => _X.,n,…..
    exten => h,n,……

    Quando il numero di riga è specificato implicitamente, asterisco li esegue in sequenza dall'alto verso il basso, come con qualsiasi altro codice.

    Comando: comando eseguito dall'asterisco. Comandi di base Non così tanto. Per impostazioni di baseÈ sufficiente conoscere la sintassi del comando Componi, utilizzando il quale esamineremo le restanti opzioni.

    Per esempio:
    exten => _X.,1,Dial(SIP/101,60,tT) - l'asterisco comporrà l'interno 101 e tenterà di raggiungere l'abbonato entro 60 secondi con la possibilità di intercettare la chiamata dai peer chiamanti e riceventi (opzioni tT)
    exten => _X.,1,Dial(SIP/datagroup/$(EXTEN),120,tT) asterisco comporrà il numero passato nella variabile $(EXTEN) utilizzando il peer del gruppo dati precedentemente specificato in sip.conf

    Il primo esempio è stato utilizzato nel contesto in entrata. Ciò significa che tutte le chiamate in arrivo in questo contesto vengono reindirizzate all'utente interno che risponde a queste chiamate. Il secondo esempio, a sua volta, mostra come chiamata in uscita passando il numero composto nella variabile di servizio $(EXTEN).

    I file di esempio possono essere copiati direttamente da questo articolo e incollati nei file sip.conf ed extensions.conf e modificati alcune opzioni (accessi, nomi peer, password, ecc.). Dopo aver impostato l'asterisco, avviamo il server con un semplice comando:

    Ulteriori azioni possono essere eseguite da riga di comando asterisco, che si lancia con il comando:

    # asterisco -rvvvvd

    Una volta nella console, puoi controllare il funzionamento del tuo server. Mostrerà tutte le azioni che esegue.

    PS Se non sei riuscito a configurare il server, o hai bisogno di una configurazione più complessa, saremo felici di aiutarti a configurare asterisco. I nostri contatti.


    Dopo aver installato il sistema.
    Alla fine, in un modo o nell'altro, abbiamo installato Asterisk e FreePBX.

    Descriverò la situazione un po' più in dettaglio per confrontare se il nostro schema di lavoro è adatto a te. Noi piccola internet provider, abbiamo bisogno di una registrazione delle conversazioni, delle code di chiamate verso rete fissa e Telefono cellulare, un menu vocale che informa sulle promozioni con la scelta del dipartimento a cui rivolgersi e la possibilità di mettere rapidamente davanti a tutto questo un messaggio sugli incidenti in alcune strade della città, in modo che le persone non sovraccarichino il supporto tecnico, e preferibilmente gratuito. Per non acquistare gateway costosi, abbiamo deciso di cambiare i numeri telefonici della città e acquistare un paio di numeri + una dozzina di canali da un provider di telefonia IP. Qualcuno dirà che è inaffidabile, ecc. Dimmi solo, che differenza fa per un provider Internet sui telefoni fissi se tutta la sua connessione Internet viene interrotta? Ma è economico. La connessione ci è costata solo $ 38 ciascuno numero di telefono a 2$ e linea a 1,2$ al mese. Successivamente abbiamo ricevuto le impostazioni anche senza autorizzazione e al nostro indirizzo IP è stato collegato un account. Preciso subito come sarà strutturato questo articolo, per non sovraccaricarlo di tonnellate di screenshot, descriverò una volta la realizzazione di ogni elemento (cosa che vi consiglio di fare visto che vi serviranno per i vostri successivi esperimenti) , e poi scriverò il diagramma di cosa si riferisce a cosa nel nostro schema di lavoro. Sicuramente il tuo diagramma sarà diverso, ma riuscirai a capirne il significato. Descriverò solo gli elementi direttamente necessari durante l'installazione.

    Ora è il momento di avviare il trunk:

    Per chiarezza scrivo in inglese perché... L'interfaccia è tradotta in pezzi e in modo abbastanza misterioso. Vai su Connettività> Trunk> Aggiungi trunk SIP.

    Nell'angolo destro ci sarà un elenco dei trunk che hai già creato. Dopo averne aperto uno nuovo, ho inserito a caso il nome: Trunk Name, chiamandolo Vega (Vegatelecom è il nostro fornitore). Outbound CallerID inserendo il numero nel formato 380652ХХХХХХ così come rilasciato dal nostro operatore, questo è il numero da cui verranno effettuate le chiamate in uscita, se non lo impostate non sarà possibile chiamare utilizzando questo trunk, tutte le linee erano occupati. Nelle Impostazioni in uscita, ho compilato un altro campo Nome trunk e ho inserito le impostazioni fornite dal provider:

    host=93.178.205.29
    tipo=pari
    non consentire=tutto
    consentire=alaw&ulaw&g729
    nat=no
    canreinvite=nonat
    insicuro=invita
    dtmfmode=rfc2833

    In basso ho cliccato sul pulsante Invia modifiche e ho ricevuto il trunk creato.

    Ora dobbiamo scegliere dove riceveremo le chiamate. Vai su Applicazioni > Interno > Dispositivo SIP generico > Invia

    Ci sono tre punti importanti in questa impostazione:

  • 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 come spazio su disco insufficiente 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 al tuo provider è il passo 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 sottostante:

    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. b>Connettività → Percorsi in entrata/uscita. Abbiamo descritto questo processo in dettaglio nell'articolo al link seguente:

    Poiché il nostro Asterisk verrà installato in una piccola azienda, prevediamo di creare un menu vocale in cui aiuteremo gli utenti a contattare rapidamente la persona giusta. La configurazione del menu vocale (IVR) viene regolata nel modulo IVR, la cui console di configurazione si trova nella scheda Applicazioni → IVR. Puoi trovare le impostazioni al link sottostante:

    Questo articolo ti è stato utile? Per favore, dimmi perché?

    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!

    I migliori articoli sull'argomento