What is bridge_class in BridgeCreated ARI message

I am listening to ARI events, in the hope of distinguishing when a bridge is created using a simple 2-leg (A to B) call, versus a bridge created when a conference is started. When I compare the ARI messages, I notice a difference in the “bridge_class” attribute:

  • When I create a bridge from the dialplan by making a simple A-B call, I see the event type “BridgeCreated” with bridge_class “basic
  • When I create a bridge from the dialplan by joining a conference, I see the event type “BridgeCreated” with bridge_class “base
  • And just out of interest, when I create a bridge using the ARI I see event type “BridgeCreated” with bridge_class “stasis

I can’t find any documentation on this attribute (if it’s there please post a link). Is this an accurate and repeatable way to determine if someone has created a call vs conference bridge (“basic” vs “base”).?

If not, is there some other attribute I should use to make this determination? I did see a “creator” attribute which holds “ConfBridge” when creating a conference bridge, but since I created my dialplan with FreePBX (to save time) I don’t want anything to be FreePBX specific so am hesitant to use this attribute…I want it to work with just Asterisk and a manually created dialplan.

The bridge_type field would be mixing if it was explicitly created as a multiparty mixing bridge.

Both 2-leg “calls” and “conferences” show bridge_type as “mixing”, so sadly I can’t use that to distinguish a “call” from a “conference”.

The only real difference I can see is in the “bridge_class” attribute which is either “basic” (call) or “base” (conference). But can I rely on this? (Since it’s undocumented, I’m afraid this attribute may disappear in a future release). Of course, I’m also curious just what this attribute means :slight_smile:

Bridges are a low level primitive of Asterisk. They can be used for many different things, and they also have the property of being able to change between two party to multiparty and back depending on what is using them. Classes extend the behavior of bridges and handle certain things. I don’t know if you’re really going to be able to do what you want due to that with certainty on creation.