<div dir="ltr"><div><div></div>Using ast_channel_get_bridge(struct ast_channel *chan), you can get a reference for the bridge. The channel needs to be locked before you use that function and you'll need to cleanup the bridge reference when you are done with it. From there you can use the bridge reference to get the list of channels (channel snapshots more specifically) on the bridge fairly trivially using ast_bridge_peers(struct ast_bridge *bridge). You'll have channel names that way at least which, if you really need to, can be used to get the channels themselves using ast_channel_get_by_name.<br></div><div><br></div>I'm not sure how much that helps. I'm assuming you are using Asterisk 12+ since the bridging API is only usable in those versions.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jun 2, 2017 at 7:17 AM, Wray Ferrell <span dir="ltr"><<a href="mailto:wferrell1@nc.rr.com" target="_blank">wferrell1@nc.rr.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
Is there anyway for a channel to know the other channels in their current bridge? The reason I ask is I have a customer application that negotiates a port using the SIP SDP for out of call signalling using UDP. For security purposes they want to route all traffic through their box which is running Asterisk instead of allowing the two phones to set up a direct socket between them. In other words both phones will negotiate a port with Asterisk and I need to take the incoming message from phone A and send it on the Phone B. So I added some fields to the configuration file and now Asterisk is listening on the negotiated ports for incoming messages. The problem is since the message is out of the call I get just the data and the IP address/Port it was sent from. Since I saved the negotiated port in the sip_pvt structure, I can iterate over all the active dialogs to get the sip_pvt structure for the channel, but I don't know how to reach the other channel in the call. It seems to me that writing my own channel tech doesn't help because of the lack of a call-id associated with the message so I was hoping to piggyback on the existing call by stuffing the data in a SIP info messge and calling __sip_xmit with the sip_pvt pointer for the other call leg. Or maybe there is a more elegant way to solve this issue?<br>
<br>
Thanks, Wray<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
-- <br>
______________________________<wbr>______________________________<wbr>_________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" rel="noreferrer" target="_blank">http://www.api-digital.com</a> --<br>
<br>
asterisk-dev mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
  <a href="http://lists.digium.com/mailman/listinfo/asterisk-dev" rel="noreferrer" target="_blank">http://lists.digium.com/mailma<wbr>n/listinfo/asterisk-dev</a><br>
</font></span></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div><b>Jonathan R. Rose<br></b><span><span>Senior Systems Engineer<br><br></span></span></div>Emergency CallWorks<br></div>Motorola Solutions<br><br></div><div>email: <a href="mailto:jonathan.rose@motorolasolutions.com" target="_blank">jonathan.rose@motorolasolutions.com</a><br></div></div></div></div>
</div>