﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	resolution	keywords	cc
308	Теряется и не восстанавливается соединение ESL	alx	dimag	"В r339 под FreeBSD наблюдается странное поведение программы:

1. Запускаю программу.
1. Ввожу логин 2@192.168.0.63 и пароль, нажимаю Enter.

Программа успашно устанавливает соединение ESL и около секунды активно обмениваетя информацией с сервером, после чего разрывает соединение. После разрыва программа немедленно устанавливает новое соединение, получает от коммутатора {{{Content-Type: auth/request}}} и... молчит. При этом никаких окон на дисплее нет. Через 25 секунд, не дождавшися аутентификации, коммутатор говорит:
{{{
Content-Type: text/disconnect-notice
Content-Length: 67

Disconnected, goodbye.
See you at ClueCon! http://www.cluecon.com/
}}}

и рвет соединение. Наш пульт рисует главное окно со списком конференций и пользователей и надписью ""Отсутствует подключение к сети"" на красном фоне. Повторных подключений по ESL к коммутатору программа не делает. Вот что программа пишет в консоль:
{{{
/usr/local/lib/qt4/plugins

rootStartElement
Characters
15:35:06.564 os_core_unix.c !pjlib 2.5.1 for POSIX initialized
8013003
libpng warning: iCCP: known incorrect sRGB profile
UP 0 years, 1 day, 0 hours, 40 minutes, 48 seconds, 381 milliseconds, 451 microseconds
FreeSWITCH (Version 1.6.9 git d574870 2016-06-13 18:10:44Z 64bit) is ready
133 session(s) since startup
0 session(s) - peak 11, last 5min 0
0 session(s) per Sec out of max 30, peak 9, last 5min 0
1000 session(s) max
min idle cpu 0.00/99.77
Current Stack Size/Max 240K/8192K
15:35:07.782 sip_endpoint.c !.Creating endpoint instance...
15:35:07.783          pjlib  .select() I/O Queue created (0x80cf32028)
15:35:07.783 sip_endpoint.c  .Module ""mod-msg-print"" registered
15:35:07.783 sip_transport.  .Transport manager created.
15:35:07.783   pjsua_core.c  .PJSUA state changed: NULL --> CREATED
WARNING: no real random source present!
15:35:07.790   pjsua_core.c  .pjsua version 2.5.1 for FreeBSD-9.3/amd64 initialized
15:35:07.790   pjsua_core.c  bind() error: áÄÒÅÓ ÕÖÅ ÉÓÐÏÌØÚÕÅÔÓÑ [status=120048]
[2016/08/19 15:35:07.791466, 2] ssh_connect:  libssh 0.7.3 (c) 2003-2014 Aris Adamantiadis, Andreas Schneider, and libssh contributors. Distributed under the LGPL, please refer to COPYING file for information about your rights, using threading threads_noop
[2016/08/19 15:35:07.791617, 2] ssh_socket_connect:  Nonblocking connection socket: 17
[2016/08/19 15:35:07.791653, 2] ssh_connect:  Socket connecting, now waiting for the callbacks to work
[2016/08/19 15:35:07.791770, 1] socket_callback_connected:  Socket connection callback: 1 (0)
[2016/08/19 15:35:07.830150, 1] ssh_client_connection_callback:  SSH server banner: SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu1
[2016/08/19 15:35:07.830180, 1] ssh_analyze_banner:  Analyzing banner: SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu1
[2016/08/19 15:35:07.830197, 1] ssh_analyze_banner:  We are talking to an OpenSSH client version: 7.2 (70200)
[2016/08/19 15:35:07.880129, 2] ssh_packet_dh_reply:  Received SSH_KEXDH_REPLY
[2016/08/19 15:35:07.885298, 2] ssh_client_curve25519_reply:  SSH_MSG_NEWKEYS sent
[2016/08/19 15:35:07.885371, 2] ssh_packet_newkeys:  Received SSH_MSG_NEWKEYS
[2016/08/19 15:35:07.885743, 2] ssh_packet_newkeys:  Signature verified and valid
15:35:07.944    pjsua_acc.c  ....sip:2@192.168.0.63: registration success, status=200 (OK), will re-register in 300 seconds
Startup dlg  finished
ESL Connected
 Window Icon setted
MainAppFrameWindow2 ctor
pLogViewWidget created
pSplitterSoundPlay created
Main Window created
ESL Reconnect fail
}}}

 Вот дамп второго подключения:

