# Test connectivity to your carrier

Source: https://docs.usetone.ai/reference/sip-trunks/test

> The gateway sends a SIP OPTIONS (or a REGISTER, for registering trunks) to `outboundHost` and reports what came back.

`POST /v1/sip-trunks/{id}/test`
The gateway sends a SIP OPTIONS (or a REGISTER, for registering trunks) to `outboundHost` and reports what came back. Stored as `lastProbe` on the trunk. `503 provider_unavailable` if the gateway itself cannot be reached.

Requires the `write` scope.

## Parameters

| Name | In | | Meaning |
|---|---|---|---|
| `id` | path | required | The SIP trunk's id. |

## Response

| Field | Type | | Meaning |
|---|---|---|---|
| `at` | string | required | When the probe ran. RFC 3339, UTC. |
| `error` | string | null | required | Why it failed, when it did — a transport error or a SIP reason phrase. |
| `latencyMs` | integer | null | required | Round-trip to your carrier, in milliseconds. |
| `method` | string | required | What the gateway tried. Open set — handle an unrecognised value rather than throwing. Today: `options`, `register`, `invite`. |
| `ok` | boolean | required | Whether your carrier answered the probe. |
| `sipStatus` | integer | null | required | The SIP status your carrier answered with, when it answered. |

### Example response

```json
{
  "data": {
    "at": "2026-09-10T08:12:44Z",
    "error": null,
    "latencyMs": 41,
    "method": "options",
    "ok": true,
    "sipStatus": 200
  }
}
```
