speakers

Get Speaker Sip Test

The newest SIP test on this speaker, or null if it has never been tested.

Polled by the result panel while the call is open, which is how the owner sees Terminated and the platform's own disconnection reason land rather than being told the test "succeeded" and left to wonder.

THIS GET WRITES, AND DELIBERATELY IS NOT AUDITED: refresh_platform_view caches what the voice platform itself says about this tenant's own call — its status, disconnection reason and duration — onto the test row, best-effort, because there is no webhook for a test call and this poll is one of only two things that ever re-ask. It records no operator decision and changes nothing an operator did, so an ActivityLogService entry for it would be an audit trail of the provider's opinion rather than of anybody's action (round-2 review, accepted and recorded).

get/speakers/{speaker_id}/sip-test

Request

  • Base URL
    https://api.verdun.ai (the document declares no server; this is the origin it was published from)
  • URL
    https://api.verdun.ai/speakers/{speaker_id}/sip-test
  • Auth
    HTTP bearer

Path parameters

speaker_idstring required

Response

Successful Response

call_idstring uuid required

The call record for this test.

speaker_idstring uuid nullable

The speaker that was tested.

speaker_labelstring required

The speaker's display name.

statusstring required

placing | connected | ended | failed.

passedboolean required

True only when the device and the voice platform both reported this call live.

summarystring required

One sentence a person can act on.

device_call_idstring nullable

The device's own CallId, once it answered the dial.

provider_call_idstring nullable

The voice platform's call id.

provider_statusstring nullable

The platform's own call status, verbatim.

provider_disconnection_reasonstring nullable

Why the platform says the call ended.

duration_msinteger nullable

The platform's measured call duration.

provider_unreadableboolean

True when the voice platform could not be read at all. NOT the same as passed: false with a status: it means we do not know what the platform saw, which is a different thing to do about it than a call the platform never received.

signals_agreed_atstring date-time nullable

When the device and the platform first agreed the call was live. A HIGH-WATER MARK: once set it stays, because a call that has since ended still passed.

auth_modestring nullable

Which auth mode the device accepted.

playback_notestring nullable

Set when the device could not confirm it had finished a clip and the owner went ahead anyway.

sip_account_idstring nullable

Which SIP account the call was placed from; null means the device default.

started_atstring date-time nullable

When the call was placed.

ended_atstring date-time nullable

When the call ended, if it has.

end_reasonstring nullable

Why the call ended.

max_secondsinteger required

The test call's duration cap — the watchdog hangs it up at this.

result_versioninteger

Shape version of the stored result this was rendered from. 0 means a row written before the stamp existed.

Example response

{
  "speaker_label": "North horn — gate",
  "status": "connected",
  "device_call_id": "1",
  "device_states": [
    {
      "state": "Calling"
    }
  ],
  "provider_call_id": "call_85b9",
  "provider_status": "ongoing",
  "provider_disconnection_reason": "agent_hangup",
  "duration_ms": 13400,
  "auth_mode": "digest",
  "device_error": {
    "http_status": 400,
    "body": "{\"error\":{\"code\":400,\"message\":\"Invalid SIPAccountId 'Gate horn'\"}}"
  },
  "sip_account_id": "sip_account_1",
  "end_reason": "max_duration",
  "max_seconds": 30,
  "result_version": 1
}

Changes

No recorded changes to this operation across all 2 revisions of this API.