How to prepend Ring Group Caller ID (CNAM) to external destinations as well as internal extensions

I have a scenario where we’ve set up about 6 ring groups each of which gets it’s own caller ID (CNAM) prepend so each of the ring group members can identify the ring group on the incoming call to their extension.

2 of these ring groups have a couple of celphone numbers included as external destinations in addition to the internal extensions. The Caller ID for those outbound external calls is currently taken from the outbound route (or maybe the trunk, I can’t recall which at this moment). HOWEVER, we would really like to have the same ring group info prepended to the CNAM on the external calls as we do to the internal calls to make them easier to identify (and yes, we are allowed / responsible to provide our own CNAM for external trunk calls).

I’m guessing that either I’ve missed an obvious config option or a little dialplan magic is going to be required to accomplish this… suspecting the latter. Suggestions are appreciated.

With no special settings, the CNAM prepend of a Ring Group should be passed to the outbound trunk.

I assume that the system in question is in Canada. If not, please provide details.

If (as a test), you change the display name portion of Outbound CID for your extension and call the mobile directly, does the new name display? If not, what does display?

If an incoming call’s number is in the mobile’s Contacts, that name will usually override a name supplied by the carrier. If your test case has a match, remove the contact and retest.

Possibly, your choice of the carrier to which you send the call will affect results. Who is the outbound trunking provider? Do they provide choice of upstream?

Yes @Stewart1 you are correct the system is in Canada. No issues whatsoever with our provider accepting whatever CNAM we send on a call. And just to be certain I’ve actually verified in the asterisk logs that what I think FreePBX is sending is indeed what is received.

I did a little more testing last night by ensuring that the extension, trunk and outbound route all had different info for the CNAM. Indeed the CNAM that is ultimately sent is that defined on the extension (even though in the outbound route settings “override extension” is set to yes which I would have thought would force the route setting to be sent instead, hmmm).

Internally the CID is “Lobby <1000>” and with the prepend we get “200 in Lobby <1000>”, “300 in Lobby <1000>”, etc. Externally it is “Lobby Access <5555551234>” and that’s exactly what we get going out the trunk.

That said, if I make a call from an extension directly to an external number, in that case I do get the route CID if override extension is on, and the extension CID otherwise.

Could it be that external destinations (specified as 5555551234# in the ring group) skip some of the dialplan where the prepend (and the route vs. extension CID choice) would normally happen?

Some recent versions of the Core module have had serious bugs relating to caller ID passing. As I write this, the current version is, which I believe is free of those bugs. However, these bugs affected number as well as name; if the original caller’s number is being properly passed, that’s not your issue.

Sorry, but I don’t know how override extension on an outbound route is supposed to interact with external incoming calls, or whether the recent changes to Core have affected that. On my own system, override extension is used only for specialty purposes; the routes for ordinary domestic calls have it turned off and each extension sends their own Outbound CID. For testing, you may want to turn off override extension (if you don’t want to affect the rest of the system, set up a new route with a special prefix that you use in the ring group).

Yes, but have you determined that it appears correctly on the destination device?

On calls sent via the ring group to an external number, are you trying to have the original caller’s number appear on the destination device? If not (you’re using Fixed CID Value), then I believe you could put the prefix there.

The calls all originate internally from what are essentially doorphones at 3 entrance points to the facility so there is no external info that we are trying to capture. In this case the extension number the call is coming from identifies where the caller is waiting and the prepend basically identifies where they are to be escorted to based on the ring group they dialed. The normal staff are receiving these calls on their normal office phones and thus are receiving both the extension and the prepend information. Due to some departments being short-staffed the cel numbers of security persons have been added into these busy ring groups to assist with escort duties. Since these individuals are escorting to multiple locations, not having the prepend on their calls makes things even tougher for them.

Whatever I set goes out the trunk to my provider and is reliably received on any and all destination devices I’ve tested, regardless the carrier. The problem just seems to be that the external destination isn’t passed through whatever part of the dialplan that does the ring-group prepend.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.