0% found this document useful (0 votes)
1K views

Skype+Developer+ +Skype+Desktop+API+Reference+Manual

Skype Developer - Skype Deskt op API Referen ce M an u al You have reached the cached page for api reference. This is a snapshot of the Web page as it appeared on 03.06.2013 (the last time our crawler visited it) to see what might have changed (without the highlights), go to the current page.

Uploaded by

Jonathan Cortes
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views

Skype+Developer+ +Skype+Desktop+API+Reference+Manual

Skype Developer - Skype Deskt op API Referen ce M an u al You have reached the cached page for api reference. This is a snapshot of the Web page as it appeared on 03.06.2013 (the last time our crawler visited it) to see what might have changed (without the highlights), go to the current page.

Uploaded by

Jonathan Cortes
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Youhavereachedthecachedpageforhttp://dev.skype.com/desktop api reference BelowisasnapshotoftheWebpageasitappearedon03.06.2013(thelasttimeourcrawlervisitedit).Thisistheversionofthepagethatwasusedforranking yoursearchresults.Thepagemayhavechangedsincewelastcachedit.Toseewhatmighthavechanged(withoutthehighlights),gotothecurrentpage.


Bingisnotresponsibleforthecontentofthispage.

Search

documentation

support

my tools & downloads

Sign In

Skype Desktop API Reference Manual


(Formerly known as Skype Public API) Quick link to the full index of this reference.

Desktop API (Accessories)


Overview T erms of Use API Reference Certification Forums

Purpose of this guide


T his document describes the Skype application programming interface (API) for Windows, the Skype APIs for Linux and Mac, and provides a reference guide for the Skype developer community.

Tools & Downloads


T racer Skype4COM

Who reads this guide?


Skypes developer community who work with us to enrich the Skype experience and extend the reach of free telephone calls on the internet.

What is in this guide?


T his document contains the following information:
Overview of the Skype API Using the Skype API on Windows Using the Skype API on Linux Using the Skype API on Mac Skype protocol Skype reference T erminology Commands Objects Object properties General parameters Notifications Error codes Skype URI Skype release notes

More information
Share ideas and information on the Skype Desktop API forum on the Skype websites.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT&

1/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Legal information
T his document is the property of Skype T echnologies S.A. and its affiliated companies (Skype) and is protected by copyright and other intellectual property rights laws in Luxembourg and abroad. Skype makes no representation or warranty as to the accuracy, completeness, condition, suitability, or performance of the document or related documents or their content, and shall have no liability whatsoever to any party resulting from the use of any of such documents. By using this document and any related documents, the recipient acknowledges Skypes intellectual property rights thereto and agrees to the terms above, and shall be liable to Skype for any breach thereof. For usage restrictions please read the user license agreement (EULA).

Text notation
T his document uses m o n o s p a c efont to represent code, file names, commands, objects and parameters. T he following text conventions apply for syntax:
C A L L uppercase text indicates a keyword, such as command, notification, and object. p r o p e r t y lowercase text indicates a category of a keyword < u s e r n a m e > angle brackets indicate an identifier, such as username or call id [ < t a r g e t > ] square brackets identify optional items * asterisk indicates repetitive items | vertical bar means or > command issued by client (used in examples) < - response or notification from Skype (used in examples) / / comment line (used in examples)

Overview of the Skype API


T he Skype API provides a mechanism for 3rd party scripts, applications and devices to control Skype UI functions and implement additional or improved features to complement the Skype. T he API has two layers:
Communication Layer is a set of methods for external application to establish connection to Skype client and communicate with it. Command Protocol Layer is a text-based language that external applications can use to speak to the Skype client, once communication channel is established by Communication Layer.

Additionally, there are several Skype API wrapper libraries that encapsulate the functionality of Skype API. Such wrappers can act as optional third layers.

Communication Layer
Communication Layer provides a mechanism for external application to communicate with Skype. T his layer is platform-dpendant a transport mechanism to exchange data with Skype is different on Windows, Linux and Mac operating systems. For more information on how to implement communication layers for different operating systems, see following sections of this document:
Using the Skype API on Windows Using the Skype API on Linux Using the Skype API on Mac

Once your application has attached itself to Skype via Communication Layer, it can forget all about it and proceed with talking to Skype, using Protocol layer commands.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT&

2/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Protocol Layer
T he Protocol Layer is a language of commands that Skype knows how to respond to. T he syntax of that language is described in Skype API reference portion of this documument. Commands sent to Skype must be in UT F-8 format. T o get a better feel how the command protocol works, you should start by downloading the Skype API T racer program. Once you get that program running (and have authorised its connection to the API in Skype UI) you can play around with commands you can find in the Commands section. For example, you can query various properties of a contact record (User object) like this:
> g e t u s e r e c h o 1 2 3 b i r t h d a y < U S E R e c h o 1 2 3 B I R T H D A Y 0 > g e t u s e r e c h o 1 2 3 i s _ v i d e o _ c a p a b l e < U S E R e c h o 1 2 3 I S _ V I D E O _ C A P A B L E F A L S E

A test call to Skypes call testing service using API would look approximately like that:
> c a l l e c h o 1 2 3 < C A L L 1 4 6 6 2 S T A T U S U N P L A C E D < C A L L 1 4 6 6 2 S T A T U S U N P L A C E D < C A L L 1 4 6 6 2 S T A T U S R O U T I N G < U S E R e c h o 1 2 3 C O U N T R Y U n i t e d K i n g d o m < U S E R e c h o 1 2 3 C O U N T R Y U n i t e d K i n g d o m < U S E R e c h o 1 2 3 C O U N T R Y < C A L L 1 4 6 6 2 S T A T U S R I N G I N G < U S E R e c h o 1 2 3 C O U N T R Y U n i t e d K i n g d o m < C A L L 1 4 6 6 2 V A A _ I N P U T _ S T A T U S F A L S E < C A L L 1 4 6 6 2 S T A T U S I N P R O G R E S S < C A L L 1 4 6 6 2 D U R A T I O N 1 < C A L L 1 4 6 6 2 D U R A T I O N 2 < C A L L 1 4 6 6 2 D U R A T I O N 3 < C A L L 1 4 6 6 2 S T A T U S F I N I S H E D

Wrappers
While text based command protocol is more universal, using pre-built libraries is easier to start with. We have had three API wrapper libraries: Skype4COM, Skype4Py and Skype4Java. Currently, only Skype4COM wrapper is still supported.

Skype API on Windows


When developing applications to work with Skype, follow these general guidelines:
Give intuitive names to executable files (.exe files) because this name is displayed to the user for confirmation. If the name is unclear, the user might not allow the application to access Skype. Sign applications with VeriSigns CodeSigning certificate. T he application must support the N A M Ecommand and publish its name. Skype for Windows sends and receives API commands using W M _ C O P Y D A T Amessages. Use the R e g i s t e r W i n d o w M e s s a g emethod to register the following messages: S k y p e C o n t r o l A P I D i s c o v e r S k y p e C o n t r o l A P I A t t a c h T o initiate communication, a client application broadcasts the S k y p e C o n t r o l A P I D i s c o v e rmessage, including its window handle as a w P a r a mparameter. Skype responds with a S k y p e C o n t r o l A P I A t t a c h message to the specified window and indicates the connection status with one of the following values: S K Y P E C O N T R O L A P I _ A T T A C H _ S U C C E S S = 0 T he client is attached and the API window handle is provided in w P a r a mparameter. S K Y P E C O N T R O L A P I _ A T T A C H _ P E N D I N G _ A U T H O R I Z A T I O N = 1 Skype acknowledges the connection request and is waiting for user confirmation. T he client is not yet attached and must wait for the S K Y P E C O N T R O L A P I _ A T T A C H _ S U C C E S Smessage. S K Y P E C O N T R O L A P I _ A T T A C H _ R E F U S E D = 2 T he user has explicitly denied access to client.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT&

3/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

S K Y P E C O N T R O L A P I _ A T T A C H _ N O T _ A V A I L A B L E = 3 T he API is not available at the moment, for example because no user is currently logged in. T he client must wait for a S K Y P E C O N T R O L A P I _ A T T A C H _ A P I _ A V A I L A B L Ebroadcast before attempting to connect again. When the API becomes available, Skype broadcasts the S K Y P E C O N T R O L A P I _ A T T A C H _ A P I _ A V A I L A B L E= 0 x 8 0 0 1message to all application windows in the system. T he data exchange uses commands (or responses), provided as null-terminated UT F-8 strings. T he terminating 0 must be transferred as well. You cannot combine several messages in one packet. T here is no limit to the length of the transferred string.

Note: T he result of processing the message must be different from z ero (0), otherwise Skype considers that the connection broken. If the API client spends more than 1 second processing a message, the connection is disconnected. Use the P I N Gcommand to test the connection status. T o ease debugging during development, in regedit enter the key A P I T i m e o u t D i s a b l e d( D W O R Dv a l u e ,0= t i m e o u te n a b l e d1=t i m e o u td i s a b l e d )into the H K C U \ S o f t w a r e \ S k y p e \ P h o n e \ U Ifile in the registry to override the 1 second timeout. T o check if Skype is installed, in regedit check if the following key exists: H K C U \ S o f t w a r e \ S k y p e \ P h o n e ,S k y p e P a t h. T his key points to the location of the s k y p e . e x ef i l e. If this key does not exist, check if the H K L M \ S o f t w a r e \ S k y p e \ P h o n e , S k y p e P a t hkey exists. If the H K C Ukey does not exist but the H K L Mkey is present, Skype has been installed from an administrator account but not been used from the current account.

Skype API on Linux


T he Skype API for Linux, version 1.4 uses the Skype protocol 7, with few limitations in comparison to protocol 7 implementation in our Windows version. T he list of unavailable commands can be found at the bottom of this page.

Supported distributions
Skype for Linux runs on the following Linux distributions:
Feisty Fawn (7.04) Debian Etch Mepis Xandros Fedora 7 / Fedora Core 6 OpenSUSE 10+ Mandriva Dynamic / Static / Static OSS T he client may also work with other distributions but has not been tested.

Transport
Use the Skype API for Linux, version 1.3, with either:
D-BUS messaging X11 messaging

Note: X11 messaging is still under development. T he final release of Skype for Linux API, version 1.3, will include examples of working with X11 and a description of the Skype action handler for X11.

X11 messaging

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT&

4/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

T he X11 messaging framework is included in all Linux distributions.

D-BUS messaging
Download the D-BUS libraries, version 0.23 D-BUS behavior in this release is changed from earlier releases, as follows:
D-BUS is disabled by default to avoid startup delays for developers who do not want to use it. T o use D-BUS in a manner that is consistent with earlier versions of the Skype API for Linux, enter the following switches in the command line when you start the Skype client: e n a b l e d b u su s e s y s t e m d b u s

T he second switch is necessary because Skype now uses the session-dbus by default to enable multiple clients to run on one machine simultaneously.

Important: T he Skype for Linux API, version 1.3, beta uses D-BUS version .23. T he next release will move to support for D-BUS version .61+.

If you use RPM Package Manager to install skype, the D-BUS files are automatically configured. If you do not use RPM for the installation, you must create a configuration file as follows:
1. Create a text file named s k y p e . c o n f 2. Save this file to / e t c / d b u s 1 / s y s t e m . d / s k y p e . c o n f 3. Add the following information to the file:
< ! D O C T Y P E b u s c o n f i g P U B L I C " / / f r e e d e s k t o p / / D T D D B U S B u s C o n f i g u r a t i o n 1 . 0 / / E N " " h t t p : / / w w w . f r e e d e s k t o p . o r g / s t a n d a r d s / d b u s / 1 . 0 / b u s c o n f i g . d t d " > < b u s c o n f i g > < p o l i c y c o n t e x t = " d e f a u l t " > < a l l o w o w n = " c o m . S k y p e . A P I " / > < a l l o w s e n d _ d e s t i n a t i o n = " c o m . S k y p e . A P I " / > < a l l o w r e c e i v e _ s e n d e r = " c o m . S k y p e . A P I " / > < a l l o w s e n d _ p a t h = " / c o m / S k y p e " / > < / p o l i c y > < / b u s c o n f i g >

Using the Skype API for Linux


T o access the Skype API from a client application:
T he application passes its name to Skype: >N A M E< a p p l i c a t i o n _ n a m e > Skype pops up the following response to the user:<- wants to talk to Skype. OK?

Important: On Linux, if you use spaces in the application_name, the name is truncated to the space. For example, if the application name is Skype for Java, the message displayed is Skype wants to talk . . .. Also, on Linux it is essential to pass the application name before exchanging protocols, otherwise the connection will not work. If the user selects OK, protocol messages are exchanged:
< O K > P R O T O C O L 5 < P R O T O C O L 5

T he Skype protocol manages the subsequent session.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT&

5/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Note: T he session is associated with the window ID of the Skype API client. If the window is closed for any reason, a new session must be established.

D-BUS usage
D-BUS uses the following:
Service is c o m . S k y p e . A P I Communication paths: T he client-to-Skype path is / c o m / S k y p e . T he Skype-to-client path is / c o m / S k y p e / C l i e n t . Methods are: Use the I n v o k emethod with one string parameter for client-to-Skype commands. Use the N o t i f ymethod for Skype-to-client commands and responses. D-BUS is disabled by default.

Protocol 7 commands currently missing from Linux version


G E T/S E TA V A T A R G E T/S E TP C S P E A K E R G E T/S E TR I N G T O N E G E T/S E TU I _ L A N G U A G E G E T/S E TV I D E O _ I N G E T/S E TW A L L P A P E R G E T/S E TS I L E N T _ M O D E G E TP R E D I C T I V E _ D I A L E R _ C O U N T R Y G E TS K Y P E V E R S I O N G E TU S E R S E TM E N U _ I T E M R I N G E R

Also most of the O P E Ncommands for various Skype UI windows have not been implemented yet.

Skype API on Mac


T he Skype API is available in Skype for Mac OS X starting from version 1.3 and has interfaces for Cocoa, Carbon, and AppleScript. T he Cocoa and Carbon interfaces are implemented in Skype.framework. Skype recommends that you include the Skype framework in your application as an embedded framework. T o do so, copy it into the application bundle and link it to the application. Client applications send string commands to control Skype. T he format of these strings commands is described in the Skype API reference. If you are using a Cocoa or Carbon interface, Skype will send information back to your application by calling asynchronous delegate functions/methods. Below, youll find the instructions specific to Cocoa, Carbon, and AppleScript.

Cocoa
SkypeAPI class

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT&

6/129

18/07/2013
Class methods
+ ( B O O L ) i s S k y p e R u n n i n g

Skype Developer - Skype Deskt op API Referen ce M an u al

T his method returns YES, when Skype is running and NO otherwise.


+ ( v o i d ) s e t S k y p e D e l e g a t e : ( N S O b j e c t < S k y p e A P I D e l e g a t e > * ) a D e l e g a t e

You must design an object to be Skype delegate (see delegate methods below). Use this method to set your object as Skype delegate.
+ ( N S O b j e c t < S k y p e A P I D e l e g a t e > * ) s k y p e D e l e g a t e

Returns the object which is currently set as Skype delegate.


+ ( v o i d ) r e m o v e S k y p e D e l e g a t e

Removes current Skype delegate.


+ ( v o i d ) c o n n e c t

Call this method after you have set Skype delegate. It will try to connect your application to Skype. Delegate method s k y p e A t t a c h R e s p o n s ewill let you know, whether your application was successfully connected or not.
+ ( v o i d ) d i s c o n n e c t

Disconnects your application from Skype.


I n 2 . 5 a n d l a t e r : + ( N S S t r i n g * ) s e n d S k y p e C o m m a n d : ( N S S t r i n g * ) a C o m m a n d S t r i n g I n 1 . 5 : + ( v o i d ) s e n d S k y p e C o m m a n d : ( N S S t r i n g * ) a C o m m a n d S t r i n g

Use this method to control Skype or request information. a C o m m a n d S t r i n gis a Skype API string as described in Skype API protocol documentation. Note, that if you are using Skype.framework 2.5 or later then you have to change your code a little bit compared to 1.5, because in 2.5 sendSkypeCommand returns strings (in 1.5 all information was returned in asynchronous callbacks).

Delegate methods

Required method
/ / d e l e g a t e p r o t o c o l @ p r o t o c o l S k y p e A P I D e l e g a t e ( N S S t r i n g * ) c l i e n t A p p l i c a t i o n N a m e @ e n d

T his method should return the name of your application. T his name will be shown to the user, when your application uses Skype. T he name should not include any version information. Optional methods
/ / d e l e g a t e i n f o r m a l p r o t o c o l @ i n t e r f a c e N S O b j e c t ( S k y p e A P I D e l e g a t e I n f o r m a l P r o t o c o l ) ( v o i d ) s k y p e N o t i f i c a t i o n R e c e i v e d : ( N S S t r i n g * ) a N o t i f i c a t i o n S t r i n g

T his is the main delegate method Skype uses to send information to your application. a N o t i f i c a t i o n S t r i n gis a Skype API string as described in Skype API protocol documentation.
( v o i d ) s k y p e A t t a c h R e s p o n s e : ( u n s i g n e d ) a A t t a c h R e s p o n s e C o d e

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT&

7/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

T his method is called after Skype API client application has called connect. a A t t a c h R e s p o n s e C o d eis 0 on failure and 1 on success.
( v o i d ) s k y p e B e c a m e A v a i l a b l e : ( N S N o t i f i c a t i o n * ) a N o t i f i c a t i o n

T his method is called after Skype has been launched.


( v o i d ) s k y p e B e c a m e U n a v a i l a b l e : ( N S N o t i f i c a t i o n * ) a N o t i f i c a t i o n

T his method is called after Skype has quit.


@ e n d

Guidelines
Design an object in your application to be a Skype delegate. T his object must implement the required delegate method c l i e n t A p p l i c a t i o n N a m e . In order to receive information from Skype, it is recommended that your delegate object also implements the optional delegate methods. T he first method your application should call is s e t S k y p e D e l e g a t e . In most implementations, that will probably be:
[ S k y p e A P I s e t S k y p e D e l e g a t e : s e l f ]

Next, you should call connect. After you have received positive response with s k y p e A t t a c h R e s p o n s e , you can start sending commands to Skype by using s e n d S k y p e C o m m a n d . For example:
[ S k y p e A P I s e n d S k y p e C o m m a n d : @ " C A L L e c h o 1 2 3 " ]

When your application quits or wants to disconnect from Skype, you should call disconnect.

Carbon
In order to use Skype API, you must create a single instance of struct S k y p e D e l e g a t e . If you set callback functions for the members of this struct, then Skype will call these functions to send information to your application. T he only required member of this struct is a string c l i e n t A p p l i c a t i o n N a m e . Here is the definition of S k y p e D e l e g a t e :
s t r u c t S k y p e D e l e g a t e { / / R e q u i r e d m e m b e r C F S t r i n g R e f c l i e n t A p p l i c a t i o n N a m e / / O p t i o n a l m e m b e r s , c a n b e N U L L v o i d ( * S k y p e N o t i f i c a t i o n R e c e i v e d ) ( C F S t r i n g R e f a N o t i f i c a t i o n S t r i n g ) v o i d ( * S k y p e A t t a c h R e s p o n s e ) ( u n s i g n e d i n t a A t t a c h R e s p o n s e C o d e ) v o i d ( * S k y p e B e c a m e A v a i l a b l e ) ( C F P r o p e r t y L i s t R e f a N o t i f i c a t i o n ) v o i d ( * S k y p e B e c a m e U n a v a i l a b l e ) ( C F P r o p e r t y L i s t R e f a N o t i f i c a t i o n ) }

Description
C F S t r i n g R e f c l i e n t A p p l i c a t i o n N a m e

T his string should be the name of your application. It will be shown to the user, when your application uses Skype. T he name should not include any version information.
v o i d ( * S k y p e N o t i f i c a t i o n R e c e i v e d ) ( C F S t r i n g R e f a N o t i f i c a t i o n S t r i n g )

T his is the main delegate function Skype uses to send information to your application.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT&

8/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

a N o t i f i c a t i o n S t r i n gis a Skype API string as described in Skype API protocol documentation.


v o i d ( * S k y p e A t t a c h R e s p o n s e ) ( u n s i g n e d i n t a A t t a c h R e s p o n s e C o d e )

T his function is called after Skype API client application has called C o n n e c t T o S k y p e . a A t t a c h R e s p o n s e C o d eis 0 on failure and 1 on success.
v o i d ( * S k y p e B e c a m e A v a i l a b l e ) ( C F P r o p e r t y L i s t R e f a N o t i f i c a t i o n )

T his function is called after Skype has been launched.


v o i d ( * S k y p e B e c a m e U n a v a i l a b l e ) ( C F P r o p e r t y L i s t R e f a N o t i f i c a t i o n )

T his function is called after Skype has quit. You should define the functions like this:
v o i d S k y p e N o t i f i c a t i o n R e c e i v e d ( C F S t r i n g R e f a N o t i f i c a t i o n S t r i n g ) { } v o i d S k y p e A t t a c h R e s p o n s e ( u n s i g n e d i n t a A t t a c h R e s p o n s e C o d e ) { } v o i d S k y p e B e c a m e A v a i l a b l e ( C F P r o p e r t y L i s t R e f a N o t i f i c a t i o n ) { } v o i d S k y p e B e c a m e U n a v a i l a b l e ( C F P r o p e r t y L i s t R e f a N o t i f i c a t i o n ) { }

and you can set them as members of your S k y p e D e l e g a t estruct like so:
S k y p e D e l e g a t e m y S k y p e D e l e g a t e m y S k y p e D e l e g a t e . S k y p e N o t i f i c a t i o n R e c e i v e d = S k y p e N o t i f i c a t i o n R e c e i v e d m y S k y p e D e l e g a t e . S k y p e A t t a c h R e s p o n s e = S k y p e A t t a c h R e s p o n s e m y S k y p e D e l e g a t e . S k y p e B e c a m e A v a i l a b l e = S k y p e B e c a m e A v a i l a b l e m y S k y p e D e l e g a t e . S k y p e B e c a m e U n a v a i l a b l e = S k y p e B e c a m e U n a v a i l a b l e m y S k y p e D e l e g a t e . c l i e n t A p p l i c a t i o n N a m e = C F S T R ( " M y C a r b o n A p p " )

Skype API methods


B o o l e a n I s S k y p e R u n n i n g ( v o i d )

T his function returns T RUE, when Skype is running and FALSE otherwise.
v o i d S e t S k y p e D e l e g a t e ( s t r u c t S k y p e D e l e g a t e * a D e l e g a t e )

You must design a struct to be Skype delegate (see S k y p e D e l e g a t edescription above). Use this function to set your struct as Skype delegate.
s t r u c t S k y p e D e l e g a t e * G e t S k y p e D e l e g a t e ( v o i d )

Returns the struct which is currently set as Skype delegate.


v o i d R e m o v e S k y p e D e l e g a t e ( v o i d )

Removes current Skype delegate.


v o i d C o n n e c t T o S k y p e ( v o i d )

Call this function after you have set Skype delegate. It will try to connect your application to Skype. Delegate callback function s k y p e A t t a c h R e s p o n s ewill let you know, whether your application was successfully connected or not.
v o i d D i s c o n n e c t F r o m S k y p e ( v o i d )

Disconnects your application from Skype.


C F S t r i n g R e f S e n d S k y p e C o m m a n d ( C F S t r i n g R e f a C o m m a n d S t r i n g )

Use this function to control Skype or request information. a C o m m a n d S t r i n gis a Skype

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT&

9/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

API/span> string as described in Skype API protocol documentation. In Skype.framework 2.6.0.142 and later: CFStringRef !SendSkypeCommand(CFStringRef aCommandString); Older versions: void !SendSkypeCommand(CFStringRef aCommandString); Note, that if you are using Skype.framework 2.6.0.142 or later then you have to change your code a little bit compared to older versions, because in 2.6.0.142 !SendSkypeCommand returns strings (previously all information was returned in asynchronous callbacks). Skype versions 2.5 and higher know how to return info synchronously. So, if you want to support Skype version 1.5, then you still have to listen to asynchronous callbacks.

Guidelines
T he first method your application should call is S e t S k y p e D e l e g a t e , where a D e l e g a t eis your S k y p e D e l e g a t estruct. In most implementations, that will probably be:
S e t S k y p e D e l e g a t e ( & a m p m y C a r b o n D e l e g a t e )

Next, you should call C o n n e c t T o S k y p e . After you have received positive response with S k y p e A t t a c h R e s p o n s e , you can start sending commands to Skype by using S e n d S k y p e C o m m a n d . For example:
S e n d S k y p e C o m m a n d ( C F S T R ( " C A L L e c h o 1 2 3 " ) )

When your application quits or wants to disconnect from Skype, you should call D i s c o n n e c t F r o m S k y p e .

AppleScript
T here is just one command for Skype API, but it is a very powerful command, because you can send any the command strings as specified in Skype API protocol documentation to control Skype or request information.

Examples
t e l l a p p l i c a t i o n " S k y p e " * s e n d c o m m a n d " M E S S A G E e c h o 1 2 3 c h e c k " s c r i p t n a m e " M y S c r i p t " e n d t e l l t e l l a p p l i c a t i o n " S k y p e " * s e n d c o m m a n d " C A L L e c h o 1 2 3 " s c r i p t n a m e " M y O t h e r S c r i p t " e n d t e l l

Skype protocol
T he Skype protocol is currently in its seventh version. Starting with protocol 1 (the first Skype protocol) a new version is created only when new commands become incompatible with existing commands. T he protocol number does not increase when new commands are introduced but existing commands remain unchanged.

Protocol 8
Protocol 8 is the current version of the Skype protocol.
New CALL ST AT US enumerator W A I T I N G _ R E D I A L _ C O M M A N D .

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

10/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

New CALL ST AT US enumerator R E D I A L _ P E N D I N G . New SMS FAILUREREASON enumerator N O _ S E N D E R I D _ C A P A B I L I T Y . Sending chat messages and C H A TC R E A T Ecommands may now fail with a new error code: 615, CHAT : chat with given contact is disabled.

Protocol 7
Call transfer API, We have two new CALL statuses: T R A N S F E R R I N G | T R A N S F E R R E D Modified CHAT MESSAGE property T YPE enumerations:

T Y P E=P O S T E D C O N T A C T S | G A P _ I N _ C H A T | S E T R O L E | K I C K E D | S E T O P T I O N S | K I C K B A N N E D | J O I N E D A S A P P L I C A N T | S E T P I C T U R E | S E T G U I D E L I N E S

Protocol 6
VOICEMAIL command enters deprecation process and is replaced by CALLVOICEMAIL command.

Protocol 5
Protocol 5 is the current version of the Skype protocol and is used by the following versions of Skype:
2.0 Windows 1.4.0.84 Windows 1.3.0.33 Windows and Mac T his protocol introduced multiperson chat commands, one-to-one video calls, call forwarding, and contact grouping.

Protocol 4
Protocol 4 is used by the following versions of Skype:
1.2.0.11 Windows 1.1.0.3 Windows and Linux T his protocol introduced ISO code prefixes for language and country.

Protocol 3
Protocol 3 is used by the following version of Skype:
1.1.0.61 Windows T his protocol introduced a compatibility layer for previous versions of instant messaging.

Protocol 2
Protocol 2 is used by the following version of Skype:
1.0.0.94 T his protocol implemented the following changes: Introduced the S K Y P E M Eonline status For calls on hold, notifies clients with either L O C A L H O L Dor R E M O T E H O L D. Protocol 1 simply returned O N H O L D.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

11/129

18/07/2013
Introduces the call status, C A N C E L L E D.

Skype Developer - Skype Deskt op API Referen ce M an u al

Protocol 1 and 2 compatibility


If the requested protocol is smaller than 3, all incoming commands are converted as follows:
S E A R C HM E S S A G E S S E A R C HC H A T M E S S A G E S S E A R C HM I S S E D M E S S A G E S S E A R C HM I S S E D C H A T M E S S A G E S G E TM E S S A G E G E TC H A T M E S S A G E S E TM E S S A G E S E TC H A T M E S S A G E T he G E TM E S S A G Eproperties are also converted: P A R T N E R _ H A N D L E F R O M _ H A N D L E P A R T N E R _ D I S P N A M E F R O M _ D I S P N A M E All API notification (including G E T / S E TM E S S A G E) replies are converted: C H A T M E S S A G E*F R O M _ H A N D L E x M E S S A G E*P A R T N E R _ H A N D L Ex C H A T M E S S A G E*F R O M _ D I S P N A M E x M E S S A G E*F R O M _ D I S P N A M Ex C H A T M E S S A G E*p r o p e r t y x M E S S A G E*p r o p e r t yx If the protocol is less than 3, S E A R C HM E S S A G E Sand S E A R C HM I S S E D M E S S A G E Scommands return string M E S S A G E S1, 2, 3.

Skype API reference


T he Skype API reference is a guide for developers working with the Skype Desktop API.

Terminology
T he Skype API reference uses the following terms:
T he Skype access API is also known as the Skype control API. T he client application issues a command to control Skype. In reply to some commands, Skype returns a synchronous response. Not all commands require a response. Responses are documented under their relevant commands. Skype objects and their properties are described in Objects section of this reference. A notification is an asynchronous message Skype sends to a client when a change occurs, for example when a contact comes online or a new chatmessage is received. Skype has general parameters to control the setup, current user and connection information. Connectable users are online Skype users who are in the client contact list and also non-contacts who are in active communication with the client.

Commands
T his section provides a reference to the commands used in Skype.

Command identifiers
A command identifier is useful to identify a response to a specific command. A command identifier is supported by most commands and is included in the response. Syntax # < c o m m a n d _ i d >c o m m a n d Response # < c o m m a n d _ i d >r e s p o n s e | e r r o r Parameters c o m m a n d _ i d client assigned alphanumeric identifier

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

12/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Errors all possible errors for a given command Version Protocol 4 Notes
A command identifier is not included in asynchronous notification events initiated by a command. Asynchronous commands usually return a synchronous response with the command id. When the command is processed an asynchronous notification is also sent A response may come not directly after the command because there can other messages can be received between command and response.

Examples Simple response to command


> # A B G E T U S E R S T A T U S < # A B U S E R S T A T U S O N L I N E

Invalid command with reported error


> # 1 2 3 G E T X Z Y < # 1 2 3 E R R O R 7 G E T : i n v a l i d W H A T

Command response and notification


> # c m d 1 1 S E T U S E R S T A T U S O N L I N E / / t h i s i s t h e r e s p o n s e f o r t h e c o m m a n d < # c m d 1 1 U S E R S T A T U S O N L I N E / / t h i s i s n o t i f i c a t i o n w h e n t h e c o m m a n d i s a c t u a l l y p r o c e s s e d < U S E R S T A T U S O N L I N E

Command response and notification are asynchronous


> # 5 0 C A L L + 1 8 0 0 5 5 5 1 2 3 4 / / n o t e t h a t e v e n t s c a n a r r i v e b e f o r e r e s p o n s e < C A L L 6 5 1 S T A T U S R O U T I N G < # 5 0 C A L L 6 5 1 S T A T U S R O U T I N G < C A L L 6 5 1 P S T N _ S T A T U S 1 0 5 0 3 S e r v i c e U n a v a i l a b l e / / t h e f o l l o w i n g e v e n t s d o n o t h a v e a c o m m a n d i d < C A L L 6 5 1 F A I L U R E R E A S O N 1 < C A L L 6 5 1 S T A T U S F A I L E D

Notifications can appear between command-response


> # 5 0 P I N G / / n o t e t h a t o t h e r e v e n t s c a n a r r i v e b e f o r e c o m m a n d r e s p o n s e < U S E R e c h o 1 2 3 L A S T O N L I N E T I M E S T A M P 1 1 0 5 7 6 4 6 7 8 < U S E R e c h o 1 2 3 F U L L N A M E E c h o T e s t S e r v i c e < U S E R t e s t L A S T O N L I N E T I M E S T A M P 1 1 0 5 4 8 7 9 6 5 / / N o w c o m e s S k y p e r e s p o n s e t o c o m m a n d < # 5 0 P O N G

Making and managing voice calls


T his section describes the commands for making and managing voice calls. Refer to Making and managing video calls for a description of video call commands. Refer to Call failure reasons for a list of all reasons for call failure.

CALL

Syntax

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

13/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

C A L L< t a r g e t > [ ,< t a r g e t > ] * Response C A L L< c a l l _ I D >< s t a t u s > Parameters < t a r g e t > targets to be called. In case of multiple targets conference is created. Available target types:
U S E R N A M E Skype username, e.g. pamela, echo123 P S T N PST N phone number, e.g. +18005551234, 003725555555 S P E E DD I A LC O D E 1 or 2 character speeddial code

Errors
E R R O R3 4i n v a l i du s e rh a n d l e T arget username/number missing or contains invalid characters E R R O R3 9u s e rb l o c k e d T rying to call to a blocked user (unblock user in contactlist) E R R O R7 3t o om a n yp a r t i c i p a n t s Call is initiated to more than 9 people E R R O R9 2c a l le r r o r Call is initiated to a number that is neither PST N number nor a speeddial number

Version Protocol 1 Notes T he Skype call window is focused when a call is initiated through the API. It is possible to make speed dial calls via the API. Example
> C A L L e c h o 1 2 3 < C A L L 1 4 0 2 S T A T U S R O U T I N G < C A L L 1 4 0 2 S U B J E C T < C A L L 1 4 0 2 S T A T U S R O U T I N G < C A L L 1 4 0 2 S T A T U S R I N G I N G < C A L L 1 4 0 2 S T A T U S I N P R O G R E S S < C A L L 1 4 0 2 D U R A T I O N 1 < C A L L 1 4 0 2 S T A T U S F I N I S H E D

GET CALL

Syntax G E TC A L L< i d >p r o p e r t y Response C A L L< i d >p r o p e r t y< v a l u e > Parameters and response values
< i d > call ID (numeric); p r o p e r t y property name. Refer to CALL object for the list of properties.

Errors
E R R O R7G E T :i n v a l i dW H A T Object name missing or misspelled. E R R O R1 1I n v a l i dc a l li d ID includes other than numeric characters. E R R O R1 2U n k n o w nc a l l Call with specified ID does not exist in current users call history. E R R O R1 3I n v a l i dp r o p Property name missing or misspelled. E R R O R7 1I n v a l i dc o n f e r e n c ep a r t i c i p a n tN O Conference participants number is not a number or is too big

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

14/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Version Protocol 1 Example


> G E T C A L L 1 5 9 4 T Y P E < C A L L 1 5 9 4 T Y P E O U T G O I N G _ P 2 P

SET CALL INPROGRESS

T his enables you to resume a call, for example after placing it on hold. Syntax: >S E TC A L L< i d >S T A T U SI N P R O G R E S S < -C A L L< i d >S T A T U SI N P R O G R E S S Parameters: < i d > call ID (numeric) Errors
E R R O R1 9I n v a l i dc a l li d ID includes other than numeric characters E R R O R2 0U n k n o w nc a l l Call with specified ID does not exist E R R O R2 3C a n n o tr e s u m et h i sc a l la tt h em o m e n t Given call is not ringing and therefore can not be answered.

SET CALL FINISHED

T erminates the call. Syntax: >S E TC A L L< i d >S T A T U SF I N I S H E D < -C A L L< i d >S T A T U SF I N I S H E D Parameters: < i d > call ID (numeric) Errors
E R R O R1 9I n v a l i dc a l li d ID includes other than numeric characters E R R O R2 0U n k n o w nc a l l Call with specified ID does not exist in current users call history nor is active. E R R O R2 4C a n n o th a n g u pi n a c t i v ec a l l Given call is not in progress and therefore can not be hung up.

SET CALL ONHOLD

Places a call on hold. You can later resume the call by setting the state to I N P R O G R E S S . Syntax: >S E TC A L L< i d >S T A T U SO N H O L D < -C A L L< i d >S T A T U SO N H O L D Parameters:

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

15/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

< i d > call ID (numeric), possible values: Note that from Protocol 2 and up, S E TC A L LO N H O L Dresults in two possible status responses:
L O C A L H O L D call was placed on hold by local user R E M O T E H O L D call was placed on hold by remote user

Errors
E R R O R1 9I n v a l i dc a l li d ID includes other than numeric characters E R R O R2 0U n k n o w nc a l l T he call ID does not exist in current users call history nor is it active. E R R O R2 2C a n n o th o l dt h i sc a l la tt h em o m e n t Given call is not in progress and therefore can not be placed on hold. E R R O R2 3C a n n o tr e s u m et h i sc a l la tt h em o m e n t Given call is not on hold and therefore can not be resumed.

SET CALL JOIN CONFERENCE

Syntax S E TC A L L< j o i n i n g _ i d >J O I N _ C O N F E R E N C E< m a s t e r _ i d > Response C A L L< i d >C O N F _ I D< c o n f e r e n c e _ i d > Parameters
< j o i n i n g _ i d > call ID (numeric) to join into; < m a s t e r _ i d > master call ID, where is another calls ID.

Errors
E R R O R1 9I n v a l i dc a l li d ID includes other than numeric characters E R R O R2 0U n k n o w nc a l l Call with specified ID does not exist in current users call history nor is active. E R R O R7 2C a n n o tc r e a t ec o n f e r e n c e Creating conference, for example " S E TC A L L6 5J O I N _ C O N F E R E N C E6 6" fails for some reason.

Note
It is possible to initate a conference with the C A L Lt a r g e t 1 ,t a r g e t 2command

Example
/ / m a k e f i r s t c a l l > C A L L t e s t < C A L L 1 5 4 0 S T A T U S R O U T I N G < C A L L 1 5 4 0 S U B J E C T < C A L L 1 5 4 0 S T A T U S R O U T I N G < C A L L 1 5 4 0 S T A T U S R I N G I N G < C A L L 1 5 4 0 S T A T U S I N P R O G R E S S / / s e t f i r s t c a l l o n h o l d . . . > S E T C A L L 1 5 4 0 S T A T U S O N H O L D < C A L L 1 5 4 0 S T A T U S I N P R O G R E S S < C A L L 1 5 4 0 S T A T U S O N H O L D / / . . a n d m a k e a n o t h e r c a l l > C A L L e c h o 1 2 3 < C A L L 1 5 4 5 S T A T U S R O U T I N G < C A L L 1 5 4 5 S U B J E C T < C A L L 1 5 4 5 S T A T U S R O U T I N G < C A L L 1 5 4 5 S T A T U S R I N G I N G < C A L L 1 5 4 5 S T A T U S I N P R O G R E S S / / j o i n s e c o n d c a l l ( 1 5 4 5 ) i n t o c o n f e r e n c e w i t h f i r s t c a l l ( 1 5 4 0 ) > S E T C A L L 1 5 4 5 J O I N _ C O N F E R E N C E 1 5 4 0 < C A L L 1 5 4 5 C O N F _ I D 1 7 9 3 0

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

16/129

18/07/2013
< C A L L 1 5 4 5 C O N F _ I D 1 7 9 3 0 < C A L L 1 5 4 0 C O N F _ I D 1 7 9 3 0

Skype Developer - Skype Deskt op API Referen ce M an u al

/ / f i r s t c a l l i s a u t o m a t i c a l l y r e s u m e d a n d j o i n e d t o c o n f e r e n c e < C A L L 1 5 4 0 S T A T U S I N P R O G R E S S / / . . . < C A L L 1 5 4 0 D U R A T I O N 5 3 < C A L L 1 5 4 0 S T A T U S F I N I S H E D < C A L L 1 5 4 5 D U R A T I O N 2 3 < C A L L 1 5 4 5 S T A T U S F I N I S H E D

SET CALL DT MF

Sends DT MF specified in parameter to the call target. Syntax: >S E TC A L L< i d >D T M F< v a l u e > < -S E TC A L L< i d >D T M F< v a l u e > Parameters:
< i d > call ID (numeric) < v a l u e > permitted symbols are: {0..9,#,*}.

When sending DT MF codes manually, with the dialpad buttons on the Call Phones tab of the Skype UI, these DT MF codes are displayed on the address bar, below dialpad. T his is not the case while sending DT MF codes with S E TC A L LD T M Fcommand. If you want your programmatically sent DT MF codes to be displayed on the address bar, you can use B T N _ R E L E A S E Dcommand instead of S E TC A L LD T M F . When used during an active call, B T N _ R E L E A S E Dwith appropriate parameter {0..9,#,*} will cause equivalent DT MF code to be sent to the remote party of that call. Note that this will only work if the Call Phones tab (dialpad) is active. On active Call tab, the DT MF codes will still be sent but the keys will not be displayed on the address bar. On Contacts tab, the keys will be added to the address bar but no DT MF codes will be sent. T herefore, if you want to use B T N _ R E L E A S E Dfor sending DT MF codes, you will need to make sure the Skype UI has Call Phones as active tab. T his you can do with O P E ND I A L P A D command. Notes
DT MF support and quality for PST N calls depends on terminating partner. T his command does not accept multiple symbols in its parameter.

Errors
E R R O R1 9I n v a l i dc a l li d ID includes other than numeric characters E R R O R2 0U n k n o w nc a l l Call with specified ID does not exist in current users call history nor is it active. E R R O R2 1U n k n o w n / d i s a l l o w e dc a l lp r o p DT MF property value is incorrect or misspelled

SET CALL SEEN

Syntax S E TC A L L< i d >S E E N Response C A L L< i d >S E E NT R U E Parameters < i d > call ID (numeric)

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

17/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Errors
E R R O R1 9I n v a l i dc a l li d ID includes other than numeric characters E R R O R2 0U n k n o w nc a l l Call with specified ID does not exist in current users call history nor is active.

Example
> S E T C A L L 1 5 S E E N < C A L L 1 5 S E E N T R U E

ALT ER CALL

T he A L T E RC A L Lcommand controls call status. Syntax:


A L T E R C A L L x x x { A N S W E R | H O L D | R E S U M E | H A N G U P | E N D { H A N G U P | R E D I R E C T _ T O _ V O I C E M A I L | F O R W A R D _ C A L L } / / f o r a n i n c o m i n g r i n g i n g c a l l | D T M F < 0 | 1 | . . | 9 | * | # > | T R A N S F E R | J O I N _ C O N F E R E N C E < c a l l I D > }

Refer to ALT ER CALL T RANSFER command for more information on altering the T R A N S F E R property. Command feedback for A L T E RC A L Lalways includes echoing back the original command, usually followed by status change notifications, specific to particular commands. Example:
> A L T E R C A L L 1 7 1 9 H A N G U P < A L T E R C A L L 1 7 1 9 H A N G U P < C A L L 1 7 1 9 S T A T U S F I N I S H E D

Version Protocol 5

GET CALL CAN_T RANSFER

Returns T RUE or FALSE, depending on whether a call can be transferred. Syntax: >G E TC A L L< i d >C A N _ T R A N S F E R< h a n d l e > < -C A L L< i d >C A N _ T R A N S F E R< h a n d l e >{ T R U E | F A L S E } Example:
> G E T C A L L 1 0 3 4 C A N _ T R A N S F E R + 3 7 2 1 2 3 4 5 6 7 < C A L L 1 0 3 4 C A N _ T R A N S F E R + 3 7 2 1 2 3 4 5 6 7 F A L S E

Version Protocol 7 (API version 3.0)

ALT ER CALL T RANSFER

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

18/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Used for transferring an incoming call. Note that call transfers only work with incoming calls to SkypeIn numbers if you have Skype Pro subscription. Syntax: >A L T E RC A L L< i d >T R A N S F E Rh a n d l e 1 [ ,h a n d l e 2. . ] < -A L T E RC A L L< i d >T R A N S F E R If multiple handles are passed in parameters, first one to answer the call will get the transfer. T o better describe the call transfer mechanism, lets assume there are three participants in a call: A, B and C.
A calls B B transfers the call to C A and C can now talk.

T he A L T E RC A L LT R A N S F E Rcommand is issued by B, to create a call between A and C. T o check whether it is possible to transfer the call from A, B can use GET CALL CAN_T RANSFER command. Note that it is caller B (transferring party) who has to determine, whether a call is transferable. Relevant CALL object ST AT US property values:
T R A N S F E R R I N G seen by B, this status is set while the call between A and C is in progress) T R A N S F E R R E D seen by B, terminating status of the call. Set after either the transferred call has ended or B does END/HANGUP;

Relevant CALL object properties:


T R A N S F E R _ A C T I V E seen by A, indicates whether the call has been transferred. T R A N S F E R _ S T A T U S seen by B the call status while the call is being transferred, it is relayed from A side continuously until the call has ended or when B decides to do CALL ALT ER END. Ending call on B side will not terminate the call between A and C, just the status updates. T R A N S F E R R E D _ B Y seen by C, contains identity of B. T R A N S F E R R E D _ T O seen by both A and B; contains identity of C.

Example:
/ / / / I n t h i s e x a m p l e , u s e r T e s t i s c a l l i n g u s e r T e s t 3 . T e s t 3 t h e n t r a n s f e r s t h e c a l l t o T e s t 2 . / / N o t e t h a t f o r b e t t e r c l a r i t y , c a l l h e a r t b e a t m e s s a g e s a r e r e m o v e d . / / F o l l o w i n g p o r t i o n o f l o g i s f r o m p e r s p e c t i v e o f t h e f i r s t o u t g o i n g c a l l f r o m u s e r T e s t . > C A L L T e s t 3 < C A L L 6 2 6 S T A T U S U N P L A C E D < C A L L 6 2 6 S T A T U S R O U T I N G < C A L L 6 2 6 S T A T U S R I N G I N G < C A L L 6 2 6 T R A N S F E R _ A C T I V E T R U E < C A L L 6 2 6 S T A T U S R O U T I N G < C A L L 6 2 6 T R A N S F E R R E D _ T O T e s t 2 < C A L L 6 2 6 S T A T U S R I N G I N G < C A L L 6 2 6 V A A _ I N P U T _ S T A T U S F A L S E < C A L L 6 2 6 S T A T U S I N P R O G R E S S < C A L L 6 2 6 V I D E O _ S T A T U S V I D E O _ N O N E < C A L L 6 2 6 S T A T U S F I N I S H E D / / / / T h i s p o r t i o n o f t h e l o g i s f r o m p e r s p e c t i v e o f T e s t 3 ( w h o w i l l t r a n s f e r i t t o T e s t 2 ) < C A L L 2 8 8 C O N F _ I D 0 < C A L L 2 8 8 S T A T U S R I N G I N G < C O N T A C T S F O C U S E D / / / / C h e c k i n g h e r e i f i t i s p o s s i b l e t o t r a n s f e r t h i s c a l l t o T e s t 2 > G E T C A L L 2 8 8 C A N _ T R A N S F E R T e s t 2 < C A L L 2 8 8 C A N _ T R A N S F E R t e s t 2 T R U E / / / / T r a n s f e r r i n g c a l l t o T e s t 2 > A L T E R C A L L 2 8 8 T R A N S F E R T e s t 2 < A L T E R C A L L 2 8 8 T R A N S F E R T e s t 2 < C A L L 2 8 8 S T A T U S I N P R O G R E S S

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

19/129

18/07/2013
< C A L L 2 8 8 T R A N S F E R R E D _ T O T e s t 2 < C A L L 2 8 8 T R A N S F E R _ S T A T U S U N P L A C E D < C A L L 2 8 8 T R A N S F E R _ S T A T U S R O U T I N G < C A L L 2 8 8 T R A N S F E R _ S T A T U S R I N G I N G < C A L L 2 8 8 T R A N S F E R _ S T A T U S I N P R O G R E S S < C A L L 2 8 8 S T A T U S F I N I S H E D < C A L L 2 8 8 V A A _ I N P U T _ S T A T U S F A L S E

Skype Developer - Skype Deskt op API Referen ce M an u al

/ / / / T h i s p o r t i o n o f t h e l o g i s f r o m p e r s p e c t i v e o f T e s t 2 ( r e c e i v e r o f t h e t r a n s f e r r e d c a l l ) < C A L L 1 2 1 8 C O N F _ I D 0 < C A L L 1 2 1 8 S T A T U S R I N G I N G < C O N T A C T S F O C U S E D > A L T E R C A L L 1 2 1 8 A N S W E R < A L T E R C A L L 1 2 1 8 A N S W E R < C A L L 1 2 1 8 S T A T U S I N P R O G R E S S < C A L L 1 2 1 8 V I D E O _ S T A T U S V I D E O _ N O N E < C A L L 1 2 1 8 V A A _ I N P U T _ S T A T U S F A L S E / / / / C h e c k i n g u p w h o i t w a s t h a t t r a n s f e r r e d t h i s c a l l . . > G E T C A L L 1 2 4 0 T R A N S F E R R E D _ B Y < C A L L 1 2 4 0 T R A N S F E R R E D _ B Y T e s t 3 < C A L L 1 2 1 8 S T A T U S F I N I S H E D

Version Protocol 7 (API version 3.0)

Call failure reasons Code 1 Description C A L L1 8 1 F A I L U R E R E A S O N 1 C A L L1 8 1 F A I L U R E R E A S O N 2 Possible reason Miscellaneous error

User or phone number does not exist. Check that a prefix is entered for the phone number, either in the form 003725555555 or +3725555555; the form 3725555555 is incorrect. User is offline

3 C A L L1 8 1 F A I L U R E R E A S O N 3 4 C A L L1 8 1 F A I L U R E R E A S O N 4 C A L L1 8 1 F A I L U R E R E A S O N 5 C A L L1 8 1 F A I L U R E R E A S O N 6 C A L L1 8 1 F A I L U R E R E A S O N 7 C A L L1 8 1 F A I L U R E R E A S O N 8 C A L L1 8 1 F A I L U R E R E A S O N 9 C A L L1 8 1 F A I L U R E R E A S O N 1 0

No proxy found

Session terminated.

No common codec found.

Sound I/O error.

Problem with remote sound device.

Call blocked by recipient.

10

Recipient not a friend.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

20/129

18/07/2013
11 C A L L1 8 1 F A I L U R E R E A S O N 1 1 C A L L1 8 1 F A I L U R E R E A S O N 1 2 C A L L1 8 1 F A I L U R E R E A S O N 1 3 C A L L1 8 1 F A I L U R E R E A S O N 1 4

Skype Developer - Skype Deskt op API Referen ce M an u al


Current user not authoriz ed by recipient.

12

Sound recording error.

13

Failure to call a commercial contact.

14

Conference call has been dropped by the host. Note that this does not normally indicate abnormal call termination. Call being dropped for all the participants when the conference host leavs the call is expected behaviour.

Sending and managing SMS messages


T his section describes the commands for creating and managing SMS messages. Refer to SMS object section for a list of SMS object properties.

CREAT E SMS

T his command creates an SMS object. Syntax: >C R E A T ES M S< t y p e >< t a r g e t > Where target is a valid PST N number and type can be one of the following:
O U T G O I N G normal outbound SMS. C O N F I R M A T I O N _ C O D E _ R E Q U E S T Refer to [#SMS_NUMBER_VALIDAT ION SMS reply-to validation] for more information. C O N F I R M A T I O N _ C O D E _ S U B M I T Refer to [#SMS_NUMBER_VALIDAT ION SMS reply-to validation] for more information.

Refer to
Creating an SMS message section for more information (including format of feedback notifications). SMS object section for a list of SMS object properties.

Version Added in API version 2.5

SET SMS BODY

T his command sets or changes the text of an existing SMS object. Syntax: >S E TS M S< i d >B O D Y" t e x t " Where is an SMS object ID returned from C R E A T ES M Scommand and text is the SMS message text. Refer to
Creating an SMS message section for more information. SMS object section for a list of SMS object properties.

Version Added in API version 2.5

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

21/129

18/07/2013
ALT ER SMS SEND

Skype Developer - Skype Deskt op API Referen ce M an u al

T his command sends a composed SMS message to the server. Syntax: >A L T E RS M S< i d >S E N D Where is SMS object ID. Refer to
Creating an SMS message section for more information. SMS object section for a list of SMS object properties.

Version Added in API version 2.5

SET SMS SEEN

T his command sets an SMS object as SEEN. Syntax: >S E TS M S< i d >S E E N Where is an SMS object ID. Refer to
SMS object section for a list of SMS object properties.

Version Added in API version 2.5

Creating an SMS message

T o create, compose and send an SMS message, use C R E A T ES M S ,S E TS M Sand A L T E RS M S commands. Refer to SMS object section for a list of SMS object properties. Example:
/ / / / H e r e w e c r e a t e a n e w S M S o b j e c t i n s t a n c e > C R E A T E S M S O U T G O I N G + 0 1 2 3 4 5 6 7 8 9 < S M S 8 2 1 S T A T U S C O M P O S I N G < S M S 8 2 1 P R I C E 0 < S M S 8 2 1 T I M E S T A M P 0 < S M S 8 2 1 P R I C E _ P R E C I S I O N 3 < S M S 8 2 1 P R I C E _ C U R R E N C Y E U R < S M S 8 2 1 S T A T U S C O M P O S I N G < S M S 8 2 1 T A R G E T _ N U M B E R S + 0 1 2 3 4 5 6 7 8 9 < S M S 8 2 1 P R I C E 1 < S M S 8 2 1 T A R G E T _ S T A T U S E S + 0 1 2 3 4 5 6 7 8 9 = T A R G E T _ A N A L Y Z I N G < S M S 8 2 1 T A R G E T _ S T A T U S E S + 0 1 2 3 4 5 6 7 8 9 = T A R G E T _ A C C E P T A B L E < S M S 8 2 1 P R I C E 7 8 / / / / T h i s i s h o w t o s e t t h e m e s s a g e t e x t p r o p e r t y / / N o t e t h a t y o u w i l l g e t t w o i d e n t i c a l l i n e s i n r e s p o n s e > S E T S M S 8 2 1 B O D Y " t e s t 1 2 3 t e s t 2 2 3 t e s t 3 3 3 " < S M S 8 2 1 B O D Y " t e s t 1 2 3 t e s t 2 2 3 t e s t 3 3 3 " < S M S 8 2 1 B O D Y " t e s t 1 2 3 t e s t 2 2 3 t e s t 3 3 3 " / / / / N o w l e t s t r y t o s e n d t h e m e s s a g e

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

22/129

18/07/2013
> A L T E R S M S 8 2 1 S E N D < A L T E R S M S 8 2 1 S E N D < S M S 8 2 1 S T A T U S S E N D I N G _ T O _ S E R V E R < S M S 8 2 1 T I M E S T A M P 1 1 7 4 0 5 8 0 9 5

Skype Developer - Skype Deskt op API Referen ce M an u al

< S M S 8 2 1 T A R G E T _ S T A T U S E S + 0 1 2 3 4 5 6 7 8 9 = T A R G E T _ A C C E P T A B L E < S M S 8 2 1 T A R G E T _ S T A T U S E S + 0 1 2 3 4 5 6 7 8 9 = T A R G E T _ D E L I V E R Y _ F A I L E D < S M S 8 2 1 F A I L U R E R E A S O N I N S U F F I C I E N T _ F U N D S < S M S 8 2 1 S T A T U S F A I L E D < S M S 8 2 1 I S _ F A I L E D _ U N S E E N T R U E / / / / A s s e n d i n g t h e m e s s a g e f a i l e d ( n o t e n o u g h S k y p e c r e d i t ) , / / l e t s d e l e t e t h e m e s s a g e > D E L E T E S M S 8 2 1 < D E L E T E S M S 8 2 1

Version Added in API version 2.5

SMS message text in chunks

T he SMS object has special properties to break large messages into smaller chunks. Maximum siz e of a chunk is 160 characters. Note that some unusually clever-looking symbols (, , etc.) translate into more than one characters in stored text. T o query how many chunks is contained in an SMS message:
> G E T S M S < i d > C H U N K I N G < S M S < i d > C H U N K I N G < n o . o f c h u n k s > < n o . o f c h a r a c t e r s i n t h e f i n a l c h u n k >

T o access text within a chunk:


> G E T S M S < i d > C H U N K < # > < S M S < i d > C H U N K < # > < t e x t >

Searching SMS messages

Following two commands are available to search for SMS objects:


SEARCH SMSS SEARCH MISSEDSMSS

Version Added in API version 2.5

Deleting SMS messages

All SMS messages that you have created in Skype remain stored in the system until they get deleted. T o delete an SMS message, use D E L E T ES M SC O M M A N D : Syntax: >D E L E T ES M S< I D > < -D E L E T ES M S< I D > Example:
> S E A R C H S M S S < S M S S 2 3 3 > D E L E T E S M S 2 3 3 < D E L E T E S M S 2 3 3

T he list of deletable SMS messages can be queried with SEARCH SMSS command. Refer to SMS object section for a list of SMS object properties.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

23/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Version Added in API version 2.5

SET SMS REPLY_T O_NUMBER

T his command sets the reply-to property of an SMS object. Syntax: >S E TS M S< i d >R E P L Y _ T O _ N U M B E R< p s t n > Version Added in API version 2.5

SET SMS T ARGET _NUMBERS

T his command changes the destination(s) of an SMS message. Syntax: S E TS M S< i d >T A R G E T _ N U M B E R S< p s t n 1 > [ ,< p s t n 2 > ] Where is ID of a created SMS object and destination(s) are given as a comma-separated list of valid PST N numbers. Example:
/ / / / N o t e t h a t a t l e a s t o n e t a r g e t n u m b e r i s m a n d a t o r y f o r C R E A T E S M S > C R E A T E S M S O U T G O I N G + 3 7 2 5 9 8 7 7 3 0 5 < S M S 1 7 0 2 T Y P E O U T G O I N G < S M S 1 7 0 2 S T A T U S C O M P O S I N G < S M S 1 7 0 2 P R I C E 0 < S M S 1 7 0 2 T I M E S T A M P 0 < S M S 1 7 0 2 S T A T U S C O M P O S I N G < S M S 1 7 0 2 P R I C E _ P R E C I S I O N 3 < S M S 1 7 0 2 P R I C E _ C U R R E N C Y E U R < S M S 1 7 0 2 T A R G E T _ N U M B E R S + 3 7 2 5 9 8 7 7 3 0 5 < S M S 1 7 0 2 P R I C E 1 < S M S 1 7 0 2 T A R G E T _ S T A T U S E S + 3 7 2 5 9 8 7 7 3 0 5 = T A R G E T _ A N A L Y Z I N G < S M S 1 7 0 2 T A R G E T _ S T A T U S E S + 3 7 2 5 9 8 7 7 3 0 5 = T A R G E T _ A C C E P T A B L E < S M S 1 7 0 2 P R I C E 7 8 / / / / N o w l e t ' s a d d t w o m o r e t a r g e t n u m b e r s ( i n a d d i t i o n t o o r i g i n a l ) > S E T S M S 1 7 0 2 T A R G E T _ N U M B E R S + 3 7 2 5 9 8 7 7 3 0 5 , + 3 7 2 5 9 8 7 7 3 0 6 , + 3 7 2 5 9 8 7 7 3 0 7 < S M S 1 7 0 2 T A R G E T _ N U M B E R S + 3 7 2 5 9 8 7 7 3 0 5 , + 3 7 2 5 9 8 7 7 3 0 6 , + 3 7 2 5 9 8 7 7 3 0 7 < S M S 1 7 0 2 T A R G E T _ N U M B E R S + 3 7 2 5 9 8 7 7 3 0 5 , + 3 7 2 5 9 8 7 7 3 0 6 , + 3 7 2 5 9 8 7 7 3 0 7 < S M S 1 7 0 2 P R I C E 1 < S M S 1 7 0 2 T A R G E T _ S T A T U S E S + 3 7 2 5 9 8 7 7 3 0 5 = T A R G E T _ A C C E P T A B L E , + 3 7 2 5 9 8 7 7 3 0 6 = T A R G E T _ A N A L Y Z I N G , + 3 7 2 5 9 8 7 7 3 0 7 = T A R G E T _ A N A L Y Z I N G < S M S 1 7 0 2 T A R G E T _ S T A T U S E S + 3 7 2 5 9 8 7 7 3 0 5 = T A R G E T _ A C C E P T A B L E , + 3 7 2 5 9 8 7 7 3 0 6 = T A R G E T _ A C C E P T A B L E , + 3 7 2 5 9 8 7 7 3 0 7 = T A R G E T _ A C C E P T A B L E < S M S 1 7 0 2 T A R G E T _ S T A T U S E S + 3 7 2 5 9 8 7 7 3 0 5 = T A R G E T _ A C C E P T A B L E , + 3 7 2 5 9 8 7 7 3 0 6 = T A R G E T _ A C C E P T A B L E , + 3 7 2 5 9 8 7 7 3 0 7 = T A R G E T _ A C C E P T A B L E < S M S 1 7 0 2 P R I C E 2 3 4

Version Added in API version 2.5

Setting mobile phone number on reply-to field in outgoing SMS messages

An outgoing SMS message from Skype lists the reply-to number as the users Skype ID. It is possible to change the reply-to number to a mobile phone number by registering the number in Skype client. Skype validates this number, and it then becomes the reply-to number for outgoing SMS messages.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

24/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

T o register a mobile phone number in Skype client:


1. Create and send an SMS message of type C O N F I R M A T I O N _ C O D E _ R E Q U E S Tto your own mobile number. 2. Skype sends an SMS message to your mobile, with message body containing a confirmation code. 3. Create another SMS of type C O N F I R M A T I O N _ C O D E _ S U B M I Tto the same number and include the confirmation code in message body. 4. Your mobile phone number is then validated as a reply-to number for outgoing SMS messages.

T o create confirmation request and submit messages, use C O N F I R M A T I O N _ C O D E _ R E Q U E S T and C O N F I R M A T I O N _ C O D E _ S U B M I Trespectively as 2nd parameter in CREAT E SMS command. T o retrieve the mobile number you have set as reply-to for outgoing SMS messages:
> G E T P R O F I L E S M S _ V A L I D A T E D _ N U M B E R S < P R O F I L E S M S _ V A L I D A T E D _ N U M B E R S < + n u m b e r > [ , < + n u m b e r > . . ]

Call cost information


Cost information is stored in R A T E ,R A T E _ C U R R E N C Yand R A T E _ P R E C I S I O Nproperties of a C A L Lobject. Example of how to retrieve call cost data:
/ / / / F i r s t l e t ' s f i n d a s u i t a b l e c a l l I D > S E A R C H C A L L S < C A L L S 1 0 0 , 1 0 1 , 1 0 2 / / / / H e r e w e w i l l r e t r i e v e c o s t d a t a f r o m c a l l 1 0 0 > G E T C A L L 1 0 0 R A T E < C A L L 1 0 0 R A T E 1 2 3 4 > G E T C A L L 1 0 0 R A T E _ P R E C I S I O N < C A L L 1 0 0 R A T E _ P R E C I S I O N 2 > G E T C A L L 1 0 0 R A T E _ C U R R E N C Y < C A L L 1 0 0 R A T E _ C U R R E N C Y E U R / / / / T o d e t e r m i n e t h e a c t u a l c o s t o f t h e c a l l , / / y o u w i l l a l s o n e e d t o k n o w t h e c a l l d u r a t i o n > G E T C A L L 1 0 0 D U R A T I O N < C A L L 1 0 0 D U R A T I O N 6 0

Note that call D U R A T I O Nis expressed in seconds while call R A T Eis expressed as cost per minute. Skype4Com example:
CallCost.pas

Version Protocol 6, Skype API version 2.5

Making and managing video calls


T his section contains the commands for making and managing video calls. Skype4Com sample:
VideoSwitching.pas

GET VIDEO_IN

T he G E TV I D E O _ I Ncommand retrieves the name of the video device to use for a call. If no value is returned, Skype sets the default value.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

25/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Syntax >G E TV I D E 0 _ I N < -V I D E O _ I N[ < d e v i c e n a m e > ] Note If no devicename is returned, Skype sets a default value with the following command: >S E TV I D E O _ I N< d e v i c e n a m e >

SET VIDEO_IN

T his command enables you to change webcam settings. Syntax: >S E TV I D E 0 _ I N[ < d e v i c e _ n a m e > ] < -V I D E O _ I N[ < d e v i c e _ n a m e > ] If the parameter is empty, webcam is set to Default video device. If device passed in parameter cannot be found, following error is reported:
ERROR 50 cannot set device

GET CALL VIDEO_ST AT US

T o check if a Skype client is video-enabled: Syntax >G E TC A L L5 9 2 1V I D E O _ S T A T U S Response


S k y p e r e s p o n d s w i t h t h e v i d e o s t a t u s f o r t h e a c t i v e c a l l , f o r e x a m p l e : < C A L L 5 9 2 1 V I D E O _ S T A T U S V I D E O _ N O N E

Parameters
V I D E O _ N O N E V I D E O _ S E N D _ E N A B L E D V I D E O _ R E C V _ E N A B L E D V I D E O _ B O T H _ E N A B L E D

Version Protocol 5

ALT ER CALL VIDEO_SEND

Used to start or stop sending video during a call. Syntax to start video: >A L T E RC A L L< i d >S T A R T _ V I D E O _ S E N D < -A L T E RC A L L< i d >S T A R T _ V I D E O _ S E N D < -C A L L< i d >V I D E O _ S E N D _ S T A T U SS T A R T I N G Syntax to stop video: >A L T E RC A L L< i d >S T O P _ V I D E O _ S E N D < -A L T E RC A L L< i d >S T O P _ V I D E O _ S E N D

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

26/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Parameters:
S T A R T _ V I D E O _ S E N D S T O P _ V I D E O _ S E N D

Version Protocol 5

ALT ER CALL VIDEO_RECEIVE

Used to start or stop receiving video during a call. Syntax to start receiving video: >A L T E RC A L L< i d >S T A R T _ V I D E O _ R E C E I V E < -A L T E RC A L L< i d >S T A R T _ V I D E O _ R E C E I V E Syntax to stop receiving video: >A L T E RC A L L< i d >S T O P _ V I D E O _ R E C E I V E < -A L T E RC A L L< i d >S T O P _ V I D E O _ R E C E I V E < -C A L L< i d >V I D E O _ R E C E I V E _ S T A T U SS T O P P I N G Parameters:
S T A R T _ V I D E O _ R E C E I V E S T O P _ V I D E O _ R E C E I V E

Version Protocol 5

GET CALL VIDEO_SEND_ST AT US

T o check video send status: Syntax >G E TC A L L5 9 2 1V I D E O _ S E N D _ S T A T U S Response Skype responds with the appropriate parameter. Parameters N O T _ A V A I L A B L E// T he client does not have video capability because video is disabled or a webcam is unplugged). A V A I L A B L E// T he client is video-capable but the video is not running (can occur during a manual send). S T A R T I N G// T he video is sending but is not yet running at full speed. R E J E C T E D// T he receiver rejects the video feed (can occur during a manual receive). R U N N I N G// T he video is actively running. S T O P P I N G// T he active video is in the process of stopping but has not halted yet. P A U S E D// T he video call is placed on hold. Version Protocol 5

GET CALL VIDEO_RECEIVE_ST AT US

T o check video receive status:

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

27/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Syntax >G E TC A L L5 9 2 1V I D E O _ R E C E I V E _ S T A T U S Response Skype responds with the appropriate parameter. Parameters N O T _ A V A I L A B L E// T he client does not have video capability because video is disabled or a webcam is unplugged). A V A I L A B L E// T he client is video-capable but the video is not running (can occur during a manual send). S T A R T I N G// T he video is sending but is not yet running at full speed. R E J E C T E D// T he receiver rejects the video feed (can occur during a manual receive). R U N N I N G// T he video is actively running. S T O P P I N G// T he active video is in the process of stopping but has not halted yet. P A U S E D// T he video call is placed on hold. Version Protocol 5

IS_VIDEO_CAPABLE

T o check if a user is video-capable: Syntax >G E TU S E R< u s e r n a m e >I S _ V I D E O _ C A P A B L E Response < -U S E R< u s e r n a m e >I S _ V I D E O _ C A P A B L E{ T r u e | F a l s e } Version Protocol 5

OPEN VIDEOT EST

T o open the Video T est window to test if video is working: Syntax O P E NV I D E O T E S T Response If successful command is echoed back Version Protocol 5

OPEN OPT IONS VIDEO

T o open the Video Options window: Syntax: >O P E NO P T I O N SV I D E O < -O P E NO P T I O N SV I D E O Version Protocol 5

Leaving and manipulating voicemails

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

28/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

T his section contains the commands to leave and manipulate voicemails. Skype4Com samples:
VoiceMail2WAV.pas Delphi example on how to save voicemails into WAV files.

VOICEMAIL

T he V O I C E M A I Lcommand starts to deprecate in protocol 6 and is replaced by the CALLVOICEMAIL command.

CALLVOICEMAIL

Refer to VOICEMAIL object. T o leave a voicemail: Syntax C A L L V O I C E M A I L< t a r g e t > When you start an outgoing voicemail, a call object and two voicemail objects are created. First one of the voicemail objects is incoming greeting message. Second voicemail object is the outgoing message. Example
/ / / / S t a r t i n g v o i c e m a i l c a l l t o t e s t u s e r , t h e s y s t e m w i l l r e p o r t b a c k c a l l / / I D a n d s t a t u s . T h e o b j e c t I D s i n t h i s e x a m p l e a r e c a l l ( 5 2 4 ) , g r e e t i n g ( 5 2 5 ) / / a n d v o i c e m a i l m e s s a g e ( 5 2 6 ) > C A L L V O I C E M A I L t e s t u s e r < C A L L 5 2 4 S T A T U S R O U T I N G / / / / T h e n t h e s y s t e m r e p o r t s b a c k t h e i n c o m i n g g r e e t i n g v o i c e m a i l p r o p e r t i e s < V O I C E M A I L 5 2 5 T Y P E C U S T O M _ G R E E T I N G < V O I C E M A I L 5 2 5 P A R T N E R _ H A N D L E t e s t u s e r < V O I C E M A I L 5 2 5 P A R T N E R _ D I S P N A M E T e s t U s e r < V O I C E M A I L 5 2 5 A L L O W E D _ D U R A T I O N 6 0 < V O I C E M A I L 5 2 5 S U B J E C T < V O I C E M A I L 5 2 5 T I M E S T A M P 1 1 7 4 3 8 4 1 1 4 < V O I C E M A I L 5 2 5 D U R A T I O N 0 < V O I C E M A I L 5 2 5 S T A T U S N O T D O W N L O A D E D < V O I C E M A I L 5 2 5 S T A T U S D O W N L O A D I N G / / / / T h e n t h e s y s t e m r e p o r t s b a c k t h e o u t g o i n g v o i c e m a i l p r o p e r t i e s < V O I C E M A I L 5 2 6 T Y P E O U T G O I N G < V O I C E M A I L 5 2 6 P A R T N E R _ H A N D L E t e s t u s e r < V O I C E M A I L 5 2 6 P A R T N E R _ D I S P N A M E T e s t U s e r < V O I C E M A I L 5 2 6 A L L O W E D _ D U R A T I O N 6 0 0 < V O I C E M A I L 5 2 6 S U B J E C T < V O I C E M A I L 5 2 6 T I M E S T A M P 1 1 7 4 3 8 4 1 1 4 < V O I C E M A I L 5 2 6 D U R A T I O N 0 < V O I C E M A I L 5 2 6 S T A T U S B L A N K / / / / T h e s t a t u s o f t h e c a l l o b j e c t i s s e t t o I N P R O G R E S S , i n c o m i n g g r e e t i n g / / i s b e i n g d o w n l o a d e d < C A L L 5 2 4 S T A T U S I N P R O G R E S S < C A L L 5 2 4 V M _ A L L O W E D _ D U R A T I O N 6 0 0 < C A L L 5 2 4 V M _ D U R A T I O N 0 < V O I C E M A I L 5 2 5 S T A T U S P L A Y I N G < V O I C E M A I L 5 2 5 S T A T U S B U F F E R I N G < C A L L 5 2 4 S T A T U S I N P R O G R E S S < V O I C E M A I L 5 2 5 D U R A T I O N 8 / / / / I n c o m i n g g r e e t i n g h a s b e e n r e c e i v e d a n d i s p l a y e d < V O I C E M A I L 5 2 5 T I M E S T A M P 1 1 2 5 7 4 9 7 3 5 < V O I C E M A I L 5 2 5 S T A T U S P L A Y I N G

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

29/129

18/07/2013
< V O I C E M A I L 5 2 5 S T A T U S P L A Y E D

Skype Developer - Skype Deskt op API Referen ce M an u al

/ / / / S y s t e m s t a r t s r e c o r d i n g t h e o u t g o i n g v o i c e m a i l m e s s a g e < V O I C E M A I L 5 2 6 T I M E S T A M P 1 1 7 4 3 8 4 1 2 5 < V O I C E M A I L 5 2 6 S T A T U S R E C O R D I N G / / / / H e a r t b e a t n o t i f i c a t i o n s c o n t i n u e a t 1 s e c o n d i n t e r v a l t h r o u g h o u t r e c o r d i n g < C A L L 5 2 4 S T A T U S I N P R O G R E S S < V O I C E M A I L 5 2 6 D U R A T I O N 6 < C A L L 5 2 4 V M _ D U R A T I O N 6 < V O I C E M A I L 5 2 6 D U R A T I O N 7 < C A L L 5 2 4 V M _ D U R A T I O N 7 < V O I C E M A I L 5 2 6 D U R A T I O N 8 < C A L L 5 2 4 V M _ D U R A T I O N 8 < V O I C E M A I L 5 2 6 D U R A T I O N 9 < C A L L 5 2 4 V M _ D U R A T I O N 9 / / / / R e c o r d i n g s t o p p e d , u p l o a d i n g t h e r e c o r d e d m e s s a g e < V O I C E M A I L 5 2 6 S T A T U S U P L O A D I N G < C A L L 5 2 4 S T A T U S I N P R O G R E S S < V O I C E M A I L 5 2 6 S T A T U S U P L O A D E D < C A L L 5 2 4 S T A T U S F I N I S H E D < C A L L 5 2 4 V A A _ I N P U T _ S T A T U S F A L S E

Version Protocol 6 Prior to API version 2.5 (protocol 6), V O I C E M A I Lcommand was used to leave voicemails. In future development, C A L L V O I C E M A I Lcommand should be used instead. Also, following changes were made to this command in API version 2.5:
When you create V O I C E M A I Lobject, a C A L Lobject is also created. After you play a voicemail, other persons greeting is not deleted. When voicemail is recording, Skype returns a call xx vm_duration x response in addition to voicemail xx duration x message.

Notes
Leaving a voicemail for a target user actually uses two types of voicemail object: a greeting type of voicemail object which is downloaded from the server an outgoing type of voicemail object which the user composes

OPEN VOICEMAIL

T o open and start playing a voicemail: Syntax O P E NV O I C E M A I L< i d > Response If successful command is echoed back Parameters < i d > voicemail identifier Errors
E R R O R6 9i n v a l i do p e nw h a t Open target is missing or misspelled E R R O R5 1 2i n v a l i dv o i c e m a i lI D Voicemail identifier is missing, is invalid or does not exist

Notes
Voicemail is downloaded from server automatically. T he main Skype window comes into focus and switches to the Call List tab; use the ALT ER VOICEMAIL command to play without a UI response.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

30/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

T o get hold of voicemail IDs, refer to SEARCH VOICEMAILS and SEARCH MISSEDVOICEMAILS commands.

ALT ER VOICEMAIL

T he A L T E RV O I C E M A I Lcommand allows finer control over the V O I C E M A I Lobject. Syntax: >A L T E RV O I C E M A I L< i d >a c t i o n < -A L T E RV O I C E M A I L< i d >a c t i o n Parameters: a c t i o n possible values:
S T A R T P L A Y B A C K starts playing downloaded voicemail S T O P P L A Y B A C K stops voicemail playback U P L O A D uploads recorded voicemail from a local computer to a server D O W N L O A D downloads voicemail object from a server to a local computer S T A R T R E C O R D I N G stops playing greeting and starts recording, the equivalent to a user pressing the green button; S T O P R E C O R D I N G ends recording, the equivalent to a user pressing the red button D E L E T E delete voicemail object S T A R T P L A Y B A C K I N C A L L Initiates voicemail playback during an active call. T he voicemail will be played both locally and to remote call participant. S E T U N P L A Y E D sets voicemail status property to U N P L A Y E D .

In version 3.5.0.202 following A L T E Rcommands were added to enable redirection of voice streams for voicemails:
ALT ER VOICEMAIL SET _INPUT ALT ER VOICEMAIL SET _OUT PUT ALT ER VOICEMAIL SET _CAPT URE_MIC

Notes
S T A R T P L A Y B A C Kplays voicemail but the window does not change to the Call List tab as it does with the O P E NV O I C E M A I Lcommand. S T O P R E C O R D I N Gcauses automatic message upload to the server. Voicemails are deleted as a background process and the elapsed time depends on the server response; during this period, the S E A R C HV O I C E M A I L Scommand still returns an ID for the voicemail, but the status is changed to D E L E T I N G.

Managing call forwarding


T his section contains the commands to manage call forwarding. Skype4Com example:
CallForwarding.pas

GET PROFILE CALL_APPLY_CF

Use the G E TP R O F I L EC A L L _ A P P L Y _ C Fcommand to query if call forwarding is enabled for a call. Syntax >G E TP R O F I L EC A L L _ A P P L Y _ C F Response < -P R O F I L EC A L L _ A P P L Y _ C F{ T r u e | F a l s e } Version

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

31/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Protocol 1.4

SET PROFILE CALL_APPLY_CF

Use the S E TP R O F I L EC A L L _ A P P L Y _ C Fto enable or disable call forwarding. Syntax >S E TP R O F I L EC A L L _ A P P L Y _ C F{ T r u e | F a l s e } Response < -P R O F I L EC A L L _ A P P L Y _ C F{ T r u e | F a l s e } Version Protocol 1.4

GET PROFILE CALL_FORWARD_RULES

Use the G E TP R O F I L EC A L L _ F O R W A R D _ R U L E Sto query the rules set for call forwarding. Note that the call forwarding process starts after number of seconds given in C A L L _ N O A N S W E R _ T I M E O U Tproperty of the P R O F I L Eobject. Syntax: >G E TP R O F I L EC A L L _ F O R W A R D _ R U L E S < -P R O F I L EC A L L _ F O R W A R D _ R U L E S[ < s t a r t _ t i m e > , < e n d _ t i m e > , { < u s e r n a m e > | < + P S T N > } [< s t a r t _ t i m e > , < e n d _ t i m e > , { < u s e r n a m e > | < + P S T N > } ] * ] Parameters:
s t a r t _ t i m e in seconds when connecting to this number/user starts e n d _ t i m e in seconds when ringing to this number/user ends u s e r n a m e another Skype username to forward calls to + P S T N-P S T Nnumber to forward a call

Note A call can be forwarded to multiple numbers and the numbers can overlap in time, with all ringing and the first to pick up the call takes it. Version Protocol 1.4

SET PROFILE CALL_FORWARD_RULES

Use the S E TP R O F I L EC A L L _ F O R W A R D _ R U L E Sto set the rules for call forwarding. Note that the call forwarding process starts after number of seconds given in C A L L _ N O A N S W E R _ T I M E O U Tproperty of the P R O F I L Eobject. Syntax: >S E TP R O F I L EC A L L _ F O R W A R D _ R U L E S[ < s t a r t _ t i m e > , < e n d _ t i m e > , { < u s e r n a m e > | < + P S T N > } [< s t a r t _ t i m e > , < e n d _ t i m e > , { < u s e r n a m e > | < + P S T N > } ] * ] < -P R O F I L EC A L L _ F O R W A R D _ R U L E S[ < s t a r t _ t i m e > , < e n d _ t i m e > , { < u s e r n a m e > | < + P S T N > } [< s t a r t _ t i m e > , < e n d _ t i m e > , { < u s e r n a m e > | < + P S T N > } ] * ] Parameters:
s t a r t _ t i m e in seconds when connecting to this number/user starts e n d _ t i m e in seconds when ringing to this number/user ends u s e r n a m e another Skype username to forward calls to + P S T N-P S T Nnumber to forward a call

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

32/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Version Protocol 1.4

GET PROFILE CALL_NOANSWER_T IMEOUT

Use the G E TP R O F I L EC A L L _ N O A N S W E R _ T I M E O U Tto query the amount of seconds a forwarded call will ring before timing out. Syntax >G E TP R O F I L EC A L L _ N O A N S W E R _ T I M E O U T Response < -P R O F I L EC A L L _ N O A N S W E R _ T I M E O U T1 5 Note
1. seconds is the default timeout value.

Version Protocol 1.4

SET PROFILE CALL_NOANSWER_T IMEOUT

Use the S E TP R O F I L EC A L L _ N O A N S W E R _ T I M E O U Tto change the amount of seconds a forwarded call will ring before timing out. Syntax >S E TP R O F I L EC A L L _ N O A N S W E R _ T I M E O U T2 0 Response < -P R O F I L EC A L L _ N O A N S W E R _ T I M E O U T2 0 Note T his command replaces the default timeout value of 15 seconds. Version Protocol 1.4

GET PROFILE CALL_SEND_T O_VM

Use the G E TP R O F I L EC A L L _ S E N D _ T O _ V Mto query if voicemail is enabled for forwarded calls. Syntax >G E TP R O F I L EC A L L _ S E N D _ T O _ V M Response < -P R O F I L EC A L L _ S E N D _ T O _ V M{ T r u e | F a l s e } Version Protocol 1.4

SET PROFILE CALL_SEND_T O_VM

Use the S E TP R O F I L EC A L L _ S E N D _ T O _ V Mto enable (or disable) voicemail for forwarded calls. Syntax >S E TP R O F I L EC A L L _ S E N D _ T O _ V MT r u e

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

33/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Response < -P R O F I L EC A L L _ S E N D _ T O _ V MT r u e Version Protocol 1.4

Creating chats and sending messages


T his section contains the commands for creating chats and sending messages.

CHAT CREAT E

T his command creates a chat object. Syntax >C H A TC R E A T E[ < t a r g e t > ,< t a r g e t > * ] Response < -C H A T< c h a t _ i d >S T A T U S< v a l u e > Version Protocol 5, updated in protocol 7 (API version 3.0) Parameters
< t a r g e t > username(s) with whom to create a chat < c h a t _ i d > chat identifier; string (usually looks like #me/$target;012345679012345) < v a l u e > depends on the type of chat created: D I A L O Gfor a 1:1 chat; M U L T I _ S U B S C R I B E Dfor a chat with multiple participants

Notes
From version 3.6 and later, opening chat windows (both from API and manually via UI) generate additional chat window open and close notfication messages. Refer to the Chat notifications section for more information. T he C H A TC R E A T Ecommand does not open a chat window; use the OPEN CHAT command to do so. Starting from protocol 7, the parameter(s) are no longer mandatory. If no usernames are passed in parameters, an empty multichat is created.

Example:
/ / / / C r e a t i n g c h a t w i t h o n e t a r g e t > C H A T C R E A T E a n a p p o 5 < C H A T # a n a p p o / $ a n a p p o 5 2 e 4 e 7 6 3 a 2 f c 1 2 1 e d S T A T U S D I A L O G > O P E N C H A T # a n a p p o / $ a n a p p o 5 2 e 4 e 7 6 3 a 2 f c 1 2 1 e d < O P E N C H A T # a n a p p o / $ a n a p p o 5 2 e 4 e 7 6 3 a 2 f c 1 2 1 e d / / / / C r e a t i n g c h a t w i t h n o t a r g e t > C H A T C R E A T E < C H A T # a n a p p o / $ 7 2 c b 4 c 9 d 0 8 7 1 e 6 d c N A M E # a n a p p o / $ 7 2 c b 4 c 9 d 0 8 7 1 e 6 d c < C H A T # a n a p p o / $ 7 2 c b 4 c 9 d 0 8 7 1 e 6 d c A C T I V I T Y _ T I M E S T A M P 0 < C H A T # a n a p p o / $ 7 2 c b 4 c 9 d 0 8 7 1 e 6 d c S T A T U S M U L T I _ S U B S C R I B E D < C H A T # a n a p p o / $ 7 2 c b 4 c 9 d 0 8 7 1 e 6 d c T Y P E M U L T I C H A T < C H A T # a n a p p o / $ 7 2 c b 4 c 9 d 0 8 7 1 e 6 d c S T A T U S U N S U B S C R I B E D < C H A T M E M B E R 5 7 0 R O L E U S E R < C H A T # a n a p p o / $ 7 2 c b 4 c 9 d 0 8 7 1 e 6 d c M Y R O L E U S E R < C H A T # a n a p p o / $ 7 2 c b 4 c 9 d 0 8 7 1 e 6 d c M E M B E R S a n a p p o < C H A T # a n a p p o / $ 7 2 c b 4 c 9 d 0 8 7 1 e 6 d c A C T I V E M E M B E R S a n a p p o < C H A T # a n a p p o / $ 7 2 c b 4 c 9 d 0 8 7 1 e 6 d c M Y S T A T U S S U B S C R I B E D < C H A T # a n a p p o / $ 7 2 c b 4 c 9 d 0 8 7 1 e 6 d c S T A T U S M U L T I _ S U B S C R I B E D < C H A T # a n a p p o / $ 7 2 c b 4 c 9 d 0 8 7 1 e 6 d c T I M E S T A M P 1 1 7 5 0 8 9 6 7 7 > O P E N C H A T # a n a p p o / $ 7 2 c b 4 c 9 d 0 8 7 1 e 6 d c < O P E N C H A T # a n a p p o / $ 7 2 c b 4 c 9 d 0 8 7 1 e 6 d c / / / / C r e a t i n g c h a t w i t h t w o t a r g e t s

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

34/129

18/07/2013
> C H A T C R E A T E a n a p p o 3 , a n a p p o 5

Skype Developer - Skype Deskt op API Referen ce M an u al

< C H A T # a n a p p o / $ 8 c 9 e 3 b b 9 4 6 4 3 d 6 6 8 N A M E # a n a p p o / $ 8 c 9 e 3 b b 9 4 6 4 3 d 6 6 8 < C H A T # a n a p p o / $ 8 c 9 e 3 b b 9 4 6 4 3 d 6 6 8 A C T I V I T Y _ T I M E S T A M P 0 < C H A T # a n a p p o / $ 8 c 9 e 3 b b 9 4 6 4 3 d 6 6 8 S T A T U S M U L T I _ S U B S C R I B E D < C H A T # a n a p p o / $ 8 c 9 e 3 b b 9 4 6 4 3 d 6 6 8 T Y P E M U L T I C H A T < C H A T # a n a p p o / $ 8 c 9 e 3 b b 9 4 6 4 3 d 6 6 8 S T A T U S U N S U B S C R I B E D < C H A T M E M B E R 5 8 5 R O L E U S E R < C H A T # a n a p p o / $ 8 c 9 e 3 b b 9 4 6 4 3 d 6 6 8 M Y R O L E U S E R < C H A T # a n a p p o / $ 8 c 9 e 3 b b 9 4 6 4 3 d 6 6 8 M E M B E R S a n a p p o < C H A T # a n a p p o / $ 8 c 9 e 3 b b 9 4 6 4 3 d 6 6 8 A C T I V E M E M B E R S a n a p p o < C H A T # a n a p p o / $ 8 c 9 e 3 b b 9 4 6 4 3 d 6 6 8 M Y S T A T U S S U B S C R I B E D < C H A T # a n a p p o / $ 8 c 9 e 3 b b 9 4 6 4 3 d 6 6 8 S T A T U S M U L T I _ S U B S C R I B E D < C H A T # a n a p p o / $ 8 c 9 e 3 b b 9 4 6 4 3 d 6 6 8 T I M E S T A M P 1 1 7 5 0 8 9 8 5 8 < C H A T # a n a p p o / $ 8 c 9 e 3 b b 9 4 6 4 3 d 6 6 8 M E M B E R S a n a p p o a n a p p o 3 a n a p p o 5 < C H A T # a n a p p o / $ 8 c 9 e 3 b b 9 4 6 4 3 d 6 6 8 F R I E N D L Y N A M E a n a p p o 3 , a n a p p o 5 > O P E N C H A T # a n a p p o / $ 8 c 9 e 3 b b 9 4 6 4 3 d 6 6 8 < O P E N C H A T # a n a p p o / $ 8 c 9 e 3 b b 9 4 6 4 3 d 6 6 8

Error codes: 615, CHAT : chat with given contact is disabled added in Skype version 3.5 (protocol 8)

CHAT MESSAGE

Syntax C H A T M E S S A G E< c h a t _ i d >< m e s s a g e > Response C H A T M E S S A G E< i d >S T A T U SS E N D I N G Parameters


< c h a t _ i d > chat identifier < m e s s a g e > message text body to send < i d > chatmessage identifier

Version Protocol 5 Errors


E R R O R5 1 0I n v a l i d / u n k n o w nc h a tn a m eg i v e n Chat with does not exist E R R O R5 1 1S e n d i n gam e s s a g et oc h a tf a i l s Could not send message to chat (eg. not a member)

ALT ER CHAT SET T OPIC

Changes chat topic. Syntax: >A L T E RC H A T< c h a t _ i d >S E T T O P I C< t o p i c > < -A L T E RC H A TS E T T O P I C See also ALT ER CHAT SET T OPICXML command. Version Protocol 5 Errors
E R R O R5 0 1C H A T :N oc h a tf o u n df o rg i v e nc h a t Chat with does not exist

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

35/129

18/07/2013
ALT ER CHAT SET T OPICXML

Skype Developer - Skype Deskt op API Referen ce M an u al

Enables you to set a chat topic that contains XML formatting elements. Note that the standard chat topic will be updated as well, stripped of XML tags. Syntax: >A L T E RC H A T< c h a t _ i d >S E T T O P I C X M L< t o p i c > < -A L T E RC H A TS E T T O P I C X M L Example (without feedback notifications):
> A L T E R C H A T # t e s t / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 S E T T O P I C X M L < B L I N K > t o p i c i s b l i n k i n g < / B L I N K > > A L T E R C H A T # t e s t / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 S E T T O P I C X M L < B > t o p i c i n b o l d < / B > > A L T E R C H A T # t e s t / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 S E T T O P I C X M L < I > t o p i c i n i t a l i c < / I > > A L T E R C H A T # t e s t / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 S E T T O P I C X M L < U > t o p i c w i t h u n d e r l i n e < / U > > A L T E R C H A T # t e s t / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 S E T T O P I C X M L S m i l e y : < S S t y p e = " s m i l e " > : ) < / S S > > A L T E R C H A T # t e s t / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 S E T T O P I C X M L < F O N T C O L O R = " # F F 0 0 1 0 " > t o p i c i n r e d < / F O N T >

Version Protocol 7 (API version 3.0)

ALT ER CHAT ADDMEMBERS

T his command adds new members to a chat. Syntax: >A L T E RC H A T< c h a t _ i d >A D D M E M B E R S< t a r g e t > [ ,< t a r g e t > ] * < -A L T E RC H A TA D D M E M B E R S Version Protocol 5 Errors
E R R O R5 0 1C H A T :N oc h a tf o u n df o rg i v e nc h a t Chat with does not exist E R R O R5 0 4C H A T :A c t i o nf a i l e d Could not add members into chat (eg is already a member; you have left chat)

ALT ER CHAT LEAVE

T his command causes user to leave the chat. Syntax: >A L T E RC H A T< c h a t _ i d >L E A V E < -A L T E RC H A TL E A V E Errors
E R R O R5 0 1C H A T :N oc h a tf o u n df o rg i v e nc h a t Chat with does not exist E R R O R5 0 4C H A T :A c t i o nf a i l e d Could not leave chat (for example if the user has already left this chat)

ALT ER CHAT BOOKMARKED

Adds chat to the list of bookmarked chats.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

36/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Syntax to bookmark a chat: >A L T E RC H A T< c h a t _ i d >B O O K M A R K < -A L T E RC H A T< I D >B O O K M A R K E DT R U E Syntax to remove a chat from list of bookmarked chats: >A L T E RC H A T< I D >U N B O O K M A R K < -A L T E RC H A T< I D >B O O K M A R K E DF A L S E Refer to following S E A R C Hcommands on how to obtain a chat ID SEARCH CHAT S SEARCH ACT IVECHAT S SEARCH MISSEDCHAT S SEARCH RECENT CHAT S SEARCH BOOKMARKEDCHAT S Version Protocol 6, Skype API version 2.5

GET CHAT CHAT MESSAGES

Returns IDs of chatmessage objects in a specified chat. Syntax: >G E TC H A T< c h a t _ i d >C H A T M E S S A G E S < -C H A T< c h a t _ i d >C H A T M E S S A G E S< i d > [ ,< i d > ] * Version: Protocol 5 Errors
E R R O R5 0 1C H A T :N oc h a tf o u n df o rg i v e nc h a t Chat with does not exist

GET CHAT RECENT CHAT MESSAGES

Syntax G E TC H A T< c h a t _ i d >R E C E N T C H A T M E S S A G E S Response C H A T< c h a t _ i d >R E C E N T C H A T M E S S A G E S< i d > [ ,< i d > ] * Version Protocol 5 Errors
E R R O R5 0 1C H A T :N oc h a tf o u n df o rg i v e nc h a t Chat with does not exist

SET CHAT MESSAGE SEEN

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

37/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Syntax S E TC H A T M E S S A G E< i d >S E E N Response C H A T M E S S A G E< i d >S T A T U S< v a l u e > Parameters


< i d > chat message ID. < v a l u e > new value for chat message status; refer to CHAT MESSAGE object for status values

Version Protocol 3 Example


> S E T C H A T M E S S A G E 6 1 S E E N < C H A T M E S S A G E 6 1 S T A T U S R E A D

Errors
E R R O R 1 8 S E T : i n v a l i d W H A T C H A T M E S S A G E c o m m a n d i s m i s s i n g o r m i s s p e l l e d

E R R O R 3 1 U n k n o w n m e s s a g e i d U n k n o w n c h a t m e s s a g e I D

E R R O R 3 0 I n v a l i d m e s s a g e i d C h a t m e s s a g e I D i s m i s s p e l l e d o r c o n t a i n s n o n p e r m i t t e d s y m b o l s ( n u m e r i c a r e p e r m i t t e d )

E R R O R 3 2 I n v a l i d W H A T I n v a l i d s t a t u s g i v e n t o c h a t m e s s a g e , f o r e x a m p l e t h e m e s s a g e i s a l r e a d y m a r k e d a s s e e n

SET CHAT MESSAGE BODY

T his command enables you to change the text of a chat message. Syntax: >S E TC H A T M E S S A G E< c h a t m e s s a g e _ i d >B O D Y< t e x t > Weather a chat message text is changeable can be determined by checking the I S _ E D I T A B L E property of a C H A T M E S S A G Eobject. T he rules for allowing editing are:
Everyone can change their own messages. Creator of public chat can edit messages from others. Masters can edit messages originating from others, except those from the chat creator. Helpers and below cannot edit messages from others.

Refer to CHAT ROLES section for the list of chat roles. Example:
/ / / / F i r s t l e t s s e n d o u t a c h a t m e s s a g e > C H A T M E S S A G E # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 T e s t c h a t m e s s a g e < C H A T M E S S A G E 8 6 4 S T A T U S S E N D I N G < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 A C T I V I T Y _ T I M E S T A M P 1 1 7 5 0 9 3 3 2 8 < C H A T M E S S A G E 8 6 4 S T A T U S S E N T / / / / T h e n l e t s s e e i f w e c a n e d i t i t . . > G E T C H A T M E S S A G E 8 6 4 I S _ E D I T A B L E < C H A T M E S S A G E 8 6 4 I S _ E D I T A B L E T R U E / / / / T h e n s e e i f w e c a n c h a n g e t h e m e s s a g e t e x t

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

38/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

> S E T C H A T M E S S A G E 8 6 4 B O D Y T e s t m e s s a g e a f t e r b e i n g e d i t e d < C H A T M E S S A G E 8 6 4 B O D Y T e s t m e s s a g e a f t e r b e i n g e d i t e d < C H A T M E S S A G E 8 6 4 E D I T E D _ T I M E S T A M P 1 1 7 5 0 9 3 3 8 5 < C H A T M E S S A G E 8 6 4 E D I T E D _ B Y a n a p p o < C H A T M E S S A G E 8 6 4 B O D Y T e s t m e s s a g e a f t e r b e i n g e d i t e d

Version Protocol 7 (API version 3.0)

SET MESSAGE SEEN obsolete

Mark message as seen by the user and remove it from the missed messages list. T his command is obsolete and has been replaced by the SET CHAT MESSAGE SEEN command. Syntax S E TM E S S A G E< i d >S E E N Response M E S S A G E< i d >S T A T U Sv a l u e Properties
< i d > message ID; v a l u e (new) status value

Version Protocol 1, deprecated in protocol 3 Example


> S E T M E S S A G E 1 5 7 8 S E E N < M E S S A G E 1 5 7 8 S T A T U S R E A D

Errors
E R R O R1 8S E T :i n v a l i dW H A T Object name missing or misspelled. E R R O R3 0I n v a l i dm e s s a g ei d ID includes other than numeric characters. E R R O R3 1U n k n o w nm e s s a g ei d Message with specified ID does not exist in current users message history. E R R O R3 2I n v a l i dW H A T Property name missing or misspelled.

MESSAGE obsolete

T he M E S S A G Ecommand is obsolete and has been replaced by the CHAT MESSAGE command. Syntax M E S S A G E< t a r g e t >< t e x t > Response C H A T M E S S A G E< i d >S T A T U SS E N D I N G(protocol 3 and up) M E S S A G E< i d >S T A T U SS E N D I N G(protocol 1 and 2) Parameters
< t a r g e t > target username to whom to send the message < t e x t > message body, for example Please call me

Version Protocol 1 Errors

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

39/129

18/07/2013
E R R O R 2 6 I n v a l i d u s e r h a n d l e

Skype Developer - Skype Deskt op API Referen ce M an u al

T h e t a r g e t u s e r n a m e i s m i s s i n g o r i n c l u d e s s y m b o l s w h i c h a r e n o t p r e m i t t e d

E R R O R 4 3 C a n n o t s e n d e m p t y m e s s a g e T h e m e s s a g e h a s n o b o d y .

Notes When message sending fails, a LEFT -type message is received. T he messages L E A V E R E A S O N shows why it failed. See the CHAT MESSAGE object for a description. Example
> M E S S A G E e c h o 1 2 3 P l e a s e c a l l m e < M E S S A G E 9 8 2 S T A T U S S E N D I N G < M E S S A G E 9 8 2 S T A T U S S E N T

GET CHAT MEMBEROBJECT S

T his command provides list of C H A T M E M B E Robject IDs that represent chat participants. Syntax: G E TC H A T< i d >M E M B E R O B J E C T S Refer to
CHAT MEMBER object for a list of C H A T M E M B E Rproperties. GET CHAT MEMBER command for how to access C H A T M E M B E Rproperties. SEARCH CHAT S for how to get a list of C H A TIDs.

Example:
> G E T C H A T # t e s t / $ t e s t 3 5 f 7 c d b d d 3 2 d c 7 3 1 c M E M B E R O B J E C T S < C H A T # t e s t / $ 3 5 f 7 c d b d d 3 2 d c 7 3 1 c M E M B E R O B J E C T S 4 5 3 , 4 5 4 , 1 4 6 5

Version Protocol 7 (API version 3.0)

GET CHAT MEMBER

T his command provides read access to objects representing chat participants. Syntax: G E TC H A T M E M B E R< i d >< p r o p e r t y > Refer to
CHAT MEMBER object for a list of object properties. GET CHAT MEMBEROBJECT S command for a list of object IDs.

Example:
> G E T C H A T # t e s t / $ t e s t 3 5 f 7 c d b d d 3 2 d c 7 3 1 c M E M B E R O B J E C T S < C H A T # t e s t / $ 3 5 f 7 c d b d d 3 2 d c 7 3 1 c M E M B E R O B J E C T S 4 5 3 , 4 5 4 , 1 4 6 5 > G E T C H A T M E M B E R 1 4 6 5 I D E N T I T Y < C H A T M E M B E R 1 4 6 5 I D E N T I T Y t e s t _ p > G E T C H A T M E M B E R 1 4 6 5 C H A T N A M E < C H A T M E M B E R 1 4 6 5 C H A T N A M E # t e s t / $ t e s t 3 5 f 7 c d b d d 3 2 d c 7 3 1 c > G E T C H A T M E M B E R 1 4 6 5 R O L E < C H A T M E M B E R 1 4 6 5 R O L E U S E R > G E T C H A T M E M B E R 1 4 6 5 I S _ A C T I V E < C H A T M E M B E R 1 4 6 5 I S _ A C T I V E T R U E

Version Protocol 7 (API version 3.0)

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

40/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

ALT ER CHAT JOIN

T his command enables you to re-join a Public chat that you have previously left. T his command assumes a C H A Tobject is already present in the local system. Note that this command does work with non-public multichats. * Syntax: A L T E RC H A T< c h a t _ i d >J O I N Example:
/ / / / L e a v i n g p u b l i c c h a t # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 > A L T E R C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 L E A V E < A L T E R C H A T L E A V E < M E S S A G E 3 9 2 S T A T U S S E N D I N G < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 M E M B E R S a n a p p o 2 a n a p p o 3 < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 A C T I V E M E M B E R S a n a p p o 2 a n a p p o 3 < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 M Y S T A T U S U N S U B S C R I B E D < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 S T A T U S U N S U B S C R I B E D < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 B O O K M A R K E D F A L S E < M E S S A G E 3 9 2 S T A T U S S E N T / / / / R e j o i n i n g t h e c h a t > A L T E R C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 J O I N < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 M Y S T A T U S C O N N E C T I N G < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 S T A T U S U N S U B S C R I B E D < A L T E R C H A T J O I N < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 M E M B E R S a n a p p o 2 a n a p p o 3 < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 A C T I V E M E M B E R S a n a p p o 2 a n a p p o 3 < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 B O O K M A R K E D T R U E < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 M E M B E R S a n a p p o 2 a n a p p o 3 < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 A C T I V E M E M B E R S a n a p p o 2 a n a p p o 3 < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 M Y S T A T U S W A I T I N G _ R E M O T E _ A C C E P T < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 S T A T U S U N S U B S C R I B E D < C H A T M E M B E R 7 5 I S _ A C T I V E F A L S E < C H A T M E M B E R 3 9 6 I S _ A C T I V E F A L S E < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 M E M B E R S a n a p p o a n a p p o 2 a n a p p o 3 < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 A C T I V E M E M B E R S a n a p p o a n a p p o 3 < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 M Y S T A T U S S U B S C R I B E D < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 S T A T U S M U L T I _ S U B S C R I B E D < C H A T M E M B E R 7 5 I S _ A C T I V E T R U E < C H A T M E M B E R 3 9 6 I S _ A C T I V E T R U E < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 A C T I V E M E M B E R S a n a p p o a n a p p o 2 a n a p p o 3 < M E S S A G E 3 9 8 S T A T U S R E A D

Errors
E R R O R5 0 4C H A T :a c t i o nf a i l e d Attempt to re-join dialog or multichat. T his command only enables you to re-join public chats.

Version Protocol 7 (API version 3.0)

ALT ER CHAT CLEARRECENT MESSAGES

T his command clears recent chat messages in a given chat. Note that this command does not actually update user interface when a Skype client chat window for that chat is open. T o see the effect, close the chat window and re-open it. Syntax: A L T E RC H A T< c h a t _ i d >C L E A R R E C E N T M E S S A G E S Example:

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

41/129

18/07/2013
< A L T E R C H A T C L E A R R E C E N T M E S S A G E S

Skype Developer - Skype Deskt op API Referen ce M an u al

> A L T E R C H A T # a n a p p o / $ t e s t _ p 2 9 7 f c e f b 0 7 f f c 4 b 2 C L E A R R E C E N T M E S S A G E S

Version Protocol 7 (API version 3.0)

ALT ER CHAT SET ALERT ST RING

T his command enables you to set up a chat alert string. Normally, a small notification window will pop up at system tray when someone posts a message in a chat while the chat window is closed. When an alert string is set, the notification window will only appear when the message contains value set in S E T A L E R T S T R I N Gproperty. Note that when setting this value from API, first symbol of the alert string is assumed to be = and gets stripped. T o prevent first symbol of your alert string from being stripped, add = in front of it. Syntax: A L T E RC H A T< c h a t _ i d >S E T A L E R T S T R I N G< a l e r t _ s t r i n g > Example:
> A L T E R C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 S E T A L E R T S T R I N G " = t e s t " < A L T E R C H A T S E T A L E R T S T R I N G

Version Protocol 7 (API version 3.0)

ALT ER CHAT ACCEPT ADD

T his command is used for accepting invitations to shared contact groups. In other chat contexts, invitations are either accepted or declined automatically, depending on users privacy settings. Syntax: A L T E RC H A T< c h a t _ i d >A C C E P T A D D Version Protocol 7 (API version 3.0)

ALT ER CHAT DISBAND

T his command removes all chat participants from the chat and closes it. Syntax: A L T E RC H A T< c h a t _ i d >D I S B A N D Example:
> A L T E R C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 D I S B A N D < A L T E R C H A T D I S B A N D < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 M Y S T A T U S C H A T _ D I S B A N D E D < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 S T A T U S U N S U B S C R I B E D

Version Protocol 7 (API version 3.0)

Public Chats
Public Chats were introduced in API version 3.0 Public Chats are an extension of existing

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

42/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

multichat functionality. From API point of view, public chats differ from multichats in that:
C R E A T Ecommand works somewhat differently, as a public chat identifier is formed differently from multichats;

Public chats have a user hierarchy with different privilege levels and a set of tools for chat administration (similar to administration of IRC channels). T hese administration tools are actually available for standard multichats as well (API commands such as K I C Kwork in multichats, altho the Skype user interface for setting privileges is not available for multichats). More or less everything listed under Creating chats and sending messages section is also applicable to public chats. T he list of sections below is specific to public chats.

CHAT ROLES and PRIVILEGES C R E A T O R member who created the chat. T here can be only one creator per chat. Only creator can promote other members to masters. M A S T E R Also known as chat hosts. Masters cannot promote other people to masters. H E L P E R a semi-privileged member. Helpers will not be affected by the U S E R S _ A R E _ L I S T E N E R Soption. Helpers cannot promote or demote other members. U S E R regular members who can post messages into the chat. L I S T E N E R a demoted member who can only receive messages but not post anything into the chat. A P P L I C A N T a member waiting for acceptance into the chat. Member cannot be demoted to applicants once they have been accepted.

Refer to
ALT ER CHAT MEMBER CANSET ROLET O command for how to determine if it is possible to change the role of any given chat member. ALT ER CHAT MEMBER SET ROLET O command for more info on how to change chat member roles.

ALT ER CHAT SET PASSWORD

T his command enables you to set password protection to a chat channel. Syntax: A L T E RC H A T< c h a t _ i d >S E T P A S S W O R D< p a s s w o r d >< p a s s w o r d _ h i n t > Example:
> A L T E R C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 S E T P A S S W O R D t e s t 2 p a s s w o r d i s t e s t 2 < A L T E R C H A T S E T P A S S W O R D < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 P A S S W O R D H I N T p a s s w o r d i s t e s t 2

Note that the password must be one word without any whitespaces in it. All subsequent words in command parameters will be considered as password hint. Password hint will be displayed to users when they join the chat. Version Protocol 7 (API version 3.0)

ALT ER CHAT ENT ERPASSWORD

T his command enables you to enter passwords from within your own code, when joining password-protected chat channels. Syntax: A L T E RC H A T< c h a t _ i d >E N T E R P A S S W O R D< p a s s w o r d > Example:

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

43/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

/ / / / W h i l e t r y i n g t o c o n n e c t t o a p u b l i c p a s s w o r d p r o t e c t e d c h a n n e l , / / w e g e t f o l l o w i n g m e s s a g e s : < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f P A S S W O R D H I N T " p a s s w o r d i s t e s t " < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f M Y S T A T U S P A S S W O R D _ R E Q U I R E D < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f S T A T U S U N S U B S C R I B E D / / / / L e t s s u p p l y a w r o n g p a s s w o r d f i r s t a n d s e e w h a t h a p p e n s . . > A L T E R C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f E N T E R P A S S W O R D t e s t 2 < A L T E R C H A T E N T E R P A S S W O R D < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f M Y S T A T U S C O N N E C T I N G < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f S T A T U S U N S U B S C R I B E D < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f M Y S T A T U S P A S S W O R D _ R E Q U I R E D < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f S T A T U S U N S U B S C R I B E D / / / / N o w l e t s s u p p l y c o r r e c t p a s s w o r d : > A L T E R C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f E N T E R P A S S W O R D t e s t < A L T E R C H A T E N T E R P A S S W O R D < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f M Y S T A T U S C O N N E C T I N G < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f S T A T U S U N S U B S C R I B E D < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f M Y S T A T U S W A I T I N G _ R E M O T E _ A C C E P T < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f S T A T U S U N S U B S C R I B E D < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f M Y R O L E U S E R < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f M E M B E R S a n a p p o t e s t _ l < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f A C T I V E M E M B E R S a n a p p o t e s t _ l < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f T I M E S T A M P 1 1 7 4 9 0 6 8 9 7 < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f A D D E R t e s t _ l < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f G U I D E L I N E S t e s t g u i d e l i n e s < M E S S A G E 5 5 7 S T A T U S R E C E I V E D < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f T O P I C T e s t i n g P u b l i c C h a t s 2 < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f O P T I O N S 1 < C H A T M E M B E R 5 5 6 R O L E L I S T E N E R < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f M Y R O L E L I S T E N E R < C H A T M E M B E R 5 4 7 R O L E C R E A T O R < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f M Y S T A T U S S U B S C R I B E D < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f S T A T U S M U L T I _ S U B S C R I B E D < C H A T # t e s t _ l / $ 4 e a 1 1 6 d 4 c 2 1 6 b a e f F R I E N D L Y N A M E T e s t i n g P u b l i c C h a t s 2 < M E S S A G E 5 5 8 S T A T U S R E C E I V E D

Version Protocol 7 (API version 3.0)

ALT ER CHAT SET OPT IONS

T his command enables you to change chat options. Syntax: A L T E RC H A T< c h a t _ i d >S E T O P T I O N S< o p t i o n sb i t m a p > Chat options bits:
1J O I N I N G _ E N A B L E D when this bit is off, new users cannot join the chat. 2J O I N E R S _ B E C O M E _ A P P L I C A N T S when this bit is on, new users will be able to join the chat but they will be unable to post or receive messages until authoriz ed by one of the chat administrators (C R E A T O R or M A S T E R ). 4J O I N E R S _ B E C O M E _ L I S T E N E R S when this bit is on, new users will be able to receive message in chat but unable to post until promoted to U S E Rrole. Basically a read-only flag for new users. 8H I S T O R Y _ D I S C L O S E D when this bit is off, newly joined members can see chat history prior to their joining. Maximum amount of history backlog available is either 400 messages or 2 weeks of time, depending on which limit is reached first. 16 U S E R S _ A R E _ L I S T E N E R S read-only flag for chat members with U S E Rrole. 32 T O P I C _ A N D _ P I C _ L O C K E D _ F O R _ U S E R S when this bit of options is off, U S E Rlevel chat members can change chat topic and the topic picture.

Example:
/ / / / S e t t i n g f l a g s : J O I N I N G _ E N A B L E D , J O I N E R S _ B E C O M E _ L I S T E N E R S , H I S T O R Y _ D I S C L O S E D / / A d d i n g u p t h e b i t s : 1 + 4 + 8 = 1 3 > A L T E R C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 S E T O P T I O N S 1 3

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

44/129

18/07/2013
< M E S S A G E 6 7 8 S T A T U S S E N D I N G < A L T E R C H A T S E T O P T I O N S

Skype Developer - Skype Deskt op API Referen ce M an u al

< C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 O P T I O N S 1 3 < M E S S A G E 6 7 8 S T A T U S S E N T

Version Protocol 7 (API version 3.0)

ALT ER CHAT MEMBER SET ROLET O

T his command enables chat administrators (chat C R E A T O R SAND M A S T E R S ) to set privilege levels (roles) for other chat members. Syntax: >A L T E RC H A T M E M B E R< i d >S E T R O L E T O C R E A T O R | M A S T E R | H E L P E R | U S E R | L I S T E N E R Refer to
Chat roles section for more information on different roles. Note that you cannot demote a user to L I S T E N E Rrole when the chat is already in ready-only mode (U S E R S _ A R E _ L I S T E N E R Schat option). ALT ER CHAT MEMBER CANSET ROLET O command for how to determine if it is possible to change the role of any given chat member.

Example:
> G E T C H A T # a n a p p o / $ a n a p p o 3 5 f 7 c d b d d 3 2 d c 7 3 1 c M E M B E R O B J E C T S < C H A T # a n a p p o / $ a n a p p o 3 5 f 7 c d b d d 3 2 d c 7 3 1 c M E M B E R O B J E C T S 1 8 4 6 , 2 2 2 7 , 2 4 9 5 > G E T C H A T M E M B E R 2 4 9 5 I D E N T I T Y < C H A T M E M B E R 2 4 9 5 I D E N T I T Y a n a p p o 2 > G E T C H A T M E M B E R 2 4 9 5 R O L E < C H A T M E M B E R 2 4 9 5 R O L E H E L P E R > A L T E R C H A T M E M B E R 2 4 9 5 S E T R O L E T O U S E R < A L T E R C H A T M E M B E R S E T R O L E T O < M E S S A G E 2 6 2 0 S T A T U S S E N D I N G < C H A T M E M B E R 2 4 9 5 R O L E U S E R

Version Protocol 7 (API version 3.0)

ALT ER CHAT MEMBER CANSET ROLET O

T his command can be used to determine weather current user is able to change the privilege level of another chat member. Syntax: >A L T E RC H A T M E M B E R< i d >C A N S E T R O L E T O C R E A T O R | M A S T E R | H E L P E R | U S E R | L I S T E N E R | A P P L I C A N T < -A L T E RC H A T M E M B E RC A N S E T R O L E T OT R U E | F A L S E Note that unlike other A L T E Rcommands, this one doesnt actually change object properties. Refer to
Chat roles section for more information on different roles. ALT ER CHAT MEMBER SET ROLET O command for more info on how to change chat member roles.

Example:
> G E T C H A T # t e s t / $ t e s t 3 5 f 7 c d b d d 3 2 d c 7 3 1 c M E M B E R O B J E C T S < C H A T # t e s t / $ t e s t 3 5 f 7 c d b d d 3 2 d c 7 3 1 c M E M B E R O B J E C T S 1 8 4 6 , 2 2 2 7 , 2 4 9 5 > G E T C H A T M E M B E R 2 4 9 5 I D E N T I T Y < C H A T M E M B E R 2 4 9 5 I D E N T I T Y t e s t u s e r > A L T E R C H A T M E M B E R 2 4 9 5 C A N S E T R O L E T O H E L P E R

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

45/129

18/07/2013
< A L T E R C H A T M E M B E R C A N S E T R O L E T O T R U E > A L T E R C H A T M E M B E R 2 4 9 5 S E T R O L E T O H E L P E R < A L T E R C H A T M E M B E R S E T R O L E T O < M E S S A G E 3 1 6 6 S T A T U S S E N D I N G < C H A T M E M B E R 2 4 9 5 R O L E H E L P E R

Skype Developer - Skype Deskt op API Referen ce M an u al

Version Protocol 7 (API version 3.0)

ALT ER CHAT KICK

With this command, chat member with sufficient privilege level (master or creator) can remove another member from chat. Note that after being kicked from the channel, the kicked member can re-join the chat. For more permanent removal, see ALT ER CHAT KICKBAN command. Syntax: A L T E RC H A T< c h a t _ i d >K I C K< s k y p e n a m e 1 [ ,s k y p e n a m e 2. . ] > Example:
> A L T E R C H A T # t e s t / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 K I C K t e s t 2 < A L T E R C H A T K I C K

Version Protocol 7 (API version 3.0)

ALT ER CHAT KICKBAN

With this command, chat member with sufficient privilege level (master or creator) can permanently remove another member from chat. Note that kickban only prevents the user from re-joining the chat. Banned users can be added back to the chat by administrators from within the chat. Syntax: A L T E RC H A T< c h a t _ i d >K I C K B A N< s k y p e n a m e 1 [ ,s k y p e n a m e 2. . ] > Example:
> A L T E R C H A T # t e s t / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 K I C K B A N t e s t 2 < A L T E R C H A T K I C K B A N

Version Protocol 7 (API version 3.0)

ALT ER CHAT FINDUSINGBLOB

T his command searches for existing C H A Tobject with given B L O Bproperty value and returns chat ID and status. Refer to CHAT object for more information. Syntax: C H A TF I N D U S I N G B L O B< b l o b > Example:
> C H A T F I N D U S I N G B L O B L s g q q q C T p x W Y j t 9 P L 1 h S v G D O i P h q U u Q A H x I 7 w 7 Q u 7 g J 3 V Z v _ q _ 9 9 Z J O 4 l F 9 D f a w < C H A T # a n a p p o 2 / $ d 9 3 6 4 0 3 0 9 4 3 3 8 d b b S T A T U S M U L T I _ S U B S C R I B E D

Version Protocol 7 (API version 3.0)

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

46/129

18/07/2013
ALT ER CHAT CREAT EUSINGBLOB

Skype Developer - Skype Deskt op API Referen ce M an u al

T his command creates a chat object, based on public chat blob. T his enables you to join public chats from within your own code, assuming that you have somehow obtained the chat blob. Syntax: C H A TC R E A T E U S I N G B L O B< b l o b > Example:
/ / / / W h a t w e s t a r t i s a b l o b o f a p u b l i c c h a t w e p a r s e d o u t o f a / / p u b l i c c h a t U R L o r , f o r e x a m p l e , g o t s e n t v i a a n o t h e r c h a t . / / t h a t b l o b i s : 6 a M 8 1 Z 5 m Z R y r i c R D c j k d y 5 b f 3 Y 6 T s C b V v a x N V V C c Y S V s Q x R G h l A V m T g p Y e x h / / F i r s t w e c r e a t e a C H A T o b j e c t . > C H A T C R E A T E U S I N G B L O B 6 a M 8 1 Z 5 m Z R y r i c R D c j k d y 5 b f 3 Y 6 T s C b V v a x N V V C c Y S V s Q x R G h l A V m T g p Y e x h < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 N A M E # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 A C T I V I T Y _ T I M E S T A M P 0 < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 S T A T U S U N S U B S C R I B E D < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 T Y P E M U L T I C H A T < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 M Y S T A T U S U N S U B S C R I B E D < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 S T A T U S U N S U B S C R I B E D / / / / N o w t h a t w e h a v e c h a t o b j e c t a n d i t ' s I D , w e c a n j o i n t h e c h a t > A L T E R C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 J O I N < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 M Y S T A T U S C O N N E C T I N G < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 S T A T U S U N S U B S C R I B E D < A L T E R C H A T J O I N / / / / N o t e t h a t t h i s i s o u r p r i v i l e g e l e v e l ( r o l e ) i n t h i s c h a t < C H A T M E M B E R 2 9 3 R O L E U S E R < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 M E M B E R S a n a p p o < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 F R I E N D L Y N A M E A v o N a p p o < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 A C T I V E M E M B E R S a n a p p o < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 A C T I V I T Y _ T I M E S T A M P 1 1 7 5 0 0 4 6 0 0 < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 B O O K M A R K E D T R U E < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 M E M B E R S a n a p p o a n a p p o 4 < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 F R I E N D L Y N A M E A v o N a p p o , a n a p p o 4 < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 A C T I V E M E M B E R S a n a p p o a n a p p o 4 < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 M Y S T A T U S W A I T I N G _ R E M O T E _ A C C E P T < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 S T A T U S U N S U B S C R I B E D < C H A T M E M B E R 2 9 4 I S _ A C T I V E F A L S E < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 M Y R O L E U S E R < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 M E M B E R S a n a p p o a n a p p o 4 t e s t _ p < M E S S A G E 2 9 8 S T A T U S R E C E I V E D < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 A C T I V E M E M B E R S a n a p p o t e s t _ p < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 T I M E S T A M P 1 1 7 5 0 0 3 0 7 7 < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 A D D E R a n a p p o < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 T O P I C T e s t i n g P u b l i c C h a t 3 < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 O P T I O N S 1 / / / / F o l l o w i n g n o t i f i c a t i o n t e l l s u s c h a t m e m b e r I D o f t h e c h a t o w n e r ( c r e a t o r ) < C H A T M E M B E R 2 9 3 R O L E C R E A T O R < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 M Y S T A T U S S U B S C R I B E D < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 S T A T U S M U L T I _ S U B S C R I B E D < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 F R I E N D L Y N A M E T e s t i n g P u b l i c C h a t 3 < M E S S A G E 2 9 9 S T A T U S R E C E I V E D < C H A T M E M B E R 2 9 4 I S _ A C T I V E T R U E < C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 A C T I V E M E M B E R S a n a p p o a n a p p o 4 t e s t _ p / / / / W e c a n u s e G E T C H A T M E M B E R 2 9 3 I D E N T I T Y t o g e t c r e a t o r ' s S k y p e n a m e > G E T C H A T M E M B E R 2 9 3 I D E N T I T Y < C H A T M E M B E R 2 9 3 I D E N T I T Y a n a p p o / / / / O p e n i n g c h a t w i n d o w i n U I > O P E N C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2 < O P E N C H A T # a n a p p o / $ b 9 2 7 5 b 3 b 3 3 4 3 4 1 f 2

Version Protocol 7 (API version 3.0)

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

47/129

18/07/2013
ALT ER CHAT SET GUIDELINES

Skype Developer - Skype Deskt op API Referen ce M an u al

T his command enables you to set the Guidelines message for public chats. T he guideline message is displayed at the top of the chat window. Syntax: A L T E RC H A T< c h a t _ i d >S E T G U I D E L I N E S< g u i d e l i n e s > Example:
> A L T E R C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 S E T G U I D E L I N E S t h e s e h e r e a r e t e s t g u i d e l i n e s < M E S S A G E 7 4 4 S T A T U S S E N D I N G < A L T E R C H A T S E T G U I D E L I N E S < C H A T # a n a p p o / $ a 1 0 4 4 0 1 9 f 5 d c 8 c 4 8 G U I D E L I N E S t h e s e h e r e a r e t e s t g u i d e l i n e s < M E S S A G E 7 4 4 S T A T U S S E N T

Version Protocol 7 (API version 3.0)

Managing contacts and groups


Users can group contacts, for example, creating separate groups for friends, family, and work. T o add a user to a group, the user must be in the contact list. Contacts can be in multiple groups at the same time. Refer to the GROUP object for a description of the object properties. T his section contains commands used for grouping the contacts.

GET GROUP USERS

T he G E TG R O U PU S E R Scommand queries the members of a group. Syntax >G E TG R O U P< i d >U S E R S Response < -G R O U P< i d >U S E R S< u s e r 1 > ,< u s e r 2 > ,< u s e r 3 > Refer to SEARCH GROUPS on how to get the group ID list. Version Protocol 5

GET GROUP VISIBLE

T he G E TG R O U PV I S I B L Ecommand queries if a group is visible to the user. Syntax >G E TG R O U P< i d >V I S I B L E Response < -G R O U P< i d >V I S I B L E{ T r u e | F a l s e } Refer to SEARCH GROUPS on how to get the group ID list. Version Protocol 5

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

48/129

18/07/2013
GET GROUP EXPANDED

Skype Developer - Skype Deskt op API Referen ce M an u al

T he G E TG R O U PE X P A N D E Dcommand queries whether a group is expanded in the Skype window. Syntax >G E TG R O U P< i d >E X P A N D E D Response < -G R O U P< i d >E X P A N D E D{ T r u e | F a l s e } Refer to SEARCH GROUPS on how to get the group ID list. Version Protocol 5

GET GROUP DISPLAYNAME

T he G E TG R O U PD I S P L A Y N A M Egets the displayname for a group. Syntax >G E TG R O U P< i d >D I S P L A Y N A M E Response < -G R O U P< i d >D I S P L A Y N A M E< n a m e > Refer to SEARCH GROUPS on how to get the group ID list. Version Protocol 5

SET GROUP DISPLAYNAME

T he S E TG R O U PD I S P L A Y N A M Ecommand changes the displayname for a group. Syntax >S E TG R O U P< i d >D I S P L A Y N A M E< n a m e > Response < -G R O U P< i d >D I S P L A Y N A M E< n a m e > Refer to SEARCH GROUPS on how to get the group ID list. Version Protocol 5

GET GROUP T YPE

T he G E TG R O U PT Y P Ecommand queries the group type. Syntax >G E TG R O U P< i d >T Y P E Response < -G R O U P< i d >T Y P E< g r o u p _ t y p e > Refer to the SEARCH GROUPS command on how to get the group ID list. Refer to the GROUP object for a list and description of group types.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

49/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Version Protocol 5

CREAT E GROUP

T he C R E A T EG R O U Pcommand creates a contact group, for example a group named Family. Syntax >C R E A T EG R O U P< F a m i l y > Response < -C R E A T EG R O U P< F a m i l y > T he command triggers a number of GROUP properties events:
< G R O U P < 2 3 4 > T Y P E C U S T O M _ G R O U P < G R O U P < 2 3 4 > N R O F U S E R S 0 < G R O U P < 2 3 4 > N R O F U S E R S _ O N L I N E 0 < G R O U P < 2 3 4 > C U S T O M _ G R O U P _ I D < 1 1 1 > < G R O U P < 2 3 4 > D I S P L A Y N A M E < F a m i l y > < G R O U P < 2 3 4 > U S E R S

T he command triggers the following notification: < -G R O U P< 2 3 4 >U S E R S< u s e r 1 >< u s e r 2 > . . . Version Protocol 5

DELET E GROUP

T he D E L E T EG R O U Premoves a contact group. Syntax >D E L E T EG R O U P< 2 3 4 > Response < -D E L E T EG R O U P< 2 3 4 > Refer to SEARCH GROUPS on how to get the group ID list. T he command triggers the following notifications:
< D E L E T E D G R O U P < 2 3 4 > < G R O U P < 2 3 4 > U S E R S < u s e r 1 > < u s e r 2 > . . .

ALT ER GROUP ADDUSER

T he A L T E RG R O U PA D D U S E Rcommand adds contacts to a group. Syntax >A L T E RG R O U P< 2 3 4 >A D D U S E R< u s e r h a n d l e | P S T N > Response < -A L T E RG R O U P< 2 3 4 >A D D U S E R< u s e r h a n d l e | P S T N > Parameters A D D U S E R< u s e r h a n d l e | P S T N > T his command triggers the following notification: < -G R O U P< 2 3 4 >N R O F U S E R Sy

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

50/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Note: A contact must exist in a contactlist to be added to a group. Refer to SEARCH GROUPS on how to get the group ID list. Version Protocol 5

ALT ER GROUP REMOVEUSER

T he A L T E RG R O U PR E M O V E U S E Rcommand removes contacts from a group. Syntax: >A L T E RG R O U P< g r o u p _ i d >R E M O V E U S E R< u s e r h a n d l e | P S T N > < -A L T E RG R O U P< g r o u p _ i d >R E M O V E U S E R< u s e r h a n d l e | P S T N > Parameters: R E M O V E U S E R< u s e r h a n d l e | P S T N > Example:
> A L T E R G R O U P 4 9 R E M O V E U S E R a n a p p o 5 / / n o t i f i c a t i o n n e w s i z e o f g r o u p 4 9 i s 6 c o n t a c t s < G R O U P 4 9 N R O F U S E R S 6 / / R e m o v e d u s e r w a s p l a c e d i n s y s t e m g r o u p " U n g r o u p e d " ( g r o u p 5 2 i n t h i s c a s e ) < G R O U P 5 2 N R O F U S E R S 1 < A L T E R G R O U P 4 9 R E M O V E U S E R a n a p p o 5

Refer to SEARCH GROUPS on how to get the group ID list. Version: Protocol 5

Sharing contact groups

Shared contact groups differ from Send Contacts functionality in that adding users to shared groups will automatically cause cross-authoriz ation attempts between users. T o change an existing contact group into shared contact group: >A L T E RG R O U P< i d >S H A R E[ < t e x t > ] Where is the contact group ID and text is invitation message displayed to the invited user. T o accept invitation to a shared group: >A L T E RG R O U P< i d >A C C E P T T o decline invitation to a shared group: >A L T E RG R O U P< i d >D E C L I N E Refer to SEARCH GROUPS on how to get the list of group IDs. Version Protocol 6

SET USER DISPLAYNAME

T he S E TU S E RD I S P L A Y N A M Ecommand changes the display name of a contact.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

51/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

By default this U S E Robject property is empty. If a value is assigned to this property with S E T < s k y p e n a m e >D I S P L A Y N A M E< v a l u e >then that value will be displayed in Skype UI instead of users F U L L N A M E . Syntax: >S E TU S E R< h a n d l e | P S T N >D I S P L A Y N A M E< n a m e > < -S E TU S E R< h a n d l e | P S T N >D I S P L A Y N A M E< n a m e > Version Protocol 5

Search commands
T he search command requests specific information about objects. If no target is specified, all results for specified objects are returned. Syntax: S E A R C HU S E R S| F R I E N D S| C A L L S[ < t a r g e t > ]| A C T I V E C A L L S| M I S S E D C A L L S| V O I C E M A I L S| C H A T S| M I S S E D C H A T S| A C T I V E C H A T S| R E C E N T C H A T S| B O O K M A R K E D C H A T S| C H A T M E S S A G E S[ < t a r g e t > ]| M I S S E D C H A T M E S S A G E S| M E S S A G E S [ < t a r g e t > ]| M I S S E D M E S S A G E S| U S E R S W A I T I N G M Y A U T H O R I Z A T I O N| G R O U P S[ {A L L |C U S T O M|H A R D W I R E D} ]| F I L E T R A N S F E R S| A C T I V E F I L E T R A N S F E R S| S M S S| M I S S E D S M S S Notes
In Skype for Windows 1.1 only one search at a time is allowed; since version 1.2 multiple searches can executed at the same time; T he number of search results is not limited. SkypeOut contacts: since Skype for Windows 1.2 release it is possible to get the list of SkypeOut contacts which are part of the main contact list and they are returned with the contact list numbers, if the S E A R C HF R I E N D Scommand is executed. T o get more information about the number in a current users SkypeOut contacts use the G E TU S E R< n u m b e r >< f u l l n a m e > "command. T his section contains the search commands.

SEARCH FRIENDS

Syntax S E A R C HF R I E N D S Response U S E R S[ u s e r [ ,u s e r ] * ] returns a list of found usernames; an empty list if no match is found
E R R O R6 7t a r g e tn o ta l l o w e dw i t hS E A R C HF R I E N D S A target(such as mike) was specified with the S E A R C HF R I E N D Scommand

Version Protocol 1 Example


> S E A R C H F R I E N D S < U S E R S t i m , j o e , m i k e

SEARCH USERS

Syntax >S E A R C HU S E R S< t a r g e t >

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

52/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Parameters < t a r g e t > part of username or e-mail to match. If the search string contains @, the search is performed by e-mail address and has to be an exact match. If the search string is a valid Skype username, the search is performed on the full name and username fields. In all other cases the search is made on the full name field only. Response < -U S E R S[ < u s e r n a m e > [ ,< u s e r n a m e > ] * ] returns a list of found usernames; list is empty if no match was found Errors
E R R O R4E m p t yt a r g e tn o ta l l o w e d T arget username is not specified

Notes When running the S E A R C HU S E R Scommand, U S E Rnotifications are reported back to the API client as users are found on the network. T he API client should ignore these events and request each users property after the search. Version Protocol 1 Example:
> S E A R C H U S E R S e c h o 1 2 3 < U S E R S e c h o 1 2 3 , e c h o 1 2 3 2 8 8 5

SEARCH CALLS

Syntax S E A R C HC A L L S< t a r g e t > Parameters < t a r g e t > username. Specifying a target is optional. If a target is specified, Skype searches the call history between the current user and the target user. Response < -C A L L S[ i d [ ,i d ] * ] Returns a list of call IDs. If a target is specified, Skype returns IDs of all calls that have been made between the current and target user. Errors
E R R O R5S e a r c hC A L L S :i n v a l i dt a r g e t Characters that are not permitted were used in the target username. T he username must have 6-22 characters and can contain only the following symbols: {a-Z, 0-9-_,.}.

Version Protocol 1 Example


> S E A R C H C A L L S a b c < C A L L S 1 5 , 1 6 , 3 9

SEARCH ACT IVECALLS

Lists all calls visible on calltabs, including members of conference calls if the user is hosting a conference. Syntax >S E A R C HA C T I V E C A L L S

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

53/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Response < -C A L L S[ < i d > [ ,< i d > ] * ] Returns a list of active call IDs. Errors
E R R O R3S E A R C H :u n k n o w nW H A T A C T I V E C A L L Swas misspelled.

Version Protocol 1 Example


> S E A R C H A C T I V E C A L L S < C A L L S 2 5 , 5 6

SEARCH MISSEDCALLS

Syntax >S E A R C HM I S S E D C A L L S Response < -C A L L S[ < i d > [ ,< i d > ] * ] Returns a list ofmissed call IDs, calls in M I S S E Dstatus. Errors
E R R O R6S E A R C HM I S S E D C A L L S :t a r g e tn o ta l l o w e d No target is allowed with S E A R C HM I S S E D C A L L S .

Version Protocol 1 Example


> S E A R C H M I S S E D C A L L S < C A L L S 2 5 , 5 6

SEARCH SMSS

All SMS messages that you have created in Skype remain stored in the system until they get removed with [#MANAGING_SMS_MESSAGES_DELET ING DELET E SMS ] command. T he list of these SMS messages can be queried with S E A R C HS M S Scommand: Syntax: >S E A R C HS M S S < -S M S S< I D 1 > ,< I D 2 > ,< I D 3 >. . Example:
> S E A R C H S M S S < S M S S 2 3 3

Refer to SMS object section for a list of SMS object properties. Version Added in API version 2.5

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

54/129

18/07/2013
SEARCH MISSEDSMSS

Skype Developer - Skype Deskt op API Referen ce M an u al

Returns a list of IDs of received but unread SMS objects. Syntax: >S E A R C HM I S S E D S M S S < -S M S S< I D 1 > ,< I D 2 > ,< I D 3 >. . Example:
> S E A R C H S M S S < S M S S 2 3 3

Refer to SMS object section for a list of SMS object properties. Version Added in API version 2.5

SEARCH VOICEMAILS

Returns a list of voicemail IDs. Syntax: >S E A R C HV O I C E M A I L S < -V O I C E M A I L S[ < i d > [ ,< i d > ] * ] Errors
E R R O R2 9S E A R C HV O I C E M A I L S :t a r g e tn o ta l l o w e d No target is allowed with S E A R C HV O I C E M A I L S .

Version Protocol 5 Example:


> S E A R C H V O I C E M A I L S < V O I C E M A I L S 6 5 , 7 0 , 7 1

SEARCH MISSEDVOICEMAILS

Returns a list of IDs of missed voicemails. Syntax: >S E A R C HM I S S E D V O I C E M A I L S < -V O I C E M A I L S[ < i d > [ ,< i d > ] * ] Errors
E R R O R2 9S E A R C HM I S S E D V O I C E M A I L S :t a r g e tn o ta l l o w e d No target is allowed with S E A R C HM I S S E D V O I C E M A I L S

Version Protocol 6 Example:


> S E A R C H M I S S E D V O I C E M A I L S < V O I C E M A I L S 6 5 , 7 0 , 7 1

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

55/129

18/07/2013
SEARCH MESSAGES

Skype Developer - Skype Deskt op API Referen ce M an u al

Syntax S E A R C HM E S S A G E S[ < t a r g e t > ] Parameters


< t a r g e t > username. It is optional to specify a target. If a target is specified, Skype searches the message history between the current user and the target user.

Response M E S S A G E S[ < i d > [ ,< i d > ] * ] Returns a list of message IDs. If a target is specified, Skype returns IDs of all messages that have been sent between the current user and the target user. Errors
E R R O R5S E A R C HM E S S A G E S :i n v a l i dt a r g e t A character was used in the target username that is not permitted. T he username must have 6-22 characters and can contain only the following symbols: {a-Z, 0-9-_,.}.

Version Protocol 1, deprecated in protocol 3 Notes T his search is deprecated in protocol 3, use the SEARCH CHAT MESSAGES command instead. Example
> S E A R C H M E S S A G E S a b c < M E S S A G E S 1 2 3 , 1 2 4

SEARCH MISSEDMESSAGES

Syntax S E A R C HM I S S E D M E S S A G E S Response M E S S A G E S[ < i d > [ ,< i d > ] * ] Returns a list of message IDs. Errors
E R R O R2 9S E A R C HM I S S E D M E S S A G E S :t a r g e tn o ta l l o w e d No target is allowed with the S E A R C HM I S S E D M E S S A G E Scommand.

Version Protocol 1, deprecated in protocol 3 Notes T his search is deprecated in protocol 3. Use the S E A R C HM I S S E D C H A T M E S S A G E Scommand instead. Example
> S E A R C H M I S S E D M E S S A G E S < M E S S A G E S 1 2 3 , 1 2 4

SEARCH CHAT S

Syntax S E A R C HC H A T S

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

56/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Response C H A T S[ < c h a t n a m e > [ ,< c h a t n a m e > ] * ] Returns a list of chat IDs. Errors
E R R O R1 0 7t a r g e tn o ta l l o w e dw i t hC H A T S No target isallowed with the S E A R C HC H A T Scommand.

Version Protocol 3 Example


> S E A R C H C H A T S < C H A T S # b i t m a n / $ j e s s y e b 0 6 e 6 5 6 1 2 3 5 3 2 7 9 , # b i t m a n / $ j d e n t o n 9 2 4 4 e 9 8 f 8 2 d 7 d 3 9 1

SEARCH ACT IVECHAT S

Syntax S E A R C HA C T I V E C H A T S Response C H A T S[ < c h a t n a m e > [ ,< c h a t n a m e > ] * ] Returns a list of chat IDs that are open in the window. Errors
E R R O R2 9N ot a r g e ta l l o w e d No target is allowed with S E A R C HA C T I V E C H A T S.

Version Protocol 5 Example


> S E A R C H A C T I V E C H A T S < C H A T S # b i t m a n / $ j e s s y e b 0 6 e 6 5 6 1 2 3 5 3 2 7 9 , # b i t m a n / $ j d e n t o n 9 2 4 4 e 9 8 f 8 2 d 7 d 3 9 1

SEARCH MISSEDCHAT S

Syntax S E A R C HM I S S E D C H A T S Response C H A T S[ < c h a t n a m e > [ ,< c h a t n a m e > ] * ] Returns a list of chat IDs that include unread messages. Errors
E R R O R2 9S E A R C HM I S S E D C H A T S :t a r g e tn o ta l l o w e d Notarget is allowed with S E A R C HM I S S E D C H A T S.

Version Protocol 5 Example


> S E A R C H M I S S E D C H A T S < C H A T S # b i t m a n / $ j e s s y e b 0 6 e 6 5 6 1 2 3 5 3 2 7 9 , # b i t m a n / $ j d e n t o n 9 2 4 4 e 9 8 f 8 2 d 7 d 3 9 1

SEARCH RECENT CHAT S

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

57/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Syntax S E A R C HR E C E N T C H A T S Response C H A T S[ < c h a t n a m e > [ ,< c h a t n a m e > ] * ] Returns a list of recent chat IDs. Errors
E R R O R2 9S E A R C HR E C E N T C H A T S :t a r g e tn o ta l l o w e d Notarget is allowed with S E A R C HR E C E N T C H A T S.

Version Protocol 5 Example


> S E A R C H R E C E N T C H A T S < C H A T S # b i t m a n / $ j e s s y e b 0 6 e 6 5 6 1 2 3 5 3 2 7 9 , # b i t m a n / $ j d e n t o n 9 2 4 4 e 9 8 f 8 2 d 7 d 3 9 1

SEARCH BOOKMARKEDCHAT S

Syntax S E A R C HB O O K M A R K E D C H A T S Response C H A T S[ < c h a t n a m e > [ ,< c h a t n a m e > ] * ] Returns a list of bookmarked chat IDs. Errors
E R R O R2 9S E A R C HB O O K M A R K E D C H A T S :t a r g e tn o ta l l o w e d Notarget is allowed with S E A R C HB O O K M A R K E D C H A T S.

Version Protocol 5 Example


> S E A R C H B O O K M A R K E D C H A T S < C H A T S # b i t m a n / $ j e s s y e b 0 6 e 6 5 6 1 2 3 5 3 2 7 9 , # b i t m a n / $ j d e n t o n 9 2 4 4 e 9 8 f 8 2 d 7 d 3 9 1

SEARCH CHAT MESSAGES

Syntax S E A R C HC H A T M E S S A G E S[ < u s e r n a m e > ] Parameters < u s e r n a m e > target username, optional. If a username is specified, only chatmessages from/to that target user are returned. Response C H A T M E S S A G E S[ < i d > [ ,< i d > ] * ] Returns a list of chat message IDs. Errors
E R R O R2 9S E A R C HC H A T M E S S A G E S :T a r g e tn o ta l l o w e d T he target username contained a character that is not permitted. (Username must have 6-22 characters and can contain only the following symbols: {a-Z, 0-9-_,.}.

Version Protocol 3

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

58/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Example
> S E A R C H C H A T M E S S A G E S a b c < C H A T M E S S A G E S 6 0 , 5 9

SEARCH MISSEDCHAT MESSAGES

Syntax S E A R C HM I S S E D C H A T M E S S A G E S Response C H A T M E S S A G E S[ < i d > [ ,< i d > ] * ] Returns a list of missed chat message IDs. Errors
E R R O R2 9S E A R C HM I S S E D C H A T M E S S A G E S :t a r g e tn o ta l l o w e d Notarget is allowed with S E A R C HM I S S E D C H A T M E S S A G E S.

Version Protocol 3 Example


> S E A R C H M I S S E D C H A T M E S S A G E S < C H A T M E S S A G E S 6 1 , 6 2

SEARCH USERSWAIT INGMYAUT HORIZAT ION

List of users who are waiting for contact authoriz ation. Syntax: >S E A R C HU S E R S W A I T I N G M Y A U T H O R I Z A T I O N < -U S E R S[ < s k y p e n a m e 1 > [ ,< s k y p e n a m e 2 > ] * ] Errors
E R R O R2 9S E A R C HU S E R S W A I T I N G M Y A U T H O R I Z A T I O N :t a r g e tn o ta l l o w e d

Version Protocol 5 Example:


> S E A R C H U S E R S W A I T I N G M Y A U T H O R I Z A T I O N < U S E R S t i m , j o h n , e c h o 1 2 3

SEARCH GROUPS

T he S E A R C HG R O U P Scommand returns comma-separated list of IDs of users contact groups. Syntax: >S E A R C HG R O U P S[ {A L L|C U S T O M|H A R D W I R E D} ] < -G R O U P S< i d 1 > ,< i d 2 > ,< i d 3 > ,. . . Example:
/ / / / G e t t i n g a l i s t o f c u s t o m ( u s e r m a d e ) g r o u p s

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

59/129

18/07/2013
> S E A R C H G R O U P S C U S T O M

Skype Developer - Skype Deskt op API Referen ce M an u al

< G R O U P S 3 2 3 8 , 3 2 3 9 , 3 2 4 0 , 3 2 4 1 , 3 2 4 2 , 3 3 7 2 / / / / G e t t i n g g r o u p n a m e s f r o m I D s g o e s l i k e t h i s : > G E T G R O U P 3 2 4 0 D I S P L A Y N A M E < G R O U P 3 2 4 0 D I S P L A Y N A M E t e s t

Version Protocol 5 Errors


E R R O R 5 6 1 S E A R C H G R O U P S : i n v a l i d t a r g e t E R R O R 5 6 2 I n v a l i d g r o u p i d E R R O R 5 6 3 I n v a l i d g r o u p o b j e c t E R R O R 5 6 4 I n v a l i d g r o u p p r o p e r t y g i v e n

SEARCH FILET RANSFERS

Returns a list of all file transfer IDs. Refer to FILET RANSFER object for more details. Syntax >S E A R C HF I L E T R A N S F E R S Response < -F I L E T R A N S F E R S[ < i d > [ ,< i d > ] * ] Example:
> S E A R C H F I L E T R A N S F E R S < F I L E T R A N S F E R S 1 3 4 3 , 1 3 1 4 , 1 2 6 3 , 1 2 4 9 , 1 2 4 1 , 9 8 2 , 5 4 4 , 1 0 8 6

Version Protocol 7 (API version 3.0)

SEARCH ACT IVEFILET RANSFERS

Returns a list of currently active (ones that are nor C O M P L E T E D ,C A N C E L L E Dor F A I L E D ) file transfer IDs. Refer to FILET RANSFER object for more details. Note that it is not necessary for remote users to accept the file transfer for it to become listed in ACT IVEFILET RANSFERS for both parties. Syntax >S E A R C HA C T I V E F I L E T R A N S F E R S Response < -F I L E T R A N S F E R S[ < i d > [ ,< i d > ] * ] Example:
> S E A R C H A C T I V E F I L E T R A N S F E R S < F I L E T R A N S F E R S 1 4 1 1 > G E T F I L E T R A N S F E R 1 4 1 1 S T A T U S < F I L E T R A N S F E R 1 4 1 1 S T A T U S W A I T I N G _ F O R _ A C C E P T

Version Protocol 7 (API version 3.0)

Managing history

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

60/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

T hese commands are available to clear chat, voicemail, and call history. Skype4Com example:
CallHistory.pas

CLEAR CHAT HIST ORY

T his command clears chat history. NB! T his command does not remove chat entries from the Skype history tab. Instead, it clears chatmessage histories within chats. Syntax >C L E A RC H A T H I S T O R Y < -C L E A RC H A T H I S T O R Y

CLEAR VOICEMAILHIST ORY

Clears voicemail entries from the history tab in Skype UI. Syntax: >C L E A RV O I C E M A I L H I S T O R Y < -C L E A RV O I C E M A I L H I S T O R Y Example:
> C L E A R V O I C E M A I L H I S T O R Y < C L E A R V O I C E M A I L H I S T O R Y < V O I C E M A I L 3 3 9 8 S T A T U S D E L E T I N G

CLEAR CALLHIST ORY

Clears call entries from the history tab in Skype UI. Syntax: >C L E A RC A L L H I S T O R Y< A L L | M I S S E D | I N C O M I N G | O U T G O I N G >[ s k y p e n a m e ] < -C L E A RC A L L H I S T O R Y< A L L | M I S S E D | I N C O M I N G | O U T G O I N G >[ s k y p e n a m e ] Example:
/ / / / R e m o v e s i n c o m i n g c a l l s f r o m u s e r t e s t 2 f r o m S k y p e h i s t o r y t a b > C L E A R C A L L H I S T O R Y I N C O M I N G t e s t 2 < C L E A R C A L L H I S T O R Y I N C O M I N G t e s t 2

Controlling Skype user interface


T his section lists the commands used to control the Skype user interface.

FOCUS

T he F O C U Sbrings the Skype window into focus on screen (on top). Syntax: >F O C U S

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

61/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

< -F O C U S See also SET WINDOWST AT E command for more recent and universal version of the same functionality. Note also that from version 3.6 the F O C U Scommand produces additional window state notification message in following format: < -W I N D O W S T A T EN O R M A L | M I N I M I Z E D | M A X I M I Z E D | H I D D E N Version Protocol 1

MINIMIZE

T his command minimiz es the main Skype window into the system tray. Syntax: >M I N I M I Z E < -M I N I M I Z E * See also SET WINDOWST AT E command for more recent and universal version of the same functionality. Note also that from version 3.6 the M I N I M I Z Ecommand produces additional window state notification message in following format: < -W I N D O W S T A T EN O R M A L | M I N I M I Z E D | M A X I M I Z E D | H I D D E N Version Skype for Windows 1.3 Notes T his command does not minimiz e other Skype windows, such as chat or filetransfer.

GET WINDOWST AT E

Returns the current state of the Skype main window. T he W I N D O W S T A T Eproperty is readwrite, so you can cause the Skype main window to minimiz e to system tray, maximiz e, etc. with corresponding S E TW I N D O W S T A T Ecommand. Syntax: @ GET WINDOWST AT E @ < -W I N D O W S T A T EN O R M A L | M I N I M I Z E D | M A X I M I Z E D | H I D D E N Example:
> # 1 G E T W I N D O W S T A T E < # 1 W I N D O W S T A T E N O R M A L > # 2 S E T W I N D O W S T A T E M I N I M I Z E D < # 2 W I N D O W S T A T E M I N I M I Z E D < W I N D O W S T A T E M I N I M I Z E D > # 3 S E T W I N D O W S T A T E M A X I M I Z E D < # 3 W I N D O W S T A T E M A X I M I Z E D < W I N D O W S T A T E M A X I M I Z E D < W I N D O W S T A T E M I N I M I Z E D > # 4 S E T W I N D O W S T A T E N O R M A L < # 4 W I N D O W S T A T E N O R M A L < W I N D O W S T A T E N O R M A L

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

62/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Note that you also get these W I N D O W S T A T Enotification messages when the window state was altered via UI, i.e. when a user clicks on minimiz e button in the Skype window, corresponding API notification event is generated. T his is also the reason S E TW I N D O W S T A T Ecommand receives two reply notifications. One is sent as direct reply to the actual API command, the second one is generated by the change in Skype window state. NB! As seen in the example above, of those two notification events, in response to S E T W I N D O W S T A T Eonly one comes with command identifier. Version: Windows version 3.6

SET WINDOWST AT E

T his command causes the Skype Main window to change state. Note that this command only applies to Skype main window. Other Skype windows, such as chat windows or file trasfer windows are unaffected by this command. Syntax: @ SET WINDOWST AT E NORMAL|MINIMIZED|MAXIMIZED|HIDDEN @ < -W I N D O W S T A T EN O R M A L | M I N I M I Z E D | M A X I M I Z E D | H I D D E N < -W I N D O W S T A T EN O R M A L | M I N I M I Z E D | M A X I M I Z E D | H I D D E N Note this command generates two reply notifications. If you are using this command together with command identifiers, then it might be important to know that only the first one of those notifications comes back with command ID (see example below). Parameters:
N O R M A L resets Skype main window to previous manually adjusted siz e and position. M I N I M I Z E D minimiz es Skype window to taskbar NB! T his does not put Skype to system tray, to minimiz e Skype to system tray use H I D D E Nparameter. M A X I M I Z E D maximiz es Skype main window all over the current desktop. H I D D E N minimiz es Skype main window to system tray.

Example:
> # 1 G E T W I N D O W S T A T E < # 1 W I N D O W S T A T E N O R M A L > # 2 S E T W I N D O W S T A T E M I N I M I Z E D < # 2 W I N D O W S T A T E M I N I M I Z E D < W I N D O W S T A T E M I N I M I Z E D > # 3 S E T W I N D O W S T A T E M A X I M I Z E D < # 3 W I N D O W S T A T E M A X I M I Z E D < W I N D O W S T A T E M A X I M I Z E D < W I N D O W S T A T E M I N I M I Z E D > # 4 S E T W I N D O W S T A T E N O R M A L < # 4 W I N D O W S T A T E N O R M A L < W I N D O W S T A T E N O R M A L

Version: *Added in API version 3.6

OPEN ADDAFRIEND

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

63/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

T his command opens the Add a Contact window. NB! Dont miss that A between ADD and FRIEND. Syntax: >O P E NA D D A F R I E N D[ < u s e r n a m e > ] < -O P E NA D D A F R I E N D[ < u s e r n a m e > ] Parameters < u s e r n a m e > target username is optional. If a username is specified, the window is prefilled with it. Errors E R R O R6 9O P E N :i n v a l i dW H A T Open target is missing or misspelled Version Skype for Windows 1.0

OPEN IM

T his command opens the chat window with prefilled message. Syntax: >O P E NI M< u s e r n a m e >[ < m e s s a g e > ] Response: In response, open chat command feedback is generated, followed by with echoing back the original command (see example below). Parameters
< u s e r n a m e > contact username to whom to send the message. < m e s s a g e > optional message body prefilled into the window. Note that this message is not actually sent just pasted into chat windows input line.

Errors
E R R O R6 9O P E N :i n v a l i dW H A T Open target is missing or misspelled E R R O R7 0I n v a l i du s e rh a n d l e Username is missing or contains not permitted symbols

Notes T he protocol 5 chat management commands and Skype for Windows 1.3 O P E NC H A T command are preferable to the O P E NI Mcommand. Example:
> O P E N I M e c h o 1 2 3 t h i s i s a p r e f i l l e d c h a t m e s s a g e < C H A T # a n a p p o / $ e c h o 1 2 3 e b e 5 3 1 1 c d d 2 0 3 6 5 7 N A M E # a n a p p o / $ e c h o 1 2 3 e b e 5 3 1 1 c d d 2 0 3 6 5 7 < C H A T # a n a p p o / $ e c h o 1 2 3 e b e 5 3 1 1 c d d 2 0 3 6 5 7 A C T I V I T Y _ T I M E S T A M P 0 < M E S S A G E 1 2 5 9 S T A T U S S E N D I N G < C H A T # a n a p p o / $ e c h o 1 2 3 e b e 5 3 1 1 c d d 2 0 3 6 5 7 T Y P E D I A L O G < C H A T M E M B E R 1 2 5 7 R O L E U S E R < C H A T # a n a p p o / $ e c h o 1 2 3 e b e 5 3 1 1 c d d 2 0 3 6 5 7 M Y R O L E U S E R < C H A T # a n a p p o / $ e c h o 1 2 3 e b e 5 3 1 1 c d d 2 0 3 6 5 7 A C T I V E M E M B E R S a n a p p o < C H A T # a n a p p o / $ e c h o 1 2 3 e b e 5 3 1 1 c d d 2 0 3 6 5 7 M Y S T A T U S S U B S C R I B E D < C H A T # a n a p p o / $ e c h o 1 2 3 e b e 5 3 1 1 c d d 2 0 3 6 5 7 S T A T U S D I A L O G < C H A T # a n a p p o / $ e c h o 1 2 3 e b e 5 3 1 1 c d d 2 0 3 6 5 7 T I M E S T A M P 1 1 7 8 7 9 3 1 5 4 < C H A T # a n a p p o / $ e c h o 1 2 3 e b e 5 3 1 1 c d d 2 0 3 6 5 7 D I A L O G _ P A R T N E R e c h o 1 2 3 < C H A T # a n a p p o / $ e c h o 1 2 3 e b e 5 3 1 1 c d d 2 0 3 6 5 7 M E M B E R S a n a p p o e c h o 1 2 3 < C H A T # a n a p p o / $ e c h o 1 2 3 e b e 5 3 1 1 c d d 2 0 3 6 5 7 F R I E N D L Y N A M E E c h o / S o u n d T e s t S e r v i c e < O P E N I M e c h o 1 2 3 t h i s i s a p r e f i l l e d c h a t m e s s a g e

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

64/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Version Skype for Windows 1.0

OPEN CHAT

Opens chat window for existing C H A Tobject. Syntax: >O P E NC H A T< c h a t _ i d > < -O P E NC H A T< c h a t _ i d > Parameters < c h a t _ i d > existing chat identifier (Refer to SEARCH CHAT S command). Errors
E R R O R6 9i n v a l i do p e nw h a t Open target is missing or misspelled E R R O R1 0 5I n v a l i dc h a tn a m e Chat id is missing or chat with this id doesnt exist.

Version Skype for Windows 1.3 Example:


> O P E N C H A T # t e s t / $ e c h o 1 2 3 5 2 c 2 7 5 0 d 8 6 8 6 c 1 0 c < O P E N C H A T # t e s t / $ e c h o 1 2 3 5 2 c 2 7 5 0 d 8 6 8 6 c 1 0 c

NB! From version 3.6 and later, opening chat windows (both from API and manually via UI) generate additional chat window open and close notfication messages. Refer to the Chat notifications section for more information.

OPEN FILET RANSFER

Syntax: >O P E NF I L E T R A N S F E R< u s e r n a m e > [ ,< u s e r n a m e > ] * [I N< f o l d e r > ] < -O P E NF I L E T R A N S F E R< u s e r n a m e > [ ,< u s e r n a m e > ] * [I N< f o l d e r > ] Parameters
< u s e r n a m e > list of usernames to transfer file to; < f o l d e r > optional, filesystem folder for file selection window. If not specified, the file transfer window opens in the default directory.

Errors
E R R O R6 9i n v a l i do p e nw h a t Open target is missing or misspelled E R R O R1 0 8u s e rn o tc o n t a c t Command is allowed for authoriz ed contacts only E R R O R1 0 9d i r e c t o r yd o e s n ' te x i s t Given folder does not exist or user has no access to it

Example:
> O P E N F I L E T R A N S F E R e c h o 1 2 3 I N C : \ t e m p < E R R O R 1 0 8 u s e r n o t c o n t a c t > O P E N F I L E T R A N S F E R m y f r i e n d I N C : \ t e m p < O P E N F I L E T R A N S F E R m y f r i e n d I N C : \ t e m p

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

65/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Version Skype for Windows 1.3

OPEN LIVET AB

Opens Live tab in Skype UI. Syntax: >O P E NL I V E T A B < -O P E NL I V E T A B Version API version 3.2 (protocol 7)

OPEN VIDEOT EST

T his command opens the Video test window to test if video is working. See OPEN VIDEOT EST command reference for details.

OPEN VOICEMAIL

T his command brings the callhistory tab into focus and starts playing a voicemail. See OPEN VOICEMAIL command reference for details.

OPEN PROFILE

T his command opens the profile window for the current user. Syntax: >O P E NP R O F I L E < -O P E NP R O F I L E Errors
E R R O R6 9i n v a l i do p e nw h a t Open target is missing or misspelled

Version Skype for Windows 1.4

OPEN USERINFO

T his command opens the profile window for a named Skype contact. Note that when the contact given in the parameter does not exist, a profile window is still opened, with an option to add < s k y p e n a m e >to users contact list. T herefore, you cannot rely on feedback of this command to determine whether < s k y p e n a m e >is present in your contact list. Syntax: >O P E NU S E R I N F O< s k y p e n a m e > < -O P E NU S E R I N F O< s k y p e n a m e > Parameters < s k y p e n a m e > Skypename of contact Errors

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

66/129

18/07/2013
E R R O Ri n v a l i ds k y p e n a m e E R R O R6 9i n v a l i do p e nw h a t O p e nt a r g e ti sm i s s i n go rm i s s p e l l e d

Skype Developer - Skype Deskt op API Referen ce M an u al

Version Skype for Windows 1.4

OPEN CONFERENCE

T his command opens the create conference window. Note that this command does not allow parameters. Syntax: >O P E NC O N F E R E N C E < -O P E NC O N F E R E N C E Errors
E R R O R6 9i n v a l i do p e nw h a t O p e nt a r g e ti sm i s s i n go rm i s s p e l l e d

Version Skype for Windows 1.4

OPEN SEARCH

T his command opens the Skype user search window. Note that this command does not allow parameters. Syntax: >O P E NS E A R C H < -O P E NS E A R C H Errors
E R R O R6 9i n v a l i do p e nw h a t O p e nt a r g e ti sm i s s i n go rm i s s p e l l e d

Version Skype for Windows 1.4

OPEN OPT IONS

T his command opens the options configuration window. Syntax: >O P E NO P T I O N S< p a g e > < -O P E NO P T I O N S< p a g e > Parameters < p a g e > , possible values:
general privacy notifications soundalerts sounddevices hotkeys connection

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

67/129

18/07/2013
voicemail callforward video advanced

Skype Developer - Skype Deskt op API Referen ce M an u al

Note that no error feedback is generated that when an erroneous page name is passed in the < p a g e >parameter the command will still be echoed back, it simply does nothing. * Errors
E R R O R6 9i n v a l i do p e nw h a t O p e nt a r g e ti sm i s s i n go rm i s s p e l l e d

Version Skype for Windows 1.4 Note: O P E NO P T I O N Sv i d e oparameter was introduced in Skype for Windows 2.0.

OPEN CALLHIST ORY

T his command opens and sets the focus to the call history tab in the main Skype window. Syntax: >O P E NC A L L H I S T O R Y < -O P E NC A L L H I S T O R Y Errors
E R R O R6 9i n v a l i do p e nw h a tO p e nt a r g e ti sm i s s i n go rm i s s p e l l e d

Version Skype for Windows 1.4 As of version 2.0.0.12, this command also works on Linux.

OPEN CONT ACT S

T his command opens and sets the focus to the contacts tab in the main Skype window. Syntax: >O P E NC O N T A C T S < -O P E NC O N T A C T S Errors
E R R O R6 9i n v a l i do p e nw h a t O p e nt a r g e ti sm i s s i n go rm i s s p e l l e d

Version Skype for Windows 1.4 As of version 2.0.0.12, this command also works on Linux.

OPEN DIALPAD

T his command opens and sets the focus to the dialpad tab in the main Skype window. Syntax: >O P E ND I A L P A D

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

68/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

< -O P E ND I A L P A D Errors
E R R O R6 9i n v a l i do p e nw h a t O p e nt a r g e ti sm i s s i n go rm i s s p e l l e d

Version Skype for Windows 1.4

OPEN SENDCONT ACT S

T his command opens the send contacts window. Syntax: >O P E NS E N D C O N T A C T S< u s e r n a m e >[< u s e r n a m e 2 >< u s e r n a m e 3 > ] < -O P E NS E N D C O N T A C T S< u s e r n a m e >[< u s e r n a m e 2 >< u s e r n a m e 3 > ] Parameters Whitespace separated list of Skype usernames of recepients of the contact list. Errors
E R R O R6 9i n v a l i do p e nw h a t O p e nt a r g e ti sm i s s i n go rm i s s p e l l e d E R R O R4O P E NE m p t yt a r g e tn o ta l l o w e d missing username parameter(s)

Version Skype for Windows 1.4

OPEN BLOCKEDUSERS

T his command opens the blocked users tab of the Options window. Syntax: >O P E NB L O C K E D U S E R S < -O P E NB L O C K E D U S E R S Errors
E R R O R6 9i n v a l i do p e nw h a t O p e nt a r g e ti sm i s s i n go rm i s s p e l l e d

Version Skype for Windows 1.4

OPEN IMPORT CONT ACT S

T his command opens the import contacts wiz ard. Syntax: >O P E NI M P O R T C O N T A C T S < -O P E NI M P O R T C O N T A C T S Errors
E R R O R6 9i n v a l i do p e nw h a t O p e nt a r g e ti sm i s s i n go rm i s s p e l l e d

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

69/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Version Skype for Windows 1.4

OPEN GET T INGST ART ED

T his command opens the getting started wiz ard. Syntax: >O P E NG E T T I N G S T A R T E D < -O P E NG E T T I N G S T A R T E D Errors
E R R O R6 9i n v a l i do p e nw h a t O p e nt a r g e ti sm i s s i n go rm i s s p e l l e d

Version Skype for Windows 1.4

OPEN AUT HORIZAT ION

T his command opens the authoriz ation request window for a given user. Syntax: >O P E NA U T H O R I Z A T I O N< s k y p e n a m e > < -O P E NA U T H O R I Z A T I O N< s k y p e n a m e > Parameters s k y p e n a m eof the user whose authoriz ation is requested. Errors
E R R O R6 9i n v a l i do p e nw h a t O p e nt a r g e ti sm i s s i n go rm i s s p e l l e d E R R O R1 1 7O P E NU s e ra l r e a d ya u t h o r i z e d

Version Skype for Windows 1.4

BT N_PRESSED and BT N_RELEASED

BT N_PRESSED command does not actually do anything useful. BT N_RELEASED command can be used to simulate keyboard events in Skype UI. Syntax: >B T N _ P R E S S E D< k e y > < -B T N _ P R E S S E D< k e y > >B T N _ R E L E A S E D< k e y > < -B T N _ R E L E A S E D< k e y > Parameters: Parameter can have one the of following values: *

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

70/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

{ 0 . . . 9|A . . . Z|#|*|+|U P|D O W N|Y E S|N O|S K Y P E|P A G E U P| P A G E D O W N } Note that during an active call, when either Call or Call Phone tabs are focused, B T N _ R E L E A S E Dcommand with parameter that is a valid DT MF code, will cause that DT MF code to be sent to the remote party of the call. Version Protocol 5

GET CONT ACT S FOCUSED

T his command returns the skypename of a contact currently focused in Skype UI. Note that when more than one contacts are selected in SKype UI, this command only returns only one contact (the last one focused). Syntax: >G E TC O N T A C T S _ F O C U S E D < -C O N T A C T SF O C U S E D< s k y p e n a m e > Note that the < -C O N T A C T SF O C U S E Dresponse has the same syntax as automatic focus notifications. Version Protocol 7 (API version 3.1)

GET /SET UI_LANGUAGE

Following two commands are available to change and retrieve current interface language settings: >G E TU I _ L A N G U A G E >S E TU I _ L A N G U A G E< i s o 2 > Example:
> G E T U I _ L A N G U A G E < U I _ L A N G U A G E e n > S E T U I _ L A N G U A G E e n < U I _ L A N G U A G E e n < U I _ L A N G U A G E e n < U I _ L A N G U A G E e n

Note that the < -U I _ L A N G U A G E< i s o 2 >notification message is also generated by Skype when language settings get changed manually from the user interface. NB! When the UI language is set via custom language file, G E TU I _ L A N G U A G Ewill return xx (used to return en in versions prior to 3.5). Version Protocol 6 (API version 3.0)

GET /SET WALLPAPERS

Following two commands are available to change and retrieve current interface wallpapers: >G E TW A L L P A P E R < -W A L L P A P E R[ < f i l e n a m e > ]

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

71/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

>S E TW A L L P A P E R[ < f i l e n a m e > ] < -W A L L P A P E R[ < f i l e n a m e > ] Note that the filename parameter must contain full path as well as file extension of the wallpaper file. T he filename parameter must not be enclosed in quotes. When S E TW A L L P A P E Rcommand is given without a parameter, it will remove current wallpaper. Supported picture formats are PNG, JPG, and BMP Example:
/ / / / S e t t i n g u s e r i n t e r f a c e b a c k g r o u n d > S E T W A L L P A P E R C : \ S t u f f \ t e s t . b m p < W A L L P A P E R C : \ S t u f f \ t e s t . b m p < W A L L P A P E R C : \ S t u f f \ t e s t . b m p / / / / T r y i n g n o n e x i s t i n g f i l e . . > S E T W A L L P A P E R c : \ S t u f f \ w r o n g f i l e . b m p < E R R O R 1 1 1 S E T F i l e n o t f o u n d / / / / R e t r i e v i n g b a c k g r o u n d f i l e n a m e > G E T W A L L P A P E R C : \ S t u f f \ t e s t . b m p < W A L L P A P E R C : \ S t u f f \ t e s t . b m p / / / / C l e a r i n g b a c k g r o u n d f i l e n a m e > S E T W A L L P A P E R < W A L L P A P E R < W A L L P A P E R

Note that the < -W A L L P A P E R< f i l e n a m e >notification message is also generated by Skype when the wallpaper is changed manually from the user interface. Version Protocol 6 (API version 3.0)

SILENT _MODE

While in silent mode, the Skype client will no longer send out any visual notifications of calls, chat messages or other Skype events, although you will still hear ringtone when someone is calling you. Syntax: >S E TS I L E N T _ M O D E{ O N | O F F } < -S I L E N T _ M O D E{ O N | O F F } Example:
> S E T S I L E N T _ M O D E O N < S I L E N T _ M O D E O N > S E T S I L E N T _ M O D E O F F < S I L E N T _ M O D E O F F

Silent mode can also be turned off by doubleclicking on the Skype icon in the System T ray. NB! Using Open Skype command from the System T ray local menu will not turn Silent Mode off. Only double-click on the icon does. Note that when a user manually turns off silent mode from System T ray, SILENT _MODE OFF notification is sent out by Skype. Note that switching silent mode ON will cause the Skype Client to pop a confirmation

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

72/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

message, displaying the name of the application from which the silent mode request originated. T his confirmation message will re-pop every time a third party application tries to enter silent mode. Version Protocol 6 (Skype API 2.6)

Custom Menus and Events


In API version 3.0, it is possible to add your own menu items under !DoMore sections of Skype UI menus. When such menu items get clicked on by a user, notification events are sent back to application from which the menu was created. A companion functionality to this are Skype Alert Events clickable notification event entries in Skype UI that you can add and remove from your own code.

Custom Menu Items

T he custom menu interface provides commands, notifications and events required to create and manage custom menu entries in the Skype client. Custom menu items are automatically removed when the API client that created them is disconnected. When a custom menu item is clicked by the user, notification event to the API client is fired. Each API client has its own specific menu items and each client only receives notifications from menu items it creates. T he menu items can appear in Do More sections of various menus across the Skype user interface. Which particular Do More menu receives the menu item is controlled by the C O N T E X Tparameter of the CREAT E MENU_IT EM command. Note that custom menus are currently only supported by Windows client. Version Protocol 6 (API version 3.0)
CREAT E MENU_IT EM

Creates a custom menu item in one of the Do More menus of the Skype interface. Syntax: C R E A T EM E N U _ I T E M< i d >C O N T E X T< c o n t e x t >C A P T I O N< c a p t i o n >[ H I N T < h i n t > ] * [ I C O N< i c o n _ p a t h > ][ E N A B L E Dt r u e | f a l s e ][ E N A B L E _ M U L T I P L E _ C O N T A C T S t r u e | f a l s e ][ C O N T A C T _ T Y P E _ F I L T E Rs k y p e | s k y p e o u t | a l l ] Example:
> C R E A T E M E N U _ I T E M t e s t 0 1 C O N T E X T c o n t a c t C A P T I O N " T E S T 0 1 " E N A B L E D t r u e < M E N U _ I T E M t e s t 0 1 C R E A T E D / / / / F o l l o w i n g m e n u i t e m w i l l o n l y b e e n a b l e d f o r S k y p e O u t c o n t a c t s > C R E A T E M E N U _ I T E M t e s t 0 2 C O N T E X T c o n t a c t C A P T I O N " T E S T F O R S K Y P E O U T " C O N T A C T _ T Y P E _ F I L T E R s k y p e o u t < M E N U _ I T E M t e s t 0 2 C R E A T E D

Parameters of the C R E A T EM E N U _ I T E Mcommand:


I D Unique alphanumeric identifier, must start with a letter. C O N T E X T controls in which one of the Do More menus the menu item will appear. Valid values are: C H A T Do More button at the upper part of a Chat window. Note that the Do More button is disabled when there are more than two chat participants. C A L L Do More menu at the upper part of the Call tab.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

73/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

M Y S E L F Do More menu from the Personaliz e button on users moodmessage tab. T O O L S Do More sub-menu under the T ools menu. C O N T A C T Do More sub menu from contact menu that can be opened by right-clicking on a contact. Note the Do More menu is disabled when more that one contacts are selected. T he C O N T A C Tkey has three sub-keys: S K Y P E menu item will be enabled only for contacts with Skype accounts. T he menu item will be grayed out for SkypeOut contacts. S K Y P E O U T menu item will be enabled only for SkypeOut contacts. T he menu item will be grayed out for skypename contacts. A L L menu item will be enabled for all sorts of contacts, in which case you can basically omit this key altogether. C A P T I O N Menu item text. Max 32 characters, enclose in quotes if the text contains whitespaces. H I N T Optional and currently unused. I C O N T he directory path of the .PNG file of the menu icon. Maximum siz e of the icon is 32 32 pixels. Enclose in quotes. T his parameter is optional. E N A B L E D true | false controls if the menu item is in enabled state. Menu item in disabled state remain visible in the menu but is grayed out and unclickable. E N A B L E _ M U L T I P L E _ C O N T A C T S Optional and currently unused.

Version Protocol 6 (API version 3.0)


DELET E MENU_IT EM

Removes a custom menu item. Note that custom menu items are removed automatically when the client application that created them is disconnected. Syntax: D E L E T EM E N U _ I T E M< i d > Example:
> C R E A T E M E N U _ I T E M t e s t 0 1 C O N T E X T c o n t a c t C A P T I O N " T E S T 0 1 " E N A B L E D t r u e < M E N U _ I T E M t e s t 0 1 C R E A T E D > D E L E T E M E N U _ I T E M t e s t 0 1 < D E L E T E M E N U _ I T E M t e s t 0 1

Version Protocol 6 (API version 3.0)


SET MENU_IT EM

Syntax: S E TM E N U _ I T E M< p r o p e r t y >< v a l u e > T his command enables you to change following properties of a custom menu item:
C A P T I O N H I N T E N A B L E D

Example:
> C R E A T E M E N U _ I T E M t e s t 0 1 C O N T E X T c o n t a c t C A P T I O N " T E S T 0 1 " E N A B L E D t r u e < M E N U _ I T E M t e s t 0 1 C R E A T E D > S E T M E N U _ I T E M t e s t 0 1 C A P T I O N " c h a n g e d c a p t i o n " < M E N U _ I T E M t e s t 0 1 C A P T I O N " c h a n g e d c a p t i o n "

Note that you can only change M E N U _ I T E Mproperties one at a time. T o change both C A P T I O Nand E N A B L E Dproperties of a M E N U _ I T E M , you will need two S E TM E N U _ I T E M commands. Version Protocol 6 (API version 3.0)

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

74/129

18/07/2013
MENU_IT EM click event

Skype Developer - Skype Deskt op API Referen ce M an u al

M E N U _ I T E Mevents are generated when a user clicks on a custom menu item. Note that each API client receives M E N U _ I T E Mevents only for menu items created from within their own code. T he message format is as follows: < -M E N U _ I T E M< m e n u _ i d >C L I C K E D[ < u s e r _ i d > ]C O N T E X T< c o n t e x t > [ C O N T E X T _ I D< c o n t e x t _ i d > ]
T he parameter is always returned as the ID of the menu item that was clicked. is only returned if the C O N T E X Twas either C O N T A C T ,C A L Lor C H A Tand contains the Skype name of the contact. is always returned as C O N T E X Tof the menu item. is only returned if the context was either C A L Lor C H A T . In case of a C A L L , returns C A L LI D , in case of a C H A T , it returns C H A TI D .

Example:
/ / / / C o n t e x t = M Y S E L F > C R E A T E M E N U _ I T E M t e s t 0 5 C O N T E X T M Y S E L F C A P T I O N " T E S T " E N A B L E D t r u e / / c l i c k i n g < M E N U _ I T E M t e s t 0 5 C L I C K E D C O N T E X T m y s e l f / / / / C o n t e x t = T O O L S > C R E A T E M E N U _ I T E M t e s t 0 6 C O N T E X T T O O L S C A P T I O N " T E S T " E N A B L E D t r u e / / c l i c k i n g < M E N U _ I T E M t e s t 0 6 C L I C K E D C O N T E X T t o o l s / / / / C o n t e x t = C O N T A C T > C R E A T E M E N U _ I T E M t e s t 0 7 C O N T E X T C O N T A C T C A P T I O N " T E S T " E N A B L E D t r u e / / c l i c k i n g < M E N U _ I T E M t e s t 0 7 C L I C K E D e c h o 1 2 3 C O N T E X T c o n t a c t / / / / C o n t e x t = C A L L > C R E A T E M E N U _ I T E M t e s t 0 3 C O N T E X T C A L L C A P T I O N " T E S T " E N A B L E D t r u e / / c l i c k i n g < M E N U _ I T E M t e s t 0 3 C L I C K E D e c h o 1 2 3 C O N T E X T c a l l C O N T E X T _ I D 8 7 9 / / / / C o n t e x t = C H A T > C R E A T E M E N U _ I T E M t e s t 0 4 C O N T E X T C H A T C A P T I O N " T E S T " E N A B L E D t r u e / / c l i c k i n g < M E N U _ I T E M t e s t 0 4 C L I C K E D e c h o 1 2 3 C O N T E X T c h a t C O N T E X T _ I D # t e s t e r / $ e c h o 1 2 3 5 5 9 a 7 1 c 0 e f 9 d 7 5 8 b

Version Protocol 6 (API version 3.0)

Skype Alert Events

Events, when created, appear in Skype UI on the right side of the mood message / profile panel as well as System T ray when Skype is in minimiz ed state. Custom events can be created with the following API command: >C R E A T EE V E N T< i d >C A P T I O N< t e x t >H I N T< t e x t > Parameters:
E V E N T< i d > unique identifier, alphanumeric and must start with a letter. C A P T I O N< t e x t > displayed name of the menu item, enclosed in quotes if it contains whitespaces. H I N T< t e x t > free-form text, enclosed in quotes if it contains whitespaces.

Custom events will be displayed on events tab as Plugin messages. T he C A P T I O Nof the event will be displayed as a clickable link. Clicking on such link will generate a notification message in following format:

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

75/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

< -E V E N T< i d >C L I C K E D Note that only the API client who created that particular event will receive such message. T he text given in H I N Tparameter will be displayed as hint, on mouse hover on the link. Events remain in plugin message list as long as the API client that created them gets disconnected or are deleted from within API client code. T o delete events: >D E L E T EE V E N T< i d > Example:
/ / / / L e t t h e r e b e a n e w e v e n t : > C R E A T E E V E N T t e s t 1 C A P T I O N " T e s t m e s s a g e " H I N T " T e s t m e s s a g e h i n t " < E V E N T t e s t 1 C R E A T E D / / / / A t t h i s p o i n t a r e d f l a g i c o n a n d " 1 n e w e v e n t m e s s a g e " s h o u l d a p p e a r / / o n t h e m o o d m e s s a g e p a n e l . C l i c k o n i t , t h e n c l i c k o n " T e s t m e s s a g e " . / / F o l l o w i n g e v e n t i s s e n t t o y o u r A P I c l i e n t : < E V E N T t e s t 1 C L I C K E D / / / / C l e a r i n g u p t h e m e s s f r o m e v e n t l i s t > d e l e t e e v e n t t e s t 1 < D E L E T E E V E N T t e s t 1

Version Protocol 6 (API version 3.0)

Application to application commands


T he A P 2 A Pfeature in Skype allows two API clients to exchange information without the communication being visible on the client. Application to application communication has the following characteristics:
From Skype version 3.1.0.150 it is no longer required for users to be in each others contact list to be able to establish AP2AP connections. T he only requirement for AP2AP connections is that both users have to be online. From API version 3.0, you can establish AP2AP connections between several instances of Skype that are logged in with the same skypename. Connections are only attempted to connectable users at CONNECT . Connections are established only when there is a matching application on the other side. When connection is dropped by one of the parties, all undelivered (stream) data will be lost. T his is typically a problem when connection to remote aplication is dropped by a stream sender before receiver has acknowledged that it has received entire stream. T he application name is limited to 32 bytes. Idle connections are dropped in a specific amount of time (typically 8 minutes). When connection is relayed, throttling is engaged. If the other party is logged in to multiple Skype instances, a stream for each instance is created. T he stream write provides reliable transmission to deliver a large amount of data. T he maximum amount of write to a stream can be 0xFFFF bytes long. Any character except 000 is allowed in a message. Datagrams are unreliable packets sent over a network (usually translates to UDP). T he maximum siz e of datagrams is 1400 bytes. T here is no guarantee that datagrams will be delivered.

Note: When connected to another user using application to application messaging, a user cannot install anything on the remote users client without the express permission of the remote user. Note on AP2AP streams: With Skype4Com library versions prior to 1.0.28, re-entrant event handlers caused stream packets to be retrieved from receiving side in incorrect order. If you experience problems with packet order (and you are using Skype4Com library), make sure you upgrade it to version 1.0.28.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

76/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Another note on Skype4Com library: Binary data transfers via ap2ap functionality of Skype4Com library can sometimes lead to data getting partially scrambled. T o make sure your binary data is transmitted properly, we strongly suggest that you use base64 encoding to convert your data to strings before passing those strings to Skype4Com IApplication.!SendDatagram and IApplicationStream.Write methods. T he reason for this phenomenon is that due to how string parameters are handled when communicating with ActiveX objects, all Skype API commands that are passed to or retrieved from the Skype client by Skype4Com library are passed through UT F-8 encoding routine. T his includes commands dealing with application to application datagrams and stream writes/reads. T hose UT F-8 encoding routines occasionally produce different results, depending on additional language packs a user has installed in Windows. For code example on base64 encoding/decoding algorithms, refer to A2AStreams.pas example linked below. Read an [#COMMAND_AP2AP_EXAMPLE application to application example] to get you started. Skype4Com example:
A2AChat.pas A2AStreams.pas

AP2AP CREAT E

T his command registers a new application object with Skype. Application name cannot contain whitespaces. Syntax: C R E A T EA P P L I C A T I O N< a p p n a m e > Response If successful, the command is echoed back Parameters: < a p p n a m e >: An arbitrary name to identify the application that will be exchanging data Errors
E R R O R5 3 6C R E A T E :n oo b j e c to rt y p eg i v e n E R R O R5 3 7C R E A T E :U n k n o w no b j e c tt y p eg i v e n E R R O R5 4 0C R E A T EA P P L I C A T I O N :M i s s i n go ri n v a l i dn a m e E R R O R5 4 1A P P L I C A T I O N :o p e r a t i o nf a i l e d-i nc a s ea na p p l i c a t i o nw i t ht h i sn a m e a l r e a d ye x i s t s

Version
Protocol 5 Skype for Windows 1.4

AP2AP CONNECT

T his command creates a stream from the application to another Skype users instance of the same application. Syntax: A L T E RA P P L I C A T I O N< a p p n a m e >C O N N E C T< s k y p e n a m e > Response: If successful, the command is echoed back Example 1: no matching application on the other side

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

77/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

> # I D 1 a l t e r a p p l i c a t i o n t e s t c o n n e c t t e s t u s e r < # I D 1 A L T E R A P P L I C A T I O N t e s t C O N N E C T t e s t u s e r < A P P L I C A T I O N t e s t C O N N E C T I N G t e s t u s e r < A P P L I C A T I O N t e s t C O N N E C T I N G

Note that only the initial feedback notification is echoed back with command ID. Example 2: Matching application on remote was found
/ / / / F r o m i n i t i a t o r p e r s p e c t i v e > # I D 1 a l t e r a p p l i c a t i o n t e s t c o n n e c t a n a p p o 2 < # I D 1 A L T E R A P P L I C A T I O N t e s t C O N N E C T a n a p p o 2 < A P P L I C A T I O N t e s t C O N N E C T I N G a n a p p o 2 < A P P L I C A T I O N t e s t C O N N E C T I N G < A P P L I C A T I O N t e s t S T R E A M S a n a p p o 2 : 1 / / / / F r o m r e m o t e p e r s p e c t i v e < A P P L I C A T I O N t e s t S T R E A M S a n a p p o : 1

Parameters:
< a p p n a m e >: An arbitary name to identify the application that will be exchanging data < s k y p e n a m e >: T he user to connect to this application

Errors:
E R R O R5 4 6A L T E RA P P L I C A T I O N :M i s s i n go ri n v a l i da c t i o n E R R O R5 4 7A L T E RA P P L I C A T I O NC O N N E C T :I n v a l i du s e rh a n d l e

Version:
Protocol 5 Skype for Windows 1.4

Note: If the user identified by < s k y p e n a m e >is logged in from multiple locations, a stream will be created to each location.

AP2AP WRIT E

T his command writes text into the application stream identified by the destination users Skypename and stream ID. Syntax A L T E RA P P L I C A T I O N< a p p n a m e >W R I T E< s k y p e n a m e > : < i d >< t e x t > Response If successful, the command is echoed back Note: T here is a bug in Skype 1.4 where, following an application WRIT E event, Skype reports that the number of bytes sent is two characters greater than that which is actually written. Parameters
< a p p n a m e >: An arbitary name to identify the application that will be exchanging data < s k y p e n a m e >: T he name of the skype contact to whom the message will be sent < i d >: T he numeric identifier for the skype instance to which the message will be sent < t e x t >: T he text to send

Errors
E R R O R5 4 6A L T E RA P P L I C A T I O N:M i s s i n go ri n v a l i da c t i o n E R R O R5 5 0A L T E RA P P L I C A T I O NR E A D :M i s s i n go rI n v a l i ds t r e a mi d e n t i f i e r

Version

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

78/129

18/07/2013
Protocol 5 Skype for Windows 1.4

Skype Developer - Skype Deskt op API Referen ce M an u al

Example
/ / S e n d " H e l l o w o r l d ! " t o u s e r " t e s t t e s t 2 0 " s t r e a m " 1 " ( a p p l i c a t i o n " e x e " ) > A L T E R A P P L I C A T I O N e x e W R I T E t e s t t e s t 2 0 : 1 H e l l o w o r l d ! < A L T E R A P P L I C A T I O N e x e W R I T E t e s t t e s t 2 0 : 1 / / T h e m e s s a g e h a s b e e n q u e u e d f o r s e n d i n g , m e s s a g e l e n g t h i s r e p o r t e d b a c k < A P P L I C A T I O N e x e S E N D I N G t e s t t e s t 2 0 : 1 1 4 / / T h e m e s s a g e h a s b e e n s e n t n o t e m i s s i n g s t r e a m I D f r o m t h e e n d o f r e s p o n s e < A P P L I C A T I O N e x e S E N D I N G > A L T E R A P P L I C A T I O N e x e W R I T E t e s t t e s t 2 0 : 1 1 2 3 4 5 6 7 8 9 0 < A L T E R A P P L I C A T I O N e x e W R I T E t e s t t e s t 2 0 : 1 < A P P L I C A T I O N e x e S E N D I N G t e s t t e s t 2 0 : 1 1 2 < A P P L I C A T I O N e x e S E N D I N G

AP2AP DAT AGRAM

T his command sends a datagram to the application stream. Syntax: A L T E RA P P L I C A T I O N< a p p n a m e >D A T A G R A M< s k y p e n a m e > : < i d >< t e x t > Parameters
< a p p n a m e >: An arbitrary name to identify the application that will be exchanging data < s k y p e n a m e >: skypename of the remote party < i d >: stream ID < t e x t >: datagram content (000 is not allowed, so to use this for binary transfers you need to convert the data to remove nulls, using base64 or base128 for example).

Example:
/ / / / C r e a t i n g a n d c o n n e c t i n g a p p l i c a t i o n / / ( f r o m s e n d e r p e r s p e c t i v e ) > C R E A T E A P P L I C A T I O N t e s t < C R E A T E A P P L I C A T I O N t e s t > A L T E R A P P L I C A T I O N t e s t C O N N E C T a n a p p o < A L T E R A P P L I C A T I O N t e s t C O N N E C T a n a p p o < A P P L I C A T I O N t e s t C O N N E C T I N G a n a p p o / / / / N o t e t h a t a S T R E A M S e v e n t n o t i f i c a t i o n i s / / g e n e r a t e d a u t o m a t i c a l l y u p o n c o n n e c t . < A P P L I C A T I O N t e s t S T R E A M S a n a p p o : 1 / / / / S e n d i n g d a t a g r a m > A L T E R A P P L I C A T I O N t e s t D A T A G R A M a n a p p o : 1 B B B B B B B B B B B B B B < A L T E R A P P L I C A T I O N t e s t D A T A G R A M a n a p p o : 1 / / / / F o l l o w i n g n o t i f i c a t i o n c o n t a i n s t h e n u m b e r o f / / c h a r a c t e r s i n d a t a g r a m < A P P L I C A T I O N t e s t S E N D I N G a n a p p o : 1 = 1 4 < A P P L I C A T I O N t e s t S E N D I N G / / / / S a m e t h i n g f r o m r e c e i v e r p e r s p e c t i v e > C R E A T E A P P L I C A T I O N t e s t < C R E A T E A P P L I C A T I O N t e s t < A P P L I C A T I O N t e s t S T R E A M S a n a p p o 2 : 1 / / / / N o t e t h a t r e c e i v e r d o e s n o t g e t a s e p a r a t e n o t i f i c a t i o n / / w i t h s i z e o f r e c e i v e d d a t a g r a m . < A P P L I C A T I O N t e s t D A T A G R A M a n a p p o 2 : 1 B B B B B B B B B B B B B B

Errors
E R R O R5 4 6A L T E RA P P L I C A T I O N:M i s s i n go ri n v a l i da c t i o n

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

79/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

E R R O R5 5 1A L T E RA P P L I C A T I O ND A T A G R A M :M i s s i n go ri n v a l i ds t r e a mi d e n t i f i e r

Version
Protocol 5 Skype for Windows 1.4

AP2AP READ

T his command reads data from an application stream. Syntax A L T E RA P P L I C A T I O N< a p p n a m e >R E A D< s k y p e n a m e > : < i d > Response If successful, the command is echoed back Parameters
< a p p n a m e >: An arbitrary name to identify the application that will be exchanging data < s k y p e n a m e >: skypename of the remote party < i d >: stream ID

Example:
/ / / / S e n d e r > C R E A T E A P P L I C A T I O N t e s t < C R E A T E A P P L I C A T I O N t e s t > A L T E R A P P L I C A T I O N t e s t C O N N E C T a n a p p o < A L T E R A P P L I C A T I O N t e s t C O N N E C T a n a p p o < A P P L I C A T I O N t e s t C O N N E C T I N G a n a p p o < A P P L I C A T I O N t e s t C O N N E C T I N G < A P P L I C A T I O N t e s t S T R E A M S a n a p p o : 1 > A L T E R A P P L I C A T I O N t e s t W R I T E a n a p p o : 1 A A A A A A < A L T E R A P P L I C A T I O N t e s t W R I T E a n a p p o : 1 < A P P L I C A T I O N t e s t S E N D I N G a n a p p o : 1 = 8 < A P P L I C A T I O N t e s t S E N D I N G / / / / R e c e i v e r > C R E A T E A P P L I C A T I O N t e s t < C R E A T E A P P L I C A T I O N t e s t / / / / S t r e a m s n o t i f i c a t i o n w e r e c e i v e d o n r e m o t e c o n n e c t < A P P L I C A T I O N t e s t S T R E A M S a n a p p o 2 : 1 / / / / P a c k e t n o t i f i c a t i o n m e s s a g e i n c l u d i n g p a c k e t s i z e < A P P L I C A T I O N t e s t R E C E I V E D a n a p p o 2 : 1 = 6 / / / / R e a d i n g t h e p a c k e t > A L T E R A P P L I C A T I O N t e s t R E A D a n a p p o 2 : 1 < A L T E R A P P L I C A T I O N t e s t R E A D a n a p p o 2 : 1 A A A A A A < A P P L I C A T I O N t e s t R E C E I V E D

Errors:
E R R O R5 4 6A L T E RA P P L I C A T I O N:M i s s i n go ri n v a l i da c t i o n E R R O R5 5 0A L T E RA P P L I C A T I O NR E A D :M i s s i n go ri n v a l i ds t r e a mi d e n t i f i e r

Version
Protocol 5 Skype for Windows 1.4

AP2AP DISCONNECT

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

80/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

T his command disconnects a user stream from an application. Syntax A L T E RA P P L I C A T I O N< a p p n a m e >D I S C O N N E C T< s k y p n a m e > : < i d > Response If successful, the command is echoed back Parameters
< a p p n a m e >: An arbitrary name to identify the application that will be exchanging data < s k y p e n a m e > : < i d >: T he user and stream to disconnect

Example:
/ / / / F r o m i n i t i a t o r p e r s p e c t i v e > # I D 2 a l t e r a p p l i c a t i o n t e s t d i s c o n n e c t a n a p p o 2 : 1 < # I D 2 A L T E R A P P L I C A T I O N t e s t D I S C O N N E C T a n a p p o 2 : 1 < A P P L I C A T I O N t e s t S T R E A M S / / / / F r o m r e m o t e p e r s p e c t i v e < A P P L I C A T I O N t e s t S T R E A M S

Note that if you use re-connect to the same remote user after disconnecting, the part of the streams notification will increment itself.
> A L T E R A P P L I C A T I O N t e s t C O N N E C T a n a p p o 2 < A L T E R A P P L I C A T I O N t e s t C O N N E C T a n a p p o 2 < A P P L I C A T I O N t e s t C O N N E C T I N G a n a p p o 2 < A P P L I C A T I O N t e s t C O N N E C T I N G < A P P L I C A T I O N t e s t S T R E A M S a n a p p o 2 : 2

Errors:
E R R O R5 4 6A L T E RA P P L I C A T I O N:M i s s i n go ri n v a l i da c t i o n E R R O R5 4 8A L T E RA P P L I C A T I O ND I S C O N N E C T :I n v a l i ds t r e a mi d e n t i f i e r

Version
Protocol 5 Skype for Windows 1.4

AP2AP DELET E

T his command deletes an application and drops all connections to it. Syntax D E L E T EA P P L I C A T I O N< a p p n a m e > Response If successful, the command is echoed back Parameters < a p p n a m e >: T he name of the application to be deleted NB! If your application had open connections to remote users, these users will not receive notifications when you delete that application. Errors:
E R R O R5 3 8D E L E T E :n oo b j e c to rt y p eg i v e n E R R O R5 3 9D E L E T E :U n k n o w no b j e c tt y p eg i v e n E R R O R5 4 2D E L E T EA P P L I C A T I O N:m i s s i n go ri n v a l i da p p l i c a t i o nn a m e E R R O R5 4 1A P P L I C A T I O N :o p e r a t i o nf a i l e d

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

81/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Version
Protocol 5 Skype for Windows 1.4

Application to application example

Jim and Joe are two users who installed toru application.
/ / r e g i s t e r a p p l i c a t i o n o n b o t h s i d e s [ J I M ] = > C R E A T E A P P L I C A T I O N t o r u [ J I M ] < = C R E A T E A P P L I C A T I O N t o r u [ J O E ] = > C R E A T E A P P L I C A T I O N t o r u [ J O E ] < = C R E A T E A P P L I C A T I O N t o r u / / J I M i n i t i a t e s c o m m u n i c a t i o n t o J O E [ J I M ] = > A L T E R A P P L I C A T I O N t o r u C O N N E C T j o e [ J I M ] < = A L T E R A P P L I C A T I O N t o r u C O N N E C T j o e / / c o n n e c t i o n e s t a b l i s h i n g . . . [ J I M ] < = A P P L I C A T I O N t o r u C O N N E C T I N G j o e / / . . a n d i s s u c c e s s f u l [ J I M ] < = A P P L I C A T I O N t o r u C O N N E C T I N G / / . . a n d c r e a t e s o n e s t r e a m [ J I M ] < = A P P L I C A T I O N t o r u S T R E A M S j o e : 1 / / a n d J O E i s n o t i f i e d b y n e w s t r e a m [ J O E ] < = A P P L I C A T I O N t o r u S T R E A M S j i m : 1 / / J I M s e n d s d a t a o v e r s t r e a m t o J O E [ J I M ] = > A L T E R A P P L I C A T I O N t o r u W R I T E j o e : 1 H e l l o w o r l d ! [ J I M ] < = A L T E R A P P L I C A T I O N t o r u W R I T E j o e : 1 / / s t a y t u n e d w h i l e d a t a i s t r a n s m i t t e d . . . [ J I M ] < = A P P L I C A T I O N t o r u S E N D I N G j o e : 1 / / . . a n d y o u a r e n o t i f i e d o n d e l i v e r y s u c c e s s [ J I M ] < = A P P L I C A T I O N t o r u S E N D I N G / / J O E r e c e i v e s n o t i f i c a t i o n a b o u t t h e i n c o m i n g m e s s a g e [ J O E ] < = A P P L I C A T I O N t o r u R E C E I V E D j i m : 1 / / . . a n d r e a d s d a t a f r o m s t r e a m [ J O E ] = > A L T E R A P P L I C A T I O N t o r u R E A D j i m : 1 [ J O E ] < = A L T E R A P P L I C A T I O N t o r u R E A D j i m : 1 H e l l o w o r l d ! / / . . . a n d i s n o t i f i e d t h a t s t r e a m i s e m p t y [ J O E ] < = A P P L I C A T I O N t o r u R E C E I V E D / / J O E s e n d s b a c k a c k n o w l e d g e m e n t o f m e s s a g e / / A d a t a g r a m i s u s e d b e c a u s e i t i s n o t s o i m p o r t a n t t o a c k n o w l e d g e [ J O E ] = > A L T E R A P P L I C A T I O N t o r u D A T A G R A M j i m : 1 H e l l o b a c k ! [ J O E ] < = A L T E R A P P L I C A T I O N t o r u D A T A G R A M j i m : 1 / / N o w d a t a i s t r a n s m i t t e d . . . [ J O E ] < = A P P L I C A T I O N t o r u S E N D I N G j i m : 1 = 1 1 / / . . a n d n o t i f i c e d w h e n i t w a s s e n t ( b u t d e l i v e r y n o t a s s u r e d ) [ J O E ] < = A P P L I C A T I O N t o r u S E N D I N G / / J I M r e c e i v e s d a t a g r a m n o t i f c a t i o n [ J I M ] < = A P P L I C A T I O N t o r u D A T A G R A M j o e : 1 H e l l o b a c k ! / / J I M d e c i d e s t o e n d t h e c o m m u n i c a t i o n [ J I M ] = > A L T E R A P P L I C A T I O N t o r u D I S C O N N E C T j o e : 1 [ J I M ] < = A L T E R A P P L I C A T I O N t o r u D I S C O N N E C T j o e : 1 / / . . a n d w h e n s t r e a m i s c l o s e d i t i s n o t i f i e d [ J I M ] < = A P P L I C A T I O N t o r u S T R E A M S / / A l s o J O E r e c e i v e s n o t i f i c a t i o n t h a t s t r e a m w a s c l o s e d [ J O E ] < = A P P L I C A T I O N t o r u S T R E A M S / / J I M u n r e g i s t e r s a p p l i c a t o n [ J I M ] = > D E L E T E A P P L I C A T I O N t o r u [ J I M ] < = D E L E T E A P P L I C A T I O N t o r u / / J O E u n r e g i s t e r s a p p l i c a t o n [ J O E ] = > D E L E T E A P P L I C A T I O N t o r u [ J O E ] < = D E L E T E A P P L I C A T I O N t o r u

Voice Streams
Refer to CALL object for properties relevant to manipulating voice streams. T o change voice stream properties of a C A L Lobject, there are three extensions of the A L T E R C A L Lcommand:

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

82/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

A L T E RC A L L< i d >S E T _ I N P U TS O U N D C A R D = " d e f a u l t "|P O R T = " p o r t _ n o "| F I L E = " F I L E _ L O C A T I O N " T his enables you to set a port or a wav file as a source of your voice, instead of a microphone. A L T E RC A L L< i d >S E T _ O U T P U TS O U N D C A R D = " d e f a u l t "|P O R T = " p o r t _ n o "| F I L E = " F I L E _ L O C A T I O N " Redirects incoming transmission to a port or a wav file. A L T E RC A L L< i d >S E T _ C A P T U R E _ M I CP O R T = " p o r t _ n o "| F I L E = " F I L E _ L O C A T I O N " Captures your own voice from microphone to a port or a wav file. Note that as of version 3.5.0.202 redirecting of voice streams is also available for voicemails. Look for corresponding A L T E Rcommands at the end of this section. Example 1 capturing incoming transmission
/ / / / I n t h i s e x a m p l e w e w i l l c a l l S k y p e c a l l t e s t i n g s e r v i c e / / a n d p l a y a r o u n d w i t h r e d i r e c t i n g i n p u t s a n d o u t p u t s . / / F i r s t , l e t s t r y c a p t u r i n g i n c o m i n g t r a n s m i s s i o n i n t o a f i l e . > c a l l e c h o 1 2 3 < C A L L 8 0 8 S T A T U S U N P L A C E D < C A L L 8 0 8 S T A T U S R O U T I N G < C A L L 8 0 8 S T A T U S R I N G I N G < C O N T A C T S F O C U S E D < C A L L 8 0 8 V A A _ I N P U T _ S T A T U S F A L S E < C A L L 8 0 8 S T A T U S I N P R O G R E S S / / / / O k , t h e c a l l i s n o w i n p r o g r e s s a n d t h e h e l p f u l l a d y r o b o t / / o n t h e o t h e r s i d e i s t a l k i n g . W e c a n c a p t u r e h e r v o i c e t o / / a w a v f i l e b y i s s u i n g t h e f o l l o w i n g c o m m a n d : > A L T E R C A L L 8 0 8 S E T _ O U T P U T f i l e = " c : \ t e s t . w a v " < A L T E R C A L L 8 0 8 S E T _ O U T P U T f i l e = " c : \ t e s t . w a v " < C A L L 8 0 8 S T A T U S F I N I S H E D / / / / W e n o w h a v e a c : \ t e s t . w a v f i l e , c o n t a i n i n g t h e i n c o m i n g t r a n s m i s s i o n .

Example 2 altering the source of the outgoing transmission


/ / / / L e t ' s c a l l t h e h e l p f u l r o b o t a g a i n a n d p l a y a l i t t l e t r i c k o n h e r . / / B y a l t e r i n g s o u n d i n p u t s o u r c e , w e c a n s e n d h e r b a c k h e r o w n v o i c e / / t h a t w e r e c o r d e d i n o u r p r e v i o u s e x a m p l e . > c a l l e c h o 1 2 3 < C A L L 8 4 6 S T A T U S U N P L A C E D < C A L L 8 4 6 S T A T U S R O U T I N G < C A L L 8 4 6 S T A T U S R I N G I N G < C A L L 8 4 6 V A A _ I N P U T _ S T A T U S F A L S E < C A L L 8 4 6 S T A T U S I N P R O G R E S S / / / / W a i t u n t i l t h e l a d y r o b o t a s k s f o r y o u t o s p e a k , t h e n s e t / / c a l l i n p u t t o a f i l e i n s t e a d o f m i c r o p h o n e . > A L T E R C A L L 8 4 6 S E T _ I N P U T f i l e = " c : \ t e s t . w a v " < A L T E R C A L L 8 4 6 S E T _ I N P U T f i l e = " c : \ t e s t . w a v " < C A L L 8 4 6 V A A _ I N P U T _ S T A T U S T R U E < C A L L 8 4 6 V A A _ I N P U T _ S T A T U S F A L S E / / / / I f t h e s o u n d f r o m f a i l w a s s e n t c o r r e c t l y , y o u s h o u l d h e a r / / t h e r o b o t ' s v o i c e i n t h e p l a y b a c k p h a s e o f t h e c a l l t e s t . < C A L L 8 4 6 S T A T U S F I N I S H E D

Example 3 capturing voice from the microphone


/ / / / I n t h i s e x a m p l e , w e w i l l c a p t u r e o u r o w n v o i c e .

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

83/129

18/07/2013
> c a l l e c h o 1 2 3 < C A L L 8 8 9 S T A T U S U N P L A C E D < C A L L 8 8 9 S T A T U S R O U T I N G < C A L L 8 8 9 S T A T U S R I N G I N G < C O N T A C T S F O C U S E D < C A L L 8 8 9 V A A _ I N P U T _ S T A T U S F A L S E < C A L L 8 8 9 S T A T U S I N P R O G R E S S

Skype Developer - Skype Deskt op API Referen ce M an u al

/ / / / W a i t u n t i l t h e l a d y r o b o t a s k s y o u t o s p e a k , t h e n s w i t c h o n / / s o u n d c a p t u r e t o a f i l e a n d t a l k . > A L T E R C A L L 8 8 9 S E T _ C A P T U R E _ M I C f i l e = " c : \ t e s t . w a v " < A L T E R C A L L 8 8 9 S E T _ C A P T U R E _ M I C f i l e = " c : \ t e s t . w a v " < C A L L 8 8 9 S T A T U S F I N I S H E D / / / / T h e t e s t . w a v f i l e s h o u l d n o w c o n t a i n y o u r o w n v o i c e .

T he relevant properties of a C A L Lobject can be accessed in a following manner:


> G E T C A L L 7 4 8 I N P U T < C A L L 7 4 8 I N P U T S O U N D C A R D = " d e f a u l t " > G E T C A L L 7 4 8 O U T P U T < C A L L 7 4 8 O U T P U T S O U N D C A R D = " d e f a u l t " > G E T C A L L 7 4 8 V A A _ I N P U T _ S T A T U S < C A L L 7 4 8 V A A _ I N P U T _ S T A T U S F A L S E

Audio format File: WAV PCM Sockets: raw PCM samples


1. KHz mono, 16 bit

Note: T he voice access API works with virtual audio cables (VACs) versions 3 and 4. However, users with VAC version 3.x may encounter distorted sound for the initial one or two seconds of a call. When you redirect a port, Skype acts as a T CP client and goes looking for a T CP server on the given port. T o receive voice stream data, you have to have your own T CP server running on that port. Skype4Com example:
VoiceStreams.pas Example of how to redirect voice streams to a T CP port. VoiceMail2WAV.pas Example on how to save voicemails into WAV files. VoiceMail2Port.pas Example on how to redirect voicemail output to a T CP port.

Version Skype API version 2.6 (protocol 6)

ALT ER CALL SET _INPUT

T his enables you to set a port or a wav file as a source of your voice, instead of a microphone. Syntax: >A L T E RC A L L< i d >S E T _ I N P U TS O U N D C A R D = " d e f a u l t "|P O R T = " p o r t _ n o "| F I L E = " F I L E _ L O C A T I O N " < -A L T E RC A L L< i d >S E T _ I N P U TS O U N D C A R D = " d e f a u l t "|P O R T = " p o r t _ n o "| F I L E = " F I L E _ L O C A T I O N " Note that for now, the S O U N D C A R Dparameter only accepts one value default. Example:
> A L T E R C A L L 8 4 6 S E T _ I N P U T f i l e = " c : \ t e s t . w a v " < A L T E R C A L L 8 4 6 S E T _ I N P U T f i l e = " c : \ t e s t . w a v "

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

84/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Version Skype API version 2.6 (protocol 6)

ALT ER CALL SET _OUT PUT

T his command redirects incoming transmission to a port or a wav file. Syntax: >A L T E RC A L L< i d >S E T _ O U T P U TS O U N D C A R D = " d e f a u l t "|P O R T = " p o r t _ n o "| F I L E = " F I L E _ L O C A T I O N " < -A L T E RC A L L< i d >S E T _ O U T P U TS O U N D C A R D = " d e f a u l t "|P O R T = " p o r t _ n o "| F I L E = " F I L E _ L O C A T I O N " Note that for now, the S O U N D C A R Dparameter only accepts one value default. If this parameter is omitted or differs from default, the soundcard output is muted. Example:
> A L T E R C A L L 8 0 8 S E T _ O U T P U T f i l e = " c : \ t e s t . w a v " < A L T E R C A L L 8 0 8 S E T _ O U T P U T f i l e = " c : \ t e s t . w a v "

Version Skype API version 2.6 (protocol 6)

ALT ER CALL SET _CAPT URE_MIC

T his command captures your own voice from microphone to a port or a wav file. Syntax: >A L T E RC A L L< i d >S E T _ C A P T U R E _ M I CP O R T = " p o r t _ n o "| F I L E = " F I L E _ L O C A T I O N " < -A L T E RC A L L< i d >S E T _ C A P T U R E _ M I CP O R T = " p o r t _ n o "| F I L E = " F I L E _ L O C A T I O N " Example:
> A L T E R C A L L 8 8 9 S E T _ C A P T U R E _ M I C f i l e = " c : \ t e s t . w a v " < A L T E R C A L L 8 8 9 S E T _ C A P T U R E _ M I C f i l e = " c : \ t e s t . w a v "

Version Skype API version 2.6 (protocol 6)

ALT ER VOICEMAIL SET _INPUT

T his enables you to set a port or a wav file as a source of voicemails input instead of a microphone. Syntax: >A L T E RV O I C E M A I L< i d >S E T _ I N P U TS O U N D C A R D = " d e f a u l t "| P O R T = " p o r t _ n o "|F I L E = " F I L E _ L O C A T I O N " < -A L T E RV O I C E M A I L< i d >S E T _ I N P U TS O U N D C A R D = " d e f a u l t "| P O R T = " p o r t _ n o "|F I L E = " F I L E _ L O C A T I O N " Note that for now, the S O U N D C A R Dparameter only accepts one value default. If this parameter is omitted or differs from default, the soundcard input is muted. Example:

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

85/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

> A L T E R V O I C E M A I L 1 4 6 S E T _ I N P U T f i l e = " c : \ t e s t . w a v " < A L T E R V O I C E M A I L 1 4 6 S E T _ I N P U T f i l e = " c : \ t e s t . w a v "

Version Skype API version 3.5.0.202 (protocol 8)

ALT ER VOICEMAIL SET _OUT PUT

T his command redirects voicemail output to a port or a wav file. Syntax: >A L T E RV O I C E M A I L< i d >S E T _ O U T P U TS O U N D C A R D = " d e f a u l t "| P O R T = " p o r t _ n o "|F I L E = " F I L E _ L O C A T I O N " < -A L T E RV O I C E M A I L< i d >S E T _ O U T P U TS O U N D C A R D = " d e f a u l t "| P O R T = " p o r t _ n o "|F I L E = " F I L E _ L O C A T I O N " Note that for now, the S O U N D C A R Dparameter only accepts one value default. If this parameter is omitted or differs from default, the soundcard output is muted. Example:
> A L T E R V O I C E M A I L 1 0 8 S E T _ O U T P U T f i l e = " c : \ t e s t . w a v " < A L T E R V O I C E M A I L 1 0 8 S E T _ O U T P U T f i l e = " c : \ t e s t . w a v "

Version Skype API version 3.5.0.202 (protocol 8)

ALT ER VOICEMAIL SET _CAPT URE_MIC

T his command captures your own voice from microphone to a port or a wav file. Syntax: >A L T E RV O I C E M A I L< i d >S E T _ C A P T U R E _ M I CP O R T = " p o r t _ n o "| F I L E = " F I L E _ L O C A T I O N " < -A L T E RV O I C E M A I L< i d >S E T _ C A P T U R E _ M I CP O R T = " p o r t _ n o "| F I L E = " F I L E _ L O C A T I O N " Example:
> A L T E R V O I C E M A I L 1 8 9 S E T _ C A P T U R E _ M I C f i l e = " c : \ t e s t . w a v " < A L T E R V O I C E M A I L 1 8 9 S E T _ C A P T U R E _ M I C f i l e = " c : \ t e s t . w a v "

Version Skype API version 3.5.0.202 (protocol 8)

Testing connections
T his command can be used to test whether connection between your application and Skype is still alive. T his command is not meant to query online status of remote users. Syntax P I N G Response If successful P O N Gis echoed back Version Protocol 1 *

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

86/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Note that from protocol 6 and onward, the P O N Greply to P I N Gis asynchronous.

Objects
T his section contains the Skype objects.

USER object
NB! When you retrieve U S E Robject records with S E A R C HU S E R Scommand, the user profile data is guaranteed to be accessible with G E TU S E R< u s e r _ i d >< p r o p e r t y _ n a m e > commands only until another S E A R C Hcommand is executed. T he reason for this is that big S E A R C Hcommands can and often trigger Skypes internal garbage collection routine that can clear out the data retreived by previous searches. T he user object has the following properties:
H A N D L E username, for example: U S E Rp a m e l aH A N D L Ep a m e l a. F U L L N A M E users full name, for example: U S E Rp a m e l aF U L L N A M EJ a n eD o e. B I R T H D A Y users birth date in YYYYMMDD format, for example: U S E Rb i t m a nB I R T H D A Y1 9 7 8 0 3 2 9. S E X example: U S E Rp a m e l aS E XU N K N O W N. Values: U N K N O W N user has not specified sex in personal profile. M A L E F E M A L E L A N G U A G E name of language, for example: U S E Rm i k eL A N G U A G EE n g l i s h. In protocol 4 with the ISO 639 prefix, example: U S E Rm i k eL A N G U A G Ee nE n g l i s h. C O U N T R Y name of country, for example: U S E Rm i k eC O U N T R YE s t o n i a. In protocol 4 with the ISO 3166 prefix, example: U S E Rm i k eC O U N T R Ye eE s t o n i a. P R O V I N C E example: U S E Rm i k eP R O V I N C EH a r j u m a a. C I T Y example: U S E Rm i k eC I T YT a l l i n n. P H O N E _ H O M E example: U S E Rm i k eP H O N E _ H O M E3 7 2 1 1 1 1 1 1 1. P H O N E _ O F F I C E example: U S E Rm i k eP H O N E _ O F F I C E3 7 2 1 1 1 1 1 1 1. P H O N E _ M O B I L E example: U S E Rm i k eP H O N E _ M O B I L E3 7 2 1 1 1 1 1 1 1. H O M E P A G E example: U S E Rm i k eH O M E P A G Eh t t p : / / w w w . j o l t i d . c o m. A B O U T example: U S E Rm i k eA B O U TIa man i c ep e r s o n. H A S C A L L E Q U I P M E N T always returns T R U E. Example: U S E Rp a m e l aH A S C A L L E Q U I P M E N TT R U E. I S _ V I D E O _ C A P A B L E possible values: T r u eor F a l s e I S _ V O I C E M A I L _ C A P A B L E possible values: T r u eor F a l s e B U D D Y S T A T U S example: U S E Rp a m e l aB U D D Y S T A T U S 2. Possible B U D D Y S T A T U Svalues: 0 never been in contact list. 1 deleted from contact list. (read-write) 2 pending authorisation. (read-write) 3 added to contact list. I S A U T H O R I Z E D (read-write) is user authoriz ed by current user? Example: U S E Rp a m e l aI S A U T H O R I Z E D T R U E. Values: T R U E F A L S E I S B L O C K E D (read-write) is user blocked by current user? Example: U S E Rs p a m m e rI S B L O C K E DT R U E. Values: T R U E F A L S E O N L I N E S T A T U S user online status, for example: U S E Rm i k eO N L I N E S T A T U SO N L I N E. Possible values: U N K N O W N unknown user. O F F L I N E user is offline (not connected). Will also be returned if current user is not authoriz ed by other user to see his/her online status. O N L I N E user is online. A W A Y user is away (has been inactive for certain period). N A user is not available. D N D user is in Do not disturb mode. S k y p e O u t user is in the SkypeOut contact list. S K Y P E M E(Protocol 2) L A S T O N L I N E T I M E S T A M P UNIX timestamp, available only for offline user. Example U S E Rm i k e

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

87/129

18/07/2013 Skype Developer - Skype Deskt op API Referen ce M an u al L A S T O N L I N E T I M E S T A M P1 0 7 8 9 5 9 5 7 9. C A N _ L E A V E _ V M is it possible to send voicemail to user? Example: U S E Rt e s tC A N _ L E A V E _ V MT R U E. Possible values:
T R U E F A L S E S P E E D D I A L (read-write) speeddial code assigned to user. R E C E I V E D A U T H R E Q U E S T text message for authoriz ation request; available only when user asks for authoriz ation. M O O D _ T E X T mood text for user (mood text is only visible to authorised users; visible in Skype for Windows 2.0). R I C H _ M O O D _ T E X T advanced version of users mood message. See SET PROFILE RICH_MOOD_T EXT command for more information. Introduced in API version 3.0 A L I A S E S< t e x t > list of assigned aliases (aliases are only visible as a result of a direct match for alias search). T I M E Z O N E< o f f s e t > time offset from GMT in minutes; visible in Skype for Windows 2.0. I S _ C F _ A C T I V E whether the user has Call Forwarding activated or not. Possible values: T R U E F A L S E N R O F _ A U T H E D _ B U D D I E S Stores the number of authoriz ed contacts in the contact list.

Most user properties are read-only. T he following properties are read-write and can be modified with the S E Tcommand:
B U D D Y S T A T U S 1 delete from buddylist 2 add user into contactlist and ask for authoriz ation: S E TU S E Re c h o 1 2 3B U D D Y S T A T U S2P l e a s e a u t h o r i z em e I S B L O C K E D T R U E block user F A L S E unblock user I S A U T H O R I Z E D T R U E authoriz e user F A L S E dismiss authoriz ation for user S P E E D D I A L speeddial code assigned to user D I S P L A Y N A M E By default this property is empty. If a value is assigned to this property with S E T < s k y p e n a m e >D I S P L A Y N A M E< v a l u e >then that value will be displayed in Skype UI instead of users F U L L N A M E .

PROFILE object
Use the G E TP R O F I L Ecommand to retrieve profile information. T he P R O F I L Eobject has the following properties:
P S T N _ B A L A N C E ( read only ) SkypeOut balance value. Note that the precision of profile balance value is currently fixed at 2 decimal places, regardless of currency or any other settings. P S T N _ B A L A N C E _ C U R R E N C Y ( read only ) SkypeOut currency value F U L L N A M E text B I R T H D A Y yyyymmdd, 0 is returned if not set; no partial birthday allowed S E X M A L E|F E M A L E|U N K N O W N L A N G U A G E S [lang[ lang]*] lang is a two letter ISO code (en, de, et) C O U N T R Y iso2 name, a two letter ISO code; name country name I P C O U N T R Y GeoIP location, country code in two letter ISO format P R O V I N C E text C I T Y text P H O N E _ H O M E text P H O N E _ O F F I C E text P H O N E _ M O B I L E text H O M E P A G E text A B O U T text M O O D _ T E X T users mood message (the plain text version). R I C H _ M O O D _ T E X T advanced version of users mood message. See SET PROFILE RICH_MOOD_T EXT command for more information. Introduced in API version 3.0 T I M E Z O N E Offset is given in seconds, according to this formula: (24 + offset_from _GMT ) * 3600. For example, value of this property for Estonia (GMT +2) would be 93600 (26*3600). C A L L _ A P P L Y _ C F T o enable/disable call forwarding See Call forwarding

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

88/129

18/07/2013 Skype Developer - Skype Deskt op API Referen ce M an u al C A L L _ N O A N S W E R _ T I M E O U T T ime out on call See Call forwarding C A L L _ F O R W A R D _ R U L E S See Call forwarding C A L L _ S E N D _ T O _ V M T o enable/disable voicemail for forwarded calls See Call forwarding S M S _ V A L I D A T E D _ N U M B E R S A read-only property that contains a comma-separated list of phone numbers the user has registered for usage in reply-to field of SMS messages. See [#SMS_NUMBER_VALIDAT ION Setting mobile phone number on reply-to field in outgoing SMS messages] section for further information.

CALL object
T he C A L Lobject has the following properties:
T I M E S T A M P time when call was placed (UNIX timestamp), for example C A L L1 7T I M E S T A M P 1 0 7 8 9 5 8 2 1 8 P A R T N E R _ H A N D L E for example C A L L1 7P A R T N E R _ H A N D L Em i k e . In case of SkypeOut and SkypeIn calls this property contains the PST N number of remote party, prefixed by countrycode (+123456789). P A R T N E R _ D I S P N A M E for example C A L L1 7P A R T N E R _ D I S P N A M EM i k eM a n n T A R G E T _ I D E N T I T Y T his property is set when you a) have a SkypeIn number and b) receive an incoming PST N call. T he value of calls target identity property is then set to your own SkypeIn number. T his property is not set if the incoming call is P2P. T his property was introduced in API version 3.1 C O N F _ I D if the C O N F _ I D > 0the call is a conference call, for example: C A L L1 7C O N F _ I D0 T Y P E call type, for example: C A L L1 7T Y P EO U T G O I N G _ P S T N. Possible values: I N C O M I N G _ P S T N incoming call from PST N O U T G O I N G _ P S T N outgoing call to PST N I N C O M I N G _ P 2 P incoming call from P2P O U T G O I N G _ P 2 P outgoing call to P2P S T A T U S call status, for example: C A L L1 7S T A T U SF A I L E D. Possible values: U N P L A C E D call was never placed R O U T I N G call is currently being routed E A R L Y M E D I A with pstn it is possible that before a call is established, early media is played. For example it can be a calling tone or a waiting message such as all operators are busy. F A I L E D call failed try to get a F A I L U R E R E A S O Nfor more information. R I N G I N G currently ringing I N P R O G R E S S call is in progress O N H O L D call is placed on hold F I N I S H E D call is finished M I S S E D call was missed R E F U S E D call was refused B U S Y destination was busy C A N C E L L E D(Protocol 2) T R A N S F E R R I N G Refer to ALT ER CALL T RANSFER command. Added in protocol 7 (API version 3.0) T R A N S F E R R E D Refer to ALT ER CALL T RANSFER command. Added in protocol 7 (API version 3.0) V M _ B U F F E R I N G _ G R E E T I N G voicemail greeting is being downloaded V M _ P L A Y I N G _ G R E E T I N G voicemail greeting is being played V M _ R E C O R D I N G voicemail is being recorded V M _ U P L O A D I N G voicemail recording is finished and uploaded into server V M _ S E N T voicemail has successfully been sent V M _ C A N C E L L E D leaving voicemail has been cancelled V M _ F A I L E D leaving voicemail failed; check F A I L U R E R E A S O N W A I T I N G _ R E D I A L _ C O M M A N D T his status is set when your outgoing call to PST N gets rejected by remote party. T his state was added in version 3.5 (protocol 8). R E D I A L _ P E N D I N G T his status is set when you press redial button on the Call Phones tab of the Skype interface. T his state was added in version 3.5 (protocol 8). V I D E O _ S T A T U S Commands ALT ER CALL VIDEO_SEND and RECEIVE ALT ER CALL VIDEO_ RECEIVE can be used to change call video status. Possible values of this property are: V I D E O _ N O N E V I D E O _ S E N D _ E N A B L E D V I D E O _ R E C V _ E N A B L E D V I D E O _ B O T H _ E N A B L E D V I D E O _ S E N D _ S T A T U Sand V I D E O _ R E C E I V E _ S T A T U S possible values of this property are: N O T _ A V A I L A B L E the client does not have video capability because video is disabled or a webcam is unplugged). A V A I L A B L E the client is video-capable but the video is not running (can occur during a manual send). S T A R T I N G the video is sending but is not yet running at full speed. R E J E C T E D the receiver rejects the video feed (can occur during a manual receive). R U N N I N G the video is actively running. S T O P P I N G the active video is in the process of stopping but has not halted yet.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

89/129

18/07/2013 P A U S E D the video call is placed on hold.

Skype Developer - Skype Deskt op API Referen ce M an u al

F A I L U R E R E A S O N example: C A L L1 7F A I L U R E R E A S O N 1(numeric). S U B J E C T not used. P S T N _ N U M B E R example: C A L L1 7P S T N _ N U M B E R3 7 2 1 2 3 1 2 3. D U R A T I O N example: C A L L1 7D U R A T I O N 0. P S T N _ S T A T U S error string from gateway, in the case of a PST N call, for example: C A L L2 6 P S T N _ S T A T U S6 5 0 0P S T Nc o n n e c t i o nc r e a t i o nt i m e o u t. C O N F _ P A R T I C I P A N T S _ C O U N T number of non-hosts in the case of a conference call. Possible values are: 0 call is not a conference. For the host, C O N F _ P A R T I C I P A N T S _ C O U N Tis always 0. 1 call is a former conference. 2 ,3 , 4 call is a conference. Note that from 2.5 and upwards, Skype API manages conference participation in a slightly different manner. In newer versions, after the call is finished, the C O N F _ P A R T I C I P A N T S _ C O U N Treports highest number of participants the call had at any given time. C O N F _ P A R T I C I P A N T n the username of the nth participant in a conference call, the call type and status and the displayname of participants who are not the host. For example: C A L L5 9C O N F _ P A R T I C I P A N T1 e c h o 1 2 3I N C O M I N G _ P 2 PI N P R O G R E S SE c h oT e s tS e r v i c e. V M _ D U R A T I O N V M _ A L L O W E D _ D U R A T I O N maximum duration in seconds allowed to leave voicemail R A T E expressed as cost per minute (added in protocol 6). R A T E _ C U R R E N C Y EUR|USD.. T his property gets populated from currency selected in Skype account details P S T N _ B A L A N C E _ C U R R E N C Yproperty of the P R O F I L Eobject. However, the value of P S T N _ B A L A N C E _ C U R R E N C Ycan change in time (added in protocol 6). R A T E _ P R E C I S I O N the number of times to divide R A T Eby 10 to get the full currency unit. For example, a R A T Eof 1234 with R A T E _ P R E C I S I O Nof 2 amounts to 12.34 (added in protocol 6). I N P U T New in API version 2.6 Refer to Voice Streams section for more information. Can have following values: S O U N D C A R D = " d e f a u l t " default is currently the only acceptable value. P O R T = " p o r t _ n o " the ID of the audio port (1..65535) F I L E = " f i l e n a m e . w a v " the path and name of the audio file. O U T P U T can have all the same values as I N P U Tproperty. Refer to Voice Streams section for more information. New in API version 2.6 C A P T U R E _ M I C can have all the same values as I N P U Tand O U T P U Tproperties. Refer to Voice Streams section for more information. New in API version 2.6 V A A _ I N P U T _ S T A T U S true|false, indicates if voice input is enabled. New in API version 2.6 F O R W A R D E D _ B Y Contains identity of the user who forwarded a call. If the user who forwarded the call could not be identified then this property will be set to ?. New in API version 2.6 T R A N S F E R _ A C T I V E Refer to ALT ER CALL T RANSFER command. Added in protocol 7 (API version 3.0) T R A N S F E R _ S T A T U S Refer to ALT ER CALL T RANSFER command. Added in protocol 7 (API version 3.0) T R A N S F E R R E D _ B Y Refer to ALT ER CALL T RANSFER command. Added in protocol 7 (API version 3.0) T R A N S F E R R E D _ T O Refer to ALT ER CALL T RANSFER command. Added in protocol 7 (API version 3.0)

Notes
Status values for voicemails ( V M _ x x x) and V M _ D U R A T I O N / V M _ A L L O W E D _ D U R A T I O Napply to calls which are forwarded into voicemail. T his feature was introduced in protocol 5. Most call properties are read-only. T he following properties are read-write and can be modified with the S E Tcommand: S T A T U S for call control. Possible values: O N H O L D hold call I N P R O G R E S S answer or resume call F I N I S H E D hang up call S E E N sets call as seen, so that a missed call is seen and can be removed from the missed calls list. D T M F sends V A L U Eas DT MF. Permitted symbols in V A L U Eare: {0..9,#,*}. J O I N _ C O N F E R E N C E joins call with another call into conference. V A L U Eis the ID of another call.

MESSAGE object
Version Protocol 1, deprecated in protocol 3 and replaced by the CHAT MESSAGE object. Properties
T I M E S T A M P time when the message was sent (UNIX timestamp), for example: M E S S A G E2 1T I M E S T A M P 1 0 7 8 9 5 8 2 1 8 P A R T N E R _ H A N D L E for example M E S S A G E2 1P A R T N E R _ H A N D L Em i k e

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

90/129

18/07/2013 Skype Developer - Skype Deskt op API Referen ce M an u al P A R T N E R _ D I S P N A M E for example M E S S A G E2 1P A R T N E R _ D I S P N A M EM i k eM a n n C O N F _ I D not used. T Y P E message type, for example M E S S A G E2 1T Y P ET E X T. Possible T Y P Evalues:
A U T H R E Q U E S T authoriz ation request T E X T IM or topic set C O N T A C T S contacts data U N K N O W N other S T A T U S message status, for example M E S S A G E2 1S T A T U SQ U E U E D. Possible values: S E N D I N G message is being sent S E N T message was sent F A I L E D message sending failed. T ry to get a F A I L U R E R E A S O Nfor more information. R E C E I V E D message has been received R E A D message has been read I G N O R E D message was ignored Q U E U E D message is queued F A I L U R E R E A S O N for example M E S S A G E2 1F A I L U R E R E A S O N 1(numeric). B O D Y message body, for example M E S S A G E2 1B O D YH i ,w h a t ' su p ? Most message properties are read-only. T he following property is read-write and can be modified with the S E Tcommand: S E E N the message is seen and will be removed from missed messages list. T he UI sets this automatically if auto-popup is enabled for the user.

CHAT object
Version Protocol 3 (updated in protocol 7) Properties
N A M E chat ID, for example C H A T# t e s t _ l / $ 6 a 0 7 2 c e 5 5 3 7 c 4 0 4 4N A M E# t e s t _ l / $ 6 a 0 7 2 c e 5 5 3 7 c 4 0 4 4 T I M E S T A M P time when chat was created, for example C H A T# t e s t _ l / $ 6 a 0 7 2 c e 5 5 3 7 c 4 0 4 4 T I M E S T A M P1 0 7 8 9 5 8 2 1 8 A D D E R user who added the current user to chat, for example C H A T1 0 7 8 9 5 8 2 1 8A D D E Rk 6 r b e r e b a n e S T A T U S chat status, for example C H A T# t e s t _ l / $ 6 a 0 7 2 c e 5 5 3 7 c 4 0 4 4S T A T U SM U L T I _ S U B S C R I B E D. Possible values: L E G A C Y _ D I A L O G old style IM D I A L O G 1:1 chat. M U L T I _ S U B S C R I B E D participant in chat U N S U B S C R I B E D left chat P O S T E R S members who have posted messages, for example C H A T# t e s t _ l / $ 6 a 0 7 2 c e 5 5 3 7 c 4 0 4 4 P O S T E R Sk 6 r b e r e b a n et e s t _ 3 M E M B E R S all users who have been there, for example C H A T# t e s t _ l / $ 6 a 0 7 2 c e 5 5 3 7 c 4 0 4 4M E M B E R S k 6 r b e r e b a n et e s tt e s t _ 2t e s t _ 3 T O P I C chat topic. Example: C H A T# t e s t _ l / $ 6 a 0 7 2 c e 5 5 3 7 c 4 0 4 4T O P I CA P It e s t i m i n e T O P I C X M L set when a chat topic contains XML formatting elements (topic was changed with ALT ER CHAT SET T OPICXML command) T his property works in parallel with T O P I Cproperty when T O P I C X M Lis set, the value is stripped of XML tags and updated in T O P I C . C H A T M E S S A G E S all messages IDs in this chat, for example C H A T# t e s t _ l / $ 6 a 0 7 2 c e 5 5 3 7 c 4 0 4 4 C H A T M E S S A G E S3 4 ,3 5 ,3 6 ,3 8 ,3 9 A C T I V E M E M B E R S members who have stayed in chat, for example C H A T# t e s t _ l / $ 6 a 0 7 2 c e 5 5 3 7 c 4 0 4 4 A C T I V E M E M B E R Sk 6 r b e r e b a n et e s t _ 2t e s t _ 3 F R I E N D L Y N A M E name shown in chat window title, for example C H A T# t e s t _ l / $ 6 a 0 7 2 c e 5 5 3 7 c 4 0 4 4 F R I E N D L Y N A M ET e s tT e s tX X|t e r ei s ek a C H A T M E S S A G E S list of chatmessage identifiers R E C E N T C H A T M E S S A G E S list of missed/recent chatmessage identifiers B O O K M A R K E D T R U E | F A L S E(added in protocol version 6 / Skype API version 2.5)

Following properties were added to C H A Tobject in protocol 7 (API version 3.0):


M E M B E R O B J E C T S contains the list of CHAT MEMBER object IDs. Refer to CHAT MEMBER object for list of properties GET CHAT MEMBER command on how to access those properties. GET CHAT MEMBEROBJECT S command on how to get a list of chatmember object IDs for a given chat. P A S S W O R D H I N T contains password hint text for the chat object. Refer to ALT ER CHAT SET PASSWORD command on how to set chat passwords.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

91/129

18/07/2013 Skype Developer - Skype Deskt op API Referen ce M an u al G U I D E L I N E S contains chat guidelines text. Refer to ALT ER CHAT SET GUIDELINES command on how to set chat guidelines. O P T I O N S bitmap of chat options. Refer to ALT ER CHAT SET OPT IONS command for more information. D E S C R I P T I O N currently used only for hidden synchroniz ation channels for managing shared groups. D I A L O G _ P A R T N E R the handle of the dialog partner for dialog type chats (chats with two participants). A C T I V I T Y _ T I M E S T A M P the UNIX timestamp of last activity. T Y P E chat type with following possible values:
L E G A C Y _ D I A L O G no longer supported. D I A L O G a chat with only two participants. M U L T I C H A T a chat with more than two participants. S H A R E D G R O U P a chat used for synchroniz ation of shared contact groups. L E G A C Y _ U N S U B S C R I B E D no longer supported. M Y S T A T U S users current status in chat. Possible values are: C O N N E C T I N G status set when the system is trying to connect to the chat. W A I T I N G _ R E M O T E _ A C C E P T set when a new user joins a public chat. When the chat has participants need authoriz ation to read messages option, the M Y S T A T U Sproperty of a new applicant will remain in this status until he gets accepted or rejected by a chat administrator. Otherwise users M Y S T A T U S will automatically change to either L I S T E N E Ror U S E R , depending on public chat options. A C C E P T _ R E Q U I R E D this status is used for shared contact groups functionality. P A S S W O R D _ R E Q U I R E D status set when the system is waiting for user to supply the chat password. S U B S C R I B E D set when user joins the chat. U N S U B S C R I B E D set when user leaves the chat or chat ends. C H A T _ D I S B A N D E D status set when the chat is disbanded. Q U E U E D _ B E C A U S E _ C H A T _ I S _ F U L L currently the maximum number of people in the same chat is 100. A P P L I C A T I O N _ D E N I E D set when public chat administrator has rejected user from joining. K I C K E D status set when the user has been kicked from the chat. Note that it is possible for the user to re-join the chat after being kicked. B A N N E D status set when the user has been banned from the chat. R E T R Y _ C O N N E C T I N G status set when connect to chat failed and system retries to establish connection. M Y R O L E users privilege level in chat Refer to CHAT ROLES section for more information. B L O B for public chats, this property contains encoded list of chat join-points. Contents of this field is used in public chat URLs. A P P L I C A N T S this property contains list of skypenames of people who have applied to join the chat but have not yet been accepted by a public chat administrator. Users only become applicants when the chat has J O I N E R S _ B E C O M E _ A P P L I C A N T Soption. Refer to ALT ER CHAT SET OPT IONS command for more information.

CHATMEMBER object
Version Protocol 7 (API version 3.0) Properties:
C H A T N A M E I D E N T I T Y R O L E C R E A T O R | M A S T E R | H E L P E R | U S E R | L I S T E N E R | A P P L I C A N TRefer to chat roles for more information. I S _ A C T I V E T R U E | F A L S E T R U E indicates that the chat member has joined the chat. F A L S Eindicates that the member has been added to the chat but has not yet acknowledged it. Normally occurs when the member who was added to a chat was offline at the time. Once I S _ A C T I V E becomes T RUE, it will remain true.

Refer to GET CHAT MEMBER command on how to access C H A T M E M B E Rproperties.

CHATMESSAGE object
Version Protocol 3. Supersedes the M E S S A G Eobject. Updated in protocol 7. Note that when your application connects to Skype, PROT OCOL 7 command must be sent to Skype before your client can recogniz e new message types added in protocol 7. Connecting with default protocol (protocol 1) will cause new message types being reported as U N K N O W N .

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

92/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Properties
T I M E S T A M P time when message was sent (UNIX timestamp), for example M E S S A G E2 1T I M E S T A M P 1 0 7 8 9 5 8 2 1 8 P A R T N E R _ H A N D L E NB! T his property is deprecated since API version 3.0 and replaced with F R O M _ H A N D L E . P A R T N E R _ D I S P N A M E NB! T his property is deprecated since API version 3.0 and replaced with F R O M _ D I S P N A M E . F R O M _ H A N D L E skypename of the originator of the chatmessage. F R O M _ D I S P N A M E displayed name of the originator of the chatmessage. T Y P E message type, for example M E S S A G E2 1T Y P ET E X T. Possible values: S E T T O P I C change of chat topic S A I D IM A D D E D M E M B E R S invited someone to chat S A W M E M B E R S chat participant has seen other members C R E A T E D C H A T W I T H chat to multiple people is created L E F T someone left chat; can also be a notification if somebody cannot be added to chat P O S T E D C O N T A C T S system message that is sent or received when one user sends contacts to another. Added in protocol 7. G A P _ I N _ C H A T messages of this type are generated locally, during synchroniz ation, when a user enters a chat and it becomes apparent that it is impossible to update users chat history completely. Chat history is kept only up to maximum of 400 messages or 2 weeks. When a user has been offline past that limit, G A P _ I N _ C H A Tnotification is generated. Added in protocol 7. S E T R O L E system messages that are sent when a chat member gets promoted or demoted. Refer to ALT ER CHAT MEMBER SET ROLET O command for more info on how to change chat member roles. Added in protocol 7. K I C K E D system messages that are sent when a chat member gets kicked. Refer to ALT ER CHAT KICK command for more information. Added in protocol 7. K I C K B A N N E D system messages that are sent when a chat member gets banned. Refer to ALT ER CHAT KICKBAN command for more information. Added in protocol 7. S E T O P T I O N S system messages that are sent when chat options are changed. Refer to ALT ER CHAT SET OPT IONS command for more information. Added in protocol 7. S E T P I C T U R E system messages that are sent when a chat member has changed the public chat topic picture. Added in protocol 7. S E T G U I D E L I N E S system messages that are sent when chat guidelines are changed. Refer to ALT ER CHAT SET GUIDELINES command for more information. Added in protocol 7. J O I N E D A S A P P L I C A N T notification message that gets sent in a public chat with J O I N E R S _ B E C O M E _ A P P L I C A N T Soptions, when a new user joins the chat. See ALT ER CHAT SET OPT IONS command for more information on chat options. Added in protocol 7. U N K N O W N unknown message type, possibly due to connecting to Skype with older protocol. S T A T U S message status, for example M E S S A G E2 1S T A T U SQ U E U E D. Possible values: S E N D I N G message is being sent S E N T message was sent R E C E I V E D message has been received R E A D message has been read L E A V E R E A S O N used with L E F Ttype message, for example C H A T M E S S A G E2 1L E A V E R E A S O N U N S U B S C R I B E. Possible values: U S E R _ N O T _ F O U N D user was not found U S E R _ I N C A P A B L E user has an older Skype version and cannot join multichat A D D E R _ M U S T _ B E _ F R I E N D recipient accepts messages from contacts only and sender is not in his/her contact list A D D E D _ M U S T _ B E _ A U T H O R I Z E D recipient accepts messages from authoriz ed users only and sender is not authoriz ed U N S U B S C R I B E participant left chat C H A T N A M E chat that includes the message, for example # t e s t _ 3 / $ b 1 7 e b 5 1 1 4 5 7 e 9 d 2 0 U S E R S people added to chat I S _ E D I T A B L E T R U E | F A L S ERefer to SET CHAT MESSAGE BODY command for more information on how to edit chat message text (B O D Y ) and on what conditions is such editing permitted. T his property was introduced in API version 3.0 E D I T E D _ B Y identity of the last user who edited the message. New in API version 3.0 E D I T E D _ T I M E S T A M P UNIX timestamp of the last edit. New in API version 3.0 O P T I O N S numeric field that contains chat options bitmap in system messages that get sent out when a change is made to chat options (messages where T Y P Eis S E T O P T I O N S ). In normal messages the value of this field is 0. Refer to ALT ER CHAT SET OPT IONS command for more information. R O L E used in system messages that get sent when a public chat administrator has promoted or demoted a chat member. T he T Y P Eproperty of such messages is set to S E T R O L E . In these messages the value of this field is set to the new assigned role of the promoted or demoted chat member. In normal messages the value of this property is set to U N K N O W N . Refer to CHAT ROLES section for a list of different chat roles and ALT ER CHAT MEMBER SET ROLET O command for how chat roles can be changed. New in API version 3.0

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

93/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Most chatmessage properties are read-only. T he following property is read-write and can be modified with the S E Tcommand:
S E E N mark missed chatmessage as seen and removes chat from missed events. B O D Y message text. Note that this property was read-only prior to API version 3.0

VOICEMAIL object
Version Protocol 5 Properties
T Y P E type of voicemail object I N C O M I N G voicemail received from partner O U T G O I N G voicemail sent to partner D E F A U L T _ G R E E T I N G Skype default greeting from partner C U S T O M _ G R E E T I N G partners recorded custom greeting U N K N O W N P A R T N E R _ H A N D L E username for voicemail sender (for incoming) or recipient (for outgoing) P A R T N E R _ D I S P N A M E user displayname for partner S T A T U S current status of voicemail object N O T D O W N L O A D E D voicemail is stored on server (has not been downloaded yet) D O W N L O A D I N G downloading from server to local machine U N P L A Y E D voicemail has been downloaded but not played back yet B U F F E R I N G buffering for playback P L A Y I N G currently played back P L A Y E D voicemail has been played back B L A N K intermediate status when new object is created but recording has not begun R E C O R D I N G voicemail currently being recorded R E C O R D E D voicemail recorded but not yet uploaded to the server U P L O A D I N G voicemail object is currently being uploaded to server U P L O A D E D upload to server finished but not yet deleted; object is also locally stored D E L E T I N G pending delete F A I L E D downloading voicemail/greeting failed U N K N O W N F A I L U R E R E A S O Npossible values M I S C _ E R R O R C O N N E C T _ E R R O R N O _ V O I C E M A I L _ P R I V I L E G E N O _ S U C H _ V O I C E M A I L F I L E _ R E A D _ E R R O R F I L E _ W R I T E _ E R R O R R E C O R D I N G _ E R R O R P L A Y B A C K _ E R R O R U N K N O W N S U B J E C T not used T I M E S T A M P D U R A T I O N actual voicemail duration in seconds A L L O W E D _ D U R A T I O N maximum voicemail duration in seconds allowed to leave to partner I N P U T New in API version 3.5.0.202 Can have following values: S O U N D C A R D = " d e f a u l t " default is currently the only acceptable value. P O R T = " p o r t _ n o " the ID of the audio port (1..65535) F I L E = " f i l e n a m e . w a v " the path and name of the audio file. O U T P U T can have all the same values as I N P U Tproperty. New in API version 3.5.0.202 C A P T U R E _ M I C can have all the same values as I N P U Tand O U T P U Tproperties. New in API version 3.5.0.202

SMS object
Version Added in API version 2.5

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

94/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Refer to Sending and managing SMS messages section for additional info. Properties
B O D Y SMS message text, read-write access T Y P E Possible values: I N C O M I N G received messages. Note that as sending SMS messages to Skype numbers is currently not supported, this status is here mainly for future compatibility. O U T G O I N G sent messages C O N F I R M A T I O N _ C O D E _ R E Q U E S T [#SMS_NUMBER_VALIDAT ION used for registering users Skype ID as a reply-to number] C O N F I R M A T I O N _ C O D E _ S U B M I T [#SMS_NUMBER_VALIDAT ION used for registering users Skype ID as a reply-to number] U N K N O W N for unknown reasons, the message type is unknown S T A T U S Possible values: R E C E I V E D the message has been received (but not tagged as read) R E A D the message has been tagged as read C O M P O S I N G the message has been created but not yet sent S E N D I N G _ T O _ S E R V E R the message is in process of being sent to server S E N T _ T O _ S E R V E R the message has been sent to server D E L I V E R E D server has confirmed that the message is sent out to recepient S O M E _ T A R G E T S _ F A I L E D server reports failure to deliver the message to one of the recepients within 24h F A I L E D the message has failed, possible reason may be found in F A I L U R E R E A S O Nproperty U N K N O W N message status is unknown F A I L U R E R E A S O N M I S C _ E R R O R indicates failure to supply a meaningful error message S E R V E R _ C O N N E C T _ F A I L E D unable to connect to SMS server N O _ S M S _ C A P A B I L I T Y recepient is unable to receive SMS messages I N S U F F I C I E N T _ F U N D S insufficient Skype Credit to send an SMS message I N V A L I D _ C O N F I R M A T I O N _ C O D E set when an erroneous code was submitted in a CONFIRMAT ION_CODE_SUBMIT message U S E R _ B L O C K E D user is blocked from the server I P _ B L O C K E D users IP is blocked from the server N O D E _ B L O C K E D users p2p network node has been blocked from the server U N K N O W N default failure code N O _ S E N D E R I D _ C A P A B I L I T Y Set when a C O N F I R M A T I O N _ C O D E _ R E Q U E S TSMS message is sent with a mobile phone number containing country code of either USA, T aiwan or China. Setting reply-to number from Skype SMSs to your mobile number is not supported in these countries. Added in Skype version 3.5 (protocol 8). I S _ F A I L E D _ U N S E E N T R U E | F A L S ET o change this value from T rue to False, use S E TS M S< i d >S E E N command T I M E S T A M P Unix timestamp (usually GMT ) P R I C E cost of sending the SMS message (integer value) P R I C E _ P R E C I S I O N 1|2|3.. the number of times the P R I C Eis divided by 10 to express ther full currency unit. For example, a P R I C Eof 1234 with P R I C E _ P R E C I S I O Nof 2 amounts to 12.34. P R I C E _ C U R R E N C Y EUR|USD.. R E P L Y _ T O _ N U M B E R reply-to field of the SMS message, read-write access T A R G E T _ N U M B E R S comma-separated list of SMS recepients (+number, +number, +number..), read-write access T A R G E T _ S T A T U S E S a string containing comma-separated list of recepients with message delivery status for each of them, in following format: +number=status, +number=status.. Possible values for target statuses are: T A R G E T _ A N A L Y Z I N G T A R G E T _ U N D E F I N E D T A R G E T _ A C C E P T A B L E T A R G E T _ N O T _ R O U T A B L E T A R G E T _ D E L I V E R Y _ P E N D I N G T A R G E T _ D E L I V E R Y _ S U C C E S S F U L T A R G E T _ D E L I V E R Y _ F A I L E D U N K N O W N

APPLICATION object
Properties

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

95/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

C O N N E C T A B L E query connectable users. NB! From API version 3.0, this property enters the deprecation process.
> G E T A P P L I C A T I O N a p p n a m e C O N N E C T A B L E < A P P L I C A T I O N a p p n a m e C O N N E C T A B L E [ u s e r n a m e [ u s e r n a m e ] * ]

C O N N E C T I N G query on-going connection process after the connection is established. Username is removed from C O N N E C T I N Glist.
> G E T A P P L I C A T I O N a p p n a m e C O N N E C T I N G < A P P L I C A T I O N a p p n a m e C O N N E C T I N G [ u s e r n a m e [ u s e r n a m e ] * ]

S T R E A M S query open streams (connections)


> G E T A P P L I C A T I O N a p p n a m e S T R E A M S < A P P L I C A T I O N a p p n a m e S T R E A M S [ u s e r n a m e : i d [ u s e r n a m e : i d ] * ]

S E N D I N G query if currently sending any data. After the data is sent, the stream name is removed from the S E N D I N Glist
> G E T A P P L I C A T I O N a p p n a m e R E C I E V E D < A P P L I C A T I O N a p p n a m e S E N D I N G [ u s e r n a m e : i d = b y t e s [ u s e r n a m e : i d b y t e s ] * ]

Note: In Skype 1.4x, the number of bytes reported by the S E N D I N Gnotification following an A P P L I C A T I O NW R I T Eis 2 bytes longer than that which was written.
> a l t e r a p p l i c a t i o n e x e w r i t e t e s t t e s t 2 0 : 1 w < A L T E R A P P L I C A T I O N e x e W R I T E t e s t t e s t 2 0 : 1 < A P P L I C A T I O N e x e S E N D I N G t e s t t e s t 2 0 : 1 3 > a l t e r a p p l i c a t i o n e x e w r i t e t e s t t e s t 2 0 : 1 1 2 3 4 5 6 7 8 9 0 < A L T E R A P P L I C A T I O N e x e W R I T E t e s t t e s t 2 0 : 1 < A P P L I C A T I O N e x e S E N D I N G t e s t t e s t 2 0 : 1 1 2

R E C E I V E D query if there is data waiting in received buffer. After the data is read from the stream, the stream name is removed from the R E C E I V E Dlist.
> G E T A P P L I C A T I O N a p p n a m e R E C E I V E D < A P P L I C A T I O N a p p n a m e S E N D I N G [ u s e r n a m e : i d = b y t e s [ u s e r n a m e : i d b y t e s ] * ]

incoming datagram notification


< A P P L I C A T I O N a p p n a m e D A T A G R A M u s e r : i d t e x t

Version
Protocol 5 Skype for Windows 1.4

GROUP object
T he G R O U Pobject enables users to group contacts. T here are two types of G R O U P; custom groups and hardwired groups. T he G R O U Pobject has the following properties:
T Y P E :{ A L L|C U S T O M|H A R D W I R E D|S H A R E D _ G R O U P|P R O P O S E D _ S H A R E D _ G R O U P } A L L all groups. (new in API version 2.5) C U S T O M user-defined groups. H A R D W I R E D smart groups defined by Skype to manage groups. S H A R E D _ G R O U P shared groups, with semi-automatic cross-authriz ation between contacts (new in API version 2.5) P R O P O S E D _ S H A R E D _ G R O U P a group that has turned into a shared group and is waiting for accept/decline (new in API version 2.5) C U S T O M _ G R O U P _ I D a persistent ID for custom groups which can be empty at the start of group creation. D I S P L A Y N A M E the display name of the group (read-write)

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

96/129

18/07/2013 Skype Developer - Skype Deskt op API Referen ce M an u al N R O F U S E R S the number of contacts in this group (read-only) N R O F U S E R S _ O N L I N E the number of contacts online in this group (read-only) U S E R S the list of contacts in the group (read-only) Following is a description of all group types defined by Skype:

H A R D W I R E DG R O U P Sare described in the following table.


Contact group type A L L _ U S E R S Description T his group contains all users I know about, including users in my contactlist, users I recently contacted and blocked users. T his group contains all contacts in my contactlist (also known as friends) T his group contains Skype contacts in my contactlist. T his group contains SkypeOut contacts in my contactlist. T his group contains Skype contacts in my contactlist who are online. T his group contains contacts in my contactlist who have not yet authoriz ed me. T his group contains contacts I have conversed with recently, including non-friends. T his group contains contacts who are awating my response to an authorisation request, including non-friends. T his group contains all contacts I have authorised, including non-friends. T his group contains all contacts I have blocked, including non-friends. T his group contains all contacts in my contactlist that do not belong to any custom group. T his group type is reserved for user-defined groups.

A L L _ F R I E N D S

S K Y P E _ F R I E N D S S k y p e O u t _ F R I E N D S O N L I N E _ F R I E N D S

U N K N O W N _ O R _ P E N D I N G A U T H _ F R I E N D S

R E C E N T L Y _ C O N T A C T E D _ U S E R S

U S E R S _ W A I T I N G _ M Y _ A U T H O R I Z A T I O N

U S E R S _ A U T H O R I Z E D _ B Y _ M E

U S E R S _ B L O C K E D _ B Y _ M E

U N G R O U P E D _ F R I E N D S

C U S T O M _ G R O U P

FILETRANSFER object
File transfer objects are for monitoring purposes only. No alters/actions via API are currently allowed with these objects. File transfers cannot be initiated nor accepted via API commands. Values of all the properties can be accessed with G E TF I L E T R A N S F E R< i d > < p r o p e r t y _ n a m e >commands. Refer to SEARCH FILET RANSFERS and SEARCH ACT IVEFILET RANSFERS for getting lists of F I L E T R A N S F E Robjects in the system. Properties:
T Y P E possible values are: I N C O M I N G file transfer object from receiving side. O U T G O I N G file transfer object from transmitting side. S T A T U S current status of the object. Possible values are: N E W initial state of a file transfer. For sender, the status proceeds to W A I T I N G _ F O R _ A C C E P T . W A I T I N G _ F O R _ A C C E P T status set for sender until receiver either accepts or cancels the transfer. C O N N E C T I N G is set for both parties after remote user accepts the file transfer. T R A N S F E R R I N G is set at the start of the file transfer. T R A N S F E R R I N G _ O V E R _ R E L A Y set when no direct connection between sender and receiver could be established over the network. Analogous to T R A N S F E R R I N G .

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

97/129

18/07/2013 Skype Developer - Skype Deskt op API Referen ce M an u al P A U S E D this status is currently unused. R E M O T E L Y _ P A U S E D this status is also currently unused. C A N C E L L E D file transfer has been locally cancelled. Remote user status is set to F A I L E Dand F A I L U R E _ R E A S O Nto R E M O T E L Y _ C A N C E L L E D . C O M P L E T E D file transfer was completed. F A I L E D file transfer failed to complete. Cause of the failure can be seen in F A I L U R E R E A S O N .
F A I L U R E R E A S O N set when S T A T U Sis set to F A I L E D . S E N D E R _ N O T _ A U T H O R I Z E D It is only possible to transfer files between users who have authoriz ed each-other. As initiating file transfers to remote users who have not authoriz ed the sender is currently blocked by UI, this F A I L U R E R E A S O Nappears to be unused. R E M O T E L Y _ C A N C E L L E D set when remote user has cancelled the transfer. F A I L E D _ R E A D read error on local machine. F A I L E D _ R E M O T E _ R E A D read error on remote machine. F A I L E D _ W R I T E write error on local machine. F A I L E D _ R E M O T E _ W R I T E write error on remote machine. R E M O T E _ D O E S _ N O T _ S U P P O R T _ F T Skype client of the receiver does not support file transfers. R E M O T E _ O F F L I N E _ F O R _ T O O _ L O N G the recipient of the proposed file transfer is not available (offline for longer than 7 days). P A R T N E R _ H A N D L E remote users skypename. P A R T N E R _ D I S P N A M E remote users display name. S T A R T T I M E Unix timestamp of when the transfer was started. F I N I S H T I M E while transmission is in progress the value is updated with estimated time of completion (0 when no estimation can be given). When transmission is finished, the value is set to the timestamp of completion/failure. F I L E P A T H full path of the file being read or written in local file system. Includes filename and extension. *F I L E N A M E filename (and extension) without path. T his is also seen by the receiver before accept (default file name, from sender). F I L E S I Z E file siz e, 64-bit numeric. B Y T E S P E R S E C O N D transfer speed during file transfer. Becomes 0 after transfer is completed, failed or aborted. B Y T E S T R A N S F E R R E D current nr. of bytes transferred (progress), 64-bit numeric.

Example:
/ / / / S e n d e r i n i t i a t e s f i l e t r a n s f e r f r o m U I / / N o t e t h a t t h e f i l e n a m e i n n o t i f i c a t i o n m e s s a g e i s n o t e n c l o s e d i n q u o t e s . < F I L E T R A N S F E R 9 8 2 T Y P E O U T G O I N G < F I L E T R A N S F E R 9 8 2 P A R T N E R _ H A N D L E T e s t 2 < F I L E T R A N S F E R 9 8 2 P A R T N E R _ D I S P N A M E T e s t 2 < F I L E T R A N S F E R 9 8 2 F I L E P A T H C : \ S t u f f \ T h i s i s t e s t f i l e . m p 3 < F I L E T R A N S F E R 9 8 2 F I L E N A M E T h i s i s t e s t f i l e . m p 3 < F I L E T R A N S F E R 9 8 2 S T A T U S N E W < F I L E T R A N S F E R 9 8 2 F I L E S I Z E 0 < F I L E T R A N S F E R 9 8 2 S T A R T T I M E 1 1 7 4 5 5 8 0 4 4 < F I L E T R A N S F E R 9 8 2 F I N I S H T I M E 0 < F I L E T R A N S F E R 9 8 2 B Y T E S P E R S E C O N D 0 < F I L E T R A N S F E R 9 8 2 B Y T E S T R A N S F E R R E D 0 < F I L E T R A N S F E R 9 8 2 F I L E S I Z E 2 1 9 3 7 2 0 < F I L E T R A N S F E R 9 8 2 S T A T U S W A I T I N G _ F O R _ A C C E P T / / / / R e m o t e u s e r r e c e i v e s i n c o m i n g f i l e n o t i f i c a t i o n < F I L E T R A N S F E R 1 2 5 0 T Y P E I N C O M I N G < F I L E T R A N S F E R 1 2 5 0 P A R T N E R _ H A N D L E T e s t < F I L E T R A N S F E R 1 2 5 0 P A R T N E R _ D I S P N A M E T e s t < F I L E T R A N S F E R 1 2 5 0 F I L E N A M E T h i s i s t e s t f i l e . m p 3 < F I L E T R A N S F E R 1 2 5 0 S T A T U S N E W < F I L E T R A N S F E R 1 2 5 0 S T A R T T I M E 1 1 7 4 6 4 4 3 7 3 < F I L E T R A N S F E R 1 2 5 0 F I N I S H T I M E 0 < F I L E T R A N S F E R 1 2 5 0 B Y T E S P E R S E C O N D 0 < F I L E T R A N S F E R 1 2 5 0 B Y T E S T R A N S F E R R E D 0 / / / / R e m o t e u s e r a c c e p t s t h e f i l e f r o m U I a n d s t a r t s r e c e i v i n g < F I L E T R A N S F E R 1 2 5 0 F I L E P A T H C : \ t e s t \ T h i s i s t e s t f i l e . m p 3 < F I L E T R A N S F E R 1 2 5 0 S T A T U S C O N N E C T I N G < F I L E T R A N S F E R 1 2 5 0 S T A T U S T R A N S F E R R I N G < F I L E T R A N S F E R 1 2 5 0 B Y T E S T R A N S F E R R E D 2 6 2 4 5 4 < F I L E T R A N S F E R 1 2 5 0 B Y T E S P E R S E C O N D 3 0 7 8 0 6 < F I L E T R A N S F E R 1 2 5 0 B Y T E S T R A N S F E R R E D 5 8 0 1 1 0 < F I L E T R A N S F E R 1 2 5 0 F I N I S H T I M E 1 1 7 4 6 4 4 5 2 6 < F I L E T R A N S F E R 1 2 5 0 B Y T E S P E R S E C O N D 5 2 6 9 5 9 < F I L E T R A N S F E R 1 2 5 0 B Y T E S T R A N S F E R R E D 1 3 1 6 3 7 2

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

98/129

18/07/2013
< F I L E T R A N S F E R 1 2 5 0 F I N I S H T I M E 1 1 7 4 6 4 4 5 2 3 < F I L E T R A N S F E R 1 2 5 0 B Y T E S P E R S E C O N D 6 1 3 7 7 6

Skype Developer - Skype Deskt op API Referen ce M an u al

< F I L E T R A N S F E R 1 2 5 0 B Y T E S T R A N S F E R R E D 2 1 0 3 7 8 2 < F I L E T R A N S F E R 1 2 5 0 B Y T E S P E R S E C O N D 0 < F I L E T R A N S F E R 1 2 5 0 B Y T E S T R A N S F E R R E D 2 1 9 3 7 2 0 < F I L E T R A N S F E R 1 2 5 0 S T A T U S C O M P L E T E D / / / / S e n d e r r e c e i v e s n o t i f i c a t i o n t h a t t h e f i l e h a s b e e n a c c e p t e d a n d s t a r t s s e n d i n g < F I L E T R A N S F E R 9 8 2 S T A T U S C O N N E C T I N G < F I L E T R A N S F E R 9 8 2 S T A T U S T R A N S F E R R I N G < F I L E T R A N S F E R 9 8 2 B Y T E S T R A N S F E R R E D 2 6 2 4 5 4 < F I L E T R A N S F E R 9 8 2 B Y T E S P E R S E C O N D 3 0 8 1 0 4 < F I L E T R A N S F E R 9 8 2 B Y T E S T R A N S F E R R E D 5 8 0 1 1 0 < F I L E T R A N S F E R 9 8 2 F I N I S H T I M E 1 1 7 4 5 5 8 1 9 8 < F I L E T R A N S F E R 9 8 2 B Y T E S P E R S E C O N D 5 1 0 9 8 7 < F I L E T R A N S F E R 9 8 2 B Y T E S T R A N S F E R R E D 1 2 9 6 1 8 2 < F I L E T R A N S F E R 9 8 2 F I N I S H T I M E 1 1 7 4 5 5 8 1 9 5 < F I L E T R A N S F E R 9 8 2 B Y T E S P E R S E C O N D 6 0 6 2 3 7 < F I L E T R A N S F E R 9 8 2 B Y T E S T R A N S F E R R E D 2 0 8 3 5 9 2 < F I L E T R A N S F E R 9 8 2 B Y T E S P E R S E C O N D 0 < F I L E T R A N S F E R 9 8 2 F I N I S H T I M E 0 < F I L E T R A N S F E R 9 8 2 S T A T U S C O N N E C T I N G < F I L E T R A N S F E R 9 8 2 B Y T E S T R A N S F E R R E D 2 1 9 3 7 2 0 < F I L E T R A N S F E R 9 8 2 F I N I S H T I M E 1 1 7 4 5 5 8 1 9 5 < F I L E T R A N S F E R 9 8 2 S T A T U S C O M P L E T E D

Version Protocol 7 (API version 3.0)

Managing object properties


T hree commands are available for retrieving and modifing object properties and general parameters:
G E T general request command to retrieve object properties and general parameters S E T to set object properties and modify general parameters A L T E R to alter or perform an action with an object

General syntax
G E TU S E R< u s e r n a m e >p r o p e r t y |C A L L< i d >p r o p e r t y |M E S S A G E< i d >p r o p e r t y |C H A T< i d >p r o p e r t y |C H A T M E S S A G E< i d >p r o p e r t y |V O I C E M A I L< i d >p r o p e r t y S E TU S E R< u s e r n a m e >p r o p e r t y< v a l u e > |C A L L< i d >p r o p e r t y< v a l u e > |M E S S A G E< i d >p r o p e r t y< v a l u e > |C H A T< i d >p r o p e r t y< v a l u e > |C H A T M E S S A G E< i d >p r o p e r t y< v a l u e > |V O I C E M A I L< i d >p r o p e r t y< v a l u e > See the corresponding object information for available properties and property values: CALL object USER object PROFILE object CHAT object CHAT MESSAGE object VOICEMAIL object APPLICAT ION object T his section contains the commands for managing object properties. Note that: T he G E TM E S S A G Ecommand is deprecated and has been replaced by the GET CHAT MESSAGE command. Commands for the A P P L I C A T I O Nobject are described in the APPLICAT ION object information.

GET USER
T his command returns property values for a specified user.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-AT

99/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Syntax G E TU S E R< u s e r n a m e >p r o p e r t y Response U S E R< u s e r n a m e >p r o p e r t y< v a l u e > Parameters


< u s e r n a m e > Skype username to retrieve property p r o p e r t y property name. Refer to the USER object information for list of properties.

Version Protocol 1 Errors


E R R O R7G E T :i n v a l i dW H A T Object name missing or misspelled E R R O R1 0I n v a l i dp r o p ID and/or property missing or misspelled. E R R O R8i n v a l i dh a n d l e U S E R N A M Emissing or includes a not permitted character . Note: T he G E TU S E R< t a r g e t > O N L I N E S T A T U Scommand returns the response O F F L I N Eunless the current user is authoriz ed by the target user to see his/her online status.

Example
> G E T U S E R p a m e l a F U L L N A M E < U S E R p a m e l a F U L L N A M E J a n e D o e

SET USER
Syntax S E TU S E R< t a r g e t >I S A U T H O R I Z E DT R U E | F A L S E allow/disable target to see current users userstatus S E TU S E R< t a r g e t >I S B L O C K E DT R U E | F A L S E block/unblock target user S E TU S E R< t a r g e t >B U D D Y S T A T U S 1 remove target from contactlist S E TU S E R< t a r g e t >B U D D Y S T A T U S2< m e s s a g e > add target into contactlist and ask authoriz ation with message

GET CALL
T his command returns property values for a specified call. See GET CALL command reference for more details.

GET CHAT
T his command returns property values for a specified chat. Syntax G E TC H A T< c h a t _ i d >p r o p e r t y Response C H A T< c h a t _ i d >p r o p e r t y< v a l u e > Parameters
< c h a t _ i d > chat identifier; p r o p e r t y property name. Available properties are: N A M E, T I M E S T A M P, A D D E R, S T A T U S, P O S T E R S, M E M B E R S, T O P I C, C H A T M E S S A G E S, A C T I V E M E M B E R S, F R I E N D L Y N A M E. See CHAT object description for detailed info.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

100/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Version Protocol 3 Errors


E R R O R7G E T :i n v a l i dW H A T Object name missing or misspelled. E R R O R1 0 5i n v a l i dc h a tn a m e Errorin the C H A T N A M Eparameter. E R R O R1 0 6I n v a l i dP R O P Property name missing or misspelled.

Example
> G E T C H A T # b i t m a n / $ j e s s y e b 0 6 e 6 5 6 3 5 3 5 9 6 7 1 N A M E < C H A T # b i t m a n / $ j e s s y e b 0 6 e 6 5 6 3 5 3 5 9 6 7 1 N A M E # b i t m a n / $ j e s s y e b 0 6 e 6 5 6 3 5 3 5 9 6 7 1

GET CHATMESSAGE
T his command returns property values for a specified chat message. Syntax G E TC H A T M E S S A G E< i d >p r o p e r t y Response C H A T M E S S A G E< i d >p r o p e r t y< v a l u e > Parameters
< i d > chat message ID; p r o p e r t y property name. Available properties are: C H A T N A M E, T I M E S T A M P, F R O M _ H A N D L E, F R O M _ D I S P N A M E, T Y P E, U S E R S, L E A V E R E A S O N, B O D Y, S T A T U S. Refer to the CHAT MESSAGE object information for more detail.

Version Protocol 3 Example


> G E T C H A T M E S S A G E 6 0 C H A T N A M E < C H A T M E S S A G E 6 0 C H A T N A M E # b i t m a n / $ j e s s y e b 0 6 e 6 5 6 3 1 2 3 9 6 7 1

Errors
E R R O R7G E T :i n v a l i dW H A T Object name missing or misspelled. E R R O R1 4I n v a l i dm e s s a g ei d Chat message ID contains not permitted symbols (only numeric are permitted) E R R O R1 5U n k n o w nm e s s a g e Unknown chat message ID E R R O R1 6I n v a l i dP R O P Property name missing or misspelled

GET MESSAGE
T his command returns property values for a specified message. T his command is deprecated since protocol 3, and was replaced by the GET CHAT MESSAGE command. Syntax G E TM E S S A G E< i d >p r o p e r t y Parameters
< i d > chat message ID;

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

101/129

18/07/2013 Skype Developer - Skype Deskt op API Referen ce M an u al p r o p e r t y property name. Availableproperties are: T I M E S T A M P( U N I Xt i m e s t a m p ), P A R T N E R _ H A N D L E, P A R T N E R _ D I S P N A M E, C O N F _ I D( n o tu s e d ), T Y P E, S T A T U S, F A I L U R E R E A S O N( n u m e r i c ), B O D Y. Refer to the MESSAGE object information for more detail.

Version Protocol 1, deprecated in protocol 3 Errors


E R R O R7G E T :i n v a l i dW H A T Object name missing or misspelled. E R R O R1 4I n v a l i dm e s s a g ei d ID includes other than numeric characters. E R R O R1 5U n k n o w nm e s s a g e Message with specified ID does not exist in current users message history. E R R O R1 6I n v a l i dp r o p Property name missing or misspelled.

Example
> G E T M E S S A G E 1 5 9 T Y P E < M E S S A G E 1 5 9 T Y P E T E X T

GET APPLICATION
For information about the G E TA P P L I C A T I O Ncommand, refer to the APPLICAT ION object information.

Managing general parameters


Use G E Tand S E Tcommands to manage the general variables.

GET SKYPEVERSION
Syntax G E TS K Y P E V E R S I O N Response S K Y P E V E R S I O N< v e r s i o n > Version Protocol 1 Example
> G E T S K Y P E V E R S I O N < S K Y P E V E R S I O N 1 . 3 . 0 . 2 8

GET CURRENT USER


T his command gets the username for the currently logged in user. Syntax G E TC U R R E N T U S E R H A N D L E Response C U R R E N T U S E R H A N D L E< u s e r n a m e >

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

102/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Version Protocol 1

GET USERSTATUS
T his command queries or modifies user visiblity for the current user. Syntax G E TU S E R S T A T U S S E TU S E R S T A T U S< v a l u e > Response U S E R S T A T U S< v a l u e > Parameters < v a l u e > new userstatus. Possible values:
U N K N O W N O N L I N E current user is online O F F L I N E current user is offline S K Y P E M E current user is in Skype Me mode (protocol 2). A W A Y current user is away. N A current user is not available. D N D current user is in Do not disturb mode. I N V I S I B L E current user is invisible to others. L O G G E D O U T current user is logged out. Clients are detached.

Version Protocol 1 Errors


E R R O R2 8U n k n o w nu s e r s t a t u s Status value is incorrect or misspelled

Example
> S E T U S E R S T A T U S O F F L I N E < U S E R S T A T U S O F F L I N E < U S E R S T A T U S O F F L I N E > S E T U S E R S T A T U S x x x < E R R O R 2 8 U n k n o w n u s e r s t a t u s

GET PRIVILEGE
Syntax G E TP R I V I L E G Eu s e r _ p r i v i l e g e Response P R I V I L E G Eu s e r _ p r i v i l e g e< v a l u e > Parameters
u s e r _ p r i v i l e g e possible values: S k y p e O u tT r u eo rF a l s e S k y p e I nT r u eo rF a l s e V O I C E M A I LT r u eo rF a l s e

Errors
E R R O R4 0U n k n o w np r i v i l e g e Privilege name is missing or misspelled

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

103/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Version Protocol 1 Example


> G E T P R I V I L E G E S k y p e O u t < P R I V I L E G E S k y p e O u t T R U E > G E T P R I V I L E G E S k y p e I n < P R I V I L E G E S k y p e I n F A L S E

GET PROFILE
T his command queries the current users profile information. Syntax: >G E TP R O F I L E< p r o f i l e _ p r o p e r t y > < -P R O F I L E< p r o f i l e _ p r o p e r t y >< v a l u e > Refer to PROFILE object for possible values of parameter. Example:
> G E T P R O F I L E P S T N _ B A L A N C E < P R O F I L E P S T N _ B A L A N C E 5 0 0 0 > G E T P R O F I L E P S T N _ B A L A N C E _ C U R R E N C Y < P R O F I L E P S T N _ B A L A N C E _ C U R R E N C Y E U R

Version Protocol 3

GET PREDICTIVE DIALER COUNTRY


T his command returns the country code that is currently being used for inventing correct country prefixes for PST N numbers (predictive dialing). T he country code is returned in ISO2 format. Syntax: >G E TP R E D I C T I V E _ D I A L E R _ C O U N T R Y < -P R E D I C T I V E _ D I A L E R _ C O U N T R Y< i s o 2 > Example:
> G E T P R E D I C T I V E _ D I A L E R _ C O U N T R Y < P R E D I C T I V E _ D I A L E R _ C O U N T R Y e e

Version Protocol 7 (API version 3.1)

SET PROFILE MOOD_TEXT


T he S E TP R O F I L EM O O DT E X Tcommand changes the mood text for a user. Syntax >S E TP R O F I L EM O O D _ T E X TL i f ei sg r e a ta n dt h e ny o u . . . < -P R O F I L EM O O D _ T E X TL i f ei sg r e a ta n dt h e ny o u . . .

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

104/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Version Protocol 5

SET PROFILE RICH_MOOD_TEXT


T his is a with bells and whistles version of the S E TP R O F I L EM O O D _ T E X Tcommand. Syntax: >S E TP R O F I L ER I C H _ M O O D _ T E X T< t e x t > < -P R O F I L ER I C H _ M O O D _ T E X T< t e x t > < -P R O F I L ER I C H _ M O O D _ T E X T< t e x t > < -P R O F I L EM O O D _ T E X T< t e x t > < -U S E R< u s e r n a m e >R I C H _ M O O D _ T E X T< t e x t > < -U S E R< u s e r n a m e >M O O D _ T E X T< t e x t > Note that when this property is changed, it is also propagated into the old M O O D _ T E X T , with XML tags stripped. Corresponding properties of the U S E Robject are updated as well. When M O O D _ T E X Tproperty is set, the R I C H _ M O O D _ T E X Tproperty is automatically cleared. Example:
/ / / / F o r p u r p o s e o f b i t c o n s e r v a t i o n w e o m i t f e e d b a c k n o t i f i c a t i o n s S E T P R O F I L E R I C H _ M O O D _ T E X T S m i l e y : < S S t y p e = " s m i l e " > : ) < / S S > S E T P R O F I L E R I C H _ M O O D _ T E X T < F O N T C O L O R = " # F F 0 0 1 0 " > R e d t e x t < / F O N T > S E T P R O F I L E R I C H _ M O O D _ T E X T < B L I N K > B l i n k i n g t e x t < / B L I N K > S E T P R O F I L E R I C H _ M O O D _ T E X T < B > B o l d t e x t < / B > S E T P R O F I L E R I C H _ M O O D _ T E X T < I > I t a l i c s < / I > S E T P R O F I L E R I C H _ M O O D _ T E X T < U > U n d e r l i n e d < / U > S E T P R O F I L E R I C H _ M O O D _ T E X T F i r s t l i n e < b r / > S e c o n d l i n e < b r / > T h i r d l i n e

< S St y p e = " s m i l e " > < / S S >also accepts following smileys: smile, sad, laugh, cool, surprised, wink, cry, sweat, speechless, kiss, tongueout, blush, wonder, sleepy, snooz e, dull, inlove, talk, yawn, puke, doh, angry, wasntme, party, worry, mmm, nerdy, lipssealed, hi, call, devil, angel, envy, wait, hug, makeup, giggle, clap, think, bow, rofl, whew, happy, smirk, nod, shake, punch, emo, no, yes, handshake, skype, heart, brokenheart, mail, flower, rain, sun, time, music, movie, phone, coffee, piz z a, cash, muscle, beer, drink, dance, ninja, star, mooning, finger, bandit, smoke, toivo, rock, headbang, poolparty, swear, bug, fubar, tmi. You can also get ideas for cute mood messages by looking at what others have done with theirs. T o retrieve rich mood messages of other people, use GET USER RICH MOOD T EXT command. Version Protocol 7 (API version 3.0)

GET USER RICH_MOOD_TEXT


Retrieves RICH_MOOD_T EXT of a remote user. Syntax: >G E TU S E R< s k y p e n a m e >R I C H _ M O O D _ T E X T < -U S E R< s k y p e n a m e >R I C H _ M O O D _ T E X T< t e x t >

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

105/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Version Protocol 7 (API version 3.0)

GET CONNSTATUS (connection)


T his command returns the current network connection status. Syntax G E TC O N N S T A T U S Response C O N N S T A T U S< v a l u e > Parameters < v a l u e > possible values:
O F F L I N E C O N N E C T I N G P A U S I N G O N L I N E

Version Protocol 1 Example


> G E T C O N N S T A T U S < C O N N S T A T U S O N L I N E

AUDIO_IN
T he G E Tcommand returns the current audio input device for Skype. T he S E Tcommand assigns a new audio input device for Skype. Syntax G E TA U D I O _ I N S E TA U D I O _ I N< d e v i c e _ n a m e > Response A U D I O _ I N< d e v i c e _ n a m e > Version Protocol 1 Note Setting a device with an empty name selects the Windows default device. Example
> G E T A U D I O _ I N < A U D I O _ I N S B A u d i g y 2 Z S A u d i o [ D C 0 0 ]

AUDIO_OUT
T he G E Tcommand returns the current audio output device for Skype. T he S E Tcommand assigns a new audio output device for Skype. Syntax G E TA U D I O _ O U T S E TA U D I O _ O U T< d e v i c e _ n a m e >

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

106/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Response A U D I O _ O U T< d e v i c e _ n a m e > Version Protocol 1 Note Setting a device with an empty name selects the Windows default device. Example
> G E T A U D I O _ O U T < A U D I O _ O U T S B A u d i g y 2 Z S A u d i o [ D C 0 0 ]

RINGER
T he G E Tcommand returns the current ringing device for Skype. T he S E Tcommand assigns a new ringing device for Skype. Syntax G E TR I N G E R S E TR I N G E R< d e v i c e _ n a m e > Response R I N G E R< d e v i c e _ n a m e > Version Skype for Windows 1.3 Note Setting a device with an empty name selects the Windows default device. Example
> G E T R I N G E R < R I N G E R S B A u d i g y 2 Z S A u d i o [ D C 0 0 ]

MUTE
T his command gets or sets the mute status. Syntax G E TM U T E S E TM U T EO N | O F F Response M U T EO N | O F F Version Protocol 1 Notes If there are currently no active calls (call status I N P R O G R E S S), M U T Eis always O F Fand setting M U T EO Nhas no effect. Example
> G E T M U T E < M U T E O F F / / s e t m u t e w h e n n o c a l l i s a c t i v e m u t e r e m a i n s O F F > S E T M U T E O N < M U T E O F F

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

107/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

SET AVATAR
T his command changes the avatar picture for the user profile. Syntax S E TA V A T A R< i d >< f i l e P a t h+f i l e N a m e > [ : i d x ] Response A V A T A R< i d >< f i l e P a t h+f i l e N a m e > Parameters
i d avatar ID. T his parameter is here for future compatibility purposes. Currently only one avatar is supported, so always set this parameter to 1. f i l e P a t h avatar file directory. f i l e N a m e : i d x avatar file may either be image or .skype file format. IDX refers to the content number in .skype file formats (0,..)

Version
Skype for Windows 1.3 .skype files are supported in Skype for Windows 1.4 Protocol 5 supports changing avatars.

Errors
E R R O R1 1 4I n v a l i da v a t a r Avatar id is missing or invalid E R R O R1 1 1F i l en o tf o u n d Avatar file specified does not exist E R R O R9 9 0 1i n t e r n a le r r o r Wrong type of file (for example an audio file or a document) is set to avatar

Example
> S E T A V A T A R 1 C : \ D o c u m e n t s a n d S e t t i n g s \ A d m i n i s t r a t o r \ M y D o c u m e n t s \ M y P i c t u r e s \ k i t t e n . j p g < A V A T A R 1 C : \ D o c u m e n t s a n d S e t t i n g s \ A d m i n i s t r a t o r \ M y D o c u m e n t s \ M y P i c t u r e s \ k i t t e n . j p g

GET AVATAR
T his command saves users current avatar picture in a file. Refer to
GET USER AVAT AR command for how to save avatars of other users. SET AVAT AR command on how to set your own avatar to a picture from a file.

Syntax: >G E TA V A T A R1< f i l e n a m e > < -A V A T A R1< f i l e n a m e > T he file path given in the parameter must exist. An existing file with the same name will only be overwritten if its empty (file siz e = 0). Example:
> G E T A V A T A R 1 c : \ s t u f f \ t e s t 2 . j p g < A V A T A R 1 c : \ s t u f f \ t e s t 2 . j p g

Version Protocol 7 (API version 3.1)

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

108/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

GET USER AVATAR


T his command retrieves remote users avatar picture from the picture cache and saves it into a file. Refer to SET AVAT AR command on how to set your own avatar to a picture from a file. Syntax: >G E TU S E R< s k y p e n a m e >A V A T A R1< f i l e n a m e > < -U S E R< s k y p e n a m e >A V A T A R1< f i l e n a m e > T he file path given in the parameter must exist. An existing file with the same name will only be overwritten if its empty (file siz e = 0). Example:
> G E T U S E R a n a p p o 2 A V A T A R 1 c : \ s t u f f \ u s e r p i c . j p g < U S E R a n a p p o 2 A V A T A R 1 c : \ s t u f f \ u s e r p i c . j p g

Version Protocol 7 (API version 3.1)

RINGTONE
T he G E Tcommand returns the current ringtone file for Skype. T he S E Tcommand assigns a new ringtone for Skype. Syntax
G E TR I N G T O N E< i d > S E TR I N G T O N E< i d >< f i l e P a t h+f i l e N a m e > [ : i d x ]

Response R I N G T O N E< i d >< f i l e P a t h+f i l e N a m e > Parameters


i d ringtone id. In the current release, the is always 1 f i l e P a t h ringtone file directory. f i l e N a m e : i d x ringtone file may either be .wav or .skype file format. IDX refers to the content number in .skype file formats (0,..)

Version
Skype for Windows 1.3 .skype files are supported since Skype for Windows 1.4 Querying ringtone status is supported since Skype for Windows 1.4

Errors
E R R O R1 1 5I n v a l i dr i n g t o n e Ringtone id is missing or invalid E R R O R1 1 1F i l en o tf o u n d Ringtone file specified does not exist

Notes
If the Skype default ringtone is used, the G E Tcommand returns its name with no filepath. .skype may be used instead of .wav files and can contain multiple contents enumerated by integer IDs (idx).

Example
> G E T R I N G T O N E 1 < R I N G T O N E 1 c a l l _ i n

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

109/129

18/07/2013
> S E T R I N G T O N E 1 C : / W I N D O W S / M e d i a / t a d a . w a v < R I N G T O N E 1 C : / W I N D O W S / M e d i a / t a d a . w a v

Skype Developer - Skype Deskt op API Referen ce M an u al

GET RINGTONE STATUS


T his command queries if ringtones are enabled. Syntax >G E TR I N G T O N E< i d >S T A T U S < -R I N G T O N E< i d >< O N | O F F > Note that the parameter is there for possible future use and must for now be always set to 1.

SET RINGTONE STATUS


T his command enables you to switch ringtone ON/OFF. Syntax: *@ SET RINGT ONE ST AT US ON|OFF@ *@<- RINGT ONE ON|OFF@ Example:
> S E T R I N G T O N E 1 S T A T U S O F F < R I N G T O N E 1 O F F > G E T R I N G T O N E 1 S T A T U S < R I N G T O N E 1 O F F > S E T R I N G T O N E 1 S T A T U S O N < R I N G T O N E 1 O N > G E T R I N G T O N E 1 S T A T U S < R I N G T O N E 1 O N

Note that the parameter is there for possible future use and must for now be always set to 1. Version Protocol 7 (API version 3.1)

GET VIDEO_IN
T his command queries or sets the device to be used in video calls. See GET VIDEO_IN command reference for more details.

SET PCSPEAKER
If no speakers are connected to a PC, it is possible to hear incoming Skype calls only when wearing a headset. Use the S E TP C S P E A K E Rcommand to switch the PC speaker on or off. Syntax
> G E T P C S P E A K E R > S E T P C S P E A K E R { O N | O F F }

Response
< P C S P E A K E R { O N | O F F }

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

110/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

SET AGC and SET AEC


NB! As of version 3.6 these commands no longer actually function. T he API commands are still valid, for backward compatibility reasons, but turning echo cancellation or microphone gain off programmatically is disabled in the library. Skype uses automatic gain control (AGC) to adjust microphone level to the volume the user speaks at. Skype uses automatic echo cancellation (AEC) to eliminate the echo that occurs if a microphone hears the other users voice on the loudspeaker. Important: Disabling these functions can impair call quality and is not recommended in standard implementations. However, some audio devices have in-built AGC/AEC mechanisms and, in these circumstances, it can be necessary to deactivate AGC and AEC on Skype. If you disable AGC/AEC on Skype, ensure that the client defaults to enabled if the audio device is removed. T o query whether AGC and AEC are on: Syntax
> G E T A G C > G E T A E C

Response
< A G C { O N | O F F } < A E C { O N | O F F }

T o set AGC and AEC on and off: Syntax


> S E T A G C O N | O F F > S E T A E C O N | O F F

Response
< A G C O N | O F F < A E C O N | O F F

Error codes
E R R O R 5 6 9 G E T A E C : t a r g e t n o t a l l o w e d E R R O R 5 7 0 S E T A E C : i n v a l i d v a l u e E R R O R 5 7 1 G E T A G C : t a r g e t n o t a l l o w e d E R R O R 5 7 2 S E T A G C : i n v a l i d v a l u e

Version Protocol 5

RESETIDLETIMER
T his command resets the idle timer (the one that turns users online status to Away). Note that there is currently no way of retrieving actual Show my away when inactive for X minutes setting from user profile. If you want to ensure the user status stays permanently online, it is sufficient to send R E S E T I D L E T I M E Revery 59 seconds as it is impossible to set the auto-idle timer below 1 minute. Syntax: >R E S E T I D L E T I M E R < -R E S E T I D L E T I M E R

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

111/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Version: API version 3.2 (protocol 7)

GET AUTOAWAY
Returns the current state of automatic online status switcher. Syntax: >G E TA U T O A W A Y < -A U T O A W A YO N

SET AUTOAWAY
Sets the state of automatic online status switcher. Syntax: >S E TA U T O A W A YO N | O F F < -A U T O A W A YO N | O F F Example:
> S E T A U T O A W A Y O N < A U T O A W A Y O N > S E T A U T O A W A Y O F F < A U T O A W A Y O F F > S E T A U T O A W A Y B A N A N A < E R R O R 5 3 S E T A U T O A W A Y i n v a l i d v a l u e

Notifications
Notifications are sent by Skype if an object changes or if the value of a property is requested with a G E Tcommand. Also, if a property value is changed by a S E Tcommand, the change is confirmed with a notification. Notifications occur in the same manner, whether the related change is initiatied by the Skype UI or by an API client. T here are two main types of notification:
Object notifications occur when an object is created (for example due to an incoming call or chat), if an object changes, or if a property is queried. Status notifications are broadcast by Skype after an initial connection is made or if a parameter changes. T hese notifications can be queried at any time with the G E Tcommand.

Object notifications
T his section contains the Skype object notifications.

Call notifications

Call notifications are sent on incoming calls or when an active calls changes. Clients can monitor call events to detect incoming calls and act on them (for example, to answer automatically). Syntax C A L L< i d >p r o p e r t y< v a l u e > Parameters Refer to the CALL object for available properties and property values.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

112/129

18/07/2013 User notifications

Skype Developer - Skype Deskt op API Referen ce M an u al

User notifications are the most frequent notifications and include last-seen timestamps and user property information. Syntax U S E R< i d >p r o p e r t y< v a l u e > Parameters Refer to the USER object for available properties and property values. Note User notifications are reported also for users who are not in the contactlist which the client can ignore.

Chat notifications

Chat notification is sent when a chat is created, chat properties or members change, or a new message is posted into chat. A new message also triggers a chatmessage notification. Syntax: C H A T< i d >p r o p e r t y< v a l u e > Parameters Refer to the CHAT object for available properties and property values. In version 3.6 additional notification messages were added on chat window open and close events. Syntax: C H A T< i d >C L O S E D | O P E N Example:
< C H A T # a n a p p o 2 / $ a n a p p o 8 7 b a 7 9 1 d 4 0 2 5 4 5 5 c C L O S E D < C H A T # a n a p p o 2 / $ a n a p p o 8 7 b a 7 9 1 d 4 0 2 5 4 5 5 c O P E N E D

Chatmessage notifications

Chatmessage notification is sent when a new message arrives. T he client can monitor these messages to display received messages. Syntax C H A T M E S S A G E< i d >p r o p e r t y< v a l u e > M E S S A G E< i d >p r o p e r t y< v a l u e > Parameters Refer to the CHAT MESSAGE object for available properties and property values. Notes T he M E S S A G Ecommand is deprecated in Protocol 3

Voicemail notifications

Voicemail notification is sent when a new voicemail is received or recorded. Syntax V O I C E M A I L< i d >p r o p e r t y< v a l u e > Parameters Refer to the VOICEMAIL object for available properties and property values.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

113/129

18/07/2013
Application notifications

Skype Developer - Skype Deskt op API Referen ce M an u al

Application notifications are sent when a new application requests to connect, or when data is sent or received. Syntax A P P L I C A T I O N< a p p n a m e >p r o p e r t y< v a l u e > Parameters Refer to the APPLICAT ION object for available properties and property values.

Status notifications
T his section contains the Skype status notifications.

Callhistory change notification

T his notification occurs when call history changes and needs to be reloaded. T his change occurs when the call history or a selection of it has been deleted. Syntax C A L L H I S T O R Y C H A N G E D

Instant message history change

T his notification occurs when instant message history changes and needs to be reloaded. It occurs only when all IM history is deleted. Syntax I M H I S T O R Y C H A N G E D

Contactlist change notification

T his notification occurs if a user is added to or deleted from contacts or has authoriz ed the current user as a contact. Syntax U S E R< u s e r n a m e >B U D D Y S T A T U S< s t a t u s > Parameters Refer to the USER object for available status values. Example
/ / U s e r h a s b e e n a d d e d t o c o n t a c t s , p e n d i n g a u t h o r i s a t i o n . < U S E R p a m e l a B U D D Y S T A T U S 2 / / U s e r h a s a u t h o r i z e d c u r r e n t u s e r < U S E R p a m e l a B U D D Y S T A T U S 3 / / U s e r h a s b e e n d e l e t e d f r o m c o n t a c t s . < U S E R p a m e l a B U D D Y S T A T U S 1

Contact group change notification

T his notification is sent when GROUP USERS changes when a user comes online or goes offline. Syntax: < -G R O U P< g r o u p _ i d >N R O F U S E R S< n >

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

114/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Example:
< G R O U P 5 6 N R O F U S E R S 1 9 < U S E R t e s t O N L I N E S T A T U S O F F L I N E

Version Protocol 7 (API version 3.0)

User status notification

Syntax U S E R S T A T U Ss t a t u s Parameters s t a t u s value for user status. Possible values:


U N K N O W N no status information for current user. O N L I N E current user is online. O F F L I N E current user is offline. S K Y P E M E current user is in Skype Me mode (Protocol 2). A W A Y current user is away. N A current user is not available. D N D current user is in Do not disturb mode. I N V I S I B L E current user is invisible to others. L O G G E D O U T current user is logged out. Clients are detached.

Connection status

Syntax C O N N S T A T U Ss t a t u s Parameters s t a t u s value for connection status. Possible values:


O F F L I N E C O N N E C T I N G P A U S I N G O N L I N E L O G G E D O U T current user is logged out.

Current user handle

Syntax C U R R E N T U S E R H A N D L E< u s e r n a m e > Example C U R R E N T U S E R H A N D L Eb a n a n a

Contact list focus nofication

T his notification occurs when contactlist focus changes: Syntax


C O N T A C T SF O C U S E Du s e r n a m e when contact gains focus C O N T A C T SF O C U S E D when loses focus

Error codes

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

115/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Skype sends an error response when it encounters an issue such as incorrect commands or internal inconsistencies. T he error code is a number that uniquely identifies the error condition and the D E S Cis an optional brief description of the issue. Currently the following error codes are defined:
Code 1 2 Description General syntax error Unknown command Possible reasons Command missing (e.g. " " sent as command) Command spelled incorrect (e.g. GRT send instead of GET ) Search target is missing or misspelled &nspb; An unpermitted character (e.g. !, #, $ etc.) was used in the target username. e.g. SEARCH MISSEDCALLS echo123

3 4 5

Search: unknown WHAT Empty target not allowed Search CALLS: invalid target

SEARCH MISSEDCALLS: target not allowed GET : invalid WHAT Invalid user handle

7 8

Object/property name missing or misspelled USERNAME missing or includes a not permitted character (e.g. GET USER ! HANDLE)

9 10 11

Unknown user Invalid PROP Invalid call id Property name and/or ID missing or misspelled Call ID missing or misspelled (must be a numeric value) Nonexistant call ID used Returned to command GET CALL id PART NER_DISPLAYNAME. Property name missing or misspelled GET Message ID missing or misspelled (must be a numeric value) Nonexistant message ID used in GET command Returned to command GET MESSAGE id PART NER_DISPLAYNAME. Property name missing or misspelled

12 13

Unknown call Invalid PROP

14

Invalid message id

15 16

Unknown message Invalid PROP

17 18 19

(Not in use) SET : invalid WHAT Invalid call id Property name missing or misspelled Call ID missing or misspelled (must be a numeric value) Nonexistant call ID used SET CALL value incorrect or misspelled (e.g. SET CALL 15 ST AT US ONHOL) T rying to hold a call that is not in progress. T rying to resume/answer a call that is not in progress.

20 21

Unknown call Unknown/disallowed call prop

22 23

Cannot hold this call at the moment Cannot resume this call at the moment

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

116/129

18/07/2013 24 Cannot hangup inactive call


25 Unknown WHAT

Skype Developer - Skype Deskt op API Referen ce M an u al T rying to hang up a call that is not in progress.
Property name missing or misspelled (e.g. SET CALL 15 ST AT U ONHOLD)

26

Invalid user handle

T arget username missing or includes not permitted symbols (e.g. "MESSAGE ") Invalid protocol number (e.g. PROT OCOL -12,9) Unknown or misspelled value for user status (e.g. SET USERST AT US RICH) T arget is not permitted; e.g. SEARCH MISSEDMESSAGES echo123 SET Message ID missing or misspelled (must be a numeric value) Nonexistant message ID used in SET command Property missing or misspelled Unknown or misspelled value for mute (e.g. SET MUT E O) T arget username/number missing (e.g. "CALL ")

27 28

Invalid version number Unknown userstatus

29

SEARCH what: target not allowed

30

Invalid message id

31 32 33

Unknown message id Invalid WHAT invalid parameter

34 35 36 37 38 39

invalid user handle Not connected Not online Not connected Not online user blocked

Destination user is blocked by caller. Also given, if trying to call to a blocked user Privilege is either misspelled or does not exist (e.g. GET PRIVILEGE SkypeOut). T rying to send DT MF, when call is not active. Invalid DT MF code is sent. Valid symbols for DT MF codes are {0..9,#,*} Empty message is tried to sent, e.g. MESSAGE echo123. An error occurred when changing audio device Parameter to READY command is not YES or NO Parameter to HOOK command is not ON or OFF. NB! HOOK command is no longer supported or relevant. Parameter to SET AUT OAWAY is not ON or OFF Skype is not connected i.e. user status is LOGGEDOUT SEARCH FRIENDS had a parameter

40

Unknown privilege

41 42

Call not active Invalid DT MF code

43

cannot send empty message

50 51 52

cannot set device invalid parameter invalid parameter

53 66

invalid value Not connected

67

T arget not allowed with SEARCH FRIENDS

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

117/129

18/07/2013 68 Access denied


69 Invalid open what

Skype Developer - Skype Deskt op API Referen ce M an u al

OPEN command had missing or misspelled T ARGET e.g. OPEN IN OPEN IM parameter USERNAME is missing or contains not permitted symbols Conference participants number is either too large or invalid.

70

Invalid handle

71

Invalid conference participant NO

72 73 74

Cannot create conference too many participants Invalid key Conference is initiated to more than 4 people. Key name in BT N_PRESSED or BT N_RELEASED command is invalid Cannot call an emergency number T he called number is not a valid PST N number Invalid Skype Name Cannot call yourself Destination user is blocked by caller right after call initializ ation An outgoing call exists in ROUT ING/RINGING/EARLYMEDIA state

91 92 93 94 95

call error call error call error call error Internal error

96

Internal error

97 98 99 100 101 103 104 105 106

Internal error Internal error Internal error Internal error Internal error Cannot hold Cannot resume Invalid chat name Invalid PROP

Internal error Internal error Internal error Internal error A call to the destination user is already ongoing Internal error Internal error Chat name missing or misspelled Property name missing or misspelled for CHAT or CHAT MESSAGE No parameters allowed to SEARCH CHAT S T RANSFER can only be initiated to contacts Directory given as a parameter to T RANSFER command does not exist User given as a parameter to VOICEMAIL command doesnt have voicemail capability File given as argument to SET AVAT AR or SET RINGT ONE command doesnt exist Number of target users for OPEN FILET RANSFER command exceeds simultaneous filetransfer limit

107 108 109

T arget not allowed with CHAT S User not contact directory doesnt exist

110

No voicemail capability

111

File not found

112

T oo many targets

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

118/129

18/07/2013 113 Close: invalid WHAT


114 115 500 501 502 503 504 505 506 Invalid avatar Invalid ringtone CHAT : Invalid chat name given CHAT : No chat found for given chat CHAT : No action name given CHAT : Invalid or unknown action CHAT : action failed CHAT : LEAVE does not take arguments CHAT : ADDMEMBERS: invalid/missing user handle(s) as arguments CHAT : CREAT E: invalid/missing user handle(s) as argument CHAT : CREAT E: opening a dialog to the given user failed No chat name given Invalid/uknown chat name given Sending a message to chat failes Invalid voicemail id Invalid voicemail object No voicemail property given Assigning speeddial property failed Invalid value given to ISAUT HORIZED/ISBLOCKED Changing ISAUT HORIZED/ISBLOCKED failed Invalid status given for BUDDYST AT US Updating BUDDYST AT US failed CLEAR needs a target Invalid/unknown CLEAR target CLEAR CHAT HIST ORY takes no arguments CLEAR VOICEMAILHIST ORY takes no arguments

Skype Developer - Skype Deskt op API Referen ce M an u al Invalid argument to CLOSE command
GET or SET AVAT AR avatar index invalid GET or SET RINGT ONE ringtone index invalid

507

508

509 510 511 512 513 514 515 516

517

518 519 520 521 522

523

524

CLEAR CALLHIST ORY: missing target argument CLEAR CALLHIST ORY: invalid handle argument

525

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

119/129

18/07/2013
526 527 528 ALT ER: no object type given ALT ER: unknown object type given VOICEMAIL: No proper voicemail ID given VOICEMAIL: Invalid voicemail ID given VOICEMAIL: No action given VOICEMAIL: Action failed VOICEMAIL: Unknown action SEARCH GREET ING: invalid handle SEARCH GREET ING: unable to get greeting CREAT E: no object type given CREAT E : Unknown object type given. DELET E : no object type given. DELET E : unknown object type given. CREAT E APPLICAT ION : missing of invalid name. APPLICAT ION : Operation Failed. DELET E APPLICAT ION : missing or invalid application name. GET APPLICAT ION : missing or invalid application name. GET APPLICAT ION : missing or invalid property name. ALT ER APPLICAT ION : missing or invalid action. ALT ER APPLICAT ION : Missing or invalid action ALT ER APPLICAT ION CONNECT : Invalid user handle ALT ER APPLICAT ION DISCONNECT : Invalid stream identifier ALT ER APPLICAT ION WRIT E : Missing or invalid stream identifier ALT ER APPLICAT ION READ : Missing or invalid stream identifier ALT ER APPLICAT ION DAT AGRAM : Missing or invalid stream identifier SET PROFILE : invalid property profile given

Skype Developer - Skype Deskt op API Referen ce M an u al

529 530 531 532 534 535

536 537 538 539 540

541 542

543

544

545

546

547

548

549

550

551

552

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

120/129

18/07/2013 553 SET PROFILE CALL_SEND_T O_VM : no voicemail privledge, cant forward to voicemail.
555 556 557 558 559 560 561 562 563 564 CALL: No proper call ID given CALL: Invalid call ID given" CALL: No action given CALL: Missing or invalid arguments CALL: Action failed CALL: Unknown action SEARCH GROUPS: invalid target" SEARCH GROUPS: Invalid group id SEARCH GROUPS: Invalid group object SEARCH GROUPS: Invalid group property given GET AEC: target not allowed" SET AEC: invalid value" GET AGC: target not allowed" SET AGC: invalid value" Internal error

Skype Developer - Skype Deskt op API Referen ce M an u al

569 570 571 572 9901

Skype URI handler


Although not part of the Skype Desktop API, Skype 1.4 and later include a set of useful commands which can be initiated using the skype URI handler. General syntax
S K Y P E _ U R I = " s k y p e : " [ t a r g e t s ] [ " ? " q u e r y ] [ " # " f r a g m e n t ] t a r g e t s = 1 * ( t a r g e t / " " ) t a r g e t = i d e n t i t y / P S T N i d e n t i t y = s k y p e n a m e / a l i a s s k y p e n a m e = 1 * ( A L P H A / D I G I T / " . " / " , " ) s k y p e n a m e s = 1 * ( s k y p e n a m e / " " ) a l i a s = . . . s e e [ " T e c h G r o u p / D a t a F o r m a t s " ] u n i c o d e c h a r s a r e i n U T F 8 a n d % e n c o d e d s e e R F C 3 9 8 7 u c h a r m a p p i n g P S T N = " + " ( D I G I T / A L P H A ) * ( D I G I T / A L P H A / " " ) s u p p o r t s + 8 0 0 F L O W E R S q u e r y = a c t i o n [ * ( " ? " t e r m " = " c o n d i t o n ) ] t e r m = 1 * A L P H A c o n d i t i o n = 1 * u n s e r v e d t o b e c l a r i f i e d f r a g m e n t = 1 * u n s e r v e d t o b e c l a r i f i e d

Skype for Windows 1.4 version handles the following


s k y p e : f o c u s / o p e n s k y p e U I s k y p e : [ t a r g e t s ] t a k e d e f a u l t d o u b l e c l i c k a c t i o n o n c o n t a c t s k y p e : [ t a r g e t s ] ? c a l l c a l l t o t a r g e t ( s ) : c a n b e s k y p e n a m e , a l i a s o r P S T N s k y p e : [ s k y p e n a m e s ] ? c h a t s t a r t c h a t / m u l t i c h a t w i t h s k y p e n a m e ( s ) s k y p e : [ s k y p e n a m e ] ? v o i c e m a i l l e a v e v o i c e m a i l t o s k y p e n a m e s k y p e : [ s k y p e n a m e ] ? a d d a d d s k y p e n a m e t o c o n t a c t l i s t s h o w a u t h o r i z a t i o n d i a l o g s k y p e : [ s k y p e n a m e ] ? a d d & d i s p l a y n a m e = c u s t o m n a m e a d d c o n t a c t d i a l o g w i t h p r e s e t d i s p l a y n a m e

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

121/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

s k y p e : [ s k y p e n a m e s ] ? s e n d f i l e o p e n s e n d f i l e d i a l o g t o s k y p e n a m e s s k y p e : [ s k y p e n a m e ] ? u s e r i n f o s h o w i n f o ( p r o f i l e ) f o r [ u s e r n a m e ] s k y p e : [ s k y p e n a m e ] ? c h a t & t o p i c = [ t o p i c ] o p e n s c h a t w i t h p r e s e t t o p i c s k y p e : ? c h a t & a m p i d = [ i d ] [ # t i m e ] o p e n e x i s t i n g m u l t i c h a t w i t h [ i d ] t i m e : Y Y Y Y M M D D T h h : m m : s s T Z / Y Y Y Y M M D D Z h h : m m : s s

Examples
[skype:echo123 skype:echo123] [skype:echo123?call skype:echo123?call] [skype:echo123?chat skype:echo123?chat] [skype:echo123?chat&topic=T est skype:echo123 chat with pre-set topic] [skype:echo123?add&displayname=Skype%20T est%Call skype:echo123 add contact as Skype T est Call]

Notice that there is no // in skype: URI s k y p e : / / e c h o 1 2 3d o e snot work.

Release Notes
Skype 4.0 GOLD Release Notes
Date: 2009-01-22 While the Windows 4.0 client release does not bring any new features to the Desktop API, it does present a major UI overhaul. As a result, some parts of the Desktop API that had dependencies in the UI are no longer functional the corresponding UI parts having been removed or not yet implemented. We have tried to keep the list of nonfunctional Desktop API commands down to minimum. Also note that the commands do not fail with error messages they just have no effect in the UI. Here is the list: Skype Alert Events T he entire custom events system is currently unavailable.
C R E A T EE V E N T unavailable. D E L E T EE V E N T unavailable.

Skype Custom Menus In 3.x the create menu command had four different contexts, where the custom menu Items could be created in: CALL, MYSELF, T OOLS, CONT ACT . Currently only T OOLS context remains functional. *
C R E A T EM E N U _ I T E M< I D >C O N T E X TC A L LC A P T I O N< t e x t > unavailable. C R E A T EM E N U _ I T E M< I D >C O N T E X TM Y S E L FC A P T I O N< t e x t > unavailable. C R E A T EM E N U _ I T E M< I D >C O N T E X TC O N T A C TC A P T I O N< t e x t > unavailable.

Send Contacts
O P E NS E N D C O N T A C T S unavailable.

Skype 3.6. Release Notes


Date: 2007-10-03 New notification messages:
C H A T< i d >C L O S E D | O P E N notifications added on chat window open and close events. See Chat

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

122/129

18/07/2013 notifications section for more information.

Skype Developer - Skype Deskt op API Referen ce M an u al

New commands:
GET WINDOWST AT E returns current state of the Skype main window. SET WINDOWST AT E sets state of the Skype main window.

Varia: As of ths version various commands no longer accept , or symbols in their parameters. Instead, E R R O R8I n v a l i du s e rh a n d l eerror message is generated in response. Following commands are affected:
C A L L V O I C E M A I L< h a n d l e > G E TU S E R< h a n d l e >H A N D L E S E A R C HC A L L S< h a n d l e > S E A R C HC H A T M E S S A G E S< h a n d l e > S E A R C HM E S S A G E S< h a n d l e >

Skype 3.5.0.202 Release Notes


Date: 2007-08-07 New VOICEMAIL object properties:
INPUT OUT PUT CAPT URE_MIC

VOICEMAIL audio stream access commands:


ALT ER VOICEMAIL SET _INPUT ALT ER VOICEMAIL SET _OUT PUT ALT ER VOICEMAIL SET _CAPT URE_MIC

Skype 3.5 Release Notes


Date: 2007-07-02 New protocol version: 8
New CALL ST AT US enumerator W A I T I N G _ R E D I A L _ C O M M A N D . New CALL ST AT US enumerator R E D I A L _ P E N D I N G . New SMS FAILUREREASON enumerator N O _ S E N D E R I D _ C A P A B I L I T Y . Sending chat messages and C H A TC R E A T Ecommands may now fail with a new error code: 615, CHAT : chat with given contact is disabled. When the UI language is set via custom language file, G E TU I _ L A N G U A G Ewill return xx (used to return en in versions prior to 3.5).

Skype 3.2 Release Notes


Date: 2007-04-30 New commands:
OPEN LIVET AB

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

123/129

18/07/2013 RESET IDLET IMER

Skype Developer - Skype Deskt op API Referen ce M an u al

New USER object property:


IS_VOICEMAIL_CAPABLE

Skype 3.1 Release Notes


Date: 2007-04-05 New commands:
GET AVAT AR SET AVAT AR GET USER AVAT AR GET PREDICT IVE_DIALER_COUNT RY GET CONT ACT S FOCUSED GET RINGT ONE ST AT US

New CALL property T ARGET _IDENT IT Y. New CHAT property T OPICXML. Error reporting changed for SET VIDEO_IN command.

Skype 3.0 Release Notes


New protocol version: 7 Support for custom menus Refer to Custom Menu Items section for more information. Support for custom events Refer to Skype Alert Events for more information. Call transfer API New commands and object properties to support call transfers:
GET CALL CAN_T RANSFER ALT ER CALL T RANSFER

New CALL statuses:


T R A N S F E R R I N G T R A N S F E R R E D

New call transfer related CALL properties:


T R A N S F E R _ S T A T U S T R A N S F E R _ A C T I V E T R A N S F E R R E D _ B Y T R A N S F E R R E D _ T O

File transfer object Refer to FILET RANSFER object section for more information. Notification changes

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

124/129

18/07/2013 Skype Developer - Skype Deskt op API Referen ce M an u al U S E RL A S T O N L I N E T I M E S T A M P events about its change are no longer sent to clients, the property can still be queried. G R O U PN R O F U S E R S _ O N L I N E events about its change are no longer sent to clients, the property can still be queried. G R O U PU S E R S events about its change are no longer sent to clients instead G R O U PN R O F U S E R Sevent is generated; if you get an event on N R O F U S E R Syou can assume the G R O U PU S E R Shas changed. G R O U PN R O F U S E R S is now only sent when G R O U PU S E R Sproperty changes.

Richtext mood messages New property R I C H _ M O O D _ T E X Twas added to PROFILE and USER objects. New moodmessage related commands are:
SET PROFILE RICH_MOOD_T EXT GET USER RICH_MOOD_T EXT

Wallpapers New G E TW A L L P A P E Rand S E TW A L L P A P E Rcommands. Refer to [#COMMAND_UI_WALLPAPERS GET /SET WALLPAPERS] section. Public chats New CHAT MEMBER object. New CHAT object properties:
M E M B E R O B J E C T S P A S S W O R D H I N T G U I D E L I N E S O P T I O N S D E S C R I P T I O N D I A L O G _ P A R T N E R A C T I V I T Y _ T I M E S T A M P T Y P E M Y S T A T U S M Y R O L E B L O B A P P L I C A N T S

New CHAT MESSAGE properties:


E D I T E D _ B Y E D I T E D _ T I M E S T A M P I S _ E D I T A B L E O P T I O N S R O L E

Modified CHAT MESSAGE property T Y P Eenumerations for PROT OCOL 7:


P O S T E D C O N T A C T S G A P _ I N _ C H A T S E T R O L E K I C K E D S E T O P T I O N S K I C K B A N N E D J O I N E D A S A P P L I C A N T S E T P I C T U R E S E T G U I D E L I N E S

T he B O D Yproperty of a C H A T M E S S A G Eobject is now read-write. Refer to SET CHAT MESSAGE BODY command for more information. New C H A T M E M B E Rrelated commands are:
ALT ER CHAT MEMBER SET ROLET O ALT ER CHAT MEMBER CANSET ROLET O

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

125/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

New CHAT commands:


ALT ER CHAT JOIN ALT ER CHAT KICK ALT ER CHAT KICKBAN ALT ER CHAT DISBAND ALT ER CHAT ENT ERPASSWORD ALT ER CHAT CLEARRECENT MESSAGES ALT ER CHAT ACCEPT ADD ALT ER CHAT SET OPT IONS ALT ER CHAT SET GUIDELINES ALT ER CHAT SET ALERT ST RING ALT ER CHAT SET PASSWORD CHAT FINDUSINGBLOB CHAT CREAT EUSINGBLOB ALT ER CHAT SET DESCRIPT ION

CHAT CREAT E no longer requires usernames, if you provide no usernames a general multichat is created. Change in text value parsing: all texts which include whitespace must be quoted.

Skype 2.6 Release notes


Voice API New CALL object properties:
I N P U T O U T P U T

New Voice API related commands:


G E TC A L L< I N P U T | O U T P U T > G E TC A L LC A P T U R E _ M I C A L T E RC A L LS E T _ < I N P U T | O U T P U T > A L T E RC A L LS E T _ C A P T U R E _ M I C

Refer to Voice Streams section for more information. SMS API New object: SMS New SMS related commands:
GET SMS CHUNK GET SMS CHUNKING SET SMS SEEN SET SMS BODY SET SMS REPLY_T O_NUMBER SET SMS T ARGET _NUMBERS CREAT E SMSS ALT ER SMS SEND DELET E SMSS SEARCH SMSS SEARCH MISSEDSMSS GET PROFILE SMS_VALIDAT ED_NUMBERS

Shared contact groups New GROUP object types, (protocol 6):


S H A R E D _ G R O U P P R O P O S E D _ S H A R E D _ G R O U P

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

126/129

18/07/2013

New commands related to shared groups:


A L T E RG R O U PS H A R E A L T E RG R O U PA C C E P T A L T E RG R O U PD E C L I N E

Skype Developer - Skype Deskt op API Referen ce M an u al

Refer to ALT ER GROUP SHARE command for more information. Call cost information New CALL object properties
R A T E R A T E _ C U R R E N C Y R A T E _ P R E C I S I O N

Refer to Call cost information section for more information. Chat Bookmarks New CHAT object property: B O O K M A R K E D New commands related to shared groups:
A L T E RC H A TB O O K M A R K E D A L T E RC H A TU N B O O K M A R K

Refer to ALT ER CHAT BOOKMARKED section for more information. Various new object properties:
New USER object property: N R O F _ A U T H E D _ B U D D I E S New CALL object property: F O R W A R D E D _ B Y New CALL object property: V A A _ I N P U T _ S T A T U S

Various new commands:


SET SILENT _MODE SEARCH MISSEDVOICEMAILS G E TP R O F I L EI P C O U N T R Y refer to PROFILE object for more information.

G E T _ C O N F E R E N C E _ P A R T I C I P A N T _ C O U N Tnow reports the number of conference call participants more correctly. V O I C E M A I Lcommand enters the deprecation process and is replaced by new command: CALLVOICEMAIL P O N Greply to P I N Gis now asynchronous.

Skype 1.4 Release Notes


Date: 2005-09-16 Changes and fixes:
Support for application to application messaging Set profile properties Support for call forwarding Extended support to open client windows New user object properties (mood text, alias) Extended support for ringtones Support for Skype URI handler commands Support for contact focused notifications

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

127/129

18/07/2013

Skype Developer - Skype Deskt op API Referen ce M an u al

Skype 1.3.0.42 release notes


Date: 2005-06-11 Changes and fixes:
added: Protocol 5 Support for voicemails: V O I C E M A I L ,O P E NV O I C E M A I L ,A L T E RV O I C E M A I L ,S E A R C HV O I C E M A I L S Support for chat handling: C H A TC R E A T E ,O P E NC H A T ,A L T E RC H A T ,S E A R C H* C H A T S Support for authoriz ations: S E A R C HU S E R S W A I T I N G M Y A U T H O R I Z A T I O N ,S E TU S E R ,I S A U T H O R I Z E D , I S B L O C K E D ,B U D D Y S T A T U S Support for deleting history: C L E A RC H A T H I S T O R Y ,V O I C E M A I L H I S T O R Y ,C A L L H I S T O R Y Set ringing device: S E T / G E TR I N G E R Extended D T M Fsupport: S E TC A L LD T M F Initiate filetransfer: O P E NF I L E T R A N S F E R Assign speeddial: U S E RS P E E D D I A L Change ringtones: G E T / S E TR I N G T O N E Change avatar: S E TA V A T A R Minimiz e Skype window: M I N I M I Z E bugfix: conference call bugs resolved

Skype 1.2.0.11 release notes


Date: 2005-03-04 Changes and fixes:
added: Protocol 4 Support for conferencing: start a conference, add people to conference and being able to get list of conference call participants and notifications about these Possible to check SkypeOut balance Possible to call speeddial numbers Notifications about changing audiodevices Notification about deleting IM history Changed language and country to return ISO list instead of countrynames new behaviour: from protocol 4 language and country values are prefixed by ISO codes, for example ' G E TU S E Re c h o 1 2 3 C O U N T R Y '= >' U S E Re c h o 1 2 3C O U N T R Ye eE s t o n i a ' Notification about shutting down Skype Support for SkypeIn Registry key to disable one second timeout for debugging Possibility to add userhandle to O P E NA D D A F R I E N D Support for command-id ( # 1S E Tx x x) C A L LF A I L U R E R E A S O N 1 documentation error, changed to say Misc error change: if C H A T M E S S A G Eproperty is missing, command ' S E TC H A T M E S S A G Ei d 'gives the same error for both existing and nonexisting id change: P S T N _ S T A T U Sgives error string returned from gateway change: H A S C A L L E Q U I P M E N Talways returns T R U E change: Up/down via phone api autoexpand contactlist groups bugfix: " A U D I OI N "and " A U D I OO U T "commands do nor read double byte driver names correctly bugfix: B T N _ P R E S S E D Efails with error 71 invalid key bugfix: Muting microphone in UI not reflected in API bugfix: Conference to more than 4 participants causes Range check errors bugfix: I M H I S T O R Y C H A N G E Ddoesnt work bugfix: S E TM U T EO Nreturns always M U T EO F F bugfix: Cannot call SkypeOut contacts using speeddial bugfix: No response to empty C A L L(should return ERROR 34 invalid user handles bugfix: Skype access control does not deny access to a device bugfix: No notification if the user changes audio device

Skype 1.1.0.61 release notes


Date: 2005-01-12 Changes and fixes:
added: Protocol 3 change: API now allows one ongoing search per client only. Attempting to issue new search before receiving results of a previous one results in error 72.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

128/129

18/07/2013 Skype Developer - Skype Deskt op API Referen ce M an u al change: C H A Tand C H A T M E S S A G Eproperties bugfix: API showed previous users calls and messages bugfix: Fixed confusing syntax if protocol 3 is used bugfix: S E A R C HM E S S A G E Sdoes not return C H A T M E S S A G E Svalue anymore if protocol 2 is used bugfix: API displayed only first word of message or fullname bugfix: In access control list only one programs permission was remembered bugfix: Multichat message IDs were not returned bugfix: Problems with connecting for older applications bugfix: Fixed API exceptions if Skype is used on two Windows accounts simultaneously bugfix: On Windows98/ME some dll files were shown to use Skype instead of the respective application bugfix: Sometimes API didnt return ' B U D D Y S T A T U S1 'messages

Skype 1.0.0.94 release notes


Date: 2004-10-21 Changes and fixes: Release of Skype Desktop (Public) API.

2013 Skype and/or Microsoft. The Skype name,

No emergency calls with Skype Skype is not a replacement for your telephone and can't be used for emergency calling

associated trade marks and logos and the "S" logo are trade marks of Skype or related entities. Use of this website constitutes acceptance of the Terms of Use and Privacy and Cookie policy.

cc.bin gj.com /cach e.aspx?q=h t t p%3a%2f%2fdev.skype.com %2fdeskt op-api-referen ce&d=4995357261889546&m kt =de-A

129/129

You might also like