Skip to main content

Rotating Outbound Caller ID Every N Calls

Caller ID rotation (number carousel) cycles through your outbound Caller IDs in order. For example, if your company has two external numbers, you can configure the first 1,000 calls to go out from the first number, the next 1,000 from the second number, and then cycle back to the first. The rotation is handled by the 4phone platform. Your provider only needs to allow the carousel numbers as Caller IDs and confirm how it accepts Caller ID changes (see "What to Ask Your Provider").

Tip

Each line in the carousel is a pair: a SIP trunk and a Caller ID. The carousel selects a line based on the call count rather than time, so the number switches after the exact number of calls you specify.

In Plain Terms​

Imagine you have two numbers: Number A and Number B. A rule set to "every 1,000 calls" works like this:

Outbound Call NumbersCaller ID Seen by the Recipient
Calls 1 to 1,000Number A
Calls 1,001 to 2,000Number B
Calls 2,001 to 3,000Number A

The counter tracks outbound calls placed through the rotation profile. The call number determines which Caller ID is used. The counter is shared across all employees assigned to that profile: calls from two employees using the same profile increment a single shared counter.

What to Prepare​

Before configuring
  1. Your provider's SIP trunk is in Active status (under SIP Trunks).
  2. All numbers in the carousel are authorized by your provider as Caller IDs on the connection they use. Otherwise, the provider will reject calls sent with an unauthorized number.
  3. At least two numbers. A single number does not need rotation.
  4. Administrator role or higher. These users can create rotation profiles and modify their settings.

How Trunk Authentication Affects Rotation​

How Caller ID is sent to your provider depends on how the trunk is configured and whether the Override From header with line number option is enabled. This determines whether number switching will work.

  1. IP-authenticated trunk without a username. The carrier accepts calls from your IP address and allows multiple numbers as Caller ID. The line number is sent automatically in the SIP From header. The override option makes no difference for this type of trunk.
  2. Trunk with a username, option enabled (default). 4phone places the line number into the From header while keeping the username strictly for authentication. A single login can serve multiple carousel numbers if the provider accepts a From header that differs from the login username and permits those numbers as Caller IDs.
  3. Trunk with a username, option disabled. The login username is sent in the From header, so the provider sees the login number rather than the line number. In this case, each number requires a separate trunk with its own login credentials.
Check

This option only changes the From header on the 4phone side. The trunk's username, password, and host remain unchanged. If your provider does not accept a From header that differs from the login username, it will reject the calls. In that case, disable the option and set up a separate trunk login for each number.

Important

4phone does not modify the P-Asserted-Identity header. If your provider reads the caller number from P-Asserted-Identity, this option will not help, and you will need a separate login for each number. For registered trunks, confirm with your provider whether they accept a From header different from the registered username.

Step 1. Create a Rotation Profile​

  1. Open Extensions.
  2. Select the extension of the employee who will place calls using the carousel.
  3. In the Outbound Number Rotation Profile section, click Create Rotation Profile.
  4. Enter a name, for example Two Company Numbers.
  5. In the Number Selection Mode field, select Rotate number every N calls.
  6. In the Calls per number field, enter 1000.
  7. Check the Override From header with line number option. It is enabled by default. For an IP trunk without a login, it changes nothing. If your provider does not accept a From header different from the login username, disable it.
  8. In the lines section, select the Line SIP Trunk and enter the CallerID for Number A in the exact format confirmed by your provider (9 or 12 digits). Suggestions are populated from the DID numbers assigned to that trunk. Click Add Line.
  9. Add a line for Number B. If both numbers share the same trunk, select the same trunk and enter Number B. If each number has its own login, select the corresponding trunk for that number.
  10. Click Create and Select Profile.
  11. Save the extension card. Without saving, the profile will not be attached to the extension.

The first line added is used for the first block of calls. To change the order, create a new profile with the desired sequence and select it in the extension card.

Important

Leave all carousel lines at the same priority (default is 10). If priorities differ, the carousel only rotates among the highest-priority lines and uses lower-priority lines only as a fallback when primary lines are unavailable.

Step 2. Verify That the Number Rotates​

  1. Open the extension card with the rotation profile attached.
  2. In the rotation section, set Calls per number to 1 and click Save.
  3. Place 2-3 outbound calls to your mobile phone. The Caller ID displayed on your phone should change after every call.
  4. Change the value back to your desired block size, such as 1000, and click Save.
  5. Click Reset Counter. After resetting, the next call will start again from Number A.
