(1_for_1) (s_1_for_1)
+---------+ +-------------------+ +---------------+
| udp_sup |--+--| udp_listener_sup |----| udp_listener |+
+---------+ | +-------------------+ +---------------+|
| +---------------+
| (s_1_for_1) | link
| +-------------------+ +---------------+
+--| dtls_worker_sup |----| dtls_worker |+
| +-------------------+ +---------------+|
| +---------------+
| (s_1_for_1) | link
| +-------------------+ +---------------+
+--| srtp_worker_sup |----| srtp_worker |+
+-------------------+ +---------------+|
+---------------+
$ ./start.sh
and other process send udp request
$ echo "ping" | nc -u localhost 3000
- opening new UDP port in main.erl
- start udp_sup child tree
- open new udp socket
- start_child with socket
- udp_woker recieves all packet
- forward srtp packet to srtp_worekr, dtls_packet to dtls_worker (emulate)
- if one of udp/dtls/srtp worker terminate, other worker will terminate too