package org.mobicents.tools.configuration; import java.util.ArrayList; import java.util.List; import java.util.Set; public class SipConfiguration { private final AlgorithmConfiguration algorithmConfiguration; private final ExternalLegConfiguration externalLegConfiguration; private final InternalLegConfiguration internalLegConfiguration; public static final Boolean IS_SEND_TRYING = true; public static final String PUBLIC_IP = null; public static final String PUBLIC_IPV6 = null; public static final Boolean USE_IP_LOAD_BALANCER_ADRESS_IN_VIA_HEADERS = false; public static final Boolean PERFORMANCE_TESTING_MODE = false; public static final String EXTRA_SERVER_NODES = null; public static final String BLOCKED_VALUES = "sipvicious,sipcli,friendly-scanner"; public static final Boolean USE_PRETTY_ENCODING = false; public static final Boolean IS_SEND_5XX_RESPONSE = false; public static final String IS_SEND_5XX_RESPONSE_REASON_HEADER = null; public static final Integer IS_SEND_5XX_RESPONSE_STATUS_CODE = 503; public static final String RESPONSES_STATUS_CODE_NODE_REMOVAL = "503"; public static final Boolean IS_USE_WITH_NEXMO = false; public static final String MATCHING_HOSTNAME_FOR_ROUTE = null; public static final Boolean IS_FILTER_SUBDOMAIN = false; public static final String INTERNAL_TRANSPORT = null; private Boolean isSendTrying; private String publicIp; private String publicIpv6; private Boolean useIpLoadBalancerAddressInViaHeaders; private Boolean performanceTestingMode; private String extraServerNodes; private String blockedValues; private Boolean usePrettyEncoding; private Boolean isSend5xxResponse; private String isSend5xxResponseReasonHeader; private Integer isSend5xxResponseSatusCode; private List<Integer> responsesStatusCodeNodeRemoval; private Boolean isUseWithNexmo; private String matchingHostnameForRoute; private Boolean isFilterSubdomain; private String internalTransport; public SipConfiguration() { this.algorithmConfiguration = new AlgorithmConfiguration(); this.externalLegConfiguration = new ExternalLegConfiguration(); this.internalLegConfiguration = new InternalLegConfiguration(); this.isSendTrying = IS_SEND_TRYING; this.publicIp = PUBLIC_IP; this.publicIpv6 = PUBLIC_IPV6; this.useIpLoadBalancerAddressInViaHeaders = USE_IP_LOAD_BALANCER_ADRESS_IN_VIA_HEADERS; this.performanceTestingMode = PERFORMANCE_TESTING_MODE; this.extraServerNodes = EXTRA_SERVER_NODES; this.blockedValues = BLOCKED_VALUES; this.usePrettyEncoding = USE_PRETTY_ENCODING; this.isSend5xxResponse = IS_SEND_5XX_RESPONSE; this.isSend5xxResponseReasonHeader = IS_SEND_5XX_RESPONSE_REASON_HEADER; this.isSend5xxResponseSatusCode = IS_SEND_5XX_RESPONSE_STATUS_CODE; this.responsesStatusCodeNodeRemoval = new ArrayList<Integer>(); this.isUseWithNexmo = IS_USE_WITH_NEXMO; this.matchingHostnameForRoute = MATCHING_HOSTNAME_FOR_ROUTE; this.isFilterSubdomain = IS_FILTER_SUBDOMAIN; this.internalTransport = INTERNAL_TRANSPORT; } public AlgorithmConfiguration getAlgorithmConfiguration() { return algorithmConfiguration; } public ExternalLegConfiguration getExternalLegConfiguration() { return externalLegConfiguration; } public InternalLegConfiguration getInternalLegConfiguration() { return internalLegConfiguration; } public String getPublicIp() { return publicIp; } public void setPublicIp(String publicIp) { this.publicIp = publicIp; } public String getPublicIpv6() { return publicIpv6; } public void setPublicIpv6(String publicIpv6) { this.publicIpv6 = publicIpv6; } public String getExtraServerNodes() { return extraServerNodes; } public void setExtraServerNodes(String extraServerNodes) { this.extraServerNodes = extraServerNodes; } public Boolean isSendTrying() { return isSendTrying; } public void setSendTrying(Boolean isSendTrying) { this.isSendTrying = isSendTrying; } public Boolean isUseIpLoadBalancerAddressInViaHeaders() { return useIpLoadBalancerAddressInViaHeaders; } public void setUseIpLoadBalancerAddressInViaHeaders(Boolean useIpLoadBalancerAddressInViaHeaders) { this.useIpLoadBalancerAddressInViaHeaders = useIpLoadBalancerAddressInViaHeaders; } public Boolean isPerformanceTestingMode() { return performanceTestingMode; } public void setPerformanceTestingMode(Boolean performanceTestingMode) { this.performanceTestingMode = performanceTestingMode; } public String getBlockedValues() { return blockedValues; } public void setBlockedValues(String blockedValues) { this.blockedValues = blockedValues; } public Boolean isUsePrettyEncoding() { return usePrettyEncoding; } public void setUsePrettyEncoding(Boolean usePrettyEncoding) { this.usePrettyEncoding = usePrettyEncoding; } public Boolean getIsSend5xxResponse() { return isSend5xxResponse; } public void setIsSend5xxResponse(Boolean isSend5xxResponse) { this.isSend5xxResponse = isSend5xxResponse; } public String getIsSend5xxResponseReasonHeader() { return isSend5xxResponseReasonHeader; } public void setIsSend5xxResponseReasonHeader(String isSend5xxResponseReasonHeader) { this.isSend5xxResponseReasonHeader = isSend5xxResponseReasonHeader; } public Integer getIsSend5xxResponseSatusCode() { return isSend5xxResponseSatusCode; } public void setIsSend5xxResponseSatusCode(Integer isSend5xxResponseSatusCode) { this.isSend5xxResponseSatusCode = isSend5xxResponseSatusCode; } public List<Integer> getResponsesStatusCodeNodeRemoval() { return responsesStatusCodeNodeRemoval; } public void setResponseStatusCodeNodeRemoval(List<Integer> responsesStatusCodeNodeRemoval) { this.responsesStatusCodeNodeRemoval = responsesStatusCodeNodeRemoval; } public Boolean getIsUseWithNexmo() { return isUseWithNexmo; } public void setIsUseWithNexmo(Boolean isUseWithNexmo) { this.isUseWithNexmo = isUseWithNexmo; } public String getMatchingHostnameForRoute() { return matchingHostnameForRoute; } public void setMatchingHostnameForRoute(String matchingHostnameForRoute) { this.matchingHostnameForRoute = matchingHostnameForRoute; } public Boolean getIsFilterSubdomain() { return isFilterSubdomain; } public void setIsFilterSubdomain(Boolean isFilterSubdomain) { this.isFilterSubdomain = isFilterSubdomain; } public String getInternalTransport() { return internalTransport; } public void setInternalTransport(String internalTransport) { this.internalTransport = internalTransport; } }