B2B Access Guide
BT Wholesale
Broadband Knowledge Based
Diagnostics (KBD) Business to
Business (B2B) Access User Guide
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 1 of 39
B2B Access Guide
Legal and Confidentiality Statement
The information contained in this document is confidential information as per your terms and
conditions with BT. Please treat it accordingly do not forward, republish or permit
unauthorised access.
For the avoidance of doubt, the information contained in this document is for
information purposes only and does not constitute part of the contractual
terms and conditions.
All rights are reserved to BT and or its Licensors.
© British Telecommunications plc, 2011.
Registered office: 81, Newgate Street, London, EC1A 7AJ
Registered in England no. 1800000
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 2 of 39
B2B Access Guide
Contents
1.
ABOUT THIS HANDBOOK ..................................................................................................................................... 4
1.1
1.2
2.
VERSION CONTROL ...................................................................................................................................... 4
FURTHER INFORMATION & COMMENTS. ...................................................................................................... 4
INTRODUCTION ....................................................................................................................................................... 5
2.1
2.2
2.3
2.4
2.5
3.
W HAT IS BT W HOLESALE ONRAMP FOR? ................................................................................................... 6
W HAT IS BT W HOLESALE ONRAMP NOT FOR? ............................................................................................ 6
W HEN IS ONRAMP TESTING APPLICABLE? ................................................................................................... 6
HOW IS ONRAMP USED? .............................................................................................................................. 8
HOW LONG WILL YOU USE ONRAMP FOR? ................................................................................................... 9
SETTING UP THE GATEWAY ............................................................................................................................. 10
3.1
3.2
4.
YOUR SETUP ............................................................................................................................................... 10
BT W HOLESALE SIDE SET UP ..................................................................................................................... 10
SECURITY AND CERTIFICATE INFORMATION ............................................................................................. 13
4.1
4.2
5.
DOWNLOADING A NEW DIGITAL CERTIFICATE ............................................................................................. 13
SENDING US YOUR PUBLIC KEY OF THE CERTIFICATE ................................................................................ 13
ONRAMPING PHASE ............................................................................................................................................ 15
5.1
6.
CONFIRMING CONNECTIVITY WITH THE ONRAMP PLATFORM ..................................................................... 15
USING ONRAMP .................................................................................................................................................... 17
6.1
6.2
6.3
6.4
6.5
6.6
7.
MESSAGES FROM YOU TO ONRAMP ........................................................................................................... 17
MESSAGES FROM ONRAMP TO YOU ........................................................................................................... 22
HTTP.......................................................................................................................................................... 22
YOUR RESPONSE TO ONRAMP ................................................................................................................... 26
ONRAMP EXIT CRITERIA .............................................................................................................................. 27
MESSAGE HANDLING .................................................................................................................................. 31
SDK AND EMULATOR .......................................................................................................................................... 32
7.1
7.2
7.3
7.4
7.5
8.
OVERVIEW .................................................................................................................................................. 32
BENEFITS .................................................................................................................................................... 33
INSTALLATION DETAILS ............................................................................................................................... 33
HOW TO USE THE ONRAMP EMULATOR ..................................................................................................... 34
GUIDELINES ................................................................................................................................................ 34
PILOT AND LIVE PHASE ..................................................................................................................................... 36
8.1
8.2
PILOT .......................................................................................................................................................... 36
LIVE............................................................................................................................................................. 37
9.
GLOSSARY ............................................................................................................................................................. 38
10.
DOCUMENT HISTORY .......................................................................................................................................... 39
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 3 of 39
B2B Access Guide
1. About this handbook
This document provides an overview of the Onramp Process to help Communications
Providers (CPs).Realistic sample messages are used in this user guide to illustrate interface
usage. Variables are indicated by bold italic text; used to signify data parameters at the
client level.
1.1 Version Control
Please ensure that you have the latest version of this Handbook.
1.2 Further Information & Comments.
Please refer to the B2B and Web Services pages on the BT Wholesale web site for further
information
Enquiries and comments to Partner Enablement Management:
Email: wholesale.pem@bt.com Tel: 02034505227
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 4 of 39
B2B Access Guide
2. Introduction
The Business to Business (B2B) Gateway is designed to help you to buy and manage a
variety of telecommunications services electronically, by linking your own support systems
and processes with ours.
In its simplest definition, a B2B process is any business process between two companies
that uses digital technology.
Designed specifically for you, this user guide traces the initial set up of your system, with
helpful hints and technical information to get you started. It will lead you through the testing
phase and into the establishment of the Knowledge Based Diagnostics (KBD) live
environment with the help of the BT Broadband customer support process. The KBD Tool
can be used if or when you have any technical issues with your service.
The KBD Tool will suggest actions or ask more questions based on the information you
have given and any results of the automatic testing tools. These will be sent to you and
when you answer, the KBD Tool, will, if possible, find a solution to the issue.
We have now introduced a new functionality called the “Onramp Emulator” for 21CN KBD
services.
Please note that the Onramp Emulator currently supports 21CN KBD services (and
not 20CN KBD services)
This document will be helpful to you intend to use the BT Wholesale B2B Onramp Gateway
and the BT Wholesale Onramp Emulator (which is available only for 21CN KBD services).
The major differences between the Onramp testing against the BT Wholesale B2B Onramp
gateway and BT Wholesale Onramp Emulator areBT Wholesale B2B Onramp gateway
BT Wholesale Onramp Emulator
Requires insertion of Processing
Instruction (PI) in the payload XML to
obtain the stubbed responses
Does not require a Processing Instruction
(PI) to obtain a response
The response XML can be obtained as per
the PI used in the XML request.
The Customer has the ability to access
the emulator Graphic User Interface
(GUI) and fire the responses on our
behalf.
This offers a connectivity platform rather
than a testing platform.
Emulator gives you a more realistic
approach to testing the XMLs Software
Development Kit. (SDK) and Emulator are
to be used together for testing.
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 5 of 39
B2B Access Guide
2.1 What is BT Wholesale Onramp for?
The Onramp environment is available to BT Wholesale customers so that they can test:
a) Connectivity to and from BT Wholesale Gateway via the Internet and any
proxies and firewalls that may be on the routes involved.
b) Creation, format conversion (if required), and installation of any certificates
that may be used to support the https connections.
c) Business level messages for passing across the B2B interface; for final
testing, the messages should come from and go back to your systems.
2.2 What is BT Wholesale Onramp not for?
Onramp does not:
a) Provide you with a full end-to-end testing environment
b) Faithfully reflect the performance in the production environment
c) Exhaustively test possible data values and error conditions sent to or returned
by Openreach
d) Facilitate load or performance testing
2.3 When is Onramp testing applicable?
For 21CN KBD services, if you are using the SDK Emulator rather than your own proprietary
software, this section will be helpful. That’s because you will need to update SDK as per the
releases on the Gateway.
2.3.1 SDK-Emulator Customers:
1) For 21CN KBD services, if you are new to the BT Wholesale B2B gateway, you would
need to mandatorily test against the BT Wholesale B2B Onramp Emulator to be able to
go in-life.
2) If you are in the ‘Business as Usual’ phase on the Live BT Wholesale B2B gateway
(using your proprietary software) but new to the SDK-Emulator functionality, you would
need to go through the Onramp emulator process at least once so that you can go
ahead and use the SDK product on the Live systems.
All you have to do is follow this process:
a) Contact the Partner Enablement Management (PEM) team and let them know
what testing needs to be done. They will take you through what you need to
do.
b) Then send the Onramp details (including the certificate that is being used for
Live connectivity and message signing) to the PEM team. Please refer section
3.2 below of the document to understand these details.
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 6 of 39
B2B Access Guide
c) The PEM team will create your Gateway profile on the Onramp systems using
these details. You will also get an Onramp Collaboration Protocol Agreement
(CPA) that will contain the services that need to be tested.
d) Once this is done, you can go ahead with the testing and let the PEM team
know once this is done.
e) The PEM team will then verify the testing and provide you the new Live
Collaboration Protocol Agreement (CPA) which will contain the services that
have been tested (if applicable)
3) If you have used the SDK-Emulator for testing 21CN KBD services and are currently on
Live (using the SDK Hermes as your API for posting the messages), and want a new
service on Live, it is mandatory to go through the above steps.
There are two ways to test your new SDK code; a) test against the Emulator installed in
your development servers or b) test against the Onramp Emulator.
The processes involved for both are:

