summaryrefslogtreecommitdiff
path: root/doc/jabber.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/jabber.txt')
-rw-r--r--doc/jabber.txt107
1 files changed, 0 insertions, 107 deletions
diff --git a/doc/jabber.txt b/doc/jabber.txt
deleted file mode 100644
index a8f4a9361..000000000
--- a/doc/jabber.txt
+++ /dev/null
@@ -1,107 +0,0 @@
-XMPP (Jabber) is an xml based protocol primarily for presence and messaging.
-It is an open standard and there are several open server implementations,
-ejabberd, jabberd(2), openfire, and many others, as well as several open source
-clients, Psi, gajim, gaim etc. XMPP differs from other IM applications as it
-is immensly extendable. This allows us to easily integrate Asterisk with
-XMPP. The Asterisk XMPP Interface is provided by res_jabber.so.
-
-res_jabber allows for Asterisk to connect to any XMPP (Jabber) server and
-is also used to provide the connection interface for chan_jingle and
-chan_gtalk.
-
-Functions (JABBER_STATUS, JABBER_RECEIVE) and applications (JabberSend)
-are exposed to the dialplan.
-
-You'll find examples of how to use these functions/applications
-hereafter. We assume that 'asterisk-xmpp' is properly configured in
-jabber.conf.
-
-**** JabberSend ****
-
-JabberSend sends an XMPP message to a buddy. Example :
-
-context default {
- _XXXX => {
- JabberSend(asterisk-xmpp,buddy@gmail.com,${CALLERID(name)} is calling ${EXTEN});
- Dial(SIP/${EXTEN}, 30);
- Hangup();
- }
-}
-
-**** JABBER_STATUS ****
-
-Note : as of version 1.6, the corresponding application JabberStatus is still
-available, but marked as deprecated in favor of this function.
-
-JABBER_STATUS stores the status of a buddy in a dialplan variable for
-further use. Here is an AEL example of how to use it :
-
-1234 => {
- Set(STATUS=${JABBER_STATUS(asterisk-xmpp,buddy@gmail.com)});
- if (${STATUS}=1) {
- NoOp(User is online and active, ring his Gtalk client.);
- Dial(Gtalk/asterisk-xmpp/buddy@gmail.com);
- } else {
- NoOp(Prefer the SIP phone);
- Dial(SIP/1234);
- }
-}
-
-**** JABBER_RECEIVE ****
-
-JABBER_RECEIVE waits (up to X seconds) for a XMPP message and returns
-its content. Used along with JabberSend (or SendText,
-provided it's implemented in the corresponding channel type),
-JABBER_RECEIVE helps Asterisk interact with users while calls flow
-through the dialplan.
-
-JABBER_RECEIVE/JabberSend are not tied to the XMPP media modules
-chan_gtalk and chan_jingle, and can be used anywhere in the dialplan.
-In the following example, calls targeted to extension 1234 (be it
-accessed from SIP, DAHDI or whatever channel type) are controlled by
-user bob@domain.com. Asterisk notifies him that a call is coming, and
-asks him to take an action. This dialog takes place over an XMPP chat.
-
-context from-ext {
- 1234 => {
- Answer();
- JabberSend(asterisk-xmpp,bob@jabber.org,Call from $CALLERID(num) - choose an option to process the call);
- JabberSend(asterisk-xmpp,bob@jabber.org,1 : forward to cellphone);
- JabberSend(asterisk-xmpp,bob@jabber.org,2 : forward to work phone);
- JabberSend(asterisk-xmpp,bob@jabber.org,Default action : forward to your voicemail);
- Set(OPTION=${JABBER_RECEIVE(asterisk-xmpp,bob@jabber.org,20)});
- switch (${OPTION}) {
- case 1:
- JabberSend(asterisk-xmpp,bob@jabber.org,(Calling cellphone...);
- Dial(SIP/987654321);
- break;
- case 2:
- JabberSend(asterisk-xmpp,bob@jabber.org,(Calling workphone...);
- Dial(SIP/${EXTEN});
- break;
- default:
- Voicemail(${EXTEN}|u)
- }
- }
-}
-
-When calling from a GoogleTalk or Jingle client, the CALLERID(name)
-is set to the XMPP id of the caller (i.e. his JID). In the
-following example, Asterisk chats back with the caller identified by the
-caller id. We also take advantage of the SendText implementation in
-chan_gtalk (available in chan_jingle, and chan_sip as well), to
-allow the caller to establish SIP calls from his GoogleTalk client :
-
-context gtalk-in {
- s => {
- NoOp(Caller id : ${CALLERID(all)});
- Answer();
- SendText(Please enter the number you wish to call);
- Set(NEWEXTEN=${JABBER_RECEIVE(asterisk-xmpp,${CALLERID(name)})});
- SendText(Calling ${NEWEXTEN} ...);
- Dial(SIP/${NEWEXTEN);
- Hangup();
- }
-}
-
-The maintainer of res_jabber is Philippe Sultan <philippe.sultan@gmail.com>.