Copyright © 2005-2006 Ericsson
Version: 1.0
Behaviour: gen_server.
Authors: Freek Sanders (freekisanders@gmail.com) [web site: http://www.freeksanders.tk].
idefisk_supervisor) and communicates with a given Ext-Ast-Interface instance through its process id.
Use-Case-Bridge-Server uses Use-Case-Call (see use_case_call) to keep an intern record of created calls, legs and resources, as well as to receive messages.
When Use-Case-Bridge-Server receives a incoming message from Idefisk, it starts a new SingleBridge (see use_case_single_bridge).
This SingleBridge communicates with ExtENS, resulting in the creation of another SingleBridge.
This new SingleBridge registers with Use-Case-Bridge-Server (see use_case_bridge_server:register_bridge/3.
The server then creates a new leg, of which the id is send to the new SingleBridge.
Then the new leg is routed.
When a 'answer' is received from Asterisk, the SingleBridge is alerted.
The SingleBridge then contacts ExtENS to pass the 'answer' message.
Meanwhile, the new leg is attached.
ExtENS passes the 'answer' message to the original SingleBridge, which passes it to the Use-Case-Bridge-Server.
The server then attaches the original leg, after which conversation can start.
When one party (i.e. leg) hangs up, the SingleBridge is alerted, and passes the message to ExtENS.
ExtENS then alerts the other SingleBridge, which in turn passes the message to Use-Case-Bridge-Server.
At receiving the message, Use-Case-Bridge-Server hangs up the remaining leg.
Set asterisk_ext_module to 'use_case_bridge_server' : {asterisk_ext_module, use_case_bridge_server}
Set asterisk_ext_module_start to 'true' : {asterisk_ext_module_start, true}
Set asterisk_ext_module_args to the BridgeServer : {asterisk_ext_module_args, [BridgeServerArgs::bridge_server_args()]}
StartId is where the id of the place where the Bridge-Server begins.
This can be a integer, atom or string.
Use-Case-Bridge-Server has been implemented using the gen-server behaviour. This means that all function calls returning 'ok' (see below) are gen_server casts, which carry out their function asynchronously. An 'ok' does not mean success. If a function has success or not can only be derived from side-effects and messages printed to the command line.
For more information about the flow of events and an explanation of terms seeext_ast_interface.
| die/0 | Destroys the use case. |
die() -> ok
Destroys the use case.
Introduced in: 1.0