snprintf(alert_info, sizeof(alert_info) - 1, "Alert-Info: %s", alertbuf);
}
- tech_choose_port(tech_pvt);
+ if (tech_choose_port(tech_pvt) != SWITCH_STATUS_SUCCESS) {
+ return;
+ }
+
set_local_sdp(tech_pvt, NULL, 0, NULL, 0);
switch_set_flag_locked(tech_pvt, TFLAG_READY);
{
private_object_t *tech_pvt;
switch_channel_t *channel = NULL;
-
+ switch_status_t status;
+
assert(session != NULL);
channel = switch_core_session_get_channel(session);
switch_set_flag_locked(tech_pvt, TFLAG_ANS);
- tech_choose_port(tech_pvt);
+ if ((status = tech_choose_port(tech_pvt)) != SWITCH_STATUS_SUCCESS) {
+ return status;
+ }
+
set_local_sdp(tech_pvt, NULL, 0, NULL, 0);
activate_rtp(tech_pvt);
{
switch_channel_t *channel;
private_object_t *tech_pvt;
-
+ switch_status_t status;
+
channel = switch_core_session_get_channel(session);
assert(channel != NULL);
tech_pvt->local_sdp_str = NULL;
if (!switch_rtp_ready(tech_pvt->rtp_session)) {
tech_set_codecs(tech_pvt);
- tech_choose_port(tech_pvt);
+ if ((status=tech_choose_port(tech_pvt)) != SWITCH_STATUS_SUCCESS) {
+ return status;
+ }
}
set_local_sdp(tech_pvt, NULL, 0, NULL, 1);
do_invite(session);
}
/* Transmit 183 Progress with SDP */
- tech_choose_port(tech_pvt);
+ if ((status=tech_choose_port(tech_pvt)) != SWITCH_STATUS_SUCCESS) {
+ return status;
+ }
set_local_sdp(tech_pvt, NULL, 0, NULL, 0);
activate_rtp(tech_pvt);
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Ring SDP:\n%s\n", tech_pvt->local_sdp_str);
}
if (match) {
- tech_choose_port(tech_pvt);
+ if (tech_choose_port(tech_pvt) != SWITCH_STATUS_SUCCESS) {
+ goto done;
+ }
activate_rtp(tech_pvt);
switch_channel_set_variable(channel, "endpoint_disposition", "EARLY MEDIA");
switch_set_flag_locked(tech_pvt, TFLAG_EARLY_MEDIA);
}
}
if (match) {
- tech_choose_port(tech_pvt);
+ if (tech_choose_port(tech_pvt) != SWITCH_STATUS_SUCCESS) {
+ goto done;
+ }
set_local_sdp(tech_pvt, NULL, 0, NULL, 0);
switch_set_flag_locked(tech_pvt, TFLAG_REINVITE);
activate_rtp(tech_pvt);
switch_set_flag_locked(tech_pvt, TFLAG_REINVITE);
tech_pvt->nh = tech_pvt->nh2;
tech_pvt->nh2 = NULL;
- tech_choose_port(tech_pvt);
- activate_rtp(tech_pvt);
+ if (tech_choose_port(tech_pvt) == SWITCH_STATUS_SUCCESS) {
+ activate_rtp(tech_pvt);
+ }
goto done;
}
if (match) {
switch_set_flag_locked(tech_pvt, TFLAG_ANS);
switch_channel_set_variable(channel, "endpoint_disposition", "ANSWER");
- tech_choose_port(tech_pvt);
- activate_rtp(tech_pvt);
- switch_channel_mark_answered(channel);
- goto done;
+ if (tech_choose_port(tech_pvt) == SWITCH_STATUS_SUCCESS) {
+ activate_rtp(tech_pvt);
+ switch_channel_mark_answered(channel);
+ goto done;
+ }
}
switch_channel_set_variable(channel, "endpoint_disposition", "NO CODECS");