connect to conference Action
Connects an existing inbound or outbound (primary) call to a conference as a conference participant via an outbound (secondary) call. It allows you to tailor how the participant influences the conference and how it interacts with other participants in the conference.
Note that web apps that use the
connect to conference
action require Extra Channels to be set to one or more in the service configuration.The connect to conference properties are:
Property | Required/Optional | Default | Description |
---|---|---|---|
name | required | - | The name of the conference to call. |
hold media | optional | null | A play action. Media to play repeatedly to the primary call until the secondary call is connected. null signifies playing ringing to the call. |
seconds answer timeout | optional | 30 | An integer. The time to wait for the secondary call to be answered. |
conference participant | optional | null | A conference participant object that determines how the participant interacts with the conference. |
secondary call | optional | null | A secondary call object that specifies pages and properties that are related to the lifetime of the secondary call. |
next page | optional | null | A web page request object that defines the web page to be requested once the connect to conference has finished. If null or no page is specified then the subsequent action in the action array will be executed. |
conference participant controls how a participant interacts with a conference. It has the properties:
Property | Required/Optional | Default | Description |
---|---|---|---|
talker | optional | true | true or false. Whether this participant can talk to the conference. |
start on entry | optional | true | true or false. Whether the conference should start when this participant enters. |
destroy on exit | optional | false | true or false. Whether the conference should be destroyed when this participant exits. |
beep on entry | optional | true | true or false. Whether a beep should be played to the conference when this participant enters. |
exit digit | optional | null | A string containing a single digit that results in the participant leaving the conference. null or an empty string signifies no exit digit. Valid digits are 0123456789ABCD#*. |
mute digit | optional | null | A string containing a single digit that will mute the participant's audio input if pressed. If no unmute digit is specified, this will toggle mute on and off. null or an empty string signifies no mute digit. Valid digits are 0123456789ABCD#*. |
unmute digit | optional | mute digit | A string containing a single digit that will unmute the participant's audio input if pressed. null or an empty string results in the mute digit toggling mute on and off. Valid digits are 0123456789ABCD#*. |
while stopped media | optional | null | A play action to play in an endless loop while the conference is stopped. |
name | optional | null | A play action to play the participant's name. |
has joined message | optional | null | A play action to play when the participant has joined. |
has left message | optional | null | A play action to play when the participant has left. |
secondary call determines the pages and properties relating to the outbound (secondary) call:
Property | Required/Optional | Default | Description |
---|---|---|---|
call recording | optional | false | true or false. Whether to record the whole of the secondary call. |
call recording encryption | optional | false | true or false. Whether to encrypt the whole call recording. |
minutes max call duration | optional | 240 | An integer. The maximum duration of the secondary call in minutes. The secondary call is hung up if this is exceeded. |
first page | optional | null | The page to request when the secondary call has been answered. This gives the application an opportunity to interact with the secondary call before it is then connected to the primary call. |
final page | optional | null | The page that is requested when either the primary or secondary call is hung up (i.e. the connection has been broken). |
error page | optional | null | The page to request when there is an error during the connect action. |
web page request defines how a specific web page is requested:
Property | Required/Optional | Default | Description |
---|---|---|---|
url | required | - | The address of the web page to request. |
method | optional | POST | One of "GET" or "POST". The HTTP request method to use when requesting the url . |
Returns
The result of a successfulconnect to conference
action will be returned via the subsequent http request to the next page
in action result
as follows:Property | Description |
---|---|
seconds connected duration | A floating point value to one decimal place. The duration for which the call was connected to the conference. |
Remarks
Theconnect to conference
action makes a single outbound (secondary) call to a specified conference. If it is answered it is typically immediately connected to the primary call.Setting the
secondary call first page
allows the application to interact with the conference before it is connected. See the connect action for more details.-
Examples:
-
Call up conference BobsChatRoom using the default settings:
"connect_to_conference" : { "name" : "BobsChatRoom" }
-
Call up conference BobsChatRoom and connect to it specifying some features of the participant. Request conferenceNextPage after leaving the conference:
"connect_to_conference" : { "name" : "BobsChatRoom", "hold_media" : {"play" : { "play_list" : [ { "file_to_play" : "cool_jazz.wav" } ] } }, "seconds_answer_timeout" : 30, "secondary_call" : { "call_recording" : true, "minutes_max_call_duration" : 240 }, "conference_participant" : { "talker" : true, "start_on_entry" : true, "destroy_on_exit" : true, "beep_on_entry" : true, "mute_digit" : "#", "unmute_digit" : "*", "exit_digit" : "9", "while_stopped_media" : { "play" : { "play_list" : [ { "file_to_play" : "cool_jazz.wav" } ] } }, "name" : { "play" : { "play_list" : [ { "text_to_say" : "Bob" } ] } }, "has_joined_message" : { "play" : { "play_list" : [ { "text_to_say" : "has joined the conference." } ] } }, "has_left_message" : { "play" : { "play_list" : [ { "text_to_say" : "has left the conference." } ] } } }, "next_page" : { "url" : "conferenceNextPage" } }
Once the connect to conference action has finished the duration for which the call was connected to the conference is specified in the request for the next page:
"action_result" : { "action" : "connect_to_conference", "result" : { "seconds_connected_duration" : "131.1" } }
-
Call up conference BobsChatRoom, requesting conferenceFirstPage when the call to the conference is answered. Connect to the conference once all conferenceFirstPage's actions have run. Carry on with the next action once the connect to conference has finished:
"connect_to_conference" : { "name" : "BobsChatRoom", "hold_media" : {"play" : { "play_list" : [ { "file_to_play" : "cool_jazz.wav" } ] } }, "seconds_answer_timeout" : 30, "secondary_call" : { "call_recording" : true, "minutes_max_call_duration" : 240, "first_page" : "conferenceFirstPage", "final_page" : "conferenceFinalPage", "error_page" : "conferenceErrorPage" } }
-
-
API Reference:
class ConnectToConference : TelephonyAction
Represents a connect to conference action.
Constructors:
ConnectToConference(String name);
Members:
Play HoldMedia; int SecondsAnswerTimeout; ConferenceParticipant Participant; SecondaryCall SecondaryCall; WebPageRequest NextPage;
class ConferenceParticipant
Represents a participant within a conference.
Constructors:
ConferenceParticipant();
Members:
bool Talker; bool StartOnEntry; bool DestroyOnExit; bool BeepOnEntry; char ExitDigit; char MuteDigit; char UnmuteDigit; Play WhileStoppedMedia; Play Name; Play HasJoinedMessage; Play HasLeftMessage;
class SecondaryCall
Represents the pages and properties relating to the outbound (secondary) call.
Constructors:
SecondaryCall(); SecondaryCall(WebPageRequest firstPage); SecondaryCall(WebPageRequest firstPage, int minutesMaxDuration, bool callRecording);
Members:
bool CallRecording; bool CallRecordingEncryption; int MinutesMaxCallDuration; WebPageRequest FirstPage; WebPageRequest FinalPage; WebPageRequest ErrorPage;
class ConnectToConferenceResult : ActionResult
Represents the result of a connect to conference action.
Members:
double SecondsConnectedDuration;
Examples:
-
Call up conference BobsChatRoom using the default settings:
ConnectToConference connectToConferenceAction = new ConnectToConference("BobsChatRoom"); actions.Add(connectToConferenceAction);
-
Call up conference BobsChatRoom and connect to it specifying some features of the participant. Request conferenceNextPage after leaving the conference:
Connect connectToConferenceAction = new ConnectToConference("BobsChatRoom"); connectToConferenceAction.HoldMedia = Play.PlayFile("cool_jazz.wav"); connectToConferenceAction.SecondsAnswerTimeout = 30; connectToConferenceAction.SecondaryCall = new SecondaryCall(null, 240, true); connectToConferenceAction.Participant = new ConferenceParticipant(); connectToConferenceAction.Participant.Talker = true; connectToConferenceAction.Participant.StartOnEntry = true; connectToConferenceAction.Participant.DestroyOnExit = true; connectToConferenceAction.Participant.BeepOnEntry = true; connectToConferenceAction.Participant.ExitDigit = '9'; connectToConferenceAction.Participant.MuteDigit = '#'; connectToConferenceAction.Participant.UnmuteDigit = '*'; connectToConferenceAction.Participant.WhileStoppedMedia = Play.PlayFile("cool_jazz.wav"); connectToConferenceAction.Participant.Name = Play.SayText("Bob"); connectToConferenceAction.Participant.HasJoinedMessage = Play.SayText("has joined the conference."); connectToConferenceAction.Participant.HasLeftMessage = Play.SayText("has left the conference."); connectToConferenceAction.NextPage = new WebPageRequest("ConferenceNextPage.aspx"); actions.Add(connectToConferenceAction);
The connect to conference result is obtained from the request for the next page:
ConnectToConferenceResult connectToConferenceResult = (ConnectToConferenceResult)ourRequest.InstanceInfo.ActionResult; double connectedDuration = connectToConferenceResult.SecondsConnectedDuration; ...
-
Call up conference BobsChatRoom, requesting conferenceFirstPage when the call to the conference is answered. Connect to the conference once all conferenceFirstPage's actions have run. Carry on with the next action once the connect to conference has finished:
Connect connectToConferenceAction = new ConnectToConference("BobsChatRoom"); connectToConferenceAction.HoldMedia = Play.PlayFile("cool_jazz.wav"); connectToConferenceAction.SecondsAnswerTimeout = 30; connectToConferenceAction.SecondaryCall = new SecondaryCall(new WebPageRequest("conferenceFirstPage.aspx"), 240, true); connectToConferenceAction.SecondaryCall.FinalPage = new WebPageRequest("ConferenceFinalPage.aspx"); connectToConferenceAction.SecondaryCall.ErrorPage = new WebPageRequest("ConferenceErrorPage.aspx"); actions.Add(connectToConferenceAction);
-
-
API Reference:
Class ConnectToConference Inherits TelephonyAction
Represents a connect to conference action.
Constructors:
New(name As String)
Members:
HoldMedia As Play SecondsAnswerTimeout As Integer Participant As RestAPIWrapper.ConferenceParticipant SecondaryCall As RestAPIWrapper.SecondaryCall NextPage As RestAPIWrapper.WebPageRequest
Class ConferenceParticipant
Represents a participant within a conference.
Constructors:
New()
Members:
Talker As Boolean StartOnEntry As Boolean DestroyOnExit As Boolean BeepOnEntry As Boolean ExitDigit As Char MuteDigit As Char UnmuteDigit As Char WhileStoppedMedia As RestAPIWrapper.Play Name As RestAPIWrapper.Play HasJoinedMessage As RestAPIWrapper.Play HasLeftMessage As RestAPIWrapper.Play
Class SecondaryCall
Represents the pages and properties relating to the outbound (secondary) call.
Constructors:
New() New(firstPage As RestAPIWrapper.WebPageRequest) New(firstPage As RestAPIWrapper.WebPageRequest, minutesMaxDuration As Integer, callRecording As Boolean)
Members:
CallRecording As Boolean CallRecordingEncryption As Boolean MinutesMaxCallDuration As Integer FirstPage As RestAPIWrapper.WebPageRequest FinalPage As RestAPIWrapper.WebPageRequest ErrorPage As RestAPIWrapper.WebPageRequest
Class ConnectToConferenceResult Inherits RestAPIWrapper.ActionResult
Represents the result of a connect to conference action.
Members:
SecondsConnectedDuration As Double
Examples:
-
Call up conference BobsChatRoom using the default settings:
Dim connectToConferenceAction As ConnectToConference = New ConnectToConference("BobsChatRoom") actions.Add(connectToConferenceAction)
-
Call up conference BobsChatRoom and connect to it specifying some features of the participant. Request conferenceNextPage after leaving the conference:
Dim connectToConferenceAction As Connect = New ConnectToConference("BobsChatRoom") connectToConferenceAction.HoldMedia = Play.PlayFile("cool_jazz.wav") connectToConferenceAction.SecondsAnswerTimeout = 30 connectToConferenceAction.SecondaryCall = New SecondaryCall(Nothing, 240, True) connectToConferenceAction.Participant = New ConferenceParticipant() connectToConferenceAction.Participant.Talker = True connectToConferenceAction.Participant.StartOnEntry = True connectToConferenceAction.Participant.DestroyOnExit = True connectToConferenceAction.Participant.BeepOnEntry = True connectToConferenceAction.Participant.ExitDigit = "9" connectToConferenceAction.Participant.MuteDigit = "#" connectToConferenceAction.Participant.UnmuteDigit = "*" connectToConferenceAction.Participant.WhileStoppedMedia = Play.PlayFile("cool_jazz.wav") connectToConferenceAction.Participant.Name = Play.SayText("Bob") connectToConferenceAction.Participant.HasJoinedMessage = Play.SayText("has joined the conference.") connectToConferenceAction.Participant.HasLeftMessage = Play.SayText("has left the conference.") connectToConferenceAction.NextPage = New WebPageRequest("ConferenceNextPage.aspx") actions.Add(connectToConferenceAction)
The connect to conference result is obtained from the request for the next page:
Dim connectToConferenceResult As ConnectToConferenceResult = ourRequest.InstanceInfo.ActionResult Dim connectedDuration As Double = connectToConferenceResult.SecondsConnectedDuration ...
-
Call up conference BobsChatRoom, requesting conferenceFirstPage when the call to the conference is answered. Connect to the conference once all conferenceFirstPage's actions have run. Carry on with the next action once the connect to conference has finished:
Dim connectToConferenceAction As Connect = New ConnectToConference("BobsChatRoom") connectToConferenceAction.HoldMedia = Play.PlayFile("cool_jazz.wav") connectToConferenceAction.SecondsAnswerTimeout = 30 connectToConferenceAction.SecondaryCall = New SecondaryCall(New WebPageRequest("conferenceFirstPage.aspx"), 240, True) connectToConferenceAction.SecondaryCall.FinalPage = New WebPageRequest("ConferenceFinalPage.aspx") connectToConferenceAction.SecondaryCall.ErrorPage = New WebPageRequest("ConferenceErrorPage.aspx") actions.Add(connectToConferenceAction)
-
-
API Reference:
class ConnectToConference extends TelephonyAction
Represents a connect to conference action.
Constructors:
ConnectToConference(String name);
Members:
setHoldMedia(Play media); setSecondsAnswerTimeout(int secondsAnswerTimeout); setParticipant(ConferenceParticipant participant); setSecondaryCall(SecondaryCall secondaryCall); setNextPage(WebPageRequest nextPage);
class ConferenceParticipant
Represents a participant within a conference.
Constructors:
ConferenceParticipant();
Members:
setTalker(bool talker); setStartOnEntry(boolean startOnEntry); setDestroyOnExit(boolean destroyOnExit); setBeepOnEntry(boolean beepOnEntry); setExitDigit(char exitDigit); setMuteDigit(char muteDigit); setUnmuteDigit(char unmuteDigit); setWhileStoppedMedia(Play whileStoppedMedia); setName(Play name); setHasJoinedMessage(Play hasJoinedMessage); setHasLeftMessage(Play hasLeftMessage);
class SecondaryCall
Represents the pages and properties relating to the outbound (secondary) call.
Constructors:
SecondaryCall(); SecondaryCall(WebPageRequest firstPage); SecondaryCall(WebPageRequest firstPage, int minutesMaxDuration, boolean callRecording);
Members:
setCallRecording(boolean enable); setCallRecordingEncryption(boolean enable); setMinutesMaxCallDuration(int minutes); setFirstPage(WebPageRequest firstPage); setFinalPage(WebPageRequest finalPage); setErrorPage(WebPageRequest errorPage);
class ConnectToConferenceResult extends ActionResult
Represents the result of a connect to conference action.
Members:
double getSecondsConnectedDuration();
Examples:
-
Call up conference BobsChatRoom using the default settings:
ConnectToConference connectToConferenceAction = new ConnectToConference("BobsChatRoom"); actions.add(connectToConferenceAction);
-
Call up conference BobsChatRoom and connect to it specifying some features of the participant. Request conferenceNextPage after leaving the conference:
Connect connectToConferenceAction = new ConnectToConference("BobsChatRoom"); connectToConferenceAction.setHoldMedia(Play.PlayFile("cool_jazz.wav")); connectToConferenceAction.setSecondsAnswerTimeout(30); connectToConferenceAction.setSecondaryCall(new SecondaryCall(null, 240, true)); ConferenceParticipant = new ConferenceParticipant(); Participant.setTalker(true); Participant.setStartOnEntry(true); Participant.setDestroyOnExit(true); Participant.setBeepOnEntry(true); Participant.setExitDigit('9'); Participant.setMuteDigit('#'); Participant.setUnmuteDigit('*'); Participant.setWhileStoppedMedia(Play.PlayFile("cool_jazz.wav")); Participant.setName(Play.SayText("Bob")); Participant.setHasJoinedMessage(Play.SayText("has joined the conference.")); Participant.setHasLeftMessage(Play.SayText("has left the conference.")); connectToConferenceAction.setParticipant(participant); connectToConferenceAction.setNextPage(new WebPageRequest("conferenceNextPage")); actions.add(connectToConferenceAction);
The connect to conference result is obtained from the request for the next page:
ConnectToConferenceResult connectToConferenceResult = (ConnectToConferenceResult)ourRequest.getInstanceInfo().getActionResult(); double connectedDuration = connectToConferenceResult.getSecondsConnectedDuration(); ...
-
Call up conference BobsChatRoom, requesting conferenceFirstPage when the call to the conference is answered. Connect to the conference once all conferenceFirstPage's actions have run. Carry on with the next action once the connect to conference has finished:
Connect connectToConferenceAction = new ConnectToConference("BobsChatRoom"); connectToConferenceAction.setHoldMedia(Play.PlayFile("cool_jazz.wav")); connectToConferenceAction.setSecondsAnswerTimeout(30); SecondaryCall secondaryCall = new SecondaryCall(new WebPageRequest("conferenceFirstPage"), 240, true); secondaryCall.setFinalPage(new WebPageRequest("conferenceFinalPage")); secondaryCall.setErrorPage(new WebPageRequest("conferenceErrorPage")); connectToConferenceAction.setSecondaryCall(secondaryCall); actions.add(connectToConferenceAction);
-
-
API Reference:
class ConnectToConference
Represents a connect to conference action.
Constructors:
ConnectToConference(name)
Members:
def set_next_page(next_page) # A WebPage object, see Redirect() for details def set_hold_media(play_action) # Takes a Play object, see Play() for details def set_seconds_answer_timeout(seconds_answer_timeout) def set_participant(participant) # A ConferenceParticipant object def set_secondary_call(secondary_call) # A SecondaryCall object
class ConferenceParticipant
ConferenceParticipant options. Used by Conference.
Constructors:
ConferenceParticipant(talker=None, start_on_entry=None, destroy_on_exit=None, beep_on_entry=None, mute_digit=None, unmute_digit=None, exit_digit=None, while_stopped_media=None, # A Play object, see Play() for details name=None, # A Play object, see Play() for details has_joined_message=None, # A Play object, see Play() for details has_left_message=None # A Play object, see Play() for details )
class SecondaryCall
Secondary call options. Used by Conference.
Constructors:
SecondaryCall(first_page=None, final_page=None, error_page=None, minutes_max_call_duration=None, call_recording=None, call_recording_encryption=None)
Examples:
-
Call up conference BobsChatRoom using the default settings:
from aculab.telephony_rest_api import * my_actions = Actions(token='Usage example 1: Conference.') my_conference = ConnectToConference('BobsChatRoom') my_actions.add(my_conference) response_body = my_actions.get_json()
-
Call up conference BobsChatRoom and connect to it specifying some features of the participant. Access conference_next once the conference has finished:
from aculab.telephony_rest_api import * my_actions = Actions(token='Usage example 2: Conference.') my_conference = ConnectToConference('BobsChatRoom') my_conference.set_hold_media(Play(file_to_play='cool_jazz.wav')) my_conference.set_seconds_answer_timeout(seconds_answer_timeout=30) my_conference.set_secondary_call(SecondaryCall(minutes_max_call_duration=240, call_recording=True)) my_conference.set_participant(ConferenceParticipant(talker=True, start_on_entry=True, destroy_on_exit=True, beep_on_entry=True, mute_digit='#', unmute_digit='*', exit_digit='9', while_stopped_media=Play(file_to_play='cool_jazz.wav'), name=Play(text_to_say='Bob'), has_joined_message=Play(text_to_say='has joined the conference.'), has_left_message=Play(text_to_say='has left the conference.'))) my_conference.set_next_page(WebPage(url='conference_next')) my_actions.add(my_conference) response_body = my_actions.get_json()
-
Call up conference BobsChatRoom, requesting conference_first_page when the call to the conference is answered. Connect to the conference once all conference_first_page's actions have run. Carry on with the next action once the connect to conference has finished:
from aculab.telephony_rest_api import * my_actions = Actions(token='Usage example 3: Conference.') my_conference = ConnectToConference('BobsChatRoom') my_conference.set_hold_media(Play(file_to_play='cool_jazz.wav')) my_conference.set_seconds_answer_timeout(seconds_answer_timeout=30) my_conference.set_secondary_call(SecondaryCall(first_page=WebPage(url='conference_first_page'), final_page=WebPage(url='conference_final_page'), error_page=WebPage(url='conference_error_page'), minutes_max_call_duration=240, call_recording=True)) my_actions.add(my_conference) response_body = my_actions.get_json()
-
-
API Reference:
The ConnectToConference class
Introduction
Represents an connect to conference action.Class synopsis
class ConnectToConference extends ActionBase { /* methods */ public __construct(string $name, ConferenceParticipantConfiguration $Participant_config = null) public void setParticipantConfiguration(ConferenceParticipantConfiguration $Participant_config) public void setHoldMedia(Play $play) public void setSecondsAnswerTimeout(int $seconds) public void setSecondaryCallConfiguration(SecondaryCallConfiguration $call_config) public void setNextPage(string $next_page, string $method = null) }
The ConferenceParticipantConfiguration class
Introduction
Represents the conference participant configuration.Class synopsis
class ConferenceParticipantConfiguration { /* methods */ public __construct() public void setTalker(boolean $talker) public void setStartOnEntry(boolean $start) public void setDestroyOnExit(boolean $stop) public void setBeepOnEntry(boolean $beep) public void setExitDigit(string $digit) public void setMuteDigit(string $digit) public void setUnmuteDigit(string $digit) public void setWhileStoppedMedia(Play $play) public void setHasJoinedMessage(Play $play) public void setHasLeftMessage(Play $play) public void setName(Play $play) }
The SecondaryCallConfiguration class
Introduction
Represents the secondary call configuration for a connect action.Class synopsis
class SecondaryCallConfiguration { /* methods */ public __construct() public void setCallRecording(boolean $record) public void setCallRecordingEncryption(boolean $encrypt) public void setMinutesMaxCallDuration(int $minutes) public void setFirstPage(string $first_page, string $method = null) public void setFinalPage(string $final_page, string $method = null) public void setErrorPage(string $error_page, string $method = null) }
The ConnectToConferenceResult class
Introduction
Represents the result of a connect to conference action.Class synopsis
class ConnectToConferenceResult extends ActionResult { /* methods */ public float getSecondsConnectedDuration() /* inherited methods */ public string getAction() public boolean getInterrupted() }
Examples:
-
Call up conference BobsChatRoom using the default settings:
$ctc = new Aculab\TelephonyRestAPI\ConnectToConference("BobsChatRoom", $participant_config); $actions->add($ctc);
-
Call up conference BobsChatRoom and connect to it specifying some features of the participant:
$participant_config = new Aculab\TelephonyRestAPI\ConferenceParticipantConfiguration(); $participant_config->setTalker(true); $participant_config->setStartOnEntry(true); $participant_config->setDestroyOnExit(true); $participant_config->setBeepOnEntry(true); $participant_config->setMuteDigit('#'); $participant_config->setUnmuteDigit('*'); $participant_config->setExitDigit('9'); $participant_config->setWhileStoppedMedia(Aculab\TelephonyRestAPI\Play::playFile('cool_jazz.wav')); $participant_config->setName(Aculab\TelephonyRestAPI\Play::sayText('Bob')); $participant_config->setHasJoinedMessage(Aculab\TelephonyRestAPI\Play::sayText('has joined the conference')); $participant_config->setHasLeftMessage(Aculab\TelephonyRestAPI\Play::sayText('has left the conference')); $ctc = new Aculab\TelephonyRestAPI\ConnectToConference("BobsChatRoom", $participant_config); $ctc->setHoldMedia(Aculab\TelephonyRestAPI\Play::playFile('cool_jazz.wav')); $ctc->setSecondsAnswerTimeout(30); $ctc->setNextPage('conferenceNextPage'); $call_config = new Aculab\TelephonyRestAPI\SecondaryCallConfiguration(); $call_config->setMinutesMaxCallDuration(240); $call_config->setRecord(true); $ctc->setSecondaryCallConfiguration($call_config); $actions->add($ctc);
Obtain the duration for which the call was connected to the conference from the action's next page request:
$info = InstanceInfo::getInstanceInfo(); $connectToConferenceResult = $info->getActionResult(); $durationConnected = $connectToConferenceResult->getSecondsConnectedDuration();
-
Call up conference BobsChatRoom, requesting conferenceFirstPage when the call to the conference is answered. Connect to the conference once all conferenceFirstPage's actions have run. Carry on with the next action once the connect to conference has finished:
$ctc = new Aculab\TelephonyRestAPI\ConnectToConference("BobsChatRoom", $participant_config); $ctc->setHoldMedia(Aculab\TelephonyRestAPI\Play::playFile('cool_jazz.wav')); $ctc->setSecondsAnswerTimeout(30); $call_config = new Aculab\TelephonyRestAPI\SecondaryCallConfiguration(); $call_config->setMinutesMaxCallDuration(240); $call_config->setRecord(true); $call_config->setFirstPage('conferenceFirstPage'); $call_config->setErrorPage('conferenceErrorPage'); $call_config->setFinalPage('conferenceFinalPage'); $ctc->setSecondaryCallConfiguration($call_config); $actions->add($ctc);
-