diff --git a/include/osmocom/core/fsm.h b/include/osmocom/core/fsm.h
index ae1c857..13bfb33 100644
--- a/include/osmocom/core/fsm.h
+++ b/include/osmocom/core/fsm.h
@@ -194,6 +194,9 @@
 			    caller_file, caller_line, \
 			    fmt, ## args)
 
+#define OSMO_T_FMT "%c%u"
+#define OSMO_T_FMT_ARGS(T) ((T) >= 0 ? 'T' : 'X'), ((T) >= 0 ? T : -T)
+
 int osmo_fsm_register(struct osmo_fsm *fsm);
 void osmo_fsm_unregister(struct osmo_fsm *fsm);
 struct osmo_fsm *osmo_fsm_find_by_name(const char *name);
diff --git a/include/osmocom/core/tdef.h b/include/osmocom/core/tdef.h
index 92b7159..c8d9053 100644
--- a/include/osmocom/core/tdef.h
+++ b/include/osmocom/core/tdef.h
@@ -54,6 +54,7 @@
  *                 { .T=10, .default_val=6, .desc="RR Assignment" },
  *                 { .T=101, .default_val=10, .desc="inter-BSC Handover MT, HO Request to HO Accept" },
  *                 { .T=3101, .default_val=3, .desc="RR Immediate Assignment" },
+ *                 { .T=-23, .default_val=42, .desc="internal X23 timeout (contrived example)" },
  *                 {}
  *         };
  *
