1.3 Overview of ETP Protocols

Topic Version1Published10/31/2016
For StandardETP v1.1

The current version of ETP includes the protocols listed in the table below. For the actual normative content that defines the protocols, see 2 Protocols and 3 Schemas.

Message numbers 1000-1999 are used in multiple protocols, such as for errors and acknowledgements.

Protocol Number and Name


Stability Index

Protocol 0: Core

(For more information, see 1.3.1 Protocol 0: Session Management (or Core Protocol).)

Creates and manages ETP sessions.

3 - Stable

Protocol 1: ChannelStreaming

(For more information, see 1.3.2 Protocol 1: Channel Streaming.)

Defines a set of messages for exchanging channel-oriented data, where a channel is a time or depth series of individual data points

3 - Stable

Protocol 2: ChannelDataFrame

Transfers arrays of channel data as data frames, where a frame is an array of values for a given set of channels aligned at a common index point.

1 - Experimental

Protocol 3: Discovery

Uses a RESTful (representational state transfer) approach to enable store customers to enumerate and understand the contents of a store of data objects.

3 - Stable

Protocol 4: Store

Used to perform CRUD operations (create, retrieve, update and delete) on data objects in a store. The roles for the Store protocol are “store” and “customer”.

3- Stable

Protocol 5: StoreNotification

Used to allow store customers to receive notification of changes to data objects in the store in an event-driven manner.

2 - Unstable

Protocol 6: GrowingObject

Used to manage the growing parts of data objects that are index-based (i.e., time and depth) but are not appropriate for the Channel Streaming protocol.

2 - Unstable

Protocol 7: DataArray

Used to transfer large, binary arrays of heterogeneous data values.

1 - Experimental

Protocol 8: WitsmlSoap

Allows ETP clients to make WITSML 1.2, 1.3, and 1.4 server calls using ETP instead of SOAP. Used to support earlier versions of the WITSML specification over ETP.

1 - Experimental

Protocol 9-1999

Undefined. Reserved for future use.


Protocol 2000+

Custom. Available for custom use (not Energistics).