Here's another followup to an e-mail discussion with Emil, where I told him
about a feature which I have added to my private branch of SIP Communicator.
We thought that would be of general interest.
* I've added a ProtocolProviderServiceSipNoRegistrarImpl, which allows
to make P2P SIP calls without having to register with a SIP registrar
(it just fakes the REGISTERED state of the
This is also very nice, but I wonder what would be the best way to add
it to SIP Communicator. A separate provider would virtually mean
branching the sip protocol implementation and then making sure that all
bug fixes to one of the branches, are also copied to the other.
Couldn't we somehow add this as an option in the wizard?
Alternately, if you don't have the time to work on it any more, we could
create an optional downloadable plugin and make it available as soon as
we have our online repository.
My change to the existing code isn't really big. I've refactored the
ProtocolProviderServiceSipImpl into an
AbstractProtocolProviderServiceSipImpl with implementations
ProtocolProviderFactorySipImpl chooses the implementation to use when
loading the account based on a new account property NO_REGISTRAR. This
property could be set by the account wizard. The
ProtocolProviderServiceSipNoRegistrarImpl simply doesn't contain the
registering code of the ProtocolProviderServiceSipImpl and say it is
registered at once when the register method is called. It also does only
support the OperationSetBasicTelephony and OperationSetDTMF, since I don't
know if the others will work without a registrar and didn't need them.
If you are interested in this functionality, I could prepare a patch.
Someone else would have to do the work of adapting the account wizard to
support the option of not using a wizard, since unfortunately I don't have
the time to do this.