[asterisk-dev] [Code Review] Support text messages outside of a call

Russell Bryant reviewboard at asterisk.org
Wed Jun 1 15:47:49 CDT 2011



> On 2011-05-23 13:57:40, marcelloceschia wrote:
> > /trunk/main/message.c, line 654
> > <https://reviewboard.asterisk.org/r/1042/diff/6/?file=15922#file15922line654>
> >
> >     this should be
> >     res = strcasecmp(tech_holder->tech->name, tech_holder2->tech->name);
> >     otherwise you will invert this result with the return value
> 
> Russell Bryant wrote:
>     The code looks fine to me.  Can you expand on what you see wrong with this code?
> 
> marcelloceschia wrote:
>     Yes i will try it.
>     
>     Some example: if tech_holder->tech->name is equals to tech_holder2->tech->name you set res to CMP_MATCH | CMP_STOP. Thats fine, but in the return statement you do: 
>     return res ? 0 : CMP_MATCH | CMP_STOP;
>     
>     So if the tech name is equals you set it back to 0

The return statement is just "return res;"


- Russell


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


On 2011-05-31 18:30:54, Russell Bryant wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/1042/
> -----------------------------------------------------------
> 
> (Updated 2011-05-31 18:30:54)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Summary
> -------
> 
> This branch contains a proposal for adding protocol independent support for processing text messages into and out of the dialplan, outside of a call.  The file doc/asterisk-messaging.txt contains more details on the proposal.  The introduction of the document is quoted here:
> 
> "    Asterisk has some limited support today for messaging.  The support that
> exists primarily includes passing text messages in the context of a call.  The
> SIP and IAX2 protocols have support for this, but that's it.
> 
>     There are a couple of other messaging protocols that are supported: Skype
> and XMPP (Jabber).  The support of these is very minimal and not very integrated
> into the architecture of Asterisk since these messages are not in the context of
> a phone call.  They provide a combination of dialplan and manager interface
> interfaces that are specific to each protocol.  There just is no current
> architectural concept of dealing with text messages.
> 
>     The purpose of this proposal is to introduce text messaging into the
> architecture of Asterisk.  For messaging support to exist in the true spirit of
> Asterisk architecture, the design needs to achieve the following two goals:
> 
>     a) Protocol Independence
>     b) Scriptable message routing
> 
>     The rest of this document goes through some details about how these goals
> will be achieved in a way that is both architecturally compatible with Asterisk
> as well as practical to implement."
> 
> ----------
> 
> In addition to the documented proposal, I have made some good progress on implementation.  While the document includes some ideas for future enhancements, what is there so far should be usable.
> 
>  - core modifications to allow sending incoming messages through the dialplan
>  - core modifications to allow outbound messages from the dialplan
>  - modifications to res_jabber to allow inbound and outbound messages in the new architecture
>  - changes to chan_sip to support inbound and outbound MESSAGE outside of a call
> 
> 
> Diffs
> -----
> 
>   /trunk/CHANGES 321522 
>   /trunk/channels/chan_sip.c 321522 
>   /trunk/channels/sip/include/sip.h 321522 
>   /trunk/configs/jabber.conf.sample 321522 
>   /trunk/configs/sip.conf.sample 321522 
>   /trunk/doc/asterisk-messaging.txt PRE-CREATION 
>   /trunk/include/asterisk/_private.h 321522 
>   /trunk/include/asterisk/channel.h 321522 
>   /trunk/include/asterisk/jabber.h 321522 
>   /trunk/include/asterisk/message.h PRE-CREATION 
>   /trunk/main/asterisk.c 321522 
>   /trunk/main/channel.c 321522 
>   /trunk/main/message.c PRE-CREATION 
>   /trunk/res/res_jabber.c 321522 
> 
> Diff: https://reviewboard.asterisk.org/r/1042/diff
> 
> 
> Testing
> -------
> 
> svn/testsuite/asterisk/team/russell/messaging:
>   - This branch of the testsuite contains my tests for this branch, which include:
>     - tests/sip/message_disabled
>       - Ensure MESSAGE outside of a call is rejected when disabled.
>     - tests/sip/message_unauth
>       - When enabled, test sending a MESSAGE to Asterisk and send another back out from the dialplan.
>     - tests/sip/message_auth
>       - Same as the last test, but authenticate MESSAGE both inbound and outbound.
>     - tests/sip/message_from_call
>       - Set up a normal SIP call and send an out of call MESSAGE from the dialplan processing the call
> 
> I have also written some simple apps using the pjsua Python module from pjsip that can send and receive messages sent through Asterisk.
> 
> Lastly, I have done some manual testing of XMPP messages in and out of Asterisk using this code.
> 
> 
> Thanks,
> 
> Russell
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20110601/48f8a010/attachment.htm>


More information about the asterisk-dev mailing list