Modify Caller ID / Name

Status
Not open for further replies.

lukekenny

New User
Joined
Apr 23, 2020
Messages
29
Reaction score
7
I have an environment with 2 trunks for inbound calls. The first trunk is used for normal office use and general inbound calls, and has a voicemail after hours. The second trunk is a secret emergency inbound number, and calls are routed to a Ring Group.

What I'd like is to replace the Caller Name with "Secret Inbound" or similar.

I realise there is a global option in contacts to prepend or append the Ring Group name to the Caller ID. This is sort of what I'm looking for, but the problem is because it's a global setting, it also gets applied to the first trunk and the separate Ring Group it uses. The complaint I had was that when the 3CX iOS app was ringing, the extended text caused the number to scroll off screen.

Either way, it seems the apps, when a call comes in, display 2 lines:

First line is the Caller Name (which is usually mapped to the Caller Number / ID) or the Contact Name if the contact is in the directory.
The second line always shows the Caller Number / ID

So what I'd like to do is replace Caller Name with "Secret Inbound," so when the app rings it shows "Secret Inbound" in the first line and the callers number in the second. Or the reverse would be fine too, with the callers number in the first line and "Secret Inbound" in the second.

I noticed I can influence what is displayed in the first line by changing the setting for Caller Name under the Inbound Parameters for the trunk. For example, I can set it to "To: User Part", which causes the first line to change to the number dialled by the caller, presumably it's getting it from the To: header in the SIP INVITE. But unlike the Outbound Parameters, there doesn't seem to be a "Custom" option.

Does anyone have an idea as to how I can make this work?
 
As you have already mentioned, the apps will have two lines one of which shows the Caller number so all the information should be on the screen.

If you do want it to show in both lines you could change the names of the Inbound Rules and Ring Group/Queues related to the first SIP Trunk to something short like a one-character name.

Note: Inbound Rules do not need to have a name at all so you could remove it completely.
 
Using the Inbound Rule with no name is a good idea, but unfortunately the Secret Inbound is the main number on its own trunk, so Inbound Rules don't apply, and it needs to be routed to a Ring Group, which does seem to require a name.

It's a bit of a fudge though. Triggers a bit of OCD. And it's just a bit odd, given the caller ID number is always displayed on the second line, and this is the number used for contact lookup and for returning calls. The first line, the Caller Name, is intended to carry a text string, and it should be configurable; as if it includes the caller ID number it's redundant, duplicated information.

It would be nice to see, rather than a global option, the option to append or prepend the Ring Group to the caller ID configurable on a per trunk basis, and the option to replace (as opposed to prepend or append) the caller ID with the Ring Group name added. Even just the latter on a global basis would be sufficient.
 
