Kamailio è un server SIP open source scritto in C che gira su un sistema operativo basato su Linux/Unix. Può gestire migliaia di configurazioni di chiamata al secondo e servire fino a 300.000 abbonati attivi sul sistema con soli 4 GB di RAM. Kamailio è utilizzato da un grande ISP per fornire servizi telefonici pubblici ed è stato progettato per essere utilizzato per grandi servizi di comunicazione in tempo reale. Puoi utilizzare Kamailio come server di registrazione, server di posizione, server proxy, server di reindirizzamento e server di applicazioni SIP.
In questo tutorial impareremo come installare e configurare il server SIP Kamailio su Ubuntu 20.04.
Prerequisiti
- Un nuovo VPS Ubuntu 20.04 sulla piattaforma Atlantic.Net Cloud
- Una password di root configurata sul tuo server
Fase 1:crea un server cloud Atlantic.Net
Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 20.04 come sistema operativo con almeno 2GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.
Dopo aver effettuato l'accesso al tuo server Ubuntu 20.04, esegui il comando seguente per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.
apt-get update -y
Passaggio 2:installazione delle dipendenze richieste
Innanzitutto, dovrai installare alcuni pacchetti richiesti sul tuo server. Puoi installarli tutti con il seguente comando:
apt-get install gnupg2 mariadb-server curl unzip -y
Una volta installati tutti i pacchetti, puoi procedere al passaggio successivo.
Fase 3 – Installa Kamailio Server
Innanzitutto, importa la chiave GPG di Kamailio con il seguente comando:
wget -O- http://deb.kamailio.org/kamailiodebkey.gpg | apt-key add -
Quindi, aggiungi il repository Kamailio con il seguente comando:
nano /etc/apt/sources.list.d/kamailio.list
Aggiungi le seguenti righe:
deb http://cz.archive.ubuntu.com/ubuntu bionic main deb http://deb.kamailio.org/kamailio53 bionic main deb-src http://deb.kamailio.org/kamailio53 bionic main
Salva e chiudi il file quando hai finito.
Quindi, aggiorna il repository e installa il server Kamailio con altri pacchetti usando il seguente comando:
apt-get update -y apt-get install kamailio kamailio-mysql-modules kamailio-websocket-modules kamailio-tls- modules -y
Una volta installati tutti i pacchetti, verifica la versione installata di Kamailio con il seguente comando:
kamailio -V
Dovresti ottenere il seguente output:
version: kamailio 5.3.5 (x86_64/linux)
Fase 4 – Configura Kamailio
Successivamente, dovrai modificare il file /etc/kamailio/kamctlrc e definire il motore del database, l'host del database e il dominio SIP.
nano /etc/kamailio/kamctlrc
Modifica le seguenti righe:
## your SIP domain SIP_DOMAIN=your-server-ip DBENGINE=MYSQL ## database host DBHOST=localhost
Salva e chiudi il file.
Quindi, crea un database, un utente e le tabelle necessari per Kamailio usando il seguente comando:
kamdbctl create
Ti verrà chiesto di inserire una password di root MySQL come mostrato di seguito:
MySQL password for root:
Lascia vuoto e premi semplicemente Invio continuare. Ti verrà chiesto di fornire un set di caratteri come mostrato di seguito:
-e Enter character set name: utf32
Digita utf32 e premi Invio per continuare. Dovresti vedere il seguente output:
-e \E[37;33mINFO: creating database kamailio ... -e \E[37;33mINFO: granting privileges to database kamailio ... -e \E[37;33mINFO: creating standard tables into kamailio ... -e \E[37;33mINFO: Core Kamailio tables succesfully created. Install presence related tables? (y/n): y -e \E[37;33mINFO: creating presence tables into kamailio ... -e \E[37;33mINFO: Presence tables succesfully created. Install tables for imc cpl siptrace domainpolicy carrierroute drouting userblacklist htable purple uac pipelimit mtree sca mohqueue rtpproxy rtpengine secfilter? (y/n): y -e \E[37;33mINFO: creating extra tables into kamailio ... -e \E[37;33mINFO: Extra tables succesfully created. Install tables for uid_auth_db uid_avp_db uid_domain uid_gflags uid_uri_db? (y/n): y -e \E[37;33mINFO: creating uid tables into kamailio ... -e \E[37;33mINFO: UID tables succesfully created.
Quindi, modifica il file di configurazione principale di Kamailio e abilita alcune funzionalità:
nano /etc/kamailio/kamailio.cfg
Aggiungi le seguenti righe sotto #!KAMAILIO .
#!define WITH_MYSQL #!define WITH_AUTH #!define WITH_USRLOCDB #!define WITH_ACCDB
Salva e chiudi il file, quindi riavvia il servizio Kamailio per applicare le modifiche:
systemctl restart kamailio
Puoi anche verificare il servizio Kamailio con il seguente comando:
systemctl status kamailio
Dovresti ottenere il seguente output:
kamailio.service - Kamailio (OpenSER) - the Open Source SIP Server Loaded: loaded (/lib/systemd/system/kamailio.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-09-01 16:05:05 UTC; 6s ago Process: 19835 ExecStart=/usr/sbin/kamailio -P /run/kamailio/kamailio.pid -f $CFGFILE -m $SHM_MEMORY -M $PKG_MEMORY (code=exited, status=0> Main PID: 19847 (kamailio) Tasks: 32 (limit: 2353) Memory: 24.6M CGroup: /system.slice/kamailio.service ├─19847 /usr/sbin/kamailio -P /run/kamailio/kamailio.pid -f /etc/kamailio/kamailio.cfg -m 64 -M 8 ├─19849 /usr/sbin/kamailio -P /run/kamailio/kamailio.pid -f /etc/kamailio/kamailio.cfg -m 64 -M 8 ├─19850 /usr/sbin/kamailio -P /run/kamailio/kamailio.pid -f /etc/kamailio/kamailio.cfg -m 64 -M 8 ├─19851 /usr/sbin/kamailio -P /run/kamailio/kamailio.pid -f /etc/kamailio/kamailio.cfg -m 64 -M 8 ├─19852 /usr/sbin/kamailio -P /run/kamailio/kamailio.pid -f /etc/kamailio/kamailio.cfg -m 64 -M 8
Fase 5 – Installa la dashboard di Siremis
Siremis è un'interfaccia basata sul Web utilizzata per la gestione di un server SIP Kamailio. Puoi visualizzare la contabilità, i telefoni registrati, fornire profili utente, regole di routing e comunicare con il server SIP tramite xmlrpc utilizzando Siremisis.
Installa Apache e PHP
Innanzitutto, dovrai installare Apache, PHP e altri moduli PHP nel tuo sistema. Puoi installarli con il seguente comando:
apt-get install apache2 php libapache2-mod-php php-mysql php-gd php-curl php-xml php-pear make git -y
Una volta installati tutti i pacchetti, installa XML_RPC con il seguente comando:
pear install XML_RPC2
Scarica Siremis
Per prima cosa, cambia la directory in Apache web root e scarica l'ultima versione di Siremis dal repository Git:
cd /var/www/ git clone https://github.com/asipto/siremis
Quindi, cambia la directory in Siremis e genera il file di configurazione dell'host virtuale Apache utilizzando il seguente comando:
cd siremis make apache24-conf | tee /etc/apache2/sites-enabled/siremis.conf
Quindi, crea i file di configurazione .htaccess e Siremis eseguendo il seguente comando:
make prepare24
Dovresti vedere il seguente output:
updating htaccess file for apache 2.4 ... deploying htaccess files for apache 2.4 in subdirs ... updating app.inc file... creating folders... done
Quindi, imposta la proprietà corretta con il seguente comando:
make chown
Dovresti ottenere il seguente output:
changing onwner to www-data:www-data ... chown -R www-data:www-data .
Quindi, accedi alla shell MariaDB con il seguente comando:
mysql
Una volta effettuato l'accesso, crea un nuovo utente siremis e concedi tutti i privilegi al database siremis:
GRANT ALL PRIVILEGES ON siremis.* TO [email protected] IDENTIFIED BY 'password';
Quindi, svuota i privilegi ed esci da MariaDB con il seguente comando:
flush privileges; exit;
Infine, abilita il modulo di riscrittura di Apache e riavvia il servizio Apache con il seguente comando:
a2enmod rewrite systemctl restart apache2
Fase 6:accedi alla dashboard di Siremis
Ora apri il tuo browser web e accedi alla dashboard di Siremis utilizzando l'URL http://your-server-ip/siremis. Verrai reindirizzato alla procedura guidata di installazione di Siremis:
Fai clic su Configurazione Ora ! pulsante. Dovresti vedere la seguente pagina:
Assicurati che tutte le dipendenze siano installate, quindi fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Fornire la password utente siremis DB in “Password Siremis DB ” e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Controlla tutte le directory per l'accesso in scrittura e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Fai clic su Avvia Siremis . Verrai reindirizzato alla pagina di accesso di Siremis:
Fornisci il nome utente e la password dell'amministratore predefiniti come amministratore/amministratore e fai clic su Accedi pulsante. Dovresti vedere la dashboard di Siremis nella pagina seguente:
Conclusione
Congratulazioni! Hai installato con successo un server SIP Kamailio e un dashboard Siremis su Ubuntu 20.04. Ora puoi creare facilmente il tuo server SIP e gestirlo utilizzando la dashboard di Siremis. Prova Kamailio su VPS Hosting da Atlantic.Net usando il tutorial qui sopra!