If you perform the testing against the emulator deployed on your local servers,
you must drop an email to the PEM team (wholesale.pem@bt.com) containing
the below information on the successful testing performed:



The version of the SDK and emulator used for the testing.
The services tested. (Example: bcRequestKBDInitiate2v1)
The payload XML used for the testing (Ex: kbdInitiateRequest21C.xml,
etc.)
If applicable, a new Live Collaboration Protocol Agreement (CPA) will be issued to you- this
would contain the services that have been tested.

If you would like to perform the testing for the new services against the
Onramp Emulator, please drop an email to the PEM team with your request.
A new Onramp Collaboration Protocol Agreement (CPA) will be issued for the
testing.
2.3.2 Non SDK-Emulator Customers:
1) If you are new to the BT Wholesale B2B gateway for 21CN KBD services, you need to
test either against the B2B Onramp gateway or the Onramp Emulator to be able to ‘go
live’.
2) If you are a customer currently on Live, and want a new service, you could either
perform testing against the BT Wholesale B2B Onramp gateway or the BT Wholesale
B2B Onramp Emulator.
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 7 of 39
B2B Access Guide
You can skip the testing if you want to, but you will definitely need to tell the PEM team who
will then be able to advise you on the XML to be used for the service, etc and ensure that
you go through the Live Pilot/Trial phase for the new service.
However, please note that it is always recommended to test against the Onramp systems
(B2B Onramp/Onramp Emulator) before using any service on the Live systems.
2.4 How is Onramp Used?
You are in almost complete control of the messages passed across the Onramp interface.
This control is exercised by inserting XML processing instructions (PI) in the messages you
send to Onramp. Apart from the PI, the XML is as specified for Production use. Onramp
uses the PI to select a corresponding example business level reply from a pre-prepared set
held in a database.
Fig: 1.1 Block Diagram showing main components
Business messages can be classified as requests and notifications. Requests are initiated
by you; Onramp normally initiates notifications when the status of transactions change
(initiated by your request). You control both requests and notifications from your Onramp
environment. You can also request:

AcceptanceAcknowledgementException messages – these are normally
generated because of problems in, or detected by, Onramp’s backend
processing systems - through the use of a processing instruction (PI).

ReceiptAcknowledgementException – these can be generated by submitting
bad XML or good XML with a Data Universal Numbering System (DUNS)
number different to that expected.
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 8 of 39
B2B Access Guide
Fig; 1.2 Block Diagram showing Request/Response path
The only message not controlled by you is:

EbXML Delivery Acknowledgement -- returned to acknowledge receipt of an
ebXML message.
2.5 How long will you use Onramp for?
The testing phase on Onramp systems depends on the complexity of your management and
development processes. Fundamental connectivity testing can take anything from one day
to over a month and message testing may take days or months. However, in normal
circumstances the set-up on the Wholesale side takes no more than four working days from
the provision of details.
The main causes of any delays are:



Incorrectly-configured digital and Certificate Authority (CA) certificates on web
servers
Firewall and proxy setup problems
Development and integration with your backend systems
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 9 of 39
B2B Access Guide
3. Setting up the Gateway
The Onramp Customer Support team, known as PEM can be contacted at
wholesale.pem@bt.com, may ask you for the following details as part of their task of
building up a “Client Profile”. The interface-specific parameters and requirements are:
3.1 Your setup
It is expected that you would need to arrange for firewall access on your side to access the
Onramp environment and to receive responses back from it.
BT Wholesale’s On-ramp details are as mentioned here below:



BT Wholesale Data Universal Numbering System (DUNS) number: 232510151
Onramp will accept messages from your gateway at the URL:
https://www.onramp1.b2b.btwholesale.com/exchange/232510151
Onramp will send messages from one of the following four IP addresses.
 193.113.57.20
 193.113.57.21
 193.113.48.116
 193.113.48.118
3.2 BT Wholesale side set up
All you need to do is tell us more about your organisation and requirements. The PEM team
will need the following information to set your access up:
Name of your organisation
This will be used for creating your profile under BT Wholesale community: this was
arranged when you originally registered your interest with your BT Wholesale Account
Manager.
Your DUNS number
The Data Universal Numbering System (DUNS) number is a unique identifier for your
organisation, issued globally by Dun and Bradstreet. Your Company Secretary (or
equivalent) should hold a record of this information. Although you cannot search for it
online, you can verify your
Data Universal Numbering System (DUNS) number at
http://express.dnbsearch.com/advFind.asp . Look for the option “Search by Data Universal
Numbering System (DUNS) Number”, enter your company’s 9-digit number and press
“Search” to see the validated result.
Your URL
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 10 of 39
B2B Access Guide
You can provide URL with default port 443 to which we will send responses/notifications.
This is required both during Onramp and Live set up.
Your IP addresses
These are the respective IP addresses from which the requests to the BT Wholesale
Onramp/Live will originate.
Your client certificate
The digital certificate issued from BT Wholesale Northside is required for mutual
authentication. And note that same certificate should be used when you move on to
production (live) B2B Gateway. Complete instructions for applying for this certificate are
detailed later in this document.
Your BT Account Manager
This is the member of the BT Account Team who confirmed your access to the BT
Wholesale B2B Gateway. The PEM team will liaise with your Account Manager as
necessary.
Your technical contact’s name, email and phone number
This is the person in your organisation whom the PEM team will contact directly to discuss
any technical issues.
The technology used to build your Gateway
Depending on the resources and set up of your organisation, you can, if you prefer, work in
partnership with a third party team or individuals you appoint.
Your preferred testing date
Setting up an Onramp test can take as little as a week. However, everyone’s circumstances
are unique and our PEM team will be well placed to discuss a realistic schedule with you.
As long as the lead times are realistic, we will work with you to ensure we begin testing by
the date you have chosen.
Your preferred production date
As you will see, how long the Onramp tests go on depends more on what tests you have
chosen to carry out rather than any fixed lead times required by us. If you have a proposed
Production date in mind, please let us know, but note that this is not a mandatory field at
this stage. Your Production date can be agreed later with the PEM team as we work
together to progress for moving on to production gateway.
Your production support contact’s details
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 11 of 39
B2B Access Guide
As our customers move into the In-Life phase known as “Production”, many prefer to
appoint a different contact to monitor and maintain their systems. Please enter the details of
the person we should contact in case of problems with your Production system.
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 12 of 39
B2B Access Guide
4. Security and certificate information
Before you can access our online services you need to have an appropriate firewall and
digital certificate.
If you are in any doubt, please feel free to discuss any existing certificates with our PEM
team.
4.1 Downloading a new digital certificate
A client certificate will carry out the entire basic authentication you require but is not tied to a
Domain Name System (DNS) name and IP address. You can transfer this certificate from
one computer to another as and when required.
You may apply for a client certificate using this link.
https://onsite.trustwise.com/services/BTGroupPlcNorthsideclient/digitalidCenter.htm
To get your certificate:



