Review Board 1.7.16

New application JabberReceive, implement SendText in chan_gtalk and chan_jingle

Review Request #88 - Created Dec. 11, 2008 and submitted

Philippe Sultan
JabberReceive is a dialplan application that makes Asterisk wait for an XMPP message from a given user (identified with his JID), and store the content in a dialplan variable.

It can be used for example to notify a user (via XMPP) that a call is coming, and read input back from him.
Taken from the documentation :
In the following example, calls targeted to extension 1234 (be it 
accessed from SIP, DAHDI or whatever channel type) are controlled by
user 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 => {
		JabberSend(asterisk-xmpp,,Call from $CALLERID(num) - choose an option to process the call);
		JabberSend(asterisk-xmpp,,1 : forward to cellphone);
		JabberSend(asterisk-xmpp,,2 : forward to work phone);
		JabberSend(asterisk-xmpp,,Default action : forward to your voicemail);
		switch (${OPTION}) {
			case 1:
	  			JabberSend(asterisk-xmpp,,(Calling cellphone...);
			case 2:
				JabberSend(asterisk-xmpp,,(Calling workphone...);

The diff also includes an implementation of SendText as XMPP messages in both chan_jingle and chan_gtalk.

The corresponding bug contains more use cases :

Review request changed
Updated (Sept. 22, 2009, 10:26 p.m.)
Ship it!
Posted (Sept. 23, 2009, 11:07 a.m.)
Found a few small things left, other than that looks good!
/trunk/res/res_jabber.c (Diff revision 9)
all the static functions need to be marked with the \internal tag
/trunk/res/res_jabber.c (Diff revision 9)
Return res here and note IKS_OK for success in comment runs on a server provided by Digium, Inc. and uses bandwidth donated to the open source Asterisk community by API Digital Communications in Huntsville, AL USA.
Please report problems with this site to