[commit] r8652 - freeswitch/trunk/src/mod/languages/mod_spidermonkey
Author: mikej Date: Sun May 25 20:18:57 2008 New Revision: 8652 Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c Log: merge MODLANG-61 Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c (original) +++ freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c Sun May 25 20:18:57 2008 @@ -2174,8 +2174,15 @@ CHANNEL_SANITY_CHECK(); if (argc > 1) { - cause_name = JS_GetStringBytes(JS_ValueToString(cx, argv[0])); - cause = switch_channel_str2cause(cause_name); + if(JSVAL_IS_INT(argv[0])) { + int32 i = 0; + JS_ValueToInt32(cx, argv[0], &i); + cause = i; + } + else { + cause_name = JS_GetStringBytes(JS_ValueToString(cx, argv[0])); + cause = switch_channel_str2cause(cause_name); + } } switch_channel_hangup(channel, cause); @@ -2424,7 +2431,7 @@ enum session_tinyid { SESSION_NAME, SESSION_STATE, PROFILE_DIALPLAN, PROFILE_CID_NAME, PROFILE_CID_NUM, PROFILE_IP, PROFILE_ANI, PROFILE_ANI_II, PROFILE_DEST, - SESSION_UUID, SESSION_CAUSE + SESSION_UUID, SESSION_CAUSE, SESSION_CAUSECODE }; static JSFunctionSpec session_methods[] = { @@ -2469,6 +2476,7 @@ {"destination", PROFILE_DEST, JSPROP_READONLY | JSPROP_PERMANENT}, {"uuid", SESSION_UUID, JSPROP_READONLY | JSPROP_PERMANENT}, {"cause", SESSION_CAUSE, JSPROP_READONLY | JSPROP_PERMANENT}, + {"causecode", SESSION_CAUSECODE, JSPROP_READONLY | JSPROP_PERMANENT}, {0} }; @@ -2501,6 +2509,11 @@ *vp = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, switch_channel_cause2str(jss->cause))); } break; + case SESSION_CAUSECODE: + if (jss) { + *vp = INT_TO_JSVAL(jss->cause); + } + break; default: *vp = BOOLEAN_TO_JSVAL(JS_FALSE); } @@ -2511,6 +2524,9 @@ case SESSION_CAUSE: *vp = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, switch_channel_cause2str(switch_channel_get_cause(channel)))); break; + case SESSION_CAUSECODE: + *vp = INT_TO_JSVAL(switch_channel_get_cause(channel)); + break; case SESSION_NAME: *vp = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, switch_channel_get_name(channel))); break;
participants (1)
-
Freeswitch SVN