Start by clicking on the “INSTALL CA” option on the page and follow the
instructions that will help you to install the CA
Next click on the “ENROL” option.
Enter your first name, last name, E-mail Address, Employee ID number and
company - these contact details are used to alert you of any specific certificate
issues (usually renewal) so should preferably be for a generic support group
(CommsCo, plc, support@commsco.co.uk, 1, Comsco would be fine); a
Challenge phrase may be needed later, and please also add a note in the text
box provided in the comment option to tell us where you would use the certificate.
4.2 Sending us your public key of the certificate
To export your digital certificate:
1. Open Internet Explorer; go to Tools; Internet Options; Content; Certificates where
you’ll find your new (Personal) certificate.
2. Select it and click the Export button.
3. Next, select No (if you wish to only export the public key), do not export the private
key.
4. Next, choose either binary or base-64 .cer or a .p7b (with or without a Certificate of
Authority (CA))
5. Save the file in a folder of your choice. And please keep this folder safe.
Now, zip this exported public key and email a copy to the PEM team so that we can
authenticate the messages you send us and set you up with the https connection from the
Onramp environment to your server.
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 13 of 39
B2B Access Guide
The reason you will need to export the public part of the certificate (without private key) and
send the file to the PEM team is because we do not automatically have a copy of the public
key.
With the correct digital certificate downloaded, you need to carry out the following activities:
1. Back up the entire digital certificate and keep it safe as you would do for any other
company asset.
2. If you are changing to a new system, you will need to export the certificate (with
private key, type .pfx) to move it to a separate server box.
3. In these circumstances, you will also need to change the certificate’s format
depending on your requirements (a visit to www.openssl.org may prove useful).
4. You should also move the Certificate Authority to maintain the evidence of trust (by
using the “export all certificates in path” command).
IMPORTANT: We recommend and are only able to support the use of latest version of
Internet Explorer (versions from and above 6.0) for installation and extraction of the
certificate to and from your computer.
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 14 of 39
B2B Access Guide
5. Onramping phase
In order to use the BT Wholesale B2B Gateway, the PEM team will set up your account on
the Gateway.
5.1 Confirming connectivity with the Onramp platform
Basic connectivity from your gateway to our Onramp testing environment can be confirmed
in three ways, one after the other in the order as listed below, so as to increase the
parameters being tested with each test.
5.1.1 Telnet test


Simply by running the following telnet command from your server, you can
establish the very basic connectivity between the two environments. Please note
that this command only proves if the firewalls are in place in the direction of the
test. This does not prove that the certificates required for the session to be
established are in place or not.
Here is a Sample of a Telnet command indicating connectivity between the two
environments, in the request path (CP  BT)
C:\ telnet 217.140.45.133 443
Trying 217.140.45.133...
Connected to 217.140.45.133.
Escape character is '^]'.

Here is a Sample of a Telnet command indicating a lack of connectivity between
the two environments, in the request path (CP  BT)
C:\ telnet 217.140.45.133 443
Trying 217.140.45.133...
telnet: Unable to connect to remote host: Connection timed out
5.1.2 Server status

The “Server status” option is a link that you can access on the computer your
requests are sent from. The link is as follows:
https://www.onramp1.b2b.btwholesale.com/ServerStatus

When accessing this link it will ask you to present your certificate given to you by
BT Wholesale with a “Northside” CA.
If you have the certificate in question installed on this browser and you select the
right certificate, you should get the “ServerStatus=OK” response. This indicates a
successful connection between the two environments.

Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 15 of 39
B2B Access Guide


If you do not have the certificates in place or select the wrong certificate you will
get the message “You are not authorized to view this page”.
Please note that “serverstatus” needs to be run from Internet Explorer only;
Mozilla-type browsers will not connect and these are likely to be withdrawn at
some stage.
3.1.1 EBXML PING




