switch_assert(session);
- if (!(smh = session->media_handle)) {
+ if (!(smh = session->media_handle) || !mimp) {
return SWITCH_STATUS_FALSE;
}
if (!switch_true(mirror) &&
switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND &&
(!switch_channel_test_flag(session->channel, CF_REINVITE) || switch_media_handle_test_media_flag(smh, SCMF_RENEG_ON_REINVITE))) {
- switch_core_media_get_offered_pt(session, mimp, &a_engine->cur_payload_map->recv_pt);
+ switch_core_media_get_offered_pt(session, matches[0].imp, &a_engine->cur_payload_map->recv_pt);
}
switch_snprintf(tmp, sizeof(tmp), "%d", a_engine->cur_payload_map->recv_pt);
pmap->recv_pt = (switch_payload_t)map->rm_pt;
- if (!switch_true(mirror) && switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND) {
+ if (j == 0 && (!switch_true(mirror) && switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND)) {
switch_core_media_get_offered_pt(session, mimp, &pmap->recv_pt);
}
}