You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 29, 2023. It is now read-only.
The Bandwidth Voice API allows you to handle incoming and outgoing PSTN phone calls using HTTP and JSON webhooks, giving you complete control over any call flow.
**Note** HTTP requests to our API use HTTP Basic authentication, which refers to your account's username and password.
37
-
38
-
## Calls
39
-
40
-
For help on how to make the proper requests to the API, check out the [API Reference](/apis/voice#operation/createCall) section of the docs. To quickly start making and receiving calls, check out the [guide](/docs/voice/quickStart).
41
-
42
-
### Creation/Acceptance
43
-
44
-
A <Highlightcolor="#079CEE">POST</Highlight> to [`/calls`](/apis/voice#operation/createCall) creates a call object in Bandwidth's network and returns a unique `callId` corresponding to the new call. When creating a call you provide an `answerUrl` in the request body, and upon the call being answered, Bandwidth will send a webhook to the provided URL to inform your application and retrieve BXML from it in order to continue with the call.
45
-
46
-
To handle inbound calls to your Bandwidth numbers - you associate a [voice application](/docs/account/dashboard-setup#create-a-voice-application) to a group of numbers, known as a Location or Sip-Peer. When incoming calls are received to any of those numbers, Bandwidth sends an [`initiate`](/docs/voice/webhooks/initiate) event webhook to the URL defined in your application and expects BXML in the HTTP response to continue with the call.
47
-
48
-
### Call Directions
49
-
50
-
The direction of which the call is coming from may determine how/where callbacks are sent and whether they may submit more BXML. The direction of a call is either inbound or outbound. Inbound calls refer to calls received by your application, and outbound calls are calls that originate from your application (via API requests or BXML verbs).
51
-
52
-
### BXML
53
-
54
-
Bandwidth XML allows you to create a voice application as easily as you create a web application. Using Bandwidth XML (or BXML) your application handles incoming call events using standard action verbs that are described in XML.
55
-
56
-
When calls or call events occur - Bandwidth will send a request (webhook) to your service, expecting BXML in the HTTP response body to continue the call.
57
-
58
-
### Webhooks
59
-
60
-
The Voice API uses a number of different [webhooks](/docs/voice/webhooks) to facilitate call control. Certain webhooks expect BXML in the HTTP response to keep the call alive, while others are simply informative. These are also referred to as "callbacks".
61
-
62
-
### STIR/SHAKEN
63
-
64
-
The Bandwidth API uses STIR/SHAKEN to help combat fraudulent calls and phone number spoofing. This info can be seen in the [`initiate`](/docs/voice/webhooks/initiate) webhook. For more information, look [here](https://www.bandwidth.com/regulations/stir-shaken/) for Bandwidth's explanation of what it is and why it's important.
65
-
66
-
## Features and Services of Note
67
-
68
-
### Text-to-Speech
69
-
70
-
Use our [SpeakSentence](/docs/voice/bxml/speakSentence) verb to convert typed words to audible speech on the call. Powered by Amazon Polly, which allows us to support seventeen voices and twenty-six languages. Use [SSML](https://www.w3.org/TR/2010/REC-speech-synthesis11-20100907/) to customize your audio to include pauses, emphasis, and much more.
71
-
72
-
### Recording
73
-
74
-
With the [Record](/docs/voice/bxml/record) verb, you can save calls to play back or analyze later.
75
-
76
-
### Transcription
77
-
78
-
Convert your calls to text using the [Record](/docs/voice/bxml/record) verb's `transcribe` function.
79
-
80
-
### Conferencing
81
-
82
-
The [Conference](/docs/voice/bxml/conference) BXML Verb allows you to create conference calls—including with the [coach](/docs/voice/bxml/conference#join-a-conference-as-a-coach) feature that allows for a call to be selectively bridged with certain calls within a conference.
83
-
84
-
### Answering Machine Detection
85
-
86
-
[Answering Machine Detection](/docs/voice/guides/machineDetection) allows you to determine whether a human or a machine has answered a call.
87
-
88
-
### Caller Name Service (CNAM)
89
-
90
-
Bandwidth's [Caller Name service](/docs/voice/guides/cnamPerDip) provides the business name on VoIP calls in the US and Canada using our CNAM database. This feature is not enabled by default.
91
-
92
-
## Storage
93
-
94
-
### Media
95
-
96
-
The Voice API allows you to playback audio files to end users on phone calls. Only `.wav` and `.mp3` files are supported at this time and Bandwidth recommends limiting audio files to less than 1 hour in length or 250 MB in size.
97
-
98
-
### Recordings
99
-
100
-
Bandwidth will keep recordings for up to 30 days. After 30 days, recordings will be deleted from Bandwidth controlled servers.
101
-
102
-
### Transcriptions
103
-
104
-
Bandwidth will keep transcriptions for up to 30 days. After 30 days, transcriptions will be deleted from Bandwidth controlled servers.
105
-
106
-
## Supported Languages and Environments
107
-
108
-
SDKs are provided for Java, C#, Ruby, NodeJs, Python, and PHP. Examples of the Bandwidth library in these languages are provided throughout the docs.
getStartedText: <p>With Bandwidth's Voice API, you can build a custom voice calling application that accesses our voice network using a HTTPS-based interface.
21
+
Embed inbound and outbound voice capabilities via a set of well defined APIs - without the hassle of handling telecom infrastructure.
22
+
<br/><br/>
23
+
Rapidly develop voice-enabled applications by simply sending and receiving HTTPS requests.
24
+
When an incoming call comes into a phone number associated with our Voice API platform, we will notify your application via a webhook event.
25
+
Your application can then respond to our platform using Bandwidth XML (BXML) to launch any of our features.</p>,
With a few lines of code we will show you how to use our REST APIs and webhooks through our docs,
37
+
code samples and SDKs to build your application.
38
+
Select the SDK of your choice or start testing with our <aclassName={docsAboutStyles.postmanLink}href={postmanLink}target="_blank"rel="noopener">Postman Collection</a> straight away.
0 commit comments