coturn TURN server project
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
|
|
|
|
|
## Developer
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Modules
|
|
|
|
|
|
|
|
|
|
The coturn repository includes different applications and libraries. The next diagram represents those modules and their dependencies:
|
|
|
|
|
|
|
|
|
|
```mermaid
|
|
|
|
|
---
|
|
|
|
|
config:
|
|
|
|
|
class:
|
|
|
|
|
hideEmptyMembersBox: true
|
|
|
|
|
---
|
|
|
|
|
classDiagram
|
|
|
|
|
note for relay "turn server process"
|
|
|
|
|
relay --> server
|
|
|
|
|
note for stunclient "STUN test app"
|
|
|
|
|
stunclient --> client
|
|
|
|
|
note for uclient "TURN test/stress app"
|
|
|
|
|
uclient --> common
|
|
|
|
|
uclient --> client
|
|
|
|
|
note for natdiscovery "discover NAT test app"
|
|
|
|
|
natdiscovery --> common
|
|
|
|
|
natdiscovery --> client
|
|
|
|
|
note for peer "fake receiver"
|
|
|
|
|
peer --> client
|
|
|
|
|
note for oauth "create&validate tokens"
|
|
|
|
|
oauth --> common
|
|
|
|
|
oauth --> client
|
|
|
|
|
note for rfc5769_check "run vector tests"
|
|
|
|
|
rfc5769_check --> common
|
|
|
|
|
|
|
|
|
|
note for client_cpp "C++ wrapper lib"
|
|
|
|
|
client_cpp --> client
|
|
|
|
|
relay --> common
|
|
|
|
|
namespace test_apps {
|
|
|
|
|
class stunclient {
|
|
|
|
|
}
|
|
|
|
|
class uclient {
|
|
|
|
|
}
|
|
|
|
|
class natdiscovery {
|
|
|
|
|
}
|
|
|
|
|
class peer {
|
|
|
|
|
}
|
|
|
|
|
class oauth {
|
|
|
|
|
}
|
|
|
|
|
class rfc5769_check {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Flow chart
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
### Edit flow chart
|
|
|
|
|
- Use [drawio](https://app.diagrams.net/) to edit.
|
|
|
|
|
|
|
|
|
|
1. Open [drawio](https://app.diagrams.net/) in brower
|
|
|
|
|
2. Menu → File → Open from ... → Device:
|
|
|
|
|
|
|
|
|
|
Select [FlowChart.html](drawio/FlowChart.html)
|
|
|
|
|
|
|
|
|
|
3. Edit flow chart
|
|
|
|
|
4. Export to svg:
|
|
|
|
|
|
|
|
|
|
Menu → File → Export as... → SVG...
|
|
|
|
|
|