Rpt set variable no longer stores custom variables in ASL3 3.10.x

On ASL3 3.9.3 (Asterisk 22.9.0+asl3-3.9.3-1) the following works:

asterisk -rx 'rpt set variable 654582 cpu_temp "test123"'
asterisk -rx "rpt show variables 654582"

On ASL3 3.10.5 (Asterisk 22.10.1+asl3-3.10.5-1) the same commands behave differently:

asterisk -rx 'rpt set variable 654580 cpu_temp "test123"'
asterisk -rx "rpt show variables 654580"
asterisk -rx "rpt cmd 654580 xstat"

  • The rpt set variable command returns no error.
  • The variable never appears in rpt show variables.
  • It also never appears in the raw xstat / RptStatus output.

Was the ability to set and retrieve custom channel variables intentionally removed or restricted in 3.10.x?

If so, is there a new method or configuration option to store arbitrary per-node variables that will still be returned in the AMI RptStatus response?

We use this to push node status (weather, alerts, load, etc.) into Supermon via AMI. The older behavior is required for that to work.

Thank you.

When trying out your commands with asterisk -r -vvvv I found :

nodeXXX*CLI> rpt set variable XXX cpu_temp "test123"
[2026-10-23 15:29:53.563] WARNING[...]: app_rpt/rpt_cli.c:1203 rpt_do_setvar: Ignoring entry 'cpu_temp' with no = 
[2026-10-23 15:29:53.563] WARNING[...]: app_rpt/rpt_cli.c:1203 rpt_do_setvar: Ignoring entry 'test123' with no = 

It looks like the following should work :

asterisk -rx 'rpt set variable XXX cpu_temp="test123"'

Also :

nodeXXX*CLI> rpt set variable XXX 
Usage: rpt set variable <nodename> <name=value> [<name=value>...]
	Set an Asterisk channel variable for a node.
   Note: variable names are case-sensitive.

Works perfectly fine, has been used in supermon-ng for a couple of years to handle node info being displayed in the table.

Supermon has always use scripts for display weather and such, supermon2 for hamvoip used the variables to display the info you are speaking of.

thank you both for your replies. I was able to figure out what I was doing wrong.