|Summary:||ASTERISK-21711: Stasis API - Incorporate the bridging framework into res_stasis app|
|Reporter:||Matt Jordan (mjordan)||Labels:||Asterisk12|
|Date Opened:||2013-04-26 12:51:17||Date Closed:||2013-06-10 08:18:01|
|Description:||The Stasis-HTTP application (the actual application provided by res_stasis, not the REST interface portion) needs to be able to do the following:
* For bridges created via the RESTful interface, own and manage the bridges and the channels within them
** Put channels into a bridge
** Remove channels from a bridge
* Maintain knowledge of the bridges for each application and for the channels, such that they can be easily accessed
In general, an application object should own a container of bridge and a container of channels. As channels enter into the Stasis application, they are added to the container of channels.
Bridges should always be created via a REST-ful call, and hence can be added directly without looking for events.
Bridge destruction can occur either through an explicit call or through channel hangup; hence, the application should subscribe to each bridge that it creates.
1 1 0 n
app_object ---> ao2_container(channels) ----> ast_channel
| 1 1 0 n
|-----> ao2_container(bridges) -----> ast_bridge