feat: Add custom properties to gov.nist library

pull/952/head
scorpig 2023-07-14 20:48:15 +08:00
parent a9f88be8c5
commit 15bacf477c
4 changed files with 23 additions and 3 deletions

View File

@ -5,7 +5,9 @@ import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* user-settings * user-settings
@ -74,6 +76,8 @@ public class UserSetting {
private boolean registerKeepIntDialog = false; private boolean registerKeepIntDialog = false;
private Map<String, String> sipProperties = new LinkedHashMap<>();
public Boolean getSavePositionHistory() { public Boolean getSavePositionHistory() {
return savePositionHistory; return savePositionHistory;
} }
@ -325,4 +329,12 @@ public class UserSetting {
public void setRegisterKeepIntDialog(boolean registerKeepIntDialog) { public void setRegisterKeepIntDialog(boolean registerKeepIntDialog) {
this.registerKeepIntDialog = registerKeepIntDialog; this.registerKeepIntDialog = registerKeepIntDialog;
} }
public Map<String, String> getSipProperties() {
return sipProperties;
}
public void setSipProperties(Map<String, String> sipProperties) {
this.sipProperties = sipProperties;
}
} }

View File

@ -63,7 +63,7 @@ public class SipLayer implements CommandLineRunner {
private void addListeningPoint(String monitorIp, int port){ private void addListeningPoint(String monitorIp, int port){
SipStackImpl sipStack; SipStackImpl sipStack;
try { try {
sipStack = (SipStackImpl)SipFactory.getInstance().createSipStack(DefaultProperties.getProperties(monitorIp, userSetting.getSipLog())); sipStack = (SipStackImpl)SipFactory.getInstance().createSipStack(DefaultProperties.getProperties(monitorIp, userSetting));
sipStack.setMessageParserFactory(new GbStringMsgParserFactory()); sipStack.setMessageParserFactory(new GbStringMsgParserFactory());
} catch (PeerUnavailableException e) { } catch (PeerUnavailableException e) {
logger.error("[SIP SERVER] SIP服务启动失败 监听地址{}失败,请检查ip是否正确", monitorIp); logger.error("[SIP SERVER] SIP服务启动失败 监听地址{}失败,请检查ip是否正确", monitorIp);

View File

@ -1,5 +1,6 @@
package com.genersoft.iot.vmp.gb28181.conf; package com.genersoft.iot.vmp.gb28181.conf;
import com.genersoft.iot.vmp.conf.UserSetting;
import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.notify.cmd.AlarmNotifyMessageHandler; import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.notify.cmd.AlarmNotifyMessageHandler;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -12,7 +13,7 @@ import java.util.Properties;
*/ */
public class DefaultProperties { public class DefaultProperties {
public static Properties getProperties(String ip, boolean sipLog) { public static Properties getProperties(String ip, UserSetting userSetting) {
Properties properties = new Properties(); Properties properties = new Properties();
properties.setProperty("javax.sip.STACK_NAME", "GB28181_SIP"); properties.setProperty("javax.sip.STACK_NAME", "GB28181_SIP");
properties.setProperty("javax.sip.IP_ADDRESS", ip); properties.setProperty("javax.sip.IP_ADDRESS", ip);
@ -48,7 +49,7 @@ public class DefaultProperties {
* sip_server_log.log sip_debug_log.log ERROR, INFO, WARNING, OFF, DEBUG, TRACE * sip_server_log.log sip_debug_log.log ERROR, INFO, WARNING, OFF, DEBUG, TRACE
*/ */
Logger logger = LoggerFactory.getLogger(AlarmNotifyMessageHandler.class); Logger logger = LoggerFactory.getLogger(AlarmNotifyMessageHandler.class);
if (sipLog) { if (userSetting.getSipLog()) {
properties.setProperty("gov.nist.javax.sip.STACK_LOGGER", "com.genersoft.iot.vmp.gb28181.conf.StackLoggerImpl"); properties.setProperty("gov.nist.javax.sip.STACK_LOGGER", "com.genersoft.iot.vmp.gb28181.conf.StackLoggerImpl");
properties.setProperty("gov.nist.javax.sip.SERVER_LOGGER", "com.genersoft.iot.vmp.gb28181.conf.ServerLoggerImpl"); properties.setProperty("gov.nist.javax.sip.SERVER_LOGGER", "com.genersoft.iot.vmp.gb28181.conf.ServerLoggerImpl");
properties.setProperty("gov.nist.javax.sip.LOG_MESSAGE_CONTENT", "true"); properties.setProperty("gov.nist.javax.sip.LOG_MESSAGE_CONTENT", "true");
@ -56,6 +57,10 @@ public class DefaultProperties {
}else { }else {
logger.info("[SIP日志]已关闭"); logger.info("[SIP日志]已关闭");
} }
// 添加自定义属性
userSetting.getSipProperties().forEach(properties::setProperty);
return properties; return properties;
} }
} }

View File

@ -214,6 +214,9 @@ user-settings:
allowed-origins: allowed-origins:
- http://localhost:8008 - http://localhost:8008
- http://192.168.1.3:8008 - http://192.168.1.3:8008
# 自定义gov.nist sip配置
sip-properties:
gov.nist.javax.sip.MESSAGE_PROCESSOR_FACTORY: gov.nist.javax.sip.stack.NioMessageProcessorFactory
# 关闭在线文档(生产环境建议关闭) # 关闭在线文档(生产环境建议关闭)
springdoc: springdoc: