onwards and upwards

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@907 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2006-03-23 19:22:06 +00:00
parent 7fd222ee53
commit d49044b6a4
2 changed files with 22 additions and 12 deletions

View File

@ -421,8 +421,7 @@ static switch_status wanpipe_outgoing_channel(switch_core_session *session, swit
switch_channel *channel; switch_channel *channel;
switch_core_session_add_stream(*new_session, NULL); switch_core_session_add_stream(*new_session, NULL);
if ((tech_pvt = if ((tech_pvt = (struct private_object *) switch_core_session_alloc(*new_session, sizeof(struct private_object)))) {
(struct private_object *) switch_core_session_alloc(*new_session, sizeof(struct private_object)))) {
memset(tech_pvt, 0, sizeof(*tech_pvt)); memset(tech_pvt, 0, sizeof(*tech_pvt));
channel = switch_core_session_get_channel(*new_session); channel = switch_core_session_get_channel(*new_session);
switch_core_session_set_private(*new_session, tech_pvt); switch_core_session_set_private(*new_session, tech_pvt);
@ -449,7 +448,13 @@ static switch_status wanpipe_outgoing_channel(switch_core_session *session, swit
if ((p = strchr(num, '/'))) { if ((p = strchr(num, '/'))) {
*p++ = '\0'; *p++ = '\0';
if (*num != 'a') { if (*num != 'a') {
span = atoi(num); if (num && *num > 47 && *num < 58) {
span = atoi(num);
} else {
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Invlid Syntax\n");
switch_core_session_destroy(new_session);
return SWITCH_STATUS_GENERR;
}
} else { } else {
span = 1; span = 1;
autospan = 1; autospan = 1;
@ -461,10 +466,18 @@ static switch_status wanpipe_outgoing_channel(switch_core_session *session, swit
autochan = 1; autochan = 1;
} else if (*num == 'A') { } else if (*num == 'A') {
autochan = -1; autochan = -1;
} else { } else if (num && *num > 47 && *num < 58) {
channo = atoi(num); channo = atoi(num);
} else {
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Invlid Syntax\n");
switch_core_session_destroy(new_session);
return SWITCH_STATUS_GENERR;
} }
caller_profile->destination_number = p; caller_profile->destination_number = p;
} else {
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Invlid Syntax\n");
switch_core_session_destroy(new_session);
return SWITCH_STATUS_GENERR;
} }
} }
} }
@ -1168,7 +1181,7 @@ static void *pri_thread_run(switch_thread *thread, void *obj)
SANGOMA_MAP_PRI_EVENT((*spri), SANGOMA_PRI_EVENT_ANY, on_anything); SANGOMA_MAP_PRI_EVENT((*spri), SANGOMA_PRI_EVENT_ANY, on_anything);
SANGOMA_MAP_PRI_EVENT((*spri), SANGOMA_PRI_EVENT_RING, on_ring); SANGOMA_MAP_PRI_EVENT((*spri), SANGOMA_PRI_EVENT_RING, on_ring);
//SANGOMA_MAP_PRI_EVENT((*spri), SANGOMA_PRI_EVENT_RINGING, on_ringing); //SANGOMA_MAP_PRI_EVENT((*spri), SANGOMA_PRI_EVENT_RINGING, on_ringing);
//SANGOMA_MAP_PRI_EVENT((*spri), SANGOMA_PRI_EVENT_SETUP_ACK, on_ringing); //SANGOMA_MAP_PRI_EVENT((*spri), SANGOMA_PRI_EVENT_SETUP_ACK, on_proceed);
SANGOMA_MAP_PRI_EVENT((*spri), SANGOMA_PRI_EVENT_PROCEEDING, on_proceed); SANGOMA_MAP_PRI_EVENT((*spri), SANGOMA_PRI_EVENT_PROCEEDING, on_proceed);
SANGOMA_MAP_PRI_EVENT((*spri), SANGOMA_PRI_EVENT_ANSWER, on_answer); SANGOMA_MAP_PRI_EVENT((*spri), SANGOMA_PRI_EVENT_ANSWER, on_answer);
SANGOMA_MAP_PRI_EVENT((*spri), SANGOMA_PRI_EVENT_HANGUP_REQ, on_hangup); SANGOMA_MAP_PRI_EVENT((*spri), SANGOMA_PRI_EVENT_HANGUP_REQ, on_hangup);

View File

@ -977,6 +977,7 @@ static JSBool session_construct(JSContext *cx, JSObject *obj, uintN argc, jsval
char *ani = ""; char *ani = "";
char *ani2 = ""; char *ani2 = "";
*rval = BOOLEAN_TO_JSVAL( JS_FALSE );
if (JS_ValueToObject(cx, argv[0], &session_obj)) { if (JS_ValueToObject(cx, argv[0], &session_obj)) {
struct js_session *old_jss = NULL; struct js_session *old_jss = NULL;
@ -1022,7 +1023,6 @@ static JSBool session_construct(JSContext *cx, JSObject *obj, uintN argc, jsval
JS_SetPrivate(cx, obj, jss); JS_SetPrivate(cx, obj, jss);
switch_core_session_thread_launch(peer_session); switch_core_session_thread_launch(peer_session);
switch_set_flag(jss, S_HUP); switch_set_flag(jss, S_HUP);
return JS_TRUE; return JS_TRUE;
} else { } else {
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Cannot Create Channel\n"); switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Cannot Create Channel\n");
@ -1031,10 +1031,7 @@ static JSBool session_construct(JSContext *cx, JSObject *obj, uintN argc, jsval
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Missing Args\n"); switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Missing Args\n");
} }
if (pool) { return JS_TRUE;
switch_core_destroy_memory_pool(&pool);
}
return JS_FALSE;
} }
static void session_destroy(JSContext *cx, JSObject *obj) static void session_destroy(JSContext *cx, JSObject *obj)