Project "FreeSWITCH Source" received a push.

branch: master updated

       via: d86388dbf7ce78ad26b754bd7e8cb38178cc7b2d (commit)
      from: f217ec48a449eb41f17cd9de421856ca893c15f2 (commit)


= COMMIT LOG ===========================================================
committer: Mathieu Parent
comments: 
Skinny: noop ForwardStatReq and ForwardStat implementation

diff --git a/src/mod/endpoints/mod_skinny/skinny_protocol.h b/src/mod/endpoints/mod_skinny/skinny_protocol.h
index 1a26558..5741be0 100644
--- a/src/mod/endpoints/mod_skinny/skinny_protocol.h
+++ b/src/mod/endpoints/mod_skinny/skinny_protocol.h
@@ -97,6 +97,12 @@ struct PACKED on_hook_message {
     uint32_t call_id;
 };
 
+/* ForwardStatReqMessage */
+#define FORWARD_STAT_REQ_MESSAGE 0x0009
+struct PACKED forward_stat_req_message {
+    uint32_t line_instance;
+};
+
 /* SpeedDialStatReqMessage */
 #define SPEED_DIAL_STAT_REQ_MESSAGE 0x000A
 struct PACKED speed_dial_stat_req_message {
@@ -328,6 +334,19 @@ struct PACKED call_info_message {
     uint32_t party_pi_restriction_bits;
 };
 
+/* ForwardStatMessage */
+#define FORWARD_STAT_MESSAGE 0x0090
+struct PACKED forward_stat_message {
+    uint32_t active_forward;
+    uint32_t line_instance;
+    uint32_t forward_all_active;
+    char forward_all_number[24];
+    uint32_t forward_busy_active;
+    char forward_busy_number[24];
+    uint32_t forward_noanswer_active;
+    char forward_noanswer_number[24];
+};
+
 /* SpeedDialStatMessage */
 #define SPEED_DIAL_STAT_RES_MESSAGE 0x0091
 struct PACKED speed_dial_stat_res_message {
@@ -566,76 +585,78 @@ struct PACKED service_url_stat_res_message {
 
 union skinny_data {
 	/* no data for KEEP_ALIVE_MESSAGE */
-    struct register_message reg;
-    struct port_message port;
-    struct keypad_button_message keypad_button;
-    struct enbloc_call_message enbloc_call;
-    struct stimulus_message stimulus;
-    struct off_hook_message off_hook;
-    struct on_hook_message on_hook;
-    struct speed_dial_stat_req_message speed_dial_req;
-    struct line_stat_req_message line_req;
-    /* no data for CONFIG_STAT_REQ_MESSAGE */
-    /* no data for TIME_DATE_REQ_MESSAGE */
-    /* no data for BUTTON_TEMPLATE_REQ_MESSAGE */
-    /* no data for VERSION_REQ_MESSAGE */
-    struct capabilities_res_message cap_res;
-    struct alarm_message alarm;
-    struct open_receive_channel_ack_message open_receive_channel_ack;
-    /* no data for SOFT_KEY_SET_REQ_MESSAGE */
-    struct soft_key_event_message soft_key_event;
-    /* no data for UNREGISTER_MESSAGE */
-    /* no data for SOFT_KEY_TEMPLATE_REQ_MESSAGE */
-    struct headset_status_message headset_status;
-    struct register_available_lines_message reg_lines;
-    /* see field "data" for DEVICE_TO_USER_DATA_MESSAGE */
-    /* see field "data" for DEVICE_TO_USER_DATA_RESPONSE_MESSAGE */
-    struct service_url_stat_req_message service_url_req;
-    struct feature_stat_req_message feature_req;
-    /* see field "extended_data" for DEVICE_TO_USER_DATA_VERSION1_MESSAGE */
-    /* see field "extended_data" for DEVICE_TO_USER_DATA_RESPONSE_VERSION1_MESSAGE */
-    struct register_ack_message reg_ack;
-    struct start_tone_message start_tone;
-    struct stop_tone_message stop_tone;
-    struct set_ringer_message ringer;
-    struct set_lamp_message lamp;
-    struct set_speaker_mode_message speaker_mode;
-    struct start_media_transmission_message start_media;
-    struct stop_media_transmission_message stop_media;
-    struct call_info_message call_info;
-    struct speed_dial_stat_res_message speed_dial_res;
-    struct line_stat_res_message line_res;
-    struct config_stat_res_message config_res;
-    struct define_time_date_message define_time_date;
-    struct button_template_message button_template;
-    struct version_message version;
-    /* no data for CAPABILITIES_REQ_MESSAGE */
-    struct register_reject_message reg_rej;
-    struct reset_message reset;
-    /* no data for KEEP_ALIVE_ACK_MESSAGE */
-    struct open_receive_channel_message open_receive_channel;
-    struct close_receive_channel_message close_receive_channel;
-    struct soft_key_template_res_message soft_key_template;
-    struct soft_key_set_res_message soft_key_set;
-    struct select_soft_keys_message select_soft_keys;
-    struct call_state_message call_state;
-    struct display_prompt_status_message display_prompt_status;
-    struct clear_prompt_status_message clear_prompt_status;
-    struct activate_call_plane_message activate_call_plane;
-    struct unregister_ack_message unregister_ack;
-    struct back_space_req_message back_space_req;
-    struct dialed_number_message dialed_number;
-    /* see field "data" for USER_TO_DEVICE_DATA_MESSAGE */
-    struct feature_stat_res_message feature_res;
-    struct display_pri_notify_message display_pri_notify;
-    struct service_url_stat_res_message service_url_res;
-    /* see field "extended_data" for USER_TO_DEVICE_DATA_VERSION1_MESSAGE */
+	struct register_message reg;
+	struct port_message port;
+	struct keypad_button_message keypad_button;
+	struct enbloc_call_message enbloc_call;
+	struct stimulus_message stimulus;
+	struct off_hook_message off_hook;
+	struct on_hook_message on_hook;
+	struct forward_stat_req_message forward_stat_req;
+	struct speed_dial_stat_req_message speed_dial_req;
+	struct line_stat_req_message line_req;
+	/* no data for CONFIG_STAT_REQ_MESSAGE */
+	/* no data for TIME_DATE_REQ_MESSAGE */
+	/* no data for BUTTON_TEMPLATE_REQ_MESSAGE */
+	/* no data for VERSION_REQ_MESSAGE */
+	struct capabilities_res_message cap_res;
+	struct alarm_message alarm;
+	struct open_receive_channel_ack_message open_receive_channel_ack;
+	/* no data for SOFT_KEY_SET_REQ_MESSAGE */
+	struct soft_key_event_message soft_key_event;
+	/* no data for UNREGISTER_MESSAGE */
+	/* no data for SOFT_KEY_TEMPLATE_REQ_MESSAGE */
+	struct headset_status_message headset_status;
+	struct register_available_lines_message reg_lines;
+	/* see field "data" for DEVICE_TO_USER_DATA_MESSAGE */
+	/* see field "data" for DEVICE_TO_USER_DATA_RESPONSE_MESSAGE */
+	struct service_url_stat_req_message service_url_req;
+	struct feature_stat_req_message feature_req;
+	/* see field "extended_data" for DEVICE_TO_USER_DATA_VERSION1_MESSAGE */
+	/* see field "extended_data" for DEVICE_TO_USER_DATA_RESPONSE_VERSION1_MESSAGE */
+	struct register_ack_message reg_ack;
+	struct start_tone_message start_tone;
+	struct stop_tone_message stop_tone;
+	struct set_ringer_message ringer;
+	struct set_lamp_message lamp;
+	struct set_speaker_mode_message speaker_mode;
+	struct start_media_transmission_message start_media;
+	struct stop_media_transmission_message stop_media;
+	struct call_info_message call_info;
+	struct forward_stat_message forward_stat;
+	struct speed_dial_stat_res_message speed_dial_res;
+	struct line_stat_res_message line_res;
+	struct config_stat_res_message config_res;
+	struct define_time_date_message define_time_date;
+	struct button_template_message button_template;
+	struct version_message version;
+	/* no data for CAPABILITIES_REQ_MESSAGE */
+	struct register_reject_message reg_rej;
+	struct reset_message reset;
+	/* no data for KEEP_ALIVE_ACK_MESSAGE */
+	struct open_receive_channel_message open_receive_channel;
+	struct close_receive_channel_message close_receive_channel;
+	struct soft_key_template_res_message soft_key_template;
+	struct soft_key_set_res_message soft_key_set;
+	struct select_soft_keys_message select_soft_keys;
+	struct call_state_message call_state;
+	struct display_prompt_status_message display_prompt_status;
+	struct clear_prompt_status_message clear_prompt_status;
+	struct activate_call_plane_message activate_call_plane;
+	struct unregister_ack_message unregister_ack;
+	struct back_space_req_message back_space_req;
+	struct dialed_number_message dialed_number;
+	/* see field "data" for USER_TO_DEVICE_DATA_MESSAGE */
+	struct feature_stat_res_message feature_res;
+	struct display_pri_notify_message display_pri_notify;
+	struct service_url_stat_res_message service_url_res;
+	/* see field "extended_data" for USER_TO_DEVICE_DATA_VERSION1_MESSAGE */
 
 	struct data_message data;
 	struct extended_data_message extended_data;
 
-    uint16_t as_uint16;
-    char as_char[1];
+	uint16_t as_uint16;
+	char as_char[1];
 };
 
 /*
diff --git a/src/mod/endpoints/mod_skinny/skinny_server.c b/src/mod/endpoints/mod_skinny/skinny_server.c
index 0aafb98..dac75fa 100644
--- a/src/mod/endpoints/mod_skinny/skinny_server.c
+++ b/src/mod/endpoints/mod_skinny/skinny_server.c
@@ -1329,6 +1329,22 @@ switch_status_t skinny_handle_on_hook_message(listener_t *listener, skinny_messa
 
 	return status;
 }
+switch_status_t skinny_handle_forward_stat_req_message(listener_t *listener, skinny_message_t *request)
+{
+	skinny_message_t *message;
+
+	skinny_check_data_length(request, sizeof(request->data.forward_stat_req));
+
+	message = switch_core_alloc(listener->pool, 12+sizeof(message->data.forward_stat));
+	message->type = FORWARD_STAT_MESSAGE;
+	message->length = 4 + sizeof(message->data.forward_stat);
+
+	message->data.forward_stat.line_instance = request->data.forward_stat_req.line_instance;
+
+	skinny_send_reply(listener, message);
+
+	return SWITCH_STATUS_SUCCESS;
+}
 
 switch_status_t skinny_handle_speed_dial_stat_request(listener_t *listener, skinny_message_t *request)
 {
@@ -2046,6 +2062,8 @@ switch_status_t skinny_handle_request(listener_t *listener, skinny_message_t *re
 			return skinny_handle_off_hook_message(listener, request);
 		case ON_HOOK_MESSAGE:
 			return skinny_handle_on_hook_message(listener, request);
+		case FORWARD_STAT_REQ_MESSAGE:
+			return skinny_handle_forward_stat_req_message(listener, request);
 		case SPEED_DIAL_STAT_REQ_MESSAGE:
 			return skinny_handle_speed_dial_stat_request(listener, request);
 		case LINE_STAT_REQ_MESSAGE:
diff --git a/src/mod/endpoints/mod_skinny/skinny_tables.c b/src/mod/endpoints/mod_skinny/skinny_tables.c
index 4488b75..e8e5656 100644
--- a/src/mod/endpoints/mod_skinny/skinny_tables.c
+++ b/src/mod/endpoints/mod_skinny/skinny_tables.c
@@ -35,73 +35,75 @@
 
 /* Translation tables */
 struct skinny_table SKINNY_MESSAGE_TYPES[] = {
-    {"KeepAliveMessage", KEEP_ALIVE_MESSAGE},
-    {"RegisterMessage", REGISTER_MESSAGE},
-    {"PortMessage", PORT_MESSAGE},
-    {"KeypadButtonMessage", KEYPAD_BUTTON_MESSAGE},
-    {"EnblocCallMessage", ENBLOC_CALL_MESSAGE},
-    {"StimulusMessage", STIMULUS_MESSAGE},
-    {"OffHookMessage", OFF_HOOK_MESSAGE},
-    {"OnHookMessage", ON_HOOK_MESSAGE},
-    {"SpeedDialStatReqMessage", SPEED_DIAL_STAT_REQ_MESSAGE},
-    {"LineStatReqMessage", LINE_STAT_REQ_MESSAGE},
-    {"ConfigStatReqMessage", CONFIG_STAT_REQ_MESSAGE},
-    {"TimeDateReqMessage", TIME_DATE_REQ_MESSAGE},
-    {"ButtonTemplateReqMessage", BUTTON_TEMPLATE_REQ_MESSAGE},
-    {"VersionReqMessage", VERSION_REQ_MESSAGE},
-    {"CapabilitiesReqMessage", CAPABILITIES_RES_MESSAGE},
-    {"AlarmMessage", ALARM_MESSAGE},
-    {"OpenReceiveChannelAckMessage", OPEN_RECEIVE_CHANNEL_ACK_MESSAGE},
-    {"SoftKeySetReqMessage", SOFT_KEY_SET_REQ_MESSAGE},
-    {"SoftKeyEventMessage", SOFT_KEY_EVENT_MESSAGE},
-    {"UnregisterMessage", UNREGISTER_MESSAGE},
-    {"SoftKeyTemplateReqMessage", SOFT_KEY_TEMPLATE_REQ_MESSAGE},
-    {"HeadsetStatusMessage", HEADSET_STATUS_MESSAGE},
-    {"RegisterAvailableLinesMessage", REGISTER_AVAILABLE_LINES_MESSAGE},
-    {"DeviceToUserDataMessage", DEVICE_TO_USER_DATA_MESSAGE},
-    {"DeviceToUserDataResponseMessage", DEVICE_TO_USER_DATA_RESPONSE_MESSAGE},
-    {"ServiceUrlStatReqMessage", SERVICE_URL_STAT_REQ_MESSAGE},
-    {"FeatureStatReqMessage", FEATURE_STAT_REQ_MESSAGE},
-    {"DeviceToUserDataVersion1Message", DEVICE_TO_USER_DATA_VERSION1_MESSAGE},
-    {"DeviceToUserDataResponseVersion1Message", DEVICE_TO_USER_DATA_RESPONSE_VERSION1_MESSAGE},
-    {"RegisterAckMessage", REGISTER_ACK_MESSAGE},
-    {"StartToneMessage", START_TONE_MESSAGE},
-    {"StopToneMessage", STOP_TONE_MESSAGE},
-    {"SetRingerMessage", SET_RINGER_MESSAGE},
-    {"SetLampMessage", SET_LAMP_MESSAGE},
-    {"SetSpeakerModeMessage", SET_SPEAKER_MODE_MESSAGE},
-    {"StartMediaTransmissionMessage", START_MEDIA_TRANSMISSION_MESSAGE},
-    {"StopMediaTransmissionMessage", STOP_MEDIA_TRANSMISSION_MESSAGE},
-    {"CallInfoMessage", CALL_INFO_MESSAGE},
-    {"SpeedDialStatResMessage", SPEED_DIAL_STAT_RES_MESSAGE},
-    {"LineStatResMessage", LINE_STAT_RES_MESSAGE},
-    {"ConfigStatResMessage", CONFIG_STAT_RES_MESSAGE},
-    {"DefineTimeDateMessage", DEFINE_TIME_DATE_MESSAGE},
-    {"ButtonTemplateResMessage", BUTTON_TEMPLATE_RES_MESSAGE},
-    {"VersionMessage", VERSION_MESSAGE},
-    {"CapabilitiesReqMessage", CAPABILITIES_REQ_MESSAGE},
-    {"RegisterRejectMessage", REGISTER_REJECT_MESSAGE},
-    {"ResetMessage", RESET_MESSAGE},
-    {"KeepAliveAckMessage", KEEP_ALIVE_ACK_MESSAGE},
-    {"OpenReceiveChannelMessage", OPEN_RECEIVE_CHANNEL_MESSAGE},
-    {"CloseReceiveChannelMessage", CLOSE_RECEIVE_CHANNEL_MESSAGE},
-    {"SoftKeyTemplateResMessage", SOFT_KEY_TEMPLATE_RES_MESSAGE},
-    {"SoftKeySetResMessage", SOFT_KEY_SET_RES_MESSAGE},
-    {"SelectSoftKeysMessage", SELECT_SOFT_KEYS_MESSAGE},
-    {"CallStateMessage", CALL_STATE_MESSAGE},
-    {"DisplayPromptStatusMessage", DISPLAY_PROMPT_STATUS_MESSAGE},
-    {"ClearPromptStatusMessage", CLEAR_PROMPT_STATUS_MESSAGE},
-    {"ActivateCallPlaneMessage", ACTIVATE_CALL_PLANE_MESSAGE},
-    {"UnregisterAckMessage", UNREGISTER_ACK_MESSAGE},
-    {"BackSpaceReqMessage", BACK_SPACE_REQ_MESSAGE},
-    {"DialedNumberMessage", DIALED_NUMBER_MESSAGE},
-    {"UserToDeviceDataMessage", USER_TO_DEVICE_DATA_MESSAGE},
-    {"FeatureResMessage", FEATURE_STAT_RES_MESSAGE},
-    {"DisplayPriNotifyMessage", DISPLAY_PRI_NOTIFY_MESSAGE},
-    {"ServiceUrlStatMessage", SERVICE_URL_STAT_RES_MESSAGE},
-    {"UserToDeviceDataVersion1Message", USER_TO_DEVICE_DATA_VERSION1_MESSAGE},
-    {"XMLAlarmMessage", XML_ALARM_MESSAGE},
-    {NULL, 0}
+	{"KeepAliveMessage", KEEP_ALIVE_MESSAGE},
+	{"RegisterMessage", REGISTER_MESSAGE},
+	{"PortMessage", PORT_MESSAGE},
+	{"KeypadButtonMessage", KEYPAD_BUTTON_MESSAGE},
+	{"EnblocCallMessage", ENBLOC_CALL_MESSAGE},
+	{"StimulusMessage", STIMULUS_MESSAGE},
+	{"OffHookMessage", OFF_HOOK_MESSAGE},
+	{"OnHookMessage", ON_HOOK_MESSAGE},
+	{"ForwardStatReqMessage",  FORWARD_STAT_REQ_MESSAGE},
+	{"SpeedDialStatReqMessage", SPEED_DIAL_STAT_REQ_MESSAGE},
+	{"LineStatReqMessage", LINE_STAT_REQ_MESSAGE},
+	{"ConfigStatReqMessage", CONFIG_STAT_REQ_MESSAGE},
+	{"TimeDateReqMessage", TIME_DATE_REQ_MESSAGE},
+	{"ButtonTemplateReqMessage", BUTTON_TEMPLATE_REQ_MESSAGE},
+	{"VersionReqMessage", VERSION_REQ_MESSAGE},
+	{"CapabilitiesReqMessage", CAPABILITIES_RES_MESSAGE},
+	{"AlarmMessage", ALARM_MESSAGE},
+	{"OpenReceiveChannelAckMessage", OPEN_RECEIVE_CHANNEL_ACK_MESSAGE},
+	{"SoftKeySetReqMessage", SOFT_KEY_SET_REQ_MESSAGE},
+	{"SoftKeyEventMessage", SOFT_KEY_EVENT_MESSAGE},
+	{"UnregisterMessage", UNREGISTER_MESSAGE},
+	{"SoftKeyTemplateReqMessage", SOFT_KEY_TEMPLATE_REQ_MESSAGE},
+	{"HeadsetStatusMessage", HEADSET_STATUS_MESSAGE},
+	{"RegisterAvailableLinesMessage", REGISTER_AVAILABLE_LINES_MESSAGE},
+	{"DeviceToUserDataMessage", DEVICE_TO_USER_DATA_MESSAGE},
+	{"DeviceToUserDataResponseMessage", DEVICE_TO_USER_DATA_RESPONSE_MESSAGE},
+	{"ServiceUrlStatReqMessage", SERVICE_URL_STAT_REQ_MESSAGE},
+	{"FeatureStatReqMessage", FEATURE_STAT_REQ_MESSAGE},
+	{"DeviceToUserDataVersion1Message", DEVICE_TO_USER_DATA_VERSION1_MESSAGE},
+	{"DeviceToUserDataResponseVersion1Message", DEVICE_TO_USER_DATA_RESPONSE_VERSION1_MESSAGE},
+	{"RegisterAckMessage", REGISTER_ACK_MESSAGE},
+	{"StartToneMessage", START_TONE_MESSAGE},
+	{"StopToneMessage", STOP_TONE_MESSAGE},
+	{"SetRingerMessage", SET_RINGER_MESSAGE},
+	{"SetLampMessage", SET_LAMP_MESSAGE},
+	{"SetSpeakerModeMessage", SET_SPEAKER_MODE_MESSAGE},
+	{"StartMediaTransmissionMessage", START_MEDIA_TRANSMISSION_MESSAGE},
+	{"StopMediaTransmissionMessage", STOP_MEDIA_TRANSMISSION_MESSAGE},
+	{"CallInfoMessage", CALL_INFO_MESSAGE},
+	{"ForwardStatMessage", FORWARD_STAT_MESSAGE},
+	{"SpeedDialStatResMessage", SPEED_DIAL_STAT_RES_MESSAGE},
+	{"LineStatResMessage", LINE_STAT_RES_MESSAGE},
+	{"ConfigStatResMessage", CONFIG_STAT_RES_MESSAGE},
+	{"DefineTimeDateMessage", DEFINE_TIME_DATE_MESSAGE},
+	{"ButtonTemplateResMessage", BUTTON_TEMPLATE_RES_MESSAGE},
+	{"VersionMessage", VERSION_MESSAGE},
+	{"CapabilitiesReqMessage", CAPABILITIES_REQ_MESSAGE},
+	{"RegisterRejectMessage", REGISTER_REJECT_MESSAGE},
+	{"ResetMessage", RESET_MESSAGE},
+	{"KeepAliveAckMessage", KEEP_ALIVE_ACK_MESSAGE},
+	{"OpenReceiveChannelMessage", OPEN_RECEIVE_CHANNEL_MESSAGE},
+	{"CloseReceiveChannelMessage", CLOSE_RECEIVE_CHANNEL_MESSAGE},
+	{"SoftKeyTemplateResMessage", SOFT_KEY_TEMPLATE_RES_MESSAGE},
+	{"SoftKeySetResMessage", SOFT_KEY_SET_RES_MESSAGE},
+	{"SelectSoftKeysMessage", SELECT_SOFT_KEYS_MESSAGE},
+	{"CallStateMessage", CALL_STATE_MESSAGE},
+	{"DisplayPromptStatusMessage", DISPLAY_PROMPT_STATUS_MESSAGE},
+	{"ClearPromptStatusMessage", CLEAR_PROMPT_STATUS_MESSAGE},
+	{"ActivateCallPlaneMessage", ACTIVATE_CALL_PLANE_MESSAGE},
+	{"UnregisterAckMessage", UNREGISTER_ACK_MESSAGE},
+	{"BackSpaceReqMessage", BACK_SPACE_REQ_MESSAGE},
+	{"DialedNumberMessage", DIALED_NUMBER_MESSAGE},
+	{"UserToDeviceDataMessage", USER_TO_DEVICE_DATA_MESSAGE},
+	{"FeatureResMessage", FEATURE_STAT_RES_MESSAGE},
+	{"DisplayPriNotifyMessage", DISPLAY_PRI_NOTIFY_MESSAGE},
+	{"ServiceUrlStatMessage", SERVICE_URL_STAT_RES_MESSAGE},
+	{"UserToDeviceDataVersion1Message", USER_TO_DEVICE_DATA_VERSION1_MESSAGE},
+	{"XMLAlarmMessage", XML_ALARM_MESSAGE},
+	{NULL, 0}
 };
 SKINNY_DECLARE_ID2STR(skinny_message_type2str, SKINNY_MESSAGE_TYPES, "UnknownMessage")
 SKINNY_DECLARE_STR2ID(skinny_str2message_type, SKINNY_MESSAGE_TYPES, -1)
diff --git a/src/mod/endpoints/mod_skinny/skinny_tables.h b/src/mod/endpoints/mod_skinny/skinny_tables.h
index e1144a9..00ddf0c 100644
--- a/src/mod/endpoints/mod_skinny/skinny_tables.h
+++ b/src/mod/endpoints/mod_skinny/skinny_tables.h
@@ -87,7 +87,7 @@ uint32_t func(const char *str)\
     }
 
 
-extern struct skinny_table SKINNY_MESSAGE_TYPES[67];
+extern struct skinny_table SKINNY_MESSAGE_TYPES[69];
 const char *skinny_message_type2str(uint32_t id);
 uint32_t skinny_str2message_type(const char *str);
 #define SKINNY_PUSH_MESSAGE_TYPES SKINNY_DECLARE_PUSH_MATCH(SKINNY_MESSAGE_TYPES)
========================================================================

Summary of changes:
 src/mod/endpoints/mod_skinny/skinny_protocol.h |  153 ++++++++++++++----------
 src/mod/endpoints/mod_skinny/skinny_server.c   |   18 +++
 src/mod/endpoints/mod_skinny/skinny_tables.c   |  136 +++++++++++----------
 src/mod/endpoints/mod_skinny/skinny_tables.h   |    2 +-
 4 files changed, 175 insertions(+), 134 deletions(-)

this email was generated because of /git/your-repo.git/hooks/post-receive by the file /git-core/contrib/hooks/post-receive-email
For more info, see http://blog.chomperstomp.com/?p=630 --
FreeSWITCH Source