[asterisk-dev] extending bridging API
Klaus Darilion
klaus.mailinglists at pernau.at
Tue Feb 9 07:53:11 CST 2010
Hi Joshua!
Thanks for the answers, some more questions inline :-)
Am 08.02.2010 20:51, schrieb Joshua Colp:
> ----- "Klaus Darilion"<klaus.mailinglists at pernau.at> wrote:
>
>> Hi!
>>
>> I just tried to understand how the new bridging API works, and how I
>> can
>> extend it, but I am not sure how/where to extend it. Thus I have some
>>
>> questions :-)
>>
>> For example the bridge should react on AST_CONTROL_* frames. If a
>> participant puts the call on hold, and AST_CONTROL_HOLD is received on
>>
>> the participants channel, the participant should be muted. Or if
>> AST_CONTROL_CONNECTED_LINE is received, the other participants should
>> be
>> informed about the new line identity.
>
> It's the responsibility of the bridging technology in use to propagate frames
> as it sees fit.
What exactly is the "bridging technology"? Is it the respective
implementation in bridges/ directory?
>> Where would this kind of features be implemented? Adding a new bridge
>>
>> implementation in the bridges/ directory or by adding the code to
>> main/bridging.c?
>
> The bridging core itself doesn't care about frames like this, you would have
> to extend it to intercept them.
I played around with the app_confbridge (unmodified). I dial with 2 SIP
clients into the conference. When one SIP clients puts the call on hold,
I see incoming AST_CONTROL_HOLD from the respective channel which gets
forwarded to the other channel (on the other SIP client gets a hold tone).
Doing the same with 3 participants, the AST_CONTROL_HOLD is NOT
forwarded to the other channels.
I searched through app_confbridge.c, main/bridging.c and bridge/*.c but
I can not find code where this AST_CONTROL_HOLD is forwarded. Which file
controls the forwarding of the AST_CONTROL_HOLD?
thanks
klaus
More information about the asterisk-dev
mailing list