diff options
-rw-r--r-- | channels/chan_sip.c | 15 | ||||
-rw-r--r-- | configs/sip.conf.sample | 5 | ||||
-rw-r--r-- | res/res_rtp_asterisk.c | 2 |
3 files changed, 10 insertions, 12 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 9059669f0..c939df955 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -12927,9 +12927,9 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int struct ast_str *m_video = ast_str_alloca(256); /* Media declaration line for video */ struct ast_str *m_text = ast_str_alloca(256); /* Media declaration line for text */ struct ast_str *m_modem = ast_str_alloca(256); /* Media declaration line for modem */ - struct ast_str *a_audio = ast_str_alloca(1024); /* Attributes for audio */ - struct ast_str *a_video = ast_str_alloca(1024); /* Attributes for video */ - struct ast_str *a_text = ast_str_alloca(1024); /* Attributes for text */ + struct ast_str *a_audio = ast_str_create(256); /* Attributes for audio */ + struct ast_str *a_video = ast_str_create(256); /* Attributes for video */ + struct ast_str *a_text = ast_str_create(256); /* Attributes for text */ struct ast_str *a_modem = ast_str_alloca(1024); /* Attributes for modem */ const char *a_crypto = NULL; const char *v_a_crypto = NULL; @@ -13193,11 +13193,6 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int add_dtls_to_sdp(p->rtp, &a_audio); } - - if (m_audio->len - m_audio->used < 2 || m_video->len - m_video->used < 2 || - m_text->len - m_text->used < 2 || a_text->len - a_text->used < 2 || - a_audio->len - a_audio->used < 2 || a_video->len - a_video->used < 2) - ast_log(LOG_WARNING, "SIP SDP may be truncated due to undersized buffer!!\n"); } if (add_t38) { @@ -13376,6 +13371,9 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int ast_debug(3, "Done building SDP. Settling with this capability: %s\n", ast_getformatname_multiple(buf, SIPBUFSIZE, tmpcap)); add_sdp_cleanup: + ast_free(a_text); + ast_free(a_video); + ast_free(a_audio); alreadysent = ast_format_cap_destroy(alreadysent); tmpcap = ast_format_cap_destroy(tmpcap); @@ -31227,7 +31225,6 @@ static int reload_config(enum channelreloadreason reason) ast_set_flag(&global_flags[0], SIP_DTMF_RFC2833); /*!< Default DTMF setting: RFC2833 */ ast_set_flag(&global_flags[0], SIP_DIRECT_MEDIA); /*!< Allow re-invites */ ast_set_flag(&global_flags[2], SIP_PAGE3_NAT_AUTO_RPORT); /*!< Default to nat=auto_force_rport */ - ast_set_flag(&global_flags[2], SIP_PAGE3_ICE_SUPPORT); /*!< Default to enabling ICE support */ ast_copy_string(default_engine, DEFAULT_ENGINE, sizeof(default_engine)); ast_copy_string(default_parkinglot, DEFAULT_PARKINGLOT, sizeof(default_parkinglot)); diff --git a/configs/sip.conf.sample b/configs/sip.conf.sample index 3d6db9798..bbd2af8df 100644 --- a/configs/sip.conf.sample +++ b/configs/sip.conf.sample @@ -919,10 +919,11 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls ; ; subscribe_network_change_event = yes ; on by default ; -; ICE/STUN/TURN usage can be disabled globally or on a per-peer basis using the icesupport +; ICE/STUN/TURN usage can be enabled globally or on a per-peer basis using the icesupport ; configuration option. When set to yes ICE support is enabled. When set to no it is disabled. +; It is disabled by default. ; -; icesupport = no +; icesupport = yes ;----------------------------------- MEDIA HANDLING -------------------------------- ; By default, Asterisk tries to re-invite media streams to an optimal path. If there's diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c index 45df0f923..7179d592a 100644 --- a/res/res_rtp_asterisk.c +++ b/res/res_rtp_asterisk.c @@ -111,7 +111,7 @@ enum strict_rtp_state { }; #define DEFAULT_STRICT_RTP STRICT_RTP_CLOSED -#define DEFAULT_ICESUPPORT 0 +#define DEFAULT_ICESUPPORT 1 extern struct ast_srtp_res *res_srtp; extern struct ast_srtp_policy_res *res_srtp_policy; |