bird voice tools test-call
Usage
Code example
bird voice tools test-call <e164> [flags]Description
Places a single real call through one of your trunks, to prove the trunk works before you point a PBX at it. It writes a throwaway account file into a temporary directory, runs baresip against it for --duration, and deletes the directory as soon as the call ends.
The call is carried and billed like any other, and it appears in the call log. Audio uses this machine's microphone and speakers. baresip must be on PATH (brew install baresip, apt install baresip).
The SIP password mirrors what the trunk admits. A trunk that allows neither session credentials nor API keys admits by source address alone, and no password is sent. Otherwise BIRD_VOICE_TEST_CALL_API_KEY, when set, is the password, even on a trunk that could mint, so it must be the secret of an API key the trunk allows. Otherwise, on a trunk that allows session credentials, this command mints one for the call: it expires within minutes, so nothing long-lived is written to disk, and minting needs the voice:write scope, which a plain bird auth login does not hold. Otherwise, when the CLI is authenticated with BIRD_API_KEY, that key's secret is the password.
Allowing a key on a trunk is a dashboard step this command cannot take, and so is verifying the caller ID. --dry-run prints the account file and the command without dialing; the password is still resolved the same way, minting included, because the line is of no use to another SIP client without one.
By default baresip's own console output is reduced to a few status lines and a peak-audio summary, where a zero in one direction is the one-way-audio symptom. --raw prints its stream byte-for-byte instead, and --verbose adds a SIP trace to that.
--trunk and --caller-id default to the workspace's first trunk and first verified caller ID, which is what makes a bare test call one argument; both are printed when they are inferred.
Examples
Code example
bird voice tools test-call +31612345678
bird voice tools test-call +31612345678 --trunk spt_01hx... --caller-id +31201234567 --protocol udpOptions
| Name | Description |
|---|---|
| --caller-id | Verified caller ID for the From header, E.164 (default: the workspace's first verified) |
| --dry-run | Print the account file and the baresip command, then exit without dialing |
| --duration | Hang up after this long (default 30s) |
| --protocol | SIP transport protocol, which selects the port: tls (5061), udp (5060), tcp (5060) (default tls) |
| --raw | Print baresip's output byte-for-byte instead of the status summary |
| --trunk | Trunk to place the call through (default: the workspace's first) |
| --verbose | Pass baresip a SIP trace (-s); implies --raw, since the trace is what you came for |