From 8fd4994b0c0772115509473f2f46a0ba5c00cca6 Mon Sep 17 00:00:00 2001 From: Nathan Neulinger Date: Sun, 23 Jun 2013 21:47:58 -0500 Subject: [PATCH] skinny more logging improvements and some refactoring of protocol replies --- .../endpoints/mod_skinny/skinny_protocol.c | 22 +++++++++++++++++++ .../endpoints/mod_skinny/skinny_protocol.h | 7 ++++++ src/mod/endpoints/mod_skinny/skinny_server.c | 17 +++++++------- 3 files changed, 38 insertions(+), 8 deletions(-) diff --git a/src/mod/endpoints/mod_skinny/skinny_protocol.c b/src/mod/endpoints/mod_skinny/skinny_protocol.c index a27bf47535..7fd0f2bbd4 100644 --- a/src/mod/endpoints/mod_skinny/skinny_protocol.c +++ b/src/mod/endpoints/mod_skinny/skinny_protocol.c @@ -500,6 +500,28 @@ switch_status_t perform_send_register_ack(listener_t *listener, return skinny_send_reply_quiet(listener, message); } +switch_status_t perform_send_speed_dial_stat_res(listener_t *listener, + const char *file, const char *func, int line, + uint32_t number, + char *speed_line, + char *speed_label) +{ + skinny_message_t *message; + message = switch_core_alloc(listener->pool, 12+sizeof(message->data.speed_dial_res)); + message->type = SPEED_DIAL_STAT_RES_MESSAGE; + message->length = 4 + sizeof(message->data.speed_dial_res); + + message->data.speed_dial_res.number = number; + strncpy(message->data.speed_dial_res.line, speed_line, 24); + strncpy(message->data.speed_dial_res.label, speed_label, 40); + + skinny_log_l_ffl(listener, file, func, line, SWITCH_LOG_DEBUG, + "Sending Speed Dial Stat Res with Number (%d), Line (%s), Label (%s)\n", + number, speed_line, speed_label); + + return skinny_send_reply_quiet(listener, message); +} + switch_status_t perform_send_start_tone(listener_t *listener, const char *file, const char *func, int line, uint32_t tone, diff --git a/src/mod/endpoints/mod_skinny/skinny_protocol.h b/src/mod/endpoints/mod_skinny/skinny_protocol.h index 8e4b2074ec..16a8767c8e 100644 --- a/src/mod/endpoints/mod_skinny/skinny_protocol.h +++ b/src/mod/endpoints/mod_skinny/skinny_protocol.h @@ -810,6 +810,13 @@ switch_status_t perform_send_register_ack(listener_t *listener, char *reserved2); #define send_register_ack(listener, ...) perform_send_register_ack(listener, __FILE__, __SWITCH_FUNC__, __LINE__, __VA_ARGS__) +switch_status_t perform_send_speed_dial_stat_res(listener_t *listener, + const char *file, const char *func, int line, + uint32_t number, + char *speed_line, + char *speed_label); +#define send_speed_dial_stat_res(listener, ...) perform_send_speed_dial_stat_res(listener, __FILE__, __SWITCH_FUNC__, __LINE__, __VA_ARGS__) + switch_status_t perform_send_start_tone(listener_t *listener, const char *file, const char *func, int line, uint32_t tone, diff --git a/src/mod/endpoints/mod_skinny/skinny_server.c b/src/mod/endpoints/mod_skinny/skinny_server.c index 4112f1ceb3..8904c3cf59 100644 --- a/src/mod/endpoints/mod_skinny/skinny_server.c +++ b/src/mod/endpoints/mod_skinny/skinny_server.c @@ -548,6 +548,10 @@ int skinny_ring_lines_callback(void *pArg, int argc, char **argv, char **columnN helper->lines_count++; switch_channel_set_variable(channel, "effective_callee_id_number", value); switch_channel_set_variable(channel, "effective_callee_id_name", caller_name); + + skinny_log_l(listener, SWITCH_LOG_DEBUG, "Ring Lines Callback with Callee Number (%s), Caller Name (%s), Dest Number (%s)\n", + value, caller_name, helper->tech_pvt->caller_profile->destination_number); + if (helper->remote_session) { switch_core_session_message_t msg = { 0 }; msg.message_id = SWITCH_MESSAGE_INDICATE_DISPLAY; @@ -667,7 +671,10 @@ int skinny_session_answer_callback(void *pArg, int argc, char **argv, char **col && (device_instance == helper->listener->device_instance) && (line_instance == helper->line_instance)) {/* the answering line */ /* nothing */ + skinny_log_l_msg(listener, SWITCH_LOG_DEBUG, "Session Answer Callback - matched helper\n"); } else { + skinny_log_l_msg(listener, SWITCH_LOG_DEBUG, "Session Answer Callback\n"); + send_define_current_time_date(listener); send_set_lamp(listener, SKINNY_BUTTON_LINE, line_instance, SKINNY_LAMP_ON); skinny_line_set_state(listener, line_instance, helper->tech_pvt->call_id, SKINNY_IN_USE_REMOTELY); @@ -1418,21 +1425,15 @@ switch_status_t skinny_handle_forward_stat_req_message(listener_t *listener, ski switch_status_t skinny_handle_speed_dial_stat_request(listener_t *listener, skinny_message_t *request) { - skinny_message_t *message; struct speed_dial_stat_res_message *button = NULL; skinny_check_data_length(request, sizeof(request->data.speed_dial_req)); - message = switch_core_alloc(listener->pool, 12+sizeof(message->data.speed_dial_res)); - message->type = SPEED_DIAL_STAT_RES_MESSAGE; - message->length = 4 + sizeof(message->data.speed_dial_res); + skinny_log_l(listener, SWITCH_LOG_DEBUG, "Handle Speed Dial Stat Request for Number (%d)\n", request->data.speed_dial_req.number); skinny_speed_dial_get(listener, request->data.speed_dial_req.number, &button); - memcpy(&message->data.speed_dial_res, button, sizeof(struct speed_dial_stat_res_message)); - - skinny_log_l_msg(listener, SWITCH_LOG_DEBUG, "Handle Speed Dial Stat Request\n"); - skinny_send_reply_quiet(listener, message); + send_speed_dial_stat_res(listener, request->data.speed_dial_req.number, button->line, button->label); return SWITCH_STATUS_SUCCESS; }