mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-10-20 10:14:14 +00:00
FS-5257 --resolve you seem to be setting sip_secure_media on an inbound leg, this is not correct. This patch should auto-correct that but also beware that the variable has changed to rtp_secure_media after this commit
This commit is contained in:
1 parent
5544db8d5e
commit
69c3c7d8e2
11 files changed
+37
-22
No files matched your search
@@ -112,8 +112,8 @@ typedef struct private_object private_object_t;
|
||||
#define SOFIA_DEFAULT_PORT "5060"
|
||||
#define SOFIA_DEFAULT_TLS_PORT "5061"
|
||||
#define SOFIA_REFER_TO_VARIABLE "sip_refer_to"
|
||||
#define SOFIA_SECURE_MEDIA_VARIABLE "sip_secure_media"
|
||||
#define SOFIA_SECURE_MEDIA_CONFIRMED_VARIABLE "sip_secure_media_confirmed"
|
||||
#define SOFIA_SECURE_MEDIA_VARIABLE "rtp_secure_media"
|
||||
#define SOFIA_SECURE_MEDIA_CONFIRMED_VARIABLE "rtp_secure_media_confirmed"
|
||||
#define SOFIA_SECURE_VIDEO_CONFIRMED_VARIABLE "sip_secure_video_confirmed"
|
||||
//#define SOFIA_HAS_CRYPTO_VARIABLE "rtp_has_crypto"
|
||||
//#define SOFIA_HAS_VIDEO_CRYPTO_VARIABLE "sip_has_video_crypto"
|
||||
|
||||
+16
-1
@@ -3155,8 +3155,20 @@ SWITCH_DECLARE(void) switch_channel_check_zrtp(switch_channel_t *channel)
|
||||
}
|
||||
}
|
||||
|
||||
static void check_secure(switch_channel_t *channel)
|
||||
{
|
||||
const char *var, *sec;
|
||||
|
||||
if (switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_INBOUND) {
|
||||
if ((sec = switch_channel_get_variable(channel, "rtp_secure_media")) && switch_true(sec)) {
|
||||
if (!(var = switch_channel_get_variable(channel, "rtp_has_crypto"))) {
|
||||
switch_log_printf(SWITCH_CHANNEL_CHANNEL_LOG(channel), SWITCH_LOG_WARNING, "rtp_secure_media invalid in this context.\n");
|
||||
switch_channel_set_variable(channel, "rtp_secure_media", NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
SWITCH_DECLARE(switch_status_t) switch_channel_perform_mark_pre_answered(switch_channel_t *channel, const char *file, const char *func, int line)
|
||||
{
|
||||
@@ -3241,6 +3253,8 @@ SWITCH_DECLARE(switch_status_t) switch_channel_perform_pre_answer(switch_channel
|
||||
return SWITCH_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
check_secure(channel);
|
||||
|
||||
if (switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_INBOUND) {
|
||||
msg.message_id = SWITCH_MESSAGE_INDICATE_PROGRESS;
|
||||
msg.from = channel->name;
|
||||
@@ -3511,7 +3525,8 @@ SWITCH_DECLARE(switch_status_t) switch_channel_perform_answer(switch_channel_t *
|
||||
if (switch_channel_test_flag(channel, CF_ANSWERED)) {
|
||||
return SWITCH_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
check_secure(channel);
|
||||
|
||||
msg.message_id = SWITCH_MESSAGE_INDICATE_ANSWER;
|
||||
msg.from = channel->name;
|
||||
|
||||
+1
-1
@@ -2656,7 +2656,7 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_create(switch_rtp_t **new_rtp_session
|
||||
|
||||
int initiator = 0;
|
||||
const char *zrtp_enabled = switch_channel_get_variable(channel, "zrtp_secure_media");
|
||||
const char *srtp_enabled = switch_channel_get_variable(channel, "sip_secure_media");
|
||||
const char *srtp_enabled = switch_channel_get_variable(channel, "rtp_secure_media");
|
||||
|
||||
if (switch_true(srtp_enabled) && switch_true(zrtp_enabled)) {
|
||||
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(rtp_session->session), SWITCH_LOG_WARNING,
|
||||
|
||||
Reference in new issue
Block a user