Once the above two tests have successfully been completed, you can send the
first EBXML message from your gateway to the Onramp gateway. If your gateway
supports the EBXML Ping, we encourage you to try it as it is a very bare bones
test which does not include the complexity of the having the payload and the
possible associated errors.
Please find below a SAMPLE Ping XML, this is only for your reference and will
not work if used as is.
An ebXML Pong message should be returned to your nominated URL (this is
instead of the ebXML Delivery Acknowledgement you should expect with
business messages).
During the Onramp testing phase as with Production, only https connections over
port 443 can be used.
If the above tests go well, your connectivity to Onramp will be in place and you will be able
to use it to conduct your tests and work your way through getting the quality gates (Onramp
exit criteria) and get a sign off. This means you can then go to the Production (live) platform.
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 16 of 39
B2B Access Guide
6. Using Onramp
Messages are sent to Onramp by an https POST to URL:
https://www.onramp1.b2b.btwholesale.com/exchange/232510151
The messages uses ebXML 2.0 messaging (basically SOAP with the business XML as an
attachment) which you may code explicitly or devolve to message handling software.
Realistic example messages are used in the following to illustrate interface usage. Variables
are signified by bold text; italics are used to signify data parameters at the CP level.
6.1 Messages from you to Onramp
Connection to Onramp is made using a Secure Sockets Layer (SSL) connection on port
443. All Secure Sockets Layer (SSL) connections require a digital certificate on the 'server'
end. It is at your discretion whether this certificate is validated by the process known as
“client authentication” which may or may not be available in your software.
You then need to present a certificate we issued to you; this is “client authentication”, not
specified as part of Netscape's original Secure Sockets Layer (SSL) design which was for
Consumer to Business (C2B) connections, but not uncommon in Business to Business
(B2B) connections.
The process to apply for the certificate is covered in section 2 of this document. The
certificate needs to be presented along with the corresponding Certificate Authority (CA).
The actual content of the messages as they go down the line (before encryption by Secure
Sockets Layer (SSL)) is structured as follows (users of Completely Off The Shelf message
service handlers can just concentrate on the business XML – identified as Test request - but
may like to see how their parameters are used)
First, some http.
If you are coding at a low level, please ensure that the http uses DOS style CR-LF and not
Unix style LF. Failure to do this can cause much frustration.
As can trailing spaces after http header lines and before the CR-LF.
The following example is for XML Diagnostics
POST /exchange/ 232510151 HTTP/1.1
Host: www.onramp1.b2b.btwholesale.com
SOAPAction: "ebXML"
Content-Type: multipart/related; type="text/xml"; boundary="someBoundaryValue";
start="ebXML_Message_Header"
--someBoundaryValue
Content-Type: text/XML
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 17 of 39
B2B Access Guide
Content-ID: <ebXML_Message_Header>
Now the XML
Additional elements and attributes may or may not be acceptable. Part of the purpose of
Onramp is to ensure that your software does not add any extra data, which causes conflicts
with the software used by Onramp – if it doesn't conflict, feel free to do as you will but Onramp
will not be obliged to guarantee that it will not conflict at some time in the future.
Few standards are so simple that they can be implemented without potential problems of
interpretation when interacting with other implementations so testing is essential. In other
interfaces even the placing of comments has been known to cause problems; that “SHOULD
NOT” be so but it is unwise to assume it “WILL NOT” be so.
The BT Wholesale gateway uses XML business payloads that make use of namespaces: use
of namespace aware XML software is strongly recommended. Explicit use of namespace
identifiers is less open to misunderstanding than implicit usage and is likely to improve
interoperability, whatever the standards say about equivalence. The namespace identifier
values should not be critical, but this will not be guaranteed.
Here is a SOAP example for XML 20CN KBD Initiate Request:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/
http://www.oasis-open.org/committees/ebxml-msg/schema/envelope.xsd">
<SOAP-ENV:Header xmlns:eb="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header2_0.xsd"
xsi:schemaLocation="http://www..oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd
http://www..oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd">
<!-The ebXML section has these variables:
From/Party ID
Role
CPA ID
Conversation
ID
Service
Action
Message ID
Time stamp
CP DUNS number (123456789)
Communications Provider
BT_Wholesale_CPname_cpa
Something unique RFC 2822 Internet Message Format
(http://www.faqs.org/rfcs/rfc2822.html) may help.
Onramp uses the algorithm: "C" + current timestamp in milliseconds (format
"yyyyMMddHHmmssSSS") + "." new java.rmi.server.UID() + “@” +
HostAddress
bcBusinessTransactionDescription
rqBusinessTransactionDescription
or
ReceiptAcknowledgement,
ReceiptAcknowledgementException,
AcceptanceAcknowledgementException (for Business Signals)
Something unique. RFC 2822 Internet Message Format
(http://www.faqs.org/rfcs/rfc2822.html) may help.
Onramp use the algorithm: "G" + current timestamp in milliseconds (format
"yyyyMMddHHmmssSSS") + "." new java.rmi.server.UID() + “@” +
HostAddress
NB format : yyyy-mm-ddThh:mm:ss.mmmZ
-->
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 18 of 39
B2B Access Guide
<eb:MessageHeader SOAP-ENV:mustUnderstand="1" eb:version="2.0">
<eb:From>
<eb:PartyId eb:type="urn:oasis:names:tc:ebXML-cppa:partyid-type:duns">123456789</eb:PartyId>
<eb:Role>ServiceProvider</eb:Role>
</eb:From>
<eb:To>
<eb:PartyId eb:type="urn:oasis:names:tc:ebXML-cppa:partyid-type:duns">232510151</eb:PartyId>
<eb:Role>WholesaleProvider</eb:Role>
</eb:To>
<eb:CPAId>BT_Wholesale_CPname_BT_Wholesale_TestPartner1_XMLRMigration_cpa_cpa</eb:CPAId>
<eb:ConversationId>2004-10-20T092346</eb:ConversationId>
<eb:Service eb:type=”string”>bcRequestKBDInitiatev1</eb:Service>
<eb:Action>rqRequestKBDInitiate</eb:Action>
<eb:MessageData>
<eb:MessageId>76b0f68de48fb4c6:7590db:ffb6c46d3c:-7fde</eb:MessageId>
<eb:Timestamp>2004-10-20T15:37:27.984Z</eb:Timestamp>
</eb:MessageData>
</eb:MessageHeader>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">>
<! –
Signing the message for non-repudiation
The following section illustrates XML Digital Signature.
The SignatureValue is an encrypted digest (base64 encoded as 28 characters rather than the
40 character hex digest) of the DigestValues (hashes) of two References:
i) the ebXML before inclusion of Signature element (Reference URI=””)
ii) the payload (referenced in Reference URI=”cid:TestRequest”)
after C14N (standardising the XML to a common format by common usage of spaces, etc),
and uses an RSA type key at least 1024 bytes long.)
Writing your own code to perform message signing, or verification, is not recommended but
several implementations can be found.
-->
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference URI="">
<! -Identifies the node-set (minus any comment nodes) of the XML resource containing the signature
-->
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<ds:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116">
<XPath>not(ancestor-or-self::node()[@soap:actor="urn:oasis:names:tc:ebxml-msg:service:nextMSH"]|
ancestor-or-self::node()[@soap:actor="http://schemas.xmlsoap.org/soap/actor/next"])
</XPath>
</ds:Transform>
<ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</ds:Transforms>
<ds:DigestMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>VNh1JY0nZIdAvN0DH8FXY/hX4Ss=</ds:DigestValue>
</ds:Reference>
<ds:Reference URI="cid:Test Request">
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>7q1IRSJRie4k3YZB3Zu0YxZ/aPU=</ds:DigestValue>
Issue 1.2 – 7th November 2011
Page 19 of 39
Copyright  British Telecommunications plc 2011
B2B Access Guide
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
tLeoo+ctIBnQiY2zxXY+mb6RKkNhILo9bhpPEloPQNA7pkjTk9U4UXRTKFanjj8I4oDIKvZ4
...
f0naT4i3FYT5WJVV9C+FIe0u6qk=
</ds:SignatureValue>
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus>
4TmhrCzjsbtQQuq7MOzT3RUa5dFV6tc9+hY5fxgwiXXPaywczWowi3s04g5CpTIHDV
....
QzAqaHfi0VCNu+x+0aMinugQak9SG5Yyi25vLpk=
</ds:Modulus>
<ds:Exponent>AQAB</ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509IssuerSerial>
<ds:X509IssuerName>CN=B2B PEM,O=BT Group Plc</ds:X509IssuerName>
<ds:X509SerialNumber>144076108064759518656542817138884233900</ds:X509SerialNumber>
</ds:X509IssuerSerial>
<ds:X509SubjectName>emailAddress=b2b.pem@bt.com,CN=BT
PEM,OU=company - BT,OU=Northside (client),O=BT Group
Plc</ds:X509SubjectName>
<ds:X509Certificate>
MIIC0jCCAjugAwIBAgIQbGQMkHV//URA+MaalDBKrDANBgkqhkiG9w0BAQQFADArMRUwEwYDVQQK
...
y31IYVOOibn83IOMwXsgbvL7IUFzkFJqjJO10NTx8aWixKKwPdpbrIONL9gjduUehoNkPa7wBuFe
DSVMbj+aZqU8lqmJKrkylEvy+jTkhD5DlqBDT4kV3Kt0Pg1xxYP7cBiW
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
</SOAP-ENV:Header>
<SOAP-ENV:Body
xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"
xsi:schemaLocation="http://www.ebxml.org/namespaces/messageHeader
http://ebxml.org/project_teams/transport/messageHeaderv0_99.xsd">
<eb:Manifest eb:version="2.0">
<eb:Reference xlink:href="cid:Test request" xlink:type="simple"></eb:Reference>
</eb:Manifest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
--someBoundaryValue
Content-Type: application/XML
Content-ID: <Test request>
<?xml version="1.0" encoding="UTF-8" ?>
<!-Following is an example for “KBDInitiateAccepted” showing an appropriate PI as required for
generation of sample business responses on Onramp.
The Onramp Processing Instruction follows – positive (Acceptance Request) in this case.
-->
<? BTW_B2B_OnRamp_Test_Id ?B2B_BTW_KBD_bcRequestKBDInitiatev1_KBDInitiateAccepted?>
<!-Remember: PIs should not be included on Production.
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 20 of 39
B2B Access Guide
-->
<kbdInitiateRequest
xsi:noNamespaceSchemaLocation="KBDB2BTest-1.0.2.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!--***************Here is an example MESSAGE HEADER for an INITIATE REQUEST***************-->
<kmTestHeader>
<MessageId>CP1_MSG1</MessageId>
<!--MessageId:- The unique identifier is generated by the CP party forrequests. -->
<TestDate>08/07/2008 07:34:15</TestDate>
<!--date format DD/MM/YYYY HH:MM:SS The date that a request (KBDInitiateRequest, KBDQueryRequest,
KBDTerminateRequest) was created by the CP. -->
<TestReference>
<ConductorReference>
<InvokeIdentifier>
<RefNum>CP1_Ref1</RefNum>
<!-- RefNum unique identifier of the test being requested. It must be globally unique and must be present in all
messages. -->
</InvokeIdentifier>
</ConductorReference>
</TestReference>
<TestParty>
<ConductorParty>
<Party PartyID="987654321" AgencyID="DUNS">
<!-- Dun’s id of CP -->
<TestContact>
<DetailedContact>
<!-- Details of the CP contact performing test -->
<ContactName>Michael Jackson</ContactName>
<Telephone>02071059053</Telephone>
<TelephoneExtension>4777</TelephoneExtension>
<Email>Michal.Jackson@Neverland.com</Email>
<Title>Mr</Title>
<FirstName>Michael</FirstName>
<Initials>MJ</Initials>
</DetailedContact>
</TestContact>
</Party>
</ConductorParty>
<PerformerParty>
<Party PartyID="232510151" AgencyID="DUNS">
<!-- Dun’s id of KBD -->
</Party>
</PerformerParty>
</TestParty>
</kmTestHeader>
<kmToolMessage>
<controlNode>
<userRequest>INITIATE</userRequest>
<!-- It should be set to INITIATE for kbdinitiate request -->
</controlNode>
<customer>
<circuitID>CBUK30053780</circuitID>
<!-- Pass cbuk to be tested here or serviced or telephone number in respective tags.
<serviceId></serviceId>
<telNo></telNo> -->
</customer>
</kmToolMessage>
</kbdInitiateRequest>
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 21 of 39
B2B Access Guide
Note: the service names and actions available for each service are described in Section 2.1
of the T2R KBD - Template Solution Design - Draft 1.1 document and are also available in
the Collaboration Protocol Agreement (an XML file). EbXML-ready Message Handling
Systems may be able to import the CPA to automate much of their configuration.
6.2 Messages from Onramp to you
Connection from Onramp is made using an Secure Sockets Layer (SSL) connection on port
443. All Secure Sockets Layer (SSL) connections require a digital certificate on the 'server'
end; Onramp will expect you to present a certificate for which we have a copy of the public
key and the corresponding Certificate Authority (CA) for “mutual authentication”.
You may find it convenient to use same client certificate that was issued during Onramp
testing. You may use the same certificate for client authentication as well.
If you choose to perform client-side authentication, then Onramp will present the BT
Wholesale Onramp server certificate public key.. A copy of the public key and Certificate
Authority (CA) will also be provided (in the Collaboration Protocol Agreement (CPA) if it is
used, otherwise as a separate file) as it will also be needed to validate the digital signature
in each message (although validation is not mandatory).
6.3 HTTP
You should get an http 200 OK response, but there will be occasions when you don't:




