Открыть меню
Платформа Эра. Документация
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Порты используемые системой: различия между версиями

Материал из Платформа Эра. Документации
Нет описания правки
Нет описания правки
Строка 229: Строка 229:
@enduml
@enduml
</uml>
</uml>
<uml>
@startuml
@startuml
hide footbox


actor Utilisateur as user
box "Source Endpoint"
participant "formSign.js" as form <<Contrôleur formulaire>>
    participant "Flow Control" as FC
participant "Sign.java" as controler <<(C,#ADD1B2) Contrôleur formulaire>>
    participant "Data Service" as DS
participant "Secure.java" as secure <<(C,#ADD1B2) authentification>>
end box
participant "Security.java" as security <<(C,#ADD1B2) sécurité>>


box "Application Web" #LightBlue
box "Sink Endpoint"
participant form
    participant "Data Client" as DC
    participant "Remote Flow Control" as RFC
end box
end box


box "Serveur Play" #LightGreen
activate FC
participant controler
activate RFC
participant secure
activate DS
participant security
 
end box
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


user -> form : submitSignIn()
...
form -> form : getParameters()
form -> form : result = checkFields()


alt result
DC --> RFC : confirm synchronisation
FC <- RFC : {RegistrationSuccess}


    form -> controler : formSignIn(email,pwd)
DS -> DC : {Sychronisation}
    controler -> controler : result = checkFields()
FC -> DS : stop synchronisation
   
deactivate DS
    alt result
    controler -> secure : Secure.authenticate(email, pwd, true);
    secure -> security : onAuthenticated()
    security --> form : renderJSON(0);
    form --> user : display main page
    else !result
    controler --> form : renderJSON(1)
    form --> user : display error
    end
   
else !result
form --> user : display error
end


FC --> RFC : {RegistrationSuccessAcknowledgement}
@enduml
@enduml
</uml>
</uml>

Версия от 16:21, 28 марта 2025

Порты и протоколы для входящих подключений:

  • 80 - TCP (HTTP, WS) — используется для подключение клиентских приложений, API-запросов.
  • 443 - TCP (HTTPS, WSS) — используется для подключение клиентских приложений, API-запросов и Websocket подключений.
  • 5060 - UDP (SIP) — используется для подключения клиентских SIP-устройств.
  • 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 ко внешним директориям пользователей.
Порты используемые системой односерверной конфигурации

На диаграмме отображены порты по-умолчанию в случае использования односерверной конфигурации. Дополнительно указаны микросервисы, которые обрабатывают входящие и исходящие запросы. Подробное описание микросервисов и используемых ими портов по ссылке

@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


Diagrams error (with plantuml command): Error line 4 in file: /tmp/diagrams_in56745c19ff5f.plantuml Some diagram description contains errors