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:
- Click the QR code button.
- Scan the QR code with any reader — it decodes to a URL.
- Open that URL to get the config file.
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.- 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.
- 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
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, andPBXLocalAddrcopied 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