Skip to main content
VoiceInfra registers with 3CX as a normal user extension. From 3CX’s point of view nothing unusual is happening: an extension is registered, and calls route to it the same way they route to a desk phone. That means your AI agent can be part of ring groups, queues, and call flows without any changes to how 3CX works.

Prerequisites

Step 1: Prepare the extension in 3CX

1

Open the Users list

Log in to 3CX and go to Admin → Users.
2

Pick or create the extension

Select an existing user to use as your AI agent’s extension, or create a new one. A dedicated extension is easier to reason about later — for example Agent 101.
3

Open the user's details

Click the user to open their details page.
4

Set the connection policy

Open the Options tab and enable Block remote non-tunnel connections (Insecure!).
This blocks SIP registrations that do not come through the 3CX tunnel or SBC — which is exactly what VoiceInfra is. The next step is what lets VoiceInfra through anyway: whitelisting its IP. Enable the block for security, then whitelist VoiceInfra so it is the one exception.
5

Get the extension's SIP credentials

Open the General tab. You can either configure the extension’s credentials yourself, or keep 3CX’s generated defaults and read them from the provisioning file:
  1. Click the QR code button.
  2. Scan the QR code with any reader — it decodes to a URL.
  3. Open that URL to get the config file.
From the config file, you need three values:

Step 2: Register the extension in VoiceInfra

1

Add a phone number

In the VoiceInfra portal, go to Phone Numbers → Add Phone Number and choose PBX Extension.
2

Enter the extension details

3

Fill in the SIP configuration

This is where the three values from the config file go:
4

Set the transport

Under Advanced, set Transport to match what your 3CX extension accepts — UDP or TCP. If registration fails, this mismatch is the first thing to check.
5

Create and assign an assistant

Click Create, then assign an Inbound AI Assistant and/or an Outbound AI Assistant to the new extension. Without an assistant, calls connect but nothing answers.

Step 3: Whitelist VoiceInfra in 3CX

Because you enabled the remote-connection block in step 1, 3CX will reject VoiceInfra until its IP is trusted.
  1. Copy the whitelist IP from the portal: Phone Numbers → your extension → Connection details. The value is region-scoped, so copy it rather than using one from a guide.
  2. Add that IP to your 3CX firewall’s allowed SIP list.

Step 4: Test

The extension’s registration status is visible in 3CX under Admin → Users, and in VoiceInfra on the extension’s detail page.

Troubleshooting

If you regenerate or re-provision the extension in 3CX, its AuthPass changes. VoiceInfra will stop registering until you update the SIP Password on the extension.

Quick reference

Where to find things

Setup checklist

  • Extension created or selected in 3CX and added to the VoiceInfra portal
  • Block remote non-tunnel connections enabled on the user
  • AuthID, AuthPass, and PBXLocalAddr copied from the config file
  • SIP Domain, Username and Password entered in VoiceInfra
  • Transport matches on both sides
  • VoiceInfra’s IP whitelisted in your 3CX firewall
  • AI assistant assigned for inbound and/or outbound
  • Test calls in both directions succeed