Hi Duane,

On Apr 26, 2012, at 9:48 AM, [email protected] wrote:

> I wanted to get everyones opinion on what they think is the best way to 
> implement Presence with an IM client. Is it possible to do the following 
> 

Disclaimer: I'm quite biased here, for obvious reasons :-)

> Use SIP for VoIP (obviously) and use XMPP for IM. I would want to make sure 
> that OpenSIPS could send Notify information to the XMPP clients telling them 
> that someone is currently on the phone. I know you can use the pua_dialoginfo 
> module to publish info about dialog states but I am not sure if what I am 
> thinking (SIP with XMPP integration) is possible. So on OpenSIPS you would 
> have a multidomain setup and the same would go for XMPP. So user 
> [email protected] would be set up on both OpenSIPS and XMPP. Bob's XMPP 
> client (pidgin or whatever) would have buddies from companyA.com. XMPP would 
> work as normal when it came to IM's and Presence, but I want to make it so 
> that if [email protected] calls someone OpenSIPS sends a XMPP Notify to the 
> XMPP server and then the XMPP server notifies bob and his client shows that 
> alice is busy or on phone or whatever. 
> 
> Is this possible? If so how would Bob subscribe to Alice so that he could see 
> her XMPP Client Presence along with her phone dialog presence and it be a 
> single buddy on his list? 
> 

If you use SIP for VoIP and XMPP for IM you are effectively using 2 protocols, 
thus you'll have a SIP account and an XMPP account.

When you login with your XMPP account you use a resource identifier, so the 
full JID looks something like this: [email protected]/resource. Now, you say you 
want OpenSIPS to publish presence information for this XMPP account, but how do 
we know to what resource it applies? This would require cooperation between 
your SIP proxy and your XMPP server.

I think you have 2 ways to do this, depending if you go dual-stack or 
single-stack:

Dual-stack (SIP for VoIP, XMPP for IM):
    - Make the client update the presence state every time you are on a call. 
Each client could do this and since presence is per-device it makes sense.
    - If you want to go this path you may want to check CUSAX 
(http://tools.ietf.org/html/draft-ivov-xmpp-cusax-00) from the Jitsi folks.

Single stack (SIP for everything):
    - Use SIP for VoIP, IM and presence and a gateway to communicate with the 
XMPP universe
    - The gateway must be transparent, that is, subscribing to 
sip:[email protected] is out of the question

We are currently working in a transparent XMPP gateway in order to seamlessly 
communicate with XMPP from a SIP client. You can find more details here: 
http://sipsimpleclient.com/projects/sipsimpleclient/wiki/DesignXMPP


Regards,

--
Saúl Ibarra Corretgé
AG Projects




_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to