jitsi/jitsi — pull request #51 by dpocock (2014-08-09 11:00:13+00:00)
Title: Adapt high-level API to allow calls without registration

This contribution does not change existing behavior unless the new account property MUST_REGISTER_TO_CALL is set to false (the default is true), e.g

```
net.java.sip.communicator.impl.protocol.sip.acc00001.MUST_REGISTER_TO_CALL=false
```

These are the high-level changes required, I suspect some low-level change may also be required as it doesn't currently work for TLS, when trying to make a call without being registered, it fails with the exception below. Any feedback about this change would be very welcome.

```
[java] java.lang.IllegalArgumentException: invalid transport
[java]	at net.java.sip.communicator.impl.protocol.sip.SipStackSharing.getJainSipProvider(SipStackSharing.java:474)
[java]	at net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl.getJainSipProvider(ProtocolProviderServiceSipImpl.java:1573)
[java]	at net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl.getDefaultJainSipProvider(ProtocolProviderServiceSipImpl.java:1952)
[java]	at net.java.sip.communicator.impl.protocol.sip.SipMessageFactory.createInviteRequest(SipMessageFactory.java:724)
[java]	at net.java.sip.communicator.impl.protocol.sip.SipMessageFactory.createInviteRequest(SipMessageFactory.java:864)
[java]	at net.java.sip.communicator.impl.protocol.sip.CallSipImpl.invite(CallSipImpl.java:357)
[java]	at net.java.sip.communicator.impl.protocol.sip.OperationSetBasicTelephonySipImpl.createOutgoingCall(OperationSetBasicTelephonySipImpl.java:173)
[java]	at net.java.sip.communicator.impl.protocol.sip.OperationSetBasicTelephonySipImpl.createCall(OperationSetBasicTelephonySipImpl.java:118)
[java]	at net.java.sip.communicator.service.protocol.media.AbstractOperationSetBasicTelephony.createCall(AbstractOperationSetBasicTelephony.java:111)
[java]	at net.java.sip.communicator.impl.protocol.sip.UriHandlerSipImpl.handleUri(UriHandlerSipImpl.java:313)
[java]	at net.java.sip.communicator.impl.argdelegation.ArgDelegationPeerImpl.handleUri(ArgDelegationPeerImpl.java:186)
[java]	at net.java.sip.communicator.util.launchutils.ArgDelegator.handleUri(ArgDelegator.java:62)
[java]	at net.java.sip.communicator.util.launchutils.LaunchArgHandler.handleConcurrentInvocationRequestArgs(LaunchArgHandler.java:557)
[java]	at net.java.sip.communicator.util.launchutils.SipCommunicatorLock$LockServerConnectionProcessor.run(SipCommunicatorLock.java:827)
```