[asterisk-users] MSet()
Mark Michelson
mmichelson at digium.com
Fri Dec 12 15:49:05 CST 2008
Mark Michelson wrote:
> Philipp Kempgen wrote:
>> How is MSet() different from Set()?
>> Is it supposed to be a "Multi"-Set()?
>> Why was it added in 1.6?
>>
>>
>> Philipp Kempgen
>>
>
> It is a Multiset application. My recollection of the addition is that due to
> parser changes in 1.6, a statement like:
>
> exten => s,1,Set(FOO=hello,BAR=world)
>
> would result in a variable called FOO being set to the value "hello,BAR=world".
> The MSet application was added to facilitate being able to set multiple
> variables in a single application call. If using MSet, the above would instead
> result in a variable called FOO being set to the value "hello" and a variable
> called BAR being set to "world".
>
> Mark Michelson
>
An even better answer is in the UPGRADE-1.6.txt document in the Asterisk source:
* The behavior of the Set application now depends upon a compatibility option,
set in asterisk.conf. To use the old 1.4 behavior, which allowed Set to take
multiple key/value pairs, set app_set=1.4 in [compat] in asterisk.conf. To
use the new behavior, which permits variables to be set with embedded commas,
set app_set=1.6 in [compat] in asterisk.conf. Note that you can have both
behaviors at the same time, if you switch to using MSet if you want the old
behavior.
Mark Michelson
More information about the asterisk-users
mailing list