{{{
15:13:46.367056 IP 192.168.0.75.12611 > 192.168.0.63.8021: Flags [S], seq 2182638936, win 65535, options [mss 1460,nop,wscale 6,sackOK,TS val 2948457413 ecr 0], length 0
E..<..@.@.$....K...?1C.U..mX.......................
........
15:13:46.367128 IP 192.168.0.63.8021 > 192.168.0.75.12611: Flags [S.], seq 2301299142, ack 2182638937, win 28960, options [mss 1460,sackOK,TS val 21824836 ecr 2948457413,nop,wscale 9], length 0
E..<..@.@......?...K.U1C.+      ...mY..q ...........
.M.D.......
15:13:46.367171 IP 192.168.0.75.12611 > 192.168.0.63.8021: Flags [.], ack 1, win 1040, options [nop,nop,TS val 2948457413 ecr 21824836], length 0
E..4..@.@.$....K...?1C.U..mY.+  ............
.....M.D
15:13:46.367590 IP 192.168.0.63.8021 > 192.168.0.75.12611: Flags [P.], seq 1:29, ack 1, win 57, options [nop,nop,TS val 21824836 ecr 2948457413], length 28
E..P..@.@..J...?...K.U1C.+      ...mY...9.P.....
.M.D....Content-Type: auth/request


15:13:46.467046 IP 192.168.0.75.12611 > 192.168.0.63.8021: Flags [.], ack 29, win 1040, options [nop,nop,TS val 2948457513 ecr 21824836], length 0
E..4..@.@.$....K...?1C.U..mY.+  ......A.....
...).M.D

15:14:11.019637 IP 192.168.0.63.8021 > 192.168.0.75.12611: Flags [P.], seq 29:86, ack 1, win 57, options [nop,nop,TS val 21830999 ecr 2948457513], length 57
E..m..@.@..,...?...K.U1C.+      ...mY...9L......
.M.W...)Content-Type: text/disconnect-notice
Content-Length: 67


15:14:11.019668 IP 192.168.0.63.8021 > 192.168.0.75.12611: Flags [FP.], seq 86:153, ack 1, win 57, options [nop,nop,TS val 21830999 ecr 2948457513], length 67
E..w..@.@..!...?...K.U1C.+
...mY...9.......
.M.W...)Disconnected, goodbye.
See you at ClueCon! http://www.cluecon.com/

15:14:11.019689 IP 192.168.0.75.12611 > 192.168.0.63.8021: Flags [.], ack 154, win 1038, options [nop,nop,TS val 2948482066 ecr 21830999], length 0
E..4..@.@.""....K...?1C.U..mY.+
`....
......
..D..M.W
15:14:11.019817 IP 192.168.0.75.12611 > 192.168.0.63.8021: Flags [F.], seq 1, ack 154, win 1038, options [nop,nop,TS val 2948482066 ecr 21830999], length 0
E..4..@.@.""....K...?1C.U..mY.+
`....
......
..D..M.W
15:14:11.019928 IP 192.168.0.63.8021 > 192.168.0.75.12611: Flags [.], ack 2, win 57, options [nop,nop,TS val 21830999 ecr 2948482066], length 0
E..4_.@.@.Y2...?...K.U1C.+
`..mZ...9.......
.M.W..D.
}}}

Что ожидалось:

1. что программа, один раз успешно подключившись к коммутатору, будет использовать это соединение до конца сеанса работы. Зачем пульт разрывает существующее соединение и немедленно устанавливает новое, непонятно;
1. что установив второе соединение и получив запрос auth/request, пульт передаст свой пароль и продолжит работу;
1. наконец, что потеряв подключение к коммутатору, программа будет (как минимум) пытаться его восстановить."	баг	closed	major	1 очередь	ПО MC04-Dispatcher. Пульт диспетчера/техника	fixed	reconnect	san
