Skip to content

didww-to-vogent: follow DIDWW's Vogent guide; warm transfers only, API agent linking - #8

Open
MinReq wants to merge 2 commits into
didww:mainfrom
MinReq:fix/vogent-warm-transfer-agent-binding
Open

MinReq wants to merge 2 commits into
didww:mainfrom
MinReq:fix/vogent-warm-transfer-agent-binding

Conversation

@MinReq

@MinReq MinReq commented Nov 3, 2026

Copy link
Copy Markdown

Brings didww-to-vogent in line with DIDWW's Vogent integration guide and with what real calls showed on 2026-10-28. The skill and docs/didww-to-vogent.md now follow the guide's three sections and link to them:

    1. Route Incoming Calls to Vogent
    1. Enable Outbound Calling from Vogent through DIDWW
    1. Connect DIDWW SIP Trunks in Vogent: Steps 1–5 and Troubleshooting

This is separate from #6 (ElevenLabs).

1. Route Incoming Calls to Vogent

  • The inbound trunk uses sip.vogent.ai, port 5060, UDP. User Part of R-URI stays the default {DID}; Vogent also accepts +{DID}.
  • This replaces the old instruction to set up an invented digest pair.

2. Enable Outbound Calling from Vogent through DIDWW

  • The outbound trunk is required even for an inbound-only line. Vogent imports a number only with an outbound trunk's termination address and credentials. The docs used to say it was "needed only for calls the agent places".
  • Allowed SIP IP addresses, following the guide:
    • Vogent's enterprise ranges plus DIDWW's seven inbound signaling IPs.
    • Without enterprise ranges, contact DIDWW support.
    • 0.0.0.0/0 only for temporary testing, at the user's own risk.
    • New warning: 0.0.0.0/32 matches nothing.
  • Step 4: Add Outbound Credentials to the Inbound Trunk. The inbound trunk's Authorization uses the outbound trunk's username and password. The user enters them in the panel, so the password stays out of the chat.

3. Connect DIDWW SIP Trunks in Vogent

  • Step 1, import. POST /api/phone_numbers (sip_import, E.164 with +, bare terminationUri). The dashboard path is documented too.
  • Step 2, link the number to the agent. This is not dashboard-only: PUT /api/phone_numbers/{id} with {"agentId"} works.
    • New connect.py --agent links right after the import.
    • --phone-id ID --agent ID links a number imported earlier.
    • The "MANUAL STEP" print is gone.
  • Step 3, opening line. Without one, the agent waits for the caller and the call sounds silent. Standard agents use Opening Line, Inbound calls Only. Flow agents keep it in the flow (flowDefinition.openingLineType INBOUND_ONLY).
  • Step 4, call transfers: only Warm Transfer works with DIDWW.
    • Cold Transfer (SIP REFER) never reaches DIDWW. Vogent builds the target from the phone number and has no SIP URI setting. It marks the dial TRANSFERRED, but there is no outbound CDR, even with 0.0.0.0/0 open (tested twice).
    • Warm Transfer makes Vogent dial the destination itself through the DIDWW outbound trunk.
    • The skill creates the Call Transfer function with POST /api/functions. Allowed Numbers must never hold a DIDWW number linked to the agent, or the call loops back to the agent. It then adds the function with PUT /api/agents/{id} (linkedFunctionDefinitionInputs) and adds the prompt line.
    • Transfer Type is set in the dashboard only. New functions default to Cold, and switching to Cold and back clears the Prompted prompt.
  • Step 5, test. Inbound, outbound (including POST /api/dials) and transfers. For transfers it checks Dial History's Transferred status and transfer_call, plus DIDWW's Outbound Call Logs.
  • Troubleshooting, following the guide:
    • 401/403/407, 484, and rejection after authentication.
    • The caller shown with an extra +1: cosmetic, and cli_prefix + is a likely fix marked untested.
    • The API key's secret versus its ID.
    • GET /api/dials/{id} for transcripts.

Hub and indexes

  • didww-connect: Vogent's table row, ingress notes and allowed-IP notes follow the guide.
  • The root README row and docs/index.md no longer say "one dashboard click".

Versions and tests

  • didww-to-vogent 1.0.3 and didww-connect 1.0.3, with a CHANGELOG entry. Not published to npm.
  • main with Add Agent Skills discovery index (.well-known/agent-skills) #7 is merged in. .well-known/agent-skills/ was regenerated with python3 scripts/build_index.py; only the didww-connect and didww-to-vogent archives and their index entries changed.
  • New checks in tests/test_connect.py:
    • --agent sends a POST, then a PUT with {agentId}.
    • A linking failure after a good import exits nonzero.
    • A response without an id doesn't trigger a guessed PUT.
    • --phone-id links without importing.
    • Invalid --phone-id combinations are refused before any API call.
  • bash scripts/test.sh passes: Vogent 16/16, installers 90/90, discovery index 53/53, all other skills unchanged.
  • Examples use fictional numbers only.

Note for merging: #6 also bumps didww-connect to 1.0.3 and adds a CHANGELOG entry at the top, and it predates #7, so it still needs a rebase and an index rebuild of its own. Whichever PR merges second needs didww-connect 1.0.4, the two CHANGELOG entries combined and scripts/build_index.py run again.

🤖 Generated with Claude Code

MinReq and others added 2 commits November 3, 2026 09:44
…I agent linking

- Skill and docs follow doc.didww.com/integrations/vogent/ section by
  section: inbound trunk UDP 5060 with R-URI {DID} (or +{DID}); outbound
  trunk required even for inbound-only; Allowed SIP IPs = Vogent enterprise
  ranges plus DIDWW's signaling IPs, 0.0.0.0/0 only for temporary testing;
  outbound credentials as the inbound trunk's Authorization; opening line;
  Call Transfer function; testing and troubleshooting.
- Transfers work only as Warm Transfer (Cold/REFER never reaches DIDWW);
  transfer type is set in the dashboard only.
- connect.py --agent links the number to the agent (PUT
  /api/phone_numbers/{id}); --phone-id links a number imported earlier.
- didww-connect: Vogent rows and notes follow the guide.
- didww-to-vogent 1.0.3, didww-connect 1.0.3.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CHANGELOG: the Vogent entry stays above the discovery-index entry.
.well-known/agent-skills/ rebuilt with scripts/build_index.py for the
didww-connect and didww-to-vogent changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Nov 3, 2026

Copy link
Copy Markdown

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 3a0ead34-553a-4e35-b66d-842a8673d15d
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Tip

🎯 Customize your risk assessments

Guide how CodeRabbit assesses merge risk and security architecture risk. Highlight sensitive changes and explain your security boundaries using Merge Risk Instructions and Security Risk Instructions in your review settings. Security architecture risk assessments require the Advanced plan or above.

✅ Automatic approvals, with your rules

Let CodeRabbit approve pull requests once required threads are resolved, pre-merge checks pass, and your risk limits are met. Enable Automatic approvals in review settings, with overrides for teams or file paths.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.

@sonarqubecloud

sonarqubecloud Bot commented Nov 3, 2026

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant