<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>io.sip3</groupId>
    <artifactId>sip3-parent</artifactId>
    <version>2026.1.1-SNAPSHOT-2656b22</version>
    <packaging>pom</packaging>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>21</java.version>
        <kotlin.compiler.jvmTarget>21</kotlin.compiler.jvmTarget>
        <kotlin.version>2.0.0</kotlin.version>
        <kotlin.coroutines.version>1.8.1</kotlin.coroutines.version>
        <kotlin-logging.version>7.0.13</kotlin-logging.version>
        <vertx.version>5.0.12</vertx.version>
        <awssdk.version>2.44.0</awssdk.version>
        <jain-sip.version>1.2.317</jain-sip.version>
        <media-sdp.version>8.0.0-21</media-sdp.version>
        <ch-smpp.version>6.0.0-netty4-beta-2</ch-smpp.version>
        <pcap4j.version>1.8.2</pcap4j.version>
        <micrometer.version>1.15.11</micrometer.version>
        <new-relic.version>0.10.0</new-relic.version>
        <ldaptive.version>2.4.2</ldaptive.version>
        <spring-boot.version>3.5.9</spring-boot.version>
        <reflections.version>0.10.2</reflections.version>
        <springdoc-openapi.version>2.8.1</springdoc-openapi.version>
        <swagger.version>2.2.41</swagger.version>
        <jackson.version>2.18.2</jackson.version>
        <bind-api.version>2.3.1</bind-api.version>
        <jaxb-impl.version>4.0.5</jaxb-impl.version>
        <commons-collections4.version>4.5.0</commons-collections4.version>
        <commons-net.version>3.12.0</commons-net.version>
        <logback.version>1.5.22</logback.version>
        <logback-webhook.version>1.0.6</logback-webhook.version>
        <slf4j.version>2.0.17</slf4j.version>
        <mockk.version>1.14.7</mockk.version>
        <sipunit.version>2.0.5</sipunit.version>
        <testcontainers.version>2.0.3</testcontainers.version>
        <jna.version>5.18.1</jna.version>
        <maven-surefire-plugin.version>3.5.4</maven-surefire-plugin.version>
        <vertx-maven-plugin.version>2.0.2</vertx-maven-plugin.version>
        <maven-jarsigner-plugin.version>3.1.0</maven-jarsigner-plugin.version>
        <git-maven-plugin.version>9.0.2</git-maven-plugin.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!-- Kotlin -->
            <dependency>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-reflect</artifactId>
                <version>${kotlin.version}</version>
            </dependency>

            <!-- Vert.x -->
            <dependency>
                <groupId>io.vertx</groupId>
                <artifactId>vertx-lang-kotlin</artifactId>
                <version>${vertx.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jetbrains.kotlin</groupId>
                        <artifactId>kotlin-stdlib-jdk8</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>io.vertx</groupId>
                <artifactId>vertx-lang-kotlin-compiler</artifactId>
                <version>${vertx.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jetbrains.kotlin</groupId>
                        <artifactId>kotlin-stdlib-jdk8</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>io.vertx</groupId>
                <artifactId>vertx-lang-kotlin-coroutines</artifactId>
                <version>${vertx.version}</version>
            </dependency>
            <dependency>
                <groupId>io.vertx</groupId>
                <artifactId>vertx-web</artifactId>
                <version>${vertx.version}</version>
            </dependency>
            <dependency>
                <groupId>io.vertx</groupId>
                <artifactId>vertx-web-client</artifactId>
                <version>${vertx.version}</version>
            </dependency>
            <dependency>
                <groupId>io.vertx</groupId>
                <artifactId>vertx-lang-groovy</artifactId>
                <version>${vertx.version}</version>
            </dependency>
            <dependency>
                <groupId>io.vertx</groupId>
                <artifactId>vertx-config</artifactId>
                <version>${vertx.version}</version>
            </dependency>
            <dependency>
                <groupId>io.vertx</groupId>
                <artifactId>vertx-config-yaml</artifactId>
                <version>${vertx.version}</version>
            </dependency>
            <dependency>
                <groupId>io.vertx</groupId>
                <artifactId>vertx-micrometer-metrics</artifactId>
                <version>${vertx.version}</version>
            </dependency>
            <dependency>
                <groupId>io.vertx</groupId>
                <artifactId>vertx-hazelcast</artifactId>
                <version>${vertx.version}</version>
            </dependency>
            <dependency>
                <groupId>io.vertx</groupId>
                <artifactId>vertx-launcher-application</artifactId>
                <version>${vertx.version}</version>
            </dependency>
            <dependency>
                <groupId>io.vertx</groupId>
                <artifactId>vertx-launcher-legacy-cli</artifactId>
                <version>${vertx.version}</version>
            </dependency>

            <!-- AWS -->
            <dependency>
                <groupId>software.amazon.awssdk</groupId>
                <artifactId>s3</artifactId>
                <version>${awssdk.version}</version>
            </dependency>

            <!-- SIP -->
            <dependency>
                <groupId>javax.sip</groupId>
                <artifactId>jain-sip-ri</artifactId>
                <version>${jain-sip.version}</version>
            </dependency>

            <!-- SDP -->
            <dependency>
                <groupId>org.restcomm.media.core</groupId>
                <artifactId>sdp</artifactId>
                <version>${media-sdp.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>log4j-over-slf4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- SMPP -->
            <dependency>
                <groupId>com.cloudhopper</groupId>
                <artifactId>ch-smpp</artifactId>
                <version>${ch-smpp.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>log4j-over-slf4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>io.netty</groupId>
                        <artifactId>netty-all</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- Pcap4j -->
            <dependency>
                <groupId>org.pcap4j</groupId>
                <artifactId>pcap4j-packetfactory-static</artifactId>
                <version>${pcap4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.pcap4j</groupId>
                <artifactId>pcap4j-core</artifactId>
                <version>${pcap4j.version}</version>
            </dependency>

            <!-- Mongo -->
            <dependency>
                <groupId>io.vertx</groupId>
                <artifactId>vertx-mongo-client</artifactId>
                <version>${vertx.version}</version>
            </dependency>

            <!-- Micrometer -->
            <dependency>
                <groupId>io.micrometer</groupId>
                <artifactId>micrometer-core</artifactId>
                <version>${micrometer.version}</version>
            </dependency>
            <dependency>
                <groupId>io.micrometer</groupId>
                <artifactId>micrometer-registry-influx</artifactId>
                <version>${micrometer.version}</version>
            </dependency>
            <dependency>
                <groupId>io.micrometer</groupId>
                <artifactId>micrometer-registry-statsd</artifactId>
                <version>${micrometer.version}</version>
            </dependency>
            <dependency>
                <groupId>io.micrometer</groupId>
                <artifactId>micrometer-registry-elastic</artifactId>
                <version>${micrometer.version}</version>
            </dependency>
            <dependency>
                <groupId>io.micrometer</groupId>
                <artifactId>micrometer-registry-prometheus</artifactId>
                <version>${micrometer.version}</version>
            </dependency>
            <dependency>
                <groupId>io.micrometer</groupId>
                <artifactId>micrometer-registry-cloudwatch2</artifactId>
                <version>${micrometer.version}</version>
            </dependency>
            <dependency>
                <groupId>com.newrelic.telemetry</groupId>
                <artifactId>micrometer-registry-new-relic</artifactId>
                <version>${new-relic.version}</version>
            </dependency>

            <!-- LDAP -->
            <dependency>
                <groupId>org.ldaptive</groupId>
                <artifactId>ldaptive</artifactId>
                <version>${ldaptive.version}</version>
            </dependency>

            <!-- Utils -->
            <dependency>
                <groupId>org.reflections</groupId>
                <artifactId>reflections</artifactId>
                <version>${reflections.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-collections4</artifactId>
                <version>${commons-collections4.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-net</groupId>
                <artifactId>commons-net</artifactId>
                <version>${commons-net.version}</version>
            </dependency>

            <!-- java.xml.bind module -->
            <dependency>
                <groupId>javax.xml.bind</groupId>
                <artifactId>jaxb-api</artifactId>
                <version>${bind-api.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-impl</artifactId>
                <version>${jaxb-impl.version}</version>
            </dependency>

            <!-- Swagger -->
            <dependency>
                <groupId>org.springdoc</groupId>
                <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
                <version>${springdoc-openapi.version}</version>
            </dependency>
            <dependency>
                <groupId>io.swagger.core.v3</groupId>
                <artifactId>swagger-annotations</artifactId>
                <version>${swagger.version}</version>
            </dependency>

            <!-- Logging -->
            <dependency>
                <groupId>io.github.oshai</groupId>
                <artifactId>kotlin-logging-jvm</artifactId>
                <version>${kotlin-logging.version}</version>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>${logback.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>log4j-over-slf4j</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>io.sip3</groupId>
                <artifactId>logback-webhook-appender</artifactId>
                <version>${logback-webhook.version}</version>
            </dependency>

            <!-- Test -->
            <dependency>
                <groupId>io.vertx</groupId>
                <artifactId>vertx-junit5</artifactId>
                <version>${vertx.version}</version>
            </dependency>
            <dependency>
                <groupId>io.mockk</groupId>
                <artifactId>mockk-jvm</artifactId>
                <version>${mockk.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jetbrains.kotlin</groupId>
                        <artifactId>kotlin-stdlib</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jetbrains.kotlin</groupId>
                        <artifactId>kotlin-stdlib-common</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.mobicents.sipunit</groupId>
                <artifactId>sipunit</artifactId>
                <version>${sipunit.version}</version>
            </dependency>
            <dependency>
                <groupId>org.testcontainers</groupId>
                <artifactId>testcontainers</artifactId>
                <version>${testcontainers.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.fasterxml.jackson.core</groupId>
                        <artifactId>jackson-annotations</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.testcontainers</groupId>
                <artifactId>junit-jupiter</artifactId>
                <version>${testcontainers.version}</version>
            </dependency>
            <dependency>
                <groupId>org.testcontainers</groupId>
                <artifactId>mongodb</artifactId>
                <version>${testcontainers.version}</version>
            </dependency>
            <dependency>
                <groupId>net.java.dev.jna</groupId>
                <artifactId>jna</artifactId>
                <version>${jna.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>
