Event Order

The examples in this topic indicate the type and order of events you can expect when a single client connects to a Windows Media server and requests content. Examples are provided for the HTTP 1.0, HTTP 1.1, RTSP, and MMS protocols.

Note

Note   The MMS protocol is not supported in Windows Server 2008 operating systems.

Each example subscribes to and permits all authorizable events, and each uses anonymous authentication. Please note the following items:

  • Only the WMS_EVENT_BEGIN_USER_SESSION and the WMS_EVENT_END_USER_SESSION events are guaranteed to be raised.

  • The WMS_EVENT_DESCRIBE event is not guaranteed, but WMS_EVENT_OPEN is. WMS_EVENT_DESCRIBE retrieves information about the content. It is guaranteed if the client is built on top of the Windows Media Format SDK. WMS_EVENT_OPEN retrieves information about the content and creates a data path. WMS_EVENT_OPEN is always raised after WMS_EVENT_DESCRIBE if the latter is present.

  • The events raised for HTTP 1.0 differ from those raised for HTTP 1.1 in that HTTP 1.0 sends multiple GET requests to the server.

  • WMS_EVENT_OPEN and WMS_EVENT_CLOSE pairs can overlap other WMS_EVENT_OPEN and WMS_EVENT_CLOSE pairs.

  • The events raised for the MMSU and MMST protocols are very similar. Only MMST is illustrated here.

  • The events raised for RTSPU and RTSPT protocols are very similar. Only RTSPT is illustrated here.

HTTP 1.0 Protocol

AUTHORIZE WMS_EVENT_CONNECT
WMS_EVENT_CONNECT
AUTHORIZE WMS_EVENT_BEGIN_USER_SESSION
WMS_EVENT_BEGIN_USER_SESSION
AUTHORIZE WMS_EVENT_LOGICAL_URL_TRANSFORM
AUTHORIZE WMS_EVENT_PHYSICAL_URL_TRANSFORM
AUTHORIZE WMS_EVENT_DESCRIBE
WMS_EVENT_DESCRIBE
WMS_EVENT_CLOSE
WMS_EVENT_DISCONNECT
WMS_EVENT_END_USER_SESSION
AUTHORIZE WMS_EVENT_CONNECT
WMS_EVENT_CONNECT
AUTHORIZE WMS_EVENT_BEGIN_USER_SESSION
WMS_EVENT_BEGIN_USER_SESSION
AUTHORIZE WMS_EVENT_LOGICAL_URL_TRANSFORM
AUTHORIZE WMS_EVENT_PHYSICAL_URL_TRANSFORM
AUTHORIZE WMS_EVENT_OPEN
WMS_EVENT_OPEN
WMS_EVENT_SELECT_STREAMS
AUTHORIZE WMS_EVENT_PLAY
WMS_EVENT_PLAY
WMS_EVENT_STOP
WMS_EVENT_DISCONNECT
AUTHORIZE WMS_EVENT_CONNECT
WMS_EVENT_CONNECT
WMS_EVENT_LOG
WMS_EVENT_DISCONNECT
WMS_EVENT_CLOSE
WMS_EVENT_END_USER_SESSION

HTTP 1.1 Protocol

AUTHORIZE WMS_EVENT_CONNECT
WMS_EVENT_CONNECT
AUTHORIZE WMS_EVENT_BEGIN_USER_SESSION
WMS_EVENT_BEGIN_USER_SESSION
AUTHORIZE WMS_EVENT_LOGICAL_URL_TRANSFORM
AUTHORIZE WMS_EVENT_PHYSICAL_URL_TRANSFORM
AUTHORIZE WMS_EVENT_DESCRIBE
WMS_EVENT_DESCRIBE
AUTHORIZE WMS_EVENT_OPEN
WMS_EVENT_OPEN
AUTHORIZE WMS_EVENT_SELECT_STREAMS
WMS_EVENT_SELECT_STREAMS
AUTHORIZE WMS_EVENT_PLAY
WMS_EVENT_PLAY
WMS_EVENT_STOP
WMS_EVENT_LOG
WMS_EVENT_DISCONNECT
WMS_EVENT_CLOSE
WMS_EVENT_END_USER_SESSION

