|
|
| (не показаны 4 промежуточные версии этого же участника) |
| Строка 4: |
Строка 4: |
|
| |
|
| * 69 - UDP (TFTP) — используется для TFTP запросов с целью Autoprovision; | | * 69 - UDP (TFTP) — используется для TFTP запросов с целью Autoprovision; |
| * 80 - TCP (HTTP, WS) — используется для подключение клиентских приложений, API-запросов; | | * 80 - TCP (HTTP, WS) — используется для подключение клиентских приложений, API-запросов и Websocket подключений; |
| * 443 - TCP (HTTPS, WSS) — используется для подключение клиентских приложений, API-запросов и Websocket подключений; | | * 443 - TCP (HTTPS, WSS) — используется для подключение клиентских приложений, API-запросов и Websocket подключений; |
| * 5060 - UDP (SIP) — используется для подключения клиентских SIP-устройств и PnP (Plug and Play); | | * 5060 - UDP (SIP) — используется для подключения клиентских SIP-устройств и PnP (Plug and Play); |
| | * 5063 - TCP (WSS) — используется для WebRTC софтфона; |
| * 5080 - UDP (SIP) — используется для подключения ко внешним SIP-транкам; | | * 5080 - UDP (SIP) — используется для подключения ко внешним SIP-транкам; |
| * 10000-20000 UDP (RTP) — используется для обмена голосовым трафиком. | | * 10000-20000 UDP (RTP) — используется для обмена голосовым трафиком. |
| Строка 24: |
Строка 25: |
|
| |
|
|
| |
|
| [[Файл:Port.drawio.png|альт=Порты используемые платформой|безрамки|900x900пкс]] | | [[Файл:Port.drawio.png|alt=Диаграмма использования портов Платформой ЭРА|безрамки|900x900пкс]] |
| | | [[Категория:Администрирование]] |
| | |
| <syntaxhighlight lang="ucode">
| |
| @startuml
| |
| | |
| component ERA as " " {
| |
| port sip_int as "SIP (UDP 5060)"
| |
| port sip_ext as "SIP (UDP 5080)"
| |
| port rtp as "RTP (UDP 10000-20000)"
| |
|
| |
| portin tftp as "TFTP (UDP 69)"
| |
| portin pnp as "PNP (UDP 5060)"
| |
| portin http as "HTTP(s) (TCP 80,443)"
| |
| portin websocket as "WS(s) (TCP 80,443)"
| |
| | |
| component facades as "Edge services" {
| |
| component sg
| |
| component esg
| |
| component ws
| |
| component ap
| |
| component mg
| |
| component bgmg
| |
| }
| |
|
| |
| portout o_http as "HTTP(S)"
| |
| portout o_smtp as "SMTP"
| |
| portout o_imap as "IMAP"
| |
| portout o_pop3 as "POP3"
| |
| portout o_odbc as "ODBC"
| |
| portout o_postgres as "PG"
| |
| portout o_kafka as "KAFKA"
| |
| portout o_clickhouse as "CH"
| |
| portout o_s3 as "S3"
| |
| portout o_ldap as "LDAP"
| |
| | |
|
| |
| component internals #darkgray {
| |
| component script as "Scripts " {
| |
| portout s_imap as "IMAP"
| |
| portout s_pop3 as "POP3"
| |
| portout s_smtp as "SMTP"
| |
|
| |
| portout s_odbc as "ODBC"
| |
| portout s_ldap as "LDAP"
| |
| portout s_s3 as "S3"
| |
| portout s_http as "HTTP"
| |
|
| |
| component ivr
| |
| component svc
| |
| }
| |
|
| |
| component email
| |
| component im
| |
| component recmover
| |
| component dms
| |
| component mdc
| |
| }
| |
|
| |
| facades .[#white]. internals
| |
|
| |
| sip_int <--> sg
| |
| sip_ext <--> esg
| |
| rtp <--> mg
| |
| rtp <--> bgmg
| |
|
| |
| tftp --> ap
| |
| pnp --> ap
| |
| http --> ws
| |
| websocket --> ws
| |
|
| |
|
| |
| '' note left of script : asdf
| |
|
| |
| email ---> o_imap
| |
| email ---> o_smtp
| |
| email ---> o_pop3
| |
|
| |
| im ---> o_http
| |
|
| |
| s_imap ---> o_imap
| |
| s_smtp ---> o_smtp
| |
| s_pop3 ---> o_pop3
| |
| s_odbc ---> o_odbc
| |
| s_ldap ---> o_ldap
| |
| s_http ---> o_http
| |
| s_s3 ---> o_s3
| |
|
| |
| recmover ---> o_s3
| |
| mdc ---> o_postgres
| |
| dms ---> o_postgres
| |
| dms ---> o_kafka
| |
| dms ---> o_clickhouse
| |
|
| |
| internals ---> o_kafka
| |
|
| |
| '' sg --> b2b
| |
| '' esg --> b2b
| |
| '' b2b .. mg
| |
| '' esg .. bgmg
| |
| '' sg .. bgmg
| |
| '' ws .. internals
| |
|
| |
| }
| |
| | |
| | |
| @enduml
| |
| </syntaxhighlight>
| |
| | |
| | |
| <uml>
| |
| component ERA as "1" {
| |
| port sip_int as "SIP (UDP 5060)"
| |
| port sip_ext as "SIP (UDP 5080)"
| |
| port rtp as "RTP (UDP 10000-20000)"
| |
|
| |
| portin tftp as "TFTP (UDP 69)"
| |
| portin pnp as "PNP (UDP 5060)"
| |
| portin http as "HTTP(s) (TCP 80,443)"
| |
| portin websocket as "WS(s) (TCP 80,443)"
| |
| | |
| component facades as "Edge services" {
| |
| component sg
| |
| component esg
| |
| component ws
| |
| component ap
| |
| component mg
| |
| component bgmg
| |
| }
| |
|
| |
| portout o_http as "HTTP(S)"
| |
| portout o_smtp as "SMTP"
| |
| portout o_imap as "IMAP"
| |
| portout o_pop3 as "POP3"
| |
| portout o_odbc as "ODBC"
| |
| portout o_postgres as "PG"
| |
| portout o_kafka as "KAFKA"
| |
| portout o_clickhouse as "CH"
| |
| portout o_s3 as "S3"
| |
| portout o_ldap as "LDAP"
| |
| | |
|
| |
| component internals #darkgray {
| |
| component script as "Scripts " {
| |
| portout s_imap as "IMAP"
| |
| portout s_pop3 as "POP3"
| |
| portout s_smtp as "SMTP"
| |
|
| |
| portout s_odbc as "ODBC"
| |
| portout s_ldap as "LDAP"
| |
| portout s_s3 as "S3"
| |
| portout s_http as "HTTP"
| |
|
| |
| component ivr
| |
| component svc
| |
| }
| |
|
| |
| component email
| |
| component im
| |
| component recmover
| |
| component dms
| |
| component mdc
| |
| }
| |
|
| |
| facades .[#white]. internals
| |
|
| |
| sip_int <--> sg
| |
| sip_ext <--> esg
| |
| rtp <--> mg
| |
| rtp <--> bgmg
| |
|
| |
| tftp --> ap
| |
| pnp --> ap
| |
| http --> ws
| |
| websocket --> ws
| |
|
| |
|
| |
| '' note left of script : asdf
| |
|
| |
| email ---> o_imap
| |
| email ---> o_smtp
| |
| email ---> o_pop3
| |
|
| |
| im ---> o_http
| |
|
| |
| s_imap ---> o_imap
| |
| s_smtp ---> o_smtp
| |
| s_pop3 ---> o_pop3
| |
| s_odbc ---> o_odbc
| |
| s_ldap ---> o_ldap
| |
| s_http ---> o_http
| |
| s_s3 ---> o_s3
| |
|
| |
| recmover ---> o_s3
| |
| mdc ---> o_postgres
| |
| dms ---> o_postgres
| |
| dms ---> o_kafka
| |
| dms ---> o_clickhouse
| |
|
| |
| internals ---> o_kafka
| |
|
| |
| '' sg --> b2b
| |
| '' esg --> b2b
| |
| '' b2b .. mg
| |
| '' esg .. bgmg
| |
| '' sg .. bgmg
| |
| '' ws .. internals
| |
|
| |
| }
| |
| </uml>
| |
| | |
| <uml>
| |
| @startuml
| |
| hide footbox
| |
| | |
| box "Source Endpoint"
| |
| participant "Flow Control" as FC
| |
| participant "Data Service" as DS
| |
| end box
| |
| | |
| box "Sink Endpoint"
| |
| participant "Data Client" as DC
| |
| participant "Remote Flow Control" as RFC
| |
| end box
| |
| | |
| activate FC
| |
| activate RFC
| |
| activate DS
| |
| | |
| DC <- RFC : start
| |
| activate DC
| |
| | |
| DS <- DC : connect
| |
| | |
| DC -> RFC : request registration
| |
| FC <- RFC : {RegistrationRequest}
| |
| | |
| FC -> DS : call for synchronisation
| |
| activate DS
| |
| DS -> DC : {Sychronisation}
| |
| | |
| FC --> RFC : {RegistrationRequestAcknowledgement}
| |
| DC <- RFC : registration requested
| |
| | |
| ...
| |
| | |
| DC --> RFC : confirm synchronisation
| |
| FC <- RFC : {RegistrationSuccess}
| |
| | |
| DS -> DC : {Sychronisation}
| |
| FC -> DS : stop synchronisation
| |
| deactivate DS
| |
| | |
| FC --> RFC : {RegistrationSuccessAcknowledgement}
| |
| @enduml
| |
| </uml>
| |
Входящие подключения обрабатываются фасадными микросервисами (edge services) которые "слушают" соответствующие порты на сетевом интерфейсе. Один микросервис может обслуживать подключение только на одном сетевом интерфейсе. В случае использования нескольких сетевых интерфейсов необходимо запустить микросервис на каждом.
Порты по-умолчанию и протоколы для входящих подключений:
- 69 - UDP (TFTP) — используется для TFTP запросов с целью Autoprovision;
- 80 - TCP (HTTP, WS) — используется для подключение клиентских приложений, API-запросов и Websocket подключений;
- 443 - TCP (HTTPS, WSS) — используется для подключение клиентских приложений, API-запросов и Websocket подключений;
- 5060 - UDP (SIP) — используется для подключения клиентских SIP-устройств и PnP (Plug and Play);
- 5063 - TCP (WSS) — используется для WebRTC софтфона;
- 5080 - UDP (SIP) — используется для подключения ко внешним SIP-транкам;
- 10000-20000 UDP (RTP) — используется для обмена голосовым трафиком.
Исходящие запросы инициируются различными микросервисами платформы.
Протоколы для исходящих подключений:
- IMAP, POP3, SMTP — используется для работы со внешним email-сервером;
- HTTP(S) — используется сценариями для запросов ко внешним web-сервисам;
- PG — используется для подключения к СУБД PostgreSQL;
- ODBC — используется в сценариях для подключения к сторонним СУБД при помощи интерфейса ODBC;
- S3 — используется для сохранения записей разговоров при помощи протокола S3;
- Kafka — используется для подключения к распределённой платформе Kafka;
- CH — используется для подключения к СУБД Clickhouse;
- LDAP — используется для подключения по протоколу LDAP ко внешним директориям пользователей.
На диаграмме отображены протоколы порты по-умолчанию в случае использования односерверной конфигурации. Сверху указаны входящие подключения, снизу исходящие. Дополнительно указаны микросервисы, которые обрабатывают входящие и исходящие запросы. Подробное описание микросервисов и используемых ими портов по ссылке