INTRODUCTION
The Skype API is divided into 2 separate parts. Skype Phone API and Skype
Access API:
• Skype Phone API is an interface that Skype uses to access devices,
including, but not limited to, USB phones. The device by itself does not
have to be a hardware device, but generally it is. This API is controlled by
Skype and the device-side of the API can be viewed as a driver. The
controlling party is Skype. This API operates on abstract events level e.g.
the green button is pressed, the handset is off-hook, the device should
ring, etc. The Skype Phone API compatible drivers should install
themselves during install so that Skype can know their presence. There
can be a database of USB devices and related drivers making it possible
for Skype to detect a new device and prompt for driver installation.
• Skype Access API is an interface Skype publishes to 3rd party
applications to access Skype functionality, for example to place a call, to
send a text message, to get Skype user profile, etc. In this API, the 3rd
party application is the controlling side. Skype can optionally grant access
to the Skype Access API on a per-application basis.
7.7Skype API protocol versions
Protocol versions 1,2 and 3 are available at the moment.
7.7.1 New features in protocol 2
• New onlinestatus SKYPEME.
• If call is set on hold, API notifies clients with "CALL xx STATUS
LOCALHOLD / REMOTEHOLD" respectively. Protocol 1 simply returned
ONHOLD.
• New call status CANCELLED
7.7.2 New features in protocol 3
• Multiperson chat commands
• Compatibility layer for previous IM
7.7.3 New features in protocol 4
• Language and country values are prefixed by ISO cod
7.9.5 Sending messages
Syntax: MESSAGE USERNAME TEXT
USERNAME - username, whom to send message, e.g. "pamela"
TEXT - message body, e.g. "Please call me"
Returns: Returns message ID and status.
© Skype Technologies S.A. 29/37
Example: MESSAGE pamela Please call me
Example result:
MESSAGE 136 STATUS SENDING
MESSAGE 136 STATUS SENT
7.9.8 Test connection
Syntax: PING
Returns: PONG if Skype is present.
Example: PING
Query connection status.