Chorus Portal Customer List
The following table provides a list of the Chorus customers.
The Chorus system name column lists the values required in the existingProviderName field if you are transferring or replacing another customers product.
Chorus Portal Customer List
The following table provides a list of the Chorus customers.
The Chorus system name column lists the values required in the existingProviderName field if you are transferring or replacing another customers product.
The steps below describe how to install OpenSSL and generate a self-signed certificate.
Use the following steps to install OpenSSL on your local machine.
Step | Action |
---|---|
1 | Download openssl-0.9.8h-1-setup from http://downloads.sourceforge.net/gnuwin32/openssl-0.9.8h-1-setup.exe. |
2 |
Navigate to your download folder, double-click openssl-0.9.8h-1-setup.exe. Result: the Welcome to the OpenSSL Setup Wizard is displayed. |
3 |
Click Next. Result: the Licence Agreement screen is displayed. |
4 |
Click Next. Result: the Select Desination Location screen is displayed. |
5 |
The default install folder is: C:\Program Files (x86)\GnuWin32 Click Next. Result: the Select Components screen is displayed. |
6 |
Select Compact installation. Click Next. Result: the Select Start Menu Folder is displayed. |
7 |
Click Next. Result: the Select Additional Tasks screen is displayed. |
8 |
Click Next. Result: the Ready to Install screen is displayed. |
9 |
Click Install. Result: OpenSSL is installed. |
Step | Action | ||||||
---|---|---|---|---|---|---|---|
1 |
Follow the menu Start > Control Panel > System Click Advance system settings Result: the System Properties screen is displayed. |
||||||
2 | Click Advanced tab | ||||||
3 |
Click Environment Vairables Result: the Environment Variables screen is displayed. |
||||||
4 |
Under System variables Select the Path variable
Click OK |
||||||
5 |
Under System variables Select New
Click OK |
Use the following steps to generate your certificate and private key.
Step | Action | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 |
Open a command prompt. Change directory to where you would like to save the certificate. |
||||||||||||||||||||||||
2 |
Note: the following command uses "key.pem" as the Private Key name, "certificate.pem" as the Certificate name and creates a certificate for one year. You may choose your own values.
Result: the following message is displayed. Loading 'screen' into random state - done Generating a 2048 bit RSA private key .........+++ ...................................................+++ writing new private key to 'secret.pem' |
||||||||||||||||||||||||
3 |
Result: the following message is displayed. ----- You are about to be asked to enter information that will be incorporated into your certificate request. |
||||||||||||||||||||||||
4 |
Result: the certificate and private key are created in the current directory. |
Use the following steps to verify that your certificate has been created successfully.
Action | ||
---|---|---|
Open a command prompt. Change to the directory where you generated the certificate. Note: the following command uses "certificate.pem" as the Certificate name.
Result: the certificate details are displayed. The following output was generated by a certificate created using the example values listed in step 4 above. The extensions are created as a default by OpenSSL 0.9.8h and are not mandatory. Certificate: Data: X509v3 Basic Constraints: |
Send the certificate to your Implementation Manager for uploading into the Chorus B2B.
To enable messages to be exchanged between our network and yours, the external firewalls on both networks have to be configured to allow incoming and outgoing messages between our B2B gateways.
You need to provide us with all the static public IP address(es) and port number(s), which you will use to initiate and receive messages, and the URL endpoints of your B2B, so that we can allow them on our network.
Our public IP addresses, port, and URL endpoints, which you need to allow, are shown in the following tables.
Public IP Address Range | Port | Environment |
---|---|---|
|
443 | Emulation & Production |
URL End Point | Environment | |
---|---|---|
https://emma-b2b-ws.chorus.co.nz/b2b | Emulation | |
https://b2b-ws.chorus.co.nz/b2b | Production |
We use X.509/TLS 1.2 to encrypt the message over HTTP (HTTPS), to set this up in your B2B you need to access our certificates from our URL endpoints. This needs to be done for both emulation and production.
We will retrieve your TLS certificates from your URL endpoints.
The web services validate the SOAP header elements to ensure that messages are signed using security encryption (WS-Security) and that the message diagnostic header elements (MDH) identify the sender.
Message encryption works as follows:
To set this up we will send you our public key certificates for both production and emulation. And you need to send us your public key certificates.
The certificates must meet x509 standards and we request that you provide them in the PEM file format. You may use Certificate Authority (CA) issued, or self-signed certificates. If you use:
To securely deliver your public key certificates to us, we recommend they are exchanged on physical media like a USB flash drive or by email in a password protected zip file.
The Web Services Security - Message Diagnostic Header page describes the values required in the MDH elements.
To validate the messaging is secure and encrypted, submit a request to one of our web services (e.g. Query Location) and you should receive a response back from us.
This process describes our transport retry strategy to provide you with context for your design.
Our design allows for messages to be resent automatically during an HTTP network failure. The following diagram provides an overview of the HTTP Application layer retry process
The retry function is set to:
If your system responds with a 5xx error rather than an acknowledgement we will only attempt to deliver the message once during each retry scenario. “Note that the retry time, in this case, can be less than 15 minutes if we receive another trigger into our datastore (a response to a request from you).
If your system is unresponsive and provides no response we will time out waiting for your response after 10 seconds and we will attempt to deliver the message 3 times during each retry scenario. The first message that is successfully acknowledged changes the status of your endpoint to available and we will attempt to retry the remaining messages.
Unsent messages are persisted using a data store, this guarantees that they are saved even if a server is restarted.
If you send an acknowledgement with 'LFC001' in the soap error code field we will remove the message from the queue (either response to sequential).
CreateOrderResponse, AmendOrderNotification, InformOrderNotification, CreateOrderNotification are the messages on Sequential Queue.
If the Max delivery attempt count is exhausted, the message will be placed at the head of the queue. The maximum time will be a 15-minute delay before the message delivery retry is restarted. Whether the maximum delay occurs will depend on what the failure was that caused the delivery attempts to fail – see above for details.
This cycle continues until the message is delivered. It ensures that messages are sent in the sequence they are generated.
QueryPlaceResponse, QueryProductOfferInformationResponse, QuerySiteInformationResponse, QueryOrderFeasibilityResponse, QueryAppointmentResponse, ReserveAppointmentResponse, QueryOrderResponse, AmendOrderResponse, CancelOrderResponse are the messages on Response Queue.
This queue is for messages where the most recent is considered the most important when the timer retries it will attempt any new messages first before retrying the message that did not receive a valid acknowledgement.
The following order is observed when we place messages on to the Response queue:
e.g., A received state priority 1 message should be selected prior to an errored state priority 2 message, where 2 has a higher priority than 1.
Any QueryPlaceResponse, QueryProductOfferInformationResponse, QuerySiteInformationResponse, QueryOrderFeasibilityResponse, QueryAppointmentResponse, ReserveAppointmentResponse, QueryOrderResponse message that fails to be acknowledged after 3 sets of retries will be marked as failed and not retried again.
This queue has 5 concurrent threads per RSP, so messages can be sent in parallel as the order of message delivery is not critical.
Where all attempts are failing the queue is marked as down and will only make reattempts of the message [refer above] until a successful acknowledgement – it will then resume normal processing of messages.
The customer retry strategy is provided to give insight into resending of messages automatically in the case of a network failure on our side. The following diagram provides an overview of a customer HTTP Application layer retry process.
This is an indicative representation of a retry process at the transport level. The way you implement your retry process will not affect us and is solely your responsibility. We recommend that you consult your HTTP library implementations for the default behaviour to understand its configuration capabilities for use when communicating over HTTP.
Our implementation uses established security protocols to ensure the integrity and confidentiality of the B2B messages.
This section provides you with the configuration unique to our implementation, and the steps you need to perform to intergate with our security.
Security is setup across the following three layers:
Our checklist helps to ensure security implementation is made simple. To improve our customer experience please provide any feedback on our checklist to our Customer Implementation Manager or Service Delivery Manager.
Your Checks | Our Checks |
---|---|
1. Pre-requisites You have read our web services security information. |
|
2. Network Security
|
|
3. Transport Layer Security
|
|
4. Web Services Security
|
|
5. Validate Security Setup Submit a message to validate end to end security has been successfully implemented. |
|
The Business 2 Business (B2B) interface provides a service to allow for the orchestration of B2B message transmission between business partners. This facility caters for the sending and receiving of B2B orders through automated validation and security verification system.
Our B2B Web Services have been built towards industry standards defined by New Zealand's Telecommunications Carrier Forum (TCF), see Background section below for links to the TCF documentation.
Our B2B Web Services uses well established industry standards. The technologies and their current supported versions are described in the following table.
Capability | Technology | Supported version |
---|---|---|
Security | Transport Layer Security | TLS 1.1 and TLS1.2 |
Security | Digital Certificates | X.509 SHA256 |
Transport | Hypertext Transport Protocol | 1.1 |
Payload | Simple Object Access Protocol | 1.1 |
Our B2B Web Services infrastructure will consist of two environments as described in the following table. Each environment is configured separately from one another.
Environment | Description | B2B End Point |
---|---|---|
Certification & Development Emulation Application (EMMA) |
A development sandpit/emulator environment for you to perform your own B2B Gateway evaluation, component and integration testing. We also use this environment for certification. |
https://emma-b2b-ws.chorus.co.nz/b2b Emulation (EMMA) |
Production | The production environment including integration with production business support systems. |
https://b2b-ws.chorus.co.nz Production |
> WSDL and XSD
The WSDL file Chorus-WSDL_version_21.8 replaced by Chorus-WSDL_R23.8 in February 2023.
Customers using B2B and EMMA will need to load the new version of WSDL and XSD.
Download our available WSDL zipfile from here:
> Chorus EMMA Portal Extract
The Chorus EMMA Portal Extract contains the full list of addresses stored in EMMA Portal, in CSV format.
Please see further information described under our emulation environment section.
> Chorus Product Catalogue EMMA extract
The EMMA product catalogue contains both the EMMA product offer ID and the product specifications and characteristic of all on boarded products and CSEs.
Please ask your Implementation Manager for your latest EMMA product catalogue file.
Also see further information described under our emulation environment section.
The following table describes the products currently supported by our B2B Web Services.
Product Family | Product |
---|---|
Fibre |
|
Basic Copper | Products not currently available via B2B Web Services |
Enhanced Copper | Products not currently available via B2B Web Services |
Field Services | Products not currently available via B2B Web Services |
Value Add & Network Services | Products not currently available via B2B Web Services |
Infrastructure | Products not currently available via B2B Web Services |
The basis of our B2B operations is an asynchronous model. The transport pattern is Request – Acknowledgement (Synchronous) and Response – Acknowledgment (Synchronous).
When you submit a request to a web service (1) we will provide a synchronous acknowledgement of your request (2) at the transport layer. We will then respond to the message in your request asynchronously.
When we initiate the response to your request (3) we expect a synchronous acknowledgement from your business at the transport layer (4).
The following diagram provides a visual aid of our asynchronous model.
The following documents and links provide a reference to the industry standards we utilised in the development of our B2B Web Services infrastructure. The documents include the standards and / or the proof of concept for:
Document | Link |
---|---|
New Zealand Telecommunications Forum (TCF) Ultra-Fast Broadband BSS/OSS Web Service Design Specification This document covers the design of the Web Services Transport layer to be used for B2B transactions between Local Fibre Companies and you for UFB products. It specifies the minimum set of standards that we have implemented. |
Refer to the TCF website for documentation |
New Zealand Telecommunications Forum (TCF) Ultra-Fast Broadband BSS/OSS Business Interaction WSDL files | Refer to the TCF website for documentation |
New Zealand Telecommunications Forum (TCF) BIF XML schemas | Refer to the TCF website for documentation |
New Zealand Telecommunications Forum (TCF) BIF XML samples | Refer to the TCF website for documentation |
Touchpoint Data Specifications | Touchpoint Data Specifications |