mirror of
https://github.com/jwetzell/showbridge-docs.git
synced 2026-08-31 09:49:00 +00:00
Compare commits
41 Commits
bb1517ca73
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 814816696c | |||
| 966ff8240e | |||
| 8c8bffeb68 | |||
| ddc722ed16 | |||
| a9bf28b7c6 | |||
| f678b0d376 | |||
| b2f6fc02a3 | |||
| 57a51c9fff | |||
| ec6f774f3d | |||
| 4d9c6b2af2 | |||
| 102e88824c | |||
| d49991c265 | |||
| d883b1dd3b | |||
| bc3a7edb79 | |||
| 0da86ce668 | |||
| a61d843952 | |||
| b38fbdaab4 | |||
| 8d680aa922 | |||
| eba857b324 | |||
| a33c05373f | |||
| a90a74650c | |||
| 212259fc4d | |||
| 3a35b7241d | |||
| c08561a58f | |||
| 402f14ca27 | |||
| 88b455d86b | |||
| 181b3c75d8 | |||
| 0146750efa | |||
| f1ed9c0600 | |||
| d6d8353709 | |||
| 1e02bfc4da | |||
| 477862e73c | |||
| c98ed11bae | |||
| 6a9a418bf5 | |||
| 69cf0949d2 | |||
| dc7bbc6c93 | |||
| ea0b05bbdc | |||
| 5bd3c68fc2 | |||
| b17e00bdb3 | |||
| ea6370644f | |||
| d6d8e7b532 |
@@ -1,10 +0,0 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
@@ -8,10 +8,10 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
|
||||
- name: Set up Node.js
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
||||
with:
|
||||
node-version-file: ".nvmrc"
|
||||
cache: "npm"
|
||||
|
||||
@@ -8,10 +8,10 @@ jobs:
|
||||
build-docs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
|
||||
- name: Set up Node.js
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
||||
with:
|
||||
node-version-file: ".nvmrc"
|
||||
cache: "npm"
|
||||
|
||||
@@ -96,22 +96,6 @@ export default defineConfig({
|
||||
collapsed: true,
|
||||
items: [{ autogenerate: { directory: "modules/serial" } }],
|
||||
},
|
||||
{
|
||||
label: "SIP",
|
||||
collapsed: true,
|
||||
items: [
|
||||
{
|
||||
label: "Call",
|
||||
collapsed: true,
|
||||
items: [{ autogenerate: { directory: "modules/sip/call" } }],
|
||||
},
|
||||
{
|
||||
label: "DTMF",
|
||||
collapsed: true,
|
||||
items: [{ autogenerate: { directory: "modules/sip/dtmf" } }],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "WebSocket",
|
||||
collapsed: true,
|
||||
@@ -264,40 +248,6 @@ export default defineConfig({
|
||||
collapsed: true,
|
||||
items: [{ autogenerate: { directory: "processors/script" } }],
|
||||
},
|
||||
{
|
||||
label: "SIP",
|
||||
collapsed: true,
|
||||
items: [
|
||||
{
|
||||
label: "Response",
|
||||
collapsed: true,
|
||||
items: [
|
||||
{
|
||||
label: "Audio",
|
||||
collapsed: true,
|
||||
items: [
|
||||
{
|
||||
autogenerate: {
|
||||
directory: "processors/sip/response/audio",
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "DTMF",
|
||||
collapsed: true,
|
||||
items: [
|
||||
{
|
||||
autogenerate: {
|
||||
directory: "processors/sip/response/dtmf",
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "String",
|
||||
collapsed: true,
|
||||
|
||||
Generated
+1856
-976
File diff suppressed because it is too large
Load Diff
+6
-6
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@showbridge/docs",
|
||||
"type": "module",
|
||||
"version": "0.4.0",
|
||||
"version": "0.6.0",
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
@@ -14,10 +14,10 @@
|
||||
"astro": "astro"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@astrojs/check": "0.9.9",
|
||||
"@astrojs/starlight": "^0.39.3",
|
||||
"astro": "^6.4.4",
|
||||
"sharp": "0.34.5",
|
||||
"@astrojs/check": "0.9.10",
|
||||
"@astrojs/starlight": "0.41.10",
|
||||
"astro": "7.2.9",
|
||||
"sharp": "0.35.4",
|
||||
"typescript": "6.0.3"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"extends": [
|
||||
"config:recommended"
|
||||
]
|
||||
}
|
||||
@@ -10,5 +10,6 @@ Processors are anything that create or manipulate messages. They are configured
|
||||
|
||||
A processor YAML block has the following properties
|
||||
|
||||
- **id**: a unique identifier for the processor (auto generated when using the web interface)
|
||||
- **type**: the processor type
|
||||
- **params**: optional map for processor configuration values. The valid values will depend on the processor type
|
||||
|
||||
@@ -8,6 +8,7 @@ Routes take the messages coming from a module and push them through a list of [p
|
||||
|
||||
## YAML Definition
|
||||
|
||||
- **id**: a unique identifier for the route (auto generated when using the web interface)
|
||||
- **input**: the id of the [module](/concepts/modules) that will provide messages to this route
|
||||
- **processors**: (optional) array of [processors](/concepts/processors) that will be called in order and the result of the previous will be fed to the next processor.
|
||||
- an error in a processor step will result in the individual route being terminated
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
---
|
||||
title: SIP > OSC
|
||||
sidebar:
|
||||
order: 2
|
||||
---
|
||||
|
||||
import { Code } from "@astrojs/starlight/components";
|
||||
|
||||
This config starts an SIP server listening on port `5060`. Any incoming call will result in a OSC message being sent to `127.0.0.1:53000` with the address set to [fire a QLab cue](https://qlab.app/docs/v5/scripting/osc-dictionary-v5/#/cue/{cue_number}/go) with the dialed number as the cue number. This was tested with a cheap SIP gateway like [this one](https://www.grandstream.com/products/gateways-and-atas/analog-telephone-adaptors/product/ht802).
|
||||
|
||||
export const example = `
|
||||
api:
|
||||
enabled: true
|
||||
port: 8080
|
||||
modules:
|
||||
- id: sip
|
||||
type: sip.call.server
|
||||
params:
|
||||
port: 5060
|
||||
- id: udp
|
||||
type: net.udp.client
|
||||
params:
|
||||
host: 127.0.0.1
|
||||
port: 53000
|
||||
routes:
|
||||
- input: sip
|
||||
processors:
|
||||
- type: osc.message.create
|
||||
params:
|
||||
address: "/cue/{{.Payload.To}}/go"
|
||||
- type: osc.message.encode
|
||||
- type: module.output
|
||||
params:
|
||||
module: udp
|
||||
`;
|
||||
|
||||
<Code code={example} title="config.yaml" lang="yaml" />
|
||||
@@ -23,13 +23,17 @@ modules:
|
||||
host: 127.0.0.1
|
||||
port: 8000
|
||||
routes:
|
||||
- input: http
|
||||
- id: http-to-osc
|
||||
input: http
|
||||
processors:
|
||||
- type: osc.message.create # create OSC message
|
||||
- id: create-osc-message
|
||||
type: osc.message.create # create OSC message
|
||||
params:
|
||||
address: "{{.Payload.URL.Path}}" # template the address from the incoming message
|
||||
- type: osc.message.encode # turn OSC message into bytes
|
||||
- type: module.output # output to the udp module
|
||||
- id: encode-osc-message
|
||||
type: osc.message.encode # turn OSC message into bytes
|
||||
- id: send-osc
|
||||
type: module.output # output to the udp module
|
||||
params:
|
||||
module: udp
|
||||
`;
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
---
|
||||
title: SIP Call Server
|
||||
sidebar:
|
||||
label: Server
|
||||
order: 1
|
||||
---
|
||||
import SchemaInfo from '../../../../../components/SchemaInfo.astro';
|
||||
|
||||
This module starts a [SIP](https://en.wikipedia.org/wiki/Session_Initiation_Protocol) server that listens for incoming connections and emits call events when a new call is received. This can be used with cheap SIP gateway devices to connect an analog phone line and do interesting things like [firing QLab cues with phone calls](/examples/dial-a-cue).
|
||||
|
||||
<SchemaInfo type="module" id="sip.call.server"></SchemaInfo>
|
||||
|
||||
### Example
|
||||
|
||||
Start a UDP SIP server listening on port 5060
|
||||
|
||||
```yaml
|
||||
- id: sipCallServer
|
||||
type: sip.call.server
|
||||
params:
|
||||
ip: 127.0.0.1
|
||||
port: 5060
|
||||
transport: udp
|
||||
```
|
||||
@@ -1,25 +0,0 @@
|
||||
---
|
||||
title: SIP DTMF Server
|
||||
sidebar:
|
||||
label: Server
|
||||
order: 1
|
||||
---
|
||||
import SchemaInfo from '../../../../../components/SchemaInfo.astro';
|
||||
|
||||
This module starts a [SIP](https://en.wikipedia.org/wiki/Session_Initiation_Protocol) server that listens for incoming connections. When a call is received this module will emit events based on the touch tones (DTMF) received during the call. The event is sent out whenever the use presses the separator key defined in the params.
|
||||
|
||||
<SchemaInfo type="module" id="sip.dtmf.server"></SchemaInfo>
|
||||
|
||||
### Example
|
||||
|
||||
Start a UDP SIP server listening on port 5060 that will emit events whenever the user presses the `#` key on their phone during a call
|
||||
|
||||
```yaml
|
||||
- id: sipDTMFServer
|
||||
type: sip.dtmf.server
|
||||
params:
|
||||
ip: 127.0.0.1
|
||||
port: 5060
|
||||
transport: udp
|
||||
separator: "#"
|
||||
```
|
||||
@@ -14,5 +14,6 @@ This processor will decode incoming bytes into an ArtNet packet. This processor
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
- type: artnet.packet.decode
|
||||
- id: decode
|
||||
type: artnet.packet.decode
|
||||
```
|
||||
|
||||
@@ -14,5 +14,6 @@ This processor will encode an ArtNet packet into an array of bytes. This process
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
- type: artnet.packet.encode
|
||||
- id: encode
|
||||
type: artnet.packet.encode
|
||||
```
|
||||
|
||||
@@ -17,7 +17,8 @@ This processor will return an error if any of the required parameters are missin
|
||||
Issue a `SELECT` statement to a module with id `sqlite`.
|
||||
|
||||
```yaml
|
||||
- type: db.query
|
||||
- id: query
|
||||
type: db.query
|
||||
params:
|
||||
module: sqlite
|
||||
query: "SELECT * from users;"
|
||||
|
||||
@@ -13,5 +13,6 @@ This processor will log information about the message being processed to the con
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
- type: debug.log
|
||||
- id: log
|
||||
type: debug.log
|
||||
```
|
||||
|
||||
@@ -13,5 +13,6 @@ This processor will only pass messages through if the value of the message has c
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
- type: filter.change
|
||||
- id: filter
|
||||
type: filter.change
|
||||
```
|
||||
|
||||
@@ -15,7 +15,8 @@ The `filter.expr` processor evaluates an [Expr expression](https://expr-lang.org
|
||||
Match a payload great than or equal to 0
|
||||
|
||||
```yaml
|
||||
- type: filter.expr
|
||||
- id: filter
|
||||
type: filter.expr
|
||||
params:
|
||||
expression: "Payload >= 0"
|
||||
```
|
||||
|
||||
@@ -15,7 +15,8 @@ The `filter.regex` processor matches incoming string payload against a regular e
|
||||
Match strings starting with `hello`
|
||||
|
||||
```yaml
|
||||
- type: filter.regex
|
||||
- id: filter
|
||||
type: filter.regex
|
||||
params:
|
||||
pattern: "^hello.*"
|
||||
```
|
||||
|
||||
@@ -15,7 +15,8 @@ The `float.parse` processor takes a string and parses it as a float with the spe
|
||||
This would parse the string payload as a 32 bit float and set the payload to that value.
|
||||
|
||||
```yaml
|
||||
- type: float.parse
|
||||
- id: parse
|
||||
type: float.parse
|
||||
params:
|
||||
bitSize: 32
|
||||
```
|
||||
|
||||
@@ -15,7 +15,8 @@ The `float.random` processor will set the payload to a random float between the
|
||||
This would generate a random 64-bit float between 1.1 and 1.5 and set the payload to that value.
|
||||
|
||||
```yaml
|
||||
- type: float.random
|
||||
- id: random
|
||||
type: float.random
|
||||
params:
|
||||
bitSize: 64
|
||||
min: 1.0
|
||||
|
||||
@@ -13,7 +13,8 @@ This processor will create a new FreeD message with the specified parameters.
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
- type: freed.create
|
||||
- id: freed-message
|
||||
type: freed.create
|
||||
params:
|
||||
id: "1"
|
||||
pan: "45"
|
||||
|
||||
@@ -13,5 +13,6 @@ This processor will decode incoming bytes into a FreeD message. This processor w
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
- type: freed.decode
|
||||
- id: decode
|
||||
type: freed.decode
|
||||
```
|
||||
|
||||
@@ -13,5 +13,6 @@ This processor will encode a FreeD message into an array of bytes. This processo
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
- type: freed.encode
|
||||
- id: encode
|
||||
type: freed.encode
|
||||
```
|
||||
|
||||
@@ -15,7 +15,8 @@ This process will make an HTTP request to the specified URL using the specified
|
||||
Make a GET request to `https://example.com`
|
||||
|
||||
```yaml
|
||||
- type: http.request.do
|
||||
- id: make-request
|
||||
type: http.request.do
|
||||
params:
|
||||
method: GET
|
||||
url: https://example.com
|
||||
|
||||
@@ -15,7 +15,8 @@ This processor will create a new HTTP response with the specified status code an
|
||||
This would create an HTTP response with a status code of `200` and a body of `OK`
|
||||
|
||||
```yaml
|
||||
- type: http.response.create
|
||||
- id: create-response
|
||||
type: http.response.create
|
||||
params:
|
||||
status: 200
|
||||
bodyTemplate: "OK"
|
||||
|
||||
@@ -15,7 +15,8 @@ The `int.parse` processor takes a string and parses it as an integer with the sp
|
||||
This would parse the string payload as a 32 bit, base 10 integer and set the payload to that value.
|
||||
|
||||
```yaml
|
||||
- type: int.parse
|
||||
- id: parse
|
||||
type: int.parse
|
||||
params:
|
||||
bitSize: 32
|
||||
```
|
||||
|
||||
@@ -14,7 +14,8 @@ The `int.random` processor will set the payload to a random integer between the
|
||||
This would generate a random integer between -127 and 127 and set the payload to that value.
|
||||
|
||||
```yaml
|
||||
- type: int.random
|
||||
- id: random
|
||||
type: int.random
|
||||
params:
|
||||
min: -127
|
||||
max: 127
|
||||
|
||||
@@ -15,7 +15,8 @@ This processor will scale an integer value from one range to another. This proce
|
||||
Scale an integer value from the range 0-255 to the range 0-100
|
||||
|
||||
```yaml
|
||||
- type: int.scale
|
||||
- id: scale
|
||||
type: int.scale
|
||||
params:
|
||||
inMin: 0
|
||||
inMax: 255
|
||||
|
||||
@@ -13,5 +13,6 @@ Convert an incoming byte array or raw string into a JSON object. This processor
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
- type: json.decode
|
||||
- id: decode
|
||||
type: json.decode
|
||||
```
|
||||
|
||||
@@ -13,5 +13,6 @@ This processor will encode an incoming object into a JSON byte array. This proce
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
- type: json.encode
|
||||
- id: encode
|
||||
type: json.encode
|
||||
```
|
||||
|
||||
@@ -16,7 +16,8 @@ The output payload is the value if the key is found.
|
||||
This will attempt to get the value for the `counter` key from the module with an id of `redis`
|
||||
|
||||
```yaml
|
||||
- type: kv.get
|
||||
- id: get
|
||||
type: kv.get
|
||||
params:
|
||||
module: redis
|
||||
key: counter
|
||||
|
||||
@@ -15,7 +15,8 @@ The `kv.set` processor sets the value of the configured key to the incoming payl
|
||||
This will attempt to set the key `hello` using the module with an id of `redis`
|
||||
|
||||
```yaml
|
||||
- type: kv.set
|
||||
- id: set
|
||||
type: kv.set
|
||||
params:
|
||||
module: redis
|
||||
key: hello
|
||||
|
||||
@@ -13,7 +13,8 @@ This processor will create a MIDI Control Change message with the specified chan
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
- type: midi.control_change.create
|
||||
- id: create
|
||||
type: midi.control_change.create
|
||||
params:
|
||||
channel: "1"
|
||||
control: "64"
|
||||
|
||||
@@ -13,5 +13,6 @@ This processor will decode incoming bytes into a MIDI message. This processor wi
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
- type: midi.message.decode
|
||||
- id: decode
|
||||
type: midi.message.decode
|
||||
```
|
||||
|
||||
@@ -13,5 +13,6 @@ This processor will encode a MIDI message into an array of bytes. This processor
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
- type: midi.message.encode
|
||||
- id: encode
|
||||
type: midi.message.encode
|
||||
```
|
||||
|
||||
@@ -13,5 +13,6 @@ This processor will unpack a MIDI message into its individual components. This p
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
- type: midi.message.unpack
|
||||
- id: unpack
|
||||
type: midi.message.unpack
|
||||
```
|
||||
|
||||
@@ -13,7 +13,8 @@ This processor will create a MIDI Note Off message with the specified channel, n
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
- type: midi.note_off.create
|
||||
- id: create
|
||||
type: midi.note_off.create
|
||||
params:
|
||||
channel: "1"
|
||||
note: "60"
|
||||
|
||||
@@ -13,7 +13,8 @@ This processor will create a MIDI Note On message with the specified channel, no
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
- type: midi.note_on.create
|
||||
- id: create
|
||||
type: midi.note_on.create
|
||||
params:
|
||||
channel: "1"
|
||||
note: "60"
|
||||
|
||||
@@ -13,7 +13,8 @@ This processor will create a MIDI Program Change message with the specified chan
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
- type: midi.program_change.create
|
||||
- id: create
|
||||
type: midi.program_change.create
|
||||
params:
|
||||
channel: "1"
|
||||
program: "10"
|
||||
|
||||
@@ -15,7 +15,8 @@ The `module.output` processor takes any payload and outputs to the specified mod
|
||||
Output whatever payload comes through this processor to the `osc-out` module.
|
||||
|
||||
```yaml
|
||||
- type: module.output
|
||||
- id: output
|
||||
type: module.output
|
||||
params:
|
||||
module: osc-out
|
||||
```
|
||||
|
||||
@@ -15,7 +15,8 @@ This processor will create an OSC message from the provided parameters. This pro
|
||||
Create an OSC message with the address `/test/message` and two integer arguments from the payload of the message being processed.
|
||||
|
||||
```yaml
|
||||
- type: osc.message.create
|
||||
- id: create
|
||||
type: osc.message.create
|
||||
params:
|
||||
address: "/test/message"
|
||||
args: ["{{.Payload[0]}}", "{{.Payload[1]}}"]
|
||||
|
||||
@@ -13,5 +13,6 @@ The `osc.message.decode` processor takes a array of bytes and turn it into OSC m
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
- type: osc.message.encode
|
||||
- id: decode
|
||||
type: osc.message.decode
|
||||
```
|
||||
|
||||
@@ -13,5 +13,6 @@ The `osc.message.encode` processor takes an OSC message and turns it into an arr
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
- type: osc.message.encode
|
||||
- id: encode
|
||||
type: osc.message.encode
|
||||
```
|
||||
|
||||
@@ -15,7 +15,8 @@ The payload is unchanged so whatever is received by this payload is output unles
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
- type: pubsub.publish
|
||||
- id: publish
|
||||
type: pubsub.publish
|
||||
params:
|
||||
module: mqtt-out
|
||||
topic: "test"
|
||||
|
||||
@@ -15,7 +15,8 @@ The processor will execute the provided Expr expression and return the result as
|
||||
This example will add 1 to the wrapped payload.
|
||||
|
||||
```yaml
|
||||
- type: script.expr
|
||||
- id: expr
|
||||
type: script.expr
|
||||
params:
|
||||
expression: "Payload + 1"
|
||||
```
|
||||
|
||||
@@ -19,7 +19,8 @@ This run your JavaScript program in a [sandboxed environment](https://gitlab.com
|
||||
Replace all occurrences of `|` with `,` in the payload
|
||||
|
||||
```yaml
|
||||
- type: script.js
|
||||
- id: javascript
|
||||
type: script.js
|
||||
params:
|
||||
program: |
|
||||
payload = payload.replaceAll('|',',');
|
||||
|
||||
@@ -15,7 +15,8 @@ This processor will load and execute a WASM plugin using the [Extism](https://ex
|
||||
This example will load the plugin at `./test.wasm` and execute the `test` function
|
||||
|
||||
```yaml
|
||||
- type: script.wasm
|
||||
- id: wasm
|
||||
type: script.wasm
|
||||
params:
|
||||
path: "./test.wasm"
|
||||
function: "test"
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
---
|
||||
title: Create SIP Audio Response
|
||||
sidebar:
|
||||
label: Create
|
||||
order: 1
|
||||
---
|
||||
import SchemaInfo from '../../../../../../components/SchemaInfo.astro';
|
||||
|
||||
This processor will create a SIP response message with an audio file as the payload. If this message is output to a SIP module using the [module.output](/processors/module/output) processor, then the SIP module will send the response to the caller and play the audio file included in the response.
|
||||
|
||||
<SchemaInfo type="processor" id="sip.response.audio.create"/>
|
||||
|
||||
### Example
|
||||
|
||||
This example will create a SIP response that will wait 1 second then play `response.wav` then wait another second before completing the response.
|
||||
|
||||
```yaml
|
||||
- type: sip.response.audio.create
|
||||
params:
|
||||
preWait: 1000
|
||||
audioFile: "response.wav"
|
||||
postWait: 1000
|
||||
```
|
||||
@@ -1,23 +0,0 @@
|
||||
---
|
||||
title: Create SIP DTMF Response
|
||||
sidebar:
|
||||
label: Create
|
||||
order: 1
|
||||
---
|
||||
import SchemaInfo from '../../../../../../components/SchemaInfo.astro';
|
||||
|
||||
This processor will create a SIP DTMF response from the provided parameters. If this message is output to a SIP module using the [module.output](/processors/module/output) processor, then the SIP module will send the response to the caller and play the DTMF tones specified.
|
||||
|
||||
<SchemaInfo type="processor" id="sip.response.dtmf.create"/>
|
||||
|
||||
### Example
|
||||
|
||||
This example will create a SIP response that will wait 1 second then play the DTMF digits "1234" then wait another second before completing the response.
|
||||
|
||||
```yaml
|
||||
- type: sip.response.dtmf.create
|
||||
params:
|
||||
preWait: 1000
|
||||
digits: "1234"
|
||||
postWait: 1000
|
||||
```
|
||||
@@ -15,7 +15,8 @@ The `string.create` processor creates a string based on the provided template. T
|
||||
This would create a string using the `Address` property of the incoming message like and OSC message
|
||||
|
||||
```yaml
|
||||
- type: string.create
|
||||
- id: create
|
||||
type: string.create
|
||||
params:
|
||||
template: "{{.Address}}
|
||||
```
|
||||
|
||||
@@ -13,5 +13,6 @@ The `string.decode` processor takes a array of bytes and turn it into string. Th
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
- type: string.decode
|
||||
- id: decode
|
||||
type: string.decode
|
||||
```
|
||||
|
||||
@@ -13,5 +13,6 @@ The `string.encode` processor takes a string and turns it into an array of bytes
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
- type: string.encode
|
||||
- id: encode
|
||||
type: string.encode
|
||||
```
|
||||
|
||||
@@ -15,7 +15,8 @@ The `string.split` processor takes a string and turns it into an array of string
|
||||
Split incoming string on `,` i.e `"one,two,three"` -> `["one","two","three"]`
|
||||
|
||||
```yaml
|
||||
- type: string.split
|
||||
- id: split
|
||||
type: string.split
|
||||
params:
|
||||
separator: ","
|
||||
```
|
||||
|
||||
@@ -15,7 +15,8 @@ The `time.sleep` processor will sleep for the specified `duration` in millisecon
|
||||
This would sleep for 5 seconds before passing the message to the next processor.
|
||||
|
||||
```yaml
|
||||
- type: time.sleep
|
||||
- id: sleep
|
||||
type: time.sleep
|
||||
params:
|
||||
duration: 5000
|
||||
```
|
||||
|
||||
@@ -25,9 +25,6 @@ showbridge is a kind of re-imagining of [OSCulator](https://osculator.net/) take
|
||||
- server
|
||||
- [PosiStageNet](https://posistage.net/)
|
||||
- client
|
||||
- [SIP](https://datatracker.ietf.org/doc/html/rfc3261)
|
||||
- call server
|
||||
- [DTMF](https://en.wikipedia.org/wiki/DTMF_signaling) server
|
||||
- MIDI
|
||||
- input (not included in pre-built binaries yet)
|
||||
- output (not included in pre-built binaries yet)
|
||||
|
||||
+478
-353
File diff suppressed because it is too large
Load Diff
+1152
-654
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user