Tip

If the number does not change during your test, check the "Common Issues" section below first. Most often, an outbound route is intercepting the call or the provider has not authorized Caller ID switching on that connection.

How to Read the Counter​

Below the profile field on the extension card, you will see:

  1. the mode and block size, for example "Rotate number every 1000 calls";
  2. the number of calls placed since the last reset.

The counter increments on every outbound call attempt made through the profile. Unanswered and busy calls also count toward the total.

Important Things to Know​

  1. Outbound routes take priority. If the dialed number matches an outbound route rule, the call will follow that route and the rotation profile will not be used. Check your rules in Outbound Routes and Number Formatting.
  2. Manual trunk selection bypasses rotation. If a user manually selects a specific trunk in the softphone, the call goes out through that trunk without number rotation.
  3. Line Caller ID overrides DID. Even if an inbound DID is linked to the extension, outbound calls using the carousel will use the line's Caller ID.
  4. Cooldowns. Per-line post-call cooldowns do not apply in call-count rotation mode because they would disrupt the exact block sequence. However, per-destination cooldowns (a profile setting used for auto-dialer campaigns) can exclude a line from a block, causing the call to use another line.
  5. The counter does not reset automatically. Changing the block size does not zero out the counter. Click Reset Counter whenever you want to restart from the first number.
  6. One profile, one counter. If you create a separate profile for each employee, each employee will have an independent counter and rotation cycle.
  7. Auto-dialer attempts also count. If the profile is used in an auto-dialer campaign, every dial attempt increments its counter. It is best to create a dedicated rotation profile for auto-dialer campaigns.
  8. The From override option only applies to rotation profiles. It does not affect calls outside rotation mode.

What to Ask Your Provider​

Before configuring rotation, clarify four things with your provider:

  1. Whether all numbers in your carousel are authorized as Caller IDs on your connection. Every number you add to the profile must be on the provider's allowlist.
  2. Which number format is accepted: 9 digits (XXXXXXXXX) or 12 digits (998XXXXXXXXX). The line number is sent in the exact format you enter.
  3. Whether the provider supports changing Caller ID between calls on a single connection, or requires a separate login per number. Also ask whether they accept a From header number that differs from the login username.
  4. How many concurrent channels are allocated to your connection (for example, 31).

Their answers will determine which setup from "How Trunk Authentication Affects Rotation" applies to you. You can copy and send the message below to your provider:

Hello. We are configuring outbound Caller ID rotation across our numbers on our SIP connection.

1. Please confirm that all numbers we plan to use as Caller ID are authorized on our connection. We will share the list of numbers separately.
2. Which Caller ID format do you accept: 9 digits or 12 digits (998XXXXXXXXX)?
3. Do you accept different Caller IDs across calls on a single connection (single login)? If not, do we need a separate login for each number?
4. Do you accept a number in the SIP From header that differs from the login username on this connection?
5. Please confirm our concurrent channel limit.

Common Issues​

All calls go out from a single number​

Check the following in order:

  1. The rotation profile is selected in the extension card, and the card has been saved.
  2. The profile contains at least two active lines, and each line's trunk is in Active status.
  3. No outbound route is intercepting the dialed number.
  4. The call is not being placed with a manually selected trunk in the softphone.
  5. The Calls per number value is not set too high for testing. Set it to 1 to verify.

The number rotates, but the provider rejects the calls​

This happens for one of two reasons: either the number is not authorized as a Caller ID by the provider, or the provider does not accept a From header that differs from the login username. Ask your provider to verify both points. If they do not allow overriding From, disable Override From header with line number in the profile and configure a separate trunk login for each number.

The recipient sees the wrong number​

Check the following in order:

  1. For a username-authenticated trunk, Override From header with line number is enabled.
  2. The number in the line is entered in the exact format accepted by the provider.
  3. The call is going through the carousel line rather than a manually selected trunk.

If your provider reads the caller number from P-Asserted-Identity, overriding From will not help. In that case, you need a separate login for each number.

Next, it is helpful to review How to Connect a SIP Trunk and Common Issues and Quick Fixes.