uintN argc = 0;
jsval argv[4];
JSObject *Event = NULL;
- jsval nval, *rval = &nval;
+ jsval ret, nval, *rval = &nval;
JSContext *cx = cb_state->cx;
JSObject *obj = cb_state->obj;
-
+
METHOD_SANITY_CHECK();
jss->stack_depth++;
return SWITCH_STATUS_FALSE;
}
- if (check_hangup_hook(jss, NULL) == JS_TRUE) {
+ JS_ResumeRequest(cb_state->cx, cb_state->saveDepth);
+ check_hangup_hook(jss, &ret);
+ cb_state->saveDepth = JS_SuspendRequest(cb_state->cx);
+
+ if (ret == JS_TRUE) {
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);
args.input_callback = dtmf_func;
args.buf = bp;
args.buflen = len;
- if (check_hangup_hook(jss, NULL) != JS_TRUE) {
- return JS_FALSE;
-
- }
+
switch_ivr_record_file(jss->session, &fh, file_name, &args, limit);
- check_hangup_hook(jss, &ret);
JS_ResumeRequest(cx, cb_state.saveDepth);
+ check_hangup_hook(jss, &ret);
*rval = cb_state.ret;
return ret;
args.buf = bp;
args.buflen = len;
- if (check_hangup_hook(jss, NULL) != JS_TRUE) {
- return JS_FALSE;
-
- }
-
switch_ivr_collect_digits_callback(jss->session, &args, to);
- check_hangup_hook(jss, &ret);
JS_ResumeRequest(cx, cb_state.saveDepth);
+ check_hangup_hook(jss, &ret);
*rval = cb_state.ret;
return ret;
args.input_callback = dtmf_func;
args.buf = bp;
args.buflen = len;
- if (check_hangup_hook(jss, NULL) != JS_TRUE) {
- return JS_FALSE;
- }
+
switch_ivr_phrase_macro(jss->session, phrase_name, phrase_data, phrase_lang, &args);
- check_hangup_hook(jss, &ret);
JS_ResumeRequest(cx, cb_state.saveDepth);
+ check_hangup_hook(jss, &ret);
*rval = cb_state.ret;
return ret;
args.input_callback = dtmf_func;
args.buf = bp;
args.buflen = len;
- if (check_hangup_hook(jss, NULL) != JS_TRUE) {
- return JS_FALSE;
- }
switch_ivr_play_file(jss->session, &fh, file_name, &args);
- check_hangup_hook(jss, &ret);
-
JS_ResumeRequest(cx, cb_state.saveDepth);
+ check_hangup_hook(jss, &ret);
*rval = cb_state.ret;
switch_snprintf(posbuf, sizeof(posbuf), "%u", fh.offset_pos);
args.input_callback = dtmf_func;
args.buf = bp;
args.buflen = len;
- if (check_hangup_hook(jss, NULL) != JS_TRUE) {
- return JS_FALSE;
- }
switch_ivr_sleep(jss->session, ms, &args);
- check_hangup_hook(jss, &ret);
JS_ResumeRequest(cx, cb_state.saveDepth);
+ check_hangup_hook(jss, &ret);
*rval = cb_state.ret;
return ret;
args.buflen = len;
switch_core_speech_flush_tts(&jss->speech->sh);
- if (check_hangup_hook(jss, NULL) != JS_TRUE) {
- return JS_FALSE;
- }
switch_ivr_speak_text_handle(jss->session, &jss->speech->sh, &jss->speech->codec, NULL, text, &args);
- check_hangup_hook(jss, &ret);
JS_ResumeRequest(cx, cb_state.saveDepth);
+ check_hangup_hook(jss, &ret);
*rval = cb_state.ret;
return ret;
saveDepth = JS_SuspendRequest(cx);
switch_core_session_exec(jss->session, application_interface, app_arg);
- check_hangup_hook(jss, &ret);
JS_ResumeRequest(cx, saveDepth);
+ check_hangup_hook(jss, &ret);
retval = JS_TRUE;
}
}