@@ -61,8 +62,10 @@
  * configuration sets user-defined values (see osmo_tdef_vty_init()).
  */
 struct osmo_tdef {
-	/*! T1234 number; type corresponds to struct osmo_fsm_inst.T. Negative and zero T numbers are actually possible,
-	 * but be aware that osmo_tdef_fsm_inst_state_chg() interprets T == 0 as "no timer". */
+	/*! T1234 or X1234 number, corresponding to struct osmo_fsm_inst::T.
+	 * Positive values for T are considered to be 3GPP spec compliant and appear in logging and VTY as "T1234",
+	 * while negative values are considered to be Osmocom specific timers, represented in logging and VTY as
+	 * "X1234". Be aware that osmo_tdef_fsm_inst_state_chg() interprets T == 0 as "state without timeout". */
 	const int T;
 	/*! Timeout duration (according to unit), default value; type corresponds to osmo_fsm_inst_state_chg()'s
 	 * timeout_secs argument. Note that osmo_fsm_inst_state_chg() clamps the range. */
@@ -98,7 +101,9 @@
 /*! Using osmo_tdef for osmo_fsm_inst: array entry for a mapping of state numbers to timeout definitions.
  * For a usage example, see osmo_tdef_get_state_timeout() and test_tdef_state_timeout() in tdef_test.c. */
 struct osmo_tdef_state_timeout {
-	/*! Timer number to match struct osmo_tdef.T, and to pass to osmo_fsm_inst_state_chg(). */
+	/*! Timer number to match struct osmo_tdef.T, and to pass to osmo_fsm_inst_state_chg(). Positive values for T
+	 * are considered to be 3GPP spec compliant and appear in logging and VTY as "T1234", while negative values are
+	 * considered to be Osmocom specific timers, represented in logging and VTY as "X1234". */
 	int T;
 	/*! If true, call osmo_fsm_inst_state_chg_keep_timer().
 	 * If T == 0, keep previous T number, otherwise also set fi->T. */
diff --git a/include/osmocom/vty/tdef_vty.h b/include/osmocom/vty/tdef_vty.h
index f55239a..16d9498 100644
--- a/include/osmocom/vty/tdef_vty.h
+++ b/include/osmocom/vty/tdef_vty.h
@@ -35,7 +35,9 @@
 struct osmo_tdef_group;
 
 #define OSMO_TDEF_VTY_ARG_T "TNNNN"
-#define OSMO_TDEF_VTY_DOC_T "T-number, optionally preceded by 't' or 'T'.\n"
+#define OSMO_TDEF_VTY_DOC_T \
+	"T- or X-timer-number -- 3GPP compliant timer number of the format '1234' or 'T1234' or 't1234';" \
+	" Osmocom-specific timer number of the format: 'X1234' or 'x1234'.\n"
 #define OSMO_TDEF_VTY_ARG_T_OPTIONAL "[" OSMO_TDEF_VTY_ARG_T "]"
 
 #define OSMO_TDEF_VTY_ARG_VAL "(<0-2147483647>|default)"
diff --git a/src/fsm.c b/src/fsm.c
index eb457a1..4876c04 100644
--- a/src/fsm.c
+++ b/src/fsm.c
@@ -108,8 +108,8 @@
 /*! Enable or disable logging of timeout values for FSM instance state changes.
  *
  * By default, state changes are logged by state name only, omitting the timeout. When passing true, each state change
- * will also log the T number and the chosen timeout in seconds. osmo_fsm_inst_state_chg_keep_timer() will log remaining
- * timeout in millisecond precision.
+ * will also log the T number (or Osmocom-specific X number) and the chosen timeout in seconds.
+ * osmo_fsm_inst_state_chg_keep_timer() will log remaining timeout in millisecond precision.
  *
  * The default for this is false to reflect legacy behavior. Since various C tests that verify logging output already
  * existed prior to this option, keeping timeout logging off makes sure that they continue to pass. Particularly,
@@ -205,9 +205,9 @@
 {
 	struct osmo_fsm_inst *fi = data;
 	struct osmo_fsm *fsm = fi->fsm;
-	uint32_t T = fi->T;
+	int32_t T = fi->T;
 
-	LOGPFSM(fi, "Timeout of T%u\n", fi->T);
+	LOGPFSM(fi, "Timeout of " OSMO_T_FMT "\n", OSMO_T_FMT_ARGS(fi->T));
 
 	if (fsm->timer_cb) {
 		int rc = fsm->timer_cb(fi);
@@ -482,13 +482,13 @@
 
 	if (fsm_log_timeouts) {
 		if (keep_timer && fi->timer.active && (osmo_timer_remaining(&fi->timer, NULL, &remaining) == 0))
-			LOGPFSMSRC(fi, file, line, "State change to %s (keeping T%d, %ld.%03lds remaining)\n",
+			LOGPFSMSRC(fi, file, line, "State change to %s (keeping " OSMO_T_FMT ", %ld.%03lds remaining)\n",
 				   osmo_fsm_state_name(fsm, new_state),
-				   fi->T, remaining.tv_sec, remaining.tv_usec / 1000);
+				   OSMO_T_FMT_ARGS(fi->T), remaining.tv_sec, remaining.tv_usec / 1000);
 		else if (timeout_secs && !keep_timer)
-			LOGPFSMSRC(fi, file, line, "State change to %s (T%d, %lus)\n",
+			LOGPFSMSRC(fi, file, line, "State change to %s (" OSMO_T_FMT ", %lus)\n",
 				   osmo_fsm_state_name(fsm, new_state),
-				   T, timeout_secs);
+				   OSMO_T_FMT_ARGS(T), timeout_secs);
 		else
 			LOGPFSMSRC(fi, file, line, "State change to %s (no timeout)\n",
 				   osmo_fsm_state_name(fsm, new_state));
@@ -535,6 +535,10 @@
  *  timer_cb. If passing timeout_secs == 0, it is recommended to also pass T ==
  *  0, so that fi->T is reset to 0 when no timeout is invoked.
  *
+ *  Positive values for T are considered to be 3GPP spec compliant and appear in
+ *  logging and VTY as "T1234", while negative values are considered to be
+ *  Osmocom specific timers, represented in logging and VTY as "X1234".
+ *
  *  See also osmo_tdef_fsm_inst_state_chg() from the osmo_tdef API, which
  *  provides a unified way to configure and apply GSM style Tnnnn timers to FSM
  *  state transitions.
@@ -549,7 +553,9 @@
  *  \param[in] fi FSM instance whose state is to change
  *  \param[in] new_state The new state into which we should change
  *  \param[in] timeout_secs Timeout in seconds (if !=0), maximum-clamped to 2147483647 seconds.
- *  \param[in] T Timer number (if \ref timeout_secs != 0)
+ *  \param[in] T Timer number, where positive numbers are considered to be 3GPP spec compliant timer numbers and are
+ *               logged as "T1234", while negative numbers are considered Osmocom specific timer numbers logged as
+ *               "X1234".
  *  \param[in] file Calling source file (from osmo_fsm_inst_state_chg macro)
  *  \param[in] line Calling source line (from osmo_fsm_inst_state_chg macro)
  *  \returns 0 on success; negative on error
diff --git a/src/vty/tdef_vty.c b/src/vty/tdef_vty.c
index 1c6af70..04c14b9 100644
--- a/src/vty/tdef_vty.c
+++ b/src/vty/tdef_vty.c
@@ -31,6 +31,7 @@
 #include <osmocom/vty/command.h>
 #include <osmocom/vty/tdef_vty.h>
 #include <osmocom/core/tdef.h>
+#include <osmocom/core/fsm.h>
 
 /*! \addtogroup Tdef_VTY
  *
@@ -40,7 +41,7 @@
  * \file tdef_vty.c
  */
 
-/*! Parse an argument like "T1234", "t1234" or "1234", as from OSMO_TDEF_VTY_ARG_T.
+/*! Parse an argument like "1234", "T1234", "t1234", or "X1234", "x1234", as from OSMO_TDEF_VTY_ARG_T.
  * \param[in] vty  VTY context for vty_out() of error messages.
  * \param[in] tdefs  Array of timer definitions to look up T timer.
  * \param[in] T_str  Argument string. It is not validated, expected to be checked by VTY input.
@@ -53,6 +54,7 @@
 	struct osmo_tdef *t;
 	char *endptr;
 	const char *T_nr_str;
+	int sign = 1;
 
 	if (!tdefs) {
 		vty_out(vty, "%% Error: no timers found%s", VTY_NEWLINE);
@@ -60,20 +62,31 @@
 	}
 
 	T_nr_str = T_str;
-	if (T_nr_str[0] == 't' || T_nr_str[0] == 'T')
+	if (T_nr_str[0] == 't' || T_nr_str[0] == 'T') {
+		sign = 1;
 		T_nr_str++;
+	} else if (T_nr_str[0] == 'x' || T_nr_str[0] == 'X') {
+		T_nr_str++;
+		sign = -1;
+	}
+
+	/* Make sure to disallow any characters changing the signedness of the parsed int */
+	if (T_nr_str[0] < '0' || T_nr_str[0] > '9') {
+		vty_out(vty, "%% Invalid T timer argument (should be 'T1234' or 'X1234'): '%s'%s", T_str, VTY_NEWLINE);
+		return NULL;
+	}
 
 	errno = 0;
 	l = strtol(T_nr_str, &endptr, 10);
-	if (errno || *endptr || l > INT_MAX) {
-		vty_out(vty, "%% No such timer: '%s'%s", T_str, VTY_NEWLINE);
+	if (errno || *endptr || l > INT_MAX || l < 0) {
+		vty_out(vty, "%% Invalid T timer argument (should be 'T1234' or 'X1234'): '%s'%s", T_str, VTY_NEWLINE);
 		return NULL;
 	}
-	T = l;
+	T = l * sign;
 
 	t = osmo_tdef_get_entry(tdefs, T);
 	if (!t)
-		vty_out(vty, "%% No such timer: T%d%s", T, VTY_NEWLINE);
+		vty_out(vty, "%% No such timer: " OSMO_T_FMT "%s", OSMO_T_FMT_ARGS(T), VTY_NEWLINE);
 	return t;
 }
 
@@ -153,8 +166,8 @@
 	}
 	if (prefix_fmt)
 		vty_out_va(vty, prefix_fmt, va);
-	vty_out(vty, "T%d = %lu%s%s\t%s (default: %lu%s%s)%s",
-		t->T, t->val,
+	vty_out(vty, OSMO_T_FMT " = %lu%s%s\t%s (default: %lu%s%s)%s",
+		OSMO_T_FMT_ARGS(t->T), t->val,
 		t->unit == OSMO_TDEF_CUSTOM ? "" : " ", t->unit == OSMO_TDEF_CUSTOM ? "" : osmo_tdef_unit_name(t->unit),
 		t->desc, t->default_val,
 		t->unit == OSMO_TDEF_CUSTOM ? "" : " ", t->unit == OSMO_TDEF_CUSTOM ? "" : osmo_tdef_unit_name(t->unit),
@@ -227,7 +240,7 @@
 			vty_out_va(vty, prefix_fmt, va);
 			va_end(va);
 		}
-		vty_out(vty, "T%d %lu%s", t->T, t->val, VTY_NEWLINE);
+		vty_out(vty, OSMO_T_FMT " %lu%s", OSMO_T_FMT_ARGS(t->T), t->val, VTY_NEWLINE);
 	}
 }
 
