mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-07-24 13:12:03 +00:00
FS-5937
This commit is contained in:
@@ -39,17 +39,6 @@ SWITCH_BEGIN_EXTERN_C
|
||||
|
||||
#define SWITCH_MAX_CAND_ACL 25
|
||||
|
||||
typedef enum {
|
||||
SDP_TYPE_REQUEST,
|
||||
SDP_TYPE_RESPONSE
|
||||
} switch_sdp_type_t;
|
||||
|
||||
typedef enum {
|
||||
ICE_GOOGLE_JINGLE = (1 << 0),
|
||||
ICE_VANILLA = (1 << 1),
|
||||
ICE_CONTROLLED = (1 << 2)
|
||||
} switch_core_media_ice_type_t;
|
||||
|
||||
typedef enum {
|
||||
DTMF_2833,
|
||||
DTMF_INFO,
|
||||
@@ -157,41 +146,6 @@ typedef struct switch_core_media_params_s {
|
||||
|
||||
} switch_core_media_params_t;
|
||||
|
||||
typedef struct payload_map_s {
|
||||
switch_media_type_t type;
|
||||
switch_sdp_type_t sdp_type;
|
||||
uint32_t ptime;
|
||||
uint32_t rate;
|
||||
uint8_t allocated;
|
||||
uint8_t negotiated;
|
||||
uint8_t current;
|
||||
unsigned long hash;
|
||||
|
||||
char *rm_encoding;
|
||||
char *iananame;
|
||||
switch_payload_t pt;
|
||||
unsigned long rm_rate;
|
||||
unsigned long adv_rm_rate;
|
||||
uint32_t codec_ms;
|
||||
uint32_t bitrate;
|
||||
|
||||
char *rm_fmtp;
|
||||
|
||||
switch_payload_t agreed_pt;
|
||||
switch_payload_t recv_pt;
|
||||
|
||||
char *fmtp_out;
|
||||
|
||||
char *remote_sdp_ip;
|
||||
switch_port_t remote_sdp_port;
|
||||
|
||||
int channels;
|
||||
int adv_channels;
|
||||
|
||||
struct payload_map_s *next;
|
||||
|
||||
} payload_map_t;
|
||||
|
||||
static inline const char *switch_media_type2str(switch_media_type_t type)
|
||||
{
|
||||
switch(type) {
|
||||
@@ -311,6 +265,12 @@ SWITCH_DECLARE(payload_map_t *) switch_core_media_add_payload_map(switch_core_se
|
||||
uint32_t ptime,
|
||||
uint8_t negotiated);
|
||||
|
||||
|
||||
SWITCH_DECLARE(switch_rtp_crypto_key_type_t) switch_core_media_crypto_str2type(const char *str);
|
||||
SWITCH_DECLARE(const char *) switch_core_media_crypto_type2str(switch_rtp_crypto_key_type_t type);
|
||||
SWITCH_DECLARE(int) switch_core_media_crypto_keylen(switch_rtp_crypto_key_type_t type);
|
||||
|
||||
|
||||
SWITCH_END_EXTERN_C
|
||||
#endif
|
||||
/* For Emacs:
|
||||
|
||||
@@ -37,7 +37,6 @@
|
||||
#define SWITCH_FRAME_H
|
||||
|
||||
#include <switch.h>
|
||||
#include <switch_core_media.h>
|
||||
|
||||
SWITCH_BEGIN_EXTERN_C
|
||||
/*! \brief An abstraction of a data frame */
|
||||
|
||||
+11
-17
@@ -41,18 +41,16 @@
|
||||
|
||||
SWITCH_BEGIN_EXTERN_C
|
||||
|
||||
#include <switch_core_media.h>
|
||||
|
||||
#define SWITCH_RTP_MAX_BUF_LEN 16384
|
||||
#define SWITCH_RTCP_MAX_BUF_LEN 16384
|
||||
#define SWITCH_RTP_MAX_BUF_LEN_WORDS 4094 /* (max / 4) - 2 */
|
||||
#define SWITCH_RTP_MAX_CRYPTO_LEN 64
|
||||
#define SWITCH_RTP_KEY_LEN 30
|
||||
#define SWITCH_RTP_CRYPTO_KEY_32 "AES_CM_128_HMAC_SHA1_32"
|
||||
//#define SWITCH_RTP_KEY_LEN 30
|
||||
//#define SWITCH_RTP_CRYPTO_KEY_32 "AES_CM_128_HMAC_SHA1_32"
|
||||
#define SWITCH_RTP_CRYPTO_KEY_80 "AES_CM_128_HMAC_SHA1_80"
|
||||
#define SWITCH_RTP_CRYPTO_KEY_128_8 "AEAD_AES_128_GCM_8"
|
||||
#define SWITCH_RTP_CRYPTO_KEY_256_8 "AEAD_AES_256_GCM_8"
|
||||
typedef enum {
|
||||
|
||||
|
||||
typedef enum {
|
||||
SWITCH_RTP_CRYPTO_SEND,
|
||||
SWITCH_RTP_CRYPTO_RECV,
|
||||
SWITCH_RTP_CRYPTO_SEND_RTCP,
|
||||
@@ -60,16 +58,12 @@ SWITCH_BEGIN_EXTERN_C
|
||||
SWITCH_RTP_CRYPTO_MAX
|
||||
} switch_rtp_crypto_direction_t;
|
||||
|
||||
typedef enum {
|
||||
NO_CRYPTO,
|
||||
AES_CM_128_HMAC_SHA1_80,
|
||||
AES_CM_128_HMAC_SHA1_32,
|
||||
AES_CM_256_HMAC_SHA1_80,
|
||||
AES_CM_192_HMAC_SHA1_80,
|
||||
AEAD_AES_256_GCM_8,
|
||||
AEAD_AES_128_GCM_8,
|
||||
AES_CM_128_NULL_AUTH
|
||||
} switch_rtp_crypto_key_type_t;
|
||||
typedef struct switch_srtp_crypto_suite_s {
|
||||
char *name;
|
||||
switch_rtp_crypto_key_type_t type;
|
||||
int keylen;
|
||||
} switch_srtp_crypto_suite_t;
|
||||
|
||||
|
||||
struct switch_rtp_crypto_key {
|
||||
uint32_t index;
|
||||
|
||||
@@ -2312,6 +2312,67 @@ typedef void (*switch_event_channel_func_t)(const char *event_channel, cJSON *js
|
||||
struct switch_live_array_s;
|
||||
typedef struct switch_live_array_s switch_live_array_t;
|
||||
|
||||
typedef enum {
|
||||
SDP_TYPE_REQUEST,
|
||||
SDP_TYPE_RESPONSE
|
||||
} switch_sdp_type_t;
|
||||
|
||||
|
||||
typedef enum {
|
||||
AEAD_AES_256_GCM_8,
|
||||
AEAD_AES_128_GCM_8,
|
||||
AES_CM_256_HMAC_SHA1_80,
|
||||
AES_CM_192_HMAC_SHA1_80,
|
||||
AES_CM_128_HMAC_SHA1_80,
|
||||
AES_CM_256_HMAC_SHA1_32,
|
||||
AES_CM_192_HMAC_SHA1_32,
|
||||
AES_CM_128_HMAC_SHA1_32,
|
||||
AES_CM_128_NULL_AUTH,
|
||||
NO_CRYPTO,
|
||||
CRYPTO_INVALID
|
||||
} switch_rtp_crypto_key_type_t;
|
||||
|
||||
typedef struct payload_map_s {
|
||||
switch_media_type_t type;
|
||||
switch_sdp_type_t sdp_type;
|
||||
uint32_t ptime;
|
||||
uint32_t rate;
|
||||
uint8_t allocated;
|
||||
uint8_t negotiated;
|
||||
uint8_t current;
|
||||
unsigned long hash;
|
||||
|
||||
char *rm_encoding;
|
||||
char *iananame;
|
||||
switch_payload_t pt;
|
||||
unsigned long rm_rate;
|
||||
unsigned long adv_rm_rate;
|
||||
uint32_t codec_ms;
|
||||
uint32_t bitrate;
|
||||
|
||||
char *rm_fmtp;
|
||||
|
||||
switch_payload_t agreed_pt;
|
||||
switch_payload_t recv_pt;
|
||||
|
||||
char *fmtp_out;
|
||||
|
||||
char *remote_sdp_ip;
|
||||
switch_port_t remote_sdp_port;
|
||||
|
||||
int channels;
|
||||
int adv_channels;
|
||||
|
||||
struct payload_map_s *next;
|
||||
|
||||
} payload_map_t;
|
||||
|
||||
typedef enum {
|
||||
ICE_GOOGLE_JINGLE = (1 << 0),
|
||||
ICE_VANILLA = (1 << 1),
|
||||
ICE_CONTROLLED = (1 << 2)
|
||||
} switch_core_media_ice_type_t;
|
||||
|
||||
|
||||
|
||||
SWITCH_END_EXTERN_C
|
||||
|
||||
Reference in New Issue
Block a user