You may get a security failure (e.g. 403)
You may get something else (e.g. 500, 610)
You may get a timeout (e.g. if you specify an incorrect path in the url. e.g. with
your Data Universal Numbering System (DUNS) instead of BT)
You may fail to connect at all (like any system, there will be outages - normally
scheduled and communicated in advance)
6.3.1 Reliable messaging
When the connection is OK, you will get an ebXML Delivery Acknowledgement (also known
as Receipt, similar to an email receipt notification).
This may be hidden from you by an Off the Shelf Message Handling System (MHS) but will
be a rather less neat version of the possible sample provided below.
Content-Type: text/xml
SOAPAction: "ebXML"
Content-Length: 7022
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 22 of 39
B2B Access Guide
http://www.oasis-open.org/committees/ebxml-msg/schema/envelope.xsd">
<soap:Header xmlns:eb="http://www.oasis-open.org/committees/ebxml-msg/schema/msgheader-2_0.xsd"
xsi:schemaLocation="http://www.oasis-open.org/committees/ebxmlmsg/schema/msg-header-2_0.xsd
http://www.oasis-open.org/committees/ebxmlmsg/schema/msg-header-2_0.xsd">
<eb:MessageHeader eb:id="ID316455841141998769982cbu072a003" eb:version="2.0"
soap:mustUnderstand="1"><eb:From><eb:PartyId eb:type="urn:oasis:names:tc:ebXMLcppa:partyidtype:duns">232510151</eb:PartyId><eb:Role>WholesaleProvider</eb:Role></eb:From><eb:To>
<eb:PartyId eb:type="urn:oasis:names:tc:ebXMLcppa:partyidtype:duns">123456789</eb:PartyId><eb:Role>ServiceProvider</eb:Role></eb:To><eb:CPAId>B
T_Wholesale_CPname_BT_Wholesale_TestPartner1_XMLRMigration_cpa_cpa</eb:CPAId>
<eb:ConversationId>0329040b-55b2-4275-90928a1faf89b385</eb:ConversationId><eb:Service>urn:oasis:names:tc:ebxmlmsg:service</eb:Service><eb:Actio
n>Acknowledgment</eb:Action><eb:MessageData><eb:MessageId>M1141998769979.615866@cbu072a003
8438259305634289897</eb:MessageId><eb:Timestamp>2006-0310T13:52:49.979Z</eb:Timestamp><eb:RefToMessageId>M1141998769579.43077@cyclone1125933195045
429953</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><eb:Acknowledgment
eb:id="ID315227511141998769979cbu072a003" eb:version="2.0"
soap:actor="urn:oasis:names:tc:ebxml-msg:actor:toPartyMSH"
soap:mustUnderstand="1"><eb:Timestamp>2006/03/
10T13:52:49.979Z</eb:Timestamp><eb:RefToMessageId>M1141998769579.43077@cyclone1125933195045
429953</eb:RefToMessageId><eb:From><eb:PartyId eb:type="urn:oasis:names:tc:ebXMLcppa:partyidtype:duns">232510151</eb:PartyId><eb:Role>WholesaleProvider</eb:Role></eb:From><ds:Refe
renceURI=""
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:Transforms>
<ds:Transform
Algorithm="http://www.w3.org/2000/09/xmldsig#envelopedsignature"/>
<ds:Transform
Algorithm="http://www.w3.org/TR/1999/REC-xpath19991116"><ds:XPath>not(ancestor-orself::node()[@soap:actor="urn:oasis:names:tc:ebxmlmsg:
service:nextMSH"] | ancestororself::node()[@soap:actor="http://schemas.xmlsoap.org/soap/actor/next"]
)</ds:XPath></ds:Transform>
<ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n20010315"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>AXjWwIGcxOQXo0wiay4hhT5UfAk=</ds:DigestValue>
</ds:Reference><ds:Reference
URI="cid:TestE1" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>Irj8U6J3QqtzVJ1iE+y9PVO/YUs=</ds:DigestValue>
</ds:Reference></eb:Acknowledgment><ds:Signature
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod
Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<ds:SignatureMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference URI="">
<ds:Transforms>
<ds:Transform
Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<ds:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116"><ds:XPath>not(ancestororself::node()[@soap:actor="urn:oasis:names:tc:ebxmlmsg:
service:nextMSH"] | ancestororself::node()[@soap:actor="http://schemas.xmlsoap.org/soap/actor/next"]
)</ds:XPath></ds:Transform>
<ds:Transform
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 23 of 39
B2B Access Guide
Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</ds:Transforms>
<ds:DigestMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>6n4NAMKfYUzVi0EVTfdadDLCndw=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
Ez6T7H91CPXdcGxbXeTiNL8IiB9j31dlNQhUi9x1xTIuzdCGgflilpHBJafy0erSjeI686g+FI2VAfZBVjUkeintB
HPKcCtbQ1JQvUATvWqaDJ3HJGS1Fhc6uRCT+w7it0kgFdtRmp6zF6VFkk+2iEfP2C+wCU6TcasJ+d0PK
uQ=
</ds:SignatureValue>
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus>
qsJAIxkbPNgbu6+OCqS/nIF5R1izY5T475x4daVedCt8OEw5CB4ZNns29evGvoe0vvIDzoTjvtEL1FbNr8izc
aG0JGa0KmUwVi5l7puTFJ043hH6Xs4RvV+2IEmoaZRqHY6Ic3YQblU4m+k9iUu2fE6onY4gSfHI9TocJPV
KFU8=
</ds:Modulus>
<ds:Exponent>AQAB</ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509IssuerSerial>
<ds:X509IssuerName>CN=B2B PEM,O=BT Group Plc</ds:X509IssuerName>
<ds:X509SerialNumber>75401604589881139776868569778074274319</ds:X509SerialNumber>
</ds:X509IssuerSerial>
<ds:X509SubjectName>emailAddress=b2b.pem@bt.com,CN=B2BOnRamp,TI=B2B,OU=MailStop Stadium House,OU=EmployeeID -1,OU=PEM,O=BT,L=Cardiff,ST=Wales,C=UK</ds:X509SubjectName>
<ds:X509Certificate>
MIIDKTCCApKgAwIBAgIQOLnSINSLEHRhB8WRncHKDzANBgkqhkiG9w0BAQUFADAvMRUwEwYDVQ
QKEwxCVCBHcm91cCBQbGMxFjAUBgNVBAMTDUIyQiBPcGVucmVhY2gwHhcNMDYwMjE2MDAwMD
AwWhcNMDcwMjE2MjM1OTU5WjCB3DELMAkGA1UEBhMCVUsxDjAMBgNVBAgUBVdhbGVzMRAwDZ
cwgZQwCQYDVR0TBAIwADALBgNVHQ8EBAMCBaAwEQYJYIZIAYb4QgEBBAQDAgeAMFQGA1UdHw
RNMEswSaBHoEWGQ2h0dHA6Ly9vbnNpdGVjcmwudHJ1c3R3aXNlLmNvbS9CVEdyb3VwUGxjQjJCT3
BlbnJlYWNoL0xhdGVzdENSTC5jcmwwEQYKYIZIAYb4RQEGCQQDAQH/MA0GCSqGSIb3DQEBBQUAA
4GBAK1D1fw8wbBjKzI17E0GRghEBoxiYEqThSRczZGYznJXBgloOlIB2iqDCdj5l4DoitLXBbVwYYYcY5t
LIgutPeEB6tO1Ui0wd4eLlAPuUnqtMsDdoOvpnXFiBWmYM/obnL5M8M+l51VVc9YcTGtvcWSAcw2ueTe
oWaULkCYM4w0n
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature></soap:Header><soap:Body xmlns:eb="http://www.oasis-open.org/committees/ebxmlmsg/schema/msgheader- 2_0.xsd" xsi:schemaLocation="http://www.oasisopen.org/committees/ebxmlmsg/schema/msg-header-2_0.xsd http://www.oasisopen.org/committees/ebxmlmsg/schema/msg-header-2_0.xsd"/></soap:Envelope>
Note: There is no attached payload for an ebXML Delivery Acknowledgement.
6.3.2 Business payload
On this interface, Onramp does not send receipt acknowledgements in addition to an
ebXML Delivery Acknowledgement; the ebXML delivery acknowledgement will be followed
by the business document corresponding to your input (as attachment in ebXML SOAP
message).
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 24 of 39
B2B Access Guide
The ebXML section for a business document has these variables:
Conversation ID
Service
Action
Message ID
Ref-to-Message ID
Timestamp
As input on request
bcBusinessTransactionDescription, as input
rsBusinessTransactionDescription or
ReceiptAcknowledgementException,
AcceptanceAcknowledgementException
GyyyyMMddHHmmssSSS .14cc8ce:10a3d2210d5:7d3b@123.123.123.123
As input on request
Note the format : yyyy-mm-ddThh:mm:ss
6.3.3 Exceptions
It is also possible that your input will be rejected with:
a) ReceiptAcknowledgementException
(This is covered in Template Solution Design BPS Documents and XML
Interface Documents which you can find on the BT Wholesale B2B web pages
The Gateway might reject your input payload for some reason – eg inconsistency
between participants shown in ebXML and payload
b) AcceptanceAcknowledgementException
(This is covered in Template Solution Design document)
Gateway passes your input to other systems but they either reject it before
processing or fail to return it
c) It is also possible that you will get a SOAP fault eg:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>Exception message: Unable to internalize message Stacktrace: javax.xml.soap.SOAPException:
Unable to internalize message at
com.cyclonecommerce.webservices.protocols.ebxml.Ebxml2Message.parseMimeMessage(Ebxml2Message.j
ava:610) at com.cyclonecommerce.webservices.soap.SOAPMessageImpl.parseMimeMessage
(SOAPMessageImpl.java:179) at
com.cyclonecommerce.webservices.soap.SOAPMessageImpl.<init>(SOAPMessageImpl.java:123) at
com.cyclonecommerce.webservices.soap.security.AbstractSecureSOAPMessage.<init>(AbstractSecureSO
APMessage.java:239) at
com.cyclonecommerce.webservices.soap.security.xmldsig.AbstractXmlSecuritySOAPMessage.<init>(Abstra
ctXmlSecuritySOAPMessage.java:349) at
com.cyclonecommerce.webservices.soap.versions.ver1_1.SOAPMessage1_1Impl.<init>(SOAPMessage1_1
Impl.java:26) at
com.cyclonecommerce.webservices.protocols.ebxml.Ebxml2Message.<init>(Ebxml2Message.java:57) at
com.cyclonecommerce.webservices.protocols.ebxml.EbxmlProtocolReceiver.parseEbxmlMessage(EbxmlProt
ocolReceiver.java:738) at
com.cyclonecommerce.webservices.protocols.ebxml.EbxmlProtocolReceiver.receive(EbxmlProtocolReceiver.j
ava:925) at
com.cyclonecommerce.tradingengine.messaging.config.ProtocolReceiverProxy.receive(ProtocolReceiverProx
y.java:6) at
com.cyclonecommerce.tradingengine.messaging.handler.ProtocolReceiverState.d(ProtocolReceiverState.java
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 25 of 39
B2B Access Guide
:23) at
com.cyclonecommerce.tradingengine.messaging.handler.ProtocolReceiverState.handleMessage(ProtocolRec
eiverState.java:17) at
com.cyclonecommerce.tradingengine.messaging.handler.MessageHandlerJob.run(MessageHandlerJob.java:
84) at
com.cyclonecommerce.tradingengine.cluster.failover.FailoverableJobTask.execute(FailoverableJobTask.java:
2) at com.cyclonecommerce.util.task.TaskScheduler$d_.primRun(TaskScheduler$d_.java:47) at
com.cyclonecommerce.lang.EventedThread.run(EventedThread.java:22)
Caused by: javax.xml.soap.SOAPException: Invalid SOAP Content-Type: multipart/related; type=text/xml;
boundary=someBoundaryValue; start=ebXML_Message_Header at
com.cyclonecommerce.webservices.protocols.ebxml.Ebxml2Message.parseMimeMessage(Ebxml2Message.j
ava:639)
... 15 more
</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>
The PEM team will usually be able to see these in logs. Assistance will be given by
suggesting an explanation and where changes may be needed.
6.4 Your response to Onramp
You should reply to any message sent by the Gateway with an ebXML Delivery
Acknowledgement. If you do not reply (or the ebXML Delivery Acknowledgement fails to get
back to the Gateway) the message will be sent up to three more times at five minute
intervals. It is possible for Onramp to invoke further resends of failed messages when the
problem has cleared.
Depending on the transaction, you may be expected to send a ReceiptAcknowledgement.
The Time To Ack Receipt is set to 0 in the Template Solution Design if a
ReceiptAcknowledgement is NOT required – this usually applies to the RequestResponse
business transaction pattern), which will be another SOAP message with a payload as
suggested in the Template Solution Design document.
You can also send AcceptanceAcknowledgementException or
ReceiptAcknowledgementException on Onramp when applicable.
The ebXML Actions for these Business Signals are ReceiptAcknowledgement,
ReceiptAcknowledgementException, AcceptanceAcknowledgementException.
On-Ramp is a flexible phase which can be tailored to the particular tests you wish to run. To
discuss these and any other related issues, please contact the PEM team
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 26 of 39
B2B Access Guide
6.5 Onramp exit criteria
These are the set of tests which need to be done on the Onramp systems before moving to
the live environment. Live server set up starts after the Onramp signoff.
You simply have to fill the exit criteria report and send this to the PEM team. They will then
verify the tests performed and provide the signoff from Onramp.
Please Note: Completing the Quality gates only proves that your system is capable of
handling more than one and also all kinds of request and response messages
simultaneously. Quality Gate does not constitute to complete functional testing.
The following sections describe separate scenarios for XML Knowledge Based Diagnostics
(KBD).
6.5.1 Scenarios for 20CN XML Knowledge Based Diagnostics
(KBD)
The following five test cases are mandatory and must be passed in order to complete KBD
Diagnostics Quality Gate.
Scenario 1: bcRequestKBDInitiatev1
Sender
Message Type
Processing Instruction
1 CP
KBD Request
<?BTW_B2B_OnRamp_Test_Id
2 BT
A response indicating
that kbdInitiate Request
is Accepted
?B2B_BTW_KBD_bcRequestKBDInitiatev1_kbdIniti
ateAccepted?>
Scenario 2: bcRequestKBDResumev1
Sender
1 CP
2 BT
Message Type
Processing Instruction
KBD Request message
to resume Diagnostic
A response indicating
that kbdResume
Request is Accepted
<?BTW_B2B_OnRamp_Test_Id
?B2B_BTW_KBD_bcRequestKBDResumev1_kbdQ
ueryAccepted?>
Scenario 3: bcRequestKBDTerminatev1
Sender
1 CP
Message Type
Processing Instruction
Request message to
terminate test
<?BTW_B2B_OnRamp_Test_Id
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 27 of 39
B2B Access Guide
?B2B_BTW_KBD_bcRequestKBDTerminatev1_kbd
TerminateAccepted?>
2 BT
A response indicating
the kbd Terminate
request is accepted.
Scenario 4: bcNotifyOfKBDQueryv1
Sender
1 CP
2 BT
Message Type
A notification containing
a query from BT
Wholesale gateway.
Processing Instruction
<?BTW_B2B_OnRamp_Test_Id
?B2B_BTW_KBD_bcNotifyOfKBDQueryv1_AUTON
OTIFICATION?>
BT onramp Sends
same XML in response
Scenario 5: bcNotifyOfKBDFinalResultv1
Sender
Message Type
Processing Instruction
A final test result
1 CP
notification from BT
Wholesale gateway
2 BT
BT onramp Sends
same XML in response
<?BTW_B2B_OnRamp_Test_Id
?B2B_BTW_KBD_bcNotifyOfKBDFinalResultv1_AU
TONOTIFICATION?>
Scenario 6: bcRequestKBDResend1
Sender
Message Type
Processing Instruction
1 CP
kbdResendRequest
<?BTW_B2B_OnRamp_Test_Id
2
A response indicating
that kbdResend
Request is Accepted
?B2B_BTW_KBD_bcRequestKBDResendv1_kbdRe
BT
sendAccepted?>
Scenario 7: bcQueryKBDTestHistoryv1
1
2
Sender
Message Type
Processing Instruction
CP
kbdTestHistoryRequest
<?BTW_B2B_OnRamp_Test_Id
BT
A response indicating that
kbd TestHistory Request
is Accepted
?B2B_BTW_KBD_bcQueryKBDTestHistoryv1_k
bdTestHistoryAccepted?>
Scenario 8: bcRequestKBDPostDiagv1
Sender
Message Type
1
CP
kbdPostDiagRequest
2
BT
A response indicating that
kbd PostDiag Request is
th
Issue 1.2 – 7 November 2011
Processing Instruction
<?BTW_B2B_OnRamp_Test_Id
?B2B_BTW_KBD_bcRequestKBDPostDiagv1_k
Copyright  British Telecommunications plc 2011
Page 28 of 39
B2B Access Guide
Accepted
bdPostDiagAccepted?>
6.5.2 Scenarios for 21CN XML Knowledge Based Diagnostics
(KBD)
Scenario 1: bcRequestKBDInitiate2v1
Sender
Message Type
Processing Instruction
CP
KBDInitiateRequest
KBD
KBDInitiateAccepted
<?BTW_B2B_OnRamp_Test_Id
?B2B_BTW_KBD_bcRequestKBDInitiate2v1_
kbdInitiateAccepted21C?>
Scenario 2: bcRequestKBDResume2v1
Sender
Message Type
CP
KBDQueryRequest
KBD
KBDQueryAccepted
Processing Instruction
<?BTW_B2B_OnRamp_Test_Id
?B2B_BTW_KBD_bcRequestKBDResume2v1
_kbdQueryAccepted21C?>
Scenario 3: bcRequestKBDTerminate2v1
Sender
Message Type
CP
KBDTerminateRequest
KBD
KBDTerminateAccepted
Processing Instruction
<?BTW_B2B_OnRamp_Test_Id
?B2B_BTW_KBD_bcRequestKBDTerminate2v
1_kbdTerminateAccepted21C?>
Scenario 4: bcRequestKBDResend2v1
Sender
Message Type
CP
KBDResendRequest
KBD
KBDResendAccepted
Processing Instruction
<?BTW_B2B_OnRamp_Test_Id
?B2B_BTW_KBD_bcRequestKBDResend2v1
_kbdResendAccepted21C?>
Scenario 5: bcNotifyOfKBDFinalResult2v1
Sender
Message Type
CP
KBDFinalResultNotification
KBD
BT Onramp Sends same XML
in response
Processing Instruction
<?BTW_B2B_OnRamp_Test_Id
?B2B_BTW_KBD_bcNotifyOfKBDFinalResult
2v1_AUTONOTIFICATION?>
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 29 of 39
B2B Access Guide
Scenario 6: bcNotifyOfKBDQuery2v1
Sender
Message Type
CP
KBDQueryNotification
KBD
BT Onramp Sends same XML
in response
Processing Instruction
<?BTW_B2B_OnRamp_Test_Id
?B2B_BTW_KBD_bcNotifyOfKBDQuery2v1_
AUTONOTIFICATION?>
Scenario 7: bcQueryKBDTestHistory2v1
Sender
Message Type
Processing Instruction
CP
kbdTestHistoryRequest
<?BTW_B2B_OnRamp_Test_Id
BT
kbdTestHistoryAccepted21C
?B2B_BTW_KBD_bcQueryKBDTestHistory2
v1_kbdTestHistoryAccepted21C?>
Scenario 8: bcRequestKBDPostDiag2v1
Sender
Message Type
Processing Instruction
CP
kbdPostDiagRequest
<?BTW_B2B_OnRamp_Test_Id
?B2B_BTW_KBD_bcRequestKBDPostDiag2
BT
kbdTestHistoryAccepted21C
v1_kbdPostDiagAccepted21C?>
Note: About “RESEND [bcRequestKBDResend1]” functionality.
On the B2B onramp Gateway, the Resend functionality works as either accepted/rejected i.e. responses will
be sent as either accepted/rejected depending upon the PI.
But on the Production of the question” What would happen if the QueryNotification from KBD to CP is lost?”
This can result in a message loop where your system will be waiting indefinitely for a message from
KBD, whilst the KBD will be in turn waiting for the QueryRequest from you.
To avoid this situation, a resend option is available. Using the KBDResendRequest message; you can
request KBD to resend the last QueryNotification or KBDFinalResultNotification.
Please note, however, that a ResendRequest can be used only twice for a QueryNotification or
FinalResultNotification.
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 30 of 39
B2B Access Guide
6.6 Message handling
Once connection is established, the wrapping, unwrapping, acknowledgements and
receipting need to be demonstrated. This is done by simulating business transactions. You
should test ALL the services, which you want to use (this will also test the Collaboration
Protocol Agreement (CPA) for completeness if you are using one to set up your Message
Handling System (MHS)).
The Processing Instructions (PIs) will take the form:
<?BTW_B2B_OnRamp_Test_Id ?KEY1?>
All the possible Processing Instructions can be found in the XL sheet provided here below.
20CN_KBD_PI_Sheet 21CN_KBD_PI_Sheet
.xls
.xls
AUTONOTIFICATION
For AutoNotification you would need to send a request on Onramp using the service value
of the required notification, Action value as “AutoNotification” and the Notification XML
payload (Available in the Business Process Specification Schema (BPSS)). Please note,
unlike production behavior, on Onramp you would need to request for an AutoNotification
explicitly.
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 31 of 39
B2B Access Guide
7. SDK and Emulator
7.1 Overview
Our Software Development Kit (SDK) and Emulator tools help you when using the 21CN
Knowledge Based Diagnostics (KBD) services. The KBD B2B SDK provides the tools,
sample code and documentation that the customers need to quickly and easily integrate
with the BT Wholesale B2B gateway.
The SDK provides a Java API which allows you to create, validate, send and receive 21CN
KBD B2B XML. The SDK is only available in Java you simply need to be able to integrate
this into your existing environment.
The SDK encapsulates the ebXML process through the use of the Hermes B2B Gateway. It
also provides a locally deployable test environment to allow simulated end-to-end testing
before connecting to BT.
The Emulator tool can be used to develop and test the integration of the SDK into the
customer's processing stack. It performs automatic validation of inbound messages and
gives the facility to generate the relevant responses. The Emulator gives you the ability to
generate simulated BT responses on demand.
Therefore the use of SDK-Emulator will mean a faster integration with BT systems.
The SDK code is to be used to connect to the Emulator deployed on the Onramp
environment, complete the testing and then use the code to place orders against the Live
environment.
All you need to do is register (using the link below) with your correct Data Universal
Numbering System (DUNS) ID then can download the latest SDK/Emulator and
documentation from the link - http://wssdk.wholesale.bt.com/SDKPortal/
If you are currently live on the B2B gateway (using your own propriety software), and would
like to move to SDK messaging you simply need to go through Onramp process at least
once to prove the SDK access.
At the moment SDK only supports 21CN Knowledge Based Diagnostics (KBD)
services only and does not support 20CN Knowledge Based Diagnostics (KBD).
The point of contact for the customers during the SDK testing would be the Partnership
Enablement Management (PEM )team (wholesale.pem@bt.com).
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 32 of 39
B2B Access Guide
7.2 Benefits
Here is a quick look at the benefits that you can attain by using the SDK-Emulator
functionality on your side:
a) Emulator gives ability to generate simulated BT responses on demand.
b) Improved data validation prior to sending to BT.
c) Encapsulates ebXML process through uses of the Hermes B2B Gateway – signing of
ebXML messages is easier, quicker and can be done with no issues.
d) Faster integration with BT systems.
e) Save time with less reliance on documentation and sample XMLs.
f) Provides a locally deployable test environment to allow E2E testing before
connecting to BT.
7.3 Installation details
The advantage of Emulator over the regular Onramp phase is that it allows you to deploy
Emulator in your own development environments to carry out the initial testing and get a
hands-on experience over its usability and functionalities.
So, there are three options of deployment available as you move from initial testing to
production.



