Bug 241189 - would like more resolution on failure of Skype provider
Summary: would like more resolution on failure of Skype provider
Status: CLOSED INVALID
Alias: None
Product: ECF
Classification: RT
Component: ecf.providers (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: ecf.core-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: helpwanted
Depends on:
Blocks:
 
Reported: 2008-07-17 02:12 EDT by Mike Greenawalt CLA
Modified: 2019-10-17 15:11 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Greenawalt CLA 2008-07-17 02:12:04 EDT
I chanced to try to make a call from voice tools project using ECF Skype provider when I had actually quit the Skype client on my machine, so it was not running. The provider code expects the Skype client to be running in order to do its thing. I received a ContainerCreateException exception at the point of trying to create the SkypeContainer, which is OK. However, it would be really good to be able to tell from the response what caused the exception. If I could tell that the problem was because Skype was not running, I could report that to the user so he would know to start the client code before trying again.

It may be that the answer to this lies in the Skype4Java code rather than the ECF code.
Comment 1 Mike Greenawalt CLA 2008-12-15 03:02:14 EST
Here is a more concrete example of a problem:  When making a call via Skype, one connects to the Skype client and sends a command to initiate the CALL. Once the call is established, there are status messages sent back from the Skype client to the calling software. A very important one is the one that says FINISHED, the call is over. Others report various statuses and errors. 

I don't see how there is a mechanism to capture these status messages in the Skype4Java and ECF code. Making a call from ECF starts with the sendCallRequest() method of SkypeCallContainerAdapter. That uses the call() method of the Skype class (part of Skype4Java). The call() method then eventually accesses the execute() method of the Connector class. Inside the execute() method a ConnectorListener listener is setup that basically listens for the messages coming back from the Skype client. After the first response to executing the Skype command, the listener is removed from the listener list of the Connector, and the execute() method returns. Thus, the call is active, but there does not seem to be any way for the status messages to be received. I am having a bit of trouble because I do not seem to be able to find a way to programmatically determine if the call is FINISHED, or died due to ERROR, or indeed is still active.
Comment 2 Scott Lewis CLA 2008-12-15 12:09:26 EST
(In reply to comment #1)
> Here is a more concrete example of a problem:  When making a call via Skype,
> one connects to the Skype client and sends a command to initiate the CALL. Once
> the call is established, there are status messages sent back from the Skype
> client to the calling software. A very important one is the one that says
> FINISHED, the call is over. Others report various statuses and errors. 
> 
> I don't see how there is a mechanism to capture these status messages in the
> Skype4Java and ECF code. Making a call from ECF starts with the
> sendCallRequest() method of SkypeCallContainerAdapter. That uses the call()
> method of the Skype class (part of Skype4Java). The call() method then
> eventually accesses the execute() method of the Connector class. Inside the
> execute() method a ConnectorListener listener is setup that basically listens
> for the messages coming back from the Skype client. After the first response to
> executing the Skype command, the listener is removed from the listener list of
> the Connector, and the execute() method returns. Thus, the call is active, but
> there does not seem to be any way for the status messages to be received. I am
> having a bit of trouble because I do not seem to be able to find a way to
> programmatically determine if the call is FINISHED, or died due to ERROR, or
> indeed is still active.
> 

This sounds like a limitation/bug in Skype4Java (i.e. perhaps the ConnectorListener should not be removed?).  I'm adding ECF committer Marcelo Mayworm to this bug, as he has recently been interacting directly with Koji Hosano the author of Skype4Java.  Marcelo, would you please forward this issue onto Koji along with the other things we are discussing with him?

Mike if you wish to, you could interact with Koji and Marcelo directly...although if you do please keep all informed via this bug.


Comment 3 Scott Lewis CLA 2019-10-17 15:11:09 EDT
Skype provider made obsolete