mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-11-08 20:43:51 +00:00
FS-7509: WIP media reneg stuff
This commit is contained in:
1 parent
13205e49af
commit
eb819b51b5
3 files changed
+145
-31
No files matched your search
@@ -1152,6 +1152,13 @@ static void tech_reattach(verto_pvt_t *tech_pvt, jsock_t *jsock)
|
||||
switch_set_flag(tech_pvt, TFLAG_ATTACH_REQ);
|
||||
msg = jrpc_new_req("verto.attach", tech_pvt->call_id, ¶ms);
|
||||
|
||||
switch_channel_set_flag(tech_pvt->channel, CF_REINVITE);
|
||||
switch_channel_set_flag(tech_pvt->channel, CF_RECOVERING);
|
||||
switch_core_media_gen_local_sdp(tech_pvt->session, SDP_TYPE_RESPONSE, NULL, 0, NULL, 0);
|
||||
switch_channel_clear_flag(tech_pvt->channel, CF_REINVITE);
|
||||
switch_channel_clear_flag(tech_pvt->channel, CF_RECOVERING);
|
||||
switch_core_session_request_video_refresh(tech_pvt->session);
|
||||
|
||||
cJSON_AddItemToObject(params, "sdp", cJSON_CreateString(tech_pvt->mparams->local_sdp_str));
|
||||
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "Local attach SDP %s:\n%s\n",
|
||||
switch_channel_get_name(tech_pvt->channel),
|
||||
@@ -2397,6 +2404,18 @@ static switch_status_t messagehook (switch_core_session_t *session, switch_core_
|
||||
|
||||
}
|
||||
break;
|
||||
case SWITCH_MESSAGE_INDICATE_MEDIA_RENEG:
|
||||
{
|
||||
jsock_t *jsock = NULL;
|
||||
|
||||
if ((jsock = get_jsock(tech_pvt->jsock_uuid))) {
|
||||
switch_core_session_stop_media(session);
|
||||
detach_calls(jsock);
|
||||
tech_reattach(tech_pvt, jsock);
|
||||
switch_thread_rwlock_unlock(jsock->rwlock);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case SWITCH_MESSAGE_INDICATE_ANSWER:
|
||||
r = verto_send_media_indication(session, "verto.answer");
|
||||
break;
|
||||
|
||||
Reference in new issue
Block a user