This project is read-only.

Latest Project update

A new spec level - Level 0 is introduced. All features will be reviewed at this level before getting promoted to other levels.
Both Azure Toss Spec and Azure Toss implementation are currently at POC stage. The POC includes prototypes of Level 1, Level 2, and Level 3 supports. Please refer the Azure Toss Spec for details of different levels.

Spec Committee

Please contact me if you’d like to formally join the spec committee to contribute your rich experiences in system integration, service orchestration, mass communication, workflow, information ontology, semantic web, and security. Please include your name, company and current title. Also please indicate if you’d like to be an anonymous contributor, or to be listed on this page.

Read Spec

Toss Specification (2011 Draft)

Get Started

Azure Toss is based on Microsoft Azure platform. The current POC is designed to work with local simulated development fabric, so you don’t need any Azure subscriptions to try out the sample scenarios in this POC. In parallel there will be an implementation targeting at production use coming soon. The intention is to keep POC functionally in sync of production implementation so you’ll always be able to try out most of the features locally. The production implementation, on the other hand, will utilize various Microsoft Azure services such as ACS and Service Bus to deliver a robust, scalable solution.

1. To run Azure Toss locally, you’ll need:
  • Microsoft Visual Studio 2010
  • Windows Azure SDK 1.5
  • IIS 7.0 or higher (preferably 7.5)
2. The solution uses multi-site hosting, and there's a sample translation service that uses host header "". In order to be able to attach a debugger, you need to modify your hosts file to add a mapping between and Note the mapping ip is not

3. Then, download the solution source, compile and run. If you are experiencing any problems, please create a ticket or post on the forum.

Now if everything went OK, you should be able to try out provided sample scenarios. Note that some editing is needed to match some settings with your actual environment, as detailed below.

Unit tests

Unit test cases are being added as the project progresses. To run/debug these tests, launch the solution with Ctrl + F5 to get websites deployed and hosted, then run/debug the test project(s).

Scenario 1 – JavaScript Chat (Level 1 Toss)

Try it out

This scenario shows how a JavaScript chat client communicate over Azure Toss Level 1 capability. To run the scenario:

1. Right-click the “ChatClient.htm” file under “Scenarios\1-Javascript Chat” folder and select “View in Browser”. You need active Internet connection because the clients uses jQuery script hosted on
2. If you see browser prompt “Internet Explorer restricted this web page from running scripts or ActiveX controls.”, click “Allow blocked content” to continue.
3. You should see “Send Pipe” and “Receive Pipe” populated with Guids, along with a automatically assigned user name in the format of “Gues-xxx”:
4. Now you can start typing and sending messages to yourself.
5. You can launch multiple clients and they all should be talk to each other.

How it works

When started, each client registers a send pipe and receive pipe by issuing registration requests to Azure Toss. Then, the client uses the send pipe to send messages and uses the receive pipe to receive messages. Azure Toss supports JSONP so cross-domain scripting is allowed. In addition, the Azure Toss POC implementation supports long-polling so clients get immediate response when messages are sent without needing to periodically poll the server. Please refer to Level 1 Spec for API details.

Last edited Nov 10, 2011 at 2:48 PM by Haishi, version 15


No comments yet.