Setting Up Dynamic Caller ID Based on Incoming Number

Status
Not open for further replies.

harshkukadia

Customer
Joined
Jan 20, 2023
Messages
4
Reaction score
0
Hello 3CX Community,

I am currently using 3CX and need some assistance with configuring my system to display a dynamic caller ID based on the number that was initially called. I have multiple numbers where people can reach me, and I want to set it up in such a way that when I call them back, my caller ID corresponds to the number they called.

Thank you in advance for your help!
 
To do this you could route outbound calls to different routes, each with a different caller ID, depending on the number you dialed to return the call. You could automate this by changing (reformatting) the caller ID depending on the trunk used for the incoming call.

https://www.3cx.com/docs/cid-reformatting/

As an example, someone calls you on trunk "A". Caller ID is changed to add a 7 as the leading digit, You add an outbound rule (that applies to your extension, or all extensions), that routes a call to numbers dialed begin with a 7, to a rule that includes a caller ID that you wish to send for that call. You don't have to limit to a single prefix digit, so if you wanted to use 7, it could include 72,73,74,75, etc.

This could get a bit complicated if you have a large number of incoming routes, and, keep in mind all number to all extensions, would be affected by he caller ID reformatting, if the routes also go to other peoples extensions.
 
  • Like
Reactions: U-A
@leejor always has useful suggestions. Maybe we can simplify the discussion just a little. @leejor just took his solution to a higher degree of automation and it may have added some complexity that makes the underlying solution a little harder to understand. However, once you understand the underlying solution, his suggestion will make more sense. Let me try to explain further.

You would need to create an outbound rule for each of the DIDs you want to present to callers when returning calls. This outbound rule would require a prefix (in @leejor example add a "calls starting with a 7" in the outbound rule definition. Then assign the desired outbound caller ID number to the outbound rule.

You will need a separate outbound rule (with a different prefix) for each DID you want to present.

When you want to send calls out a specific outbound rule, so the correct caller ID number is presented, you will have to add (prepend) the prefix to the number dialed. For example, if your prefix is "7" and the number you want to dial is "8016424655", you would need to dial "78016424655". My only additional advice is that adding a single digit prefix may not be enough. You may find adding a 3-digit prefix is safer. For example "7778016424655".

Finally, don't forget to "strip digits" (the "777") from the number before sending the call to your SIP provider!

This is the process that @leejor is describing, but he has then added the reformatting of inbound numbers so that you can return a call without having to manually add the "777" to the call :)
 
As a SIP trunk provider,
we have a SmartCaller ID service which works very well with 3CX PBX.

The Smart Caller IDs (SCI) are the local phone numbers you own that appear as your caller ID when you call someone who matches any of the rules you've customized.


IMG_1745.jpeg


What does that imply?
You continue to use 3CX normally without any « special » configuration!
Port your phone numbers to us (VoiceMeUp, SIP Trunk Provider), you will have access to "overwrite" the CallerID sent by 3CX PBX.

IMG_1747.jpeg

It probably has more practical logic than described (alternative to "Based on the last phone number called by your client"). See screenshot above .
Otherwise, each incoming call, a 3CX CallFlow could save (or update) a rule in SmartCallerID app ;
—> If « Destination Matching » , overwrite CallerID sent by 3CX PBX.


 
  • Like
Reactions: Evolute IT
To do this you could route outbound calls to different routes, each with a different caller ID, depending on the number you dialed to return the call. You could automate this by changing (reformatting) the caller ID depending on the trunk used for the incoming call.

https://www.3cx.com/docs/cid-reformatting/

As an example, someone calls you on trunk "A". Caller ID is changed to add a 7 as the leading digit, You add an outbound rule (that applies to your extension, or all extensions), that routes a call to numbers dialed begin with a 7, to a rule that includes a caller ID that you wish to send for that call. You don't have to limit to a single prefix digit, so if you wanted to use 7, it could include 72,73,74,75, etc.

This could get a bit complicated if you have a large number of incoming routes, and, keep in mind all number to all extensions, would be affected by he caller ID reformatting, if the routes also go to other peoples extensions.
Thanks! Let me try this. I wish there was an easier solution to this as I have lot of numbers and this can become hard to manage!
 
@leejor always has useful suggestions. Maybe we can simplify the discussion just a little. @leejor just took his solution to a higher degree of automation and it may have added some complexity that makes the underlying solution a little harder to understand. However, once you understand the underlying solution, his suggestion will make more sense. Let me try to explain further.

You would need to create an outbound rule for each of the DIDs you want to present to callers when returning calls. This outbound rule would require a prefix (in @leejor example add a "calls starting with a 7" in the outbound rule definition. Then assign the desired outbound caller ID number to the outbound rule.

You will need a separate outbound rule (with a different prefix) for each DID you want to present.

When you want to send calls out a specific outbound rule, so the correct caller ID number is presented, you will have to add (prepend) the prefix to the number dialed. For example, if your prefix is "7" and the number you want to dial is "8016424655", you would need to dial "78016424655". My only additional advice is that adding a single digit prefix may not be enough. You may find adding a 3-digit prefix is safer. For example "7778016424655".

Finally, don't forget to "strip digits" (the "777") from the number before sending the call to your SIP provider!

This is the process that @leejor is describing, but he has then added the reformatting of inbound numbers so that you can return a call without having to manually add the "777" to the call :)
Thanks! This really helps!
 
Status
Not open for further replies.

Latest Posts

Members Online Now

No members online now.

Forum statistics

Threads
111,831
Messages
589,276
Members
164,660
Latest member
RJenkinsROCK