[Home]

Summary:ASTERISK-26163: stasis: Documentation lacking on getting ChannelVarset for global variables
Reporter:Claudiu Olteanu (claudiuolteanu)Labels:event global stasis variable
Date Opened:2016-06-30 03:01:59Date Closed:
Priority:MinorRegression?
Status:Open/NewComponents:Documentation Resources/res_stasis
Versions:13.8.0 13.8.1 13.8.2 13.9.0 13.9.1 Frequency of
Occurrence
Constant
Related
Issues:
Environment:OS: RedHat 7.2, kernel version 3.10.0-327.13.1.el7.x86_64 Asterisk 13.9.1Attachments:
Description:Hi there,

Apparently, the ChannelVarset is not raised when a global variable is changed.

The ChannelVarset is raised only when a variable of a channel is changed and your Stasis application is subscribed to that channel. I believe that the event should be raised also for global variables.

In order to test it:
1. Create a Stasis application
2. Subscribe to "ChannelVarset" events
3. Change the value of a global variable or set a new one

Results:
The ChannelVarset is not raised.

Expected results:
The ChannelVarset should be raised.


Happy hacking,
Claudiu


Comments:By: Asterisk Team (asteriskteam) 2016-06-30 03:01:59.925-0500

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

By: Joshua C. Colp (jcolp) 2016-06-30 07:53:44.454-0500

ChannelUserevent is a user defined event which is not raised by Asterisk directly itself. Are you actually referring to ChannelVarset?

By: Claudiu Olteanu (claudiuolteanu) 2016-06-30 09:45:42.127-0500

Yes, I was talking about ChannelVarset event. Sorry for the confusion.

By: Joshua C. Colp (jcolp) 2016-07-05 05:56:16.289-0500

I'd suggest bringing this up on the asterisk-app-dev mailing list[1] to see what other people think. It can go either way really. The ChannelVarset event is for dialplan variables that are manipulated on a channel, but a global variable is outside of a channel.

[1] http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev

By: Claudiu Olteanu (claudiuolteanu) 2016-07-05 06:38:10.089-0500

Thanks for your input!

On the documentation of ChannelVarset event it says that the channel property is optional and if it is missing, then the variable is a global one.
Besides that, on the AMI interface, the VarSet event is raised for both global and local variables. Therefore I would expect the same behaviour for ARI interface.

I will start a topic on the mailing list to see what other people think.

[1] - https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+REST+Data+Models#Asterisk13RESTDataModels-ChannelVarset

By: Stefan Repke (stefffan@gmx.de) 2019-02-28 06:58:01.854-0600

+1
I am looking for this feature too!

The ARI workaround would be, to send userevents (global, ie. without channel) to other applications. Unfortunately, this only works if you know the other application(s) by name!