mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-11-14 13:28:31 +00:00
[core] SDP: replace SIP lingo in SDP offer/answer.
This commit is contained in:
1 parent
1c05719100
commit
8b7a8c4aea
12 files changed
+103
-101
No files matched your search
@@ -593,7 +593,7 @@ SWITCH_STANDARD_APP(filter_codecs_function)
|
||||
r_sdp = switch_channel_get_variable(channel, SWITCH_R_SDP_VARIABLE);
|
||||
|
||||
if (data && r_sdp) {
|
||||
switch_core_media_merge_sdp_codec_string(session, r_sdp, SDP_TYPE_REQUEST, data);
|
||||
switch_core_media_merge_sdp_codec_string(session, r_sdp, SDP_OFFER, data);
|
||||
switch_channel_set_variable(channel, "filter_codec_string", data);
|
||||
} else {
|
||||
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Incomplete data\n");
|
||||
|
||||
@@ -1429,7 +1429,7 @@ static switch_status_t null_tech_init(null_private_t *tech_pvt, switch_core_sess
|
||||
// switch_core_media_check_video_codecs(session);
|
||||
// switch_core_media_choose_port(session, SWITCH_MEDIA_TYPE_AUDIO, 0);
|
||||
// switch_core_media_choose_port(session, SWITCH_MEDIA_TYPE_VIDEO, 0);
|
||||
// switch_core_media_gen_local_sdp(session, SDP_TYPE_REQUEST, "127.0.0.1", 2000, NULL, 0);
|
||||
// switch_core_media_gen_local_sdp(session, SDP_OFFER, "127.0.0.1", 2000, NULL, 0);
|
||||
// switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "%s\n", mparams.local_sdp_str);
|
||||
}
|
||||
|
||||
|
||||
@@ -790,7 +790,7 @@ static switch_status_t sofia_answer_channel(switch_core_session_t *session)
|
||||
switch_core_media_prepare_codecs(tech_pvt->session, SWITCH_TRUE);
|
||||
tech_pvt->mparams.local_sdp_str = NULL;
|
||||
switch_core_media_choose_port(tech_pvt->session, SWITCH_MEDIA_TYPE_AUDIO, 0);
|
||||
switch_core_media_gen_local_sdp(session, SDP_TYPE_RESPONSE, NULL, 0, NULL, 0);
|
||||
switch_core_media_gen_local_sdp(session, SDP_ANSWER, NULL, 0, NULL, 0);
|
||||
} else if (is_3pcc_proxy) {
|
||||
|
||||
if (!(sofia_test_pflag(tech_pvt->profile, PFLAG_3PCC_PROXY))) {
|
||||
@@ -802,7 +802,7 @@ static switch_status_t sofia_answer_channel(switch_core_session_t *session)
|
||||
} else {
|
||||
switch_core_media_choose_port(tech_pvt->session, SWITCH_MEDIA_TYPE_AUDIO, 0);
|
||||
switch_core_media_prepare_codecs(session, 1);
|
||||
switch_core_media_gen_local_sdp(session, SDP_TYPE_REQUEST, NULL, 0, NULL, 1);
|
||||
switch_core_media_gen_local_sdp(session, SDP_OFFER, NULL, 0, NULL, 1);
|
||||
sofia_set_flag_locked(tech_pvt, TFLAG_3PCC);
|
||||
}
|
||||
|
||||
@@ -889,7 +889,7 @@ static switch_status_t sofia_answer_channel(switch_core_session_t *session)
|
||||
|
||||
switch_core_media_prepare_codecs(tech_pvt->session, SWITCH_TRUE);
|
||||
|
||||
if (zstr(r_sdp) || sofia_media_tech_media(tech_pvt, r_sdp, SDP_TYPE_REQUEST) != SWITCH_STATUS_SUCCESS) {
|
||||
if (zstr(r_sdp) || sofia_media_tech_media(tech_pvt, r_sdp, SDP_OFFER) != SWITCH_STATUS_SUCCESS) {
|
||||
switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "CODEC NEGOTIATION ERROR");
|
||||
//switch_mutex_lock(tech_pvt->sofia_mutex);
|
||||
//nua_respond(tech_pvt->nh, SIP_488_NOT_ACCEPTABLE, TAG_END());
|
||||
@@ -904,7 +904,7 @@ static switch_status_t sofia_answer_channel(switch_core_session_t *session)
|
||||
return status;
|
||||
}
|
||||
|
||||
switch_core_media_gen_local_sdp(session, SDP_TYPE_RESPONSE, NULL, 0, NULL, 0);
|
||||
switch_core_media_gen_local_sdp(session, SDP_ANSWER, NULL, 0, NULL, 0);
|
||||
if (sofia_media_activate_rtp(tech_pvt) != SWITCH_STATUS_SUCCESS) {
|
||||
switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
|
||||
}
|
||||
@@ -1598,7 +1598,7 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi
|
||||
ip = switch_channel_get_variable(channel, SWITCH_REMOTE_MEDIA_IP_VARIABLE);
|
||||
port = switch_channel_get_variable(channel, SWITCH_REMOTE_MEDIA_PORT_VARIABLE);
|
||||
if (ip && port) {
|
||||
switch_core_media_gen_local_sdp(session, SDP_TYPE_REQUEST, ip, (switch_port_t)atoi(port), msg->string_arg, 1);
|
||||
switch_core_media_gen_local_sdp(session, SDP_OFFER, ip, (switch_port_t)atoi(port), msg->string_arg, 1);
|
||||
}
|
||||
|
||||
if (!sofia_test_flag(tech_pvt, TFLAG_BYE)) {
|
||||
@@ -1783,7 +1783,7 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi
|
||||
if (switch_channel_direction(tech_pvt->channel) == SWITCH_CALL_DIRECTION_INBOUND) {
|
||||
|
||||
switch_core_media_prepare_codecs(tech_pvt->session, SWITCH_TRUE);
|
||||
if (sofia_media_tech_media(tech_pvt, r_sdp, SDP_TYPE_REQUEST) != SWITCH_STATUS_SUCCESS) {
|
||||
if (sofia_media_tech_media(tech_pvt, r_sdp, SDP_OFFER) != SWITCH_STATUS_SUCCESS) {
|
||||
switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "CODEC NEGOTIATION ERROR");
|
||||
status = SWITCH_STATUS_FALSE;
|
||||
goto end_lock;
|
||||
@@ -1793,7 +1793,7 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi
|
||||
}
|
||||
|
||||
|
||||
switch_core_media_set_sdp_codec_string(tech_pvt->session, r_sdp, SDP_TYPE_RESPONSE);
|
||||
switch_core_media_set_sdp_codec_string(tech_pvt->session, r_sdp, SDP_ANSWER);
|
||||
switch_channel_set_variable(tech_pvt->channel, "absolute_codec_string", switch_channel_get_variable(tech_pvt->channel, "ep_codec_string"));
|
||||
switch_core_media_prepare_codecs(tech_pvt->session, SWITCH_TRUE);
|
||||
|
||||
@@ -1802,7 +1802,7 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi
|
||||
goto end_lock;
|
||||
}
|
||||
|
||||
switch_core_media_gen_local_sdp(session, SDP_TYPE_REQUEST, NULL, 0, NULL, 1);
|
||||
switch_core_media_gen_local_sdp(session, SDP_OFFER, NULL, 0, NULL, 1);
|
||||
|
||||
if (!msg->numeric_arg) {
|
||||
if (send_invite) {
|
||||
@@ -2256,7 +2256,7 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi
|
||||
switch_channel_clear_flag(tech_pvt->channel, CF_AWAITING_STREAM_CHANGE);
|
||||
|
||||
switch_core_session_local_crypto_key(tech_pvt->session, SWITCH_MEDIA_TYPE_AUDIO);
|
||||
switch_core_media_gen_local_sdp(session, SDP_TYPE_RESPONSE, NULL, 0, NULL, 0);
|
||||
switch_core_media_gen_local_sdp(session, SDP_ANSWER, NULL, 0, NULL, 0);
|
||||
|
||||
if (sofia_use_soa(tech_pvt)) {
|
||||
nua_respond(tech_pvt->nh, SIP_200_OK,
|
||||
@@ -2584,7 +2584,7 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi
|
||||
|
||||
|
||||
switch_core_media_prepare_codecs(tech_pvt->session, SWITCH_TRUE);
|
||||
if (zstr(r_sdp) || sofia_media_tech_media(tech_pvt, r_sdp, SDP_TYPE_REQUEST) != SWITCH_STATUS_SUCCESS) {
|
||||
if (zstr(r_sdp) || sofia_media_tech_media(tech_pvt, r_sdp, SDP_OFFER) != SWITCH_STATUS_SUCCESS) {
|
||||
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_WARNING,
|
||||
"CODEC NEGOTIATION ERROR. SDP:\n%s\n", r_sdp ? r_sdp : "NO SDP!");
|
||||
switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "CODEC NEGOTIATION ERROR");
|
||||
@@ -2599,7 +2599,7 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi
|
||||
switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
|
||||
goto end_lock;
|
||||
}
|
||||
switch_core_media_gen_local_sdp(session, SDP_TYPE_RESPONSE, NULL, 0, NULL, 0);
|
||||
switch_core_media_gen_local_sdp(session, SDP_ANSWER, NULL, 0, NULL, 0);
|
||||
if (sofia_media_activate_rtp(tech_pvt) != SWITCH_STATUS_SUCCESS) {
|
||||
switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
|
||||
}
|
||||
|
||||
@@ -6683,7 +6683,7 @@ static void sofia_handle_sip_r_invite(switch_core_session_t *session, int status
|
||||
tech_pvt->mparams.last_sdp_response = NULL;
|
||||
|
||||
if (sip->sip_payload && sip->sip_payload->pl_data) {
|
||||
switch_core_media_set_sdp_codec_string(session, sip->sip_payload->pl_data, SDP_TYPE_RESPONSE);
|
||||
switch_core_media_set_sdp_codec_string(session, sip->sip_payload->pl_data, SDP_ANSWER);
|
||||
|
||||
if (!zstr(tech_pvt->mparams.prev_sdp_response) && !strcmp(tech_pvt->mparams.prev_sdp_response, sip->sip_payload->pl_data)) {
|
||||
tech_pvt->mparams.last_sdp_response = tech_pvt->mparams.prev_sdp_response;
|
||||
@@ -7506,9 +7506,9 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
||||
switch_channel_mark_pre_answered(channel);
|
||||
}
|
||||
//if ((sofia_test_flag(tech_pvt, TFLAG_LATE_NEGOTIATION) || switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND)) {
|
||||
// switch_core_media_set_sdp_codec_string(session, r_sdp, status < 200 ? SDP_TYPE_REQUEST : SDP_TYPE_RESPONSE);
|
||||
// switch_core_media_set_sdp_codec_string(session, r_sdp, status < 200 ? SDP_OFFER : SDP_ANSWER);
|
||||
//}
|
||||
switch_core_media_set_sdp_codec_string(session, r_sdp, SDP_TYPE_REQUEST);
|
||||
switch_core_media_set_sdp_codec_string(session, r_sdp, SDP_OFFER);
|
||||
sofia_glue_pass_sdp(tech_pvt, (char *) r_sdp);
|
||||
sofia_set_flag(tech_pvt, TFLAG_NEW_SDP);
|
||||
|
||||
@@ -7680,7 +7680,7 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
||||
}
|
||||
|
||||
} else {
|
||||
if (sofia_media_tech_media(tech_pvt, (char *) r_sdp, SDP_TYPE_REQUEST) != SWITCH_STATUS_SUCCESS) {
|
||||
if (sofia_media_tech_media(tech_pvt, (char *) r_sdp, SDP_OFFER) != SWITCH_STATUS_SUCCESS) {
|
||||
switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "CODEC NEGOTIATION ERROR");
|
||||
nua_respond(nh, SIP_488_NOT_ACCEPTABLE,
|
||||
TAG_IF(!zstr(session_id_header), SIPTAG_HEADER_STR(session_id_header)),TAG_END());
|
||||
@@ -7776,7 +7776,7 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
||||
switch_core_media_prepare_codecs(tech_pvt->session, SWITCH_FALSE);
|
||||
|
||||
if (tech_pvt->mparams.num_codecs) {
|
||||
match = sofia_media_negotiate_sdp(session, r_sdp, SDP_TYPE_REQUEST);
|
||||
match = sofia_media_negotiate_sdp(session, r_sdp, SDP_OFFER);
|
||||
}
|
||||
|
||||
if (!match) {
|
||||
@@ -7785,7 +7785,7 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
||||
TAG_IF(!zstr(session_id_header), SIPTAG_HEADER_STR(session_id_header)),TAG_END());
|
||||
}
|
||||
} else {
|
||||
switch_core_media_gen_local_sdp(session, SDP_TYPE_RESPONSE, NULL, 0, NULL, 0);
|
||||
switch_core_media_gen_local_sdp(session, SDP_ANSWER, NULL, 0, NULL, 0);
|
||||
switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "RECEIVED");
|
||||
sofia_set_flag_locked(tech_pvt, TFLAG_READY);
|
||||
|
||||
@@ -7909,7 +7909,7 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
||||
uint8_t match = 0;
|
||||
|
||||
if (tech_pvt->mparams.num_codecs) {
|
||||
match = sofia_media_negotiate_sdp(session, r_sdp, SDP_TYPE_REQUEST);
|
||||
match = sofia_media_negotiate_sdp(session, r_sdp, SDP_OFFER);
|
||||
}
|
||||
|
||||
if (!match) {
|
||||
@@ -7995,7 +7995,7 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
||||
switch_core_media_choose_port(tech_pvt->session, SWITCH_MEDIA_TYPE_AUDIO, 0);
|
||||
switch_core_media_prepare_codecs(session, 1);
|
||||
switch_channel_set_state(channel, CS_HIBERNATE);
|
||||
switch_core_media_gen_local_sdp(session, SDP_TYPE_REQUEST, NULL, 0, NULL, 0);
|
||||
switch_core_media_gen_local_sdp(session, SDP_OFFER, NULL, 0, NULL, 0);
|
||||
sofia_set_flag_locked(tech_pvt, TFLAG_3PCC);
|
||||
|
||||
if (sofia_use_soa(tech_pvt)) {
|
||||
@@ -8067,10 +8067,10 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
||||
switch_channel_set_flag(channel, CF_NOSDP_REINVITE);
|
||||
|
||||
if (switch_channel_var_true(channel, "sip_unhold_nosdp")) {
|
||||
switch_core_media_gen_local_sdp(session, SDP_TYPE_RESPONSE, NULL, 0, "sendrecv",
|
||||
switch_core_media_gen_local_sdp(session, SDP_ANSWER, NULL, 0, "sendrecv",
|
||||
zstr(tech_pvt->mparams.local_sdp_str) || !switch_channel_test_flag(channel, CF_PROXY_MODE));
|
||||
} else {
|
||||
switch_core_media_gen_local_sdp(session, SDP_TYPE_RESPONSE, NULL, 0, NULL,
|
||||
switch_core_media_gen_local_sdp(session, SDP_ANSWER, NULL, 0, NULL,
|
||||
zstr(tech_pvt->mparams.local_sdp_str) || !switch_channel_test_flag(channel, CF_PROXY_MODE));
|
||||
}
|
||||
|
||||
@@ -8116,13 +8116,13 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
||||
sofia_set_flag(tech_pvt, TFLAG_SDP);
|
||||
|
||||
|
||||
match = sofia_media_negotiate_sdp(session, r_sdp, SDP_TYPE_RESPONSE);
|
||||
match = sofia_media_negotiate_sdp(session, r_sdp, SDP_ANSWER);
|
||||
if (match) {
|
||||
if (switch_core_media_choose_port(tech_pvt->session, SWITCH_MEDIA_TYPE_AUDIO, 0) != SWITCH_STATUS_SUCCESS) {
|
||||
goto done;
|
||||
}
|
||||
|
||||
switch_core_media_gen_local_sdp(session, SDP_TYPE_RESPONSE, NULL, 0, NULL, 0);
|
||||
switch_core_media_gen_local_sdp(session, SDP_ANSWER, NULL, 0, NULL, 0);
|
||||
|
||||
if (sofia_media_activate_rtp(tech_pvt) != SWITCH_STATUS_SUCCESS) {
|
||||
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Early Media RTP Error!\n");
|
||||
@@ -8191,7 +8191,7 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
||||
|
||||
|
||||
switch_core_media_prepare_codecs(tech_pvt->session, SWITCH_TRUE);
|
||||
if (sofia_media_tech_media(tech_pvt, r_sdp, SDP_TYPE_REQUEST) != SWITCH_STATUS_SUCCESS) {
|
||||
if (sofia_media_tech_media(tech_pvt, r_sdp, SDP_OFFER) != SWITCH_STATUS_SUCCESS) {
|
||||
switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "CODEC NEGOTIATION ERROR");
|
||||
switch_core_session_rwunlock(other_session);
|
||||
switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
|
||||
@@ -8210,7 +8210,7 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
||||
}
|
||||
}
|
||||
|
||||
switch_core_media_gen_local_sdp(session, SDP_TYPE_RESPONSE, NULL, 0, NULL, 1);
|
||||
switch_core_media_gen_local_sdp(session, SDP_ANSWER, NULL, 0, NULL, 1);
|
||||
|
||||
if (sofia_use_soa(tech_pvt)) {
|
||||
nua_respond(tech_pvt->nh, SIP_200_OK,
|
||||
@@ -8320,7 +8320,7 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
||||
switch_channel_set_flag(tech_pvt->channel, CF_REINVITE);
|
||||
|
||||
if (tech_pvt->mparams.num_codecs){
|
||||
match = sofia_media_negotiate_sdp(session, r_sdp, SDP_TYPE_REQUEST);
|
||||
match = sofia_media_negotiate_sdp(session, r_sdp, SDP_OFFER);
|
||||
}
|
||||
|
||||
if (!match) {
|
||||
@@ -8369,7 +8369,7 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
||||
|
||||
|
||||
|
||||
switch_core_media_gen_local_sdp(session, SDP_TYPE_RESPONSE, NULL, 0, NULL, 0);
|
||||
switch_core_media_gen_local_sdp(session, SDP_ANSWER, NULL, 0, NULL, 0);
|
||||
if (sofia_use_soa(tech_pvt)){
|
||||
nua_respond(tech_pvt->nh, SIP_200_OK,
|
||||
SIPTAG_CONTACT_STR(tech_pvt->reply_contact),
|
||||
@@ -8419,7 +8419,7 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
||||
switch_channel_set_flag(tech_pvt->channel, CF_REINVITE);
|
||||
|
||||
if (tech_pvt->mparams.num_codecs) {
|
||||
match = sofia_media_negotiate_sdp(session, r_sdp, SDP_TYPE_REQUEST);
|
||||
match = sofia_media_negotiate_sdp(session, r_sdp, SDP_OFFER);
|
||||
}
|
||||
|
||||
|
||||
@@ -8438,7 +8438,7 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
||||
goto done;
|
||||
}
|
||||
|
||||
switch_core_media_gen_local_sdp(session, SDP_TYPE_RESPONSE, NULL, 0, NULL, 0);
|
||||
switch_core_media_gen_local_sdp(session, SDP_ANSWER, NULL, 0, NULL, 0);
|
||||
|
||||
if (sofia_media_activate_rtp(tech_pvt) != SWITCH_STATUS_SUCCESS) {
|
||||
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Reinvite RTP Error!\n");
|
||||
@@ -8462,7 +8462,7 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
||||
if (is_ok) {
|
||||
|
||||
if (switch_core_session_local_crypto_key(tech_pvt->session, SWITCH_MEDIA_TYPE_AUDIO)) {
|
||||
switch_core_media_gen_local_sdp(session, SDP_TYPE_RESPONSE, NULL, 0, NULL, 0);
|
||||
switch_core_media_gen_local_sdp(session, SDP_ANSWER, NULL, 0, NULL, 0);
|
||||
}
|
||||
|
||||
if (!switch_channel_test_flag(tech_pvt->channel, CF_AWAITING_STREAM_CHANGE)) {
|
||||
@@ -8507,13 +8507,13 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
||||
|
||||
|
||||
if (tech_pvt->mparams.num_codecs) {
|
||||
match = sofia_media_negotiate_sdp(session, r_sdp, SDP_TYPE_RESPONSE);
|
||||
match = sofia_media_negotiate_sdp(session, r_sdp, SDP_ANSWER);
|
||||
}
|
||||
if (match) {
|
||||
if (switch_core_media_choose_port(tech_pvt->session, SWITCH_MEDIA_TYPE_AUDIO, 0) != SWITCH_STATUS_SUCCESS) {
|
||||
goto done;
|
||||
}
|
||||
switch_core_media_gen_local_sdp(session, SDP_TYPE_RESPONSE, NULL, 0, NULL, 0);
|
||||
switch_core_media_gen_local_sdp(session, SDP_ANSWER, NULL, 0, NULL, 0);
|
||||
|
||||
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Processing updated SDP\n");
|
||||
switch_channel_set_flag(tech_pvt->channel, CF_REINVITE);
|
||||
@@ -8571,9 +8571,9 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
||||
|
||||
if (tech_pvt->mparams.num_codecs) {
|
||||
if (sofia_test_flag(tech_pvt, TFLAG_GOT_ACK)) {
|
||||
match = sofia_media_negotiate_sdp(session, r_sdp, SDP_TYPE_REQUEST);
|
||||
match = sofia_media_negotiate_sdp(session, r_sdp, SDP_OFFER);
|
||||
} else {
|
||||
match = sofia_media_negotiate_sdp(session, r_sdp, SDP_TYPE_RESPONSE);
|
||||
match = sofia_media_negotiate_sdp(session, r_sdp, SDP_ANSWER);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8668,7 +8668,7 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
|
||||
uint8_t match = 0;
|
||||
|
||||
|
||||
match = sofia_media_negotiate_sdp(session, r_sdp, SDP_TYPE_RESPONSE);
|
||||
match = sofia_media_negotiate_sdp(session, r_sdp, SDP_ANSWER);
|
||||
|
||||
|
||||
sofia_set_flag_locked(tech_pvt, TFLAG_ANS);
|
||||
@@ -10466,7 +10466,7 @@ void sofia_handle_sip_i_invite(switch_core_session_t *session, nua_t *nua, sofia
|
||||
|
||||
|
||||
if (r_sdp) {
|
||||
switch_core_media_set_sdp_codec_string(session, r_sdp, SDP_TYPE_REQUEST);
|
||||
switch_core_media_set_sdp_codec_string(session, r_sdp, SDP_OFFER);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1158,7 +1158,7 @@ switch_status_t sofia_glue_do_invite(switch_core_session_t *session)
|
||||
}
|
||||
|
||||
if (!switch_channel_get_private(tech_pvt->channel, "t38_options") || zstr(tech_pvt->mparams.local_sdp_str)) {
|
||||
switch_core_media_gen_local_sdp(session, SDP_TYPE_REQUEST, NULL, 0, NULL, 0);
|
||||
switch_core_media_gen_local_sdp(session, SDP_OFFER, NULL, 0, NULL, 0);
|
||||
}
|
||||
|
||||
sofia_set_flag_locked(tech_pvt, TFLAG_READY);
|
||||
|
||||
@@ -1320,7 +1320,7 @@ static void tech_reattach(verto_pvt_t *tech_pvt, jsock_t *jsock)
|
||||
switch_channel_set_flag(tech_pvt->channel, CF_REATTACHED);
|
||||
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_REQUEST, NULL, 0, NULL, 0);
|
||||
switch_core_media_gen_local_sdp(tech_pvt->session, SDP_OFFER, 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);
|
||||
@@ -2405,7 +2405,7 @@ static switch_status_t verto_connect(switch_core_session_t *session, const char
|
||||
}
|
||||
}
|
||||
|
||||
switch_core_media_gen_local_sdp(session, SDP_TYPE_REQUEST, NULL, 0, NULL, 0);
|
||||
switch_core_media_gen_local_sdp(session, SDP_OFFER, NULL, 0, NULL, 0);
|
||||
}
|
||||
|
||||
msg = jrpc_new_req(method, tech_pvt->call_id, ¶ms);
|
||||
@@ -2641,7 +2641,7 @@ static switch_status_t verto_media(switch_core_session_t *session)
|
||||
switch_core_media_prepare_codecs(tech_pvt->session, SWITCH_TRUE);
|
||||
|
||||
if (tech_pvt->r_sdp) {
|
||||
if (verto_tech_media(tech_pvt, tech_pvt->r_sdp, SDP_TYPE_REQUEST) != SWITCH_STATUS_SUCCESS) {
|
||||
if (verto_tech_media(tech_pvt, tech_pvt->r_sdp, SDP_OFFER) != SWITCH_STATUS_SUCCESS) {
|
||||
switch_channel_set_variable(tech_pvt->channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "CODEC NEGOTIATION ERROR");
|
||||
return SWITCH_STATUS_FALSE;
|
||||
}
|
||||
@@ -2653,7 +2653,7 @@ static switch_status_t verto_media(switch_core_session_t *session)
|
||||
return status;
|
||||
}
|
||||
|
||||
switch_core_media_gen_local_sdp(session, SDP_TYPE_RESPONSE, NULL, 0, NULL, 0);
|
||||
switch_core_media_gen_local_sdp(session, SDP_ANSWER, NULL, 0, NULL, 0);
|
||||
|
||||
if (switch_core_media_activate_rtp(tech_pvt->session) != SWITCH_STATUS_SUCCESS) {
|
||||
switch_channel_hangup(tech_pvt->channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
|
||||
@@ -2963,7 +2963,7 @@ static switch_bool_t verto__answer_func(const char *method, cJSON *params, jsock
|
||||
switch_channel_set_variable(tech_pvt->channel, SWITCH_R_SDP_VARIABLE, sdp);
|
||||
switch_channel_set_variable(tech_pvt->channel, "verto_client_address", jsock->name);
|
||||
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Remote SDP %s:\n%s\n", switch_channel_get_name(tech_pvt->channel), sdp);
|
||||
switch_core_media_set_sdp_codec_string(session, sdp, SDP_TYPE_RESPONSE);
|
||||
switch_core_media_set_sdp_codec_string(session, sdp, SDP_ANSWER);
|
||||
|
||||
if (!switch_channel_var_true(switch_core_session_get_channel(session),"verto_skip_set_user")) {
|
||||
switch_ivr_set_user(session, jsock->uid);
|
||||
@@ -2978,7 +2978,7 @@ static switch_bool_t verto__answer_func(const char *method, cJSON *params, jsock
|
||||
if (switch_channel_test_flag(tech_pvt->channel, CF_PROXY_MODE)) {
|
||||
pass_sdp(tech_pvt);
|
||||
} else {
|
||||
if (verto_tech_media(tech_pvt, tech_pvt->r_sdp, SDP_TYPE_RESPONSE) != SWITCH_STATUS_SUCCESS) {
|
||||
if (verto_tech_media(tech_pvt, tech_pvt->r_sdp, SDP_ANSWER) != SWITCH_STATUS_SUCCESS) {
|
||||
switch_channel_set_variable(tech_pvt->channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "CODEC NEGOTIATION ERROR");
|
||||
cJSON_AddItemToObject(obj, "message", cJSON_CreateString("CODEC ERROR"));
|
||||
err = 1;
|
||||
@@ -3448,8 +3448,8 @@ static switch_bool_t verto__modify_func(const char *method, cJSON *params, jsock
|
||||
//switch_channel_set_flag(tech_pvt->channel, CF_VIDEO_BREAK);
|
||||
//switch_core_session_kill_channel(tech_pvt->session, SWITCH_SIG_BREAK);
|
||||
|
||||
if (switch_core_media_negotiate_sdp(tech_pvt->session, tech_pvt->r_sdp, &p, SDP_TYPE_REQUEST)) {
|
||||
switch_core_media_gen_local_sdp(session, SDP_TYPE_RESPONSE, NULL, 0, NULL, 0);
|
||||
if (switch_core_media_negotiate_sdp(tech_pvt->session, tech_pvt->r_sdp, &p, SDP_OFFER)) {
|
||||
switch_core_media_gen_local_sdp(session, SDP_ANSWER, NULL, 0, NULL, 0);
|
||||
|
||||
if (switch_core_media_activate_rtp(tech_pvt->session) != SWITCH_STATUS_SUCCESS) {
|
||||
switch_channel_set_variable(tech_pvt->channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "MEDIA ERROR");
|
||||
@@ -3606,8 +3606,8 @@ static switch_bool_t verto__attach_func(const char *method, cJSON *params, jsock
|
||||
//switch_channel_set_flag(tech_pvt->channel, CF_VIDEO_BREAK);
|
||||
//switch_core_session_kill_channel(tech_pvt->session, SWITCH_SIG_BREAK);
|
||||
|
||||
if (switch_core_media_negotiate_sdp(tech_pvt->session, tech_pvt->r_sdp, &p, SDP_TYPE_RESPONSE)) {
|
||||
//switch_core_media_gen_local_sdp(session, SDP_TYPE_RESPONSE, NULL, 0, NULL, 0);
|
||||
if (switch_core_media_negotiate_sdp(tech_pvt->session, tech_pvt->r_sdp, &p, SDP_ANSWER)) {
|
||||
//switch_core_media_gen_local_sdp(session, SDP_ANSWER, NULL, 0, NULL, 0);
|
||||
|
||||
if (switch_core_media_activate_rtp(tech_pvt->session) != SWITCH_STATUS_SUCCESS) {
|
||||
switch_channel_set_variable(tech_pvt->channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "MEDIA ERROR");
|
||||
@@ -4020,7 +4020,7 @@ static switch_bool_t verto__invite_func(const char *method, cJSON *params, jsock
|
||||
tech_pvt->channel = channel;
|
||||
tech_pvt->jsock_uuid = switch_core_session_strdup(session, jsock->uuid_str);
|
||||
tech_pvt->r_sdp = switch_core_session_strdup(session, sdp);
|
||||
switch_core_media_set_sdp_codec_string(session, sdp, SDP_TYPE_REQUEST);
|
||||
switch_core_media_set_sdp_codec_string(session, sdp, SDP_OFFER);
|
||||
switch_core_session_set_private_class(session, tech_pvt, SWITCH_PVT_SECONDARY);
|
||||
|
||||
tech_pvt->call_id = switch_core_session_strdup(session, call_id);
|
||||
|
||||
@@ -45055,8 +45055,8 @@ public class switch_scheduler_task : global::System.IDisposable {
|
||||
namespace FreeSWITCH.Native {
|
||||
|
||||
public enum switch_sdp_type_t {
|
||||
SDP_TYPE_REQUEST,
|
||||
SDP_TYPE_RESPONSE
|
||||
SDP_OFFER,
|
||||
SDP_ANSWER
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user