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?

regards
klaus

during processing of case PRI_EVENT_FACNAME:
struct ast_channel *otherchan;
otherchan = ast_bridged_channel(pri->pvts[chanpos]->owner);
if (otherchan && (!strcmp(otherchan->tech->type, "Zap"))) {
/* Only for Zap channels */
ast_indicate_data(otherchan, AST_CONTROL_AOCD, &aocd,
                 sizeof(struct aocd_data));

Yes, that's the direct way, but you don't need that. See above.

Armin

_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to