This sounds redundant and intrusive. We already have a concept of namespace within the chat username which is used for routing. we prefix the namespace into the user id such as conf+1234@domain.com This allows conference to get messages from sip, xmpp or any other protocol that supports chat. When a from user on chat contains +: each module just parses the inbound chat message, cuts off the proto "everything up to the first +" in this case conf and routes it to the module registered to that namespace. Right now conference will advertise it's presence and receive chat of the word list and respond with the list despite the protocol used, eg sip, jabber etc. Also chat messages are routed to individual calls when they are associated with an active channel allowing you to use chat inside IVR. I recommend trying to understand all of this before proposing drastic changes that will regress all of this functionality. On Sun, Jul 3, 2011 at 6:49 PM, Kurtis Heimerl <kheimerl@cs.berkeley.edu> wrote:
Hello Freeswitch-dev!
I've recently begin modifying Sofia to support a chat "dialplan", very similar to the voice dialplan. Basically, a chat/sms will come in at a certain number/address and be routed via the dialplan. My current plan for doing this is as follows:
1) Add message events to sofia: I want sofia (and eventually all chat clients) to send message events through FS's event framework when an event arrives. 2) Remove message routing from Sofia: Sofia should not be routing messages itself. Instead, it should just generate the event saying a message has arrived and someone else should do the routing (namely my dialplan) 3) Implement a simple chat dialplan module that listens for message events and routes them according to an XML dialplan.
I have some questions for the FS developer community.
First, building my own module is conceptually simple. Modifying Sofia is not. What's the best way to go about making these changes? I could submit extension tickets (e.g., a configuration variable that adds messages and one that removes routing), or submit patches, or both. I think this could be broadly useful, and I want to try to contribute to the community.
Secondly, I'm having a little difficulty finding the place where messages are routed in sofia. That's probably the place to insert both 1 & 2. Any pointers would be appreciated.
Thanks!
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE
FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org googletalk:conf+888@conference.freeswitch.org pstn:+19193869900