struct channel_on_routing_helper helper = {0};
if(switch_test_flag(tech_pvt, TFLAG_FORCE_ROUTE)) {
- action = SKINNY_ACTION_ROUTE;
+ action = SKINNY_ACTION_PROCESS;
} else {
action = skinny_session_dest_match_pattern(session, &data);
}
switch(action) {
- case SKINNY_ACTION_ROUTE:
+ case SKINNY_ACTION_PROCESS:
skinny_profile_find_listener_by_device_name_and_instance(tech_pvt->profile,
switch_channel_get_variable(channel, "skinny_device_name"),
atoi(switch_channel_get_variable(channel, "skinny_device_instance")), &listener);
typedef struct skinny_device_type_params skinny_device_type_params_t;
typedef enum {
- SKINNY_ACTION_ROUTE,
+ SKINNY_ACTION_PROCESS,
SKINNY_ACTION_DROP,
SKINNY_ACTION_WAIT
} skinny_action_t;
struct private_object {
unsigned int flags;
+ switch_mutex_t *flag_mutex;
switch_frame_t read_frame;
unsigned char databuf[SWITCH_RECOMMENDED_BUFFER_SIZE];
switch_core_session_t *session;
switch_caller_profile_t *caller_profile;
switch_mutex_t *mutex;
- switch_mutex_t *flag_mutex;
/* identification */
skinny_profile_t *profile;
extension->current_application = extension->current_application->next;
- if (!strcmp(current_application->application_name, "skinny-route")) {
- action = SKINNY_ACTION_ROUTE;
+ if (!strcmp(current_application->application_name, "skinny-route") || !strcmp(current_application->application_name, "skinny-process")) {
+ action = SKINNY_ACTION_PROCESS;
} else if (!strcmp(current_application->application_name, "skinny-drop")) {
action = SKINNY_ACTION_DROP;
} else if (!strcmp(current_application->application_name, "skinny-wait")) {