[asterisk-dev] Clearing pick-up groups on Zap/ channels
Eric "ManxPower" Wieling
eric at fnords.org
Mon Nov 6 17:29:45 MST 2006
Why not allow group= or make group 0 mean "no group".
What I do is set channels that I don't want in a group to be group 0 and
never use g0 anywhere
Nic Bellamy wrote:
> Olle E Johansson wrote:
>
>>
>> 5 nov 2006 kl. 16.43 skrev Gil Kloepfer:
>>
>>> I've discovered that in configuration files such as the one for
>>> chan_zap (where all the options "cascade down" rather than being
>>> specific for each category, there is no way to indicate that
>>> channels have no pick-up group after the first group has been
>>> set. For example (simplified), in zapata.conf:
>>>
>>> [channels]
>>> ; These two phones are in call group/pick-up group #1
>>> callerid="Green Phone"<(256) 428-6121>
>>> callgroup=1
>>> pickupgroup=1
>>> channel => 1
>>> callerid="Black Phone"<(256) 428-6122>
>>> channel => 2
>>>
>>> ; These three channels should not be in ANY pick-up groups, but there
>>> ; is no way to clear the previous settings
>>> callerid="CallerID Phone" <(256) 428-6123>
>>> channel => 3
>>> callerid="CallerID Phone" <(256) 704-4666>
>>> channel => 4
>>> callerid="CallerID Phone" <(630) 372-1564>
>>> channel => 5
>>>
>>> In the case of channels 3, 4, and 5, there is no valid way to "clear
>>> out"
>>> the "current" callgroup / pickupgroup without encountering an error
>>> (you could say pickupgroup=none, but that actually throws an error
>>> from ast_get_group(), although it happens to work).
>>>
>>> I'd like to propose making a change to ast_get_group() to allow
>>> the option "none" that returns a ast_group_t containing no groups set,
>>> basically zero. So you could say 'callgroup=none' for example.
>>>
>>> Note that callgroup=0 would not do what I am suggesting because 0 is
>>> a valid group number. The group/callgroup/pickupgroup is actually a
>>> bit mask (bits numbered 0 to 63).
>>>
>>> If this seems reasonable, please indicate so and I will submit a patch
>>> for both 1.2 and -trunk (they are essentially the same patch).
>>
>> Sounds very reasonable. Whether we can see this as a bug or a new
>> feature is up to Russell to decide. If it's a bug fix, which I think,
>> we need
>> patches for the 1.2 and 1.4 branches plus trunk. Please open an issue
>> in the bug tracker, upload patches and we'll discuss there.
>
> I've been trying to think of an easy, minimal-change way out of the
> zapata.conf inheritence problem (since it's not just pickupgroups that
> have this behaviour, it's just worse with that since you can't reset it
> at present).
>
> What about something simple like a "resetdefaults" item that will
> restore all zapata.conf settings to hardcoded defaults, and clear out
> the pickupgroup/callgroup stuff?
>
> Ie.
>
> pickupgroup=1
> callgroup=1
> channel => 1-3
>
> resetdefaults=yes ; likely need the =yes since it's key=value based
>
> otherconfig=123
> channel => 4
>
> This wouldn't break any existing configs out there, since it'd only
> happen if you explicitly used resetdefaults.
>
> Thoughts? Or shall I just whip up a patch? :-)
>
> Regards,
> Nic.
>
More information about the asterisk-dev
mailing list