Wholesale SIP Number Management
A comprehensive set of APIs which underpin Colt’s Wholesale SIP service. These APIs enable you to activate new phone numbers and port-in existing phone numbers to Colt in a sandbox environment with a “try it out” feature or in the production environment.
- Introduction
- Fair use policy & Security
- Number Allocation Rules
- Number Life cycle
- Number format & status
- Order Management
- Port Numbers (Port In/Out)
- Error Management
Wholesale SIP (Number Hosting) is Colt Wholesale SIP trunking with on Demand Number Management supporting high volume transactions (reservation, activation, porting) via our Numbers on Demand (NOD) portal and our APIs. We have pan-European coverage in 20 countries, with full regulatory compliance and a uniform experience for Carrier Grade SIP Trunks.
Wholesale SIP addresses Service Providers with their own VoIP platform who want to build, integrate and sell their own VoIP & Cloud solutions under their own brand to their business end-customers. We are the digital infrastructure provider, underpinning Hyperscalers' & OTTs' growth in the Cloud Voice market.
We are a one stop shop, enabling you to order new geographic & nomadic numbers, as well as Port-In numbers over API and in our NOD portal for your end-customers. This gives you an opportunity to simplify your business processes, build E2E automation, and deliver a high quality end-customer experience.
Colt Wholesale SIP APIs are based on REST JSON. Our Next Gen REST APIs:
- Conform to the Industry standard REST-JSON APIs
- Align with TMF conventions
- Support OAuth2.0 and JWT based authentication and authorization
- Support open API specifications (earlier swagger)
- Support flexible version management
- Optimized fields and offer a standard format for numbers, date-time, etc.
List of Wholesale SIP (Number Hosting) Countries
Please find below country supported in Colt APIs:
Country |
Country Code |
Zone A |
|
Austria |
AT |
Belgium |
BE |
Denmark |
DK |
France |
FR |
Germany |
DE |
Ireland |
IE |
Italy |
IT |
Netherlands |
NL |
Portugal |
PT |
Spain |
ES |
Sweden |
SE |
Switzerland |
CH |
United Kingdom |
GB |
Zone B |
|
Luxembourg |
LU |
Slovakia |
SK |
Finland |
FI |
Norway |
NO |
Czech Republic |
CZ |
Romania |
RO |
Poland |
PL |
Our full list of terms and conditions, alongside our acceptable use policy is available below.
Germany: 100+ Range Allocation
German Regulator Bundesnetzagentur (BNetzA) defines the maximum range sizes for new subscribers in the document ‘Struktur und Ausgestaltung des Nummernbereichs für Ortsnetzrufnummern‘.
A German and an English version are available on the homepage of BnetzA:
- Bestimmung der Anzahl zuzuteilender Rufnummern bei durchwahlfähigen VoIP-Anschlüssen
- http://www.bundesnetzagentur.de/cln_1431/DE/Sachgebiete/Telekommunikation/Unternehmen_Institutionen/Nummerierung/Rufnummern/ONRufnr/Ortsnetze_Basepage.html?nn=268384
(Struktur und Ausgestaltung des Nummernbereichs für Ortsnetzrufnummern)
- https://www.bundesnetzagentur.de/EN/Areas/Telecommunications/Companies/NumberManagement/GeographicNumbers/LocalNumbers_Basepage.html?nn=404520
(Structure and configuration of the number range for geographic numbers)
For a block greater than 100, the allocation must be approved by BnetzA before assigning numbers to the end-customer.
Process is as per the following:
- Customer sends the request form to BnetzA
- Official timeline for BnetzA to answer is 3 weeks, but less than 1 week in practice.
- Customer sends the approval to Colt
- Customer can assign the numbers.
It’s the customer’s responsibility to engage with BnetzA and share the confirmation with Colt.
Request form is available below in German/English. It can be filled out in both languages; the other language will be populated automatically.
Austria
There is a private numbering plan in Austria. When you assign a single main number to an end-customer, the end-customer can configure or add digits/extensions (0-9 or 00-99 or 000-999 or 0000-9999) to the main number in their PBX, as per their needs. You do not need to inform Colt of the range of extensions/digits when (de/re) activating a number, submitting a port-in order or sending an address update – these transactions require the main number only. The end-customer’s emergency address is entered and stored at the main number level, and not at the extension level.
France: Hosted customer numbers
There are 2 important Regulatory changes impacting the use of phone numbers in France, which came into effect on 1st January 2023:-
1. The resale of geographic and location independent numbers for outbound voice services is forbidden
2. France no longer has 400+ local area codes. 01-05 numbers are available for use throughout mainland France
ARCEP, the Regulator in France, published further information on these changes here: https://www.arcep.fr/uploads/tx_gsavis/22-1583.pdf
If you are reselling Colt numbers to your end-customers under your own brand, then you need to take action to register with ARCEP and obtain your own numbers, which Colt can then host on your behalf. You can contact your Colt Account Manager to complete the order form to host your number blocks with Colt. For further information, please refer to these links to the Customer Q&A in English and in French.
Hosting your numbers
When we confirm your own numbers are available to use, you will be able to reserve and (pre)activate your own numbers, update addresses etc. As a result of the Regulatory changes above you will only need to search for numbers on the basis of the LAC: 01-05 and the LAC extension or search by city will no longer be available - should you need the historical reference, please refer to the Number Coverage file. Your own numbers will be available in ranges of 1, 10, 100 as requested in your order form. If you run out of single numbers, then our system will automatically take a range of 10 Free numbers and split this into 10 Free single numbers and similar logic applies if you run out of ranges of 10 etc. You can also view or query for your Free numbers in France and this enables you to monitor your own inventory and apply to ARCEP for new number blocks in good time – the E2E lead-time is 2-3 months depending on ARCEP, Orange & OLO availability during busy periods.
If you have obtained your own routing/porting prefix in France then you can select this when you port-in a number.
We will return deactivated numbers from your number blocks to your “free” pool of numbers at the end of the quarantine & frozen period. We will return numbers which were ported-out and which have been cancelled / deactivated by the end-customer into your “free” pool of numbers at the end of the quarantine & frozen period, using our established processes & system integration with APNF.
The responsibility to supply compliance reports or to comply with regulatory audits is yours. Colt will provide a clear view of your number inventory - the number status & end-customer data via our APIs & Numbers on Demand which you can use to meet these requests together with your own data.
Tri-partite agreement with Colt numbers
If you do not have your own numbers from ARCEP yet, then from 21st January 2023 you are responsible for submitting a tri-partite agreement with every order for new Colt number activations. The tri-partite agreement template can be found in English here and in French here. You are responsible for filling in your own company details, the numbers being ordered, entering the accurate address details of your end-customer and obtaining the end-customer’s signature.
France: Introduction of RIO codes for the wider business market
There are some changes to the use of RIO codes in France, which came into effect from 1st December 2023, pursuant to Arcep’s decision no 2022-2148.
A RIO code is a unique identifier associated to a telephone number, which is created when a consumer or small business request a new telephone number in France and its purpose is to facilitate the portability process. If they wish to move / port numbers to a new operator, then the new operator will request the RIO code provided by the current operator for each single telephone number from the consumer / small business in order to validate that the port order is legitimate and to implement the porting order. These RIO codes are not yet mandatory in the wider business market but this will gradually change.
The changes are:
- Colt, as a technical operator, must define a unique RIO code for every:
- Colt geographic or location independent number
- Geographic or location independent number ported-in to Colt
- Geographic or location independent number hosted by Colt on your behalf – this includes both new and ported-in numbers where you have mandated Colt as your OPTA (i.e. where we technically manage the porting of your numbers on your behalf)
- Colt must make these RIO codes available to you via a secure portal, which is our Numbers on Demand portal and over API and these will be available in our May 2024 release. Up until the May 2024 release, if you require the RIO code for e.g. a consumer / small business port, then please get in touch with FRPortingDesk@colt.net.
It is not foreseen that RIO codes will be required for number portability in the wider business market until 2025, due to the complexity of inter-operator process & system integration work and pursuant to Arcep’s decision.
In a wider context, if you currently support consumers, we would like to remind you that consumer-specific obligations apply pursuant to the regulations, including the provision of an IVR service through which you provide the RIO code associated to a specific number.
As an operator providing voice services in France, you are responsible for portability to your end-customers and other operators, even where Colt is technically managing portability for you as your OPTA. Obligations regarding how the RIO codes should be shared with your subscribers apply, as well as other obligations related to portability (i.e. additional information to be provided to your subscribers, contractual provisions, etc.). Obligations may vary depending on the customer type (business, small business, consumer) and the kind of service you provide (OTT, single-number or multi-number offers, etc.).
For further information please see this decision from ARCEP: https://information.colt.net/hubfs/22-2148_FR_Published%20document_22Mar2023%20en-GB.pdf
The RIO code will be present against each CLI in the Numbers on Demand portal when viewing the ‘Number Details’ and will be returned in the B2B API response (SOAP/HTTPs: getNumberDetails and REST: GET/CLIDetails) as well.
Portugal & Spain: Introduction of CIF/NIF/VAT ID check
In May 2024 we have introduced an external check on the CIF/NIF/VAT ID in Portugal and Spain against the European Commission’s VAT Information Exchange System (VIES). – see: https://europa.eu/youreurope/business/taxation/vat/check-vat-number-vies/index_en.htm. The reason is to improve the accuracy and validity of orders for new numbers and ports as explained below:
- The VAT ID/CIF is included in the CVP generated by Colt for an end-customer and is highly confidential. The CVP was introduced by the PT Regulator, Anacom, to give greater security to end-customers. End-customers must include their CVP in a future port order to prove their request is genuine.
- As requested by the ES Regulator, CNMC, the VAT ID/CIF/NIF must be uploaded into the emergency database in Spain and be an exact match to the registered end-customer name.
In Numbers on Demand portal you will see the extra validation step on the CIF/NIF/VAT ID in Portugal & Spain when activating a number, porting-in a number and updating an end-customer address, including bulk orders. In both Portugal and Spain if your end-customer has only recently registered for VAT and their details are not yet in VIES, then you can enter their VAT ID by selecting “NIF//CIF/VAT ID not registered” and your order will proceed as normal.
Spain: Number Type offerings
Number Type offerings |
‘Geo’ |
‘Geo-nomadic’ |
‘Nomadic’ |
Description |
LAC can be used only for the applicable city / town |
LAC can be used within the province for any city / town |
LAC can be used across entire country of Spain |
Local Area Codes (LACs) |
LACs starting with 8- Please refer to Number Coverage file present in www.colt.net/cocom |
LACs starting with 8- Please refer to Number Coverage file present in www.colt.net/cocom |
512/516 |
Free Number Search |
Yes |
Yes |
Yes |
LAC Validation |
Yes |
Yes |
No |
Port-in/ Port-Out |
Yes |
No |
No |
Quarantine Period |
30 calender days |
30 calender days |
30 calender days |
numberType (used for ‘Free’ number search |
Geo |
Geo |
Non Geo |
The below diagram provides a view of number status [cliStatus] transition based on API action:
The below diagram provides a view of number status [cliStatus] transition based on API action:
Colt REST APIs support these number formats:
- E164 international format, combination of {startFullNumber & endFullNumber} in the APIs
Example: French national number range 03.82.50.xx.x0 – x9
|
Split format to E164 format mapping
Austria (+43), Belgium (+32), Czech Republic (+420), Denmark (+45), Finland (+358), France (+33), Germany (+49), Ireland (+353), Italy Nomadic (+39), Luxembourg(+352),Netherlands (+31), Norway (+47), Poland (+48), Portugal (+351), Romania (+40), Slovakia (+421), Spain (+34), Sweden (+46), Switzerland (+41), United Kingdom (+44) :
Italy Geo (+39):
Germany (+49)
|
Please find the list of resourceStatus supported by Colt APIs, with associated country availability & description.
resourceStatus |
Country |
Description |
Free |
All |
Colt free number you can search and acquire, or customer owned numbers (FR only) |
Reserved |
All |
Colt Number in your stock, and/or customer owned numbers (FR only) Network is not configured & no end-customer assigned. Reservation period = 90 days. |
Allocated |
All |
Intermediate status for Colt number or customer owned numbers (FR only) during activation process. No action possible. |
Activated |
All |
Colt number in your stock, and/ or customer owned numbers (FR only) Network is configured & end-customer assigned (variance applicable for Premium offer). |
Quarantined |
All |
Following a deactivation, Colt number and/or customer owned numbers (FR only) stays in your stock during quarantine period as Quarantined. Network is not configured & no end-customer assigned. Quarantine period varies per country. For zone B country: when Colt perform hard cease, the numbers will move to this status |
PortIn_Allocated |
All except DE |
After port-in order has been confirmed (transactionStatus = Firm order commitment), ported-In number will appear in your stock as PortedIn_Allocated. Network is not configured & no end-customer assigned. No action possible. |
PortIn_Activated |
All |
Ported-In number in your stock. Network is configured & end-customer assigned. |
PortIn_Quarantined |
FR, NL, PT, CH, SE, ES, IT |
Following a deactivation, Ported-In number stays in your stock during quarantine period as PortIn_Quarantined. Network is not configured & no end-customer assigned. Quarantine period varies per country. Port-In Reactivation can be requested |
PortIn_Reallocated |
FR, NL, PT, CH, SE, ES, IT |
When Port-In reactivation is requested, the numbers goes into intermediate status. Network configuration and end customer re-assignment is in progress. No action possible. |
Port Out In Progress |
All except DE |
When a port-out request is raised for Colt-owned numbers which will be ported out from Colt’s network to new operator. No action possible. |
Transfer In Progress |
All except DE |
When a port-out request is raised for Ported-In numbers which will be ported out from Colt’s network and is scheduled to be transferred to new operator. No action possible. |
Return In Progress |
All except DE |
When a port-out request is raised for Ported-In numbers which will be ported out from Colt’s network and is scheduled to be returned to the original range holder. No action possible. |
PortOut |
All |
When Colt-owned numbers are ported out from Colt’s network |
Transferred |
All except DE |
When a ported-in number is ported out of Colt’s network and is transferred to new operator |
Returned |
All except DE |
When a ported-in number is ported out of Colt’s network and is returned to original range holder |
After order creation, a unique ID [orderID] will be returned to you.
orderID follows the below pattern and format:
|
Description |
Pattern |
32 character long (128 bit) |
Format |
“[A-Za-z0-9\-]{1,36}“ |
Maximum length |
36, including ‘-’ characters |
Example |
8700206f-c3b3-4c10-8cc2-2490f41eedc0 |
Your order will have a status [orderStatus], that will vary over the time and the scenarios.
Non porting related orders have a 2 steps update: ‘In progress’, from order creation until completion, and then the final status.
Please find below orderStatus and description:
orderStatus |
Description |
Next action |
In progress |
Your order is in progress, usually the first step. |
No action required. |
Completed |
Your order has been completed. |
No action required. |
Failed with error |
This error, also known as a business error Occurs when you have submitted incorrect information. |
Please review the error message, correct and resubmit the request. |
Please note: If a failure occurs whilst updating the Emergency Database for the order types below, a message: “Your order is technically completed and pending for emergency database update" will be shared as a new Order Description. Order types are:-
- Activation
- Deactivation
- Address Update
- Reactivation
- Port-In
- Port-Out
Email notifications will be triggered for Port-In and Port-Out orders with the same message. Post the successful completion of an order which reflects the successful update of the Emergency Database, the order description will be updated to: “Request has been processed successfully.”
Applicable for all countries except DE, DK and Zone B.
Porting related orders have multiple updates, at each key order milestone.
- For port updates, Colt API will return a new orderID, named ‘Child Order ID’.
- Please track child orderID to get status of the update (mainly for cancellation & date change) and please continue to track parent ID to get order status.
Please refer to porting sections for more information.
NL 088 numbers
We have automated the ability for you to port-in your own / your end-customers’ own 088 Nomadic Numbers in the Netherlands using our Port-in/out APIs and our NOD portal. 088 numbers give you and your end-customers full country coverage.
Port-In/Out journey :
The porting journey for 088 numbers is similar to the existing journey for geographic numbers, with a few exceptions. To Port-In 088 numbers:-
- It is mandatory that you provide the ACM document in addition to the mandatory LOA document.
- The ACM document must be provided in the ‘regulatoryAssignmentFileName’ / ‘regulatoryAssignmentFileContent’ fields
- LAC validation will not be applicable for orders with 088 numbers
- Address validation will be done
- ‘country’ field will only accept ‘NL’ as the value
- A combination of 088 numbers and other numbers with a different LAC in the same order will be rejected
- There is no change to the address fields or Directory Services update
Please note:
- The Porting Desk may receive a direct notice from the Regulator in the Netherlands (ACM/COIN) that 088 numbers under your account have been revoked. Colt NL porting desk will notify you of this revoke notification and inform you on the next steps to undertake and timelines.
- In case of no response or adequate actions, Colt NL Porting Desk will deactivate the affected numbers in the local registry and on the Colt network as per regulatory obligations.
Activation journey:
Activation of 088 numbers should be placed using PortIn API.
To Activate 088 numbers:-
- It is mandatory that you provide the ACM document.
- The ACM document must be provided in the ‘regulatoryAssignmentFileName’ / ‘regulatoryAssignmentFileContent’ fields
- LAC validation will not be applicable for orders with 088 numbers
- Address validation will be done
- ‘country’ field will only accept ‘NL’ as the value
- A combination of 088 numbers and other numbers with a different LAC in the same order will be rejected
- There is no change to the address fields or Directory Services update
- Contract details are not required in activation journey.
- Post successful activation, you’ll be notified.
The Activation request will move from In Progress status to ‘Submitted to Local DB’ and number status will be ‘Port In Reserved’ and will be sent to PTXS. PTXS will either accept or reject the request within 3 working days.
If Rejected, order will move from In Progress to Rejected. Possible ejection reasons are:
- Blocking code 10 - Numbers already active please raise a port request for this!
- Blocking code 11: No valid ACM assignment exists for these numbers please contact Dutch regulatory ACM to sort this. (11)
- Blocking code 99: Other- please refer to the notes section
If Accepted, Colt will process the activation automatically and order will move from ‘Submitted to Local DB’ to ‘Completed’ and number status will be updated from ‘Port In Reserved’ to ‘Port In Allocated’ to ‘Port In Activated’.
Please find below list of the ones applicable to Port-In orders:
orderStatus |
Country |
Description |
Validation In Progress |
All except NL |
Order validation is pending at Colt end. Status is applicable:
|
Submitted to operator |
All |
The order has been sent to releasing operator for port negotiation. |
Firm order commitment |
All |
Order has been confirmed by the losing operator with:
|
Ready for porting Initiation |
NL |
Once the FPD is reached, order status will change automatically to ‘Ready for Porting Initiation’. You can initiate or schedule the Port within the next 90 calendar days. Please note that order will automatically expire 90 calendar days after FPD if port has not been initiated. Email notification will be sent 10 days before expiration, every day until expiration. |
Porting initiated |
All except NL |
Port has been initiated by Colt. |
Completed |
All |
Port has been completed. No further action possible. |
Customer feedback awaited |
All except NL |
Additional information is required by Colt and/or the releasing operator. Please note order will expire after 72 hours if no update provided by customer. |
Delayed |
All except NL |
Port has been delayed before the initiation of porting. Colt will provide the reason. |
Porting Completion Delayed |
All except NL |
Port has been delayed after the initiation of porting. Colt will provide the reason. |
Expired |
All except NL |
Order automatically expires after:
No further action will be possible. |
Cancelled |
All |
Order has been cancelled. No further action will be possible. |
Rejected |
All |
Order has been rejected by Colt. Rejection code and reason will be shared. No further action will be possible. |
Porting failed |
All except NL |
The port has been rolled back to the releasing operator. No further action will be possible. |
Error Codes
Below are the error codes which comes as the part of API response
Error Code |
Description |
Next Step |
200 |
Success |
Order ID is successfully generated- no further action required |
400 |
Bad request |
Request was not successful because of any one of the reasons below:
|
401 |
Unauthorized |
Request was not authorized because of any one of the reasons below:
Please check the above and resubmit the request. |
403 |
Forbidden |
Application has been identified but it is currently suspended. Please contact Colt’s support team. |
404 |
Not found |
Resource not found. Please check and resubmit the request. |
405 |
Method not allowed |
Entered method (GET/POST) is not correct. Please check and resubmit the request. |
406 |
Not allowed |
Request not allowed. Please check and resubmit the request or contact Colt’s support team. |
413 |
Payload too large |
The size of response is too large. Please contact Colt’s support team. |
415 |
Unsupported media type |
Please provide the correct content type and resubmit the request. |
429 |
Too many requests |
Total number of invocations has reached the maximum limit. Please retry after some time. |
500 |
Internal server error |
This is an intermittent issue. Please retry to submit the request. |
503 |
Service Unavailable |
Please try accessing this API after some time. |
504 |
Gateway Timeout |
Please try accessing this API after some time. |
API Details:
Status |
LIVE |
Version |
v1 |
Maturity status |
Production |
Endpoint (Production) |
https://apis.colt.net/numberManagement/resourceName |
Endpoint (Sandbox) |
https://sandbox.apis.colt.net/numberManagement/resourceName |
Below are the list of Wholesale SIP APIs (with resource names)
Operation |
API resource name |
Method |
Description |
Search free number(s) |
/v1/freeNumber |
GET |
Allows you to get list of free numbers |
Search number(s) from the inventory |
/v1/Number |
GET |
Allows you to search your number from your number inventory with multiple search criteria (by status, customer reference, orderID, CLI details). You can also fetch the number details (end customer name, status, address, customer Registration Number) by providing numberRangeStart and numberRangeEnd parameters |
Reserve number(s) |
/v1/reservation/order |
POST |
Allows you to add or reserve number in stock without endcustomer assignment nor network configuration. Number will be reserved for 90 calendar days. |
Return number(s) |
/v1/return/order |
POST |
Allows you to return the number to Colt by cancelling the reservation of reserved numbers and deactivating Activated/Port-in Activated numbers. |
Activate number(s) |
/v1/activation/order |
POST |
Allows you to assign number to an end-customer and activate on Colt network. |
Update end customer details and directory service details |
/v1/updateCustomer/order |
POST |
Allows you to update activated number details, e.g. emergency address and Directory services(for few countries only) etc. |
Port number(s) |
/v1/portIn/order |
POST |
Allows you to create new port-in order. |
Update porting order |
/v1/portUpdate/order |
POST |
Allows you to updatea porting order (change date, cancel, modify, send notes, accept/reject port out order, schedule port, activate port) |
Portability checker |
t/v1/checkPortability |
POST |
API to allow you to confirm whether a number/range can be ported-in |
Reactivate number(s) |
/v1/reactivation/order |
POST |
Allows you to reactivate colt owned or ported in numbers. Number will be reassigned to the same end-user, Network will be reconfigured, and number will be ready to be used again. |
Bulk activation |
/v1/bulkActivationOrder |
POST |
Allows you to send bulk request for activation API. |
Bulk portIn |
/v1/bulkPortInOrder |
POST |
Allows you to send bulk request for portIn API. |
Bulk end customer/ DS details |
/v1/bulkUpdateCustomerDetailsOrder |
POST |
Allows you to send bulk request for address/DS update API. |
Fetch list of orders |
/v1/order |
GET |
Allows you to get list of orders matching your search criteria. |
Fetch order details |
/v1/order/{orderId} |
GET |
Allows you to get details for a specific order. |
CLI Order History |
/v1/CLIOrderHistory |
GET |
Allows you to get list of orders for a specific number. |
Fetch free number count |
/v1freeNumberCount |
GET |
RESTRICTED USE ONLY |
Lock free numbers |
/v1/lockFreeNumbers |
POST |
RESTRICTED USE ONLY |
Request for free numbers backfill |
/v1/freeNumberBackfill/order |
POST |
RESTRICTED USE ONLY |
Cancel backfill request |
/v1/cancelFreeNumberBackfill/order |
POST |
RESTRICTED USE ONLY |
Please note: If you use the "Try it out" feature in the production environment, then charges will apply as per your Wholesale SIP ratecard. For more information on pricing, please contact your Account Manager.
Connectivity and Price API
Use Connectivity and Price APIs to check the availability of connectivity services and get real-time quotes.
How to get access to this API?
If you are a Colt customer then please contact your Account Executive.
How to use this API
Click below to download the API user guide.