diff --git a/tests/tdef/tdef_vty_test_config_root.vty b/tests/tdef/tdef_vty_test_config_root.vty
index de2d48f..e7c96ca 100644
--- a/tests/tdef/tdef_vty_test_config_root.vty
+++ b/tests/tdef/tdef_vty_test_config_root.vty
@@ -9,7 +9,7 @@
   [software]  Typical software development cycle
 
 tdef_vty_test> show timer test ?
-  [TNNNN]  T-number, optionally preceded by 't' or 'T'.
+  [TNNNN]  T- or X-timer-number -- 3GPP compliant timer number of the format '1234' or 'T1234' or 't1234'; Osmocom-specific timer number of the format: 'X1234' or 'x1234'.
 
 tdef_vty_test> show timer
 tea: T1 = 50 s	Water Boiling Timeout (default: 50 s)
@@ -21,7 +21,7 @@
 test: T3 = 100 m	Testing a hundred minutes (default: 100 m)
 test: T4 = 100	Testing a hundred potatoes (default: 100)
 test: T2147483647 = 4294967295 m	Very large (default: 4294967295 m)
-test: T-23 = 239471 s	Negative T number (default: 239471 s)
+test: X23 = 239471 s	Negative T number (default: 239471 s)
 software: T1 = 30 m	Write code (default: 30 m)
 software: T2 = 20 ms	Hit segfault (default: 20 ms)
 software: T3 = 480 m	Fix bugs (default: 480 m)
