i read xmpp module documentation. i think i understood it except for one thing. it says:
You can run an instance of OpenSER on a separate machine or on different port with the following config, and have the main SIP server configured to forward all SIP requests for XMPP world to it. the question is, how do i know which messages i should sent to xmpp world? ideally, a user should be able to use both sip and xmpp clients. at minimum, it should be possible in the same domain to use both clients. so i cannot tell based on host part or r-uri if the uri belongs to an xmpp client or a sip client. looks like the current solution is two way two level addressing: sip:username<delim>[EMAIL PROTECTED] sip_username<delim>[EMAIL PROTECTED] this is fine for testing purposes, but in longer run we should be able to get rid of two levels. if r-uri host of sip request is local, sip proxy could fork the request to sip client(s) and sip-xmpp gw assuming an external xmpp server is used. i don't know if forking could also be done the other way in external xmpp server so that request from xmpp world could be sent to both xmpp client(s) and through gateway to sip clients. support for both sip and xmpp clients in local domains would be easier if sip im/presence server could be integrated with xmpp server. i don't know how big development effort that would be. jabberd2 is written in c, so perhaps most of the code could be re-used. then the integrated server would be able to support both sip and xmpp clients using the same user database. with radius, the latter is easy already now without any new code. if r-uri of sip request belongs to foreign domain, then we would need to make some dns SRV queries to figure out if the foreign domain supports sip and/or xmpp. if both, it should be possible to send the request to the foreign server using the same protocol it came in to local sip proxy/xmpp server. comments? -- juha _______________________________________________ Devel mailing list [email protected] http://openser.org/cgi-bin/mailman/listinfo/devel
