| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- package org.jetlinks.community;
- import lombok.extern.slf4j.Slf4j;
- import org.jetlinks.community.media.bean.SSRCInfo;
- import org.jetlinks.community.media.entity.SipServerConfig;
- import org.jetlinks.community.media.service.LocalMediaDeviceService;
- import org.jetlinks.community.media.sip.SipServerHelper;
- import org.jetlinks.community.media.transmit.cmd.SipCommander;
- import org.jetlinks.community.media.zlm.entity.MediaServerItem;
- import org.jetlinks.community.standalone.JetLinksApplication;
- import org.jetlinks.core.device.DeviceRegistry;
- import org.jetlinks.core.event.EventBus;
- import org.jetlinks.supports.server.DecodedClientMessageHandler;
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.test.context.SpringBootTest;
- import org.springframework.context.annotation.EnableAspectJAutoProxy;
- import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
- import reactor.core.publisher.Mono;
- /**
- * @author lifang
- * @version 1.0.0
- * @ClassName bridge.java
- * @Description TODO
- * @createTime 2021年12月02日 08:13:00
- */
- @RunWith(SpringJUnit4ClassRunner.class)
- @SpringBootTest(classes = JetLinksApplication.class, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
- @Slf4j
- @EnableAspectJAutoProxy(proxyTargetClass = true,exposeProxy = true)
- public class BridgeTest {
- @Autowired
- private EventBus eventBus;
- @Autowired
- private DeviceRegistry registry;
- @Autowired
- private DecodedClientMessageHandler messageHandler;
- @Autowired
- private SipCommander sipCommander;
- @Autowired
- SipServerHelper serverHelper;
- @Autowired
- LocalMediaDeviceService mediaDeviceService;
- //
- //
- @Test
- public void init() throws InterruptedException {
- serverHelper.createSip( SipServerConfig.of("34020000002000000001","192.168.10.100", 7001,"udp","340200000","utf-8","12345678",10L,"1")).subscribe();
- Thread.sleep(3000);
- System.out.println("开始调用invite方法");
- SSRCInfo ssrcInfo = SSRCInfo.of(10000,"1000",null);
- MediaServerItem mediaServerItem = new MediaServerItem();
- mediaServerItem.setSdpIp("1.15.89.83");
- mediaDeviceService.findById("34020000001320000003")
- .flatMap(device->{
- device.setStreamMode("udp");
- return sipCommander.playStreamCmd(mediaServerItem, ssrcInfo,device, "34020000002000000001")
- .doOnNext(s->{
- System.out.println(s);
- })
- .then(Mono.empty());
- }
- )
- .subscribe();
- while (true){
- }
- }
- // @Test
- // public void init() throws InterruptedException {
- // AliIotBridgeDeviceConfig bridgeConfig = new AliIotBridgeDeviceConfig();
- // bridgeConfig.setDeviceName("ceshi_");
- // bridgeConfig.setDeviceSecret("81be3f5ef0b9d383e270218f262c353");
- // bridgeConfig.setProductKey("a1UmTLN10zP");
- // bridgeConfig.setId("123");
- //
- //
- // AliIotBridgeEntity aliIotBridgeEntity = new AliIotBridgeEntity();
- // AliIotBridgeEntity.AccessConfig accessConfig = new AliIotBridgeEntity.AccessConfig();
- // accessConfig.setAccessKey("LTAIcCyEivml1zSX");
- // accessConfig.setAccessSecret("nFHWpY8rT1fP3vobiFz3jYnSoHm5fl");
- // accessConfig.setAuthEndpoint("https://iot-auth.cn-shanghai.aliyuncs.com/auth/bridge");
- // accessConfig.setHttp2Endpoint("https://a1UmTLN10zP.iot-as-http2.cn-shanghai.aliyuncs.com:443");
- // accessConfig.setProductKey("a1UmTLN10zP");
- // accessConfig.setRegionId("cn-shanghai");
- // aliIotBridgeEntity.setProductId("1");
- // aliIotBridgeEntity.setAccessConfig(accessConfig);
- //// AliBridgeGateway aliBridgeGateway = new AliBridgeGateway(registry,eventBus,messageHandler);
- //
- // aliBridgeGateway.initBridge(aliIotBridgeEntity)
- // .doOnError(error->{
- // System.out.println(error);
- // })
- // .subscribe();
- //
- //// aliBridgeGateway.getBridgeServer().flatMap(server->server.register("819b4fd3896e67f74195df36920ae55a","a1UmTLN10zP","ceshi_","81be3f5ef0b9d383270218f862c353")).subscribe();
- //
- // Thread.sleep(10000);
- // DeviceOnlineMessage onlineMessage = new DeviceOnlineMessage();
- // onlineMessage.setId("819b4fd3896e67f74195df36920ae55a");
- // eventBus.publish("/device/1/819b4fd3896e67f74195df36920ae55a/online",onlineMessage)
- // .doOnError(error->{
- // System.out.println(error);
- // })
- // .subscribe();
- //
- // ReportPropertyMessage propertyMessage = new ReportPropertyMessage();
- // propertyMessage.setId("819b4fd3896e67f74195df36920ae55a");
- // propertyMessage.setProperties(MapUtil.of(Pair.of("LightStatus",0)));
- // eventBus.publish("/device/1/819b4fd3896e67f74195df36920ae55a/message/property/report",propertyMessage).subscribe();
- // while (Thread.activeCount()>1){
- //
- // }
- // }
- }
|