Integra il server di chat XMPP Openfire con Asterisk PBX
Dopo aver installato con successo il server PBX Asterisk e il server Chat Openfire XMPP, è il momento di integrare i due in modo che il nostro server Chat possa essere utilizzato all'interno dell'infrastruttura VOIP creata con Asterisk.
Prerequisiti
- Server Asterisk PBX installato
- Server Openfire XMPP installato
- Asterisk e Openfire sono collegati in rete in modo che entrambi possano comunicare con successo.
- Conoscenza base di Linux e modifica dei file
- Moduli Asterisk res_xmpp.so e res_jabber.so compilati.
Se sei interessato a questo tutorial e non hai eseguito alcuna installazione, sentiti libero di utilizzare i seguenti tutorial:
Installazione del server di chat XMPP Openfire:
- Guida completa su come installare Openfire XMPP su CentOS
- Installa il server di chat Openfire XMPP su Ubuntu
Installazione del centralino Asterisk:
- Come installare Asterisk su CentOS
- Installa Asterisk su Ubuntu
http://127.0.0.1:9090
http://your_ip_address:9090
- Accedi con il nome utente e la password configurati durante l'installazione.
- Nella sezione Menu, vai su Plugin >> “Plugin disponibili” e cerca i plugin denominati “Asterisk-IM ” e “SIP Phone Plugin”. Installa i plugin facendo clic sul + (segno più) nell'angolo destro della sezione del nome del plugin.
- Se non riesci a trovare i plug-in sopra indicati nel sottomenu "Plugin disponibili", puoi scaricare i plug-in manualmente e inserirli nella "directory dei plug-in Openfire".
Procedi come segue sul server XMPP Openfire.
Digita quindi la password di root
su -
cd /opt/openfire/plugins/
wget http://www.igniterealtime.org/projects/openfire/plugins/sip.jar
wget https://github.com/igniterealtime/asterisk-im/releases/download/release-2.0.0/asterisk-im.jar
Affinché Openfire riconosca i plugin aggiunti, riavvialo utilizzando il comando seguente:
sudo service openfire restart
- Una volta riavviato Openfire, dovresti vedere il menu Asterisk-IM nel menu della dashboard di Openfire. Fare clic su di esso per configurarlo.
- In Asterisk-IM > Impostazioni generali, assicurati che il plug-in Asteris-IM sia abilitato.
Su "Configura Gestione telefono ", aggiungi contesto Asterisk, il mio si chiama test.Se hai già configurato il contesto nel tuo server Asterisk, aggiungilo qui. Nel caso in cui non disponi di contesto, utilizza "test" poiché lo aggiungeremo in seguito.
Ora è il momento di aggiungere Asterisk Server. Questo viene fatto semplicemente facendo clic sull'opzione "Aggiungi server" in Impostazioni generali. Quindi fornire le seguenti informazioni
- Nome server: nome alias del tuo server Asterisk. Può essere qualsiasi nome
- IP server: indirizzo IP del tuo server Asterisk
- Porta: porta di connessione utilizzata per connettersi ad Asterisk Server, l'impostazione predefinita è 5038
- Nome utente: nome utente che si collegherà al gestore di asterischi. Lo aggiungeremo al file Asterisk manager.conf nel passaggio successivo. Salva le configurazioni.
- Password: password dell'utente che verrà utilizzata per connettersi al server Asterisk PBX.
Vedi lo screenshot qui sotto per la mia configurazione. > Vai su Asterisk Server e aggiungi l'utente specificato nel passaggio precedente al file /etc/asterisk/manager.conf .
Avvia il tuo server Asterisk PBX, quindi:
sudo vim /etc/asterisk/manager.conf
sudo vim /etc/asterisk/manager.conf
Assicurati che la sezione generale disponga delle seguenti opzioni di configurazione.
[general]
enabled = yes
webenabled = yes
port = 5038; This is the Asterisk AMI Port number
httptimeout = 120
bindaddr = 0.0.0.0
allowmultiplelogin = yes
displayconnects = yes
timestampevents = yes
Aggiungi l'utente specificato al passaggio 5 e la password.
[openfire]
secret =password-that-you'll-set-on-next-step
displayconnects = yes
read = system, call, log, verbose, agent, user, config, DTMF,reporting
write = system, call, agent, user, config, comman, reporting
Aggiungi l'utente che si connetterà ad Asterisk Server, vai su Utenti e Gruppi quindi aggiungi utente.
- Nome utente: openfire
- Nome: fuoco aperto
- Password: apri fuoco
Riavvia Asterisco.
sudo service asterisk restart
O
sudo /etc/init.d/asterisk reload
Creiamo il contesto “test ” su Asterisk.
sudo vim /etc/asterisk/extensions.conf
Vai alla fine del file e aggiungi le seguenti righe.
[test]
exten => _XXX,1,Answer
exten => _XXX,n,No0p ( This-is-a-sample-context)
exten => _XXX,n,Dial(SIP/${EXTEN},10,r)
exten => _XXX,n,Hangup
_XXX: è un modello di corrispondenza che indica qualsiasi interno con tre cifre.
$ {EXTEN} è una variabile che contiene il numero di interno composto.
Aggiungi utenti SIP da mappare agli account di chat XMPP.
sudo vim /etc/asterisk/sip.conf
Nella sezione generale aggiungi la riga:
callevents = yes
Quindi aggiungi le seguenti righe alla fine del file.
[101] ; Account name
context=test ; default context for incoming calls
type=friend ;Access type
secret=password ; a secure password for this device
usernam=kim
nat=no ;Disabled NAT for LAN
bindport=5060 ; UDP port for Asterisk
disallow=all ;Disallow all Call Codecs
allow=ulaw
language=en
host=dynamic ;use DHCP to get ip address
qualify=yes
allowguest=no ; disable unauthenticated calls
dtmfmode=auto ; accept touch-tones from the devices, negotiated automatically
[102] ; Account name
context=test ; default context for incoming calls
type=friend ; Access type
secret=password ; a secure password for this device
username=val
nat=no ;Disabled NAT for LAN
bindport=5060 ; UDP port for Asterisk
disallow=all ;Disallow all Call Codecs
allow= ulaw
language=en
host=dynamic ; use DHCP to get ip address
qualify=yes
allowguest=no ; disable unauthenticated calls
dtmfmode=auto ; accept touch-tones from the devices, negotiated automatically
> Torniamo ora a Openfire e aggiungiamo gli utenti da mappare agli account SIP che abbiamo aggiunto. Configurerai:
- Nome utente: il tuo nome utente
- Nome: il tuo nome completo
- E-mail: il tuo indirizzo email
> In Asterisk-IM >> Mappature telefono >> Aggiungi mappatura utente/telefono Asterisk, specifica:
- * Nome utente: jose
- * Dispositivo: SIP/101
- * Estensione:101
- ID chiamante:jose
- Principale: sì
Salva le impostazioni e hai completato con successo le configurazioni.
> Prima di poter iniziare a inviare messaggi ai nostri amici XMPP, dobbiamo connetterci a un server abilitato XMPP. Aggiungi le seguenti configurazioni al file xmpp.conf.
sudo vim /etc/asterisk/xmpp.conf
Aggiungere :
[asterisk]
type=client
serverhost=192.168.1.105 ; ip addresss of XMPP server(Openfire)
[email
secret=openfire
priority=1
usetls=yes
port=5222
usesasl=yes
status=available
statusmessage="Asterisk Server"
endtodialplan=yes
context=from_xmpp
keepalive=yes
> Per installare res_xmpp abbiamo bisogno della libreria di sviluppo iksemel . Se è installata la libreria di sviluppo OpenSSL, res_xmpp la utilizzerà anche per connessioni sicure. Innanzitutto, installa iksemel e le librerie OpenSSL.
Per sistemi basati su Ubuntu e Debian:
sudo apt-get install libiksemel-dev libssl-dev
Per i sistemi CentOS 7 e RedHat Bases:
sudo yum install iksemel-devel openssl-devel
Riavvia il tuo server Asterisk quindi installa res_xmpp come di seguito.
> Installazione di res_xmpp
Una volta installate le dipendenze, devi eseguire ./configure nel tuo Asterisco la fonte eseleziona il menu. Quindi vai nel menu Moduli risorse e assicurati che res_xmpp sia abilitato. Successivamente, esegui make install per ottenere i nuovi moduli.
cd asterisk-source-directory
./configure
make menuselect
Quindi vai nel menu Moduli risorse e assicurati che res_xmpp sia abilitato. Dopodiché esegui l'installazione.
make install
Test.
- Test per confermare che gli utenti SIP siano stati aggiunti correttamente all'asterisco
$ sudo service asterisk restart
$ asterisk -rvvvvvv
$ sip show peers
- Test per confermare che Asterisk e il server Openfire XMPP stiano comunicando, sul tipo CLI Asterisk:
manager reload
manager show connected
Ora puoi installare Sparkweb, un client IM open source basato sul Web ottimizzato per aziende e organizzazioni e un client IM Spark da utilizzare. Potrai ricevere una chiamata tramite l'account SIP che abbiamo aggiunto ad Asterisk.
Nel nostro prossimo tutorial parleremo di come utilizzare i softphone Zoiper e X-Lite per inviare messaggi istantanei tramite il server Openfire XMPP.