Help - Search - Members - Calendar
Full Version: rejecting calls
Skype Community > English > Development, Betas and Skype Garage > Skype Public API
rick271828

Is there any way to reject a call without answering it?

thanks...
TheUberOverlord
QUOTE(rick271828 @ Fri Sep 7 2007, 21:22) [snapback]438860[/snapback]

Is there any way to reject a call without answering it?

thanks...


programatically? If yes, then call.Finish();
rick271828
QUOTE(TheUberOverlord @ Sat Sep 8 2007, 14:02) [snapback]438963[/snapback]

programatically? If yes, then call.Finish();


Yes, thanks.

The documentation:

-> SET CALL <id> STATUS FINISHED
<- CALL <id> STATUS FINISHED
...

ERROR 24 Cannot hangup inactive call
Given call is not in progress and therefore can not be hung up.

essentially says that the call must be "in progress" first, which I guess includes "ringing"?



...and generally,
Is there any documentation available that describes semantics in some meaningful and canonical way?


The ...Docs/ApiDoc/* stuff is full of:

Object.setX - sets X on Object
SET CALL <id> SEEN - sets the call to seen

and so on. I am using environment knowledge of how-phones-work, plus the english definition
of terms (hold,forward,ringing, etc), plus a lot of black box testing to deduce behavior. This in
turn becomes the the core algorthmic logic of a/my application, which is uncomfortable indeed.


It is very inefficient, highly likely to be incomplete, and subject to change and therefore heaps-o'-testing
with each new release.

For starters, a documented finite state machine for basic call handling with complete semantics of states and transitions would be a very useful thing for developers and ultimately, I believe, for overall perception of Skype quality.

thanks again,
rick


TheUberOverlord
QUOTE(rick271828 @ Sat Sep 8 2007, 08:54) [snapback]438973[/snapback]

Yes, thanks.

The documentation:

-> SET CALL <id> STATUS FINISHED
<- CALL <id> STATUS FINISHED
...

ERROR 24 Cannot hangup inactive call
Given call is not in progress and therefore can not be hung up.

essentially says that the call must be "in progress" first, which I guess includes "ringing"?
...and generally,
Is there any documentation available that describes semantics in some meaningful and canonical way?


The ...Docs/ApiDoc/* stuff is full of:

Object.setX - sets X on Object
SET CALL <id> SEEN - sets the call to seen

and so on. I am using environment knowledge of how-phones-work, plus the english definition
of terms (hold,forward,ringing, etc), plus a lot of black box testing to deduce behavior. This in
turn becomes the the core algorthmic logic of a/my application, which is uncomfortable indeed.
It is very inefficient, highly likely to be incomplete, and subject to change and therefore heaps-o'-testing
with each new release.

For starters, a documented finite state machine for basic call handling with complete semantics of states and transitions would be a very useful thing for developers and ultimately, I believe, for overall perception of Skype quality.

thanks again,
rick


If you doubt me, and would like to see call.finish() end a call before being answered, you can do this by installing an extra I created called "Call Transfer" a Call Transfer example for Skype by doing this from the Skype client window:

Tools -> Do More -> Get Extras -> Community -> Green Arrow on Call Transfer.

Once installed, call yourself using your SkypeIn number or by running a second copy of Skype using "Run As" as another Windows User Id.

I don't think you will see pure State Machine examples anytime soon, but you are also more than welcome to see the source code and entire C# project of the "Call Transfer" example for Skype Extra here:

http://testing.onlytherightanswers.com/mod...icle&sid=56

I think the statement that a call cannot be hung up if the call is NOT is progress is a true statement, in the sense that if the CALL Id is no longer a call in some call state you cannot hang up a call never started or already completed.

I personally think it is always good to have something running along side your application being tested to show you what, if any status messages have been or could have been seen by your application. This is one reason why I created this example. Of course, people should add event handlers that apply to them as well to this excample I created, so that can see what status messages are available for event handlers I may not have included.

Here is another program that I created in C# that has source and the entire Project to do this as well as the compiled .exe to use:

http://share.skype.com/sites/devzone/2006/...r_skype4co.html
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.