|  |  | 
 |  |  | 
 | 
 |  |  | import com.genersoft.iot.vmp.conf.MediaServerConfig;
 | 
 |  |  | import com.genersoft.iot.vmp.gb28181.bean.*;
 | 
 |  |  | import com.genersoft.iot.vmp.gb28181.event.SipSubscribe;
 | 
 |  |  | import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
 | 
 |  |  | import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommanderFroPlatform;
 | 
 |  |  | import com.genersoft.iot.vmp.gb28181.transmit.request.SIPRequestAbstractProcessor;
 | 
 |  |  | import com.genersoft.iot.vmp.media.zlm.ZLMHttpHookSubscribe;
 | 
 |  |  | import com.genersoft.iot.vmp.media.zlm.ZLMRTPServerFactory;
 | 
 |  |  | import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
 | 
 |  |  | import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
 | 
 |  |  | import com.genersoft.iot.vmp.vmanager.play.bean.PlayResult;
 | 
 |  |  | import com.genersoft.iot.vmp.vmanager.service.IPlayService;
 | 
 |  |  | import com.genersoft.iot.vmp.vmanager.gb28181.play.bean.PlayResult;
 | 
 |  |  | import com.genersoft.iot.vmp.service.IPlayService;
 | 
 |  |  | import gov.nist.javax.sip.address.AddressImpl;
 | 
 |  |  | import gov.nist.javax.sip.address.SipUri;
 | 
 |  |  | import org.slf4j.Logger;
 | 
 |  |  | import org.slf4j.LoggerFactory;
 | 
 |  |  | 
 | 
 |  |  | import java.text.ParseException;
 | 
 |  |  | import java.util.HashMap;
 | 
 |  |  | import java.util.Map;
 | 
 |  |  | import java.util.Vector;
 | 
 |  |  | 
 | 
 |  |  | /**    
 | 
 |  |  | 
 |  |  |                // 通知下级推流,
 | 
 |  |  |                PlayResult playResult = playService.play(device.getDeviceId(), channelId, (responseJSON)->{
 | 
 |  |  |                   // 收到推流, 回复200OK, 等待ack
 | 
 |  |  |                   if (sendRtpItem == null) return;
 | 
 |  |  |                   // if (sendRtpItem == null) return;
 | 
 |  |  |                   sendRtpItem.setStatus(1);
 | 
 |  |  |                   redisCatchStorage.updateSendRTPSever(sendRtpItem);
 | 
 |  |  |                   // TODO 添加对tcp的支持
 |