Dialing Extensions

The following XML code dials the 2410 extension at sip:john1234@phone.plivo.com. The <User> element describes the SIP user and gives it the attribute sendDigits. The extension is dialed a few seconds after the number is dialed, so a few leading w characters are added. Each w character tells Plivo to wait 0.5 seconds instead of playing a digit.

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/xml"

func main() {
	response := xml.ResponseElement{
		Contents: []interface{}{

			new(xml.DialElement).
				SetContents([]interface{}{
					new(xml.UserElement).
						SetSendDigits("wwww2410").
						SetContents("\tsip:john1234@phone.plivo.com"),
				}),
		},
	}
	print(response.String())
}