Re: Originate with label?

Antony Stone <[email protected]>
Newsgroups gmane.comp.telephony.pbx.asterisk.user
Message-ID <[email protected]>
On Tuesday 30 August 2022 at 23:51:34, Mark Murawski wrote:

> On 8/30/22 12:34, Antony Stone wrote:

> >>> 	Tracker=${CDR(uniqueid)};
> >>> 
> >>> results in:
> >>> 	MSet(Tracker=-1661872057.2349)
> >>> 
> >>> systemname is missing.
> 
> Please re-evaluate what I wrote previously.  Again, this is not a
> problem with MSet.  You can see this for yourself if you do an inline
> MSet(Tracker=${CDR(uniqueid)});  this will work fine.

Aha - now I see that my problems (or confusions) are being caused by the 
automatic wrapping in $[..] and not by MSet itself, thank you.

> Just because the documentation says that MSet should not be used, it's
> not appropriate to blame all undesirable behaviors on MSet(), since
> clearly MSet() is not the problem here.

Agreed.

> > I think we'll have to disagree on what a programmer "expects" a syntax
> > like var=value to do, then.

> > What I am suggesting is that Tracker=${CDR(uniqueid)} should be converted
> > by AEL into Set(Tracker=${CDR(uniqueid)}) in order to avoid this sort of
> > surprise.
> 
> On the flip-side... anyone who currently relies on purely
> numeric/boolean handling of the current implementation would be
> incredibly surprised to find their AEL suddenly broken... so we need to
> take that into account.

Indeed.

I realise that the better solution might be to wrap assignments (inside Set() 
or MSet(), no matter) with $[..] *only* if the expressions contain arithmetic 
operators + - * / and not if they are simple a=b assignments, including 
a=${b}.

This would ensure that even if ${b} expanded to something containing a dash, 
it would be interpreted as a mathematical minus sign in a=${b}

> I'm a huge fan of enhancements and improvements and bug fixes, but as
> noted, MSet isn't the problem here.

Indeed, I agree with you now.  I was focusing on MSet and not $[..]

> But... currently I don't see a justifiable reason to make this a thing,
> unless there's actual problems demonstrated with the fact that MSet is being
> used.

I would still be interested to know whether there are any examples of MSet() 
doing what one expects and Set() in the same situation causing a problem.


Thanks,


Antony.

-- 
This sentence contains exacly three erors.

                                                   Please reply to the list;
                                                         please *don't* CC me.

-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

Check out the new Asterisk community forum at: https://community.asterisk.org/

New to Asterisk? Start here:
      https://wiki.asterisk.org/wiki/display/AST/Getting+Started

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.