Connection of SDK to locally deployed Emulator in your own development
environment.
Connection of SDK to Onramp BT Wholesale B2B environment - Emulator would be
deployed on the BT Wholesale Onramp gateway and you can use the web interface
to control message flow (receive the responses that you would like to obtain from BT
for a business order)
Connection of SDK to live BT Wholesale B2B Gateway for use in production
environment.
The prerequisites and all the details required for the installation of SDK and locally
deployable emulator is available in the installation guide that you will receive as a part of the
SDK starter package.


First go to http://wssdk.wholesale.bt.com/SDKPortal/
In order to get your copy of the SDK you will need to register on the SDK Portal using
the link above. You will need to provide your company’s 9 digit Data Universal
Numbering System (DUNS) ID during this process.
The installation guide gives you a detailed explanation of:




Deployment options
SDK Installation
Emulator setup
Running the SDK examples
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 33 of 39
B2B Access Guide

Certificate setup on Apache tomcat server and Hermes
7.4 How to use the Onramp Emulator
The link to fire the desired responses on behalf of BT Wholesale and the access credentials
will be provided to you by the PEM Team.
At this link, you will be able to find the details of the XML posted (MessageID, time-stamp
etc). You will also be able to find the associated responses that can be sent from BT
Wholesale for the request posted.
You must ensure that you refer the XML Interface document and the Template solution
documents for 21CN KBD Services available on the Bt Wholesale Web site to understand
the XML validations for tags and the order journey for the services.
If you would like to use 21CN KBD services via SDK and Onramp Emulator, then please get
in touch with the PEM Team.
They will guide you further on the same.
7.5 Guidelines
a) It is mandatory that you perform a round of testing using the SDK against the Emulator
deployed on Onramp, before using the SDK code on the live systems for 21CN KBD
services.
b) SDK would be updated in releases according to the fixes (if any) or for incorporating
the new services/functionalities offered by us. Therefore, you must ensure that you
download the latest release kit and use the same to test within your development
servers, Emulator or for live purposes.
c) If you are new to the B2B gateway, then sections 3 and 4 of this document which
explain the certificate application and extraction process along with the details that
need to be provided for the Onramp setup, are also appropriate for SDK too.
d) Using the Emulator functionality allows you to obtain responses which are very similar
to the responses sent by the actual live systems by the following means:
Validations that are in place to check that the correct values are used in the
XMLs on the Live systems will be covered by the emulator as well.
ii. Emulator allows you to choose the kind of response we could send across for
your requests. This essentially means that all the scenarios associated with an
order journey are incorporated in the Emulator thus allowing you to formulate
test cases of your own and understand the responses obtained from BT
Wholesale for various scenarios.
iii. Use of a processing instruction (PI) in the XML payload is not required. is
unlike the Onramp test systems where the payload for each XML needs to be
altered by adding the PI for obtaining the responses.
i.
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 34 of 39
B2B Access Guide
iv.
Emulator allows you to adhere to the order journey.
e) Once you have completed the Onramp testing for the services that you have planned
to use on live, we will send you the Onramp exit criteria document. You will need to fill
the document with the details of the Onramp tests you have done. (Please note that
the testing should be done within five days before you submit the document.
f) Your point of contact for any SDK-Emulator related queries/issues would be the BT
Wholesale PEM team (wholesale.pem@bt.com)
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 35 of 39
B2B Access Guide
8. Pilot and live phase
8.1 Pilot
The PEM team will sign off your Gateway after ensuring that your system will not negatively
affect the Production platform in terms of incorrect, missing or excess messages. Then you
will be given access to the live Production platform.
After this, the PEM team will confirm any operational changes to your IP address and your
URL if these apply. We will then carry out any final checks on your certificate configuration
and, if you need one, we will send you a new Collaboration Protocol Agreement (CPA) and
send you an email to tell you when your B2B Gateway services will be approved.
In technical terms, the only changes are:



