<h1>Project "FreeSWITCH Source" received a push.</h1>

<h2>branch: master updated</h2>
<pre>
       via: d86388dbf7ce78ad26b754bd7e8cb38178cc7b2d (commit)
      from: f217ec48a449eb41f17cd9de421856ca893c15f2 (commit)


</pre>= COMMIT LOG ===========================================================
<div class="highlight"><pre>committer: Mathieu Parent
comments: 
Skinny: noop ForwardStatReq and ForwardStat implementation

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

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(-)
</pre>
<p>this email was generated because of /git/your-repo.git/hooks/post-receive by the file /git-core/contrib/hooks/post-receive-email<br />
For more info, see <a href="http://blog.chomperstomp.com/?p=630">http://blog.chomperstomp.com/?p=630</a>
-- <br />
FreeSWITCH Source</p>