Setting up PJSIP in VICIdial means choosing PJSIP as the Protocol on a carrier trunk entry rather than legacy SIP or IAX, then letting the config rebuild and verifying the endpoint from the Asterisk CLI. The steps are the same as adding any carrier trunk, just with PJSIP selected and pjsip-style verification at the end.
Steps
1. Open the carrier form In the admin, go to ADMIN, then CARRIERS, then ADD NEW CARRIER. In the VICIdial admin, open the ADMIN section, click CARRIERS, then click ADD NEW CARRIER.
2. Set Protocol to PJSIP Protocol - SIP, PJSIP, or IAX, matching your provider. Pick PJSIP if that's what your carrier's setup sheet specifies. PJSIP is the newer Asterisk SIP stack. It speaks the same SIP protocol on the wire but uses a different, more flexible config format inside Asterisk. VICIdial supports it alongside legacy SIP, and many providers now ship PJSIP example configs.
3. Fill in the Account Entry and other fields The core fields work the same regardless of protocol: Account Entry: the peer definition that tells Asterisk how to talk to this carrier. This is where codecs, the peer type, the secret, and the inbound context live. Use whatever format your carrier's PJSIP example provides, matched to the Protocol setting.
4. Match protocol and account syntax exactly Do not mix formats. A SIP-format account entry under an IAX protocol setting will not register, and the reverse fails the same way. The protocol and the account syntax must agree. Do not mix protocol families on one carrier record. The same logic applies to PJSIP: use PJSIP-style config under the PJSIP protocol.
5. Save, set Active=Y, and wait for the rebuild Nothing takes effect until the conf files regenerate. Click submit, then wait about a minute for VICIdial to regenerate its config files. The single most common mistake is forgetting the last step: set Active=Y. If Active is N, the entry is excluded from the generated config and the trunk does nothing. A carrier with Active=N is invisible to Asterisk. On a modern build, this rebuild is what actually writes the PJSIP config: The rebuild writes the SIP and IAX peer definitions, the dialplan contexts, and the trunk entries from your database rows. On a modern build that means the pjsip wizard config for your sip-peer entries, the iax2 config for inter-server links, and the extensions that route calls.
6. Verify the endpoint Check from the Asterisk CLI using the PJSIP-specific command. From the Asterisk CLI you run sip show peers for a SIP trunk or iax2 show peers for an IAX trunk. PJSIP trunks use pjsip show endpoints. Also confirm codec compatibility, since confirm your chosen codec is one the provider allows, since a codec mismatch can let a peer register yet still fail audio.
If it doesn't register
Recheck the Protocol field first: If the peer is missing, the usual suspects are a protocol mismatch, a wrong secret, or the carrier record left inactive. The protocol field is the first thing to recheck because it silently inv