-
Notifications
You must be signed in to change notification settings - Fork 1
/
JrtspGwApplication.uml
1097 lines (1096 loc) · 71.7 KB
/
JrtspGwApplication.uml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="UTF-8"?>
<Diagram>
<ID>JAVA</ID>
<OriginalElement>org.kkukie.jrtsp_gw.JrtspGwApplication</OriginalElement>
<nodes>
<node x="523.7658525379803" y="1152.1563469839318">org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpHandler.TxTask</node>
<node x="-122.0669535266369" y="733.0593811474002">org.kkukie.jrtsp_gw.config.SessionConfig</node>
<node x="-97.03234659304348" y="255.16150822259573">org.kkukie.jrtsp_gw.controller.MainServiceController</node>
<node x="-382.33889566530877" y="789.0593811474002">org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler</node>
<node x="215.66110433469123" y="1200.1240250384212">org.kkukie.jrtsp_gw.media.core.stream.rtp.statistics.RtpMember</node>
<node x="569.1780160951605" y="201.16150822259573">org.kkukie.jrtsp_gw.session.call.model.ConferenceInfo</node>
<node x="-989.9820369488903" y="623.0593811474002">org.kkukie.jrtsp_gw.media.core.stream.rtsp.statistics.RtpRxStatistics.StatisticsPrinter</node>
<node x="-780.5938266941046" y="1353.2860697613698">org.kkukie.jrtsp_gw.media.core.stream.rtp.port.PortManager</node>
<node x="201.46765340695652" y="1128.1240250384212">org.kkukie.jrtsp_gw.media.core.stream.rtp.statistics.RtpStatistics</node>
<node x="-1243.9820369488903" y="391.9924031005005">org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebRtcIceInfo</node>
<node x="-1211.4820369488903" y="491.0593811474003">org.kkukie.jrtsp_gw.media.core.stream.webrtc.websocket.model.ice.IceInfo</node>
<node x="398.1172200573476" y="663.0593811474002">org.kkukie.jrtsp_gw.service.ServiceManager.ShutDownHookHandler</node>
<node x="-123.83889566530877" y="1422.1563469839318">org.kkukie.jrtsp_gw.media.core.stream.rtp.crypto.DtlsSrtpClient</node>
<node x="577.1780160951605" y="340.2533128204635">org.kkukie.jrtsp_gw.session.media.base.SdpMediaInfo</node>
<node x="-503.5763450282459" y="503.49484155592904">org.kkukie.jrtsp_gw.media.core.manager.PacketSelector</node>
<node x="-1200.9820369488903" y="877.0296429269526">org.kkukie.jrtsp_gw.media.core.stream.rtsp.Streamer</node>
<node x="-147.0669535266369" y="889.0593811474002">org.kkukie.jrtsp_gw.media.core.stream.rtsp.netty.handler.RtspChannelHandler</node>
<node x="515.7658525379803" y="1352.1563469839318">org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpHandler.SsrcTask</node>
<node x="-292.2264519244176" y="255.16150822259573">org.kkukie.jrtsp_gw.media.core.model.DataChannel</node>
<node x="-1235.4820369488903" y="947.0296429269526">org.kkukie.jrtsp_gw.media.core.stream.rtsp.stream.network.LocalNetworkInfo</node>
<node x="-633.4286859342067" y="-245.83730733199462">org.kkukie.jrtsp_gw.media.core.stream.webrtc.websocket.command.OmeAnswer</node>
<node x="-683.4286859342067" y="-94.83849177740427">org.kkukie.jrtsp_gw.media.core.stream.webrtc.websocket.command.OmeRequestOffer</node>
<node x="-109.33889566530877" y="88.66150822259573">org.kkukie.jrtsp_gw.media.core.stream.stun.handler.IceHandler</node>
<node x="-503.5763450282459" y="255.16150822259573">org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.WebRtcService</node>
<node x="-369.33889566530877" y="689.0593811474002">org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler.SsrcTask</node>
<node x="-1286.9820369488903" y="623.0593811474002">org.kkukie.jrtsp_gw.media.core.stream.rtsp.netty.handler.StreamerChannelHandler</node>
<node x="-985.9820369488903" y="723.0593811474002">org.kkukie.jrtsp_gw.media.core.stream.rtsp.statistics.RtpRxStatistics</node>
<node x="162.16110433469123" y="1009.0296429269526">org.kkukie.jrtsp_gw.media.core.stream.rtp.channels.PacketHandlerException</node>
<node x="-134.83889566530877" y="1152.1563469839318">org.kkukie.jrtsp_gw.media.core.stream.dtls.DtlsHandler.HandshakeClient</node>
<node x="-139.5669535266369" y="-427.3384917774042">org.kkukie.jrtsp_gw.media.core.stream.rtp.channels.TransportAddress.TransportProtocol</node>
<node x="-984.396944303072" y="501.78868282341864">org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.NaiveSSLContext</node>
<node x="-795.0938266941046" y="1422.1563469839318">org.kkukie.jrtsp_gw.media.core.stream.rtp.port.RtpPortManager</node>
<node x="-671.9286859342067" y="155.16150822259573">org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebSocketInfo</node>
<node x="-1262.9820369488903" y="155.16150822259573">org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebRtcServiceInfo</node>
<node x="443.1172200573476" y="-153.07657968709395">org.kkukie.jrtsp_gw.media.core.stream.rtp.format.RTPFormats</node>
<node x="450.6172200573476" y="920.726047814067">org.kkukie.jrtsp_gw.service.scheduler.job.JobBuilder</node>
<node x="-1241.4820369488903" y="1009.0296429269526">org.kkukie.jrtsp_gw.media.core.stream.rtsp.stream.network.TargetNetworkInfo</node>
<node x="-949.2621096519083" y="920.726047814067">org.kkukie.jrtsp_gw.media.core.stream.rtsp.netty.module.RtspNettyChannel</node>
<node x="-1506.2067971835895" y="438.1136554032293">media.core.rtsp.sdp.SdpParser</node>
<node x="68.16110433469123" y="88.66150822259573">org.kkukie.jrtsp_gw.media.core.stream.stun.handler.HarvestHandler</node>
<node x="502.7658525379803" y="1252.1563469839318">org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpHandler</node>
<node x="451.1172200573476" y="473.0593811474003">org.kkukie.jrtsp_gw.service.monitor.HaHandler</node>
<node x="-674.9286859342067" y="761.1787561892932">org.kkukie.jrtsp_gw.media.core.stream.rtp.channels.PacketHandlerPipeline</node>
<node x="128.96765340695652" y="355.1615082225957">org.springframework.boot.context.properties.EnableConfigurationProperties</node>
<node x="-1208.9820369488903" y="689.0593811474002">org.kkukie.jrtsp_gw.media.core.stream.rtsp.stream.UdpStream</node>
<node x="-137.83889566530877" y="1352.1563469839318">org.kkukie.jrtsp_gw.media.core.stream.dtls.DtlsHandler.HandshakeServer</node>
<node x="-719.4286859342067" y="419.0593811474003">org.kkukie.jrtsp_gw.media.core.stream.webrtc.websocket.service.module.RTCPeerConnectionMaster</node>
<node x="-315.64866434206647" y="576.6434112987674">org.kkukie.jrtsp_gw.config.StunConfig</node>
<node x="-992.896944303072" y="401.7886828234187">org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.NaiveSSLContext.NaiveTrustManager</node>
<node x="19.66110433469123" y="155.16150822259573">org.kkukie.jrtsp_gw.media.core.stream.rtp.RtpInfo</node>
<node x="68.16110433469123" y="419.0593811474003">org.kkukie.jrtsp_gw.media.core.handler.RtpHandler</node>
<node x="162.46765340695652" y="155.16150822259573">org.springframework.boot.autoconfigure.SpringBootApplication</node>
<node x="-299.7264519244176" y="1009.0296429269526">org.kkukie.jrtsp_gw.media.core.stream.rtp.channels.PacketHandler</node>
<node x="-106.0669535266369" y="419.0593811474003">org.kkukie.jrtsp_gw.config.SdpConfig</node>
<node x="102.66110433469123" y="1352.1563469839318">org.kkukie.jrtsp_gw.media.core.stream.rtp.crypto.DtlsSrtpServerProvider</node>
<node x="-135.33889566530877" y="-258.0884917774043">org.kkukie.jrtsp_gw.media.core.stream.stun.events.IceEventListener</node>
<node x="-105.0669535266369" y="663.0593811474002">org.kkukie.jrtsp_gw.config.ConfigEnv</node>
<node x="-361.33889566530877" y="889.0593811474002">org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler.TxTask</node>
<node x="220.21347843633578" y="1568.1563469839318">org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpPacketFactory</node>
<node x="-1261.9820369488903" y="251.9924031005005">org.kkukie.jrtsp_gw.media.core.stream.webrtc.websocket.service.WebSocketService</node>
<node x="75.16110433469123" y="563.0593811474002">org.kkukie.jrtsp_gw.config.DefaultConfig</node>
<node x="-614.4286859342067" y="-145.17143029560106">org.kkukie.jrtsp_gw.media.core.stream.webrtc.websocket.command.OmeOffer</node>
<node x="-674.3837907997577" y="503.49484155592904">org.kkukie.jrtsp_gw.media.core.scheduler.WallClock</node>
<node x="556.6780160951605" y="121.16150822259573">org.kkukie.jrtsp_gw.session.call.ConferenceMaster</node>
<node x="-1208.4820369488903" y="789.0593811474002">org.kkukie.jrtsp_gw.media.core.stream.rtsp.stream.StreamInfo</node>
<node x="420.6172200573476" y="733.0593811474002">org.kkukie.jrtsp_gw.service.scheduler.schedule.ScheduleManager</node>
<node x="-153.33889566530877" y="-99.74668717953648">org.kkukie.jrtsp_gw.media.core.stream.stun.model.IceAuthenticatorImpl</node>
<node x="-474.5763450282459" y="603.494841555929">org.kkukie.jrtsp_gw.media.core.manager.PacketSelector.PollTask</node>
<node x="174.96765340695652" y="255.16150822259573">org.kkukie.jrtsp_gw.JrtspGwApplication</node>
<node x="-158.33889566530877" y="1568.1563469839318">org.kkukie.jrtsp_gw.media.core.stream.rtp.crypto.DtlsSrtpClientProvider</node>
<node x="479.1172200573476" y="789.0593811474002">org.kkukie.jrtsp_gw.service.scheduler.job.Job</node>
<node x="-106.5669535266369" y="491.0593811474003">org.kkukie.jrtsp_gw.config.DtlsConfig</node>
<node x="-125.5669535266369" y="563.0593811474002">org.kkukie.jrtsp_gw.config.ConfigManager</node>
<node x="577.1780160951605" y="276.35543989565895">org.kkukie.jrtsp_gw.session.media.MediaSession</node>
<node x="-1197.4820369488903" y="1128.1240250384212">org.kkukie.jrtsp_gw.media.core.stream.rtsp.stream.rtp.RtcpInfo</node>
<node x="-645.4286859342067" y="689.0593811474002">org.kkukie.jrtsp_gw.media.core.scheduler.ServiceScheduler</node>
<node x="-113.83889566530877" y="1252.1563469839318">org.kkukie.jrtsp_gw.media.core.stream.dtls.DtlsHandler</node>
<node x="-877.0421823549264" y="1009.0296429269526">org.kkukie.jrtsp_gw.media.core.stream.rtsp.netty.NettyChannelManager</node>
<node x="637.9708187366185" y="-164.82657968709395">org.kkukie.jrtsp_gw.media.core.stream.rtp.format.RTPFormat</node>
<node x="428.1172200573476" y="563.0593811474002">org.kkukie.jrtsp_gw.service.ServiceManager</node>
<node x="-138.5669535266369" y="-327.3384917774043">org.kkukie.jrtsp_gw.media.core.stream.rtp.channels.TransportAddress</node>
<node x="438.6172200573476" y="856.0593811474002">org.kkukie.jrtsp_gw.service.scheduler.job.JobContainer</node>
<node x="-655.4286859342067" y="-195.50436881379784">org.kkukie.jrtsp_gw.media.core.stream.webrtc.websocket.command.OmeCandidate</node>
<node x="278.66110433469123" y="88.66150822259573">org.kkukie.jrtsp_gw.media.core.stream.rtp.RtpPacket</node>
<node x="252.21347843633578" y="1492.1563469839318">org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpPacket</node>
<node x="-154.33889566530877" y="340.2533128204635">org.kkukie.jrtsp_gw.media.core.manager.PacketHandlerMaster</node>
<node x="-113.03234659304348" y="-195.50436881379784">org.kkukie.jrtsp_gw.media.core.stream.stun.events.SelectedCandidatesEvent</node>
<node x="-126.83889566530877" y="1492.1563469839318">org.kkukie.jrtsp_gw.media.core.stream.rtp.crypto.DtlsSrtpServer</node>
</nodes>
<notes />
<edges>
<edge source="org.kkukie.jrtsp_gw.session.call.model.ConferenceInfo" target="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.WebRtcService" relationship="CREATE">
<point x="89.0" y="0.0" />
<point x="832.6780160951605" y="217.66150822259573" />
<point x="832.6780160951605" y="46.5593811474003" />
<point x="-430.0763450282459" y="46.5593811474003" />
<point x="-15.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.NaiveSSLContext" target="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.NaiveSSLContext.NaiveTrustManager" relationship="CREATE">
<point x="0.0" y="-16.5" />
<point x="0.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtsp.netty.handler.RtspChannelHandler" target="org.kkukie.jrtsp_gw.session.call.model.ConferenceInfo" relationship="TO_ONE">
<point x="-10.5" y="16.5" />
<point x="-48.566953526636894" y="1083.0296429269526" />
<point x="924.1780160951605" y="1083.0296429269526" />
<point x="924.1780160951605" y="228.16150822259573" />
<point x="89.0" y="10.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebSocketInfo" target="org.kkukie.jrtsp_gw.media.core.manager.PacketSelector" relationship="TO_ONE">
<point x="86.85268593420665" y="16.5" />
<point x="-496.076" y="234.492" />
<point x="-309.0" y="234.492" />
<point x="-309.0" y="519.995" />
<point x="88.5" y="1.584440709621049E-4" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebSocketInfo" target="org.kkukie.jrtsp_gw.media.core.stream.webrtc.websocket.service.module.RTCPeerConnectionMaster" relationship="TO_ONE">
<point x="45.0" y="16.5" />
<point x="45.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtsp.Streamer" target="org.kkukie.jrtsp_gw.media.core.stream.rtsp.stream.network.TargetNetworkInfo" relationship="TO_ONE">
<point x="-64.0" y="-15.0" />
<point x="-1325.4820369488903" y="878.5296429269526" />
<point x="-1325.4820369488903" y="1025.5296429269526" />
<point x="-104.5" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.stun.handler.IceHandler" target="org.kkukie.jrtsp_gw.media.core.stream.stun.events.IceEventListener" relationship="TO_ONE">
<point x="15.0" y="-16.5" />
<point x="-25.33889566530877" y="16.559381147400302" />
<point x="913.6780160951605" y="16.559381147400302" />
<point x="913.6780160951605" y="-241.58849177740427" />
<point x="95.0" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.model.DataChannel" target="org.kkukie.jrtsp_gw.media.core.manager.PacketSelector" relationship="TO_ONE">
<point x="-77.99954807558242" y="4.91777404278082E-4" />
<point x="-309.0" y="271.66200000000003" />
<point x="-309.0" y="519.995" />
<point x="88.5" y="1.584440709621049E-4" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtsp.Streamer" target="org.kkukie.jrtsp_gw.media.core.stream.rtsp.stream.StreamInfo" relationship="TO_ONE">
<point x="15.0" y="-16.5" />
<point x="15.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.service.scheduler.job.JobBuilder" target="org.kkukie.jrtsp_gw.service.scheduler.job.Job" relationship="TO_ONE">
<point x="-68.5" y="-15.0" />
<point x="365.6172200573476" y="922.226047814067" />
<point x="365.6172200573476" y="805.5593811474002" />
<point x="-40.0" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.dtls.DtlsHandler.HandshakeServer" target="org.kkukie.jrtsp_gw.media.core.stream.dtls.DtlsHandler" relationship="INNER_CLASS">
<point x="-1.0433469122972383E-4" y="-16.5" />
<point x="-40.339" y="1302.656" />
<point x="-139.0" y="1302.656" />
<point x="-139.0" y="1268.656" />
<point x="-73.5" y="-3.4698393187682086E-4" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtsp.netty.handler.RtspChannelHandler" target="org.kkukie.jrtsp_gw.config.DefaultConfig" relationship="TO_ONE">
<point x="0.0" y="-16.5" />
<point x="-38.066953526636894" y="805.5593811474002" />
<point x="157.66110433469123" y="805.5593811474002" />
<point x="0.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler" target="org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler.TxTask" relationship="TO_ONE">
<point x="15.0" y="16.5" />
<point x="15.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.handler.RtpHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.RtpPacket" relationship="CREATE">
<point x="71.5" y="15.0" />
<point x="817.6780160951605" y="450.5593811474003" />
<point x="817.6780160951605" y="56.16150822259573" />
<point x="346.66110433469123" y="56.16150822259573" />
<point x="0.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.config.ConfigManager" target="org.kkukie.jrtsp_gw.config.DtlsConfig" relationship="CREATE">
<point x="-30.000309936523536" y="-16.5" />
<point x="-30.000309936523536" y="16.499999999999943" />
</edge>
<edge source="org.kkukie.jrtsp_gw.config.ConfigManager" target="org.kkukie.jrtsp_gw.config.DefaultConfig" relationship="CREATE">
<point x="87.5" y="0.0" />
<point x="-82.5" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.session.call.ConferenceMaster" target="org.kkukie.jrtsp_gw.session.call.ConferenceMaster" relationship="TO_ONE">
<point x="0.0" y="16.5" />
<point x="658.1780160951605" y="171.66150822259573" />
<point x="802.6780160951605" y="171.66150822259573" />
<point x="802.6780160951605" y="152.66150822259573" />
<point x="101.5" y="15.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpHandler.SsrcTask" target="org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpHandler" relationship="INNER_CLASS">
<point x="63.00014746201964" y="-3.4698393187682086E-4" />
<point x="672.266" y="1368.656" />
<point x="672.266" y="1219.0" />
<point x="578.766" y="1219.0" />
<point x="1.4746201964044303E-4" y="-16.500346983931877" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.model.DataChannel" target="org.kkukie.jrtsp_gw.media.core.manager.PacketHandlerMaster" relationship="CREATE">
<point x="25.5" y="16.5" />
<point x="-188.72645192441757" y="362.6615082225957" />
<point x="-114.0" y="5.908195402132208" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler" target="org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler.SsrcTask" relationship="TO_ONE">
<point x="29.99989566530877" y="-16.5" />
<point x="29.99989566530877" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler" target="org.kkukie.jrtsp_gw.media.core.scheduler.ServiceScheduler" relationship="CREATE">
<point x="-15.00010433469123" y="-16.5" />
<point x="-321.339" y="740.559" />
<point x="-384.0" y="740.559" />
<point x="-384.0" y="705.559" />
<point x="96.9996859342067" y="-3.811474002759496E-4" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtsp.netty.NettyChannelManager" target="org.kkukie.jrtsp_gw.media.core.stream.rtsp.netty.module.RtspNettyChannel" relationship="CREATE">
<point x="-88.71992729698195" y="-16.5" />
<point x="0.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebSocketInfo" target="org.kkukie.jrtsp_gw.media.core.stream.webrtc.websocket.command.OmeCandidate" relationship="CREATE">
<point x="89.0" y="10.5" />
<point x="-297.64866434206647" y="182.16150822259573" />
<point x="-297.64866434206647" y="-179.00436881379784" />
<point x="86.5" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.manager.PacketSelector.PollTask" target="org.kkukie.jrtsp_gw.media.core.manager.PacketSelector" relationship="INNER_CLASS">
<point x="30.0" y="-16.5" />
<point x="30.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.dtls.DtlsHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.crypto.DtlsSrtpServer" relationship="TO_ONE">
<point x="-15.00010433469123" y="16.5" />
<point x="-55.339" y="1332.656" />
<point x="-155.33889566530877" y="1332.656" />
<point x="-155.33889566530877" y="1508.6563469839318" />
<point x="-86.5" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.model.DataChannel" target="org.kkukie.jrtsp_gw.session.media.MediaSession" relationship="TO_ONE">
<point x="10.5" y="16.5" />
<point x="-203.72645192441757" y="301.1615082225957" />
<point x="-81.0" y="8.306068326936781" />
</edge>
<edge source="org.kkukie.jrtsp_gw.service.ServiceManager" target="org.kkukie.jrtsp_gw.service.ServiceManager" relationship="TO_ONE">
<point x="25.5" y="16.5" />
<point x="544.6172200573476" y="622.6434112987674" />
<point x="623.1172200573476" y="622.6434112987674" />
<point x="623.1172200573476" y="590.0593811474002" />
<point x="91.0" y="10.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.manager.PacketSelector" target="org.kkukie.jrtsp_gw.media.core.manager.PacketSelector.PollTask" relationship="CREATE">
<point x="0.0" y="16.5" />
<point x="0.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.manager.PacketHandlerMaster" target="org.kkukie.jrtsp_gw.media.core.handler.RtpHandler" relationship="TO_ONE">
<point x="111.0" y="16.5" />
<point x="-69.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.manager.PacketHandlerMaster" target="org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler" relationship="CREATE">
<point x="0.0" y="16.5" />
<point x="-40.33889566530877" y="404.7886828234187" />
<point x="888.1780160951605" y="404.7886828234187" />
<point x="888.1780160951605" y="966.726047814067" />
<point x="-238.33889566530877" y="966.726047814067" />
<point x="68.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler" target="org.kkukie.jrtsp_gw.media.core.stream.dtls.DtlsHandler" relationship="TO_ONE">
<point x="75.99989566530877" y="-9.500381147400276" />
<point x="61.933" y="796.059" />
<point x="61.933" y="529.495" />
<point x="42.433" y="529.495" />
<point x="42.433" y="390.0" />
<point x="123.0" y="390.0" />
<point x="123.0" y="1268.656" />
<point x="73.49989566530877" y="-3.4698393187682086E-4" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpHandler" target="org.kkukie.jrtsp_gw.media.core.stream.dtls.DtlsHandler" relationship="TO_ONE">
<point x="-76.0" y="-3.4698393187682086E-4" />
<point x="169.66110433469123" y="1268.656" />
<point x="169.66110433469123" y="1217.656" />
<point x="4.661000000000001" y="1217.656" />
<point x="44.99989566530877" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.session.media.MediaSession" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.format.RTPFormats" relationship="TO_MANY">
<point x="-81.0000160951605" y="-6.693439895658969" />
<point x="516.0" y="286.162" />
<point x="516.0" y="-98.247" />
<point x="564.178" y="-98.247" />
<point x="45.0607799426524" y="16.499579687093956" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.channels.PacketHandler" relationship="REALIZATION">
<point x="75.99989566530877" y="14.999618852599724" />
<point x="-163.0" y="820.559" />
<point x="51.226451924417574" y="-16.499642926952674" />
</edge>
<edge source="org.kkukie.jrtsp_gw.service.ServiceManager" target="org.kkukie.jrtsp_gw.service.monitor.HaHandler" relationship="CREATE">
<point x="-15.000483520508055" y="-16.5" />
<point x="-15.000483520508055" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtsp.stream.StreamInfo" target="org.kkukie.jrtsp_gw.media.core.stream.rtsp.stream.UdpStream" relationship="TO_ONE">
<point x="0.0" y="-16.5" />
<point x="0.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.handler.RtpHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.RtpInfo" relationship="CREATE">
<point x="71.5" y="-10.5" />
<point x="445.9676534069565" y="425.0593811474003" />
<point x="445.9676534069565" y="142.16150822259573" />
<point x="75.16110433469123" y="142.16150822259573" />
<point x="0.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.statistics.RtpStatistics" relationship="TO_ONE">
<point x="29.99989566530877" y="16.499618852599724" />
<point x="-276.339" y="839.559" />
<point x="328.0" y="839.559" />
<point x="328.0" y="981.726" />
<point x="142.661" y="981.726" />
<point x="142.661" y="1159.656" />
<point x="-79.49965340695653" y="15.031974961578726" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpHandler.TxTask" relationship="CREATE">
<point x="-14.99985253798036" y="-16.5" />
<point x="-14.99985253798036" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.service.ServiceManager" target="org.kkukie.jrtsp_gw.service.scheduler.schedule.ScheduleManager" relationship="CREATE">
<point x="-15.0" y="16.5" />
<point x="504.1172200573476" y="642.1434112987674" />
<point x="657.6172200573476" y="642.1434112987674" />
<point x="657.6172200573476" y="749.5593811474002" />
<point x="98.5" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebRtcIceInfo" target="org.kkukie.jrtsp_gw.media.core.stream.webrtc.websocket.model.ice.IceInfo" relationship="TO_ONE">
<point x="0.0" y="16.5" />
<point x="0.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebSocketInfo" target="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebRtcIceInfo" relationship="TO_ONE">
<point x="-30.0" y="-16.5" />
<point x="-612.9286859342067" y="-13.440618852599698" />
<point x="-1280.4820369488903" y="-13.440618852599698" />
<point x="-1280.4820369488903" y="408.4924031005005" />
<point x="-85.5" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.manager.PacketHandlerMaster" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.channels.PacketHandlerPipeline" relationship="TO_ONE">
<point x="-33.66110433469123" y="16.5" />
<point x="-74.0" y="386.2533128204635" />
<point x="-413.5763450282459" y="386.2533128204635" />
<point x="-413.5763450282459" y="484.0593811474003" />
<point x="-687.9286859342067" y="484.0593811474003" />
<point x="-687.9286859342067" y="777.6787561892932" />
<point x="-117.0" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.manager.PacketHandlerMaster" target="org.kkukie.jrtsp_gw.media.core.stream.dtls.DtlsHandler" relationship="TO_ONE">
<point x="72.83889566530877" y="16.499687179536465" />
<point x="32.5" y="390.0" />
<point x="123.0" y="390.0" />
<point x="123.0" y="1268.656" />
<point x="73.49989566530877" y="-3.4698393187682086E-4" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtp.RtpInfo" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.RtpPacket" relationship="TO_ONE">
<point x="-24.5" y="-16.5" />
<point x="50.66110433469123" y="31.559381147400302" />
<point x="331.66110433469123" y="31.559381147400302" />
<point x="-15.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.session.call.ConferenceMaster" target="org.kkukie.jrtsp_gw.session.call.model.ConferenceInfo" relationship="TO_MANY">
<point x="15.0" y="16.5" />
<point x="15.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtp.format.RTPFormat" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.format.RTPFormat" relationship="CREATE">
<point x="-71.49981873661852" y="-4.203129060442734E-4" />
<point x="617.0" y="-148.327" />
<point x="617.0" y="-148.327" />
<point x="-71.49981873661852" y="-4.203129060442734E-4" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtsp.netty.NettyChannelManager" target="org.kkukie.jrtsp_gw.media.core.stream.rtsp.netty.NettyChannelManager" relationship="CREATE">
<point x="-7.0" y="16.5" />
<point x="-766.5421823549264" y="1072.5296429269526" />
<point x="-624.5421823549264" y="1072.5296429269526" />
<point x="-624.5421823549264" y="1021.0296429269526" />
<point x="117.5" y="-4.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.manager.PacketHandlerMaster" target="org.kkukie.jrtsp_gw.session.media.MediaSession" relationship="TO_ONE">
<point x="0.0" y="-16.5" />
<point x="-40.33889566530877" y="322.35543989565895" />
<point x="647.6780160951605" y="322.35543989565895" />
<point x="-10.5" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtp.statistics.RtpStatistics" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.statistics.RtpMember" relationship="TO_MANY">
<point x="7.693450927734716" y="16.5" />
<point x="0.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.session.call.ConferenceMaster" target="org.kkukie.jrtsp_gw.session.call.ConferenceMaster" relationship="CREATE">
<point x="10.5" y="-16.5" />
<point x="668.6780160951605" y="76.5593811474003" />
<point x="787.6780160951605" y="76.5593811474003" />
<point x="787.6780160951605" y="137.66150822259573" />
<point x="101.5" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.dtls.DtlsHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.crypto.DtlsSrtpServerProvider" relationship="TO_ONE">
<point x="59.99989566530877" y="16.5" />
<point x="19.661" y="1332.656" />
<point x="123.0" y="1332.656" />
<point x="-100.66110433469123" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtsp.Streamer" target="org.kkukie.jrtsp_gw.media.core.stream.rtsp.stream.rtp.RtcpInfo" relationship="CREATE">
<point x="-64.0" y="10.5" />
<point x="-1254.4820369488903" y="904.0296429269526" />
<point x="-1254.4820369488903" y="1144.6240250384212" />
<point x="-60.5" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.websocket.service.WebSocketService" target="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebSocketInfo" relationship="TO_ONE">
<point x="15.0" y="16.5" />
<point x="-1143.4820369488903" y="305.6615082225957" />
<point x="-567.9286859342067" y="305.6615082225957" />
<point x="15.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.manager.PacketHandlerMaster" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.statistics.RtpStatistics" relationship="CREATE">
<point x="0.0" y="-16.5" />
<point x="-40.33889566530877" y="330.2533128204635" />
<point x="370.4676534069565" y="330.2533128204635" />
<point x="370.4676534069565" y="1144.6240250384212" />
<point x="79.5" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebSocketInfo" target="org.kkukie.jrtsp_gw.media.core.model.DataChannel" relationship="TO_ONE">
<point x="60.0" y="16.5" />
<point x="-522.9286859342067" y="326.85543989565895" />
<point x="-214.22645192441757" y="326.85543989565895" />
<point x="0.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.service.ServiceManager.ShutDownHookHandler" target="org.kkukie.jrtsp_gw.service.ServiceManager" relationship="INNER_CLASS">
<point x="15.0" y="-16.5" />
<point x="15.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.dtls.DtlsHandler" target="org.kkukie.jrtsp_gw.media.core.stream.dtls.DtlsHandler.HandshakeClient" relationship="CREATE">
<point x="14.99989566530877" y="-16.5" />
<point x="14.99989566530877" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.JrtspGwApplication" target="org.springframework.boot.context.properties.EnableConfigurationProperties" relationship="REALIZATION">
<point x="0.0" y="16.5" />
<point x="0.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebSocketInfo" target="org.kkukie.jrtsp_gw.media.core.stream.webrtc.websocket.command.OmeOffer" relationship="CREATE">
<point x="89.0" y="0.0" />
<point x="-308.14866434206647" y="171.66150822259573" />
<point x="-308.14866434206647" y="-128.67143029560106" />
<point x="66.0" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.service.ServiceManager" target="org.kkukie.jrtsp_gw.service.ServiceManager" relationship="CREATE">
<point x="14.999516479491945" y="-16.5" />
<point x="534.1167365368395" y="543.6895538768927" />
<point x="627.6172200573476" y="543.6895538768927" />
<point x="627.6172200573476" y="579.5593811474002" />
<point x="91.0" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.config.ConfigManager" target="org.kkukie.jrtsp_gw.config.StunConfig" relationship="TO_ONE">
<point x="-87.5" y="9.0" />
<point x="71.5" y="-4.5840301513671875" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.manager.PacketHandlerMaster" target="org.kkukie.jrtsp_gw.media.core.stream.stun.model.IceAuthenticatorImpl" relationship="CREATE">
<point x="92.77194213867188" y="16.5" />
<point x="52.433046473363106" y="519.0593811474002" />
<point x="898.6780160951605" y="519.0593811474002" />
<point x="898.6780160951605" y="-83.24668717953648" />
<point x="113.0" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtsp.Streamer" target="org.kkukie.jrtsp_gw.media.core.stream.rtsp.stream.UdpStream" relationship="CREATE">
<point x="-64.0" y="0.0" />
<point x="-1310.4820369488903" y="893.5296429269526" />
<point x="-1310.4820369488903" y="705.5593811474002" />
<point x="-72.0" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler.TxTask" target="org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler" relationship="INNER_CLASS">
<point x="-55.0" y="-3.811474002759496E-4" />
<point x="-399.839" y="905.559" />
<point x="-399.839" y="756.0" />
<point x="-306.339" y="756.0" />
<point x="-1.0433469122972383E-4" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.manager.PacketSelector" target="org.kkukie.jrtsp_gw.media.core.manager.PacketSelector.PollTask" relationship="TO_MANY">
<point x="15.0" y="16.5" />
<point x="15.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.channels.PacketHandlerException" relationship="CREATE">
<point x="-15.00010433469123" y="16.499618852599724" />
<point x="-321.339" y="858.0" />
<point x="288.661" y="858.0" />
<point x="-1.0433469122972383E-4" y="-16.499642926952674" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.manager.PacketHandlerMaster" target="org.kkukie.jrtsp_gw.media.core.stream.stun.handler.IceHandler" relationship="TO_ONE">
<point x="-82.0" y="-16.5" />
<point x="-122.33889566530877" y="105.16150822259573" />
<point x="-69.0" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.manager.PacketSelector" target="org.kkukie.jrtsp_gw.media.core.scheduler.ServiceScheduler" relationship="CREATE">
<point x="77.00034502824587" y="16.5" />
<point x="-338.076" y="671.559" />
<point x="-384.0" y="671.559" />
<point x="-384.0" y="705.559" />
<point x="96.9996859342067" y="-3.811474002759496E-4" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtsp.netty.handler.RtspChannelHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtsp.Streamer" relationship="TO_ONE">
<point x="-21.0" y="16.5" />
<point x="-59.066953526636894" y="1093.5296429269526" />
<point x="-1340.4820369488903" y="1093.5296429269526" />
<point x="-1340.4820369488903" y="929.5296429269526" />
<point x="-1151.9820369488903" y="929.5296429269526" />
<point x="-15.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebSocketInfo" target="org.kkukie.jrtsp_gw.session.media.MediaSession" relationship="TO_ONE">
<point x="0.0" y="-16.5" />
<point x="-582.9286859342067" y="-28.440618852599698" />
<point x="877.6780160951605" y="-28.440618852599698" />
<point x="877.6780160951605" y="292.85543989565895" />
<point x="81.0" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.websocket.service.WebSocketService" target="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebRtcServiceInfo" relationship="CREATE">
<point x="0.0" y="-16.5" />
<point x="0.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtsp.Streamer" target="org.kkukie.jrtsp_gw.media.core.stream.rtsp.statistics.RtpRxStatistics" relationship="TO_ONE">
<point x="64.0" y="-7.470261779552402" />
<point x="-896.9820369488903" y="886.0593811474002" />
<point x="0.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.channels.PacketHandlerException" relationship="CREATE">
<point x="-72.5" y="-16.5" />
<point x="506.2658525379803" y="1025.5296429269526" />
<point x="126.5" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.config.ConfigManager" target="org.kkukie.jrtsp_gw.config.SessionConfig" relationship="CREATE">
<point x="-30.0" y="16.5" />
<point x="-68.0669535266369" y="642.1434112987674" />
<point x="-180.14866434206647" y="642.1434112987674" />
<point x="-180.14866434206647" y="749.5593811474002" />
<point x="-84.0" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtp.crypto.DtlsSrtpServerProvider" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.crypto.DtlsSrtpServer" relationship="CREATE">
<point x="0.0" y="16.5" />
<point x="223.66110433469123" y="1508.6563469839318" />
<point x="86.5" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler" target="org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler.TxTask" relationship="CREATE">
<point x="0.0" y="16.5" />
<point x="0.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtp.channels.TransportAddress.TransportProtocol" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.channels.TransportAddress" relationship="INNER_CLASS">
<point x="15.0" y="16.5" />
<point x="15.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.WebRtcService" target="org.kkukie.jrtsp_gw.media.core.stream.webrtc.websocket.service.WebSocketService" relationship="TO_ONE">
<point x="-88.5" y="-3.1691051220952318" />
<point x="103.5" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.stun.handler.IceHandler" target="org.kkukie.jrtsp_gw.media.core.stream.stun.events.SelectedCandidatesEvent" relationship="CREATE">
<point x="-15.0" y="-16.5" />
<point x="-55.33889566530877" y="-13.440618852599698" />
<point x="-229.22645192441757" y="-13.440618852599698" />
<point x="-229.22645192441757" y="-179.00436881379784" />
<point x="-132.0" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.stun.handler.IceHandler" target="org.kkukie.jrtsp_gw.media.core.stream.stun.handler.HarvestHandler" relationship="TO_ONE">
<point x="0.0" y="-16.5" />
<point x="-40.33889566530877" y="71.16150822259573" />
<point x="157.66110433469123" y="71.16150822259573" />
<point x="0.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.service.ServiceManager" target="org.kkukie.jrtsp_gw.config.DefaultConfig" relationship="TO_ONE">
<point x="-4.835205080553351E-4" y="-16.499827270507694" />
<point x="519.1167365368395" y="543.6895538768927" />
<point x="157.66073653683955" y="543.6895538768927" />
<point x="-3.6779785168050694E-4" y="-16.499827270507694" />
</edge>
<edge source="org.kkukie.jrtsp_gw.config.ConfigManager" target="org.kkukie.jrtsp_gw.config.DtlsConfig" relationship="TO_ONE">
<point x="-15.000309936523536" y="-16.5" />
<point x="-15.000309936523536" y="16.499999999999943" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtsp.stream.UdpStream" target="org.kkukie.jrtsp_gw.media.core.stream.rtsp.netty.handler.StreamerChannelHandler" relationship="CREATE">
<point x="-21.5" y="-16.5" />
<point x="0.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtsp.netty.module.RtspNettyChannel" target="org.kkukie.jrtsp_gw.media.core.stream.rtsp.netty.handler.RtspChannelHandler" relationship="CREATE">
<point x="101.0" y="2.3333333333332575" />
<point x="-74.0669535266369" y="939.5593811474002" />
<point x="-36.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.manager.PacketHandlerMaster" target="org.kkukie.jrtsp_gw.media.core.handler.RtpHandler" relationship="CREATE">
<point x="114.0" y="5.908195402132208" />
<point x="111.46765340695652" y="362.6615082225957" />
<point x="-28.193450927734716" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler.SsrcTask" target="org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler" relationship="INNER_CLASS">
<point x="-1.0433469122972383E-4" y="16.499618852599724" />
<point x="-1.0433469122972383E-4" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtsp.netty.module.RtspNettyChannel" target="org.kkukie.jrtsp_gw.media.core.stream.rtsp.Streamer" relationship="CREATE">
<point x="0.0" y="-16.5" />
<point x="-848.2621096519083" y="838.5593811474002" />
<point x="-1106.9820369488903" y="838.5593811474002" />
<point x="30.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.handler.RtpHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.channels.PacketHandler" relationship="REALIZATION">
<point x="-1.0433469122972383E-4" y="16.499618852599724" />
<point x="139.661" y="498.559" />
<point x="268.161" y="498.559" />
<point x="268.161" y="820.559" />
<point x="-163.0" y="820.559" />
<point x="51.226451924417574" y="-16.499642926952674" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.handler.RtpHandler" target="org.kkukie.jrtsp_gw.media.core.stream.dtls.DtlsHandler" relationship="TO_ONE">
<point x="-43.19310433469123" y="-16.5" />
<point x="96.468" y="390.0" />
<point x="123.0" y="390.0" />
<point x="123.0" y="1268.656" />
<point x="73.49989566530877" y="-3.4698393187682086E-4" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.handler.RtpHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.format.RTPFormats" relationship="TO_MANY">
<point x="71.49989566530877" y="-3.811474002759496E-4" />
<point x="516.0" y="435.559" />
<point x="516.0" y="-98.247" />
<point x="564.178" y="-98.247" />
<point x="45.0607799426524" y="16.499579687093956" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpPacket" relationship="CREATE">
<point x="-29.99985253798036" y="16.499653016068123" />
<point x="548.766" y="1332.656" />
<point x="473.117" y="1332.656" />
<point x="473.117" y="1404.0" />
<point x="325.213" y="1404.0" />
<point x="-4.7843633575439526E-4" y="-16.500346983931877" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.handler.RtpHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.statistics.RtpStatistics" relationship="TO_ONE">
<point x="13.49989566530877" y="16.499618852599724" />
<point x="153.161" y="488.059" />
<point x="328.0" y="488.059" />
<point x="328.0" y="981.726" />
<point x="142.661" y="981.726" />
<point x="142.661" y="1159.656" />
<point x="-79.49965340695653" y="15.031974961578726" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebSocketInfo" target="org.kkukie.jrtsp_gw.media.core.stream.webrtc.websocket.command.OmeRequestOffer" relationship="CREATE">
<point x="-45.0" y="-16.5" />
<point x="-45.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.stun.handler.IceHandler" target="org.kkukie.jrtsp_gw.media.core.stream.stun.handler.HarvestHandler" relationship="CREATE">
<point x="69.0" y="0.0" />
<point x="-89.5" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpHandler.SsrcTask" relationship="TO_ONE">
<point x="0.0" y="16.5" />
<point x="0.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtsp.Streamer" target="org.kkukie.jrtsp_gw.media.core.stream.rtsp.statistics.RtpRxStatistics" relationship="CREATE">
<point x="64.0" y="13.529738220447598" />
<point x="-890.9820369488903" y="907.0593811474002" />
<point x="6.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpHandler.TxTask" relationship="TO_ONE">
<point x="-29.99985253798036" y="-16.5" />
<point x="-29.99985253798036" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtp.format.RTPFormats" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.format.RTPFormat" relationship="CREATE">
<point x="75.99977994265237" y="-4.203129060442734E-4" />
<point x="617.0" y="-136.577" />
<point x="617.0" y="-148.327" />
<point x="-71.49981873661852" y="-4.203129060442734E-4" />
</edge>
<edge source="org.kkukie.jrtsp_gw.service.ServiceManager" target="org.kkukie.jrtsp_gw.service.ServiceManager.ShutDownHookHandler" relationship="CREATE">
<point x="0.0" y="16.5" />
<point x="0.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.stun.handler.IceHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.channels.PacketHandlerException" relationship="CREATE">
<point x="14.99989566530877" y="16.5" />
<point x="-25.339" y="232.662" />
<point x="473.617" y="232.662" />
<point x="473.617" y="466.059" />
<point x="283.161" y="466.059" />
<point x="283.161" y="858.0" />
<point x="288.661" y="858.0" />
<point x="-1.0433469122972383E-4" y="-16.499642926952674" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtsp.Streamer" target="org.kkukie.jrtsp_gw.media.core.stream.rtsp.stream.network.LocalNetworkInfo" relationship="TO_ONE">
<point x="0.0" y="16.5" />
<point x="0.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtsp.Streamer" target="org.kkukie.jrtsp_gw.media.core.stream.rtsp.stream.StreamInfo" relationship="CREATE">
<point x="0.0" y="-16.5" />
<point x="0.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtsp.netty.module.RtspNettyChannel" target="org.kkukie.jrtsp_gw.media.core.stream.rtsp.Streamer" relationship="TO_MANY">
<point x="-101.0" y="-7.6964048871143405" />
<point x="-1106.9820369488903" y="929.5296429269526" />
<point x="30.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.manager.PacketHandlerMaster" target="org.kkukie.jrtsp_gw.media.core.scheduler.WallClock" relationship="CREATE">
<point x="-23.16110433469123" y="16.499687179536465" />
<point x="-63.5" y="397.0" />
<point x="-732.429" y="397.0" />
<point x="-732.429" y="519.995" />
<point x="-65.0" y="1.584440709621049E-4" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtsp.netty.NettyChannelManager" target="org.kkukie.jrtsp_gw.media.core.stream.rtsp.netty.NettyChannelManager" relationship="TO_ONE">
<point x="0.0" y="-16.5" />
<point x="-759.5421823549264" y="994.0296429269526" />
<point x="-598.8318196667224" y="994.0296429269526" />
<point x="-598.8318196667224" y="1036.0296429269526" />
<point x="117.5" y="10.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.session.media.MediaSession" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.format.RTPFormat" relationship="CREATE">
<point x="-25.500016095160504" y="-16.50043989565893" />
<point x="632.678" y="247.162" />
<point x="543.678" y="247.162" />
<point x="543.678" y="99.162" />
<point x="617.0" y="99.162" />
<point x="617.0" y="-148.327" />
<point x="-71.49981873661852" y="-4.203129060442734E-4" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtsp.Streamer" target="org.kkukie.jrtsp_gw.media.core.stream.rtsp.stream.network.TargetNetworkInfo" relationship="CREATE">
<point x="64.0" y="3.029738220447598" />
<point x="-976.896944303072" y="896.5593811474002" />
<point x="-976.896944303072" y="1025.5296429269526" />
<point x="104.5" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.session.media.MediaSession" target="org.kkukie.jrtsp_gw.session.media.base.SdpMediaInfo" relationship="CREATE">
<point x="0.0" y="16.5" />
<point x="0.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtsp.Streamer" target="org.kkukie.jrtsp_gw.media.core.stream.rtsp.stream.rtp.RtcpInfo" relationship="TO_ONE">
<point x="-10.5" y="-16.5" />
<point x="-1147.4820369488903" y="864.0296429269526" />
<point x="-1260.4820369488903" y="864.0296429269526" />
<point x="-1260.4820369488903" y="1150.6240250384212" />
<point x="-60.5" y="6.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.websocket.service.WebSocketService" target="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebSocketInfo" relationship="CREATE">
<point x="30.0" y="-16.5" />
<point x="-1128.4820369488903" y="217.66150822259573" />
<point x="-582.9286859342067" y="217.66150822259573" />
<point x="0.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpPacketFactory" target="org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpPacket" relationship="CREATE">
<point x="0.0" y="-16.5" />
<point x="0.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.model.DataChannel" target="org.kkukie.jrtsp_gw.media.core.manager.PacketHandlerMaster" relationship="TO_ONE">
<point x="67.3875562591088" y="16.5" />
<point x="-106.5" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.manager.PacketHandlerMaster" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.channels.PacketHandlerPipeline" relationship="CREATE">
<point x="-114.0" y="0.0" />
<point x="-164.33889566530877" y="356.7533128204635" />
<point x="-164.33889566530877" y="777.6787561892932" />
<point x="117.0" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebRtcIceInfo" target="org.kkukie.jrtsp_gw.media.core.stream.webrtc.websocket.model.ice.IceInfo" relationship="CREATE">
<point x="15.0" y="16.5" />
<point x="15.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebSocketInfo" target="org.kkukie.jrtsp_gw.media.core.manager.PacketSelector" relationship="CREATE">
<point x="-60.0" y="-16.5" />
<point x="-642.9286859342067" y="103.66150822259573" />
<point x="-1295.4820369488903" y="103.66150822259573" />
<point x="-1295.4820369488903" y="584.1434112987674" />
<point x="-430.0763450282459" y="584.1434112987674" />
<point x="-15.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.config.ConfigManager" target="org.kkukie.jrtsp_gw.config.StunConfig" relationship="CREATE">
<point x="-45.0" y="16.5" />
<point x="-83.0669535266369" y="627.1434112987674" />
<point x="-244.14866434206647" y="627.1434112987674" />
<point x="0.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.config.SdpConfig" target="media.core.rtsp.sdp.SdpParser" relationship="TO_ONE">
<point x="-15.0" y="16.5" />
<point x="-53.066953526636894" y="469.5593811474003" />
<point x="-1438.7067971835895" y="469.5593811474003" />
<point x="0.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.config.ConfigManager" target="org.kkukie.jrtsp_gw.config.SdpConfig" relationship="CREATE">
<point x="-45.000309936523536" y="-16.5" />
<point x="-83.06726346316043" y="543.6895538768927" />
<point x="-180.14866434206647" y="543.6895538768927" />
<point x="-180.14866434206647" y="420.5593811474003" />
<point x="-68.0" y="-15.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.service.ServiceManager" target="org.kkukie.jrtsp_gw.service.scheduler.job.JobBuilder" relationship="CREATE">
<point x="-30.0" y="16.5" />
<point x="489.1172200573476" y="642.1434112987674" />
<point x="232.66110433469123" y="642.1434112987674" />
<point x="232.66110433469123" y="937.226047814067" />
<point x="-68.5" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.config.ConfigManager" target="org.kkukie.jrtsp_gw.config.SdpConfig" relationship="TO_ONE">
<point x="-86.0" y="-16.5" />
<point x="-124.0669535266369" y="435.5593811474003" />
<point x="-68.0" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.dtls.DtlsHandler.HandshakeClient" target="org.kkukie.jrtsp_gw.media.core.stream.dtls.DtlsHandler" relationship="INNER_CLASS">
<point x="-1.0433469122972383E-4" y="16.499653016068123" />
<point x="-40.339" y="1234.656" />
<point x="-139.0" y="1234.656" />
<point x="-139.0" y="1268.656" />
<point x="-73.5" y="-3.4698393187682086E-4" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtsp.netty.NettyChannelManager" target="org.kkukie.jrtsp_gw.media.core.stream.rtsp.netty.module.RtspNettyChannel" relationship="TO_ONE">
<point x="-73.71992729698195" y="-16.5" />
<point x="15.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.model.DataChannel" target="org.kkukie.jrtsp_gw.media.core.stream.stun.events.IceEventListener" relationship="REALIZATION">
<point x="15.0" y="-16.5" />
<point x="-199.22645192441757" y="-238.33730733199462" />
<point x="-95.0" y="3.251184445409649" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler" target="org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler.SsrcTask" relationship="CREATE">
<point x="14.99989566530877" y="-16.5" />
<point x="14.99989566530877" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.websocket.service.WebSocketService" target="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebRtcIceInfo" relationship="TO_ONE">
<point x="-15.0" y="16.5" />
<point x="-15.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.dtls.DtlsHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.crypto.DtlsSrtpClient" relationship="TO_ONE">
<point x="29.99989566530877" y="16.5" />
<point x="-10.338999999999999" y="1302.656" />
<point x="458.1172200573476" y="1302.656" />
<point x="458.1172200573476" y="1438.6563469839318" />
<point x="83.5" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpPacket" relationship="CREATE">
<point x="-72.50010433469123" y="16.499618852599724" />
<point x="-378.839" y="1404.0" />
<point x="325.213" y="1404.0" />
<point x="-4.7843633575439526E-4" y="-16.500346983931877" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.manager.PacketHandlerMaster" target="org.kkukie.jrtsp_gw.media.core.handler.RtcpHandler" relationship="TO_ONE">
<point x="-102.72805786132812" y="16.5" />
<point x="-143.0669535266369" y="805.5593811474002" />
<point x="76.0" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.dtls.DtlsHandler" target="org.kkukie.jrtsp_gw.media.core.stream.dtls.DtlsHandler.HandshakeServer" relationship="CREATE">
<point x="14.99989566530877" y="16.5" />
<point x="14.99989566530877" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.handler.RtpHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.RtpPacket" relationship="TO_ONE">
<point x="71.5" y="0.0" />
<point x="458.6172200573476" y="435.5593811474003" />
<point x="458.6172200573476" y="103.66150822259573" />
<point x="68.0" y="-1.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.config.ConfigManager" target="org.kkukie.jrtsp_gw.config.ConfigEnv" relationship="TO_ONE">
<point x="-15.0" y="16.5" />
<point x="-15.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.manager.PacketHandlerMaster" target="org.kkukie.jrtsp_gw.media.core.stream.stun.handler.IceHandler" relationship="CREATE">
<point x="-72.0" y="-16.5" />
<point x="-112.33889566530877" y="229.992" />
<point x="-40.33889566530877" y="229.992" />
<point x="0.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.manager.PacketSelector" target="org.kkukie.jrtsp_gw.media.core.scheduler.ServiceScheduler" relationship="TO_ONE">
<point x="-81.0" y="16.5" />
<point x="52.35234090596077" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.manager.PacketHandlerMaster" target="org.kkukie.jrtsp_gw.media.core.stream.dtls.DtlsHandler" relationship="CREATE">
<point x="-114.0" y="-4.591804597867792" />
<point x="-1519.2067971835895" y="352.1615082225957" />
<point x="-1519.2067971835895" y="1279.156" />
<point x="-73.5" y="10.499653016068123" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.dtls.DtlsHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.channels.PacketHandler" relationship="REALIZATION">
<point x="29.99989566530877" y="-16.5" />
<point x="-10.339" y="1217.656" />
<point x="-317.226" y="1217.656" />
<point x="-317.226" y="981.726" />
<point x="-163.0" y="981.726" />
<point x="51.226451924417574" y="-16.499642926952674" />
</edge>
<edge source="org.kkukie.jrtsp_gw.session.media.MediaSession" target="org.kkukie.jrtsp_gw.session.media.base.SdpMediaInfo" relationship="TO_ONE">
<point x="15.0" y="16.5" />
<point x="15.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.websocket.service.WebSocketService" target="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebRtcServiceInfo" relationship="TO_ONE">
<point x="15.0" y="-16.5" />
<point x="15.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.stun.handler.IceHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.channels.PacketHandler" relationship="REALIZATION">
<point x="-69.0" y="4.91777404278082E-4" />
<point x="-163.0" y="105.162" />
<point x="51.226451924417574" y="-16.499642926952674" />
</edge>
<edge source="org.kkukie.jrtsp_gw.config.ConfigManager" target="org.kkukie.jrtsp_gw.config.DefaultConfig" relationship="TO_ONE">
<point x="-3.0993652353572543E-4" y="-16.499827270507694" />
<point x="-38.06726346316043" y="543.6895538768927" />
<point x="157.66073653683955" y="543.6895538768927" />
<point x="-3.6779785168050694E-4" y="-16.499827270507694" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebSocketInfo" target="org.kkukie.jrtsp_gw.media.core.stream.webrtc.websocket.command.OmeAnswer" relationship="CREATE">
<point x="89.0" y="-10.5" />
<point x="-287.14866434206647" y="161.16150822259573" />
<point x="-287.14866434206647" y="-229.33730733199462" />
<point x="75.5" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebSocketInfo" target="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebRtcServiceInfo" relationship="TO_ONE">
<point x="-89.0" y="0.0" />
<point x="104.5" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtp.port.RtpPortManager" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.port.PortManager" relationship="REALIZATION">
<point x="0.0" y="-16.5" />
<point x="0.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtp.statistics.RtpStatistics" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.statistics.RtpMember" relationship="CREATE">
<point x="22.693450927734716" y="16.5" />
<point x="15.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.config.ConfigManager" target="org.kkukie.jrtsp_gw.config.SessionConfig" relationship="TO_ONE">
<point x="30.0" y="16.5" />
<point x="-8.066953526636894" y="627.1434112987674" />
<point x="82.66110433469123" y="627.1434112987674" />
<point x="82.66110433469123" y="749.5593811474002" />
<point x="84.0" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.session.media.MediaSession" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.format.RTPFormats" relationship="CREATE">
<point x="-15.0" y="-16.5" />
<point x="643.1780160951605" y="262.6615082225957" />
<point x="531.0" y="262.6615082225957" />
<point x="11.882779942652405" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.websocket.service.WebSocketService" target="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.WebRtcIceInfo" relationship="CREATE">
<point x="-30.0" y="16.5" />
<point x="-30.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.NaiveSSLContext.NaiveTrustManager" target="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.model.NaiveSSLContext" relationship="INNER_CLASS">
<point x="15.0" y="16.5" />
<point x="15.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpHandler.TxTask" target="org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpHandler" relationship="INNER_CLASS">
<point x="1.4746201964044303E-4" y="16.499653016068123" />
<point x="1.4746201964044303E-4" y="-16.500346983931877" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.WebRtcService" target="org.kkukie.jrtsp_gw.media.core.stream.webrtc.websocket.service.WebSocketService" relationship="CREATE">
<point x="0.0" y="16.5" />
<point x="-415.0763450282459" y="362.6615082225957" />
<point x="-1158.4820369488903" y="362.6615082225957" />
<point x="0.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.JrtspGwApplication" target="org.springframework.boot.autoconfigure.SpringBootApplication" relationship="REALIZATION">
<point x="0.0" y="-16.5" />
<point x="0.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.service.ServiceManager" target="org.kkukie.jrtsp_gw.service.scheduler.schedule.ScheduleManager" relationship="TO_ONE">
<point x="-91.0" y="0.0" />
<point x="380.6172200573476" y="579.5593811474002" />
<point x="380.6172200573476" y="749.5593811474002" />
<point x="-98.5" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.session.call.model.ConferenceInfo" target="org.kkukie.jrtsp_gw.media.core.stream.webrtc.service.WebRtcService" relationship="TO_ONE">
<point x="-89.0" y="0.0" />
<point x="-400.0763450282459" y="217.66150822259573" />
<point x="15.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.statistics.RtpStatistics" relationship="TO_ONE">
<point x="-15.0" y="16.5" />
<point x="563.7658525379803" y="1302.6563469839318" />
<point x="473.1172200573476" y="1302.6563469839318" />
<point x="473.1172200573476" y="1129.6240250384212" />
<point x="79.5" y="-15.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.service.scheduler.job.JobBuilder" target="org.kkukie.jrtsp_gw.service.scheduler.job.Job" relationship="CREATE">
<point x="68.5" y="0.0" />
<point x="817.6780160951605" y="937.226047814067" />
<point x="817.6780160951605" y="805.5593811474002" />
<point x="40.0" y="0.0" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.scheduler.ServiceScheduler" target="org.kkukie.jrtsp_gw.media.core.scheduler.WallClock" relationship="CREATE">
<point x="-97.0" y="-3.811474002759496E-4" />
<point x="-736.929" y="705.559" />
<point x="-736.929" y="397.0" />
<point x="-732.429" y="397.0" />
<point x="-732.429" y="519.995" />
<point x="-65.0" y="1.584440709621049E-4" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtp.channels.TransportAddress" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.channels.TransportAddress.TransportProtocol" relationship="TO_ONE">
<point x="0.0" y="-16.5" />
<point x="0.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtcp.RtcpHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.channels.PacketHandler" relationship="REALIZATION">
<point x="76.0" y="0.0" />
<point x="687.266" y="1268.6563469839318" />
<point x="687.266" y="1059.5296429269526" />
<point x="-214.22645192441757" y="1059.5296429269526" />
<point x="0.0" y="16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.rtp.format.RTPFormats" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.format.RTPFormat" relationship="TO_MANY">
<point x="0.0" y="-16.5" />
<point x="519.1172200573476" y="-182.32657968709395" />
<point x="709.4708187366185" y="-182.32657968709395" />
<point x="0.0" y="-16.5" />
</edge>
<edge source="org.kkukie.jrtsp_gw.media.core.stream.stun.handler.IceHandler" target="org.kkukie.jrtsp_gw.media.core.stream.rtp.channels.TransportAddress" relationship="CREATE">
<point x="-30.0" y="-16.5" />
<point x="-70.33889566530877" y="71.16150822259573" />
<point x="-178.0" y="71.16150822259573" />
<point x="-178.0" y="-310.8384917774043" />