[Freeswitch-dev] Channel variables from openzap
scapper at ooma.com
Thu Oct 2 14:21:01 EDT 2008
I see how the var_event mechanism works.
Are you ok with new openzap functions to set/get the vars on the channel,
called from outgoing_channel().
zap_channel_add_var(zap_channel_t *zchan, char *var_name, const char *value)
const char * zap_channel_get_var(zap_channel_t *zchan, char *var_name)
And new fields in zap_channel struct to hold the data
char * user_vars;
On 10/2/08 10:18 AM, "Anthony Minessale" <anthony.minessale at gmail.com>
> The difference openzp is itself also an abstraction layer so you need to
> pass it down.
> I *will not* violate scope like that.....
> so the only thing I am ok with is adding channel variables to the openzap
> Then you can either set them all from the vars_event in the mod_openzap
> outgoing_channel routine
> or with a callback via the core set_variable mechanism.
> Then your signaling mod could get the variables by name when it was needed.
> you will learn to understand that due to the years of torture from asterisk
> and it's knotted up api that is somehow called an abstraction layer, I will
> not bend on scope issues. Things like this are exactly what went wrong
> On Thu, Oct 2, 2008 at 11:04 AM, Simon Capper <scapper at ooma.com> wrote:
>> The variables would be set before the call by another app, its analogous to
>> setting a sip_x variable and having it appear in the sip signaling, don't
>> need a callback.
>> The parameters are (so far):
>> Ring type: (cadences index to ring the phone with)
>> Phones to ring list: (proprietary for my ozmod module, don't think it
>> be in the library)
>> Maybe have a variable "opanzap_<variable_name>" that mod_openzap looks for
>> and adds to the zchan structure by passing a custom variable array to
>> zap_channel_open() then the ozmod can read it.
>> On 10/2/08 6:11 AM, "Anthony Minessale" <anthony.minessale at gmail.com>
>>> That would pretty much violate the whole scope of the library. It's not
>>> supposed to even know there is a such thing as FreeSWITCH to get
>>> from. There could just as easily be a chan_openzap for asterisk (*WINK*
>>> *WINK* anyone? buelleur?)
>>> What exactly do you need them for?
>>> The most elegant way would be for the FS core to allow endpoints
>>> (mod_openzap) to register a callback to be called
>>> when a variable is set on that channel, then add the concept of channel
>>> variables to openzap zchans
>>> so then when FS had a channel variable set it mod_openzap would in turn
>>> it on openzap zchan and the blind abstraction would be preserved.
>>> On Thu, Oct 2, 2008 at 2:42 AM, Simon Capper <scapper at ooma.com> wrote:
>>>> I want to access channel variables from an ozmod module in openzap.
>>>> I can't see a way to do it in the current code.
>>>> I'd like to add the feature and provide a patch for openzap when I'm
>>>> I'm thinking of adding a void pointer that could be passed down via
>>>> zap_channel_open that could be then be used from the ozmod modules?
>>>> Mod_openzap would set the pointer to a function that would give access
>>>> channel variables. Thoughts?
>>>> Freeswitch-dev mailing list
>>>> Freeswitch-dev at lists.freeswitch.org
>> Freeswitch-dev mailing list
>> Freeswitch-dev at lists.freeswitch.org
More information about the Freeswitch-dev