Installazione del pacchetto OPKG Asterisk IP PBX
Questo articolo serve come guida per l'impostazione della piattaforma di comunicazione Asterisk di Digium su un router Keenetic. Asterisk consente di espandere le funzionalità del router con le caratteristiche di un PBX basato su IP (IP-PBX). Tale PBX può supportare decine di interni, fornendo l'instradamento delle chiamate su più linee esterne, la registrazione delle chiamate, i menu vocali interattivi, le chiamate in conferenza e altre funzionalità. Può essere utilizzato per configurare una rete telefonica in un piccolo ufficio. La connessione ad Asterisk di una Stazione telefonica Keenetic con i moduli di telefonia Keenetic Plus DECT e Keenetic Linear installati sullo stesso dispositivo viene eseguita automaticamente durante il processo di installazione.
Per rendere l'installazione e la configurazione di Asterisk il più semplice possibile, utilizzare il programma di installazione disponibile tramite il link alla fine di questo articolo. Consente di installare automaticamente Asterisk e di impostare le seguenti funzionalità:
Numeri interni 1000–1009, 2000–2009 per la connessione di telefoni IP, smartphone, softphone, gateway VoIP, ecc. (di seguito 'telefoni IP') ad Asterisk tramite il protocollo SIP. Gli utenti dei telefoni IP potranno effettuare e ricevere chiamate tramite linee esterne, chiamarsi a vicenda utilizzando numeri interni tramite Asterisk e impostare chiamate in conferenza. I telefoni DECT e i telefoni della Stazione telefonica Keenetic installati sullo stesso router si collegano ad Asterisk automaticamente durante la configurazione;
Le linee esterne per la connessione ai provider di telefonia IP (di seguito 'SIP trunk') possono essere configurate automaticamente copiando la configurazione della linea della Stazione telefonica Keenetic;
Chiamate tramite la rete LTE di un operatore mobile da telefoni o telefoni DECT collegati al router utilizzando gli adattatori telefonici Keenetic Plus DECT e Keenetic Linear (di seguito 'VoLTE' o 'chiamate VoLTE'). Per connettersi alla rete LTE viene utilizzato un modem USB 4G. La configurazione VoLTE viene eseguita automaticamente se durante il processo di installazione di Asterisk viene rilevato un modem USB con funzionalità VoLTE;
Funzione di trasferimento di chiamata. Trasferisce una chiamata a un altro numero interno. Funziona su qualsiasi telefono IP collegato ad Asterisk;
Menu vocale per le chiamate in arrivo. Un chiamante che chiama da una linea esterna sente un messaggio che invita a inserire un numero di interno. Il chiamante inserisce il numero di interno e Asterisk lo collega all'utente appropriato;
Conferenze per tre o più partecipanti. Ogni utente collegato alla conferenza può parlare con tutti gli altri utenti della conferenza;
Segreteria telefonica. I chiamanti che ti contattano quando non sei disponibile possono lasciare un messaggio vocale. Per memorizzare i messaggi è necessaria un'unità USB esterna. Per impostare la segreteria telefonica, è necessario eseguire uno script speciale dopo l'installazione di Asterisk; vedere più avanti in questo articolo;
Registrazione delle chiamate. Tutte le chiamate possono essere registrate. Per memorizzare le registrazioni delle chiamate è necessaria un'unità USB esterna. Per configurare la registrazione delle chiamate, è necessario eseguire uno script speciale dopo l'installazione di Asterisk; vedere la sezione successiva di questo articolo.
Questo programma di installazione è progettato per impostare Asterisk sull'archiviazione interna di un router con una capacità di almeno 55 MB. Tutti i componenti software Asterisk necessari vengono scaricati dal repository durante il processo di installazione.
Per installare Asterisk, è necessario quanto segue:
1. Un Keenetic router con archiviazione integrata. I modelli compatibili sono elencati di seguito.
Architettura MIPSel: Hero (KN-1011), Titan (KN-1810), Skipper (KN-1910/1912), Hero 4G (KN-2310/KN-2311), Skipper 4G (KN-2910), Hopper (KN-3810)
Architettura MIPS: Hero DSL (KN-2410), Skipper DSL (KN-2112), Hopper DSL (KN-3610)
Architettura AArch64: Peak (KN-2710), Titan (KN-1811/KN-1812), Hero (KN-1012), Hopper (KN-3811), Hopper SE (KN-3812), Hopper 4G+ (KN-2312), Hero 5G (KN-4110)
2. Una connessione a Internet per scaricare i componenti software dal repository.
Oltre a quanto sopra, per le chiamate VoLTE è necessario quanto segue:
3. Un modem 4G Quectel con supporto audio USB, compatibile con il driver del canale asterisk-chan-quectel. Informazioni dettagliate sul driver sono disponibili qui.
Suggerimento
Questa build è stata testata solo con il modem Quectel EC25-E.
4. Una scheda SIM per effettuare telefonate sulla rete LTE dell'operatore mobile.
5. Un adattatore da Mini PCI-E a USB con uno slot per scheda SIM. Questo adattatore è necessario per collegare un modem 4G con un'interfaccia Mini PCI-E alla porta USB del router.
6. Antenne esterne per il modem. Le antenne esterne devono essere collegate al modem se il modem non dispone di antenne integrate.
7. Adattatore telefonico Keenetic Plus DECT o Keenetic Linear con telefoni DECT o telefoni collegati, rispettivamente.
Sul router deve essere installata la versione KeeneticOS4.0.4 o successiva con i seguenti componenti:
1. Server SSH;
2. Supporto Open Package;
a. Moduli del kernel per il supporto dei file system;
b. Moduli del kernel per il supporto audio USB (per VoLTE);
3. Interfaccia QMI per modem USB 5G/4G/3G (per VoLTE);
4. Keenetic Stazione telefonica (per VoLTE e configurazione automatica del trunk SIP).
Preparazione all'installazione di Asterisk
Se è necessario configurare le chiamate VoLTE, seguire questi passaggi prima di installare Asterisk:
1. Collegare il modem USB e l'adattatore telefonico al router. Eseguire il comando show usb e assicurarsi che entrambi i dispositivi appaiano nel sistema, come mostrato nello screenshot qui sotto;

