|  | @@ -6,6 +6,10 @@ import org.springframework.beans.factory.annotation.Value;
 | 
	
		
			
				|  |  |  import org.springframework.context.annotation.Configuration;
 | 
	
		
			
				|  |  |  import org.springframework.util.StringUtils;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import java.net.InetAddress;
 | 
	
		
			
				|  |  | +import java.net.UnknownHostException;
 | 
	
		
			
				|  |  | +import java.util.regex.Pattern;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  @Configuration("mediaConfig")
 | 
	
		
			
				|  |  |  public class MediaConfig{
 | 
	
	
		
			
				|  | @@ -161,7 +165,18 @@ public class MediaConfig{
 | 
	
		
			
				|  |  |          if (StringUtils.isEmpty(sdpIp)){
 | 
	
		
			
				|  |  |              return ip;
 | 
	
		
			
				|  |  |          }else {
 | 
	
		
			
				|  |  | -            return sdpIp;
 | 
	
		
			
				|  |  | +            if (isValidIPAddress(sdpIp)) {
 | 
	
		
			
				|  |  | +                return sdpIp;
 | 
	
		
			
				|  |  | +            }else {
 | 
	
		
			
				|  |  | +                // 按照域名解析
 | 
	
		
			
				|  |  | +                String hostAddress = null;
 | 
	
		
			
				|  |  | +                try {
 | 
	
		
			
				|  |  | +                    hostAddress = InetAddress.getByName(sdpIp).getHostAddress();
 | 
	
		
			
				|  |  | +                } catch (UnknownHostException e) {
 | 
	
		
			
				|  |  | +                    throw new RuntimeException(e);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                return hostAddress;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -211,4 +226,11 @@ public class MediaConfig{
 | 
	
		
			
				|  |  |          return mediaServerItem;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    private boolean isValidIPAddress(String ipAddress) {
 | 
	
		
			
				|  |  | +        if ((ipAddress != null) && (!ipAddress.isEmpty())) {
 | 
	
		
			
				|  |  | +            return Pattern.matches("^([1-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3}$", ipAddress);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return false;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  }
 |