}
- if (!payloads[1].id) {
+ if (!payloads[1].id && tech_pvt->transports[LDL_TPORT_VIDEO_RTP].local_port) {
switch_rtp_release_port(tech_pvt->profile->ip, tech_pvt->transports[LDL_TPORT_VIDEO_RTP].local_port);
tech_pvt->transports[LDL_TPORT_VIDEO_RTP].local_port = 0;
}
} else if (val && !strcasecmp(val, "md5")) {
profile->user_flags |= LDL_FLAG_SASL_MD5;
}
- } else if (!strcasecmp(var, "use-jingle") && !zstr(val)) {
+ } else if (!strcasecmp(var, "use-jingle") && switch_true(val)) {
profile->user_flags |= LDL_FLAG_JINGLE;
} else if (!strcasecmp(var, "exten") && !zstr(val)) {
profile->exten = switch_core_strdup(module_pool, val);
switch_status_t status = SWITCH_STATUS_FALSE;
int even = switch_test_flag(alloc, SPF_EVEN);
int odd = switch_test_flag(alloc, SPF_ODD);
- int index = port - alloc->start;
+ int index;
+
+ if (port < alloc->start) {
+ return SWITCH_STATUS_GENERR;
+ }
+
+ index = port - alloc->start;
if (!(even && odd)) {
index /= 2;