Conference calls are calls that include more than two parties simultaneously.
They can be set up using either a switch-based conference bridge or an external
server-based bridge. Typically, only switch-based conferencing will allow the
level of conference control provided by the API. In server-based conference
calls all participating parties dial into the server which mixes all the media
streams together and sends each participant the mix; there may be no notion of
individual parties in the conference call, only that of a single call between the
application and the bridge server.
A conference call can be established in a number of ways, depending on device
- A conference call can begin as a regular two-party call, such as a call
established with lineMakeCall. Once the two-party call exists, additional parties can be added, one at a
time. Calling lineSetupConference prepares a given call for the addition of another party, and this action
establishes the conference call. This operation takes the original two-party call
as input, allocates a conference call, connects the original call to the
conference, and allocates a consultation call whose handle is returned to the
The capabilities of the addressed line device can limit the number of
parties conferenced in a single call and whether or not a conference starts out with
a normal two-party call.
The application can then use lineDial
on the consultation call to establish a connection to the next party to be
added. The lineDrop
function can be used to abandon this call attempt. The third party is added
with the lineAddToConference
function, which specifies both the conference call and the consultation call.
- A three-way conference call can be established by resolving a transfer request
for three-way conference. In this scenario, a two-party call is established as
either an inbound or outbound call. Next the call is placed on transfer hold
with the lineSetupTransfer function, which returns a consultation call handle. After a period of
consultation, the application may have the option to resolve the transfer setup by
selecting the three-way conference option which conferences all three parties
together in a conference call with lineCompleteTransfer with the conference option (instead of the transfer option). Under this option, a conference call handle representing the
conference call is allocated and returned to the application.
- A conference call may need to be established with lineSetupConference without an existing two-party call. This returns a handle for the conference
call and allocates a consultation call. After a period of consultation, the
consultation call can be added with lineAddToConference. Additional parties are added with linePrepareAddToConference followed by lineAddToConference.
To add parties to an existing conference call, the application uses linePrepareAddToConference
. When calling this function, the application supplies the handle of an
existing conference call. The function allocates a consultation call that can later
be added to the conference call and returns a consultation call handle to the
application. This conference call is then placed on conference hold. Once the
consultation call exists, it can be added to the existing conference call with lineAddToConference
Once a call becomes a member of a conference call, the member's call state
reverts to conferenced
. The state of the conference call typically becomes connected
. The call handle to the conference call and all the added parties remain
valid as individual calls. LINE_CALLSTATE
events can be received about all calls. For example, if one of the members
disconnects by hanging up, an appropriate call-state message can inform the
application of this fact; such a call is no longer a member of the conference.
As is the case with call transfer, the application can toggle between the
consultation call and the conference call using lineSwapHold
Use the call handle for the member calls to later remove the call from the
conference. Do this by calling lineRemoveFromConference
on the call handle. This operation is not commonly available in its fully
general form. Some switches may not allow it at all, or only allow the most
recently added party to be removed. The line's device capabilities describe which
type of lineRemoveFromConference
In version 0x00020000 and greater, applications can use the "no hold
conference" feature of PBXs by using the LINECALLPARAMFLAGS_NOHOLDCONFERENCE option with lineSetupConference
; this feature allows another device, such as a supervisor or recording
device, to be silently attached to the line.
- Software for developers
Software for Android Developers
- More information resources
Unix Manual Pages