Suggerimento
Il modem USB deve essere collegato a una porta USB 3.0 e l'adattatore telefonico a una porta USB 2.0.
2. Se si utilizza l'adattatore telefonico Keenetic Plus DECT, registrare almeno un telefono DECT;
3. Assicurarsi che la Stazione telefonica sia accesa e che i telefoni DECT o i telefoni siano visualizzati nel sistema (consultare la pagina Stazione telefonica nell'interfaccia web);

4. Assicurarsi che il router sia connesso a Internet.

Suggerimento
Qualsiasi connessione Internet funzionerà per l'installazione, inclusa una connessione mobile tramite un modem USB 4G.
Se è necessario configurare automaticamente i trunk SIP per connettere Asterisk ai provider di telefonia IP, è necessario prima creare linee telefoniche speciali nella Stazione telefonica Keenetic per connettersi a questi provider e assicurarsi che la registrazione SIP abbia esito positivo e che le chiamate funzionino. Il nome di ciascuna di queste linee deve contenere un prefisso, come mostrato nello screenshot qui sotto.

Un prefisso è composto da una cifra da 0 a 9 e dal simbolo *. Durante l'installazione di Asterisk, la configurazione di ogni linea con questo nome viene utilizzata per impostare un trunk SIP e il prefisso viene utilizzato durante la creazione delle regole di instradamento delle chiamate tramite questo trunk SIP.
Installazione di Asterisk
1. Nella pagina dell'interfaccia web Gestione > Applicazioni, nella sezione Dispositivi USB, selezionare Archiviazione interna e creare al suo interno una nuova cartella denominata install;

2. A seconda dell'architettura del router, scaricare il file di installazione di Asterisk mipsel-ast-installer.tar.gz, aarch64-ast-installer.tar.gz o mips-ast-installer.tar.gz nella cartella install;
Nota
Programma di installazione di Asterisk per MIPSel: mipsel-ast-installer-20240528.tar.gz

3. Nella pagina dell'interfaccia web Gestione > OPKG, nella sezione Impostazioni di base, selezionare l'unità Archiviazione interna. Fare clic sul pulsante Salva per applicare le impostazioni e avviare l'installazione di Asterisk.

L'installazione e la configurazione di Asterisk possono richiedere circa quattro minuti. È possibile monitorare l'avanzamento nel registro di sistema del router. Per fare ciò, andare alla pagina dell'interfaccia web Gestione > Diagnostica e fare clic su Mostra registro.

Il messaggio Asterisk installed! nel registro di sistema indica che l'installazione di Asterisk è stata completata.

Una volta completata l'installazione, le seguenti impostazioni verranno configurate automaticamente:
Viene creata una linea telefonica
mobileper collegare il PBX della Stazione telefonica integrata ad Asterisk;Tutti i telefoni DECT o le porte telefoniche della Stazione telefonica Keenetic vengono collegate alla linea
mobileper le chiamate VoLTE;Asterisk viene configurato per instradare le chiamate VoLTE attraverso la linea
mobile;I trunk SIP di Asterisk vengono creati per connettersi ai provider di telefonia IP in conformità con la configurazione delle linee telefoniche dedicate sulla Stazione telefonica Keenetic;
Suggerimento
Il programma di installazione disabilita le linee telefoniche la cui configurazione è stata utilizzata per creare i trunk SIP.
Viene creata una linea telefonica separata per ogni telefono DECT o telefono sulla Stazione telefonica Keenetic, con regole di composizione per le chiamate tramite trunk SIP Asterisk, chiamate interne, segreteria telefonica, chiamate di prova e conferenze. Per maggiori dettagli sulla segreteria telefonica, le chiamate di prova e le conferenze, consultare il resto di questo articolo.
Gli screenshot qui sotto mostrano un esempio di configurazione automatica per la Stazione telefonica e Asterisk.
Stazione telefonica Keenetic:


Asterisk:
È possibile controllare lo stato attuale di Asterisk utilizzando i comandi pjsip show contacts e quectel show device state quectel0. Questi comandi vengono eseguiti nella console di Asterisk. Per istruzioni su come connettersi alla console di Asterisk, vedere più avanti in questo articolo.


Connessione dei telefoni IP
Gli interni 1000–1009 e 2000–2009 configurati in Asterisk sono destinati alla connessione di telefoni IP. Quando si configura un interno su un telefono IP, utilizzare le seguenti impostazioni:
Registrar/proxy/dominio SIP: indirizzo IP del router;
ID Utente SIP: uno dei numeri 1000–1009 o 2000–2009;
ID di Autenticazione SIP: user1000–user1009 o user2000–user2009;
Password: ast18-opkg-mipsel;
Codec audio: G.711a, G.711u.
Suggerimento
Durante la configurazione automatica, i numeri interni nell'intervallo 1000–1006 vengono utilizzati per collegare i telefoni DECT o i telefoni collegati alla Stazione telefonica. Non utilizzare questi numeri per collegare telefoni IP.
La password specificata sopra è configurata automatically per tutti i numeri interni. Dovrebbe essere modificata nel file di configurazione /opt/etc/asterisk/pjsip.conf.
Chiamate VoLTE
Per effettuare una chiamata VoLTE in uscita, comporre il numero del destinatario su un telefono DECT o su un telefono collegato all'adattatore telefonico, quindi premere il pulsante di chiamata. Durante la composizione, seguire le regole di composizione impostate dal proprio operatore di rete mobile.
Quando si riceve una chiamata VoLTE sulla scheda SIM installata nel modem USB, tutti i telefoni DECT o telefoni squilleranno e i loro display mostreranno il numero del chiamante e il nome della linea mobile.
Suggerimento
Sui telefoni DECT che non supportano CAT-iq 2.0, viene visualizzato solo il numero del chiamante; il nome della linea non viene mostrato.
Chiamate tramite trunk SIP
Per effettuare una chiamata in uscita tramite un trunk SIP configurato automaticamente, comporre il numero dell'abbonato con il prefisso appropriato. Nell'esempio precedente, per chiamare il 1234567 tramite Sky, è necessario comporre 1*1234567. Quando si compone un numero, seguire le regole di composizione applicabili al proprio provider di telefonia IP.
Per una chiamata in arrivo tramite un trunk SIP, il chiamante sentirà un messaggio che lo invita a comporre un numero di interno. Potrà quindi comporre uno dei numeri di interno 1000–1009, 2000–2009 e chiamare un altro telefono IP collegato a quel numero. Nell'esempio precedente, il telefono 2 collegato all'adattatore Keenetic Linear è associato alla linea line1002. Per chiamare questo telefono, è necessario comporre il 1002.
Chiamate di prova
Per testare l'interazione tra i telefoni/portatili DECT, la Stazione telefonica Keenetic e Asterisk, in questa configurazione sono state impostate le seguenti funzioni:
Test eco. Chiamare il numero 800, ascoltare il messaggio, registrare il proprio messaggio, premere
#e quindi ascoltare il messaggio registrato per controllare lo scambio audio tra Asterisk e il proprio telefono IP;Richiamata. Consente di testare le chiamate in arrivo da Asterisk e la visualizzazione dell'ID chiamante. Comporre il numero 802, ascoltare il messaggio, attendere la fine della connessione e riagganciare. Dopo 10 secondi si riceverà una chiamata in arrivo. Il display del telefono IP mostra il nome
CallBacke il numero1234567890. Dopo aver risposto alla chiamata viene riprodotta la musica;Interno 9999. Quando si chiama questo numero, viene riprodotta la musica.
Trasferimento di chiamata
Durante una chiamata, comporre ## (Trasferimento cieco) o ** (Trasferimento con attesa), quindi comporre il numero della persona a cui si desidera trasferire la chiamata.
Conferenze per tre o più partecipanti
Per partecipare a una conferenza, comporre il numero 001. Ogni partecipante che si unisce alla conferenza può parlare con tutti gli altri partecipanti alla conferenza. Quando un partecipante si unisce o lascia la conferenza, tutti gli altri partecipanti alla conferenza sentono le relative notifiche. Il primo utente che si unisce alla conferenza riceve una notifica speciale e musica finché non si uniscono altri partecipanti.
Funzionalità aggiuntive
Dopo aver installato Entware, le seguenti funzionalità possono essere configurate e abilitate automaticamente utilizzando uno script speciale:
segreteria telefonica;
registrazione delle chiamate;
trasporto TLS.
Le conversazioni vengono registrate per le chiamate esterne e interne e durante le conferenze. Le registrazioni audio delle conversazioni nel formato PCM 8000Hz mono 128kbps vengono salvate su un'unità USB nella cartella /asterisk/records.
I nomi dei file di registrazione audio hanno il seguente formato:
<caller>-<callee>_<YYMMDD>-<HHMM>.wav
dove:
caller— il numero del chiamante;
callee — il numero del destinatario;
YYMMDD — l'anno, il mese e il giorno in cui si è svolta la chiamata;
HHMM — l'ora (ore, minuti) in cui si è svolta la chiamata.
Quando si configura la registrazione delle chiamate, è possibile abilitare la conversione automatica delle registrazioni audio in MP3. Ciò ridurrà le dimensioni delle registrazioni audio di circa 16 volte.
La segreteria telefonica funziona come segue: se un numero interno non risponde a una chiamata in arrivo entro un minuto, il chiamante sente un messaggio che lo invita a lasciare un messaggio per quell'utente. È possibile accedere ai messaggi tramite il numero 9000. Per accedere è necessario inserire il relativo numero di interno 100x sia come numero di abbonato che come password. Le password della segreteria telefonica possono essere modificate nel file di configurazione \opt\etc\asterisk\voicemail.conf.
I messaggi registrati vengono archiviati su un'unità USB nella cartella /asterisk/voicemail/.
Il trasporto SIP TLS consente l'autenticazione del server SIP con certificati e la crittografia dei messaggi SIP. Garantisce una connessione a un server SIP autentico e impedisce a terzi malintenzionati di intercettare informazioni sulle chiamate esterne.
Per configurare le funzionalità aggiuntive sopra descritte, eseguire il comando configure-features nella console Linux per avviare lo script. Quindi seguire le istruzioni sullo schermo. Per informazioni su come connettersi alla console Linux, vedere la fine di questo articolo.
Backup e ripristino di Asterisk
È possibile eseguire il backup dell'installazione corrente di Asterisk in un file su un'unità USB in modo da poterla ripristinare rapidamente, se necessario. Per fare ciò, eseguire il comando backup nella console Linux e seguire le istruzioni sullo schermo. Per informazioni su come connettersi alla console Linux, vedere la fine di questo articolo.
Per ripristinare un'installazione di Asterisk precedentemente salvata da un file:
1. Collegare al router un'unità USB con una partizione ext4;
2. Creare una cartella denominata /install nella partizione ext4 sull'unità USB e copiare il file contenente l'installazione di Asterisk in questa cartella;
3. Copiare lo stesso file nella directory principale della partizione ext4 sull'unità USB;
4. Nella pagina dell'interfaccia web Gestione > OPKG, nella sezione Impostazioni di base, selezionare la partizione ext4 sull'unità USB e fare clic sul pulsante Salva per applicare le impostazioni e avviare l'installazione di Asterisk;
5. Una volta completata l'installazione, l'installazione di Asterisk è in esecuzione sull'unità USB. Per distribuirla nella memoria interna del router, eseguire il comando restore nella console Linux per avviare lo script. Quindi seguire le istruzioni sullo schermo. Vedere di seguito per i dettagli su come connettersi alla console Linux;
6. Una volta terminata l'esecuzione dello script, nella pagina dell'interfaccia web Gestione > OPKG, nella sezione Impostazioni di base, selezionare Archiviazione interna e fare clic sul pulsante Salva per applicare le impostazioni ed eseguire l'installazione di Asterisk sulla memoria interna.
Console Linux
Per connettersi alla console Linux, accedere al router tramite SSH. Per fare ciò, utilizzare il client SSH gratuito PuTTY. Quando si configura la connessione, utilizzare i seguenti dettagli:
Indirizzo IP:
192.168.1.1(predefinito nel segmentoCasa);tipo di connessione: SSH;
porta:
22. Se il componente Server SSH e/o Server SFTP è installato sul router, specificare la porta222.
Alla prima connessione, confermare che la chiave di sicurezza è stata aggiunta alla cache di PuTTY per continuare a stabilire la connessione. Per l'autenticazione, utilizzare il nome utente: root e la password: keenetic.

Dopo aver effettuato l'accesso con successo, si consiglia di cambiare la password utilizzando il comando passwd.
Console Asterisk
Per connettersi alla console Asterisk, utilizzare il comando asterisk -rvvvv nella console Linux.

Di seguito sono riportati alcuni comandi utili della console Asterisk:
dialplan reload — ricarica extensions.conf;
pjsip show registrations — elenca i peer SIP registrati;
pjsip show contacts — visualizza l'elenco dei contatti;
pjsip show transports — visualizza un elenco di trasporti SIP;
core show translation — visualizza la tabella di transcodifica. Mostra i codec installati nel sistema e il tempo necessario per transcodificare un secondo di dati audio da un codec all'altro;
pjsip show channels — informazioni su tutte le connessioni SIP attive;
quectel show device state quectel0 — visualizza lo stato corrente del modem USB 4G;
exit — torna alla console Linux.
Se necessario, è possibile modificare la configurazione di Asterisk, installare moduli aggiuntivi e impostare nuove funzionalità. Un elenco di tutti i moduli Asterisk disponibili e di altri pacchetti disponibili per il download e l'installazione può essere trovato a questo link: https://bin.entware.net/aarch64-k3.10/ (AArch64)
Il comando opkg viene utilizzato per installare nuovi moduli.
Esempio di utilizzo del comando per installare il codec video H.264: opkg install asterisk-format-h264
Informazioni dettagliate sulla configurazione di Asterisk si trovano nel libro 'Asterisk: The Definitive Guide, 5th Edition' e in numerosi articoli online.
Informazioni sul progetto Entware: https://forum.keenetic.com/forum/53-open-packages/