Below is an overview of Caller ID features and functions and how is integrated within the KAZOO platform.
User Stories
- A user wishes to see information about an incoming caller
- A user wishes to assign a unique name and/or phone number to outgoing calls based on the device or extension used. For example, if the extension is a mobile number, to set an outgoing “ID” to display as “XYZ Mobile.”
- An account wants to clarify when and how fees are assigned for Caller ID services.
- An account or user wants to assign a unique “prepending ID” to incoming calls based on its area code, or even its unique number. One example might be to prepend all incoming calls from a priority customer with “PRIORITY”.
- An account wants to filter out nefarious phone numbers based on its incoming caller ID.
- An Account has departments (such as sales, with a main support number). So customers don't have an internal number to call back directly, display the group’s main number and not the specific number of the associate.
About Caller ID
To an end user
Caller ID typically is associated with the display of a number (and sometimes a name) identifying the source of an incoming call. Caller ID is a service offered by your phone provider; it is either included as part of a broader “plan” or (less often in current systems) it is provided as an added line item with a monthly stipend.
To service providers
Caller ID information is provided to the phone companies by independent databases who collect their data from phone contracts, directory assistance lists, and other means.
For numbers outside of a company’s own data, (e.g. for Verizon to get a Sprint CallerID) they pay a fee for the data and attach the information to the call data. Recent fees have been a penny for each lookup (or call). Initially, this was a “line item add-on” for users, however more recently the fees they pay are passed on to the user are included as part of a larger package.
Landline v. VoIP v. Cell Phone Caller ID
In the world of landlines
Caller ID Name is controlled by the receiving carrier. If a customer with an old-school landline receives a call, and subscribes to their local phone company's Caller ID Name service, the RECEIVING phone company will lookup the name of the caller in the LIDB system, which is like a national Caller ID database. This system costs money to insert entries into, and money to get them out of, so each time a call is received by the RECEIVING phone company, they have to actually pay a "dip" charge to lookup who the caller's name is. This is why this is a pay service. This is controlled by the LIDB. 2600Hz charges $5 to update this DB for your numbers. This has to be set in advance and allowed 48 hours to propagate and can't be changed on the fly or sent with the SIP packet.
In the world of VoIP
Caller ID Name is still controlled by the receiving carrier. In this case however if the receiving carrier is interconnected all the way through via a fully IP based network, then to save money some of them SKIP the lookup in the LIDB and instead use what is on the SIP packet. This is a choice they make. If they do this, it means that the LIDB setting will be ignored, and what you send in the IP packet is what they will use.
And then there’s cell phones
Cell phone carriers don't support any of this and use their own database, which is often a hodgepodge of data they've scraped off the white pages, the web and the LIDB (or sometimes they just don't offer Caller ID Name at all). Most cell phone carriers don't even show names on received calls from landlines or VoIP circuits.
Caller ID Technical Terms
The “Caller ID” term users associate with the name and number displayed on their phone or in their PBX system is one of many related terms associated with the Caller ID process. Below is a list of some of thse related terms:
Caller ID (CID)
Technically this term refers only to the number provided by the database service used, or (in the past), arbitrarily set by the user. In some cases the name is also included.
Calling Name Presentation (CNAM)
A service that adds the name associated with the phone number.
Billing Number (BPN)
This refers to the number associated with the billing name.
Automatic Number Identification. (ANI)
This is the originating number that has been assigned a physical address. It is used for e911 routing and identification and must be assigned for each account.
Direct Inward Dial number (DID)
This term is used within a PBX system. It refers to a range of phone numbers that are allocated to a specific PBX system, associated with one or more phone lines. When a call comes through a phone line to a PBX system, it then routes to an internal extension or “DID”.
Line Identification Database (LIDB)
This is a generic term for a variety of independent databases that store caller ID names tied to a specific number. When a service is looking for a number not in its local inventory it makes a call to one of these external services.
Caller ID v. CNAME v. DID
-
CNAME
is the Name attached to the Provider service -
CallerID
is the alias or added name and number applied to the CNAME -
DID
is “Master Number” phone line provided by the telco company that is associated with a range of numbers it allocates to it in a PBX system.
Caller ID and FCC Regulations
Caller ID - Real and Spoofs
In most PBX systems, and through other “hack” techniques, there are features that allow users to add a unique name and phone numbers to the caller ID field that overrides the real phone number in the callee’s display. This has increasingly been used for spam phone calls and robocalls - a caller will set an identity phone number that represents a local friend or family member to bypass human filtering. Over 25 Billion calls were tracked by the FCC in the first nine months of 2019.
Caller ID SPAM Laws - STIR/SHAKEN
The FCC has been adding new laws to help suppress these practices and protect the consumer from nefarious uses. The most recent law is to require service providers to use a suite of protocols called STIR/SHAKEN (short for Secure Telephone Identity Revisited and Secure Handling of Asserted information using toKENs). This law requires telephone providers to guarantee the Caller ID and ownership of all phone numbers they service using a token. The deadline for large carriers in the US to implement this is June 30, 2021. If the service providers are caught not certifying they are subject to a hefty fee.
Caller ID Standards in KAZOO
KAZOO allows for Caller ID to be set per device, user or entire account. Caller ID should be set on each user if they have a unique DID.
In KAZOO, the following is an overview of 2600Hz standards for setting Caller-ID values.
-
Caller ID data in SIP Headers
Some networks and providers transmit the Caller ID data they know from their internal data in their softphone, or SIP packet data. This is a way to avoid using the independent databases, but may or may not be supported and retained by the receiving carrier and passed on to the receiver. 2600Hz does include the data it finds in your account related to caller ID in its SIP packet, and sends it “upstream” to the provider. Some providers forward this added data while others only forward the initial DID information. -
STIR/SHAKEN Support
Historically, the strategy to filter spam and robocalls was through a reputation-based protocol. We had allowed personal additions to the outgoing caller ID field and implemented checks to catch spam and spoof activity.
We are in the process of updating our protocols with token based certifications per the new law and expect to implement it to meet the FCC deadline.
NOTE: Our implementation will only be certifiable with numbers purchased through 2600Hz. If you are a BYOC customer and acquire your numbers through a separate source, it is your responsibility to ensure your numbers are certified. -
Caller ID Preferences
Caller ID can be set in multiple places, so it’s important to understand how you can send a Caller ID.
When an outbound call is made from the system, KAZOO decides what Caller-ID to display in the following order:
-
Check device first, then user, then account. Use whichever we find first.
Some example use cases below:
- If Caller ID is set explicitly on the device, use it. This is useful if a single user has devices in two different locations
- If no Caller ID was set on the device (see #1), check if Caller ID is set on the user who owns the device. If so, use it. This allows a single user with multiple devices to have the same Caller-ID across all their devices, even if they change their device or utilize Hot-Desking to login and out of a device
- If No Caller ID was on the device (see #1) OR the user (see #2), check if the Caller ID is set on the account. If it is, use it. This allows a generic account “main number” to be used when #1 and #2 are not set. You can intentionally not set Caller ID on ANY user or device to always have EVERYONE’S caller ID show up the same way across the entire account, or use this feature as a “fall back” for phones that don’t have a direct dial number or don’t want their Caller ID to show up
Sample Routing Diagram
Below is an overview diagram of the routing of calls and the Caller ID Terms related
Caller ID related Terms in Monster UI
Dynamic Caller ID |
This is a separate app that enables (legal) spoofing. |
Emergency Caller ID |
Assigns number and physical location for Emergency 911 calls |
Faxbox Caller ID |
Assigns a name and number to a faxbox that gets printed on fax |
Hot Desking ID |
Assigns an ID to a device so it can be hot-desked to another device |
In-House ID |
ID for calls within an account, name and number/ext.? |
Inbound ID |
Enables viewing an incoming caller ID |
Outbound ID |
Sets your ID for outbound calls |
Prepend ID Inbound |
Assigns a text string to an inbound call based on its number In KAZOO’s SmartPBX and Callflows applications there is an option to “prepend” a caller-ID, for both incoming and outgoing calls. This field is only used within the account, for internal reference. It is a helpful tool to identify calls to/from different departments, and calls to/from specific clients or services. |
Prepend ID Outbound |
Assigns a text string to an outbound call based on its number |
Presence ID |
In callflows under device CallerID |
Preserve Caller ID |
Keeps the original CallerID when a call is forwarded for example, instead of using the more recent endpoint. |
-
If you change the Caller ID for a DID in SmartPBX (for example if a new employee takes over an existing number) it can take up to 24 hours for the re-registration to take effect.
-
When KAZOO makes a call with caller ID number, it first checks the SmartPBX setting and will use that. The receiving carrier decides whether they use the ID we have defined or the DID from a different directory (e.g. LIDB)
Where to find Caller ID Settings in the Monster UI Applications
Unless otherwise stated, if you add or change a setting in one application, it will be reflected in another (for example, changing your device Caller ID in SmartPBX will also change the setting in Callflows).
Application |
Where to find the setting
|
What it does
|
|
---|---|---|---|
Accounts
|
Numbers Features
|
|
|
Control Center |
|
Sets privacy settings for User’s outgoing calls |
|
SmartPBX
|
Numbers | Gear Settings - Caller ID
Users | Gear Settings - Caller ID
Groups | Caller ID Prepend
Main Number | Gear Settings - Caller ID
Devices | Wrench icon | Advanced
Devices | Wrench icon | Advanced | Privacy
Feature Codes | Feature Code Button Setting
|
Sets outbound ID info for a specific number
Assigns outbound ID
Assigns CallerID Prepend to specific incoming # string.
Sets outgoing Caller ID for Main Number Enables inbound ID to display on the screen.
Keep ID preserves the ID attached to the User
Caller ID Privacy determines what is displayed in outbound calls off-network.
View-only field set by the phone configuration in Provisioner. |
|
CallFlows
|
Account Settings | Caller ID
Account Settings | Feature Codes
Device | Advanced Settings
Faxbox | Caller ID
User | Basic
User | Advanced
User | Hot Desking
|
Sets the CallerID at the Account level / Main Number Sets the Emergency CallerID for the Main Number
Sets Privacy Feature Code NOTE: Check with your device manufacturer for conflicts.
Defines
-- Presence ID
Sets
-- Fax box outgoing name
Sets
-- in house name and #
Sets additional fields to above including
-- Presence ID
Sets # ID for Hot Desking In order to enable hot-desking from another device, a numeric number or # is required. |
|
Number Manager
|
Spare Numbers & Numbers in Use | Gear Caller-ID
Prepend Setup
e911 Location
|
Sets Outgoing Caller ID for Main Number Enables Inbound ID to display on the screen Accesses / Saves same data field as Smart PBX
Text field appears before number when receiving a call. Used to better identify which # called when you use more than one.
Assign a physical location to this number for e911 emergency services. Req’d for Kari’s Law |
|
Provisioner
|
Defines if caller name or number should be displayed first in the device. |
||
|
Notes on Setting Caller ID in KAZOO
-
KAZOO allows for Caller ID to be set per device, user or entire account. Caller ID should be set on each user if they have a unique DID.
-
Caller ID doesn’t need to reflect anything related to the callflow being used or even the particular person making calls. It must simply be a valid Caller ID that can be presented to the person being called.
-
If you have departments (such as sales, with a main support number) and you want to avoid customers calling back representatives directly, you should consider displaying the group’s main number and not the specific number of the associate.
-
You must ensure Caller-ID is set correctly for the “Emergency Caller ID” on the account in order for 911 to work.
-
A general account Caller ID should always be set, otherwise features may not work properly.
Caller ID Priorities and Hierarchies
When KAZOO makes an outbound call, it starts by using the assigned DID number, and then adds any personalizations it finds. It looks in this order:
Device → User → Number → Account
Caller ID can be set in multiple places, so it’s important to understand how you can send a Caller ID. When an outbound call is made from the system, we decide what Caller-ID to display in the following order:
Check device first, then user, then account. Use whichever we find first. The use cases are as follows:
-
If Caller ID is set explicitly on the device, use it. This is useful if a single user has devices in two different locations
-
If no Caller ID was set on the device (see #1), check if Caller ID is set on the user who owns the device. If so, use it. This allows a single user with multiple devices to have the same Caller-ID across all their devices, even if they change their device or use Hot-Desking to log in and out of a device
-
If No Caller ID was on the device (see #1) OR the user (see #2), check if the Caller ID is set on the account. If it is, use it. This allows a generic account “main number” to be used when #1 and #2 are not set. You can intentionally not set Caller ID on ANY user or device to always have EVERYONE’S caller ID show up the same way across the entire account, or use this feature as a “fall back” for phones that don’t have a direct dial number or don’t want their Caller ID to show up.
FAQs: Troubleshooting Caller ID Issues
If I have a caller ID set for my Bria phone, and a different one set in my user preferences in SmartPBX, which ID will be displayed when I make a call out?
KAZOO will look to the ID attached to your device first, your user second, and the account last. In this case, if you set the CallerID for your device within KAZOO, the device ID will be the one transmitted.
I want my caller ID to show a single value regardless if I use my cell phone, my Bria, or my softphone.
The most simple solution for this is to only define your caller ID at the User level. Leave the device level fields blank, as KAZOO will look there first, and if nothing is found move up the chain to the user level.
How can I set my account so that all outgoing calls show our Account name only, and not the name of the User or device?
First, review the section above that describes different Caller ID lookup steps for landline, VoIP, and Cell phone registrations.
-
If you have landlines in your account, set the LIDB and pay the $5 charge so landlines will receive a name that is mapped to a phone number
-
Make sure, at minimum, there is a Caller ID Name set on the account-level and on the user-level for all of your users and accounts, and a Caller ID Number. Also ensure that whatever you set here also matches what you set in #1.
Please note that what a receiving party chooses to display is their choice and not something we can control, but we do control what's in the SIP packet and the LIDB - which you can update in your GUI
How can I control the outbound Caller ID?
If you use SmartPBX the Users configuration controls the Caller ID Name and Number.
Advanced Callflows allows you to manually edit the Caller ID Name and Number for device, user and account. Those are the only two things ever used to determine outbound Caller ID. The CNAM set on the number is never paid attention to.
A third option to control outbound CallerIDs is to use the Dynamic Caller ID application. There is more information on that here.
Can I update the CallerID information that is in the LIDB library?
You can send a request to update the LIDB library from the Numbers application. Note that when making calls after you change the setting it make take up to 48 hours for the receiving end to see. your change. The timing depends on the status of various caches and the timing of your request within the carrier cycles.
API Docs related to Caller ID
docs.2600hz.com
Edited by Emily R (show revisions)
Recommended Comments
There are no comments to display.