@@ -37,7 +37,7 @@
 test: T3 = 100 m	Testing a hundred minutes (default: 100 m)
 test: T4 = 100	Testing a hundred potatoes (default: 100)
 test: T2147483647 = 4294967295 m	Very large (default: 4294967295 m)
-test: T-23 = 239471 s	Negative T number (default: 239471 s)
+test: X23 = 239471 s	Negative T number (default: 239471 s)
 software: T1 = 30 m	Write code (default: 30 m)
 software: T2 = 20 ms	Hit segfault (default: 20 ms)
 software: T3 = 480 m	Fix bugs (default: 480 m)
@@ -66,7 +66,7 @@
   [default]         Set to default timer value
 
 tdef_vty_test(config)# timer test ?
-  [TNNNN]  T-number, optionally preceded by 't' or 'T'.
+  [TNNNN]  T- or X-timer-number -- 3GPP compliant timer number of the format '1234' or 'T1234' or 't1234'; Osmocom-specific timer number of the format: 'X1234' or 'x1234'.
 
 tdef_vty_test(config)# timer test t2 ?
   [<0-2147483647>]  New timer value
@@ -82,7 +82,7 @@
 test: T3 = 100 m	Testing a hundred minutes (default: 100 m)
 test: T4 = 100	Testing a hundred potatoes (default: 100)
 test: T2147483647 = 4294967295 m	Very large (default: 4294967295 m)
-test: T-23 = 239471 s	Negative T number (default: 239471 s)
+test: X23 = 239471 s	Negative T number (default: 239471 s)
 software: T1 = 30 m	Write code (default: 30 m)
 software: T2 = 20 ms	Hit segfault (default: 20 ms)
 software: T3 = 480 m	Fix bugs (default: 480 m)
@@ -108,8 +108,11 @@
 tdef_vty_test(config)# do show timer tea T0
 % No such timer: T0
 
+tdef_vty_test(config)# do show timer tea X123
+% No such timer: X123
+
 tdef_vty_test(config)# do show timer tea T-123
-% No such timer: T-123
+% Invalid T timer argument (should be 'T1234' or 'X1234'): 'T-123'
 
 tdef_vty_test(config)# do show timer t
 tea: T1 = 50 s	Water Boiling Timeout (default: 50 s)
@@ -121,7 +124,7 @@
 test: T3 = 100 m	Testing a hundred minutes (default: 100 m)
 test: T4 = 100	Testing a hundred potatoes (default: 100)
 test: T2147483647 = 4294967295 m	Very large (default: 4294967295 m)
-test: T-23 = 239471 s	Negative T number (default: 239471 s)
+test: X23 = 239471 s	Negative T number (default: 239471 s)
 
 tdef_vty_test(config)# do show timer te
 tea: T1 = 50 s	Water Boiling Timeout (default: 50 s)
@@ -133,7 +136,7 @@
 test: T3 = 100 m	Testing a hundred minutes (default: 100 m)
 test: T4 = 100	Testing a hundred potatoes (default: 100)
 test: T2147483647 = 4294967295 m	Very large (default: 4294967295 m)
