﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	resolution	keywords	cc
593	Предложения по модернизации системы диспетчерской связи	mixyil1.1	san	"== Предложения по модернизации программы Dispatcher  

У меня есть предложения по внесению изменений в программу Dispatcher и систему диспетчерской связи в целом:  

1. **Переход с Qt5 на Qt6**  
   - Dispatcher написан с использованием Qt5, актуальной версией является Qt6.  
   - Между Qt5 и Qt6 есть изменения в API, поэтому необходимо адаптировать программу для работы с Qt6.  
   - Тестирование перехода на Qt6 уже проводилось в Linux (патч прилагается).  

2. **Изменение архитектуры диспетчерской связи**  
   Текущая схема работы (рис. 1). 

{{{#!PlantUml
@startuml
node ""Рабочее место оператора"" {
  User - [Dispatcher]
}

package ""Сервер/плата МС-03"" {
  package ""Freeswitch server"" {
    [Freeswitch] -right- ESL
    [Freeswitch] -left- modmysql
  }
  database ""MySql"" {
  frame ""Конфигурация"" {
    [Config]
  }
  frame ""сессии CDR"" {
    [CDR]
  }
} 
[Dispatcher] --> SSH
}

[Dispatcher] --> ESL
[Dispatcher] --> [CDR]
[Dispatcher] --> [Config]
modmysql --> [CDR]
@enduml
}}}

Предлагаю новую схему (рис. 2)

{{{#!PlantUml
@startuml
node ""Рабочее место оператора"" {
  [Dispatcher] -right- User
  [Браузер]    -left- User
}

package ""Сервер/плата МС-03"" {
  package ""ПО управления"" {
  frame ""Прокси"" {
    [Proxy] -up- ESL_proxy
    [Proxy] -down- ESL_FS
  }
  frame ""Web interface"" {
    [Web] -up- API
    [Web] -down- mysql
    [Web] -left- XML
  }
  }
  package ""Freeswitch server"" {
    [Freeswitch] -down- mod_conf...
    [Freeswitch] -down- ESL
    [Freeswitch] -right- mod_xml_curl
  }
  database ""MySql"" {
  frame ""Конфигурация"" {
    [Config]
  }
  frame ""сессии CDR"" {
    [CDR]
  }
} 

}

note top of [Dispatcher]
  Параметры подключения к ESL_proxy
  хранить в файле конфигурации Dispatcher
end note


[Dispatcher] <--> ESL_proxy
[mysql] --> [CDR]
mod_conf... --> [CDR]
ESL_FS <--> ESL
[Браузер] <--> API
mod_xml_curl --> XML
@enduml
}}}

 включающая следующие изменения:  
   - **Подключение к ESL FreeSWITCH через Proxy**  
     - Это позволит Dispatcher работать с несколькими серверами FreeSWITCH одновременно.  
     - Также появится возможность подключения к другим VoIP-серверам (например, Asterisk).  
   - **Устранение зависимостей**  
     - Убрать зависимость от MySQL: пароль для подключения к Proxy ESL должен храниться в конфигурационном файле Dispatcher.  
     - Убрать зависимость от SSH: настройка должна выполняться через веб-интерфейс.  
   - **Перенос функционала в веб-интерфейс**  
     - Прослушивание записанных конференций.  
     - Управлением абонентами.
     - Управлением планом набора.

**Что должно получится:**  
- Dispatcher останется только в качестве пользовательского интерфейса для управления конференциями.  
- Proxy обеспечит гибкость подключения в том числе и к нескольким серверам.  
- Веб-интерфейс сократит необходимость ручного консольного конфигурирования FreeSWITCH.  

**Для реализации предлагаю:**  
- Создать в репозитории новую ветку `qt6` для продолжения разработки.  
- Если нет возражений, я готов взять разработку на себя. В таком случае, предоставьте пользователю `mixyil1.1` права на запись в ветку `qt6`.  
"	улучшение	assigned	major	2 очередь	ПО MC04-Dispatcher. Пульт диспетчера/техника			
