@@ -464,3 +464,103 @@ func (p *BackendInformationEtcd) CheckValid() error {
464
464
p .parsedUrl = parsedUrl
465
465
return nil
466
466
}
467
+
468
+ type BackendServerInfoVideoRoom struct {
469
+ Name string `json:"name,omitempty"`
470
+ Version string `json:"version,omitempty"`
471
+ Author string `json:"author,omitempty"`
472
+ }
473
+
474
+ type BackendServerInfoSfuJanus struct {
475
+ Url string `json:"url"`
476
+
477
+ Connected bool `json:"connected"`
478
+
479
+ Name string `json:"name,omitempty"`
480
+ Version string `json:"version,omitempty"`
481
+ Author string `json:"author,omitempty"`
482
+
483
+ DataChannels * bool `json:"datachannels,omitempty"`
484
+ FullTrickle * bool `json:"fulltrickle,omitempty"`
485
+ LocalIP string `json:"localip,omitempty"`
486
+ IPv6 * bool `json:"ipv6,omitempty"`
487
+
488
+ VideoRoom * BackendServerInfoVideoRoom `json:"videoroom,omitempty"`
489
+ }
490
+
491
+ type BackendServerInfoSfuProxy struct {
492
+ Url string `json:"url"`
493
+ IP string `json:"ip,omitempty"`
494
+
495
+ Connected bool `json:"connected"`
496
+ Temporary bool `json:"temporary"`
497
+ Shutdown * bool `json:"shutdown,omitempty"`
498
+ Uptime * time.Time `json:"uptime,omitempty"`
499
+
500
+ Version string `json:"version,omitempty"`
501
+ Features []string `json:"features,omitempty"`
502
+
503
+ Country string `json:"country,omitempty"`
504
+ Load * int64 `json:"load,omitempty"`
505
+ Bandwidth * EventProxyServerBandwidth `json:"bandwidth,omitempty"`
506
+ }
507
+
508
+ type SfuMode string
509
+
510
+ const (
511
+ SfuModeJanus SfuMode = "janus"
512
+ SfuModeProxy SfuMode = "proxy"
513
+ )
514
+
515
+ type BackendServerInfoSfu struct {
516
+ Mode SfuMode `json:"mode"`
517
+
518
+ Janus * BackendServerInfoSfuJanus `json:"janus,omitempty"`
519
+ Proxies []BackendServerInfoSfuProxy `json:"proxies,omitempty"`
520
+ }
521
+
522
+ type BackendServerInfoDialout struct {
523
+ SessionId string `json:"sessionid"`
524
+ Connected bool `json:"connected"`
525
+ Address string `json:"address,omitempty"`
526
+ UserAgent string `json:"useragent,omitempty"`
527
+ Version string `json:"version,omitempty"`
528
+ Features []string `json:"features,omitempty"`
529
+ }
530
+
531
+ type BackendServerInfoNats struct {
532
+ Urls []string `json:"urls"`
533
+ Connected bool `json:"connected"`
534
+
535
+ ServerUrl string `json:"serverurl,omitempty"`
536
+ ServerID string `json:"serverid,omitempty"`
537
+ ServerVersion string `json:"version,omitempty"`
538
+ ClusterName string `json:"clustername,omitempty"`
539
+ }
540
+
541
+ type BackendServerInfoGrpc struct {
542
+ Target string `json:"target"`
543
+ IP string `json:"ip,omitempty"`
544
+ Connected bool `json:"connected"`
545
+
546
+ Version string `json:"version,omitempty"`
547
+ }
548
+
549
+ type BackendServerInfoEtcd struct {
550
+ Endpoints []string `json:"endpoints"`
551
+
552
+ Active string `json:"active,omitempty"`
553
+ Connected * bool `json:"connected,omitempty"`
554
+ }
555
+
556
+ type BackendServerInfo struct {
557
+ Version string `json:"version"`
558
+ Features []string `json:"features"`
559
+
560
+ Sfu * BackendServerInfoSfu `json:"sfu,omitempty"`
561
+ Dialout []BackendServerInfoDialout `json:"dialout,omitempty"`
562
+
563
+ Nats * BackendServerInfoNats `json:"nats,omitempty"`
564
+ Grpc []BackendServerInfoGrpc `json:"grpc,omitempty"`
565
+ Etcd * BackendServerInfoEtcd `json:"etcd,omitempty"`
566
+ }
0 commit comments