Hi
All,
I want to contribute
to upcoming features of Repro. My main interest is in Presence Server. I am
thinking of implementing a presence Sever with buddy list kind of feature for
the event = presence only. There is one design related issue which i want to
discuss in this forum.
First approach is to modify repro itself. Currently when SUBSCRIBE message is
received, from Agent B for the status of Agent A (A@xxxxxxxxx) it is passed directly to Agent A. It
is not handled by DUM. We modified repro and added SUBSCRIBE in the
supported message profile of DUM (for event=presence only). Now when SUBSCRIBE
is received it is handled by DUM and existing functionality of Severtransaction
is used. Since existing ServerSubscriptionHandler is an abstract class, i
inherited that class and over loaded those pure virtual functions.
With this approach we are modifying Repro which enables us to use existing
functionality of Registrar, DUM and Server/Client Transactions. The problem with
this approach is when INVITE is received repro will act as a proxy which is not
acceptable from a Presence Server. It is kind of putting Registrar/Presence
Server/Proxy in the same bundle. Presence server functionality can be made
optional with some compile time flags.
Second approach is to use DUM and stack classes and build Presence Server
as an application without touching Repro. But i see some code is already
written under presSvr directory.
I want to know which
approach would be suitable as my main goal is to contribute to the open source
without any duplication of work.
We are currently 2
people working on this and can spend 4 to 5 hrs per day for 3
months.
Thanks,
Vivek