[sip-comm-dev] handling operation failed exception in createOutgoingCall


#1

Hi Yana,

When an OperationFailedException is thrown in OperationSetBasicTelephony.createOutgoingCall(),
it is possible that the gui don't close and remove the call panel because it is waiting that the state of the
callparticiapant that we are trying to join switch to

CallParticipantState.FAILED

But, in some case, this change will never occur because an OperationFailedException
can be triggered in a stage where we do not already have a CallParticipant and
therefore, it is impossible to raise the event that cause this change.**

···

++

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#2

Hello World,

It looks like the shutting down for the ProtocolProviderJabberImpl has
been forgotten in ProtocolProviderFactoryJabberImpl.stop()

This little patch try to fix that.

I also replace a loop on the registeredAccounts by the equivalent function
in java.util.Hastable

regards

PS : I think the line 287 in ProtocolProviderFactorySipImpl
    Enumeration idEnum = registeredAccounts.keys();
is useless, isn't it?

ProtocolProviderFactoryJabber.java.patch (1.65 KB)


#3

Hi Sympho,

nice catch! Thanks!

it should be fixed now. Please have a try and let me know if it works as expected now.

I have also updated the Contributors page on sip-communicator.org with your effort.

Yana

Sympho wrote:

···

Hi Yana,

When an OperationFailedException is thrown in OperationSetBasicTelephony.createOutgoingCall(),
it is possible that the gui don't close and remove the call panel because it is waiting that the state of the
callparticiapant that we are trying to join switch to

CallParticipantState.FAILED

But, in some case, this change will never occur because an OperationFailedException
can be triggered in a stage where we do not already have a CallParticipant and
therefore, it is impossible to raise the event that cause this change.**

++

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#4

Hi Yana,

Yana Stamcheva a �crit :

Hi Sympho,

nice catch! Thanks!

it should be fixed now. Please have a try and let me know if it works as expected now.

It seems to work fine :slight_smile:

I have attached a very little patch to fix a small error when we try to call a contact which do not
support telephony. The problem :

We have at line 237 in CallManager.java
                            if (contact != null)
                                telephonyContacts.add(contact);
                            else
                            {
and in the else clause the "contact" variable, which is null, is used to retrieve the
the contact's display name. The solution is to use the Metacontact insteed.

CallManager.java.patch (1.52 KB)

···

++

I have also updated the Contributors page on sip-communicator.org with your effort.

Yana

Sympho wrote:

Hi Yana,

When an OperationFailedException is thrown in OperationSetBasicTelephony.createOutgoingCall(),
it is possible that the gui don't close and remove the call panel because it is waiting that the state of the
callparticiapant that we are trying to join switch to

CallParticipantState.FAILED

But, in some case, this change will never occur because an OperationFailedException
can be triggered in a stage where we do not already have a CallParticipant and
therefore, it is impossible to raise the event that cause this change.**

++

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#5

Hi Sympho,

ha, nice catch:) I've committed your fix.

Thanks,
Yana

Sympho wrote:

···

Hi Yana,

Yana Stamcheva a �crit :

Hi Sympho,

nice catch! Thanks!

it should be fixed now. Please have a try and let me know if it works as expected now.

It seems to work fine :slight_smile:

I have attached a very little patch to fix a small error when we try to call a contact which do not
support telephony. The problem :

We have at line 237 in CallManager.java
                           if (contact != null)
                               telephonyContacts.add(contact);
                           else
                           {
and in the else clause the "contact" variable, which is null, is used to retrieve the
the contact's display name. The solution is to use the Metacontact insteed.

++

I have also updated the Contributors page on sip-communicator.org with your effort.

Yana

Sympho wrote:

Hi Yana,

When an OperationFailedException is thrown in OperationSetBasicTelephony.createOutgoingCall(),
it is possible that the gui don't close and remove the call panel because it is waiting that the state of the
callparticiapant that we are trying to join switch to

CallParticipantState.FAILED

But, in some case, this change will never occur because an OperationFailedException
can be triggered in a stage where we do not already have a CallParticipant and
therefore, it is impossible to raise the event that cause this change.**

++

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

------------------------------------------------------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net