Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#503 closed баг (invalid)

Статус красный, но аварии в программе нет

Reported by: san Owned by: dimag
Priority: critical Milestone: 1 очередь
Component: ПО MC04-Dispatcher. Пульт диспетчера/техника Keywords:
Cc: alx

Description

  1. Запустил программу
  2. Ничего не делал
  3. Обнаружил своего пользователя красным

время происшествия примерно 14:59
r506

  1. Пользователь позеленел, едва я успел его сфотографировать

логи прилагаю

Attachments (2)

1028-1.zip (65.4 KB ) - added by san 8 years ago.
1028-1.png (28.1 KB ) - added by san 8 years ago.

Download all attachments as: .zip

Change History (17)

by san, 8 years ago

Attachment: 1028-1.zip added

by san, 8 years ago

Attachment: 1028-1.png added

comment:1 by dimag, 8 years ago

судя по логам, пришло сообщение
PRESENCE_IN - -4@192.168.0.63-Unregistered
CUSTOM - sofia::unregister - 4
от FreeSwitch сервера, соответственно я перевёл пользователя 4 в состояние нет подключения, потом пришло сообщение
CUSTOM - sofia::register - 4
после этого, я установил состояние пользователя в присутствует на сервере.
Так что я не считаю это ошибкой, на какое-то время сервер перевёл пользователя программы в состояние незарегистрировано, что я отобразил.

comment:2 by san, 8 years ago

Milestone: Текущее1 очередь
Priority: majorcritical

Это ошибка, пользователь программы не должен произвольно терять регистрацию, и даже если он потерял регистрацию по некой причине, программа должна выдать аварийное сообщение.

  1. Причина потери регистрации?
  2. Почему программа не выдала аварию?
Last edited 8 years ago by san (previous) (diff)

comment:3 by san, 8 years ago

Cc: alx added

comment:4 by dimag, 8 years ago

Cc: alx removed

1)Надо спросить у FreeSwitch.
2)Возможно всё произошло очень быстро, я проверяю регистрацию 1 раз в секунду.

comment:5 by san, 8 years ago

Cc: alx added

comment:6 by san, 8 years ago

2) Мне кажется событие длилось более секунды, я успел заметить, удивиться и сделать Alt+PrintScreen. Посмотри в логе сколько длилось

1) Я припоминаю, что уже были какие-то неясности с регистрацией...

comment:7 by dimag, 8 years ago

Да были, для этой ситуации я проверю периодически состояние регистрации у SIP-клиента, если она отсутствует, то делаю попытку перерегистрироваться.

comment:8 by san, 8 years ago

А каким образом происходит "штатная" перерегистрация своего абонента?
На сколько отличается значение таймаута регистрации, который ты сообщаешь регистратору, от времени через которое будет совершена перерегистрация?

in reply to:  4 comment:9 by alx, 8 years ago

Replying to dimag:

пришло сообщение PRESENCE_IN - -4@192.168.0.63-Unregistered

Replying to dimag:

2)Возможно всё произошло очень быстро, я проверяю регистрацию 1 раз в секунду.

Что значит "проверяю регистрацию", если "пришло сообщение" о ее потере? Зачем "проверять регистрацию" раз в секунду, если о любом изменении состояния регистрации программа немедленно получает уведомление?

Саша, была ли в конфигурации программы включена функция уведомления об отсутствии пользователя 4? Если была, то это, однозначно, баг - программа получила уведомление о потере регистрации пользователя 4, но не выдала сообщение.

comment:10 by san, 8 years ago

Саша, была ли в конфигурации программы включена функция уведомления об отсутствии пользователя 4

Нет, но у программы есть авария "Ошибка регистрации абонента". Насколько я понял она должна срабатывать при потере регистрации своего абонента.

in reply to:  10 comment:11 by alx, 8 years ago

Replying to san:

Нет,

Тогда программа и не должна была выдавать аварию по причине "красного" статуса этого абонента.

но у программы есть авария "Ошибка регистрации абонента". Насколько я понял она должна срабатывать при потере регистрации своего абонента.

