{
  "data": {
    "a": {
      "slug": "didlogic",
      "name": "didlogic Voice API",
      "vendor": "DID Logic PTE. LTD.",
      "vendorUrl": "https://didlogic.com",
      "kind": "http-api",
      "category": "voice-calling",
      "summary": "didlogic sells SIP trunking, outbound voice and phone numbers in 140 or more countries, with a REST API for numbers, SIP accounts, call records, recordings, SMS and click-to-call, WebSocket calls for voice AI and a remote MCP server.",
      "url": "https://www.anchorterminal.com/tools/didlogic",
      "markdownUrl": "https://www.anchorterminal.com/tools/didlogic.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/didlogic.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/didlogic.json",
      "dns": "didlogic.grade.anchorterminal.com",
      "license": "Proprietary service under the didlogic Terms of Service",
      "transports": [
        "http",
        "websocket",
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.didlogic.com/mcp",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Bearer API keys generated and revoked in the portal under API \u0026 Webhooks since July 2026, each with full access to the account. The MCP server signs in by OAuth and creates a separate key per sign-in, or takes a key in a header. The get-started page still says to ask an account manager for a key.",
      "pricing": "usage",
      "pricingNotes": "Prepaid pay as you go. Outbound calls by destination, for example UK landlines from $0.05 a minute and UK mobiles from $0.0175. Numbers from $2 a month for local and $3 for mobile, plus inbound from $0.01 a minute. Free test credit with no card. The MCP server needs the Plus plan (checked 2026-11-06).",
      "priceSummary": "$2 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, OpenAPI file or pricing pages (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.didlogic.com/docs/api/get-started/",
      "llmsTxt": "https://docs.didlogic.com/llms.txt",
      "openapi": "https://docs.didlogic.com/public_api.openapi.yaml",
      "capabilities": [
        "voice.numbers",
        "voice.sip",
        "voice.calls",
        "voice.streaming",
        "voice.recording",
        "messaging.sms"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "usage",
        "prepaid",
        "no-card",
        "openapi",
        "llms-txt",
        "mcp",
        "remote-mcp",
        "oauth",
        "webhooks",
        "websocket",
        "sip",
        "phone-numbers",
        "iso27001"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 49.8,
        "grade": "D",
        "agentReady": false,
        "rank": 1074,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 12,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 57,
          "maintenance": 38,
          "payments": 38,
          "reliability": 26,
          "schema": 87,
          "security": 46,
          "transparency": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "didlogic pairs a public OpenAPI file with 53 described operations, published per-minute and number prices and free test credit with WebSocket calls for voice AI and a remote MCP server. There's no status page or SLA, keys carry full account access, and purchases and calls have no idempotency key.",
        "bestFor": "Teams that need numbers and SIP termination in many countries and a WebSocket bridge to a voice agent.",
        "strengths": [
          "Public OpenAPI 3.0.3 file with 53 described operations and llms.txt",
          "Per-minute call rates and number prices published by country, with free test credit and no card",
          "WebSocket calls and click-to-call for voice AI since September 2026",
          "Remote MCP server with OAuth sign-in",
          "ISO/IEC 27001:2022 certificate with a registration number"
        ],
        "weaknesses": [
          "No status page or incident history found",
          "No SLA in the Terms, despite a 99.999 per cent uptime claim on the site",
          "API keys have full account access, with no scopes or read-only keys",
          "No idempotency keys on number purchases or click-to-call",
          "No retention periods in the privacy policy"
        ],
        "agentNotes": [
          "Create the key under API \u0026 Webhooks in the portal; ignore the older get-started line about asking an account manager",
          "Confirm with the user before `POST /api/v2/numbers/purchase` or click-to-call; both spend the prepaid balance with no idempotency key",
          "For WebSocket calls, set `a_type: stream` and implement didlogic's message protocol on your endpoint",
          "Back off on 429 from recording endpoints using Retry-After",
          "Expect the MCP server only on the Plus plan"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 49.8
          }
        ],
        "editorialScores": {
          "ergonomics": 57,
          "maintenance": 38,
          "payments": 38,
          "reliability": 26,
          "schema": 87,
          "security": 46,
          "transparency": 37
        },
        "provenanceScore": 79,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -X GET \"https://api.didlogic.com/v2/numbers\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -H \"Content-Type: application/json\"",
        "claudeCode": "claude mcp add --transport http didlogic https://mcp.didlogic.com/mcp",
        "config": {
          "mcpServers": {
            "didlogic": {
              "url": "https://mcp.didlogic.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/voice.numbers",
        "tool": "https://letme.dev/didlogic"
      },
      "area": "voice",
      "unitPrices": [
        {
          "item": "Outbound call, UK landline",
          "unit": "call-minute",
          "usd": 0.05,
          "note": "from, indicative standard-account rate"
        },
        {
          "item": "Outbound call, UK mobile",
          "unit": "call-minute",
          "usd": 0.0175,
          "note": "from, Vodafone mobile route"
        },
        {
          "item": "Local number",
          "unit": "month",
          "usd": 2,
          "note": "from, plus inbound from $0.01 a minute"
        },
        {
          "item": "Mobile number",
          "unit": "month",
          "usd": 3,
          "note": "from, plus inbound from $0.01 a minute"
        }
      ],
      "provenance": {
        "legalEntity": "DID Logic PTE. LTD.",
        "domain": "didlogic.com",
        "domainRegistered": "2007-10-24",
        "endpointOnVendorDomain": true,
        "terms": "https://didlogic.com/terms-and-conditions/",
        "privacy": "https://didlogic.com/privacy-and-security/",
        "statusPage": "",
        "changelog": "https://docs.didlogic.com/docs/release-notes",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The Terms of Service name DID Logic PTE. LTD., a Singapore company at 15 Scotts Road, with ICDR arbitration. No clause on automated access to the website was found; automated list dialling on the services is barred.",
          "didlogic.com/robots.txt allows all agents except /wp-admin/. The docs site serves llms.txt.",
          "The network status page linked from the footer is a marketing page with no components or incident history, so no status page is recorded.",
          "/.well-known/security.txt returns 404. RDAP gives didlogic.com a registration date of 24 October 2007."
        ],
        "score": 79
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/didlogic.json",
      "live": {
        "slug": "didlogic",
        "probe": {
          "target": "https://mcp.didlogic.com/mcp",
          "method": "get",
          "lastAt": "2026-11-07T18:20:20.921736Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 185,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 98,
          "p95ms24h": 183,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "securityTxt": {
          "url": "https://didlogic.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:26.525637047Z"
        },
        "llmsTxt": {
          "url": "https://docs.didlogic.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:17.001857789Z"
        },
        "pages": [
          {
            "url": "https://docs.didlogic.com/docs/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:06:09.15338969Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ac3b4a97e7ff"
          },
          {
            "url": "https://didlogic.com/privacy-and-security/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:04:46.42500505Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c012e842c316"
          },
          {
            "url": "https://didlogic.com/terms-and-conditions/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:04:48.65331055Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "730ca804743f"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.didlogic.com/mcp",
          "checkedAt": "2026-11-07T01:43:42.469443076Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:43:42.469443076Z"
        },
        "updatedAt": "2026-11-07T18:20:20.921736Z"
      }
    },
    "answer": "didlogic Voice API scores 49.8 (D) on agent readiness against jambonz's 45.4 (E), and leads in 4 of 7 scored categories. jambonz leads on reliability and maintenance \u0026 community.",
    "b": {
      "slug": "jambonz",
      "name": "jambonz",
      "vendor": "FirstFive8, Inc.",
      "vendorUrl": "https://jambonz.org",
      "kind": "http-api",
      "category": "voice-calling",
      "summary": "jambonz is a programmable voice platform from FirstFive8 for calls over a customer's own SIP carriers. Applications control calls through a REST API, webhooks or a WebSocket API, on the hosted jambonz.cloud or a self-hosted cluster under a commercial licence.",
      "url": "https://www.anchorterminal.com/tools/jambonz",
      "markdownUrl": "https://www.anchorterminal.com/tools/jambonz.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/jambonz.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/jambonz.json",
      "dns": "jambonz.grade.anchorterminal.com",
      "repo": "https://github.com/jambonz/jambonz-feature-server",
      "license": "Proprietary. jambonz.cloud is under the jambonz Terms of Use and self-hosted jambonz Commercial needs a paid licence key. The API server, feature server and SDK repositories on GitHub are MIT",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@jambonz/sdk"
        },
        {
          "registry": "pypi",
          "name": "jambonz-python-sdk"
        },
        {
          "registry": "npm",
          "name": "@jambonz/mcp-schema-server"
        }
      ],
      "auth": "api-key",
      "authNotes": "A bearer token sent as `Authorization: Bearer \u003ctoken\u003e`, created in the jambonz.cloud portal or with `POST /ApiKeys` by an existing token. A token belongs to one account or one service provider and reaches everything that owner can. No scopes or read-only keys were found. Access is self-serve after a browser sign-up with email, Google or GitHub. Webhooks to the application are signed with a `Jambonz-Signature` header on the hosted platform, or protected with HTTP basic authentication.",
      "pricing": "paid",
      "pricingNotes": "jambonz.cloud costs $8 a concurrent session a month for 5 to 249 sessions, $6 for 250 to 499 and $5 for 500 or more, with no per-minute charge. A three-week trial comes first, and the terms describe choosing a subscription at its end. Self-hosted licences cost $7 a session a month or $2,000 a month for unlimited sessions on one cluster, after a 30-day trial of 10 sessions. Carrier minutes, phone numbers, speech and LLM usage are bought from other vendors. Air-gapped, OEM and Enterprise support prices are by quote (https://jambonz.org/pricing, checked 2026-10-08).",
      "priceSummary": "$8 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, the three OpenAPI files or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 103,
        "npmWeekly": 1368,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.jambonz.org",
      "llmsTxt": "https://docs.jambonz.org/llms.txt",
      "openapi": "https://docs.jambonz.org/openapi/rest-call-control.json",
      "capabilities": [
        "voice.calls",
        "voice.sip",
        "voice.streaming",
        "voice.recording",
        "voice.agent"
      ],
      "tags": [
        "hosted",
        "self-hosted",
        "sip",
        "webrtc",
        "open-source",
        "openapi",
        "llms-txt",
        "typescript",
        "python",
        "webhooks",
        "websocket",
        "free-trial"
      ],
      "lastRelease": "2026-10-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 45.4,
        "grade": "E",
        "agentReady": false,
        "rank": 1180,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 13,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 54,
          "maintenance": 78,
          "payments": 40,
          "reliability": 38,
          "schema": 53,
          "security": 40,
          "transparency": 52
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": -3,
        "negativeNotes": [
          "24 September 2026, fixed and documented. The 11.1.5 release notes list API server flaws found in a security review, among them privilege escalation in user management, accounts able to write operator-only fields and limits, and a call-logs route that could read arbitrary CloudWatch log groups. The 11.0.0 notes of 8 July 2026 also mention cross-account authorisation hardening. On 11 October 2026 commit b16a6f9 in jambonz-api-server changed IP rate limiting to stop trusting a client-controlled header, released in v0.9.15 on 23 October. No advisory or CVE was published for any of them. One term of 3 for released fixes with no advisory (https://docs.jambonz.org/changelog/2026/9/24)"
        ],
        "verdict": "An llms.txt and Markdown pages cover the REST and WebSocket APIs, session prices are public and the SDKs shipped five tags in October 2026. No status page, security.txt or advisory was found, API keys carry no scopes, and server security fixes ship without advisories.",
        "bestFor": "Teams that already have a SIP carrier and speech and LLM vendors and want call control with flat session pricing, or that must run the voice layer in their own network.",
        "strengths": [
          "The API reference marks enums and required fields, and the verb pages explain each call-control action at length",
          "The docs publish an llms.txt, every page as Markdown and a docs MCP server at `https://docs.jambonz.org/_mcp/server`",
          "Prices are per concurrent session a month ($8, $6 or $5 on the cloud), with no per-minute charge and recording and streaming included",
          "`@jambonz/sdk` was tagged three times from 24 to 29 October 2026, and the Python SDK and both servers once each",
          "The API server, feature server and both SDKs are public under MIT, and the same platform can run in the customer's own network"
        ],
        "weaknesses": [
          "No status page, uptime SLA, security.txt, `SECURITY.md` or published advisory was found for jambonz.cloud or the repositories",
          "Security fixes in the API server, such as the 11 October rate-limit header fix, shipped with no advisory",
          "API keys are bearer tokens for a whole account or service provider, with no scopes, no read-only key and no delete operation in the published reference",
          "The rate limit page gives 600 requests per 5 minutes per IP address. The 4 October release notes give 4,000 call creations a minute per account",
          "No idempotency key was found on `POST /Accounts/{AccountSid}/Calls`, so a retried request can place a second call",
          "jambonz sells no phone numbers or minutes. Every call needs a SIP trunk from another carrier and the customer's own speech vendor keys"
        ],
        "agentNotes": [
          "Send `Authorization: Bearer \u003ctoken\u003e`. The REST introduction page gives `https://jambonz.cloud/api` as the base URL and the Node.js SDK adds `/v1` to the base URL it is given, so confirm the base URL with the operator",
          "Create a call with `from`, `to` and either `application_sid` or `call_hook`. Do not retry a timed-out create without checking `GET /Accounts/{AccountSid}/Calls` first",
          "Read `ratelimit-remaining` and `ratelimit-reset` on every response and stop when a `429` arrives",
          "Append `#rc=3\u0026rp=5xx,ct` to an application URL to turn on webhook retries. HTTP webhooks are not retried by default",
          "Check the account has a carrier and speech credentials before dialling. jambonz does not supply numbers, minutes or speech services"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 45.4
          }
        ],
        "editorialScores": {
          "ergonomics": 54,
          "maintenance": 78,
          "payments": 40,
          "reliability": 38,
          "schema": 53,
          "security": 40,
          "transparency": 43
        },
        "provenanceScore": 60,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install @jambonz/sdk",
        "http": "POST https://api.jambonz.cloud/v1/Accounts/{AccountSid}/Calls\nAuthorization: Bearer \u003ctoken\u003e\nContent-Type: application/json"
      },
      "letme": {
        "capability": "https://letme.dev/voice.calls",
        "tool": "https://letme.dev/jambonz"
      },
      "area": "voice",
      "unitPrices": [
        {
          "item": "Cloud, concurrent session (5 to 249 sessions)",
          "unit": "month",
          "usd": 8,
          "note": "monthly subscription, no per-minute charge"
        },
        {
          "item": "Cloud, concurrent session (250 to 499 sessions)",
          "unit": "month",
          "usd": 6,
          "note": "monthly subscription"
        },
        {
          "item": "Cloud, concurrent session (500 or more sessions)",
          "unit": "month",
          "usd": 5,
          "note": "monthly subscription"
        },
        {
          "item": "Self-hosted licence, concurrent session",
          "unit": "month",
          "usd": 7,
          "note": "one cluster, keyed to its domain"
        },
        {
          "item": "Self-hosted licence, unlimited sessions",
          "unit": "month",
          "usd": 2000,
          "note": "one cluster, keyed to its domain"
        },
        {
          "item": "Installation support package",
          "unit": "tx",
          "usd": 1000,
          "note": "one-time fee for one month of installation support"
        }
      ],
      "provenance": {
        "legalEntity": "FirstFive8, Inc.",
        "domain": "jambonz.org",
        "domainRegistered": "2019-08-13",
        "endpointOnVendorDomain": false,
        "terms": "https://jambonz.org/terms",
        "privacy": "https://jambonz.org/privacy",
        "statusPage": "",
        "changelog": "https://docs.jambonz.org/changelog",
        "securityTxt": "none",
        "checked": "2026-11-04",
        "notes": [
          "The terms link is the jambonz Terms of Use, labelled Terms of Service (Cloud) in the site footer, last updated 13 October 2026 (4 May 2021 at the 8 October check), between the user and FirstFive8, Inc of Charlestown, Massachusetts, under Massachusetts law. Self-hosted and OEM customers have separate terms at https://jambonz.org/legal-terms-selfhosted and https://jambonz.org/legal-terms-oem.",
          "The privacy policy was last updated 4 May 2021. It says it is intended for residents of the United States. No data processing addendum or sub-processor list was found.",
          "The hosted API answers on jambonz.cloud (`https://jambonz.cloud/api` in the REST introduction), a second domain of the vendor's. The schema MCP server is on jambonz.app.",
          "No status page is linked from jambonz.org, the docs or the jambonz.cloud landing page.",
          "https://jambonz.org/.well-known/security.txt returned 404. No `SECURITY.md` was found in jambonz-api-server, jambonz-feature-server, node-sdk or python-sdk.",
          "docs.jambonz.org/llms.txt opens with a block headed Instructions for AI Agents (append `.md` for Markdown, connect to the docs MCP server). We recorded it and did not act on it.",
          "The Terms of Use bar using manual or automated software to crawl, spider, index or store information from any page of the Service, which they define as the jambonz website and platform. robots.txt on jambonz.org allows every path. From 4 November 2026 we read nothing on jambonz hosts beyond robots.txt and the terms.",
          "The registration date 2019-08-13 for jambonz.org rests on an earlier registry lookup, not repeated on 4 November 2026."
        ],
        "score": 60
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/jambonz.json",
      "live": {
        "slug": "jambonz",
        "versions": [
          {
            "registry": "npm",
            "name": "@jambonz/mcp-schema-server",
            "version": "0.5.5",
            "seenAt": "2026-11-06T23:35:34.342343167Z"
          },
          {
            "registry": "npm",
            "name": "@jambonz/sdk",
            "version": "0.12.1",
            "seenAt": "2026-11-06T23:35:33.723490556Z"
          },
          {
            "registry": "pypi",
            "name": "jambonz-python-sdk",
            "version": "0.4.0",
            "released": "2026-10-24",
            "seenAt": "2026-11-06T23:35:34.050932112Z"
          }
        ],
        "githubStars": 104,
        "npmWeekly": 716,
        "pypiWeekly": 710,
        "securityTxt": {
          "url": "https://jambonz.org/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:40.645058931Z"
        },
        "llmsTxt": {
          "url": "https://docs.jambonz.org/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:47.971869722Z"
        },
        "domain": {
          "domain": "jambonz.org",
          "registered": "2019-08-13",
          "source": "https://rdap.publicinterestregistry.org/rdap/domain/jambonz.org",
          "checkedAt": "2026-11-01T14:10:14.180224601Z"
        },
        "pages": [
          {
            "url": "https://docs.jambonz.org/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:06:43.152583842Z",
            "changedAt": "2026-11-07T14:06:43.152583842Z",
            "fingerprint": "ae013134d250"
          },
          {
            "url": "https://jambonz.org/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-11-07T14:11:43.248213806Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "33d7f7d4a48c"
          },
          {
            "url": "https://jambonz.org/privacy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-07T14:11:45.382787432Z",
            "changedAt": "2026-10-14T20:43:30.161792657Z",
            "fingerprint": "a5d3035f83ee"
          },
          {
            "url": "https://jambonz.org/terms",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-07T14:11:47.413591672Z",
            "changedAt": "2026-10-14T20:43:32.179727603Z",
            "fingerprint": "da8e3f3830a3"
          }
        ],
        "github": {
          "repo": "jambonz/jambonz-feature-server",
          "checkedAt": "2026-11-02T08:57:00.273625296Z",
          "stars": 104,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-30T16:14:17Z",
          "openIssues": 184,
          "openPRs": 62,
          "issuesOpened90d": 2,
          "issuesClosed90d": 6,
          "prsMerged90d": 12,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 47,
            "failure": 3,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-23T17:04:21Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 7,
            "medianDays": 3.1
          }
        },
        "updatedAt": "2026-11-07T16:01:40.645058931Z"
      }
    },
    "edges": [
      {
        "by": 40,
        "category": "maintenance",
        "leads": "jambonz",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Release notes dated by month, the newest September 2026 (click-to-call API and WebSocket calls), about 37 to 67 days before this check (20). Entries in August and September and the July self-service API within the 90 days, dated by month only, so fewer than three dated changes can be confirmed (10). Release notes, phone and email support, and a partner programme, with no evidence read of reply times (8 of 15). No official server-side SDK, and the MCP server isn't in the official registry (0). No package to assess (0). 20+10+8+0+0 = 38.",
          "b": "Releases read from depth-200 clones on 4 November. `@jambonz/sdk` was tagged v0.11.0 on 24 October, v0.12.0 on 27 October and v0.12.1 on 29 October, `jambonz-python-sdk` v0.4.0 on 24 October, and jambonz-api-server and jambonz-feature-server v0.9.15 on 23 October (30). From 6 August that is at least five tags across the listed packages and servers, with the 11.1.5 and 11.1.6 release notes of 24 September and 4 October per the 8 October check (20). Of the 30 newest open issues and pull requests on jambonz-feature-server, 10 had a comment per the 8 October check. GitHub's pages were not re-read (10 of 25). The Node.js SDK is current and the Python SDK is still marked Alpha (12 of 15). The API server runs lint and tests in CI on every push and pull request. We did not see the latest run's result (6 of 10). 30 + 20 + 10 + 12 + 6 = 78."
        },
        "scores": {
          "a": 38,
          "b": 78
        }
      },
      {
        "by": 34,
        "category": "schema",
        "leads": "didlogic",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Public OpenAPI 3.0.3 file with 53 operations (25). llms.txt and Markdown pages (10). Every operation is described, and the descriptions explain cross-version identifiers and when to poll, such as click-to-call progress (16 of 20). Typed request bodies with required fields and enums in the spec (12 of 15). Examples, a standard error envelope (`{\"errors\":{\"base\":[...]}}`) and 401, 403, 404 and 422 responses on most operations (12 of 15). Paths versioned v1 and v2, and release notes dated by month (12 of 15). 25+10+16+12+12+12 = 87.",
          "b": "Per the 8 October check, not re-read on 4 November under the terms pause. OpenAPI 3.1 files and an AsyncAPI 2.6.0 file on docs.jambonz.org were read on 8 October, but no page read then or since was recorded as linking them as visible downloads, and the docs host is now paused, so they aren't counted as a published contract (0). llms.txt, per-section indexes and every page as Markdown (10). The verb pages explain use at length. Operation descriptions in the API reference are mostly one line (12 of 20). Enums for call status, direction and mid-call actions and required fields are marked in the reference. `to`, `call_hook`, `tag` and `amd` are objects, a partial held (11 of 15). The SDK and verb pages carry code examples. Errors are a single `msg` string, a partial held (8 of 15). The Node.js SDK adds `/v1` to the base URL it is given, and the changelog is dated with component version tables (12 of 15). 0 + 10 + 12 + 11 + 8 + 12 = 53."
        },
        "scores": {
          "a": 87,
          "b": 53
        }
      },
      {
        "by": 12,
        "category": "reliability",
        "leads": "jambonz",
        "name": "Reliability",
        "reasons": {
          "a": "Graded on the hosted API and MCP server with the hosted lines. The footer's network status page carries no components or incidents, and no other status page was found (0). No readable incident history (5). Rate limits are given only for recording lookups (one a second, one lookup a minute) (5 of 15). Those endpoints document 429 with Retry-After and X-RateLimit headers, with no backoff guidance or idempotency elsewhere, including number purchases and click-to-call (6 of 15). The site claims 99.999 per cent voice uptime, but no SLA was found in the Terms (0). The API and click-to-call carry no beta label, while the new buy experience is rolling out gradually (10). 0+5+5+6+0+10 = 26.",
          "b": "Graded as a hosted service, the API on jambonz.cloud, which the docs name as the simplest way to start. jambonz's Terms of Use (updated 13 October 2026) bar automated software that crawls or indexes any page of the website, so jambonz pages are per the 8 October check, not re-read on 4 November under the terms pause. No status page is linked from jambonz.org, the docs or the jambonz.cloud landing page (0), so there is no readable incident history (5). Rate limits are published with numbers, 600 requests per 5 minute fixed window per client IP address on the docs page, while the 11.1.6 notes of 4 October 2026 give 4,000 call creations and 600 call status reads a minute per account, a disagreement held as a partial (13 of 15). The API server's code sets `standardHeaders` on its limiter, so responses carry `RateLimit-*` headers including the reset, and a client over a limit receives 429. No backoff guidance or idempotency key was found for the REST API (10 of 15). No uptime SLA was found for jambonz.cloud. Support SLAs are sold only with Enterprise support for self-hosted systems (0). The REST and WebSocket APIs carry no beta label (10). 0 + 5 + 13 + 10 + 0 + 10 = 38."
        },
        "scores": {
          "a": 26,
          "b": 38
        }
      },
      {
        "by": 6,
        "category": "security",
        "leads": "didlogic",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Revocable bearer keys created in the portal, each with full account access by the vendor's own warning. MCP OAuth mints a separate key per sign-in (18 of 30). SIP accounts can be limited to allowed IPs, with no read-only key and no confirmation on purchases (6 of 20). Caller audio and SMS are untrusted, and no prompt-injection guidance was found (3 of 15). Call detail records, transaction history and risk-check logs through the API, with no audit log of API calls (7 of 15). ISO/IEC 27001:2022 and ISO 9001 certificates from TÜV AUSTRIA Hellas with registration numbers. No security.txt or bug bounty found (12 of 20). 18+6+3+7+12 = 46.",
          "b": "Docs readings are per the 8 October check, not re-read on 4 November under the terms pause. Bearer API tokens belong to an account or a service provider and carry `expires_at` and `last_used` fields. They can be created by API. No scopes and no delete operation appear in the published reference (18 of 30). No read-only key and no confirmation step before dialling were found. Call capacity limits can be set per account (4 of 20). Calls carry untrusted caller speech into the `agent` and `llm` verbs. The docs cover webhook signing with `Jambonz-Signature` and basic authentication, and no prompt-injection guidance was found in the pages read (5 of 15). Recent calls expose SIP traces, pcap files and Jaeger traces, and alerts can be pushed to a webhook, Slack, PagerDuty or email since 11.1.6. No log of API or portal actions was found (9 of 15). No security.txt, disclosure policy, bug bounty or certification was found. No `SECURITY.md` is in the API server, feature server, Node.js or Python SDK repositories (4 November clones), and osv.dev lists no advisory for jambonz. The 11.1.5 notes describe fixes from a security review, held as a partial (4 of 20). 18 + 4 + 5 + 9 + 4 = 40."
        },
        "scores": {
          "a": 46,
          "b": 40
        }
      },
      {
        "by": 6,
        "category": "transparency",
        "leads": "didlogic",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service with long, clear terms naming DID Logic PTE. LTD. in Singapore (15 of 30). The privacy policy commits to data minimisation and says call content isn't monitored except for requested recording, but gives no retention periods (12 of 30). No deprecation policy, though the docs explain backward-compatible identifier changes (5 of 20). Twelve points of presence are claimed, with no sub-processor list or data locations found (5 of 20). 15+12+5+5 = 37.",
          "b": "Per the 8 October check for the privacy policy and docs, not re-read on 4 November under the terms pause. The API server, feature server and SDKs are public under MIT. The product on jambonz.cloud and in the self-hosted packages is jambonz Commercial, which needs a licence key and whose terms forbid modifying its proprietary portions, while the docs still call jambonz open source (20 of 30). The privacy policy is dated 4 May 2021. It gives 30 days for usage data and an opt-out for call detail records. It says audio is never stored on jambonz servers, and the 11.1.6 notes of 4 October 2026 say support keeps SIP and RTP from calls for a few days, with an opt-out added in that release. No DPA was found (10 of 30). No deprecation policy was found. Removals are announced in the release that makes them, such as SMPP and five speech vendors in July and August 2026 (6 of 20). No sub-processor list was found. The policy says servers are in the United States and names a third-party billing partner. Telemetry from self-hosted instances is listed field by field (7 of 20). 20 + 10 + 6 + 7 = 43."
        },
        "scores": {
          "a": 58,
          "b": 52
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "DID Logic PTE. LTD.",
        "b": "FirstFive8, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.didlogic.com/mcp",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, websocket, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "$0.0175 per minute of call",
        "b": "not published",
        "name": "Price for phone calls"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the didlogic Terms of Service",
        "b": "Proprietary. jambonz.cloud is under the jambonz Terms of Use and self-hosted jambonz Commercial needs a paid licence key. The API server, feature server and SDK repositories on GitHub are MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-30",
        "b": "2026-10-29",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2021-05-04",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2021-05-04",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "103 stars, 1.4k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "didlogic Voice API scores 49.8 (D) on agent readiness against jambonz's 45.4 (E), and leads in 4 of 7 scored categories. jambonz leads on reliability and maintenance \u0026 community.",
        "question": "Which is better for AI agents, didlogic Voice API or jambonz?"
      },
      {
        "answer": "didlogic Voice API takes an API key or an OAuth sign-in. jambonz needs an API key.",
        "question": "Do didlogic Voice API and jambonz need an API key?"
      },
      {
        "answer": "didlogic Voice API has a hosted endpoint at https://mcp.didlogic.com/mcp. No hosted endpoint is listed for jambonz.",
        "question": "Can an agent call didlogic Voice API and jambonz without installing anything?"
      },
      {
        "answer": "No open-source release is listed for didlogic Voice API. jambonz is open source (Proprietary. jambonz.cloud is under the jambonz Terms of Use and self-hosted jambonz Commercial needs a paid licence key. The API server, feature server and SDK repositories on GitHub are MIT).",
        "question": "Are didlogic Voice API and jambonz open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 87 against 53",
          "Security \u0026 auth, 46 against 40",
          "Transparency \u0026 trust, 58 against 52"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Free to start without a card",
          "No incidents deducted, where jambonz loses 3 points for them"
        ],
        "goodFor": "Teams that need numbers and SIP termination in many countries and a WebSocket bridge to a voice agent.",
        "slug": "didlogic",
        "watchFor": "No status page or incident history found"
      },
      {
        "aheadOn": [
          "Reliability, 38 against 26",
          "Maintenance \u0026 community, 78 against 38"
        ],
        "also": [
          "Open source"
        ],
        "goodFor": "Teams that already have a SIP carrier and speech and LLM vendors and want call control with flat session pricing, or that must run the voice layer in their own network.",
        "slug": "jambonz",
        "watchFor": "No status page, uptime SLA, security.txt, `SECURITY.md` or published advisory was found for jambonz.cloud or the repositories"
      }
    ],
    "history": {
      "didlogic": null,
      "jambonz": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-04",
          "delta": -4,
          "from": 49.4,
          "fromGrade": "D",
          "to": 45.4,
          "toGrade": "E"
        },
        {
          "causes": [
            "correction"
          ],
          "date": "2026-10-28",
          "delta": -0.1,
          "from": 49.5,
          "fromGrade": "D",
          "to": 49.4,
          "toGrade": "D"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.3,
          "from": 49.2,
          "fromGrade": "D",
          "to": 49.5,
          "toGrade": "D"
        }
      ]
    },
    "job": {
      "capability": "voice.calls",
      "name": "Phone calls"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/46elks-vs-didlogic.json",
        "title": "46elks Voice API vs didlogic Voice API",
        "url": "https://www.anchorterminal.com/compare/46elks-vs-didlogic"
      },
      {
        "json": "https://www.anchorterminal.com/compare/46elks-vs-jambonz.json",
        "title": "46elks Voice API vs jambonz",
        "url": "https://www.anchorterminal.com/compare/46elks-vs-jambonz"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-didlogic.json",
        "title": "Bandwidth Voice API + MCP vs didlogic Voice API",
        "url": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-didlogic"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-jambonz.json",
        "title": "Bandwidth Voice API + MCP vs jambonz",
        "url": "https://www.anchorterminal.com/compare/bandwidth-voice-vs-jambonz"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exotel-voice-vs-jambonz.json",
        "title": "Exotel Voice API + MCP vs jambonz",
        "url": "https://www.anchorterminal.com/compare/exotel-voice-vs-jambonz"
      },
      {
        "json": "https://www.anchorterminal.com/compare/infobip-calls-vs-jambonz.json",
        "title": "Infobip Calls API + MCP vs jambonz",
        "url": "https://www.anchorterminal.com/compare/infobip-calls-vs-jambonz"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jambonz-vs-livekit-telephony.json",
        "title": "jambonz vs LiveKit Telephony",
        "url": "https://www.anchorterminal.com/compare/jambonz-vs-livekit-telephony"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jambonz-vs-plivo-voice.json",
        "title": "jambonz vs Plivo Voice API",
        "url": "https://www.anchorterminal.com/compare/jambonz-vs-plivo-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jambonz-vs-signalwire-voice.json",
        "title": "jambonz vs SignalWire Voice API",
        "url": "https://www.anchorterminal.com/compare/jambonz-vs-signalwire-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jambonz-vs-sinch-voice.json",
        "title": "jambonz vs Sinch Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/jambonz-vs-sinch-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jambonz-vs-telnyx-voice.json",
        "title": "jambonz vs Telnyx Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/jambonz-vs-telnyx-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jambonz-vs-twilio-voice.json",
        "title": "jambonz vs Twilio Programmable Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/jambonz-vs-twilio-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jambonz-vs-vonage-voice.json",
        "title": "jambonz vs Vonage Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/jambonz-vs-vonage-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jambonz-vs-voximplant.json",
        "title": "jambonz vs Voximplant",
        "url": "https://www.anchorterminal.com/compare/jambonz-vs-voximplant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-didww-voice-and-number-management.json",
        "title": "didlogic Voice API vs DIDWW Voice and Number Management API",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-didww-voice-and-number-management"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-exotel-voice.json",
        "title": "didlogic Voice API vs Exotel Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-exotel-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-infobip-calls.json",
        "title": "didlogic Voice API vs Infobip Calls API + MCP",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-infobip-calls"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-livekit-telephony.json",
        "title": "didlogic Voice API vs LiveKit Telephony",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-livekit-telephony"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-plivo-voice.json",
        "title": "didlogic Voice API vs Plivo Voice API",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-plivo-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-signalwire-voice.json",
        "title": "didlogic Voice API vs SignalWire Voice API",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-signalwire-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-sinch-voice.json",
        "title": "didlogic Voice API vs Sinch Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-sinch-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-telnyx-voice.json",
        "title": "didlogic Voice API vs Telnyx Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-telnyx-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-twilio-voice.json",
        "title": "didlogic Voice API vs Twilio Programmable Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-twilio-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-vonage-voice.json",
        "title": "didlogic Voice API vs Vonage Voice API + MCP",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-vonage-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didlogic-vs-voximplant.json",
        "title": "didlogic Voice API vs Voximplant",
        "url": "https://www.anchorterminal.com/compare/didlogic-vs-voximplant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-jambonz.json",
        "title": "DIDWW Voice and Number Management API vs jambonz",
        "url": "https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-jambonz"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 12,
        "didlogic": 26,
        "edge": "jambonz",
        "jambonz": 38,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 34,
        "didlogic": 87,
        "edge": "didlogic",
        "jambonz": 53,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 3,
        "didlogic": 57,
        "edge": "didlogic",
        "jambonz": 54,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 6,
        "didlogic": 46,
        "edge": "didlogic",
        "jambonz": 40,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 2,
        "didlogic": 38,
        "edge": "jambonz",
        "jambonz": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 40,
        "didlogic": 38,
        "edge": "jambonz",
        "jambonz": 78,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 6,
        "didlogic": 58,
        "edge": "didlogic",
        "jambonz": 52,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "didlogic Voice API scores 49.8 (D) on agent readiness against jambonz's 45.4 (E), and leads in 4 of 7 scored categories. jambonz leads on reliability and maintenance \u0026 community. Both do phone calls.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "didlogic": "didlogic pairs a public OpenAPI file with 53 described operations, published per-minute and number prices and free test credit with WebSocket calls for voice AI and a remote MCP server. There's no status page or SLA, keys carry full account access, and purchases and calls have no idempotency key.",
      "jambonz": "An llms.txt and Markdown pages cover the REST and WebSocket APIs, session prices are public and the SDKs shipped five tags in October 2026. No status page, security.txt or advisory was found, API keys carry no scopes, and server security fixes ship without advisories."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/didlogic-vs-jambonz",
    "json": "https://www.anchorterminal.com/compare/didlogic-vs-jambonz.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/didlogic-vs-jambonz.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/didlogic-vs-jambonz.min.md"
  },
  "markdown": "didlogic Voice API scores 49.8 (D) on agent readiness against jambonz's 45.4 (E), and leads in 4 of 7 scored categories. jambonz leads on reliability and maintenance \u0026 community. Both do phone calls.\n\n- didlogic Voice API: grade D, 49.8/100, rank #1074 of 1486. Markdown https://www.anchorterminal.com/tools/didlogic.md · JSON https://www.anchorterminal.com/api/v1/tools/didlogic.json\n- jambonz: grade E, 45.4/100, rank #1180 of 1486. Markdown https://www.anchorterminal.com/tools/jambonz.md · JSON https://www.anchorterminal.com/api/v1/tools/jambonz.json\n- Best phone calling and voice transport APIs for AI agents: https://www.anchorterminal.com/best/voice-calling/index.md\n- All 105 calling comparisons: https://www.anchorterminal.com/compare/voice-calling/index.md\n\n## Which one, for what\n\n### didlogic Voice API (D)\n\nGood for: Teams that need numbers and SIP termination in many countries and a WebSocket bridge to a voice agent.\n\nAhead on:\n- Schema \u0026 documentation, 87 against 53\n- Security \u0026 auth, 46 against 40\n- Transparency \u0026 trust, 58 against 52\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Free to start without a card\n- No incidents deducted, where jambonz loses 3 points for them\n\nWatch for: No status page or incident history found\n\n### jambonz (E)\n\nGood for: Teams that already have a SIP carrier and speech and LLM vendors and want call control with flat session pricing, or that must run the voice layer in their own network.\n\nAhead on:\n- Reliability, 38 against 26\n- Maintenance \u0026 community, 78 against 38\n\nAlso in its favour:\n- Open source\n\nWatch for: No status page, uptime SLA, security.txt, `SECURITY.md` or published advisory was found for jambonz.cloud or the repositories\n\n\n## Why the edge\n\n### Maintenance \u0026 community: jambonz +40\n\n- didlogic Voice API (38): Release notes dated by month, the newest September 2026 (click-to-call API and WebSocket calls), about 37 to 67 days before this check (20). Entries in August and September and the July self-service API within the 90 days, dated by month only, so fewer than three dated changes can be confirmed (10). Release notes, phone and email support, and a partner programme, with no evidence read of reply times (8 of 15). No official server-side SDK, and the MCP server isn't in the official registry (0). No package to assess (0). 20+10+8+0+0 = 38.\n- jambonz (78): Releases read from depth-200 clones on 4 November. `@jambonz/sdk` was tagged v0.11.0 on 24 October, v0.12.0 on 27 October and v0.12.1 on 29 October, `jambonz-python-sdk` v0.4.0 on 24 October, and jambonz-api-server and jambonz-feature-server v0.9.15 on 23 October (30). From 6 August that is at least five tags across the listed packages and servers, with the 11.1.5 and 11.1.6 release notes of 24 September and 4 October per the 8 October check (20). Of the 30 newest open issues and pull requests on jambonz-feature-server, 10 had a comment per the 8 October check. GitHub's pages were not re-read (10 of 25). The Node.js SDK is current and the Python SDK is still marked Alpha (12 of 15). The API server runs lint and tests in CI on every push and pull request. We did not see the latest run's result (6 of 10). 30 + 20 + 10 + 12 + 6 = 78.\n\n### Schema \u0026 documentation: didlogic Voice API +34\n\n- didlogic Voice API (87): Public OpenAPI 3.0.3 file with 53 operations (25). llms.txt and Markdown pages (10). Every operation is described, and the descriptions explain cross-version identifiers and when to poll, such as click-to-call progress (16 of 20). Typed request bodies with required fields and enums in the spec (12 of 15). Examples, a standard error envelope (`{\"errors\":{\"base\":[...]}}`) and 401, 403, 404 and 422 responses on most operations (12 of 15). Paths versioned v1 and v2, and release notes dated by month (12 of 15). 25+10+16+12+12+12 = 87.\n- jambonz (53): Per the 8 October check, not re-read on 4 November under the terms pause. OpenAPI 3.1 files and an AsyncAPI 2.6.0 file on docs.jambonz.org were read on 8 October, but no page read then or since was recorded as linking them as visible downloads, and the docs host is now paused, so they aren't counted as a published contract (0). llms.txt, per-section indexes and every page as Markdown (10). The verb pages explain use at length. Operation descriptions in the API reference are mostly one line (12 of 20). Enums for call status, direction and mid-call actions and required fields are marked in the reference. `to`, `call_hook`, `tag` and `amd` are objects, a partial held (11 of 15). The SDK and verb pages carry code examples. Errors are a single `msg` string, a partial held (8 of 15). The Node.js SDK adds `/v1` to the base URL it is given, and the changelog is dated with component version tables (12 of 15). 0 + 10 + 12 + 11 + 8 + 12 = 53.\n\n### Reliability: jambonz +12\n\n- didlogic Voice API (26): Graded on the hosted API and MCP server with the hosted lines. The footer's network status page carries no components or incidents, and no other status page was found (0). No readable incident history (5). Rate limits are given only for recording lookups (one a second, one lookup a minute) (5 of 15). Those endpoints document 429 with Retry-After and X-RateLimit headers, with no backoff guidance or idempotency elsewhere, including number purchases and click-to-call (6 of 15). The site claims 99.999 per cent voice uptime, but no SLA was found in the Terms (0). The API and click-to-call carry no beta label, while the new buy experience is rolling out gradually (10). 0+5+5+6+0+10 = 26.\n- jambonz (38): Graded as a hosted service, the API on jambonz.cloud, which the docs name as the simplest way to start. jambonz's Terms of Use (updated 13 October 2026) bar automated software that crawls or indexes any page of the website, so jambonz pages are per the 8 October check, not re-read on 4 November under the terms pause. No status page is linked from jambonz.org, the docs or the jambonz.cloud landing page (0), so there is no readable incident history (5). Rate limits are published with numbers, 600 requests per 5 minute fixed window per client IP address on the docs page, while the 11.1.6 notes of 4 October 2026 give 4,000 call creations and 600 call status reads a minute per account, a disagreement held as a partial (13 of 15). The API server's code sets `standardHeaders` on its limiter, so responses carry `RateLimit-*` headers including the reset, and a client over a limit receives 429. No backoff guidance or idempotency key was found for the REST API (10 of 15). No uptime SLA was found for jambonz.cloud. Support SLAs are sold only with Enterprise support for self-hosted systems (0). The REST and WebSocket APIs carry no beta label (10). 0 + 5 + 13 + 10 + 0 + 10 = 38.\n\n### Security \u0026 auth: didlogic Voice API +6\n\n- didlogic Voice API (46): Revocable bearer keys created in the portal, each with full account access by the vendor's own warning. MCP OAuth mints a separate key per sign-in (18 of 30). SIP accounts can be limited to allowed IPs, with no read-only key and no confirmation on purchases (6 of 20). Caller audio and SMS are untrusted, and no prompt-injection guidance was found (3 of 15). Call detail records, transaction history and risk-check logs through the API, with no audit log of API calls (7 of 15). ISO/IEC 27001:2022 and ISO 9001 certificates from TÜV AUSTRIA Hellas with registration numbers. No security.txt or bug bounty found (12 of 20). 18+6+3+7+12 = 46.\n- jambonz (40): Docs readings are per the 8 October check, not re-read on 4 November under the terms pause. Bearer API tokens belong to an account or a service provider and carry `expires_at` and `last_used` fields. They can be created by API. No scopes and no delete operation appear in the published reference (18 of 30). No read-only key and no confirmation step before dialling were found. Call capacity limits can be set per account (4 of 20). Calls carry untrusted caller speech into the `agent` and `llm` verbs. The docs cover webhook signing with `Jambonz-Signature` and basic authentication, and no prompt-injection guidance was found in the pages read (5 of 15). Recent calls expose SIP traces, pcap files and Jaeger traces, and alerts can be pushed to a webhook, Slack, PagerDuty or email since 11.1.6. No log of API or portal actions was found (9 of 15). No security.txt, disclosure policy, bug bounty or certification was found. No `SECURITY.md` is in the API server, feature server, Node.js or Python SDK repositories (4 November clones), and osv.dev lists no advisory for jambonz. The 11.1.5 notes describe fixes from a security review, held as a partial (4 of 20). 18 + 4 + 5 + 9 + 4 = 40.\n\n### Transparency \u0026 trust: didlogic Voice API +6\n\n- didlogic Voice API (58): Closed service with long, clear terms naming DID Logic PTE. LTD. in Singapore (15 of 30). The privacy policy commits to data minimisation and says call content isn't monitored except for requested recording, but gives no retention periods (12 of 30). No deprecation policy, though the docs explain backward-compatible identifier changes (5 of 20). Twelve points of presence are claimed, with no sub-processor list or data locations found (5 of 20). 15+12+5+5 = 37.\n- jambonz (52): Per the 8 October check for the privacy policy and docs, not re-read on 4 November under the terms pause. The API server, feature server and SDKs are public under MIT. The product on jambonz.cloud and in the self-hosted packages is jambonz Commercial, which needs a licence key and whose terms forbid modifying its proprietary portions, while the docs still call jambonz open source (20 of 30). The privacy policy is dated 4 May 2021. It gives 30 days for usage data and an opt-out for call detail records. It says audio is never stored on jambonz servers, and the 11.1.6 notes of 4 October 2026 say support keeps SIP and RTP from calls for a few days, with an opt-out added in that release. No DPA was found (10 of 30). No deprecation policy was found. Removals are announced in the release that makes them, such as SMPP and five speech vendors in July and August 2026 (6 of 20). No sub-processor list was found. The policy says servers are in the United States and names a third-party billing partner. Telemetry from self-hosted instances is listed field by field (7 of 20). 20 + 10 + 6 + 7 = 43.\n\n## Score by category\n\n| Category | Weight | didlogic Voice API | jambonz | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 26 | 38 | jambonz +12 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 87 | 53 | didlogic Voice API +34 |\n| Agent ergonomics | 13% (16.2 this run) | 57 | 54 | didlogic Voice API +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 46 | 40 | didlogic Voice API +6 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 38 | 40 | jambonz +2 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 38 | 78 | jambonz +40 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 58 | 52 | didlogic Voice API +6 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **49.8 · D** | **45.4 · E** | |\n\n## Facts side by side\n\n| Fact | didlogic Voice API | jambonz |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | DID Logic PTE. LTD. | FirstFive8, Inc. |\n| Hosted endpoint | `https://mcp.didlogic.com/mcp` | no (local only) |\n| Transports | HTTP, websocket, Streamable HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Pay per use | Paid |\n| Price for phone calls | $0.0175 per minute of call | not published |\n| x402 | no | no |\n| Licence | Proprietary service under the didlogic Terms of Service | Proprietary. jambonz.cloud is under the jambonz Terms of Use and self-hosted jambonz Commercial needs a paid licence key. The API server, feature server and SDK repositories on GitHub are MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-30 | 2026-10-29 |\n| Terms last updated | no date given | 2021-05-04 |\n| Privacy policy last updated | no date given | 2021-05-04 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | none | 103 stars, 1.4k npm/wk |\n\n## How the scores have moved\n\n### didlogic Voice API\n\nNo score change since it was listed.\n\n### jambonz\n\n- -4.0 on 4 November 2026 (D to E): correction\n- -0.1 on 28 October 2026: correction\n- +0.3 on 27 October 2026: checklist\n\n## Verdicts\n\n**didlogic Voice API.** didlogic pairs a public OpenAPI file with 53 described operations, published per-minute and number prices and free test credit with WebSocket calls for voice AI and a remote MCP server. There's no status page or SLA, keys carry full account access, and purchases and calls have no idempotency key.\n\n**jambonz.** An llms.txt and Markdown pages cover the REST and WebSocket APIs, session prices are public and the SDKs shipped five tags in October 2026. No status page, security.txt or advisory was found, API keys carry no scopes, and server security fixes ship without advisories.\n\n## Before you call either\n\n### didlogic Voice API\n\n1. Create the key under API \u0026 Webhooks in the portal; ignore the older get-started line about asking an account manager\n2. Confirm with the user before `POST /api/v2/numbers/purchase` or click-to-call; both spend the prepaid balance with no idempotency key\n3. For WebSocket calls, set `a_type: stream` and implement didlogic's message protocol on your endpoint\n4. Back off on 429 from recording endpoints using Retry-After\n5. Expect the MCP server only on the Plus plan\n\n### jambonz\n\n1. Send `Authorization: Bearer \u003ctoken\u003e`. The REST introduction page gives `https://jambonz.cloud/api` as the base URL and the Node.js SDK adds `/v1` to the base URL it is given, so confirm the base URL with the operator\n2. Create a call with `from`, `to` and either `application_sid` or `call_hook`. Do not retry a timed-out create without checking `GET /Accounts/{AccountSid}/Calls` first\n3. Read `ratelimit-remaining` and `ratelimit-reset` on every response and stop when a `429` arrives\n4. Append `#rc=3\u0026rp=5xx,ct` to an application URL to turn on webhook retries. HTTP webhooks are not retried by default\n5. Check the account has a carrier and speech credentials before dialling. jambonz does not supply numbers, minutes or speech services\n\n## Questions\n\n### Which is better for AI agents, didlogic Voice API or jambonz?\n\ndidlogic Voice API scores 49.8 (D) on agent readiness against jambonz's 45.4 (E), and leads in 4 of 7 scored categories. jambonz leads on reliability and maintenance \u0026 community.\n\n### Do didlogic Voice API and jambonz need an API key?\n\ndidlogic Voice API takes an API key or an OAuth sign-in. jambonz needs an API key.\n\n### Can an agent call didlogic Voice API and jambonz without installing anything?\n\ndidlogic Voice API has a hosted endpoint at https://mcp.didlogic.com/mcp. No hosted endpoint is listed for jambonz.\n\n### Are didlogic Voice API and jambonz open source?\n\nNo open-source release is listed for didlogic Voice API. jambonz is open source (Proprietary. jambonz.cloud is under the jambonz Terms of Use and self-hosted jambonz Commercial needs a paid licence key. The API server, feature server and SDK repositories on GitHub are MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/didlogic-vs-jambonz.json, and with the fewest tokens: https://www.anchorterminal.com/compare/didlogic-vs-jambonz.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"didlogic\", \"b\": \"jambonz\"}`. From a terminal: `anchor compare didlogic jambonz`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/didlogic.json and https://www.anchorterminal.com/api/v1/tools/jambonz.json\n\n## Other comparisons with didlogic Voice API or jambonz\n\n- [46elks Voice API vs didlogic Voice API](https://www.anchorterminal.com/compare/46elks-vs-didlogic.md)\n- [46elks Voice API vs jambonz](https://www.anchorterminal.com/compare/46elks-vs-jambonz.md)\n- [Bandwidth Voice API + MCP vs didlogic Voice API](https://www.anchorterminal.com/compare/bandwidth-voice-vs-didlogic.md)\n- [Bandwidth Voice API + MCP vs jambonz](https://www.anchorterminal.com/compare/bandwidth-voice-vs-jambonz.md)\n- [Exotel Voice API + MCP vs jambonz](https://www.anchorterminal.com/compare/exotel-voice-vs-jambonz.md)\n- [Infobip Calls API + MCP vs jambonz](https://www.anchorterminal.com/compare/infobip-calls-vs-jambonz.md)\n- [jambonz vs LiveKit Telephony](https://www.anchorterminal.com/compare/jambonz-vs-livekit-telephony.md)\n- [jambonz vs Plivo Voice API](https://www.anchorterminal.com/compare/jambonz-vs-plivo-voice.md)\n- [jambonz vs SignalWire Voice API](https://www.anchorterminal.com/compare/jambonz-vs-signalwire-voice.md)\n- [jambonz vs Sinch Voice API + MCP](https://www.anchorterminal.com/compare/jambonz-vs-sinch-voice.md)\n- [jambonz vs Telnyx Voice API + MCP](https://www.anchorterminal.com/compare/jambonz-vs-telnyx-voice.md)\n- [jambonz vs Twilio Programmable Voice API + MCP](https://www.anchorterminal.com/compare/jambonz-vs-twilio-voice.md)\n- [jambonz vs Vonage Voice API + MCP](https://www.anchorterminal.com/compare/jambonz-vs-vonage-voice.md)\n- [jambonz vs Voximplant](https://www.anchorterminal.com/compare/jambonz-vs-voximplant.md)\n- [didlogic Voice API vs DIDWW Voice and Number Management API](https://www.anchorterminal.com/compare/didlogic-vs-didww-voice-and-number-management.md)\n- [didlogic Voice API vs Exotel Voice API + MCP](https://www.anchorterminal.com/compare/didlogic-vs-exotel-voice.md)\n- [didlogic Voice API vs Infobip Calls API + MCP](https://www.anchorterminal.com/compare/didlogic-vs-infobip-calls.md)\n- [didlogic Voice API vs LiveKit Telephony](https://www.anchorterminal.com/compare/didlogic-vs-livekit-telephony.md)\n- [didlogic Voice API vs Plivo Voice API](https://www.anchorterminal.com/compare/didlogic-vs-plivo-voice.md)\n- [didlogic Voice API vs SignalWire Voice API](https://www.anchorterminal.com/compare/didlogic-vs-signalwire-voice.md)\n- [didlogic Voice API vs Sinch Voice API + MCP](https://www.anchorterminal.com/compare/didlogic-vs-sinch-voice.md)\n- [didlogic Voice API vs Telnyx Voice API + MCP](https://www.anchorterminal.com/compare/didlogic-vs-telnyx-voice.md)\n- [didlogic Voice API vs Twilio Programmable Voice API + MCP](https://www.anchorterminal.com/compare/didlogic-vs-twilio-voice.md)\n- [didlogic Voice API vs Vonage Voice API + MCP](https://www.anchorterminal.com/compare/didlogic-vs-vonage-voice.md)\n- [didlogic Voice API vs Voximplant](https://www.anchorterminal.com/compare/didlogic-vs-voximplant.md)\n- [DIDWW Voice and Number Management API vs jambonz](https://www.anchorterminal.com/compare/didww-voice-and-number-management-vs-jambonz.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "didlogic Voice API vs jambonz",
        "url": ""
      }
    ],
    "description": "didlogic Voice scores 49.8 (D) to jambonz's 45.4 (E) for phone calls. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "didlogic Voice API D 49.8",
      "jambonz E 45.4",
      "scores"
    ],
    "h1": "didlogic Voice API vs jambonz",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/didlogic-vs-jambonz",
    "published": "2026-10-01",
    "section": "tools",
    "title": "didlogic Voice vs jambonz for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/didlogic-vs-jambonz"
  },
  "tokens": {
    "markdown": 4950,
    "slim": 2880
  },
  "version": 1
}