Use https://www.b2b.btwholesale.com/exchange/232510151 as the URL to
address messages to.
Change the CPA ID referenced in messages to the CPA ID from the production CPA
newly provided to you.
Production will send messages from one of the following four outgoing IP addresses
193.113.57.20
193.113.57.21
193.113.48.116
193.113.48.118
Production is the first time that:






Your organisation will be connecting to the real back-end systems of BT Wholesale
You will be able to test specific details of lines, exchanges and so on
Your requests will get full validation against all back end systems which you did not
have during the Onramp testing
You get back the full range of Notifications at times reflecting the full business
processes and system performance
Any TimeToPerform constraints will be applied
Your systems will be processing more than limited test data returned from BT.
Once you are on live on the production gateway. The PEM team will support you for a two
week trial period if you are an existing customer and for 4 weeks if you are a new customer,
and so if you have any issues while placing orders against the live system please get in
touch.
Within this period, you would need to

Test for all the services on live and contact the PEM team (wholesale.pem@bt.com)
if you face any issue.
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 36 of 39
B2B Access Guide


Once you have completed testing for all the services, you will need to inform PEM
about the completion of tests.
These tests could be similar to those of the Onramp tests you had carried out earlier
(in terms of various services and XMLs used).
8.2 Live
If you face any issues after the two (or four) weeks of trial period, you will need to contact
our first line of support at broadband.eco.admin@bt.com .
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 37 of 39
B2B Access Guide
9. Glossary
BT
BTW
CA
TP
CUPID
DUNS
DNS
IP
OTA
PI
SOAP
SSL
KBD
WS
WSDL
CP
ServiceId
British Telecommunications plc (not to be confused with business transaction)
BT Wholesale
Certificate Authority
Trading Partner (essentially same as Communications Provider or Service Provider)
Communications Provided Identifier (previously known as LOPID) from
Ofcom
(http://www.ofcom.org.uk/telecoms/ioi/numbers/numbers_administered/#cupid)
Data Universal Numbering System, a unique nine-digit sequence issued by Dun &
Bradstreet, recognised as the universal standard for identifying and keeping track of
over 100 million businesses worldwide.
Domain Naming System
Internet Protocol
Office of the Telecommunications Adjudicator
Processing Instruction (XML terminology)
Simple Object Access Protocol
Secure Sockets Layer, a protocol developed by Netscape for transmitting private
documents via the Internet. SSL uses a cryptographic system that uses two keys to
encrypt data − a public key known to everyone and a private or secret key known only
to the recipient of the message. Both Netscape Navigator and Internet Explorer
support SSL, and many Web sites use the protocol to obtain confidential user
information, such as credit card numbers. By convention, URLs that require an SSL
connection start with https: instead of http.
Knowledge Base Diagnostic
Web Services
Web Service Definition Language
Communications Provider
The service identifier of the end user service. The format is BBEUnnnnnnnn, i.e. four
letters as shown followed by eight digits.
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Page 38 of 39
B2B Access Guide
10. Document history
Issue
1.0
Date
04/02/2011
Author
PEM team
1.1
30-09-2011
BTW team
1.2
07/11/2011
PEM Team
Issue 1.2 – 7th November 2011
Copyright  British Telecommunications plc 2011
Comments
Combined 20CN and 21CNKnowledge Based
Diagnostics (KBD)User Guides to eliminate
duplication of information
Aligned to One-Voice & new BT
Wholesale.com guidelines & templates
Updated the User Guide to include
information about 21CN KBD SDK-Emulator
availability
Page 39 of 39