Previous VTY configured range for the set of tdefs in timer xua didn't allow to pass a 0 to it, which "timer xua beat 0" should be able to accept in order to disable heartbeat procedure on the ASP. In order to fix it: * Change VTY range to minimal accepted value to 0 for the whole tdef set. * Make sure the VTY command validates and rejects user trying to set a value outside the accepted range of the specific timer. * Set .min_val=1 in SS7_ASP_XUA_T_ACK, so it can't accept value 0. According to spec, T(ack) is always expected to be set, even if the resulting timeout may be handled by LM instead of simply retransmitting the packet. * Write vty tests to validate the restrictions are followed properly in the VTY.
Validate the value to be set provided by user over VTY is actually within the range of the specific tdef being set. Mark all of them explicitly as min_val=1 in its tdef, since they are not expected to be set to 0 (see also gen_asp_timer_lm_cmd_strs() defining a VTY range <1..999999>).