The first line, the Caller Name, is intended to carry a text string, and it should be configurable; as if it includes the caller ID number it's redundant, duplicated information.
If your provider is sending the caller number, in place of a name, (as some do, that don't do a look-up, or the look-up returns nothing, or ...that is the name as sent by the originator), then you can add the number(s) into the Company Phonebook, to add a proper name (if there are not too many).

If calls do not have a DID number sent along with them, so you can use a DID Rule (you could ask your provider about adding this), then routing through a Ring Group, will be the option to add a short name, to identify the origin.
 
Using the Inbound Rule with no name is a good idea, but unfortunately the Secret Inbound is the main number on its own trunk, so Inbound Rules don't apply, and it needs to be routed to a Ring Group, which does seem to require a name.
Even though it's the main number, you can still create a DID rule for it if you like. Even if you don't, you could give the "Secret Inbound" name to the Ring group where the call is routed next.
 
If your provider is sending the caller number, in place of a name, (as some do, that don't do a look-up, or the look-up returns nothing, or ...that is the name as sent by the originator), then you can add the number(s) into the Company Phonebook, to add a proper name (if there are not too many).
I thought of this too. I'm in Australia, and the To: Called Number is being sent through in the international format.... 61399995555.

I tried adding a company phone book entry using the Business Number field with 61399995555 and it didn't work. The app still displayed 61399995555 on the first line and the actual caller ID on the second line.

Can you recommend how I could add the entry to the phone book so the app would match it, and display the Business Name from the phone book record?
 
Even though it's the main number, you can still create a DID rule for it if you like. Even if you don't, you could give the "Secret Inbound" name to the Ring group where the call is routed next.
This is basically where I'm at. I renamed the Ring Group "SN", so now the app shows "SN:987654321" which works OK, but... yeah. I do realise I'm being pedantic. But the actual caller ID is always displayed on the second line... we could have an option to "Replace" as well as "Append" or "Prepend."
 
I tried adding a company phone book entry using the Business Number field with 61399995555 and it didn't work. The app still displayed 61399995555 on the first line and the actual caller ID on the second line.

Can you recommend how I could add the entry to the phone book so the app would match it, and display the Business Name from the phone book record?
You might check the options, and do a match on the last 9 or 10 digits , rather on the whole number, the first and last name, you have put in should replace the original caller ID name. Does this work on any other entries you have in there?

But the actual caller ID is always displayed on the second line...
This is to be expected. What were you hoping to be displayed there?
 
This is to be expected. What were you hoping to be displayed there?
Yes, I know. The second line always displays the caller ID. So why does the first line also need to display the caller ID?

What is does:

<Ring Group>:<Caller ID>
<Caller ID>

What I want:

<Ring Group>
<Caller ID>
 
I thought of this too. I'm in Australia, and the To: Called Number is being sent through in the international format.... 61399995555.
In case the contact matching functionality was misunderstood, do note that the contact matches the caller number and not the Called number.

Regarding replacing the whole thing, there is something else you could do although we would not recommend it. You could edit the SIP Trunk in question and modify the Inbound Parameters. Specifically, you would need to change the CallerName parameter to be populated with a different value. That said however, 3CX cannot control the value of the parameters in the drop down list. Those will carry the value as sent from the SIP Provider.

Note: You would need to disable the Name prepend/append options in 3CX for the above to take effect.
 
That's what I meant. I mean, that's what I did. I set the Inbound Parameter "CallerName" to the option "To: Display Name" for the SIP Trunk in question. This caused the desired outcome, in that the number dialled was displayed in the app in the international format on line one....

6199995555 [first line, the secret number]
0381234455 [second line, the actual caller id]

I then added an entry to the company phone book with Business Name = "Secret Number" and Business Phone = "6199995555". I then set, under Contacts -> Options, under Match Caller ID to a contact entry to "Match at least 6 characters."

This did not have the desired effect and did not work. I believe it is because contacts are matched on the actual caller ID (the second line,) not the caller name (the first line).
 
That is absolutely correct, the contact matching is checked against the actual Caller ID(CallerNumber) which in this case is 038123445.

The only thing I can think of, but would strongly recommend against is:

In the Inbound Parameters set both the CallerNumber and CallerName to be populated with the "From:User Part". This will result in both fields to carry the caller's number. Then use Caller ID reformatting for Inbound calls to reformat the Caller ID from whatever it is to "Secret Inbound". The Caller ID will be displayed as Secret Inbound and the Caller Name will show the actual number, so all required information should be displayed on screen. The problem with this is that you will not be able to dial the number back because you will actually be trying to use "Secret Inbound" as the calling number. You can of course manual dial the number though.

For The Caller ID reformatting you could use something like:
1618580538281.png
 
That solution's not bad.... it gives me control of the first line, but like you say at the expense of the caller ID functionality. I'll ask the users which approach they prefer and go with what they say. Thanks. I am too much of a noob to make a feature suggestion, but I think this ability would be good.
 
Well you could go through the Ideas section just to check if anyone else suggested anything similar and upvote it. Otherwise, maybe another partner/customer with the appropriate rights would be kind enough to post this idea on your behalf;)
 
Status
Not open for further replies.