|  |  | 
 |  |  |         if (device == null || device.getSubscribeCycleForCatalog() < 0) { | 
 |  |  |             return false; | 
 |  |  |         } | 
 |  |  |         if (dynamicTask.contains(device.getDeviceId())) { | 
 |  |  |             logger.info("[添加目录订阅] 设备{}的目录订阅以存在", device.getDeviceId()); | 
 |  |  |             return false; | 
 |  |  |         } | 
 |  |  |         logger.info("[添加目录订阅] 设备{}", device.getDeviceId()); | 
 |  |  |         // 添加目录订阅 | 
 |  |  |         CatalogSubscribeTask catalogSubscribeTask = new CatalogSubscribeTask(device, sipCommander); | 
 |  |  |         catalogSubscribeTask.run(); | 
 |  |  |         // 提前开始刷新订阅 | 
 |  |  |         // TODO 使用jain sip的当时刷新订阅 | 
 |  |  |         int subscribeCycleForCatalog = device.getSubscribeCycleForCatalog(); | 
 |  |  |         // 设置最小值为30 | 
 |  |  |         subscribeCycleForCatalog = Math.max(subscribeCycleForCatalog, 30); | 
 |  |  | 
 |  |  |             return false; | 
 |  |  |         } | 
 |  |  |         logger.info("移除目录订阅: {}", device.getDeviceId()); | 
 |  |  |         dynamicTask.stopCron(device.getDeviceId()); | 
 |  |  |         dynamicTask.stop(device.getDeviceId()); | 
 |  |  |         device.setSubscribeCycleForCatalog(0); | 
 |  |  |         sipCommander.catalogSubscribe(device, null, null); | 
 |  |  |         return true; |