Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c (15837 => 15838)
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c 2009-12-07 22:10:38 UTC (rev 15837)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c 2009-12-08 00:05:40 UTC (rev 15838)
@@ -3291,6 +3291,10 @@
ptime = maxptime;
}
+ if (!ptime) {
+ ptime = 20;
+ }
+
for (i = first; i < last && i < tech_pvt->num_codecs; i++) {
const switch_codec_implementation_t *imp = tech_pvt->codecs[i];
uint32_t codec_rate = imp->samples_per_second;
Modified: freeswitch/trunk/src/switch_ivr_originate.c (15837 => 15838)
--- freeswitch/trunk/src/switch_ivr_originate.c 2009-12-07 22:10:38 UTC (rev 15837)
+++ freeswitch/trunk/src/switch_ivr_originate.c 2009-12-08 00:05:40 UTC (rev 15838)
@@ -1566,6 +1566,7 @@
int local_clobber = 0;
const char *cancel_key = NULL;
const char *holding = NULL;
+ const char *soft_holding = NULL;
const char *export_vars = NULL;
@@ -2638,7 +2639,7 @@
notready:
if (caller_channel) {
- const char *soft_holding = switch_channel_get_variable(caller_channel, SWITCH_SOFT_HOLDING_UUID_VARIABLE);
+ soft_holding = switch_channel_get_variable(caller_channel, SWITCH_SOFT_HOLDING_UUID_VARIABLE);
holding = switch_channel_get_variable(caller_channel, SWITCH_HOLDING_UUID_VARIABLE);
switch_channel_set_variable(caller_channel, SWITCH_HOLDING_UUID_VARIABLE, NULL);
@@ -2757,7 +2758,7 @@
switch_core_session_rwunlock(peer_session);
}
force_reason = SWITCH_CAUSE_ATTENDED_TRANSFER;
- } else {
+ } else if (zstr(soft_holding)) {
if (peer_channel && switch_channel_ready(peer_channel)) {
switch_core_session_t *holding_session;
@@ -2845,9 +2846,12 @@
}
}
+
+
if (oglobals.idx > IDX_NADA) {
- peer_session = originate_status[oglobals.idx].peer_session;
- peer_channel = originate_status[oglobals.idx].peer_channel;
+ if ((peer_session = originate_status[oglobals.idx].peer_session)) {
+ peer_channel = switch_core_session_get_channel(originate_status[oglobals.idx].peer_session);
+ }
} else {
status = SWITCH_STATUS_FALSE;
if (caller_channel && peer_channel) {