=
FreePBX 16 – Agent sees customer’s real number instead of internal customer code (ConnectedLine/CID override with MicroSIP + FOP2 Dialer)
Environment:
- FreePBX 16.0.41
- Asterisk 18.16.0
- FOP2 Dialer (campaigns) — Initial Leg tested with Local/Remote
- Softphone: MicroSIP
Problem summary:
Before upgrading to FreePBX 16, agents always saw an internal customer code (set in CALLERID(name)) instead of the real customer number. After the upgrade, during outbound calls via the gateway, the agent’s display switches from the code to the real number—apparently due to a Connected Line update overriding the displayed CID on MicroSIP.
SIP trace highlights:
Asterisk sends INVITE with the expected From (customer code in CNAM).
After 183/200 responses from the gateway, the agent’s MicroSIP display flips to the real number.
I also see:
ERROR res_pjsip_header_funcs.c: remove_header: No headers had been previously added to this session.
What I’ve already tried (still not fully resolved):
- Advanced Settings:
- OUTBOUND_CID_UPDATE = false
- Display CallerID on Calling Phone = No
- PJSIP – Extension (agent):
- Trust RPID/PAI = No
- Send RPID/PAI = No
- (if present) Send Connected Line = No
- PJSIP – Trunk/Gateway:
- Trust RPID/PAI = No
- Tried Send RPID/PAI = No
- FOP2 Dialer: toggled Initial Leg (Local vs Remote).
- Added NoOp to verify
CALLERID(name)is set correctly before ringing.
Expected behavior:
Agent should always see the internal customer code on MicroSIP throughout the call.
Actual behavior:
After answer/progress from the far end, the display changes to the real customer number.
Questions for the group:
- On FreePBX 16/Asterisk 18, what are the definitive settings to disable Connected Line updates to the agent device (MicroSIP)?
- Any known interactions between FOP2 Dialer Initial Leg and FreePBX 16 affecting CID behavior?
- Best-practice combination for RPID/PAI and “Display … on Calling Phone” to prevent overriding
CALLERID(name)? - Would you recommend using dialplan with
CONNECTEDLINE()to force a fixed name, or is it better to completely disable connected-line updates?
Security note:
I noticed repeated failed REGISTER attempts against one extension. Mitigated by changing its Secret, setting Max Contacts=1, and enabling Intrusion Detection. Any further best practices for handling brute-force