[asterisk-dev] chan_zap questions
Klaus Darilion
klaus.mailinglists at pernau.at
Wed Jul 12 06:51:27 MST 2006
Armin Schindler wrote:
> On Wed, 12 Jul 2006, Klaus Darilion wrote:
>> Armin Schindler wrote:
>>> On Wed, 12 Jul 2006, Klaus Darilion wrote:
>>>>> Maybe an additional subclass
>>>>> AST_CONTROL_AOC
>>>>> should be introduced.
>>>> Thats what I did and it works fine. But ast_indicate_data requires a
>>>> ast_channel as first parameter. If FACILITY is received on leg2, I
>>>> have to
>>>> find out the ast_channel of leg 1 to indicate on the proper channel.
>>>> Fur this
>>>> purpose I still use ast_bridged_call. Any other suggestion?
>>> No, don't use ast_indicate*() directly, just use the normal *read
>>> function to give this CONTROL frame to asterisk. The asterisk code
>>> (bridge or dial-before-bridge) will forward this CONTROL frame to the
>>> other leg.
>> Aha, sounds interesting. Can you give me a pointer to the code where this is
>> already used? Why should I use *read functions? I would rather think of *write
>> functions?
>
> Actually it is *read. It is the functon called by Asterisk to *read* a frame
> from the channel driver -> zt_read() in chan_zap.c
> I don't know the structure of chan_zap, but I think zap_queue_frame() is
> used to *give* a frame to Asterisk.
> chan-capi does the same with local_queue_frame() which then provides this
> frame in the *read function to asterisk.
Ok. But there is still one problem left - If the bridge is not setup
(leg 1 does not have sent CONNECT yet), the AOC-D must be queued
somewhere and as soon as leg 1 is connected, a FACILITY message must be
generated. Do you know such a queue mechanism inside Asterisk?
btw: das chan-capi support AOC?
regards
klaus
More information about the asterisk-dev
mailing list