ExLibSRTP.Policy (ExLibSRTP v0.3.0) View Source

Policy for setting up SRTP stream configuration.

For meaning of particular fields, please refer to ExLibSRTP documentation.

Link to this section Summary

Link to this section Types

Specs

crypto_profile_t() ::
  :rtp_default
  | :rtcp_default
  | :aes_cm_128_hmac_sha1_80
  | :aes_cm_128_hmac_sha1_32
  | :aes_cm_128_null_auth
  | :null_cipher_hmac_sha1_80
  | :null_cipher_hmac_null
  | :aes_cm_256_hmac_sha1_80
  | :aes_cm_256_hmac_sha1_32
  | :aes_cm_256_null_auth
  | :aes_cm_192_hmac_sha1_80
  | :aes_cm_192_hmac_sha1_32
  | :aes_cm_192_null_auth
  | :aes_gcm_128_8_auth
  | :aes_gcm_256_8_auth
  | :aes_gcm_128_8_only_auth
  | :aes_gcm_256_8_only_auth
  | :aes_gcm_128_16_auth
  | :aes_gcm_256_16_auth

Specs

key_spec_t() :: binary() | [ExLibSRTP.MasterKey.t()]

Specs

ssrc_pattern_t() :: ExLibSRTP.ssrc_t() | :any_inbound | :any_outbound

Specs

t() :: %ExLibSRTP.Policy{
  allow_repeat_tx: boolean(),
  key: key_spec_t(),
  rtcp: crypto_profile_t(),
  rtp: crypto_profile_t(),
  ssrc: ssrc_pattern_t(),
  window_size: pos_integer()
}

Link to this section Functions

Link to this function

crypto_profile_from_dtls_srtp_protection_profile(b)

View Source

Specs

crypto_profile_from_dtls_srtp_protection_profile(
  value :: pos_integer() | {pos_integer(), pos_integer()}
) :: {:ok, crypto_profile_t()} | {:error, :unsupported_crypto_profile}

Relevant specification: https://www.iana.org/assignments/srtp-protection/srtp-protection.xhtml