Bring your own Twilio/Telnyx
Already have phone numbers at Twilio or Telnyx? Connect that account in Settings → Telephony, import the numbers you want, and route them to MCPDial. Your agents answer them and call out from them; the numbers stay yours.
What it costs
Imported numbers have no monthly fee from us — your carrier bills you for the number and for its per-minute usage, as today. MCPDial still charges its normal per-minute rate for the agent on every connected call (the same credits as for a number bought here). SMS your agents send from an imported number go out on your carrier account.
Credentials — least privilege
Twilio
Create an API key (Console → Account → API keys & tokens → Create API key, type Standard, name “MCPDial”) and enter your Account SID, the key SID (SK…) and its secret. We refuse the account Auth Token: a dedicated key can be revoked on its own, at any time, without breaking anything else on your account. Revoking it stops MCPDial from reading or changing your account (routing already set up keeps working until you change it).
MCPDial uses: reading your numbers, and — only for Automatic routing — creating one Elastic SIP Trunk with a credential list and associating numbers with it. With Manual routing MCPDial only ever reads. For the tightest scope, put the numbers in a Twilio subaccount and create the key inside it: only that subaccount is reachable. (A Restricted key limited to phone numbers, Elastic SIP Trunking and SIP credential lists should also work; we test with Standard keys.)
Telnyx
Create an API key (Portal → Account settings → Keys & credentials → API keys) and enter it. Telnyx keys have account-wide access, so use a dedicated key for MCPDial and delete it when you disconnect.
Credentials are checked with a read-only call (listing your numbers) before anything is saved, stored encrypted, and never shown again — the dashboard and API only show masked hints such as SK…9f0e.
Import numbers
After connecting, pick the numbers to use. Only numbers your account lists can be imported, so an agent’s caller ID is always a number you own. Imported numbers go through the same consent, do-not-call and calling-hours checks as any other number. A number stays Needs routing until routing is set up and verified.
Route calls to MCPDial
Automatic
MCPDial makes the change on your account. Before anything happens you see exactly what will be created and changed:
| Carrier | Description |
|---|---|
Twiliocreates | An Elastic SIP Trunk “MCPDial” (origination URI = our SIP endpoint, a termination domain, call transfer enabled), a SIP credential list “MCPDial” used only for calls MCPDial places, and associates each imported number with the trunk. |
Telnyxcreates | An Outbound Voice Profile (allowing the US, Canada and your numbers’ countries) and an FQDN SIP connection “MCPDial” (FQDN = our SIP endpoint, credentials for outbound calls), and assigns each imported number to it. |
Each number’s previous setting (webhook, TwiML App, another trunk or connection) is recorded before it is changed. If your account changed between the preview and your confirmation, nothing is applied and you are asked to review again.
Manual
You make the changes yourself, using the values shown in Settings → Telephony, then press Check setup. The check only reads your account; when everything is in place the numbers go live.
Elastic SIP Trunking → Trunks → Create "MCPDial"
Origination → Origination URI: sip:<our SIP host>;transport=tcp (shown in Settings → Telephony)
Termination → Termination SIP URI: <yourname>.pstn.twilio.com
→ Authentication → Credential list: username + password shown in Settings → Telephony
General → Call Transfer (SIP REFER): Enabled, PSTN transfer allowed
(lets your agents transfer callers to a person; optional)
Numbers → add each imported numberVoice → Outbound Voice Profiles → create "MCPDial"
Destinations → allow the countries of your numbers (and of any transfer targets)
Voice → SIP Connections → Add → FQDN connection "MCPDial"
Authentication & routing → FQDN: <our SIP host>, port 5060, TCP
Credentials → username + password shown in Settings → Telephony
Outbound → Outbound voice profile: "MCPDial"
Numbers → My numbers → assign each imported number to "MCPDial"Transfers to a person
When an agent transfers a caller, MCPDial asks your carrier to connect the call to the transfer number (a SIP REFER); the call then leaves MCPDial and is billed on your carrier account. On Twilio the trunk must have Call Transfer (SIP REFER) enabled with PSTN transfers allowed — Automatic routing sets this; with Manual routing, Check setup tells you if it is off. On Telnyx the transfer leg is dialled through the connection’s outbound voice profile, so the profile must allow the destination’s country — Automatic routing allows the US, Canada and your numbers’ countries; add others under the profile’s destinations if your transfer numbers are elsewhere. Transfers are optional: Check setup shows them as a recommendation and never takes a number offline for it.
Change or rotate your key
In Settings → Telephony choose Update credentials and enter a new key from the same account (for Twilio, the same Account SID). We check it with a read-only call and confirm it belongs to the connected account — keys of another account are refused — then swap it in. Numbers, routing and trunks are not touched, so calls keep working; delete the old key in your carrier console afterwards. If your carrier starts refusing the saved key (for example because it was revoked), owners and admins get a notification asking for the current one.
Disconnect
Disconnect puts every number back the way it was recorded (Automatic), deletes what MCPDial created on your account, removes the numbers from MCPDial and deletes your credentials. Numbers are never released or ported at your carrier — not on disconnect, not when you remove one number, and not when you delete the workspace. If your carrier can’t be reached we stop and ask you to retry (or to disconnect anyway, with a list of what to change by hand). If your key was revoked, we finish and list what to change by hand (and notify owners and admins). A deleted workspace is disconnected the same way; if you restore it, its checklist reminds you to reconnect your carrier account.
API and MCP
Status, the numbers on your account, the routing preview, the setup check and importing work with an API key — see the API reference. Connecting, updating credentials, applying routing and disconnecting handle your carrier credentials or change your carrier account, so they are only available to owners and admins in the dashboard. Over MCP, get_carrier_status is read-only.