In order to activate Audio Streaming for a call, the below PerCL command must be provided. In addition to the AudioStream PerCL command, the FreeClimb platform has many others available, some of which (StartRecordCall) can be used in conjunction with Audio Streaming.
Serving PerCL
PerCL is fetched from an HTTP webserver with a POST request from the FreeClimb platform on receipt of an inbound call. This request will include information about the call that can be used, if needed, to configure metadata in the returned AudioStream PerCL response. This PerCL also configures the actionUrl used to notify if the call state changes or any unexpected termination takes place.
AudioStream PerCL
// All fields are required
[
{
"AudioStream": {
"location": {
"uri": "<URL of gRPC server typically https://example.com>"
},
"contentType": "audio/l16;rate=16000",
"actionUrl": "<call back URL>",
"metadata": [
"any-value-you-want"
]
}
}
]
Command Attributes
AudioStream supports the following attributes that modify its behavior:
| Attribute | Description |
|---|---|
location | gRPC endpoint implementing the gRPC specification for AudioStream. Must be on port 443. |
contentType | Defines the structure of the audio received by the gRPC server. This is dependent on environment. |
actionUrl | When the Audio Stream session has completed, FreeClimb will make a POST request to this URL. |
metadata | Arbitrary array of strings passed to gRPC server. |
location
REQUIREDType: object
gRPC endpoint implementing the gRPC specification for AudioStream. Must be on port 443.
contentType
REQUIREDType: string
Defines the structure of the audio received by the gRPC server. This is dependent on environment.
Use audio/l16;rate=16000 and for any questions please contact FreeClimb support.
actionUrl
REQUIREDType: string
When the Audio Stream command has completed, FreeClimb will make a POST request to this URL. A PerCL response is expected to continue handling the call.
metadata
REQUIREDType: array of strings
Arbitrary array of strings passed to gRPC server.