Где-то описано (тикет?), в каких случаях должна выдаваться такая авария? Из ее формулировки можно предположить, что она выдается, когда UAC регистрировался на сервере регистрации, но процесс регистрации завершался неуспешно (например UAC послал REGISTER и получил ответ "403 Forbidden"). Таким образом, это совсем не то же самое, что и факт отсутствия регистрации пользователя на сервере, который индицируется красным кружком...

comment:12 by alx, 8 years ago

Сейчас вспомнил, что был такой тикет #185. Он именно о случае ошибки регистрации.

Дима, можно ли установить по приложенному логу, пытался ли UAC регистрироваться на сервере в интересующий нас период (между получением unregister и register), и если да, была ли эта попытка успешной?

Last edited 8 years ago by alx (previous) (diff)

comment:13 by san, 8 years ago

Resolution: invalid
Status: newclosed

Хм.. видимо я ошибочно понял суть аварии

А причину потери регистрации я кажется нашел - на другом ПК оказалась запущена программа от имени этого-же пользователя и видимо в момент закрытия программы она разрегистрировала моего абонента.

В таком случае - закрываю тикет

comment:14 by dimag, 8 years ago

Просмотрим лог


Загружается конфигурация
UP 0 years, 3 days, 22 hours, 8 minutes, 2 seconds, 910 milliseconds, 562 microseconds
FreeSWITCH (Version 1.6.11 git 5e413fe 2016-09-28 17:20:19Z 64bit) is ready
724 session(s) since startup
2 session(s) - peak 14, last 5min 2
0 session(s) per Sec out of max 30, peak 9, last 5min 0
1000 session(s) max
min idle cpu 0.00/96.47
Current Stack Size/Max 240K/8192K
14:57:12.847 sip_endpoint.c !.Creating endpoint instance...
14:57:12.847 pjlib .select() I/O Queue created (031C9F18)
14:57:12.847 sip_endpoint.c .Module "mod-msg-print" registered
14:57:12.847 sip_transport. .Transport manager created.
14:57:12.847 pjsua_core.c .PJSUA state changed: NULL --> CREATED
14:57:12.896 pjsua_core.c .pjsua version 2.4.5 for win32-6.2/i386/msvc-18.0 initialized
Подсистема SIP успешно инициализированна
14:57:13.098 pjsua_acc.c ....sip:4@192.168.0.63: registration success, status=200 (OK), will re-register in 120 seconds
Получаем список пользователей
InitializationThread::Done()
CStartupDlg::Done() started
Startup dlg finished
ESL Connected

Window Icon setted

MainAppFrameWindow2 ctor
pLogViewWidget created
pSplitterSoundPlay created
Main Window created
PRESENCE_IN - -4@192.168.0.63-Unregistered
CUSTOM - sofia::unregister - 4


Очевидно в 14:57:13.098 pjsua_acc.c ....sip:4@192.168.0.63: registration success, status=200 (OK), will re-register in 120 seconds - произошла регистрация SIP клиента на сервере.
Далее мы проинициализировали главное окно приложение, начала считывать события и сразу получили 2:
PRESENCE_IN - -4@192.168.0.63-Unregistered
CUSTOM - sofia::unregister - 4
после которого я присвоил пользователю программу статус не зарегистрирован.

in reply to:  13 comment:15 by dimag, 8 years ago

Replying to san:

Хм.. видимо я ошибочно понял суть аварии

А причину потери регистрации я кажется нашел - на другом ПК оказалась запущена программа от имени этого-же пользователя и видимо в момент закрытия программы она разрегистрировала моего абонента.

В таком случае - закрываю тикет

Тогда понятно, когда открыто 2 одинаковых пользователя на 2 разных компьютерах, и один из них закрывается, то придёт сообщение sofia::unrigister, которое приведёт пользователя на оставшемся компьютере в красное состояние, в котором он будет на получения сообщения sofia::register.

Note: See TracTickets for help on using tickets.