azrtydxb/hello/hello-troubleshoot
Claude Code and agent skill by azrtydxb/hello
- community
Checking that the SKILL.md file is still in the repository.
Diagnose a Kuvryn Hello PBX through its MCP server - a call that failed (call records and routing trace), a phone that does not register (registrations, device diagnostics, auth-failure blocks), a trunk that is down, and what the cluster state means. Use when someone reports that a call did not go through, a phone shows "no service" or "registration failed", calls to or from a carrier fail, or Hello itself seems unhealthy.
Install
npx vskill@latest install azrtydxb/hello/hello-troubleshootSKILL.md
Hello troubleshooting
Hello explains its own behaviour: every call leaves a call detail record (CDR) with a routing trace and a failure explanation, every REGISTER attempt is kept for a while with its outcome, and every node publishes its state. Read those first; change configuration only once the cause is clear, and then with the hello-setup or hello-routing skill.
Connecting
- MCP server:
https://<hello host>/mcp(on kw:https://hello.kw.watteel.lab/mcp). - Scopes:
readcovers everything here. The one change this skill may make,
unblocking an IP with clearAuthFailures, needs write and the operator role; ask the user before doing it.
- Resources: the server also offers live state as resources (for example
hello://registrations); read them when your client supports resources.
Start with the cluster
getCluster returns every node, PostgreSQL and Valkey health and the configuration revision. If PostgreSQL or Valkey is down, or a SIP node is not READY, that is the first thing to report: most other symptoms follow from it. See cluster states.
A call that failed
- Find it:
listCDRs, filtered by number and time if the user gave them.
countCDRs tells you whether failures are unusual right now.
getCDRfor the record: the final status, which side ended it, the
failure reason in plain words, the route and trunk used, and the routing trace.
- If the routing looks wrong, re-run the decision with
testRouting(same
caller and number) to see whether the saved configuration still decides the same way.
- Explain the cause in one or two sentences and name the fix: a route
(hello-routing), a device (hello-setup), or the carrier.
A phone that does not register
listRegistrations: is the device registered at all, from which address
and on which node?
listDevicesto find the device id, thengetDeviceDiagnostics. It
returns the recent REGISTER attempts (source, user agent, response code, whether credentials were sent) and a verdict that says why it is not registered.
- If the source IP is blocked for too many failed authentications,
listAuthFailures shows it. A wrong password keeps failing after an unblock, so fix the credentials first (the administrator rotates the device secret in the console, or re-provisions the phone), then clearAuthFailures for the IP with the user's agreement.
- A provisioned phone that never fetched its configuration:
listPhoneFetches for the phone. No fetches means DHCP or the vendor redirect does not point at Hello (getProvSettings has the values).
A trunk that is down
listTrunkStatus shows each trunk's registration state (registered, registering, failed, misconfigured, disabled) with the last response code, and each destination's health from OPTIONS pings. getTrunk shows the configuration (never the password). See trunk states.
Which release, who am I, what is live
getVersionanswers the build, commit and configuration revision of the
node that replied; getMe says whose credentials you are using and with which role and scopes (check it when a call is refused with 403).
listCallslists the calls in progress now;listRegistrationsthe
registered contacts. cdrConcurrency (range 1h, 6h or 24h) shows how many calls were up at once, to size trunks or find busy hours; countCDRs gives totals and failures for the same filters as listCDRs.
listPresenceshows each device as idle, ringing, on-call or dnd.listSkillslists the skills this server ships, so a client can offer them.
What happened on a call: events
listEvents pages through the stored call events (kept for a few days, 7 by default), oldest first by default (order desc for newest first, nextCursor to continue). Filter with types (comma-separated, a trailing .* matches a prefix such as call.*) and extension. It needs the events scope, which is separate from read; a user or an extension-scoped service account only sees events about its own extensions. Use it after getCDR to see the order of things (ringing, answered, transferred, hung up) for one extension; the live stream is for the console and is not an MCP tool.
Cluster depth: maintenance and draining
getCluster and listClusterNodes give the state. Before maintenance on a node, drainNode (path id is the node's HELLO_NODE_ID, admin only) lets it finish its calls and stop taking new ones; undrainNode cancels it. Draining the last READY SIP node answers 409; do not pass force=true unless the user has said that dropping call capacity is acceptable. Ask before draining.
Findings and proposals from the AI agent
Hello can run background detectors and an assistant of its own. They only suggest: nothing changes until an operator applies a proposal in the console.
getAIStatus: is it on, why not, token use against the budget, open counts.listAIFindings(filterstatus,severity,type) andgetAIFinding:
what the detectors found, with evidence and the health score. Start here for "is anything wrong with my PBX".
listAIProposalsandgetAIProposal: suggested changes with the stored
before and after and the object's current state. Explain them; never claim a proposal was applied.
listAIAgents,getAISettings(the MCP and API URLs and what each scope
allows), listAISessions, getAISession and getAITask for the assistant's own sessions and tasks.
Text-to-speech settings
getTtsSettings (admin) says whether a key is set (never the key), its last four characters, and the default model and voice; listTtsVoices lists the models and voices to pick from. deleteTtsKey removes the stored key: prompts already generated keep playing but no new one can be made; ask first. Setting the key and generating audio happen in the console only.
Answering
Say what you found, what it means and what to do, in that order. Quote the evidence (the CDR id, the response code, the verdict) so the user can check it in the console.
References
- Tools - every tool this skill uses.
- Cluster states
- The
hello-flow-graphskill shows where a call can go. - Registration verdicts and SIP codes
- Trunk states
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/hello-troubleshoot/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/azrtydxb/hello/hello-troubleshoot)