add tags to allow crypto in avp
This commit is contained in:
parent
e3a6366782
commit
9fe08675a1
|
@ -279,7 +279,8 @@ typedef enum {
|
|||
PFLAG_NDLB_BROKEN_AUTH_HASH = (1 << 1),
|
||||
PFLAG_NDLB_SENDRECV_IN_SESSION = (1 << 2),
|
||||
PFLAG_NDLB_ALLOW_BAD_IANANAME = (1 << 3),
|
||||
PFLAG_NDLB_ALLOW_NONDUP_SDP = (1 << 4)
|
||||
PFLAG_NDLB_ALLOW_NONDUP_SDP = (1 << 4),
|
||||
PFLAG_NDLB_ALLOW_CRYPTO_IN_AVP = (1 << 5)
|
||||
} sofia_NDLB_t;
|
||||
|
||||
typedef enum {
|
||||
|
|
|
@ -3456,6 +3456,12 @@ switch_status_t reconfig_sofia(sofia_profile_t *profile)
|
|||
} else {
|
||||
profile->ndlb &= ~PFLAG_NDLB_ALLOW_BAD_IANANAME;
|
||||
}
|
||||
} else if (!strcasecmp(var, "NDLB-allow-crypto-in-avp")) {
|
||||
if (switch_true(val)) {
|
||||
profile->ndlb |= PFLAG_NDLB_ALLOW_CRYPTO_IN_AVP;
|
||||
} else {
|
||||
profile->ndlb &= ~PFLAG_NDLB_ALLOW_CRYPTO_IN_AVP;
|
||||
}
|
||||
} else if (!strcasecmp(var, "NDLB-allow-nondup-sdp")) {
|
||||
if (switch_true(val)) {
|
||||
profile->ndlb |= PFLAG_NDLB_ALLOW_NONDUP_SDP;
|
||||
|
|
|
@ -4831,10 +4831,13 @@ uint8_t sofia_glue_negotiate_sdp(switch_core_session_t *session, const char *r_s
|
|||
} else if (!got_crypto && !strcasecmp(attr->a_name, "crypto") && !zstr(attr->a_value)) {
|
||||
int crypto_tag;
|
||||
|
||||
if (m->m_proto != sdp_proto_srtp) {
|
||||
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "a=crypto in RTP/AVP, refer to rfc3711\n");
|
||||
match = 0;
|
||||
goto done;
|
||||
if (!(tech_pvt->profile->ndlb & PFLAG_NDLB_ALLOW_CRYPTO_IN_AVP) &&
|
||||
!switch_true(switch_channel_get_variable(tech_pvt->channel, "sip_allow_crypto_in_sdp"))) {
|
||||
if (m->m_proto != sdp_proto_srtp) {
|
||||
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "a=crypto in RTP/AVP, refer to rfc3711\n");
|
||||
match = 0;
|
||||
goto done;
|
||||
}
|
||||
}
|
||||
|
||||
crypto = attr->a_value;
|
||||
|
|
Loading…
Reference in New Issue