libzrtp  1.2.0
ZRTP VoIP security
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Data Structures | Typedefs | Enumerations
Types and Definitions
API

Data Structures

struct  zrtp_config_t
 ZRTP global configuration options. More...
 
struct  zrtp_stream_info_t
 zrtp stream information structurelibzrtp, since v0.80 takes data encapsulating approach and hides all private data inside zrtp_stream_t structure. Developers shouldn't access them directly. zrtp_stream_get() should be used instead to fill zrtp_stream_info_t structure. zrtp_stream_info_t contains all needed information in safe and easy to use form. More...
 
struct  zrtp_session_info_t
 zrtp session information structurelibzrtp, since v0.80 takes data incapsulating approach and hides all private date inside zrtp_session_t structure. Developers shouldn't access them directly. zrtp_session_get() should be used instead to fill zrtp_session_info_t structure. zrtp_session_info_t contains all needed information in safe and easy to use form. More...
 
struct  zrtp_profile_t
 ZRTP session profileZRTP Sessions are configured with a profile scheme. Each profile is defined by a structure of the given type. zrtp_profile_t contains a set of preferences for crypto components and other protocol parameters. More...
 

Typedefs

typedef enum zrtp_signaling_role_t zrtp_signaling_role_t
 Enumeration to define Signaling initiator/responder roles.
 
typedef unsigned char zrtp_zid_t [12]
 12-byte ZID for unique ZRTP endpoint identification.
 
typedef char zrtp_client_id_t [16]
 16-byte ID for ZRTP endpoint's software identification.
 
typedef enum zrtp_state_t zrtp_state_t
 Defines ZRTP state-machine statesThe conditions for switching from one state to another, and libzrtp behavior in every state is described in detail in XXX and depicted in diagram XXX and XXX.
 
typedef enum zrtp_stream_mode_t zrtp_stream_mode_t
 Enumeration for ZRTP stream mode definition.
 

Enumerations

enum  zrtp_signaling_role_t { ZRTP_SIGNALING_ROLE_UNKNOWN = 0, ZRTP_SIGNALING_ROLE_INITIATOR, ZRTP_SIGNALING_ROLE_RESPONDER, ZRTP_SIGNALING_ROLE_COUNT }
 Enumeration to define Signaling initiator/responder roles. More...
 
enum  zrtp_state_t {
  ZRTP_STATE_NONE = 0, ZRTP_STATE_ACTIVE, ZRTP_STATE_START, ZRTP_STATE_WAIT_HELLOACK,
  ZRTP_STATE_WAIT_HELLO, ZRTP_STATE_CLEAR, ZRTP_STATE_START_INITIATINGSECURE, ZRTP_STATE_INITIATINGSECURE,
  ZRTP_STATE_WAIT_CONFIRM1, ZRTP_STATE_WAIT_CONFIRMACK, ZRTP_STATE_PENDINGSECURE, ZRTP_STATE_WAIT_CONFIRM2,
  ZRTP_STATE_SECURE, ZRTP_STATE_SASRELAYING, ZRTP_STATE_INITIATINGCLEAR, ZRTP_STATE_PENDINGCLEAR,
  ZRTP_STATE_INITIATINGERROR, ZRTP_STATE_PENDINGERROR, ZRTP_STATE_ERROR, ZRTP_STATE_NO_ZRTP,
  ZRTP_STATE_COUNT
}
 Defines ZRTP state-machine statesThe conditions for switching from one state to another, and libzrtp behavior in every state is described in detail in XXX and depicted in diagram XXX and XXX. More...
 
enum  zrtp_stream_mode_t {
  ZRTP_STREAM_MODE_UNKN = 0, ZRTP_STREAM_MODE_CLEAR = 1, ZRTP_STREAM_MODE_DH = 2, ZRTP_STREAM_MODE_PRESHARED = 3,
  ZRTP_STREAM_MODE_MULT = 4, ZRTP_STREAM_MODE_COUNT = 5
}
 Enumeration for ZRTP stream mode definition. More...
 

Detailed Description

The data types used in libzrtp are defined in this section

Typedef Documentation

Enumeration to define Signaling initiator/responder roles.

Used by libzrtp to optimize some internal processes and protocol handshake.

zrtp_stream_start().

typedef enum zrtp_state_t zrtp_state_t

Defines ZRTP state-machine statesThe conditions for switching from one state to another, and libzrtp behavior in every state is described in detail in XXX and depicted in diagram XXX and XXX.

The current stream state is stored in the zrtp_stream_info_t::state variable and available for reading at any time.

Enumeration Type Documentation

Enumeration to define Signaling initiator/responder roles.

Used by libzrtp to optimize some internal processes and protocol handshake.

zrtp_stream_start().

Enumerator:
ZRTP_SIGNALING_ROLE_UNKNOWN 

Unknown Signaling role, should be used when the app can't determine the role.

ZRTP_SIGNALING_ROLE_INITIATOR 

Signaling Initiator.

ZRTP_SIGNALING_ROLE_RESPONDER 

Signaling Responder.

Defines ZRTP state-machine statesThe conditions for switching from one state to another, and libzrtp behavior in every state is described in detail in XXX and depicted in diagram XXX and XXX.

The current stream state is stored in the zrtp_stream_info_t::state variable and available for reading at any time.

Enumerator:
ZRTP_STATE_START 

Just right stream attaching, before protocol start

ZRTP_STATE_WAIT_HELLOACK 

Protocol initiated, Discovery haven't started yet

ZRTP_STATE_WAIT_HELLO 

Hello sending, waiting for HelloAck

ZRTP_STATE_CLEAR 

HelloAck received, Waiting for peer Hello

ZRTP_STATE_START_INITIATINGSECURE 

CLEAR state

ZRTP_STATE_INITIATINGSECURE 

Starting Initiator state-machine

ZRTP_STATE_WAIT_CONFIRM1 

Commit retries, waiting for DH1

ZRTP_STATE_WAIT_CONFIRMACK 

DH2 retries, waiting for Confirm1

ZRTP_STATE_PENDINGSECURE 

Confirm2 retries, waiting for ConfirmAck

ZRTP_STATE_WAIT_CONFIRM2 

Responder state-machine, waiting for DH2

ZRTP_STATE_SECURE 

Waiting for Confirm2 to finalize ZRTP exchange

ZRTP_STATE_SASRELAYING 

SECURE state, call is encrypted

ZRTP_STATE_INITIATINGCLEAR 

SAS transferring to the remote peer (for MiTM only)

ZRTP_STATE_PENDINGCLEAR 

Switching to CLEAR initated by the local endpoint

ZRTP_STATE_INITIATINGERROR 

CLEAR request have been received

ZRTP_STATE_PENDINGERROR 

Protocol ERROR detected on local side

ZRTP_STATE_ERROR 

Protocol ERROR received from the remote peer

ZRTP_STATE_NO_ZRTP 

Protocol ERROR state. Check zrtp_stream_info::last_error

ZRTP_STATE_COUNT 

Discovery phase failed. Remote peer doesn't support ZRTP

Enumeration for ZRTP stream mode definition.

Enumerator:
ZRTP_STREAM_MODE_CLEAR 

Unused stream - unknown mode

ZRTP_STREAM_MODE_DH 

Just after stream attaching - mode is undefined

ZRTP_STREAM_MODE_PRESHARED 

FULL DH ZRTP stream mode

ZRTP_STREAM_MODE_MULT 

Preshared ZRTP stream mode

ZRTP_STREAM_MODE_COUNT 

Multistream ZRTP stream mode