Skip to content

Caller ID: what it is and how to set it on VoIP calls

Caller ID is the number the person you call sees. In this guide you will find how Vohippo decides which number to present, how to set it on a phone or a PBX, how a number is verified and why a call is sometimes rejected with «Caller ID not allowed».

12 min readUpdated

What caller ID is and why it matters

Caller ID, also called CLID (Calling Line Identification) or CLI, is the number that appears on the phone of the person receiving the call. When you ring from an office in Rome, the customer sees for example 06 1234 5678 and knows straight away who is calling: caller ID is the business card of your phone call.

On traditional lines the number was tied to the copper pair: you called from that line and that number went out. With VoIP the call starts from a SIP account, which may live on a desk phone, an app or a PBX in another city. That is why the number to present has to be chosen and declared, and the provider has to check that you are entitled to use it.

The check is not a whim. Showing a number that is not yours is the most common trick in phone fraud (spoofing), and providers that let false numbers through end up blocked by other providers. That is why on Vohippo every caller ID must be yours: a number bought on the platform or a number from another provider that you have verified. There is no anonymous outbound calling: a call without a valid caller ID is rejected.

Fixed or «Taken from the call»: who decides the number

Every SIP account has an outbound caller ID setting, with two ways of working.

Fixed caller ID on the account

You pick a number from your list of caller IDs and assign it to the account. From then on the fixed number always wins: whatever the phone or PBX sends, the call goes out with that number. It is the right choice for a desk phone, for the app on a colleague's mobile or for anyone who must always present the same number.

«Taken from the call (must be one of your caller IDs)»

In this mode the device says which number to show, call by call. It is useful when a single account sits behind a PBX with several numbers: for example a company with a Milan number and a Turin number that wants calls from the Turin office to go out with the Turin number. The PBX writes the number into the call and the platform accepts it only if it is one of your caller IDs.

SituationRecommended setting
One person's phone or appFixed caller ID
PBX with a single numberFixed caller ID
PBX with several numbers or sites«Taken from the call»
Call centre using different numbers for different campaigns«Taken from the call»

The SIP headers: P-Asserted-Identity, Remote-Party-ID and From

When you choose «Taken from the call», the platform looks for the number inside the SIP request (the INVITE that opens the call). It reads it in this order, and stops at the first one it finds:

  1. P-Asserted-Identity: the header designed precisely to say «this is the identity of the caller» between systems that trust each other.
  2. Remote-Party-ID: an older header that some PBXs still use instead of the previous one.
  3. From: the sender of the request, present in every SIP call.

The difference between the three matters above all for the authentication type of the account.

  • An account using «Username and password» is recognised by the username the phone or PBX authenticates with. The From field is therefore free, and you can put the number to show in it.
  • An account using «IP address» is recognised by the address the call comes from. Here the number goes in P-Asserted-Identity, which is the recommended route, or in the From.

Accepted formats

The number can be written in several ways, but not in every way. Here is how the platform reads the most common formats, using the example number 06 1234 5678 (an Italian Rome number).

How the PBX writes itIs it recognised?
+390612345678Yes, international format with the +
00390612345678Yes, international format with 00
0612345678Yes, national format
390612345678No: without + or 00 the country code is not recognised

Numbers written without an international prefix are interpreted in the country of the mobile number you verified as the account holder. If your verified mobile is Italian, 0612345678 becomes +390612345678. If you work with numbers from several countries, the format with a leading + removes all doubt.

The 390612345678 case is the most frequent mistake: some PBXs strip the + when they build the headers. If you see rejected calls and the number looks right, check first whether the + or the 00 is missing.

How a caller ID is verified

Numbers you buy on Vohippo are ready to go: they appear among your caller IDs as «Native CLID» and there is nothing to do. For a number you hold with another provider, for example the office's long-standing landline or the company mobile, you need a verification that proves the number is yours.

  1. In the portal, open the caller ID section and add the number, in international format.
  2. Choose how to receive the code: SMS, WhatsApp or voice call. For a landline use the voice call, because a landline usually cannot receive SMS.
  3. Answer the call or read the message on the number being verified and note down the code.
  4. Enter the code in the portal. The code is valid for 10 minutes and you have 5 attempts.
  5. The number joins your list of caller IDs and you can assign it to an account or use it with «Taken from the call».

If the code expires, request a new one. If the landline sits behind a PBX with a voice menu, make sure the verification call reaches a person, otherwise the code gets lost in the menu.

Native CLID and external CLID: what changes

Native CLIDExternal CLID
What number it isA number bought on VohippoA number from another provider, verified
VerificationNot neededSMS, WhatsApp or voice call
Cost of the caller IDNothing beyond the number's fee€0.02 per answered call
Call routingNormalCalls go over international routes

An external CLID is handy when you want to keep showing the company's long-standing number, which stays with the old provider. It has two consequences you should know about. The first is cost: €0.02 for every answered call that goes out with that number. The second is technical: these calls travel over international routes, because many providers accept another provider's number only on those routes.

If the long-standing number is the one customers know and you want to manage it entirely from the platform, consider external numbers: the platform keeps the number registered with the old provider using its SIP credentials, for €1.00 a month, and routes it like the others. It is not number porting: the number stays with the other provider.

There is also the case of a WhatsApp number as caller ID: with a number enabled for WhatsApp calls you can call over WhatsApp, but only users who have given you their consent, and the consent lasts 7 days.

Why a call is rejected with «Caller ID not allowed»

