js tweaks
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5387 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
c33dc3eb42
commit
434a4e6315
|
@ -80,7 +80,7 @@ static struct {
|
|||
|
||||
static JSClass global_class = {
|
||||
"Global", JSCLASS_HAS_PRIVATE,
|
||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, DEFAULT_SET_PROPERTY,
|
||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub,
|
||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
|
||||
};
|
||||
|
||||
|
@ -2196,7 +2196,8 @@ static JSBool session_originate(JSContext * cx, JSObject * obj, uintN argc, jsva
|
|||
char *context = "";
|
||||
char *username = NULL;
|
||||
char *to = NULL;
|
||||
|
||||
char *tmp;
|
||||
|
||||
*rval = BOOLEAN_TO_JSVAL(JS_FALSE);
|
||||
|
||||
if (JS_ValueToObject(cx, argv[0], &session_obj)) {
|
||||
|
@ -2223,34 +2224,60 @@ static JSBool session_originate(JSContext * cx, JSObject * obj, uintN argc, jsva
|
|||
}
|
||||
|
||||
if (argc > 2) {
|
||||
dialplan = JS_GetStringBytes(JS_ValueToString(cx, argv[2]));
|
||||
tmp = JS_GetStringBytes(JS_ValueToString(cx, argv[2]));
|
||||
if (!switch_strlen_zero(tmp)) {
|
||||
dialplan = tmp;
|
||||
}
|
||||
}
|
||||
if (argc > 3) {
|
||||
context = JS_GetStringBytes(JS_ValueToString(cx, argv[3]));
|
||||
tmp = JS_GetStringBytes(JS_ValueToString(cx, argv[3]));
|
||||
if (!switch_strlen_zero(tmp)) {
|
||||
context = tmp;
|
||||
}
|
||||
}
|
||||
if (argc > 4) {
|
||||
cid_name = JS_GetStringBytes(JS_ValueToString(cx, argv[4]));
|
||||
tmp = JS_GetStringBytes(JS_ValueToString(cx, argv[4]));
|
||||
if (!switch_strlen_zero(tmp)) {
|
||||
cid_name = tmp;
|
||||
}
|
||||
}
|
||||
if (argc > 5) {
|
||||
cid_num = JS_GetStringBytes(JS_ValueToString(cx, argv[5]));
|
||||
tmp = JS_GetStringBytes(JS_ValueToString(cx, argv[5]));
|
||||
if (!switch_strlen_zero(tmp)) {
|
||||
cid_num = tmp;
|
||||
}
|
||||
}
|
||||
if (argc > 6) {
|
||||
network_addr = JS_GetStringBytes(JS_ValueToString(cx, argv[6]));
|
||||
tmp = JS_GetStringBytes(JS_ValueToString(cx, argv[6]));
|
||||
if (!switch_strlen_zero(tmp)) {
|
||||
network_addr = tmp;
|
||||
}
|
||||
}
|
||||
if (argc > 7) {
|
||||
ani = JS_GetStringBytes(JS_ValueToString(cx, argv[7]));
|
||||
}
|
||||
tmp = JS_GetStringBytes(JS_ValueToString(cx, argv[7]));
|
||||
if (!switch_strlen_zero(tmp)) {
|
||||
ani = tmp;
|
||||
} }
|
||||
if (argc > 8) {
|
||||
aniii = JS_GetStringBytes(JS_ValueToString(cx, argv[8]));
|
||||
}
|
||||
tmp = JS_GetStringBytes(JS_ValueToString(cx, argv[8]));
|
||||
if (!switch_strlen_zero(tmp)) {
|
||||
aniii = tmp;
|
||||
} }
|
||||
if (argc > 9) {
|
||||
rdnis = JS_GetStringBytes(JS_ValueToString(cx, argv[9]));
|
||||
}
|
||||
tmp = JS_GetStringBytes(JS_ValueToString(cx, argv[9]));
|
||||
if (!switch_strlen_zero(tmp)) {
|
||||
rdnis = tmp;
|
||||
} }
|
||||
if (argc > 10) {
|
||||
username = JS_GetStringBytes(JS_ValueToString(cx, argv[10]));
|
||||
}
|
||||
tmp = JS_GetStringBytes(JS_ValueToString(cx, argv[10]));
|
||||
if (!switch_strlen_zero(tmp)) {
|
||||
username = tmp;
|
||||
} }
|
||||
if (argc > 11) {
|
||||
to = JS_GetStringBytes(JS_ValueToString(cx, argv[11]));
|
||||
tmp = JS_GetStringBytes(JS_ValueToString(cx, argv[11]));
|
||||
if (!switch_strlen_zero(tmp)) {
|
||||
to = tmp;
|
||||
}
|
||||
}
|
||||
|
||||
if (switch_core_new_memory_pool(&pool) != SWITCH_STATUS_SUCCESS) {
|
||||
|
@ -2293,16 +2320,16 @@ static void session_destroy(JSContext * cx, JSObject * obj)
|
|||
if (jss->session) {
|
||||
channel = switch_core_session_get_channel(jss->session);
|
||||
switch_channel_set_private(channel, "jss", NULL);
|
||||
}
|
||||
switch_core_event_hook_remove_state_change(jss->session, hanguphook);
|
||||
|
||||
switch_core_event_hook_remove_state_change(jss->session, hanguphook);
|
||||
|
||||
if (channel && switch_test_flag(jss, S_HUP)) {
|
||||
switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING);
|
||||
}
|
||||
if (switch_test_flag(jss, S_HUP)) {
|
||||
switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING);
|
||||
}
|
||||
|
||||
if (switch_test_flag(jss, S_RDLOCK)) {
|
||||
switch_core_session_rwunlock(jss->session);
|
||||
}
|
||||
|
||||
if (jss->session && switch_test_flag(jss, S_RDLOCK)) {
|
||||
switch_core_session_rwunlock(jss->session);
|
||||
}
|
||||
|
||||
if (switch_test_flag(jss, S_FREE)) {
|
||||
|
|
Loading…
Reference in New Issue