Advanced call control features including DTMF sending, SIPREC recording, noise suppression, client state, and supervisor controls. This skill provides JavaScript SDK examples.
SkillScore100Maintained
Automatic
◆Coding pack
Last verified 8/22/2026
What it changes
Passed 24 of 24 test cases with the skill, and 12 of 24 without it.
Without skill50%
With skill100%
Checks it passed that the model alone missed
Passes role set to barge in the options object.
Uses client.webhooks.unwrap to verify the signature.
Catches Telnyx.RateLimitError to handle rate limits.
and 14 more in the full report
12 fixed12 passed either way0 still failing0 broke
Pass-rate lift
+50 pp
Tokens
+348%
Agent turns
0%
Response time
-55%
Model gemini-3.6-flashMeasured 8/22/2026v224 of 24 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 12 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 12
Prompt
After starting noise suppression on Telnyx call leg `call_ns_1`, I need to disable it. What method on `client.calls.actions` stops noise suppression?
What was checked, without and with the skill
Checked
Without skill
With skill
Invokes client.calls.actions.stopNoiseSuppression with the call control ID.
Missed
Passed
case-10 · gemini-3.6-flash · 8/22/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
import Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
});
All examples below assume client is already initialized as shown above.
Error Handling
All API calls can fail with network errors, rate limits (429), validation errors (422),
or authentication errors (401). Always handle errors in production code:
try {
const result = await client.messages.send({ to: '+13125550001', from: '+13125550002', text: 'Hello' });
} catch (err) {
if (err instanceof Telnyx.APIConnectionError) {
console.error('Network error — check connectivity and retry');
} else if (err instanceof Telnyx.RateLimitError) {
// 429: rate limited — wait and retry with exponential backoff
const retryAfter = err.headers?.['retry-after'] || 1;
await new Promise(r => setTimeout(r, retryAfter * 1000));
} else if (err instanceof Telnyx.APIError) {
console.error(`API error ${err.status}: ${err.message}`);
if (err.status === 422) {