Dialing extensions
This code calls the 2410 extension at sip:john1234@phone.plivo.com. The User element describes the SIP endpoint and gives it the attribute sendDigits
. To dial the extension a couple of seconds after the number is dialed, we add a few leading w
characters, telling Plivo to wait 0.5 seconds for each w
.
Response
<Response>
<Dial>
<User sendDigits= "wwww2410" > sip:john1234@phone.plivo.com</User>
</Dial>
</Response>
Example Request
1
2
3
4
5
6
7
from plivo import plivoxml
response = plivoxml . ResponseElement ()
response . add ( plivoxml . DialElement (). add (
plivoxml . UserElement (
'sip:john1234@phone.plivo.com' , send_digits = 'wwww2410' )))
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
require 'rubygems'
require 'plivo'
include Plivo :: XML
include Plivo :: Exceptions
begin
response = Response . new
dial = response . addDial ()
params = {
'sendDigits' => "wwww2410"
}
user = "sip:john1234@phone.plivo.com"
dial . addUser ( user , 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
21
22
var plivo = require ( ' plivo ' );
var response = plivo . Response ();
var dial = response . addDial ();
var params = {
' sendDigits ' : " wwww2410 " ,
};
var user = " sip:john1234@phone.plivo.com " ;
dial . addUser ( user , params );
console . log ( response . toXML ());
/*
Sample Output
<Response>
<Dial>
<User>sip:john1234@phone.plivo.com</User>
</Dial>
</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
<?php
require '../../vendor/autoload.php' ;
use Plivo\XML\Response ;
$response = new Response ();
$dial = $response -> addDial ();
$params = array (
'sendDigits' => "wwww2410"
);
$user = "sip:john1234@phone.plivo.com" ;
$dial -> addUser ( $user , $params );
Header ( 'Content-type: text/xml' );
echo ( $response -> toXML ());
/*
Sample Output
<Response>
<Dial>
<User sendDigits="wwww2410">
sip:john1234@phone.plivo.com
</User>
</Dial>
</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 user - dialing extensions
package com.plivo.api.xml.samples.user ;
import com.plivo.api.exceptions.PlivoXmlException ;
import com.plivo.api.xml.Dial ;
import com.plivo.api.xml.Response ;
import com.plivo.api.xml.User ;
class DialingExtensions {
public static void main ( String [] args ) throws PlivoXmlException {
Response response = new Response ()
. children (
new Dial ()
. children (
new User ( "sip:john1234@phone.plivo.com" )
. sendDigits ( "wwww2410" )
)
);
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
34
35
36
37
38
39
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 ();
Plivo . XML . Dial dial = new Plivo . XML . Dial ( new
Dictionary < string , string >()
{ });
dial . AddUser ( "sip:john1234@phone.plivo.com" ,
new Dictionary < string , string >()
{
{ "sendDigits" , "wwww2410" }
});
resp . Add ( dial );
var output = resp . ToString ();
Console . WriteLine ( output );
}
}
}
//<Response>
// <Dial>
// <User sendDigits = "wwww2410" >
// sip:john1234@phone.plivo.com
// </ User >
// </ Dial >
//</ Response >
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Example for user - dialing extensions
package main
import "github.com/plivo/plivo-go/v7/xml"
func main () {
response := xml . ResponseElement {
Contents : [] interface {}{
new ( xml . DialElement ) .
SetContents ([] interface {}{
new ( xml . UserElement ) .
SetSendDigits ( "wwww2410" ) .
SetContents ( " \t sip:john1234@phone.plivo.com" ),
}),
},
}
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
31
from flask import Flask , Response , request
import plivoxml
app = Flask ( __name__ )
@ app . route ( '/dial/user/dialing_extensions/' ,
methods = [ 'GET' , 'POST' ])
def dialing_extensions ():
response = plivoxml . Response ()
Dial = response . addDial ()
params = {
'sendDigits' : "wwww2410"
}
Dial . addUser ( "sip:john1234@phone.plivo.com" , ** params )
return Response ( str ( response ), mimetype = 'text/xml' )
if __name__ == "__main__" :
app . run ( host = '0.0.0.0' , debug = True )
# Sample Conference XML
# <Response>
# <Dial>
# <User sendDigits="wwww2410">
# sip:john1234@phone.plivo.com
# </User>
# </Dial>
# </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
require 'rubygems'
require 'plivo'
include Plivo
response = Response . new ()
dial = response . addDial ()
params = {
'sendDigits' => "wwww2410"
}
user = "sip:john1234@phone.plivo.com"
dial . addUser ( user , params )
puts response . to_xml ()
=begin
Sample Output
<Response>
<Dial>
<User sendDigits='wwww2410'>
sip:john1234@phone.plivo.com
</User>
</Dial>
</Response>
=end
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var plivo = require ( ' plivo ' );
var response = plivo . Response ();
var dial = response . addDial ();
var params = {
' sendDigits ' : " wwww2410 " ,
};
var user = " sip:john1234@phone.plivo.com " ;
dial . addUser ( user , params );
console . log ( response . toXML ());
/*
Sample Output
<Response>
<Dial>
<User>sip:john1234@phone.plivo.com</User>
</Dial>
</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
<?php
require '../../vendor/autoload.php' ;
use Plivo\Response ;
$response = new Response ();
$dial = $response -> addDial ();
$params = array (
'sendDigits' => "wwww2410"
);
$user = "sip:john1234@phone.plivo.com" ;
$dial -> addUser ( $user , $params );
Header ( 'Content-type: text/xml' );
echo ( $response -> toXML ());
/*
Sample Output
<Response>
<Dial>
<User sendDigits="wwww2410">
sip:john1234@phone.plivo.com
</User>
</Dial>
</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
67
import java.io.IOException ;
import com.plivo.helper.exception.PlivoException ;
import com.plivo.helper.xml.elements.User ;
import com.plivo.helper.xml.elements.Dial ;
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 dialingExtensions extends HttpServlet {
private static final long serialVersionUID = 1L ;
@Override
protected void doGet ( HttpServletRequest req ,
HttpServletResponse resp )
throws ServletException , IOException {
PlivoResponse response = new PlivoResponse ();
Dial dial = new Dial ();
User user = new User ( "sip:john1234@phone.plivo.com" );
user . setSendDigits ( "wwww2410" );
try {
response . append ( dial );
dial . append ( user );
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
dialingExtensions ()),
"/dial/user/dialing_extensions" );
server . start ();
server . join ();
}
}
/*
Sample Output
<Response>
<Dial>
<User sendDigits="wwww2410">
sip:john1234@phone.plivo.com
</User>
</Dial>
</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
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 ();
Plivo . XML . Dial dial = new Plivo . XML . Dial ( new
Dictionary < string , string >()
{ });
dial . AddUser ( "sip:john1234@phone.plivo.com" ,
new Dictionary < string , string >()
{
{ "sendDigits" , "wwww2410" }
});
resp . Add ( dial );
var output = resp . ToString ();
Console . WriteLine ( output );
}
}
}
//<Response>
// <Dial>
// <User sendDigits = "wwww2410" >
// sip:john1234@phone.plivo.com
// </ User >
// </ Dial >
//</ Response >
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Example for user - dialing extensions
package main
import "github.com/plivo/plivo-go/v7/xml"
func main () {
response := xml . ResponseElement {
Contents : [] interface {}{
new ( xml . DialElement ) .
SetContents ([] interface {}{
new ( xml . UserElement ) .
SetSendDigits ( "wwww2410" ) .
SetContents ( " \t sip:john1234@phone.plivo.com" ),
}),
},
}
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!