Custom extension caller ID broken

Something broke caller ID on my custom extensions (ones I have set up with a Dial string using SCCP/ or other) on FreePBX 15.

Now when I dial to the custom extension, it shows its own number as the incoming caller ID. (e.g. I call to extension 1104, 1104 shows that 1104 is calling)

This is being set by step 18 of macro-user-callerid:

exten => s,n,ExecIf($["${DB(DEVICE/${ARG2}/tech)}"="custom"]?Set(CALLERID(all)=${IF($[${LEN(${DB(AMPUSER/${ARG2}/outboundcid)})}]?${DB(AMPUSER/${ARG2}/outboundcid)}:${ARG2})}))

There’s no outboundcid set, and we should not be executing this step anyway since it’s an internal call.

I’m trying to track down when this happened.

After looking into this some more, I decided it makes no sense at all in this context. :stuck_out_tongue:

https://github.com/FreePBX/core/commit/8f7a73c64c0ad3536567d6eeb1f19b6c096fff83#diff-96fda2ed16d930d336afda2c1e99ab94 seems like it was added to address some corner case but I don’t know what.

I changed the DEVICE/xxxx/tech value to something else in astdb to work around the problem. If anyone has insight I’m still interested.