-test: T-23 = 239471 s	Negative T number (default: 239471 s)
+test: X23 = 239471 s	Negative T number (default: 239471 s)
 
 tdef_vty_test(config)# do show timer te T2
 tea: T2 = 300 s	Tea brewing (default: 300 s)
@@ -152,8 +155,11 @@
 tdef_vty_test(config)# timer tea T3
 tea: T3 = 32 m	Let tea cool down before drinking (default: 5 m)
 
+tdef_vty_test(config)# timer tea X123 99
+% No such timer: X123
+
 tdef_vty_test(config)# timer tea T-123 99
-% No such timer: T-123
+% Invalid T timer argument (should be 'T1234' or 'X1234'): 'T-123'
 
 tdef_vty_test(config)# timer tea T0 0
 % No such timer: T0
@@ -177,7 +183,7 @@
 test: T3 = 100 m	Testing a hundred minutes (default: 100 m)
 test: T4 = 100	Testing a hundred potatoes (default: 100)
 test: T2147483647 = 4294967295 m	Very large (default: 4294967295 m)
-test: T-23 = 239471 s	Negative T number (default: 239471 s)
+test: X23 = 239471 s	Negative T number (default: 239471 s)
 
 tdef_vty_test(config)# timer te T2
 tea: T2 = 300 s	Tea brewing (default: 300 s)
@@ -209,8 +215,11 @@
 tdef_vty_test(config)# do show timer software T99
 % No such timer: T99
 
+tdef_vty_test(config)# do show timer software X123123
+% No such timer: X123123
+
 tdef_vty_test(config)# do show timer software T-123123
-% No such timer: T-123123
+% Invalid T timer argument (should be 'T1234' or 'X1234'): 'T-123123'
 
 tdef_vty_test(config)# do show timer software T0
 % No such timer: T0
@@ -251,7 +260,7 @@
 test: T3 = 100 m	Testing a hundred minutes (default: 100 m)
 test: T4 = 100	Testing a hundred potatoes (default: 100)
 test: T2147483647 = 4294967295 m	Very large (default: 4294967295 m)
-test: T-23 = 239471 s	Negative T number (default: 239471 s)
+test: X23 = 239471 s	Negative T number (default: 239471 s)
 software: T1 = 13 m	Write code (default: 30 m)
 software: T2 = 0 ms	Hit segfault (default: 20 ms)
 software: T3 = 480 m	Fix bugs (default: 480 m)
@@ -266,7 +275,7 @@
 test: T3 = 100 m	Testing a hundred minutes (default: 100 m)
 test: T4 = 100	Testing a hundred potatoes (default: 100)
 test: T2147483647 = 4294967295 m	Very large (default: 4294967295 m)
-test: T-23 = 239471 s	Negative T number (default: 239471 s)
+test: X23 = 239471 s	Negative T number (default: 239471 s)
 software: T1 = 13 m	Write code (default: 30 m)
 software: T2 = 0 ms	Hit segfault (default: 20 ms)
 software: T3 = 480 m	Fix bugs (default: 480 m)
diff --git a/tests/tdef/tdef_vty_test_config_subnode.vty b/tests/tdef/tdef_vty_test_config_subnode.vty
index 50e5f59..2605f71 100644
--- a/tests/tdef/tdef_vty_test_config_subnode.vty
+++ b/tests/tdef/tdef_vty_test_config_subnode.vty
@@ -4,7 +4,7 @@
 ... !timer
 
 tdef_vty_test> show timer ?
-  [TNNNN]  T-number, optionally preceded by 't' or 'T'.
+  [TNNNN]  T- or X-timer-number -- 3GPP compliant timer number of the format '1234' or 'T1234' or 't1234'; Osmocom-specific timer number of the format: 'X1234' or 'x1234'.
 
 tdef_vty_test> show timer
 T1 = 100 s	Testing a hundred seconds (default: 100 s)
@@ -12,7 +12,7 @@
 T3 = 100 m	Testing a hundred minutes (default: 100 m)
 T4 = 100	Testing a hundred potatoes (default: 100)
 T2147483647 = 4294967295 m	Very large (default: 4294967295 m)
-T-23 = 239471 s	Negative T number (default: 239471 s)
+X23 = 239471 s	Negative T number (default: 239471 s)
 
 tdef_vty_test> enable
 tdef_vty_test# show timer
