Bridge incoming calls
This code bridges two incoming calls together. With this minimal conferencing attribute setup, no sound is played, participants can speak as soon as they join, and the conference ends immediately when a participant hangs up.
Response
<Response>
<Conference enterSound= "" startConferenceOnEnter= "true" endConferenceOnExit= "true" > My Room</Conference>
</Response>
Example Request
1
2
3
4
5
6
7
8
9
10
from plivo import plivoxml
response = plivoxml . ResponseElement ()
response . add (
plivoxml . ConferenceElement (
'My Room' ,
enter_sound = "" ,
start_conference_on_enter = True ,
end_conference_on_exit = True ))
print ( response . to_string ())
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
require 'rubygems'
require 'plivo'
include Plivo :: XML
include Plivo :: Exceptions
begin
response = Response . new
params = {
startConferenceOnEnter1: 'true' ,
endConferenceOnExit: true
}
conference_name = 'My Room'
response . addConference ( conference_name , params )
xml = PlivoXML . new ( response )
puts xml . to_xml
rescue PlivoXMLError => e
puts 'Exception: ' + e . message
end
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var plivo = require ( ' plivo ' );
var response = plivo . Response ();
var params = {
' enterSound ' : "" ,
' startConferenceOnEnter ' : " true " ,
' endConferenceOnExit ' : " true "
};
var conference_name = " My Room " ;
response . addConference ( conference_name , params );
console . log ( response . toXML ());
/*
Sample Output
<Response>
<Conference enterSound="" startConferenceOnEnter="true"\ endConferenceOnExit="true">My Room</Conference>
</Response>
*/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
require '../vendor/autoload.php' ;
use Plivo\XML\Response ;
$response = new Response ();
$params = array (
'startConferenceOnEnter' => "true" ,
'endConferenceOnExit' => "true"
);
$conference_name = "My Room" ;
$response -> addConference ( $conference_name , $params );
Header ( 'Content-type: text/xml' );
echo ( $response -> toXML ());
/*
Sample Output
<Response>
<Conference startConferenceOnEnter="true" endConferenceOnExit="true">My Room</Conference>
</Response>
*/
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Example for conference - bridge incoming call
package com.plivo.api.xml.samples.conference ;
import com.plivo.api.exceptions.PlivoXmlException ;
import com.plivo.api.xml.Conference ;
import com.plivo.api.xml.Response ;
class BridgeIncomingCall {
public static void main ( String [] args ) throws PlivoXmlException {
Response response = new Response ()
. children (
new Conference ( "demo" )
. endConferenceOnExit ( true )
. enterSound ( "" )
. startConferenceOnEnter ( true )
);
System . out . println ( response . toXmlString ());
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using System ;
using System.Collections.Generic ;
using Plivo.XML ;
namespace Plivo
{
class MainClass
{
public static void Main ( string [] args )
{
Plivo . XML . Response resp = new Plivo . XML . Response ();
resp . AddConference ( "My room" , new Dictionary < string , string >()
{
{ "enterSound" , "" },
{ "startConferenceOnEnter" , "true" },
{ "endConferenceOnExit" , "true" }
});
var output = resp . ToString ();
Console . WriteLine ( output );
}
}
}
//<Response>
// <Conference enterSound = "" startConferenceOnEnter="true"
// endConferenceOnExit="true">
// My room
// </Conference>
//</Response>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Example for conference - bridge incoming call
package main
import "github.com/plivo/plivo-go/v7/xml"
func main () {
response := xml . ResponseElement {
Contents : [] interface {}{
new ( xml . ConferenceElement ) .
SetEndConferenceOnExit ( true ) .
SetEnterSound ( "" ) .
SetStartConferenceOnEnter ( true ) .
SetContents ( "demo" ),
},
}
print ( response . String ())
}
Example Request
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from flask import Flask , Response , request
import plivoxml
app = Flask ( __name__ )
@ app . route ( '/conference/bridge_incoming/' ,
methods = [ 'GET' , 'POST' ])
def bridge_conference ():
response = plivoxml . Response ()
params = {
'enterSound' : "" ,
'startConferenceOnEnter' : "true" ,
'endConferenceOnExit' : "true"
}
conference_name = "demo" # Conference Room name
response . addConference ( conference_name , ** params )
return Response ( str ( response ), mimetype = 'text/xml' )
if __name__ == "__main__" :
app . run ( host = '0.0.0.0' , debug = True )
# Sample Conference XML
# <Response>
# <Conference endConferenceOnExit="true" enterSound=""
# startConferenceOnEnter="true">
# demo
# </Conference>
# </Response>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
require 'rubygems'
require 'plivo'
include Plivo
response = Response . new ()
params = {
'startConferenceOnEnter' => "true" ,
'endConferenceOnExit' => "true"
}
conference_name = "My Room"
response . addConference ( conference_name , params )
puts response . to_xml ()
=begin
Sample Output
<Response>
<Conference endConferenceOnExit='true' startConferenceOnEnter='true'>My Room</Conference>
</Response>
=end
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var plivo = require ( ' plivo ' );
var response = plivo . Response ();
var params = {
' enterSound ' : "" ,
' startConferenceOnEnter ' : " true " ,
' endConferenceOnExit ' : " true "
};
var conference_name = " My Room " ;
response . addConference ( conference_name , params );
console . log ( response . toXML ());
/*
Sample Output
<Response>
<Conference enterSound="" startConferenceOnEnter="true"\ endConferenceOnExit="true">My Room</Conference>
</Response>
*/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
require '../vendor/autoload.php' ;
use Plivo\Response ;
$response = new Response ();
$params = array (
'startConferenceOnEnter' => "true" ,
'endConferenceOnExit' => "true"
);
$conference_name = "My Room" ;
$response -> addConference ( $conference_name , $params );
Header ( 'Content-type: text/xml' );
echo ( $response -> toXML ());
/*
Sample Output
<Response>
<Conference startConferenceOnEnter="true" endConferenceOnExit="true">My Room</Conference>
</Response>
*/
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import java.io.IOException ;
import com.plivo.helper.exception.PlivoException ;
import com.plivo.helper.xml.elements.Conference ;
import com.plivo.helper.xml.elements.PlivoResponse ;
import javax.servlet.ServletException ;
import javax.servlet.http.HttpServlet ;
import javax.servlet.http.HttpServletRequest ;
import javax.servlet.http.HttpServletResponse ;
import org.eclipse.jetty.server.Server ;
import org.eclipse.jetty.servlet.ServletContextHandler ;
import org.eclipse.jetty.servlet.ServletHolder ;
public class bridgeIncoming extends HttpServlet {
private static final long serialVersionUID = 1L ;
@Override
protected void doGet ( HttpServletRequest req ,
HttpServletResponse resp )
throws ServletException , IOException {
PlivoResponse response = new PlivoResponse ();
Conference conference = new
Conference ( "Hi, message from Plivo." );
conference . setEnterSound ( "" );
conference . setStartConferenceOnEnter ( true );
conference . setEndConferenceOnExit ( true );
try {
response . append ( conference );
System . out . println ( response . toXML ());
resp . addHeader ( "Content-Type" , "text/xml" );
resp . getWriter (). print ( response . toXML ());;
} catch ( PlivoException e ) {
e . printStackTrace ();
}
}
public static void main ( String [] args ) throws Exception {
String port = System . getenv ( "PORT" );
if ( port == null )
port = "8000" ;
Server server = new Server ( Integer . valueOf ( port ));
ServletContextHandler context = new
ServletContextHandler ( ServletContextHandler . SESSIONS );
context . setContextPath ( "/" );
server . setHandler ( context );
context . addServlet ( new ServletHolder ( new
bridgeIncoming ()), "/conference/bridge_incoming" );
server . start ();
server . join ();
}
}
/*
Sample Output
<Response>
<Conference startConferenceOnEnter="true"
enterSound=""
endConferenceOnExit="true">
Hi, message from Plivo.
</Conference>
</Response>
*/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using System ;
using System.Collections.Generic ;
using Plivo.XML ;
namespace Plivo
{
class MainClass
{
public static void Main ( string [] args )
{
Plivo . XML . Response resp = new Plivo . XML . Response ();
resp . AddConference ( "My room" , new Dictionary < string , string >()
{
{ "enterSound" , "" },
{ "startConferenceOnEnter" , "true" },
{ "endConferenceOnExit" , "true" }
});
var output = resp . ToString ();
Console . WriteLine ( output );
}
}
}
//<Response>
// <Conference enterSound = "" startConferenceOnEnter="true"
// endConferenceOnExit="true">
// My room
// </Conference>
//</Response>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Example for conference - bridge incoming call
package main
import "github.com/plivo/plivo-go/v7/xml"
func main () {
response := xml . ResponseElement {
Contents : [] interface {}{
new ( xml . ConferenceElement ) .
SetEndConferenceOnExit ( true ) .
SetEnterSound ( "" ) .
SetStartConferenceOnEnter ( true ) .
SetContents ( "demo" ),
},
}
print ( response . String ())
}
🥳 Thank you! It means a lot to us!
Help Us Improve
Thank you so much for rating the page, we would like to get your input
for further improvements!
Thank you for your feedback!