Conference with redirect
This XML code performs a few actions:
Sets the timeLimit
attribute, after which the member will be removed from the conference.
Sets hangupOnStar
to true
, which enables the user to leave a conference by pressing the * key.
Specifies a Redirect
element, so that after the member leaves the room, the redirect URL is invoked.
Response
<Response>
<Conference hangupOnStar= "true" timeLimit= "30" > My Room</Conference>
<Redirect> https://<yourdomain> .com/redirect/</Redirect>
</Response>
Example Request
1
2
3
4
5
6
7
8
from plivo import plivoxml
response = plivoxml . ResponseElement ()
response . add (
plivoxml . ConferenceElement ( 'My Room' , hangup_on_star = True , time_limit = 30 ))
response . add ( plivoxml . RedirectElement ( 'https://<yourdomain>.com/redirect/' ))
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
23
24
25
require 'rubygems'
require 'plivo'
include Plivo :: XML
include Plivo :: Exceptions
begin
response = Response . new
params = {
hangupOnStar: true ,
timeLimit: '30'
}
conference_name = 'My Room'
response . addConference ( conference_name , params )
redirect_url = 'https://<yourdomain>.com/redirect/'
response . addRedirect ( redirect_url )
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
21
22
23
var plivo = require ( ' plivo ' );
var response = plivo . Response ();
var params = {
' hangupOnStar ' : " true " ,
' timeLimit ' : " 30 "
};
var conference_name = " My Room " ;
response . addConference ( conference_name , params );
var redirect_url = " https://<yourdomain>.com/redirect/ "
response . addRedirect ( redirect_url );
console . log ( response . toXML ());
/*
Sample Output
<Response>
<Conference hangupOnStar="true" timeLimit="30">My Room</Conference>
<Redirect>https://<yourdomain>.com/redirect/</Redirect>
</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
<?php
require '../vendor/autoload.php' ;
use Plivo\XML\Response ;
$response = new Response ();
$params = array (
'hangupOnStar' => "true" ,
'timeLimit' => "30"
);
$conference_name = "My Room" ;
$response -> addConference ( $conference_name , $params );
$redirect_url = "https://<yourdomain>.com/redirect/" ;
$response -> addRedirect ( $redirect_url );
Header ( 'Content-type: text/xml' );
echo ( $response -> toXML ());
/*
Sample Output
<Response>
<Conference hangupOnStar="true" timeLimit="30">My Room</Conference>
<Redirect>https://<yourdomain>.com/redirect/</Redirect>
</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
// Example for conference - conference with redirect
package com.plivo.api.xml.samples.conference ;
import com.plivo.api.exceptions.PlivoXmlException ;
import com.plivo.api.xml.Conference ;
import com.plivo.api.xml.Redirect ;
import com.plivo.api.xml.Response ;
class ConferenceWithRedirect {
public static void main ( String [] args ) throws PlivoXmlException {
Response response = new Response ()
. children (
new Conference ( "My Room" )
. hangupOnStar ( true )
. timeLimit ( 30 ),
new Redirect ( "https://<yourdomain>.com/redirect" )
);
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
33
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 >()
{
{ "hangupOnStar" , "true" },
{ "timeLimit" , "30" }
});
resp . AddRedirect ( "https://<yourdomain>.com/redirect/" ,
new Dictionary < string , string >() { });
var output = resp . ToString ();
Console . WriteLine ( output );
}
}
}
//<Response>
// <Conference hangupOnStar = "true"
// timeLimit="30">My room</Conference>
// <Redirect>https://<yourdomain>.com/redirect/</Redirect>
//</Response>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Example for conference - conference with redirect
package main
import "github.com/plivo/plivo-go/v7/xml"
func main () {
response := xml . ResponseElement {
Contents : [] interface {}{
new ( xml . ConferenceElement ) .
SetHangupOnStar ( true ) .
SetTimeLimit ( 30 ) .
SetContents ( "My Room" ),
new ( xml . RedirectElement ) .
SetContents ( "https://<yourdomain>.com/redirect" ),
},
}
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
from flask import Flask , Response , request
import plivoxml
app = Flask ( __name__ )
@ app . route ( '/conference/redirect/' , methods = [ 'GET' , 'POST' ])
def redirect ():
response = plivoxml . Response ()
params = {
'hangupOnStar' : "true" ,
'timeLimit' : "30"
}
conference_name = "My Room" # Conference Room name
response . addConference ( conference_name , ** params )
response . addRedirect ( "https://foo.com/redirect" )
return Response ( str ( response ), mimetype = 'text/xml' )
if __name__ == "__main__" :
app . run ( host = '0.0.0.0' , debug = True )
# Sample Conference XML
# <Response>
# <Conference hangupOnStar="true" timeLimit="30">
# My Room
# </Conference>
# <Redirect>https://foo.com/redirect</Redirect>
# </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
require 'rubygems'
require 'plivo'
include Plivo
response = Response . new ()
params = {
'hangupOnStar' => "true" ,
'timeLimit' => "30"
}
conference_name = "My Room"
response . addConference ( conference_name , params )
redirect_url = "https://www.foo.com/redirect/"
response . addRedirect ( redirect_url )
puts response . to_xml ()
=begin
Sample Output
<Response>
<Conference hangupOnStar='true' timeLimit='30'>My Room</Conference>
<Redirect>https://www.foo.com/redirect/</Redirect>
</Response>
=end
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var plivo = require ( ' plivo ' );
var response = plivo . Response ();
var params = {
' hangupOnStar ' : " true " ,
' timeLimit ' : " 30 "
};
var conference_name = " My Room " ;
response . addConference ( conference_name , params );
var redirect_url = " https://www.foo.com/redirect/ "
response . addRedirect ( redirect_url );
console . log ( response . toXML ());
/*
Sample Output
<Response>
<Conference hangupOnStar="true" timeLimit="30">My Room</Conference>
<Redirect>https://www.foo.com/redirect/</Redirect>
</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
<?php
require '../vendor/autoload.php' ;
use Plivo\Response ;
$response = new Response ();
$params = array (
'hangupOnStar' => "true" ,
'timeLimit' => "30"
);
$conference_name = "My Room" ;
$response -> addConference ( $conference_name , $params );
$redirect_url = "https://www.foo.com/redirect/" ;
$response -> addRedirect ( $redirect_url );
Header ( 'Content-type: text/xml' );
echo ( $response -> toXML ());
/*
Sample Output
<Response>
<Conference hangupOnStar="true" timeLimit="30">My Room</Conference>
<Redirect>https://www.foo.com/redirect/</Redirect>
</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
66
import java.io.IOException ;
import com.plivo.helper.exception.PlivoException ;
import com.plivo.helper.xml.elements.Conference ;
import com.plivo.helper.xml.elements.Redirect ;
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 conferenceWithRedirect 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 ( "My Room" );
conference . setHangupOnStar ( true );
conference . setTimeLimit ( 30 );
Redirect redirect = new
Redirect ( "https://foo.com/redirect/" );
try {
response . append ( conference );
response . append ( redirect );
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
conferenceWithRedirect ()), "/conference/redirect" );
server . start ();
server . join ();
}
}
/*
Sample Output
<Response>
<Conference timeLimit="30" hangupOnStar="true">
My Room
</Conference>
<Redirect>https://foo.com/redirect/</Redirect>
</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
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 >()
{
{ "hangupOnStar" , "true" },
{ "timeLimit" , "30" }
});
resp . AddRedirect ( "https://foo.com/redirect/" ,
new Dictionary < string , string >() { });
var output = resp . ToString ();
Console . WriteLine ( output );
}
}
}
//<Response>
// <Conference hangupOnStar = "true"
// timeLimit="30">My room</Conference>
// <Redirect>https://foo.com/redirect/</Redirect>
//</Response>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Example for conference - conference with redirect
package main
import "github.com/plivo/plivo-go/v7/xml"
func main () {
response := xml . ResponseElement {
Contents : [] interface {}{
new ( xml . ConferenceElement ) .
SetHangupOnStar ( true ) .
SetTimeLimit ( 30 ) .
SetContents ( "My Room" ),
new ( xml . RedirectElement ) .
SetContents ( "https://<yourdomain>.com/redirect" ),
},
}
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!