userdoc:tt_distribute_events_xmpp_pubsub

This is an old revision of the document!


Distribute Asterisk Events using XMPP PubSub

On occasion it is desirable to distribute device state and message waiting indication (MWI) events between Asterisk servers. This can be accomplished by utilizing XMPP PubSub events and a common XMPP server. The Asterisk XMPP clients are configured via either jabber.conf or xmpp.conf .

Note: AstLinux 1.1.3 or later is required

Snippet - jabber.conf or xmpp.conf on Local Server1

[general]
;debug=yes
;autoprune=yes
autoregister=yes
;collection_nodes=yes
pubsub_autocreate=yes

[asterisk]
type=client
serverhost=localhost  ; ie. asterisk.mydomain.tld
pubsub_node=pubsub.asterisk.mydomain.tld
username=server1@asterisk.mydomain.tld
secret=password
;priority=1
;port=5222
usetls=yes
usesasl=yes
buddy=server2@asterisk.mydomain.tld
distribute_events=yes

XMPP server configuration on Local Server1

The AstLinux Web Interface is used for configuration, click on Configure XMPP

Network tab → Network Services:
Configure XMPP

Specify the matching DNS hostname for your local server1…

XMPP Hostname

Define the PubSub options…

XMPP PubSub Config

Tip -> More Info: XMPP Server Configuration

Tip -> The firewall on the XMPP Server1 box must allow TCP port 5222 for Server2 to connect.

Snippet - extensions.conf on Local Server1

; DEVICE_STATE hint example

Snippet - jabber.conf or xmpp.conf on Remote Server2

[general]
;debug=yes
;autoprune=yes
autoregister=yes
;collection_nodes=yes
pubsub_autocreate=yes

[asterisk]
type=client
serverhost=asterisk.mydomain.tld
pubsub_node=pubsub.asterisk.mydomain.tld
username=server2@asterisk.mydomain.tld
secret=password
;priority=1
;port=5222
usetls=yes
usesasl=yes
buddy=server1@asterisk.mydomain.tld
distribute_events=yes

Snippet - extensions.conf on Remote Server2

; DEVICE_STATE hint example

  • userdoc/tt_distribute_events_xmpp_pubsub.1377831409.txt.gz
  • Last modified: 2013/08/29 21:56
  • by abelbeck