jsval ret;
JSContext *cx;
JSObject *obj;
+ jsrefcount saveDepth;
void *extra;
};
argv[argc++] = cb_state->arg;
}
+ JS_ResumeRequest(cb_state->cx, cb_state->saveDepth);
JS_CallFunction(cb_state->cx, cb_state->obj, cb_state->function, argc, argv, &cb_state->ret);
+ cb_state->saveDepth = JS_SuspendRequest(cb_state->cx);
return SWITCH_STATUS_SUCCESS;
}
cb_state.extra = &fh;
cb_state.ret = BOOLEAN_TO_JSVAL( JS_FALSE );
+ cb_state.saveDepth = JS_SuspendRequest(cx);
switch_ivr_record_file(jss->session, &fh, file_name, dtmf_func, bp, len, limit);
+ JS_ResumeRequest(cx, cb_state.saveDepth);
*rval = cb_state.ret;
return (switch_channel_ready(channel)) ? JS_TRUE : JS_FALSE;
JS_ValueToInt32(jss->cx, argv[2], &to);
}
+ cb_state.saveDepth = JS_SuspendRequest(cx);
switch_ivr_collect_digits_callback(jss->session, dtmf_func, bp, len, to);
+ JS_ResumeRequest(cx, cb_state.saveDepth);
+
*rval = cb_state.ret;
return (switch_channel_ready(channel)) ? JS_TRUE : JS_FALSE;
cb_state.extra = &fh;
cb_state.ret = BOOLEAN_TO_JSVAL( JS_FALSE );
+ cb_state.saveDepth = JS_SuspendRequest(cx);
switch_ivr_play_file(jss->session, &fh, file_name, timer_name, dtmf_func, bp, len);
+ JS_ResumeRequest(cx, cb_state.saveDepth);
*rval = cb_state.ret;
return (switch_channel_ready(channel)) ? JS_TRUE : JS_FALSE;
codec = switch_core_session_get_read_codec(jss->session);
cb_state.ret = BOOLEAN_TO_JSVAL( JS_FALSE );
+ cb_state.saveDepth = JS_SuspendRequest(cx);
switch_ivr_speak_text(jss->session,
tts_name,
voice_name && strlen(voice_name) ? voice_name : NULL,
text,
bp,
len);
-
+ JS_ResumeRequest(cx, cb_state.saveDepth);
*rval = cb_state.ret;
return (switch_channel_ready(channel)) ? JS_TRUE : JS_FALSE;
char *app_name = JS_GetStringBytes(JS_ValueToString(cx, argv[0]));
char *app_arg = JS_GetStringBytes(JS_ValueToString(cx, argv[1]));
struct js_session *jss = JS_GetPrivate(cx, obj);
- //jsrefcount saveDepth;
+ jsrefcount saveDepth;
if ((application_interface = switch_loadable_module_get_application_interface(app_name))) {
if (application_interface->application_function) {
- //saveDepth = JS_SuspendRequest(cx);
+ saveDepth = JS_SuspendRequest(cx);
application_interface->application_function(jss->session, app_arg);
- //JS_ResumeRequest(cx, saveDepth);
+ JS_ResumeRequest(cx, saveDepth);
retval = JS_TRUE;
}
}
}
}
+ cb_state.saveDepth = JS_SuspendRequest(cx);
switch_ivr_multi_threaded_bridge(jss_a->session, jss_b->session, dtmf_func, bp, bp);
+ JS_ResumeRequest(cx, cb_state.saveDepth);
+
return JS_TRUE;
}