From 87db51656a500a85128e2eec00861d23d51b98cb Mon Sep 17 00:00:00 2001 From: Ingo Bauersachs Date: Tue, 28 Jun 2016 23:47:49 +0200 Subject: [PATCH] Add a few improvements for reg-less SIP accounts - Fix contact addresses not allowing a domain/port - No failure while subscribing to MWI without an address - On timeout, don't disconnect (there's no connection anyway...) --- .../communicator/impl/protocol/sip/ContactSipImpl.java | 2 +- .../protocol/sip/OperationSetMessageWaitingSipImpl.java | 4 ++++ .../protocol/sip/ProtocolProviderServiceSipImpl.java | 9 +++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/net/java/sip/communicator/impl/protocol/sip/ContactSipImpl.java b/src/net/java/sip/communicator/impl/protocol/sip/ContactSipImpl.java index 7f30e4fd0..d4662dd89 100644 --- a/src/net/java/sip/communicator/impl/protocol/sip/ContactSipImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/sip/ContactSipImpl.java @@ -172,7 +172,7 @@ void setParentGroup(ContactGroupSipImpl newParentGroup) public String getAddress() { SipURI sipURI = (SipURI) sipAddress.getURI(); - return sipURI.getUser() + "@" + sipURI.getHost(); + return sipURI.toString().substring(sipURI.getScheme().length() + 1); } /** diff --git a/src/net/java/sip/communicator/impl/protocol/sip/OperationSetMessageWaitingSipImpl.java b/src/net/java/sip/communicator/impl/protocol/sip/OperationSetMessageWaitingSipImpl.java index 28fce2806..7972ee88b 100644 --- a/src/net/java/sip/communicator/impl/protocol/sip/OperationSetMessageWaitingSipImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/sip/OperationSetMessageWaitingSipImpl.java @@ -209,6 +209,10 @@ public void registrationStateChanged(RegistrationStateChangeEvent evt) try { subscribeAddress = getSubscribeAddress(); + if (subscribeAddress == null) + { + return; + } } catch (ParseException e) { diff --git a/src/net/java/sip/communicator/impl/protocol/sip/ProtocolProviderServiceSipImpl.java b/src/net/java/sip/communicator/impl/protocol/sip/ProtocolProviderServiceSipImpl.java index a978de8c0..009af86c1 100644 --- a/src/net/java/sip/communicator/impl/protocol/sip/ProtocolProviderServiceSipImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/sip/ProtocolProviderServiceSipImpl.java @@ -279,6 +279,10 @@ else if (((SipUri) address.getURI()).getUser().equals(contactId)) { return true; } + else if (address.toString().equals(address.getURI().getScheme() + ":" + contactId)) + { + return true; + } else { result.add(SipActivator.getResources().getI18NString( @@ -2765,6 +2769,11 @@ else if(connection.getNextAddress()) */ protected void notifyConnectionFailed() { + if (sipRegistrarConnection.isRegistrarless()) + { + return; + } + if(getRegistrationState().equals(RegistrationState.REGISTERED) && sipRegistrarConnection != null) sipRegistrarConnection.setRegistrationState(