When you find «Caller ID not allowed» in the call report, the platform received a call with a number that is not among your verified caller IDs and stopped it before it went out. The causes are almost always these.

  • The number is not verified: you entered it in the PBX but did not complete the verification in the portal.
  • The format cannot be read: the PBX sends 390612345678 without + or 00.
  • The wrong header wins: the PBX sends in P-Asserted-Identity a number different from the one you think you set in the From.
  • The number is missing altogether: the PBX sends the call as anonymous, or with the extension name instead of the number. On Vohippo you cannot call anonymously.
  • The account is in the wrong mode: you chose «Taken from the call» on an account whose phone sends its extension as the number (for example 201).

The quickest way to understand what happened is the extension's SIP log, which the portal keeps for the last 7 days: you look at the INVITE and see exactly what was in P-Asserted-Identity, Remote-Party-ID and From. For a single phone, the simplest fix is often to switch to a fixed caller ID.

Examples: password-based PBX and IP-based PBX

The examples use Asterisk with PJSIP, but the logic applies to any PBX: only the place where you write the number changes. The full trunk configurations are in the guides for Asterisk, FreePBX and 3CX.

PBX with an account using «Username and password»

The account is recognised by its username, so the number only needs to be in the From. In Asterisk the From is built from the call's caller ID:

[uscita]
exten => _0X.,1,Set(CALLERID(num)=+390612345678)
 same => n,Dial(PJSIP/${EXTEN}@vohippo)

exten => _3X.,1,Set(CALLERID(num)=+390612345678)
 same => n,Dial(PJSIP/${EXTEN}@vohippo)

With the account set to «Taken from the call», changing CALLERID(num) per site or per department lets each group of extensions go out with its own number, as long as it is one of your caller IDs.

PBX with an account using «IP address»

Here the number goes in P-Asserted-Identity. In Asterisk a header on the outbound channel is added with a routine run before the call (the b() option of Dial):

[uscita]
exten => _0X.,1,Set(CALLERID(num)=+390612345678)
 same => n,Dial(PJSIP/${EXTEN}@vohippo,,b(aggiungi-pai^s^1))

[aggiungi-pai]
exten => s,1,Set(PJSIP_HEADER(add,P-Asserted-Identity)=<sip:[email protected]>)
 same => n,Return()

In PBXs with a graphical interface, such as 3CX or FreePBX, there is usually a field for the trunk's outbound caller ID and one for the extension, plus an option to choose which header it is written to. If the account is IP-based, choose P-Asserted-Identity.

Caller ID on forwarded inbound calls

Caller ID also matters when a call arrives on one of your numbers and you send it elsewhere. In call routing, the «Forward to a number» module has the option «Show the original caller number», on by default: on the mobile you forward to, you see who is really calling, not your virtual number. Remember that the forwarded leg is charged as an outbound call, according to the rates.

If instead you ring SIP accounts with «Ring SIP accounts», the phone and the app show the caller's number directly. To set up a number from scratch, start from the guide on how to set up an inbound number.

You can see how caller ID, ringing and voicemail fit together in real cases in the sector examples: the law firm that calls from mobiles with the firm's number, the accountants with several offices who each go out with their own area code and the car repair shop that calls customers back from the app. For ringing there is the guide on simultaneous or sequential ringing, and for messages the one on VoIP voicemail.

Frequently asked questions

Can I call with a withheld number?

No. On Vohippo every outbound call must have a valid caller ID, that is a number of yours: a number bought on the platform or a number from another provider that you have verified. An anonymous call is rejected.

Can I show the landline number from my old provider?

Yes, once you have verified it with a code by SMS, WhatsApp or voice call. It becomes an external CLID: it costs €0.02 for every answered call and calls with that number go over international routes.

Why does the PBX send the right number but the call is rejected?

The problem is often the format, for example 390612345678 without + or 00, or a P-Asserted-Identity with a different number from the one in the From. Look at the INVITE in the extension's SIP log, available for 7 days, and check which number actually arrives.

Can each PBX extension go out with a different number?

Yes, if the PBX account is set to «Taken from the call» and all the numbers are among your caller IDs. The PBX chooses the number call by call and writes it in P-Asserted-Identity or in the From.

Does a virtual number bought on Vohippo need verifying?

No. Numbers bought on the platform appear straight away among your caller IDs as «Native CLID» and can be assigned to an account or used with «Taken from the call». Verification is only needed for numbers you hold with another provider.

The verification code does not arrive on my landline: what should I do?

Choose the voice call instead of SMS, because a landline usually cannot receive messages. If the landline is behind a voice menu, make sure the call reaches a person within the 10 minutes for which the code is valid.

More guides

Guide: virtual numbers

A virtual number is a real phone number, with the area code of the city or country you choose, that is not tied to a physical line: calls arrive over…

SIP trunking

A SIP trunk is your company's phone line running over the internet instead of a copper pair. It plugs into the PBX you already have, or straight into…

Guide: SIP trunk on Asterisk

This guide walks you through the full setup of a Vohippo trunk on Asterisk with the PJSIP driver (Asterisk 16 and later): every section of pjsip.conf…

Guide: SIP trunk on 3CX

How to connect a Vohippo SIP trunk to a 3CX PBX, from creating the account in the portal to the first call. Panel labels change between 3CX versions,…

Call routing modules

Every Vohippo number follows a flow made of steps, and each step is one of the nine modules available. Here you will find what each module does,…

Virtual numbers

A virtual number is a real phone number, with the area or country code you want, that is not tied to a physical line: calls arrive over the internet…

Try the AI demo in real time

The AI Secretary you set up in Vohippo answers you exactly as it would for your company: it sends you an exact summary of the conversation and only puts the call through when needed. You set the rules, from the app too.

Speaks 32 languages: hello

Let's talk: the demo is given by a person, not a video

One of our operators walks you through the portal live and answers the questions that matter for your case. If you would rather write, we are on WhatsApp.

Signing up is free and with no commitment: we credit your account with trial credit so you can make your test calls.