[OpenSIPS-Users] XCAP scalability: Integrated xcap server VS xcap_client mode

Iñaki Baz Castillo ibc at aliax.net
Wed Aug 26 01:49:12 CEST 2009


Hi, I've read somewhere (but cannot find it right now) that integrated xcap 
mode (presence module getting XCAP documents vía SQL) is suitable for small 
environments.

I know that the other way, using xcap_client module, is not really suitable 
for now as the HTTP request is blocking (the opensips process gets blocked 
until the XCAP server replies). But let's imagine this issue is solved.

So we have two options:

1) Integrated server: OpenSIPS presence module gets the documents from the 
xcap table.

2) XCAP client mode: OpenSIPS acts as a xcap client to get the documents from 
the XCAP server.


In the option 1:
- OpenSIPS does a SQL query to get the document (faster than a HTTP request).
- So the XCAP server is not queried by the presence server (less work for the 
XCAP server).
- There could be various XCAP servers running at the same time (perhaps DNS 
random or a http proxy between clients and XCAP servers), all of them storing 
the documents in same DB. And the presence document uses directly that DB.


In the option 2:
- OpenSIPS must perform a HTTP request which takes more time than a SQL 
request (even if the DB is in other host), right?
- The XCAP server receives a XCAP request from the presence server, so the 
XCAP server must "work".
- The xcap client would contact just an unique XCAP server (it would learn the 
IP after the first DNS resolution, so ramdom DNS is not valid here).
  - Solution: Using a HTTP proxy between OpenSIPS and various XCAP servers.


Is it really the option 2 more suitable in order to favour scalability and big 
environments?



-- 
Iñaki Baz Castillo <ibc at aliax.net>



More information about the Users mailing list