HTTP 1.1 Reconnect

This example illustrates the events raised when an HTTP 1.1 client attempts to reconnect to a Windows Media server. All of the assumptions discussed previously remain unchanged.

AUTHORIZE WMS_EVENT_CONNECT
WMS_EVENT_CONNECT
AUTHORIZE WMS_EVENT_BEGIN_USER_SESSION
WMS_EVENT_BEGIN_USER_SESSION
AUTHORIZE WMS_EVENT_LOGICAL_URL_TRANSFORM
AUTHORIZE WMS_EVENT_PHYSICAL_URL_TRANSFORM
AUTHORIZE WMS_EVENT_DESCRIBE
WMS_EVENT_DESCRIBE
AUTHORIZE WMS_EVENT_OPEN
WMS_EVENT_OPEN
AUTHORIZE WMS_EVENT_SELECT_STREAMS
WMS_EVENT_SELECT_STREAMS
AUTHORIZE WMS_EVENT_PLAY
WMS_EVENT_PLAY
WMS_EVENT_DISCONNECT
WMS_EVENT_STOP
AUTHORIZE WMS_EVENT_CONNECT
WMS_EVENT_CONNECT
AUTHORIZE WMS_EVENT_SELECT_STREAMS
WMS_EVENT_SELECT_STREAMS
AUTHORIZE WMS_EVENT_PLAY
WMS_EVENT_PLAY
WMS_EVENT_LOG
WMS_EVENT_STOP
WMS_EVENT_LOG
WMS_EVENT_DISCONNECT
WMS_EVENT_CLOSE
WMS_EVENT_END_USER_SESSION

MMST Protocol

AUTHORIZE WMS_EVENT_CONNECT
WMS_EVENT_CONNECT
AUTHORIZE WMS_EVENT_BEGIN_USER_SESSION
WMS_EVENT_BEGIN_USER_SESSION
AUTHORIZE WMS_EVENT_LOGICAL_URL_TRANSFORM
AUTHORIZE WMS_EVENT_PHYSICAL_URL_TRANSFORM
AUTHORIZE WMS_EVENT_DESCRIBE
WMS_EVENT_DESCRIBE
AUTHORIZE WMS_EVENT_OPEN
WMS_EVENT_OPEN
WMS_EVENT_SELECT_STREAMS
AUTHORIZE WMS_EVENT_PLAY
WMS_EVENT_PLAY
WMS_EVENT_STOP
WMS_EVENT_LOG
WMS_EVENT_CLOSE
WMS_EVENT_DISCONNECT
WMS_EVENT_END_USER_SESSION

RTSPT Protocol

AUTHORIZE WMS_EVENT_CONNECT
WMS_EVENT_CONNECT
AUTHORIZE WMS_EVENT_BEGIN_USER_SESSION
WMS_EVENT_BEGIN_USER_SESSION
AUTHORIZE WMS_EVENT_LOGICAL_URL_TRANSFORM
AUTHORIZE WMS_EVENT_PHYSICAL_URL_TRANSFORM
AUTHORIZE WMS_EVENT_DESCRIBE
WMS_EVENT_DESCRIBE
AUTHORIZE WMS_EVENT_OPEN
WMS_EVENT_OPEN
AUTHORIZE WMS_EVENT_SELECT_STREAMS
WMS_EVENT_SELECT_STREAMS
AUTHORIZE WMS_EVENT_SELECT_STREAMS
WMS_EVENT_SELECT_STREAMS
AUTHORIZE WMS_EVENT_PLAY
WMS_EVENT_PLAY
WMS_EVENT_STOP
WMS_EVENT_LOG
WMS_EVENT_CLOSE
WMS_EVENT_DISCONNECT
WMS_EVENT_END_USER_SESSION

See Also

Concepts

Custom Plug-in Basics