[asterisk-dev] [Code Review] New application JabberReceive, implement SendText in chan_gtalk and chan_jingle

Philippe Sultan philippe.sultan at gmail.com
Sun Sep 13 15:33:17 CDT 2009


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/88/#review1064
-----------------------------------------------------------



/trunk/CHANGES
<https://reviewboard.asterisk.org/r/88/#comment2596>

    I will catch those unnecessary whitespaces in a future diff!



/trunk/res/res_jabber.c
<https://reviewboard.asterisk.org/r/88/#comment2595>

    Since more than one thread can wait for the condition to be signalled, I wonder if we should call ast_cond_broadcast here instead.
    
    Indeed, the calling threads parse the whole messages list to retrieve the one they're waiting for (in acf_jabberreceive_read), so broadcasting the condition seems reasonable here.
    
    I need to have a reviewer's advice here!


- Philippe


On 2009-09-12 17:03:18, Philippe Sultan wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/88/
> -----------------------------------------------------------
> 
> (Updated 2009-09-12 17:03:18)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Summary
> -------
> 
> 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 at 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 at jabber.org,Call from $CALLERID(num) - choose an option to process the call);
> 		JabberSend(asterisk-xmpp,bob at jabber.org,1 : forward to cellphone);
> 		JabberSend(asterisk-xmpp,bob at jabber.org,2 : forward to work phone);
> 		JabberSend(asterisk-xmpp,bob at jabber.org,Default action : forward to your voicemail);
> 		JabberReceive(bob at jabber.org,OPTION,20);
> 		switch (${OPTION}) {
> 			case 1:
> 	  			JabberSend(asterisk-xmpp,bob at jabber.org,(Calling cellphone...);
> 				Dial(SIP/987654321);
> 				break;
> 			case 2:
> 				JabberSend(asterisk-xmpp,bob at 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
> 
> 
> This addresses bug 12569.
>     https://issues.asterisk.org/view.php?id=12569
> 
> 
> Diffs
> -----
> 
>   /trunk/CHANGES 218149 
>   /trunk/channels/chan_gtalk.c 218149 
>   /trunk/channels/chan_jingle.c 218149 
>   /trunk/configs/jabber.conf.sample 218149 
>   /trunk/doc/jabber.txt 218149 
>   /trunk/include/asterisk/jabber.h 218149 
>   /trunk/res/res_jabber.c 218149 
> 
> Diff: https://reviewboard.asterisk.org/r/88/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Philippe
> 
>




More information about the asterisk-dev mailing list