@@ -21,7 +21,7 @@
 T3 = 100 m	Testing a hundred minutes (default: 100 m)
 T4 = 100	Testing a hundred potatoes (default: 100)
 T2147483647 = 4294967295 m	Very large (default: 4294967295 m)
-T-23 = 239471 s	Negative T number (default: 239471 s)
+X23 = 239471 s	Negative T number (default: 239471 s)
 
 tdef_vty_test# configure terminal
 tdef_vty_test(config)# show running-config
@@ -35,7 +35,7 @@
 T3 = 100 m	Testing a hundred minutes (default: 100 m)
 T4 = 100	Testing a hundred potatoes (default: 100)
 T2147483647 = 4294967295 m	Very large (default: 4294967295 m)
-T-23 = 239471 s	Negative T number (default: 239471 s)
+X23 = 239471 s	Negative T number (default: 239471 s)
 
 tdef_vty_test(config-net)# do show timer T3
 T3 = 100 m	Testing a hundred minutes (default: 100 m)
@@ -73,17 +73,13 @@
 tdef_vty_test(config-net)# timer T666 5
 % No such timer: T666
 
-tdef_vty_test(config-net)# timer T-23 42
-tdef_vty_test(config-net)# timer T-23
-T-23 = 42 s	Negative T number (default: 239471 s)
+tdef_vty_test(config-net)# timer X23 42
+tdef_vty_test(config-net)# timer X23
+X23 = 42 s	Negative T number (default: 239471 s)
 
-tdef_vty_test(config-net)# timer t-23 43
-tdef_vty_test(config-net)# timer T-23
-T-23 = 43 s	Negative T number (default: 239471 s)
-
-tdef_vty_test(config-net)# timer -23 44
-tdef_vty_test(config-net)# timer T-23
-T-23 = 44 s	Negative T number (default: 239471 s)
+tdef_vty_test(config-net)# timer x23 43
+tdef_vty_test(config-net)# timer x23
+X23 = 43 s	Negative T number (default: 239471 s)
 
 tdef_vty_test(config-net)# do show timer
 T1 = 9012345 s	Testing a hundred seconds (default: 100 s)
@@ -91,17 +87,42 @@
 T3 = 100 m	Testing a hundred minutes (default: 100 m)
 T4 = 100	Testing a hundred potatoes (default: 100)
 T2147483647 = 4294967295 m	Very large (default: 4294967295 m)
-T-23 = 44 s	Negative T number (default: 239471 s)
+X23 = 43 s	Negative T number (default: 239471 s)
+
+tdef_vty_test(config-net)# timer T-23 42
+% Invalid T timer argument (should be 'T1234' or 'X1234'): 'T-23'
+tdef_vty_test(config-net)# timer T-23
+% Invalid T timer argument (should be 'T1234' or 'X1234'): 'T-23'
+
+tdef_vty_test(config-net)# timer t-23 42
+% Invalid T timer argument (should be 'T1234' or 'X1234'): 't-23'
+tdef_vty_test(config-net)# timer t-23
+% Invalid T timer argument (should be 'T1234' or 'X1234'): 't-23'
+
+tdef_vty_test(config-net)# timer X-23 42
+% Invalid T timer argument (should be 'T1234' or 'X1234'): 'X-23'
+tdef_vty_test(config-net)# timer X-23
+% Invalid T timer argument (should be 'T1234' or 'X1234'): 'X-23'
+
+tdef_vty_test(config-net)# timer x-23 42
+% Invalid T timer argument (should be 'T1234' or 'X1234'): 'x-23'
+tdef_vty_test(config-net)# timer x-23
+% Invalid T timer argument (should be 'T1234' or 'X1234'): 'x-23'
+
+tdef_vty_test(config-net)# timer -23 42
+% Invalid T timer argument (should be 'T1234' or 'X1234'): '-23'
+tdef_vty_test(config-net)# timer -23
+% Invalid T timer argument (should be 'T1234' or 'X1234'): '-23'
 
 tdef_vty_test(config-net)# show running-config
 ... !timer
 net
  timer T1 9012345
- timer T-23 44
+ timer X23 43
 ... !timer
 
 tdef_vty_test(config-net)# timer T1 default
-tdef_vty_test(config-net)# timer T-23 default
+tdef_vty_test(config-net)# timer X23 default
 
 tdef_vty_test(config-net)# show running-config
 ... !timer
