[Asterisk-Users] Re: Expressions - solved

Tais M. Hansen tmh at comx.as
Thu Dec 18 09:21:19 MST 2003


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Thursday 18 December 2003 15:43, John Todd wrote:
> >Answer() apparently changes channels and thus clears variables set prior
> > to the Answer() call. :(
> If Answer() clears variables, then this is a bug, where "bug" is
> defined as "behavior that occurs that a reasonable user or developer
> would not expect given the inputs to the process."
> If you do not use Answer() explicitly, are the values still cleared?
> Can you please document and put in the bug tracker.

A first it seemed like the variable was set until Answer() was called but it 
is not the case. More testing revealed the vars gets cleared when Asterisk 
bridges the channel and chosen extension set in the call spool file.

    -- Executing NoOp("Local/1234 at default-9d04,1", "id = 36") in new stack
    -- Executing Answer("Local/1234 at default-9d04,1", "") in new stack
    -- Executing NoOp("Local/1234 at default-9d04,1", "id = 36") in new stack
    -- Executing Wait("Local/1234 at default-9d04,1", "1") in new stack
  == Spawn extension (macro-dialprovider, s, 5) exited non-zero on 
'Local/1234 at default-9d04,2' in macro 'dialprovider'
  == Spawn extension (default, 1234, 2) exited non-zero on 
'Local/1234 at default-9d04,2'
    -- Executing NoOp("IAX2[x.x.x.x:4569]/1", "id = ") in new stack


A matching segment of the dialplan:

exten => s, 2,NoOp(id = ${id})
exten => s, 3,Answer()
exten => s, 4,NoOp(id = ${id})
exten => s, 5,Wait(1)
exten => s, 6,NoOp(id = ${id})



- -- 
Regards,
Tais M. Hansen
ComX Networks
Tel: +45-70257474
Fax: +45-70257374
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQE/4dQA2TEAILET3McRAp9GAJ9fZgolC7FAi4PlUIragSHcjiYkXgCePokV
Zm0NIJc4oOFe3NjSh1QaEh4=
=h5Oj
-----END PGP SIGNATURE-----




More information about the asterisk-users mailing list