Logo Search packages:      
Sourcecode: srtp version File versions  Download package

Secure RTP


Detailed Description

libSRTP provides functions for protecting RTP and RTCP. See Section Overview for an introduction to the use of the library.


Modules

 Secure RTCP
 Secure RTCP functions are used to protect RTCP traffic.
 SRTP events and callbacks
 libSRTP can use a user-provided callback function to handle events.

Classes

struct  crypto_policy_t
 crypto_policy_t describes a particular crypto policy that can be applied to an SRTP stream. More...
struct  srtp_policy_t
 represents the policy for an SRTP session. More...
struct  ssrc_t
 An ssrc_t represents a particular SSRC value, or a `wildcard' SSRC. More...

Defines

#define crypto_policy_set_aes_cm_128_hmac_sha1_80(p)   crypto_policy_set_rtp_default(p)
 crypto_policy_set_aes_cm_128_hmac_sha1_80() sets a crypto policy structure to the SRTP default policy for RTP protection.
#define SRTP_MASTER_KEY_LEN   30
#define SRTP_MAX_KEY_LEN   64
#define SRTP_MAX_TAG_LEN   12
#define SRTP_MAX_TRAILER_LEN   SRTP_MAX_TAG_LEN
 the maximum number of octets added by srtp_protect().

Typedefs

typedef struct srtp_stream_ctx_t * srtp_stream_t
 An srtp_stream_t points to an SRTP stream structure.
typedef struct srtp_ctx_t * srtp_t
 An srtp_t points to an SRTP session structure.

Enumerations

enum  sec_serv_t { sec_serv_none = 0, sec_serv_conf = 1, sec_serv_auth = 2, sec_serv_conf_and_auth = 3 }
 sec_serv_t describes a set of security services. More...
enum  ssrc_type_t { ssrc_undefined = 0, ssrc_specific = 1, ssrc_any_inbound = 2, ssrc_any_outbound = 3 }
 ssrc_type_t describes the type of an SSRC. More...

Functions

err_status_t crypto_get_random (unsigned char *buffer, unsigned int length)
 writes a random octet string.
void crypto_policy_set_aes_cm_128_hmac_sha1_32 (crypto_policy_t *p)
 crypto_policy_set_aes_cm_128_hmac_sha1_32() sets a crypto policy structure to a short-authentication tag policy
void crypto_policy_set_aes_cm_128_null_auth (crypto_policy_t *p)
 crypto_policy_set_aes_cm_128_null_auth() sets a crypto policy structure to an encryption-only policy
void crypto_policy_set_null_cipher_hmac_sha1_80 (crypto_policy_t *p)
 crypto_policy_set_null_cipher_hmac_sha1_80() sets a crypto policy structure to an authentication-only policy
void crypto_policy_set_rtcp_default (crypto_policy_t *p)
 crypto_policy_set_rtcp_default() sets a crypto policy structure to the SRTP default policy for RTCP protection.
void crypto_policy_set_rtp_default (crypto_policy_t *p)
 crypto_policy_set_rtp_default() sets a crypto policy structure to the SRTP default policy for RTP protection.
err_status_t srtp_add_stream (srtp_t session, const srtp_policy_t *policy)
 srtp_add_stream() allocates and initializes an SRTP stream within a given SRTP session.
err_status_t srtp_create (srtp_t *session, const srtp_policy_t *policy)
 srtp_create() allocates and initializes an SRTP session.
err_status_t srtp_dealloc (srtp_t s)
 srtp_dealloc() deallocates storage for an SRTP session context.
err_status_t srtp_init (void)
 srtp_init() initializes the srtp library.
err_status_t srtp_protect (srtp_t ctx, void *rtp_hdr, int *len_ptr)
 srtp_protect() is the Secure RTP sender-side packet processing function.
err_status_t srtp_remove_stream (srtp_t session, uint32_t ssrc)
 srtp_remove_stream() deallocates an SRTP stream.
err_status_t srtp_unprotect (srtp_t ctx, void *srtp_hdr, int *len_ptr)
 srtp_unprotect() is the Secure RTP receiver-side packet processing function.


Generated by  Doxygen 1.6.0   Back to index