提交 2cb595c7 authored 作者: Mathieu Parent's avatar Mathieu Parent

Skinny: Avoid message too short for off_hook

Resolve MODSKINNY-1:  FreeSwitch stops working when I use a cisco 7910
phone - FREESWITCH 1.0.6
上级 05bf1d83
...@@ -1201,19 +1201,19 @@ switch_status_t skinny_handle_stimulus_message(listener_t *listener, skinny_mess ...@@ -1201,19 +1201,19 @@ switch_status_t skinny_handle_stimulus_message(listener_t *listener, skinny_mess
switch_status_t skinny_handle_off_hook_message(listener_t *listener, skinny_message_t *request) switch_status_t skinny_handle_off_hook_message(listener_t *listener, skinny_message_t *request)
{ {
uint32_t line_instance; uint32_t line_instance = 1;
uint32_t call_id = 0;
switch_core_session_t *session = NULL; switch_core_session_t *session = NULL;
private_t *tech_pvt = NULL; private_t *tech_pvt = NULL;
skinny_check_data_length(request, sizeof(request->data.off_hook)); if(skinny_check_data_length_soft(request, sizeof(request->data.off_hook))) {
if (request->data.off_hook.line_instance > 0) {
if(request->data.off_hook.line_instance > 0) { line_instance = request->data.off_hook.line_instance;
line_instance = request->data.off_hook.line_instance; }
} else { call_id = request->data.off_hook.call_id;
line_instance = 1;
} }
session = skinny_profile_find_session(listener->profile, listener, &line_instance, request->data.off_hook.call_id); session = skinny_profile_find_session(listener->profile, listener, &line_instance, call_id);
if(session) { /*answering a call */ if(session) { /*answering a call */
skinny_session_answer(session, listener, line_instance); skinny_session_answer(session, listener, line_instance);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论