Ricerca nel sito web

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

  1. Server Asterisk PBX installato
  2. Server Openfire XMPP installato
  3. Asterisk e Openfire sono collegati in rete in modo che entrambi possano comunicare con successo.
  4. Conoscenza base di Linux e modifica dei file
  5. 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:


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.

Articoli correlati: