If you've moved more than a few hundred numbers between carriers, you already know the timeline you got quoted and the timeline you actually hit aren't the same thing. The losing carrier has more leverage than most people realize, and a single mismatched field on the LOA can stall a 500-number port for a week. This is what actually happens, where it breaks, and what you can do upstream to keep a bulk port from turning into a partial port.
What "bulk porting" actually means in practice
There's no universal cutoff, but most carriers treat anything over ~50 numbers as a project port rather than a simple LNP request. Project ports go through a different queue, often with a dedicated porting coordinator on both sides, and they get scheduled around a firm cutover window instead of trickling through automation.
That distinction matters because the SLAs are different. A simple port might clear in 2–4 business days. A project port of 500 numbers across multiple rate centers can take 2–4 weeks end to end, and that's when nothing goes wrong.
The realistic timeline
For a clean bulk port — single losing carrier, single BTN, all numbers active, CSR matches — here's what you should plan around:
- Day 0: Submit LOA + CSR + number list to gaining carrier
- Day 1–3: Gaining carrier validates, scrubs the list, submits to NPAC/losing carrier
- Day 3–7: Losing carrier acknowledges, either accepts or fires back rejections
- Day 7–14: FOC (Firm Order Commitment) date set, typically 7–10 business days out
- FOC day: Cutover window, usually a 2–4 hour activation window
If you're hearing "we can port 1,000 numbers in 48 hours," someone is either lying or already has those numbers on their network.
Where the losing carrier holds you up
This is the part nobody warns you about until it's already happening. The losing carrier is not on your side. They have no commercial incentive to make this fast, and several reasons to slow it down.
Legitimate rejections you'll actually see
- CSR mismatch. Name, address, BTN, or account number on the LOA doesn't match the Customer Service Record exactly. Punctuation counts. "Suite 200" vs "Ste 200" will reject.
- Pending order on the account. If the losing carrier has any open order — a feature change, a billing dispute, anything — they'll reject until it closes.
- Numbers not active. Suspended for non-payment, or already disconnected. Dead numbers can't port.
- Partial number list mismatch. You submitted 500 DIDs; the CSR shows 503. Some carriers reject the whole batch instead of porting what matches.
- Wrong BTN. The Billing Telephone Number on the LOA has to be the actual BTN on the account, not just one of the numbers in the block.
The less-legitimate stalls
- "Retention" holds. The losing carrier's retention team calls your customer and tries to save the account. Some carriers will sit on the port request while this happens.
- Slow-walking the FOC. They're allowed to take a few business days to respond. Some take all of them, every time.
- Rejecting on technicalities they could have flagged earlier. A CSR mismatch they could have caught on day one sometimes doesn't surface until day six.
There's not much you can do about the slow-walk other than build it into your timeline. The technical rejections you can absolutely prevent.
How to avoid partial ports
Partial ports are the worst outcome — some numbers move, some don't, and now you're managing two carriers for the same customer with split routing. Here's the prep work that prevents it.
Pull a fresh CSR first
Before you submit anything, get a current Customer Service Record from the losing carrier. Not a six-month-old one. The CSR is the source of truth for what the losing carrier thinks they have on the account — name, address, BTN, full DID list. Your LOA needs to match that document character for character.
If there are numbers on the CSR that shouldn't move, list them explicitly as exclusions. If there are numbers on your list that aren't on the CSR, find out why before submitting.
Match the LOA to the CSR exactly
- Business name: copy-paste from CSR, don't retype
- Service address: same
- BTN: same
- Authorized signer: someone whose name the losing carrier will accept
Stage the cutover
For anything over 100 numbers, ask the gaining carrier to break the port into waves — maybe 100-number batches across consecutive FOC dates. If one batch rejects, the others still move. It costs you a couple of extra days but eliminates the all-or-nothing risk.

Have rollback ready
Know what your cutover plan is if half the numbers activate and half don't. Who's monitoring SIP registration? Who's calling test numbers? Who has authority to call the losing carrier's porting desk during the window? Have a name and phone number, not a ticket queue.
What good gaining-carrier ops actually look like
This is what separates carriers who can handle volume from the ones who can't. When you're vetting a bulk DID provider, ask specifically:
- Do they pre-scrub your number list against the CSR before submission, or do they just forward whatever you send?
- Do they have a named porting coordinator for project ports, or does everything go through a generic ticket?
- What's their average FOC turnaround on project ports in the last 90 days? (If they can't answer, that's an answer.)
- Will they break a large port into waves on request?
- How do they handle rejections — do they refile automatically, or wait for you?
The provider checklist for resellers covers more of this. The short version: porting capability is the single biggest hidden cost in switching carriers, and it doesn't show up on a rate sheet.
Special cases worth knowing about
Toll-free porting
Different process entirely — toll-free numbers go through RespOrg changes, not LNP. Usually faster (3–5 business days), but the same CSR-match discipline applies.
Wireless-to-wireline ports
Slower, more documentation, and the losing wireless carrier has a longer window to respond. Plan on adding a week.
Numbers across multiple rate centers
If your bulk list spans rate centers, confirm the gaining carrier has interconnection in all of them. Numbers can port LNP into a rate center, but if the new carrier doesn't have local presence there, you may end up with routing that costs you more on outbound — relevant if you're doing local presence dialing. Inbound and outbound minutes are often priced very differently across rate centers, which is worth understanding when you review a wholesale voice rate deck.
Mid-port number changes
Don't. If you need to add or remove numbers from a pending port, most carriers will make you cancel and resubmit, which resets the clock. Get the list right the first time.
What to do next
If you have a port coming up:
- Pull the CSR before you do anything else.
- Reconcile your number list against the CSR line by line.
- Decide on wave size and cutover windows now, not the day before.
- Confirm your phone system is ready to accept the numbers — trunks provisioned, routing built, E911 records loaded — before FOC day, not on it.
- Have a human at the gaining carrier you can call during the window, not a ticket form.
Porting in volume is one of those operational areas where the difference between a carrier that knows what they're doing and one that doesn't shows up as days of downtime. The prep work is boring, and it's the entire job.