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
http://svn.digium.com/svn/asterisk/team/phsultan/jabberreceive
12569
Reviewers
asterisk-dev
Asterisk
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 bob@jabber.org. 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);
		JabberReceive(bob@jabber.org,OPTION,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)
		}
	}
}

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 : http://bugs.digium.com/view.php?id=12569

 
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

https://reviewboard.asterisk.org/ 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 asteriskteam@digium.com.