01 / 13
Choose one driver, one carrier and one number format
This Vonage guide separates the carrier Account Entry from the Dialplan Entry and shows PJSIP and chan_sip alternatives. PJSIP is the current Asterisk driver. Use chan_sip only when your installed older build actually loads it; upstream Asterisk removed it in version 21.
These are outbound configuration worksheets, not captured working Vonage trunks. No provider login, registration or call was performed for this update. The existing native screenshot identifies VICIdial fields; it does not establish provider acceptance.
Vonage’s SIP technical page links its numbers guide; this worksheet follows the linked guide’s digits-only convention. That is an example-format assumption, not a verified request for your trunk: confirm whether its destination requires country-code digits without + before activation.
02 / 13
1. Check which SIP driver your server actually has
On the Vonage target server, run these read-only CLI checks before changing carrier records. A module name in this list establishes installation/loading only; it does not establish registration, NAT or audio.
- Before you use it
- Use an authorized shell on the actual Vonage dialer. These commands inspect the running Asterisk instance and make no call.
sudo asterisk -rx 'core show version'sudo asterisk -rx 'module show like chan_pjsip.so'sudo asterisk -rx 'module show like chan_sip.so'This example has no recorded result here. Follow its preparation, expected result and stop conditions before using it.
- Success looks like
- For Vonage, choose PJSIP when chan_pjsip is loaded. Choose the SIP branch only when chan_sip is loaded on your supported installed build.
- Stop if
- If the Vonage target has neither driver, stop. Do not compile a retired module or move listening ports to make this worksheet fit.
Sources for this section
- Asterisk: chan_sip lifecycle and PJSIPAsterisk · Checked November 8, 2026
03 / 13
2. Prepare the Vonage account settings
- In the Vonage API Dashboard, open Voice → SIP and select a trunk of type Trunk. An Application/Programmable SIP domain routes through a Voice API application and is a different flow.
- Complete the SIP wizard. Copy this trunk’s regional domain, its SIP user key/secret and a number linked to the trunk. Use the actual region from your account; the US hostname here is a placeholder.
- Download the current Asterisk PJSIP configuration. Use the SIP user stored on this trunk, not an arbitrary current API key/secret. Keep the downloaded registration parameters for comparison.
You should seeYou have the Vonage host, selected authentication path, allowed caller ID and agreed destination format. A dashboard-ready label alone is insufficient.
Sources for this section
- Vonage current SIP trunk technical detailsVonage · Checked November 8, 2026
- Vonage SIP Dashboard and trunk authenticationVonage · Checked November 8, 2026
- Vonage current Asterisk PJSIP downloadVonage · Checked November 8, 2026
04 / 13
3. Put each value in the correct VICIdial field
For Vonage, use Admin → Carriers → Add A New Carrier and select an unused ID. Select the actual dialer under Server IP. PJSIP requires an installed VICIdial build with PJSIP enabled; the SIP protocol corresponds to chan_sip.
Keep Account Entry and Dialplan Entry separate. On the captured Add form there is no Active control; after an approved save, reopen Modify Carrier and check Active before permitting Vonage test traffic. Do not overwrite the original carrier.
- Carrier ID
- vg_vonageUse a new, unused ID for the isolated Vonage configuration.
- Protocol
- PJSIP for branch A; SIP for branch B
- Account Entry
- Driver configuration onlyPaste the selected Vonage account block after substituting its placeholders.
- Dialplan Entry
- The three matching exten lines onlyUse the Vonage dialplan for the SAME selected driver.
- Registration String
- Do not paste a guessed chan_sip register stringThe Vonage PJSIP registration object belongs with the PJSIP configuration; confirm the installed generator handles it.
- Campaign Dial Prefix / Manual Dial Prefix
- 7Review both values and the Phone Code/Phone Number combination; Omit Phone Code changes the digits Vonage receives.
Locate the two carrier configuration fields
Open to enlargeCapture details
It contains an unsaved fictional IP-auth worksheet and an unselected Server IP. Use it to locate the fields only: its values are not a Twilio, Telnyx or Vonage configuration. No carrier, registration or call was created. The complete original capture remains available through Enlarge.You should seeThe Vonage record names the right server and one driver; the campaign remains inactive while the generated route is reviewed.
05 / 13
4A. PJSIP: Account Entry
For Vonage, replace <EXISTING_PJSIP_UDP_TRANSPORT> with the transport name from pjsip show transports; it is not a new transport definition. This narrow worksheet uses UDP and ulaw, not a TLS/SRTP setup. Match your actual network, codec and security requirements before activation.
The context vg-vonage-inbound-disabled is intentionally left undefined for this outbound-only exercise. Check it is absent and do not create an outbound-capable context under that name. It rejects incoming calls instead of silently routing them into an outbound dialplan.
This single-caller-ID worksheet fixes from_user in PJSIP and fromuser in chan_sip to one permitted number. For Vonage campaigns using changing list/lead caller IDs, review the effective From and identity-header behavior separately; the fixed example must not be assumed to preserve dynamic caller-ID selection.
- Before you use it
- Review this Vonage configuration worksheet, replace every angle-bracket placeholder and select only one channel-driver branch. It has not been loaded into Asterisk.
[vg_vonage]type=aorcontact=sip:<VONAGE_TRUNK_DOMAIN>.sip-us.vonage.comqualify_frequency=60 [vg_vonage]type=endpointtransport=<EXISTING_PJSIP_UDP_TRANSPORT>aors=vg_vonagecontext=vg-vonage-inbound-disableddisallow=allallow=ulawdtmf_mode=rfc4733direct_media=nofrom_domain=<VONAGE_TRUNK_DOMAIN>.sip-us.vonage.comfrom_user=<LINKED_VONAGE_NUMBER_DIGITS>outbound_auth=vg_vonage_auth [vg_vonage_auth]type=authauth_type=userpassusername=<VONAGE_TRUNK_USER_KEY>password=<VONAGE_TRUNK_USER_SECRET> [vg_vonage_registration]type=registrationtransport=<EXISTING_PJSIP_UDP_TRANSPORT>outbound_auth=vg_vonage_authserver_uri=sip:<VONAGE_TRUNK_DOMAIN>.sip-us.vonage.comclient_uri=sip:<VONAGE_TRUNK_DOMAIN>.sip-us.vonage.com This sample is a template or reading aid, not a terminal command. There is no output to show.
- Success looks like
- The Vonage field contents match the chosen driver, actual trunk host and agreed number format. This is a configuration check, not a completed call.
- Stop if
- Stop the Vonage setup if any placeholder remains, the transport does not exist, or the provider/account contract differs. Do not activate the campaign.
Sources for this section
- Asterisk PJSIP outbound trunk configurationAsterisk · Checked November 8, 2026
- Vonage SIP Dashboard and trunk authenticationVonage · Checked November 8, 2026
- VICIdial PJSIP carrier fields and dial stringVICIdial · Checked November 8, 2026
06 / 13
4A. PJSIP: Dialplan Entry
Use this Vonage dialplan only with the PJSIP endpoint named vg_vonage. The number is before @ in the PJSIP dial string. Keep the VICIdial call_log AGI and campaign timeout; do not paste a raw Asterisk-only test route over the managed campaign route.
- Before you use it
- Review this Vonage configuration worksheet, replace every angle-bracket placeholder and select only one channel-driver branch. It has not been loaded into Asterisk.
exten => _71NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)exten => _71NXXNXXXXXX,n,Dial(PJSIP/${EXTEN:1}@vg_vonage,${CAMPDTO},To)exten => _71NXXNXXXXXX,n,Hangup()This sample is a template or reading aid, not a terminal command. There is no output to show.
- Success looks like
- The Vonage field contents match the chosen driver, actual trunk host and agreed number format. This is a configuration check, not a completed call.
- Stop if
- Stop the Vonage setup if any placeholder remains, the transport does not exist, or the provider/account contract differs. Do not activate the campaign.
You should seeFictional 712025550123 matches _71NXXNXXXXXX; the PJSIP Request-URI user becomes 12025550123. This arithmetic check does not send an INVITE.
07 / 13
4B. chan_sip: Account Entry
Choose this Vonage alternative only if the driver check found chan_sip. VICIdial Protocol is SIP, and the equivalent configuration belongs to the chan_sip generator, not pjsip.conf. Never paste type=endpoint, aors or outbound_auth into this branch.
- Before you use it
- Review this Vonage configuration worksheet, replace every angle-bracket placeholder and select only one channel-driver branch. It has not been loaded into Asterisk.
[vg_vonage]type=peerhost=<VONAGE_TRUNK_DOMAIN>.sip-us.vonage.comtransport=udpcontext=vg-vonage-inbound-disableddisallow=allallow=ulawdtmfmode=rfc2833directmedia=noqualify=yesqualifyfreq=60fromdomain=<VONAGE_TRUNK_DOMAIN>.sip-us.vonage.comfromuser=<LINKED_VONAGE_NUMBER_DIGITS>defaultuser=<VONAGE_TRUNK_USER_KEY>secret=<VONAGE_TRUNK_USER_SECRET> This sample is a template or reading aid, not a terminal command. There is no output to show.
- Success looks like
- The Vonage field contents match the chosen driver, actual trunk host and agreed number format. This is a configuration check, not a completed call.
- Stop if
- Stop the Vonage setup if any placeholder remains, the transport does not exist, or the provider/account contract differs. Do not activate the campaign.
Sources for this section
- Asterisk: chan_sip lifecycle and PJSIPAsterisk · Checked November 8, 2026
- Vonage current SIP trunk technical detailsVonage · Checked November 8, 2026
08 / 13
4B. chan_sip: Dialplan Entry
The Vonage chan_sip dial string puts the peer name immediately after SIP/ and the destination after the next slash. PJSIP/${EXTEN:1}@vg_vonage and SIP/vg_vonage/${EXTEN:1} are alternatives, not interchangeable spellings.
- Before you use it
- Review this Vonage configuration worksheet, replace every angle-bracket placeholder and select only one channel-driver branch. It has not been loaded into Asterisk.
exten => _71NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)exten => _71NXXNXXXXXX,n,Dial(SIP/vg_vonage/${EXTEN:1},${CAMPDTO},To)exten => _71NXXNXXXXXX,n,Hangup()This sample is a template or reading aid, not a terminal command. There is no output to show.
- Success looks like
- The Vonage field contents match the chosen driver, actual trunk host and agreed number format. This is a configuration check, not a completed call.
- Stop if
- Stop the Vonage setup if any placeholder remains, the transport does not exist, or the provider/account contract differs. Do not activate the campaign.
You should seeFor the same fictional 712025550123, the chan_sip destination is 12025550123. Only the channel syntax changes between the two Vonage branches.
09 / 13
5. Check saved values, then the loaded route
After an approved save and normal managed generation, reopen the Vonage carrier and compare its saved fields. On the selected server inspect the chosen driver only; a missing sip command on a PJSIP-only build is not a provider outage.
Use the actual campaign dialplan context shown by your installed VICIdial configuration. The illustrative 712025550123 is used for a read-only lookup, never a dial attempt. A loaded route may still have unresolved placeholders; inspect the full Dial line.
- Before you use it
- Review this Vonage configuration worksheet, replace every angle-bracket placeholder and select only one channel-driver branch. It has not been loaded into Asterisk.
# Run only the branch selected for Vonage.# PJSIP branch:sudo asterisk -rx 'pjsip show endpoint vg_vonage'sudo asterisk -rx 'pjsip show aor vg_vonage'# chan_sip branch instead:sudo asterisk -rx 'sip show peer vg_vonage'# Both branches: replace the context with the actual generated campaign context.sudo asterisk -rx 'dialplan show 712025550123@<ACTUAL_CAMPAIGN_CONTEXT>'sudo asterisk -rx 'dialplan show vg-vonage-inbound-disabled'# For the current Vonage PJSIP registration path:sudo asterisk -rx 'pjsip show registrations'This example has no recorded result here. Follow its preparation, expected result and stop conditions before using it.
- Success looks like
- The selected Vonage object has the expected host, transport and caller ID. The campaign lookup has exactly the chosen prefix and channel syntax. The vg-vonage-inbound-disabled lookup reports that no such context exists.
- Stop if
- For Vonage, stop on duplicate extensions, unknown context, missing endpoint, stale saved values or any angle-bracket placeholder. An OPTIONS result cannot establish a PSTN call.
You should seeThe Vonage configuration is loaded as intended. Only a later, separately approved call can establish signaling and media.
10 / 13
Incoming calls need their own routing
The Vonage blocks above deliberately reject inbound calls. Do not remove that boundary until you have the current provider signaling ranges, restricted inbound matching, reviewed trunkinbound context and a specific DID route. Incoming provider IPs are not necessarily the IP your outbound hostname currently resolves to.
- For Vonage, use the trunk’s Inbound Calling destination SIP URI and link the owned number; keep this separate from a Programmable SIP application.
- After the Vonage inbound source matching and network rules have been reviewed, configure a real inbound context and the exact delivered DID in VICIdial. Verify the intended in-group or destination independently.
You should seeAn outgoing Vonage call pass does not establish incoming delivery. An inbound setting screenshot does not establish agent audio.
11 / 13
6. Test one approved destination and record the result
Keep Vonage traffic isolated. Have a bounded test window, owned/consenting destination and recorded caller ID before enabling the new carrier and campaign. Do not dial the fictional 555 example or run a bulk campaign as a test.
- Place one approved Vonage call through the actual VICIdial agent workflow so the campaign prefix, caller ID and call logging are included.
- Record the constructed digits, sent Request-URI user, selected Vonage peer/endpoint, final SIP result and provider call identifier privately.
- Check ringing/answer, two-way audio, DTMF, hangup from each side and the VICIdial report row separately. Mark each Vonage observation pass, fail or not tested.
- For Vonage, pause/log out the test agent and disable the test route when the approved window ends; preserve the exact observed outcome rather than inferring it from a saved form.
12 / 13
If it fails, follow the first broken boundary
13 / 13
Rollback and continue
For Vonage, pause test traffic, restore the previous campaign Dial Prefix and Manual Dial Prefix, and disable only the new carrier in its Modify screen. Restore the recorded fields and use the installation’s normal configuration generation procedure.
Confirm the previous route is loaded again. Leave unrelated Vonage trunks and other providers unchanged. Rotate only an exposed secret, and record which provider and PBX settings were restored.
Telnyx: IP-authenticated driver examples
Checks and sources
What was checked
- Vonage primary documentation and Asterisk/VICIdial syntax were source-reviewed on November 8, 2026. The NANP prefix transformation was checked offline; no provider authentication, registration or call was performed.
- The PJSIP and chan_sip Vonage Account Entry and Dialplan Entry blocks are configuration worksheets. Native field media is a historical unsaved reference, not this provider’s console or a saved working trunk.
- For Vonage, registration state, outbound signaling, incoming routing, two-way audio, DTMF, hangup and report evidence remain separate acceptance checks.
- Vonage current PJSIP documentation includes a registration object. Current chan_sip registration requirements are not established by the reviewed sources; the peer fragment must not be treated as a complete deployment.
Primary references
Sources
- Vonage current SIP trunk technical detailsVonage · accessed November 8, 2026
- Vonage SIP Dashboard and trunk authenticationVonage · accessed November 8, 2026
- Vonage current Asterisk PJSIP downloadVonage · accessed November 8, 2026
- Vonage legacy Asterisk configuration: different service settingsVonage · accessed November 8, 2026
- Vonage number formattingVonage · accessed November 8, 2026
- Asterisk: chan_sip lifecycle and PJSIPAsterisk · accessed November 8, 2026
- Asterisk PJSIP outbound trunk configurationAsterisk · accessed November 8, 2026
- VICIdial PJSIP carrier fields and dial stringVICIdial · accessed November 8, 2026
