Sip Voice Call Control

WarnAudited by ClawScan on May 10, 2026.

Overview

The skill is mostly coherent for a Telnyx voice assistant, but it exposes a persistent public calling interface with tool execution, local gateway credentials, and workspace memory access that are not clearly bounded.

Review carefully before installing. If you use it, restrict allowed callers, avoid exposing it publicly without authentication, limit memory-search paths, scope gateway permissions, and stop the persistent process when not in active use.

Findings (6)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

Someone interacting with the voice assistant could potentially cause reminders to be deleted or messages to be sent if the assistant interprets the call that way.

Why it was flagged

The voice model is given tools that can mutate reminders/scheduled tasks and send messages. The provided artifacts do not show a clear confirmation gate or caller authorization before these high-impact tools are executed.

Skill content
name: 'remove_cron_job' ... description: 'DELETE/REMOVE an existing cron job or reminder' ... name: 'send_message' ... description: 'Send a message to a specific person or channel.'
Recommendation

Require explicit user confirmation for mutating or outbound-message actions, and restrict which callers or phone numbers can invoke tools.

What this means

Anyone who learns or guesses the SIP address may be able to talk to the assistant and try to trigger its tools.

Why it was flagged

The Telnyx Call Control application is configured to accept SIP calls from anyone to the generated subdomain. The artifacts do not show an allowlist, caller identity check, or other boundary before calls reach the assistant.

Skill content
inbound: { sip_subdomain: sipSubdomain, sip_subdomain_receive_settings: 'from_anyone' }
Recommendation

Use Telnyx caller restrictions, an allowlist, PIN/passphrase, or another authentication step before exposing voice tool access.

What this means

The voice server may gain access to local OpenClaw gateway capabilities, including messaging or other tools, beyond the Telnyx account access the user expects.

Why it was flagged

The code reads local OpenClaw/Clawdbot gateway authentication tokens, but the declared primary credential is only TELNYX_API_KEY. This expands delegated local-tool authority without a clear credential contract.

Skill content
const configPaths = [`${homedir}/.openclaw/openclaw.json`, `${homedir}/.clawdbot/clawdbot.json`]; ... GATEWAY_TOKEN = config.gateway?.auth?.token || '';
Recommendation

Declare this credential/config access explicitly, scope the gateway token to only needed tools, and require user approval before using gateway-backed actions.

What this means

Private workspace notes or memory could be disclosed during a phone call if the caller can access the assistant.

Why it was flagged

The skill exposes a memory-search tool over the voice interface and points it at workspace files, but the artifacts do not clearly bound paths, exclusions, caller access, or what private content may be returned.

Skill content
`WORKSPACE_DIR` | No | `~/clawd` | For memory search tool ... `search_memory` ... Searches workspace files
Recommendation

Limit searchable paths, exclude secrets/private files, and require caller authentication before memory search is enabled.

What this means

The assistant may continue accepting calls and tool requests after the original setup session ends.

Why it was flagged

The skill is intended to keep running after setup. Persistent operation is expected for a phone server, but the artifacts do not pair it with strong caller restrictions or automatic shutdown controls.

Skill content
Start in Background (Persistent) ... nohup npm run start > sip-voice-call-control.log 2>&1 & ... Always use `nohup` or a process manager for production.
Recommendation

Only run it persistently when needed, document how to stop it, and add access controls before leaving it online.

What this means

Future installs may pull newer dependency versions than the ones the author tested.

Why it was flagged

The skill installs npm dependencies using semver ranges, and no lockfile is present in the provided file manifest. This is common but reduces reproducibility of the installed code.

Skill content
"dependencies": { "dotenv": "^17.2.3", "express": "^4.18.2", "openai": "^6.17.0", "telnyx": "^2.0.0" }
Recommendation

Prefer a reviewed lockfile or pin dependencies before production use.