Opened 8 years ago

Closed 8 years ago

Last modified 6 years ago

#199 closed баг (fixed)

Странное поведение при reload mod_sofia

Reported by: alx Owned by: alx
Priority: minor Milestone: 2 очередь
Component: MC04-SoftSwitch Keywords: reload_XML
Cc: san

Description

В процессе рестарта mod_sofia FS посылает событие RELOADXML. При получении этого события пульт диспетчера запрашивает список пользователей list_users.

Замечено, что иногда при этом он получает в ответ пустой список.

Вот лог tcpdump'а:

Event-Name: RELOADXML
Core-UUID: 55fbad48-47d0-4e49-9c02-3ada06ce4480
FreeSWITCH-Hostname: voip.kolez.com
FreeSWITCH-Switchname: voip.kolez.com
FreeSWITCH-IPv4: 192.168.0.63
FreeSWITCH-IPv6: 2a02%3A2698%3A25%3A264b%3A100%3A%3A9787
Event-Date-Local: 2016-06-24%2014%3A14%3A20
Event-Date-GMT: Fri,%2024%20Jun%202016%2011%3A14%3A20%20GMT
Event-Date-Timestamp: 1466766860893509
Event-Calling-File: switch_xml.c
Event-Calling-Function: switch_xml_open_root
Event-Calling-Line-Number: 2270
Event-Sequence: 101478

api list_users

Content-Type: api/response
Content-Length: 103

userid|context|domain|group|contact|callgroup|effective_caller_id_name|effective_caller_id_number

+OK

Change History (3)

comment:1 by alx, 8 years ago

Предположительно проблема вызвана тем, что при выполнении команды "reload mod_sofia" сначала выполняется reloadxml, а затем - собственно выгрузка и повторная загрузка mod_sofia. По событию reloadxml наш пульт перезапрашивает список абонентов и с некоторой вероятностью видит пустой список из-за того что mod_sofia уже выгружен, а новый еще не загружен.

Предлагаю решить проблемы следующим образом: кроме RELOADXML подписаться на событие MODULE_LOAD. При получении события MODULE_LOAD проверять его поле name, и если name=sofia_presence_data, перечитывать список пользователей как при получении RELOADXML.

comment:2 by dimag, 8 years ago

Keywords: reload_XML added
Resolution: fixed
Status: newclosed

r380
Обрабатываю событие MODULE_LOAD.

comment:3 by san, 6 years ago

Milestone: Текущее2 очередь

Milestone renamed

Note: See TracTickets for help on using tickets.