# Voice

## Requirements to build your Voice and SMS API

Before you proceed with DIDforSale developer kit you will need following:

* An account with DIDforSale.\
  <https://portal.didforsale.com/register>
* A Phone number from DIDforSale.\
  \&#xNAN;*You can purchase the phone number by logging into your account.*
* A web url on your end.\
  \&#xNAN;*This is the url that will be used by DIDforSale to make connection.*

### How DFS voice platform communicates with your application?

As soon as the call hits DFS (*DIDforSale*) network, DFS will make either get or post request to the web url that is identified by you.

***GET:*** DFS will pass the call related information in the URL.\
\&#xNAN;***POST:*** DFS will submit the call related information in a form.

### Introduction to didML?

didML is an acronym for DIDforSale Markup Language. didML defines a set of rules for encoding phone calls. You can use programming language of your choice and by following instructions as laid by didML you can initiate and control Calls in real time.

**Here is how it works:-**

* Say you have configured [9998887777](sip:9998887777) to <http://www.example.com/call.php>
* When someone calls [9998887777](sip:9998887777) DIDforSale(DFS) will then .
* DFS looks for instructions from example.com/call.php
* Your web server will respond with the set of instructions that phone system will execute. It will communicate with the user as the user responds to prompts by pressing keys on the phone.&#x20;
* Example didML Code

Example didML Code

```
<?xml version="1.0" encoding="UTF-8"?> 
<Response>
     <dial>19499300360</dial>
</Response>
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.didforsale.com/voice-and-sms-apis/voice-and-sms.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
