diff --git a/src/main/java/org/asteriskjava/AsteriskVersion.java b/src/main/java/org/asteriskjava/AsteriskVersion.java index 18880b1f6..6504a8da9 100644 --- a/src/main/java/org/asteriskjava/AsteriskVersion.java +++ b/src/main/java/org/asteriskjava/AsteriskVersion.java @@ -27,6 +27,8 @@ * @since 0.2 */ public class AsteriskVersion implements Comparable, Serializable { + private static final String VERSION_PATTERN_23 = "^\\s*Asterisk (GIT-)?23[-. ].*"; + private static final String VERSION_PATTERN_22 = "^\\s*Asterisk (GIT-)?22[-. ].*"; private static final String VERSION_PATTERN_21 = "^\\s*Asterisk (GIT-)?21[-. ].*"; private static final String VERSION_PATTERN_20 = "^\\s*Asterisk (GIT-)?20[-. ].*"; private static final String VERSION_PATTERN_19 = "^\\s*Asterisk (GIT-)?19[-. ].*"; @@ -162,9 +164,23 @@ public class AsteriskVersion implements Comparable, Serializabl */ public static final AsteriskVersion ASTERISK_21 = new AsteriskVersion(2100, "Asterisk 21", VERSION_PATTERN_21); + /** + * Represents the Asterisk 22 series. + * + * @since 3.40.0 + */ + public static final AsteriskVersion ASTERISK_22 = new AsteriskVersion(2200, "Asterisk 22", VERSION_PATTERN_22); + + /** + * Represents the Asterisk 23 series. + * + * @since 3.40.0 + */ + public static final AsteriskVersion ASTERISK_23 = new AsteriskVersion(2300, "Asterisk 23", VERSION_PATTERN_23); + private static final AsteriskVersion knownVersions[] = new AsteriskVersion[]{ - ASTERISK_21, ASTERISK_20, ASTERISK_19, ASTERISK_18, ASTERISK_17, ASTERISK_16, ASTERISK_15, ASTERISK_14, - ASTERISK_13, ASTERISK_12, ASTERISK_11, ASTERISK_10, ASTERISK_1_8, ASTERISK_1_6 + ASTERISK_23, ASTERISK_22, ASTERISK_21, ASTERISK_20, ASTERISK_19, ASTERISK_18, ASTERISK_17, ASTERISK_16, + ASTERISK_15, ASTERISK_14, ASTERISK_13, ASTERISK_12, ASTERISK_11, ASTERISK_10, ASTERISK_1_8, ASTERISK_1_6 }; // current debian stable version, as of 09/10/2018 diff --git a/src/main/java/org/asteriskjava/manager/internal/ManagerConnectionImpl.java b/src/main/java/org/asteriskjava/manager/internal/ManagerConnectionImpl.java index 7cfbb8a7c..a6793cb24 100644 --- a/src/main/java/org/asteriskjava/manager/internal/ManagerConnectionImpl.java +++ b/src/main/java/org/asteriskjava/manager/internal/ManagerConnectionImpl.java @@ -67,18 +67,21 @@ public class ManagerConnectionImpl extends Lockable implements ManagerConnection // NOTE: identifier is AMI_VERSION, defined in include/asterisk/manager.h // AMI version consists of MAJOR.BREAKING.NON-BREAKING. private static final String[] SUPPORTED_AMI_VERSIONS = { - "2.6", // Asterisk 13 - "2.7", // Asterisk 13.2 - "2.8", // Asterisk >13.5 - "2.9", // Asterisk >13.3 - "3.1", // Asterisk =14.3 - "3.2", // Asterisk 14.4.0 - "4.0", // Asterisk 15 - "5.0", // Asterisk 16 - "6.0", // Asterisk 17 - "7.0", // Asterisk 18 - "8.0", // Asterisk 19 - "9.0", // Asterisk 20 + "2.6", // Asterisk 13 + "2.7", // Asterisk 13.2 + "2.8", // Asterisk >13.5 + "2.9", // Asterisk >13.3 + "3.1", // Asterisk =14.3 + "3.2", // Asterisk 14.4.0 + "4.0", // Asterisk 15 + "5.0", // Asterisk 16 + "6.0", // Asterisk 17 + "7.0", // Asterisk 18 + "8.0", // Asterisk 19 + "9.0", // Asterisk 20 + "10.0", // Asterisk 21 + "11.0", // Asterisk 22 + "12.0", // Asterisk 23 }; private static final AtomicLong idCounter = new AtomicLong(0);