# Telephony Integration

> Connect voice agents with telephony providers for inbound and outbound calls

## Overview

Menace Voice's telephony integration system provides a unified interface for connecting with various telephony providers. The same configuration powers both outbound calls (initiated from Menace Voice) and inbound calls (received on a phone number you own).

Menace Voice does not sell phone numbers or minutes. The phone service is always
yours — there are two ways to bring it.

## Two ways to connect

<CardGroup cols={2}>
  <Card title="Use a telephony provider" icon="phone">
    Open an account with Twilio, Plivo, Telnyx, Vonage or Vobiz, paste the
    credentials into Menace Voice, and call using their numbers. **Start here if you
    don't already run phone infrastructure.** Pick your provider from the list
    below.
  </Card>
  <Card title="Bring your own SIP" icon="server" href="/integrations/telephony/menace-sip">
    Already have a SIP trunk or a PBX? Point it at Menace Voice and keep your existing
    carrier and numbers. Every organization is provisioned with a
    **Menace Voice Cloudonix SIP** connection for exactly this; self-hosted
    deployments can use [Asterisk ARI](/integrations/telephony/asterisk-ari)
    instead.
  </Card>
</CardGroup>

## Choose a provider

Prices below are starting estimates checked on September 4, 2026. Your final
price depends on the country, number type, capabilities, regulatory fees,
taxes, and call usage. The provider's checkout price is always authoritative.

| Provider | Best fit | Estimated number price | Guide |
| --- | --- | --- | --- |
| Twilio | A straightforward first cloud phone account | US local from $1.15/month | [Set up Twilio](/integrations/telephony/twilio) |
| Telnyx | Programmable voice with detailed number controls | Numbers from $1/month | [Set up Telnyx](/integrations/telephony/telnyx) |
| Plivo | Low-cost US local-number starting price | US local from $0.50/month | [Set up Plivo](/integrations/telephony/plivo) |
| Vobiz | International self-serve number provisioning | Varies by country and type | [Set up Vobiz](/integrations/telephony/vobiz) |
| Vonage | Voice API accounts that use Vonage applications | Shown in live number search | [Set up Vonage](/integrations/telephony/vonage) |
| Cloudonix | Connecting an existing SIP carrier or trunk | SIP carrier priced separately | [Set up Cloudonix](/integrations/telephony/cloudonix) |
| Asterisk ARI | Teams that already operate an Asterisk PBX | Carrier and hosting priced separately | [Set up Asterisk ARI](/integrations/telephony/asterisk-ari) |

<Note>
  Asterisk does not sell phone numbers. Cloudonix connects Menace Voice to SIP
  infrastructure; your carrier usually owns and bills the number. If you do
  not already operate phone infrastructure, start with Twilio, Telnyx, Plivo,
  Vobiz, or Vonage.
</Note>

## Configuration

All telephony providers use the same guided setup:

1. Open **Phone numbers** and click **Add phone number**.
2. Choose your provider. Open its setup guide directly from the provider card.
3. Follow the linked provider steps to buy a voice-capable number and find the
   exact credentials Menace Voice requests.
4. Paste the credentials into Menace Voice. Treat tokens, secrets, and private
   keys like passwords.
5. Enter the phone number exactly as it appears in the provider account.
6. Choose the agent that should answer incoming calls, then finish setup.
7. Call the number from another phone before using it in a campaign.

A single org can hold multiple configurations (for example, separate Twilio sub-accounts) and multiple phone numbers per configuration. Mark one configuration as the **default outbound** to use it for test calls and campaigns by default.

## Common Features

The telephony integration in Menace Voice supports:

- **Outbound Calls**: Initiate calls to any phone number from a workflow or campaign
- **Inbound Calls**: Route incoming calls to the right voice agent — see the [Inbound Calling guide](/integrations/telephony/inbound)
- **Call Transfer**: Transfer an in-progress call to a human or another number (provider-dependent)
- **Call Status Tracking**: Monitor call lifecycle events (initiated, ringing, answered, completed, failed)
- **WebSocket Audio Streaming**: Real-time, bidirectional audio between caller and agent
- **Webhook Signature Verification**: Inbound webhooks are verified against the matched configuration's credentials

## Inbound Calling

Inbound calls use a **single org-wide webhook URL**:

```
https://voice.menaceui.com/api/v1/telephony/inbound/run
```

Menace Voice resolves the org from the webhook's account credentials and the agent from the called number's **Inbound workflow** assignment. See [Inbound Calling](/integrations/telephony/inbound) for the full setup.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Calls not connecting">
    - Verify credentials are correctly configured
    - Check phone number format ([E.164](https://en.wikipedia.org/wiki/E.164) — the international standard: a `+`, then country code, then the number, no spaces or dashes, e.g. `+1234567890`)
    - Ensure webhook URLs are publicly accessible
    - Review provider-specific error logs
  </Accordion>
  
  <Accordion title="Audio quality issues">
    - Check network bandwidth and latency
    - Verify audio codec compatibility
    - Review WebSocket connection stability
  </Accordion>
  
  <Accordion title="Webhook signature validation failing">
    - Confirm auth tokens / API secrets match between provider and Menace Voice configuration
    - Verify webhook URL matches exactly (including the `/inbound/run` path)
    - Check for proxy or load balancer modifications
  </Accordion>
</AccordionGroup>

## Next Steps

- [Set up your first telephony provider](/integrations/telephony/twilio)
- [Configure inbound calling](/integrations/telephony/inbound)
- [Build a custom provider integration](/integrations/telephony/custom)
