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

Russell Bryant reviewboard at asterisk.org
Sat Mar 5 18:06:29 CST 2011



> On 2011-03-04 17:27:20, David Vossel wrote:
> > /trunk/main/message.c, lines 783-794
> > <https://reviewboard.asterisk.org/r/1042/diff/5/?file=15808#file15808line783>
> >
> >     Take a look at main/format.c and how I handle storing and finding the attribute interfaces.  I made a wrapper called interface_ao2_wrapper that allowed me to guarantee the module was still in memory when I wanted to use it.

I took a look, but it actually looks to me like it's possible for a module to be unloaded while an attribute interface is being used.  Let's look at this together on Monday.


- Russell


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


On 2011-03-04 16:56:22, Russell Bryant wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/1042/
> -----------------------------------------------------------
> 
> (Updated 2011-03-04 16:56:22)
> 
> 
> 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 309638 
>   /trunk/channels/chan_sip.c 309638 
>   /trunk/channels/sip/include/sip.h 309638 
>   /trunk/configs/jabber.conf.sample 309638 
>   /trunk/configs/sip.conf.sample 309638 
>   /trunk/doc/asterisk-messaging.txt PRE-CREATION 
>   /trunk/include/asterisk/_private.h 309638 
>   /trunk/include/asterisk/channel.h 309638 
>   /trunk/include/asterisk/jabber.h 309638 
>   /trunk/include/asterisk/message.h PRE-CREATION 
>   /trunk/main/asterisk.c 309638 
>   /trunk/main/channel.c 309638 
>   /trunk/main/message.c PRE-CREATION 
>   /trunk/res/res_jabber.c 309638 
> 
> 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/20110306/aac47a02/attachment.htm>


More information about the asterisk-dev mailing list