21CN Web Services KBD Diagnostics User Guide

21C KBD Web Services On-Ramp User Guide
21CN Web Services KBD Diagnostics User Guide
Version 2.2
Getting the best from the Web-services Gateway
Legal notice
In confidence BTW and Contracted CPs
1
21C KBD Web Services On-Ramp User Guide
The contents contained in this document must not be forwarded or republished without the
written consent of BT Wholesale.
The 21C_KBD_Web_Services_User_Guide_v_2_2 Handbook changes regularly. Accordingly
extracts which are downloaded from this site and/or printed may become out of date. If users
retain such material and wish to refer to it at a later date, it is their responsibility to ensure that
it has not been superseded. BT can accept no responsibility for losses incurred due to out of
date information being used.
Copyright
© British Telecommunications plc, 2009. All rights reserved.
BT maintains that all reasonable care and skill has been used in the compilation of this
publication. However, BT shall not be under any liability for loss or damage (including
consequential loss) whatsoever or howsoever arising as a result of the use of this publication
by the reader, his servants, agents or any third party.
All third-party trademarks are hereby acknowledged.
 British Telecommunications plc
Registered Office 81 Newgate Street LONDON EC1A 7AJ
Registered in England no.1800000
Document History
Issue
1.0
2.0
2.1
Date
12/12/2008
29/06/2009
02/07/2009
Author
Krishna Reddy K
Chandranandan S
Chandranandan S
2.2
05/11/2009
Srilakshmi Gorur
Comments
Initial Draft.
Added 21C WBC Diagnostic services
Updated WSDL for WBC & review
comments from XML Design Team
Edited the guide to exclusively cater to 21C
KBD. Removed all WBC references in the
document. Proofread for better readability.
Changed nomenclature of customer from
TP to CP.
Enquiries and comments to Partner Enablement Management:
Email: b2b.pem@bt.com Tel: 01252696275
In confidence BTW and Contracted CPs
2
21C KBD Web Services On-Ramp User Guide
Contents
Introduction .............................................................................................................................. 4
What is On-Ramp For? ............................................................................................................ 4
1 Getting Started ...................................................................................................................... 5
1.1 Tell us more about your organisation and requirements ......................................... 5
1.2 On-Ramp set up details for KBD ................................................................................. 6
2 Security & Certificate Information ...................................................................................... 7
2.1 The BTW security requirements .................................................................................. 7
2.2 Digital Certificates ......................................................................................................... 7
2.3 Downloading a new Digital Certificate ........................................................................ 7
2.4 Sending us your Public Key ......................................................................................... 8
3 On-Ramp Testing .................................................................................................................. 9
3.1 Introduction to On-Ramp for KBD ............................................................................... 9
3.2 Duration of the On-Ramp tests .................................................................................. 10
3.3 Sending messages to On-Ramp ................................................................................ 10
3.3.1 A look at http .......................................................................................................... 11
3.3.2 About XML ............................................................................................................. 11
3.3.3 Sample KBD example with SOAP ......................................................................... 11
3.3.4 Curl Connectivity .................................................................................................... 13
3.3.5 WsTransport Web Service definition for KBD ........................................................ 15
3.3.6 What are the Diagnostic Services and what XML goes with them? ...................... 15
3.4 Receiving messages from On-Ramp ........................................................................ 15
3.4.1 Some more http ..................................................................................................... 15
3.4.2 Response Business payload for KBD .................................................................... 16
3.4.3 Exceptions ............................................................................................................. 16
3.5 Quality Gates ............................................................................................................... 17
3.5.1 Scenarios for XML KBD Diagnostics ..................................................................... 17
3.6 Message Handling ....................................................................................................... 19
4 In-Life Migration .................................................................................................................. 19
Glossary ................................................................................................................................. 20
In confidence BTW and Contracted CPs
3
21C KBD Web Services On-Ramp User Guide
About this User Guide
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.
Introduction
The Web Services Gateway is designed to allow BT Wholesale customers to buy and
manage a variety of telecommunication services electronically, by linking their own support
systems and processes with BT.
Knowledge Based Diagnostics (KBD) Service is implemented in aid of the BT Broadband
customer support process. The 21CN KBD Tool is invoked as a result of the customer facing
some technical issue with the service being provided. On the basis of information provided by
the Communications Provider (CP) and on the results returned by automatic testing tools and
other sources of information 21CN KBD Tool will suggest actions or ask more questions
which are relayed back to the CP. On the basis of the test data and answers to questions the
21CN KBD Tool will, if possible, provide a solution to the issue.
All KBD documents can be found on btwholesale.com at
http://www.btwholesale.com/pages/static/Applications/Faults/knowledge_based_diagnostics.h
tml
What is On-Ramp For?
Central to setting up your access to the WS Web Services Gateway are the tests PEM run
during what is termed the “On-Ramp” phase. These will allow you to:





Test connectivity to and from BT Wholesale via the Internet. As part of the tests, CP
will be able to check any proxies and firewalls that may be on the routes involved.
Create, convert and install any Digital Certificates that may be used to support secure
https connections.
Test business level messages for KBD passing across the WS Web Services
interface. For final testing, the messages will come from and go back to the CP’s
system.
Pave the way to accessing a host of additional online services as these become
available.
Implementation of web services.
Testing of the interface itself may be done using test stubs but final testing should use
Data generated by and integrated with the CP backend systems.
In confidence BTW and Contracted CPs
4
21C KBD Web Services On-Ramp User Guide
1 Getting Started
CP’s WS Web Services Gateway customer support team is known as the PEM Team, where
PEM stands for “Partner Enablement Management”. They can be contacted at
b2b.pem@bt.com. PEM would ask you details so that they can build up a Client Profile.
1.1 Tell us more about your organisation and requirements
This requirement is to set up CP profile under BT Wholesale community.
Name of the CP 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.
CP DUNS number
The 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
DUNS number at http://express.dnbsearch.com/advFind.asp. Look for the option “Search by
DUNS Number”, enter your company’s 9-digit number and press “Search” to see the validated
result.
CP Communication Provider’s URLs
You can provide URL with default port 443 to which the BTW will send Notification.
CP IP addresses
These are the respective IP addresses to which BTW Web Services KBD System will send
responses to the CP.
CP Client Certificate
The digital certificate issued from BT Wholesale Northside to CP is required for Mutual
Authentication. And note that same certificate should be used by CP when he moves on to
production Web Services gateway. Complete instructions for applying for this certificate are
detailed below.
CP BT Account Manager
This is the member of the BT Account Team who confirmed your access to the BTW Web
Services KBD Gateway. The PEM team will liaise with your Account Manager as necessary.
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.
Technology used to build CP BTW KBD 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.
CP preferred Testing Date
Setting up an On-Ramp test can take as little as a week. However, each Trading Partner’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.
In confidence BTW and Contracted CPs
5
21C KBD Web Services On-Ramp User Guide
CP preferred Production Date
As you will see, how long the On-Ramp tests go on depends more on what tests you have
elected to carry out rather than any fixed lead times required by BT. 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.
CP Production Support contact’s details
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.
1.2 On-Ramp set up details for KBD
On-Ramp will accept and respond synchronously messages at below given URLs for the
various diagnostic services available.
1. BTW DUNS number
232510151
2. URL:
https://www.ws-onramp1.wholesale.bt.com:5443/21cnkbd/1.0/KnowledgeBasedDiagnostic
It is expected that a CP will need to arrange firewall access. For access from the On-Ramp
Gateway:
217.140.45.140 is for traffic coming from BT to Trading Partner over port 443.
217.140.45.139 is for traffic coming from the Trading Partner to BT over port 5443.
In confidence BTW and Contracted CPs
6
21C KBD Web Services On-Ramp User Guide
2 Security & Certificate Information
A number of security measures need to be in place in order to use the BTW Web Services
KBD Gateway, both during the On-Ramp Test phase and in Production.
2.1 The BTW security requirements
Mandatory requirements and restrictions apply that must be fulfilled in ALL circumstances.
Failure to comply with any of these will prevent completion of any connectivity trials and OnRamp testing, and jeopardise access to the live Production environment.
In summary, the principal security requirements include:







Confirmation of compliance with BS7799.
Use of a BT generated and supplied Digital Certificate using BT as the certification
authority (BT acts as a private certification authority)
Ability to accept inbound connections to your organisation.
Support for https/SSL connections when initiated by either end.
Presence of a firewall between the Internet and your organisation’s systems would be
suggested.
A system access point that uses a static RIPE IP address, not just a fixed DNS name. (BT
access is IP address-specific and restricted: this information will be required by BT as part
of the On-Ramp process.)
In addition, Network Address Translation (NAT) may be used to isolate your internal
systems from the Internet and BT. this must be used if a private IP-addressed network is
used within your organisation.
2.2 Digital Certificates
Central to accessing BT’s online services is the installation of an appropriate firewall and the
required Digital Certificate on the client side.
At least one X 509 certificates will be needed. We will issue Client and Server Certificates
from the URLs specified below (see Section 2.3). These are used specifically for the OnRamp testing phase (different data will apply when you are ready to move to the In-Life
Production environment.).
If you are in any doubt, we recommend you discuss any existing certificates with the PEM
team.
2.3 Downloading a new Digital Certificate
IMPORTANT:
We recommend you use Internet Explorer and install the certificate
first on a PC.
The certificate is necessary for basic authentication but not tied to a DNS name and IP
address. You can transfer this certificate from one server to another as and when required.
Details of the relevant link you can select are as follows:
https://onsite.trustwise.com/services/BTGroupPlcNorthsideclient/digitalidCenter.htm
Once you have completed your online application on the Trustwise website, BT’s PEM team
will approve your certificate request from Trustwise and advise you by email.
In confidence BTW and Contracted CPs
7
21C KBD Web Services On-Ramp User Guide
You will also receive a URL address and a PIN number with instructions on how to install your
certificate(s).
IMPORTANT!
Make sure you use the same browser on the same machine as you
originally applied from.
To obtain a Certificate:




First, INSTALL CA
Next, ENROL
First name, last name, E-mail Address, Employee ID number, company are required
inputs but can be treated creatively – 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); Challenge
phrase may be needed later, and you are free to comment or not.
Inform PEM team at above given address, you have applied and authorization will
immediately generate an email explaining the installation process (basically go to a url
and input a PIN code from the email). Please use the same browser on the same
machine as you originally applied from.
2.4 Sending us your Public Key
With the correct Digital Certificate(s) downloaded, you need to carry out the following checks
so that we can progress your order to the next stage.
1. 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.
2. In these circumstances, you will also need to change the certificate’s format depending on
your software (a visit to www.openssl.org may provide useful).
3. You should also move the Certificate Authority to maintain the evidence of trust (by using
the “export all certificates in path” command). See below.
Now zip and send Public Key supplied with each certificate in order to allow BT to
authenticate the messages you send us and vice versa. This will allow us to set up the https
connection from the On-Ramp environment to your server and is also used for authentication
through the digital signature you send for your message.
The reason you will need to export the certificate (without Private Key) and send the file (for
example only .cer type) to the PEM team is because we do not automatically have a copy of
the Public Key which is needed to authenticate your signed messages (even though we
authorise its issue).
To export the 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; do not export the private key.
4. Next, choose either binary or base-64 .cer
5. Save the file zip and email a copy to the PEM team.
If the CP does not use Windows we would suggest them to go for some standard tool instead
of IE (Internet Explorer). Key tool comes free with Java and its platform independent. That
can be found at java.sun.com
The next phase will be to move straight to the On-Ramp Test (see Section 3 below).
In confidence BTW and Contracted CPs
8
21C KBD Web Services On-Ramp User Guide
3 On-Ramp Testing
3.1 Introduction to On-Ramp for KBD
Communication takes place by way of a series of Requests from your systems and
synchronous responses & asynchronous notifications from BT. You can carry out as many
tests as your business requires. This may depend on the size and complexity of your
organisation.
Currently WS On-Ramp gateway will generate synchronous responses along with the
Asynchronous notifications for the corresponding request messages
CP gateway sends a WS request over HTTPS to BTW W/S gateway.
CPs are in almost complete control of the messages passed across the On-Ramp interface.
This control is exercised through the insertion of XML tag element i.e. PI.
There are four types of requests sent to On-Ramp(refer Section 3.3.4); On-Ramp uses the PI
instruction Tag element to select a corresponding example Business level reply from a preprepared set held in a database stub.
The clear picture about the transaction process is explained below:
1.
CP sends initiate Request
BT sends Accepted/Rejected response responses to CP depending upon the PI
provided
BT Sends Query notification to CP after 1 min to the Accepted response to CP.
2.
CP initiates Query Request
BT sends Query Request Accepted/Rejected responses to CP depending upon
the PI provided
BT Sends Final Notification to CP after 1 min to the Accepted response to CP.
3.
CP sends Terminate Request
Terminate Accepted/Rejected responses will be generated from BT Web
Services. But there will not be any notification.
4.
Now coming to a scenario, what would happen if the QueryNotification from KBD to
CP is lost; obviously this lead to CP infinitely waiting for a message from KBD and
KBD in turn waiting for the QueryRequest from CP. In order to over-come such
unhappy situation, resend option is available to CPs.
CP sends Resend Request,
KBD resend the last Query Notification or Final Result Notification.
Note: But a ResendRequest can be used only twice for a QueryNotification or
FinalQueryNotification.
Business messages can be classified as Requests and Notifications. Requests are initiated
by CPs on On-Ramp; and asynchronous Notifications will be sends from BT Web Services as
specified for the above specified scenarios.
For asynchronous notifications from BT Web Services, for request messages, CP would
require hosting a WSDL File and you can find same under section 3.3.5.
The XML itself is as specified for Production use.
Note: When you move on to production gateway please remove PI from XML’s as this
is only for On-Ramp simulated responses.
The scope of the tests is NOT intended to:
 Provide a full end-to-end testing environment.
In confidence BTW and Contracted CPs
9
21C KBD Web Services On-Ramp User Guide



Faithfully reflect performance in a live Production environment.
Exhaustively test possible data values either sent to or returned by BT.
Validate specific data such as phone numbers (DN - Directory Numbers), Post Codes
(PCs) or Service IDs.
3.2 Duration of the On-Ramp tests
Mandatory tests are conducted depending on the number of tests you require, this process
will typically last 1-3 weeks.
The set-up on the On-Ramp side takes no more than three days from provision of your
details. The duration of the On-Ramp testing phase depends on the size of your organisation
and the complexity of its management and development processes. Connectivity can take as
little as one day to test, but in some instances may take more than four weeks to establish.
Likewise, message handling can take days or weeks.
Delays generally result from badly configured certificates and CAs on web servers. They can
also stem from firewall and proxy set-up problems, and development and integration
difficulties with your Operational Support System (OSS).
However, the most common reason for delays is the time required to develop a client system
that integrates fully with the BTW KBD Web Services Gateway.
3.3 Sending messages to On-Ramp
Messages are sent to Web Services On-Ramp KBD by an https POST to URL:
https://www.ws-onramp1.wholesale.bt.com:5443/21cnkbd/1.0/KnowledgeBasedDiagnostic
The message comes as a payload in SOAP body which you may code explicitly or devolve to
message handling software. 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.
A few reminders
As we’ve seen, connection to On-Ramp is made using an SSL connection on port 5443. All
SSL connections require a Digital Certificate on the “server” end. It’s at your discretion
whether this certificate is validated by the process known as “mutual authentication” which
may or may not be available in your software.
On-Ramp will further require you to present a certificate issued to you by the PEM team.
This is known as “mutual authentication”, something not specified as part of Netscape's
original SSL design which was for Consumer to Business (C2B) connections, but not
uncommon in Business to Business (B2B) connections.
See “Section 2 – Security & Certificate Information” above for more information.
In confidence BTW and Contracted CPs
10
21C KBD Web Services On-Ramp User Guide
3.3.1 A look at http
The structure of typical message content as it goes down the line (before encryption by SSL)
is shown in the example Request Test below.
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 unnecessary frustration, as will trail spaces after
http header lines and before the CR-LF.
The following example is for XML Diagnostics.
POST /RequestTest HTTP/1.1
Host: www.ws-onramp1.wholesale.bt.com
SOAPAction: "RequestTest"
Content-Type: type="text/xml";
Content-length: 1234
3.3.2 About XML
Additional elements and attributes may or may not be acceptable. Part of the purpose of OnRamp testing is to ensure that your software does not add any extra unnecessary data which
might cause conflicts with the software used by On-Ramp.
If no conflicts exist, your solution may be acceptable, but the PEM team is not 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. That’s the reason why testing is so essential. In other interfaces, even
the placing of comments has been known to cause problems. Although it’s right to
expect that these should not cause problems, it is unwise to assume that they will not.
3.3.3 Sample KBD example with SOAP
The BTW KBD Web Services Gateway uses XML business payloads that make use of
namespaces: use of namespace-aware XML software is therefore strongly recommended.
This is because explicit use of namespace identifiers is less open to misunderstanding than
implicit usage. It is also likely to improve interoperability, irrespective of claims about
equivalence. The namespace identifier values should not be critical, but this will not be
guaranteed.
Here is a SOAP example for XML KBD Initiate Request:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body><rul:invokerules xmlns:rul="http://rules.kmtool.bt.com">
<rul:arg0><![CDATA[<kbdInitiateRequest
xsi:noNamespaceSchemaLocation="KBDB2BTest1.0.4.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
In confidence BTW and Contracted CPs
11
21C KBD Web Services On-Ramp User Guide
<?BTW_B2B_OnRamp_Test_Id
?B2B_BTW_KBD_bcRequestKBDInitiate2v1_kbdInitiateAccepted21C?>
<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 Jonathan</ContactName>
<Telephone>02071059053</Telephone>
<TelephoneExtension>4777</TelephoneExtension>
<Email>Michael.Jonathan@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>]]></rul:arg0>
</rul:invokerules>
</soapenv:Body></soapenv:Envelope>
In confidence BTW and Contracted CPs
12
21C KBD Web Services On-Ramp User Guide
3.3.4 Curl Connectivity
A simple end to end connectivity test can be carried out using curl (you can download an
SSL enabled version - available for most platforms - from http://curl.haxx.se if you do not
already have it). The command to use will be based on this version which works in Windows
(Linux needs extra escaping)
curl -i -k -E certname.pem:password -x proxy.whatever:8080 --data-binary “@testWS.txt” -H
"Content-Type:
text/xml; charset=\"utf-8\"" https://www.wsonramp1.wholesale.bt.com:5443/21cnkbd/1.0/KnowledgeBasedDiagnostic
-E specifies your client certificate required by Wholesale for authentication
-x specifies your proxy; leave out if you are not using one
-k turns off server verification
use of quotes and escape characters may be OS dependent so the above is to be treated as
a guide only; refer to curl documentation as a check, and be prepared to try a different version
in case of trouble (that sorted out problems on more than one occasion)
testWS.txt is a text file containing:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope mlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body><rul:invokerules xmlns:rul="http://rules.kmtool.bt.com">
<rul:arg0><![CDATA[<<kbdQueryRequest>
xsi:noNamespaceSchemaLocation="KBDB2BTest-1.0.2.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<?BTW_B2B_OnRamp_Test_Id
?B2B_BTW_KBD_bcRequestKBDResumev2v1_kbdQueryAccepted21C?>
<kmTestHeader>
<MessageId>CP1_MSG2</MessageId>
<!--MessageId:- The identifier is generated by the CP party for kbdQueryRequest-->
<TestDate>08/07/2008 07:34:25</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>
<!-- same as in kbdInitiateRequest . -->
</InvokeIdentifier>
</ConductorReference>
<PerformerReference>
<InvocationIdentifier>
<RefNum>KBD_CaseId1</RefNum>
<!-- RefNum unique identifier of the test. It must be unique test identifier in KBD and must be
present in all messages. -->
</InvocationIdentifier>
</PerformerReference>
</TestReference>
<TestParty>
<ConductorParty>
<Party PartyID="987654321" AgencyID="DUNS">
<!-- Dun’s id of CP -->
In confidence BTW and Contracted CPs
13
21C KBD Web Services On-Ramp User Guide
<TestContact>
<DetailedContact>
<!-- Details of the CP contact performing test -->
<ContactName>Michael Jonathan</ContactName>
<Telephone>02071059053</Telephone>
<TelephoneExtension>4777</TelephoneExtension>
<Email>Michal.Jonathan@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>RESUME</userRequest>
<!-- set to RESUME for KBDQuery -->
</controlNode>
<customer>
<circuitID>CBUK30053780</circuitID>
</customer>
<!-- CP to populate:
1.The actualAnswer to the valid answer from the option provided by KBD
2.sequenceId should be populated by CP to determine the path user has taken while
answering question group
3.While submitting question group back to KBD questionGroupTimestamp should be
populated by CP-->
<customerQueries>
<question>
<questionId>28:1</questionId>
<sequenceId>1</sequenceId>
<!-- sequenceId should be populated with sequence the user is answering the questions
within the question group -->
<groupId>BIP2</groupId>
<isRequired>true</isRequired>
<questionStr>The user has a working session currently. We did not find any problem
in the network. Do you still want to continue with analysis?</questionStr>
<actualAnswer>NO</actualAnswer>
<!-- actualAnswer should be populated with one of the valid options provided by KBD. If a
Date is required then sent back date in required format. If some action is required complete
that action and continue with flow -->
<questionGroupTimestamp>08/07/2008 7:34:25</questionGroupTimestamp>
<!-- questionGroupTimestamp should be populated with timestamp when the question group
is submitted. DD/MM/YYYY hh:mm:ss -->
<userMessage>Answer Required</userMessage>
<reanswerFlag>false</reanswerFlag>
<expectedAnswers>
<options>
<value>YES</value>
<valueType/>
</options>
In confidence BTW and Contracted CPs
14
21C KBD Web Services On-Ramp User Guide
<options>
<value>NO</value>
<valueType/>
</options>
</expectedAnswers>
</question>
</customerQueries>
</kmToolMessage>
</kbdQueryRequest>]]></rul:arg0></rul:invokerules>
</soapenv:Body></soapenv:Envelope>
3.3.5 WsTransport Web Service definition for KBD
Trading Partner has to host this WSDL to receive results from BT
3.3.6 What are the Diagnostic Services and what XML goes
with them?
The diagnostic services available as KBD Web Service are:
 KMWSTestService
The four Business services falling under this diagnostic service are:
Service Name
Initiate Request
Query Request
Terminate Request
Resend Request
Root Node (Request/Response Type)
kbdInitiateRequest
kbdQueryRequest
kbdTerminateRequest
kbdResendRequest
What would happen if the QueryNotification from KBD to CP is lost; Obviously this
lead to CP infinitely waiting for a message from KBD and KBD in turn waiting for the
QueryRequest from CP.
In order to avoid such unhappy situation, resend option is available to CPs. Using
KBDResendRequest message; CP can request KBD to resend the last QueryNotification or
KBDFinalResultNotification.
But a ResendRequest can be used only twice for a QueryNotification or
FinalQueryNotification.
3.4 Receiving messages from On-Ramp
3.4.1 Some more http
HTTP/1.1 415 Unsupported Media Type
Date: Mon, 07 Aug 2006 16:59:40 GMT
Content-Type: text/xml; charset="utf-8"
Server: Forum Sentry
In confidence BTW and Contracted CPs
15
21C KBD Web Services On-Ramp User Guide
Content-Length: 794
<soap:Envelope xmlns:soap=”....
...
</soap:Envelope
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)
you may get an error (e.g. if you specify an incorrect path in the url. e.g. with your
DUNS instead of BT)
you may get a timeout exception when there is no connectivity.
you may fail to connect at all (like any system, there will be outages-normally
scheduled and communicated in advance)
3.4.2 Response Business payload for KBD
If a valid request reaches On-Ramp, a response will be sent back Accepted/rejected XML
from BTW KBD Web Services depending on CP chosen PI.
The response would be different based on the type of Request:
InitiateAccepted/InitiateRejected and Notification for Initiate Request.
QueryAccepted/QueryRejected and Notification for Query Request.
TerminateAccepted/QueryRejected for Terminate Request.
QueryNotification or KBDFinalResultNotification for Resend Request.
In case of any invalid request exceptions will be thrown as in section 3.4.3 below.
3.4.3 Exceptions
It is possible that your input will be rejected with an AcceptanceAcknowledgementException
(when the Gateway passes your input to other systems but they either reject it before
processing or fail to return it). This will actually be presented as a SOAP Exception with the
exception string set
to: “BTWHOLESALE HAS EXPERIENCED A PROBLEM”
Indeed, all problems should be returned as SOAP faults. Sometimes, but not always, they will
contain sufficient information for you to understand the cause of the problem:
Security Exception
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>BTWHOLESALE HAS EXPERIENCED A PROBLEM WITH YOUR
REQUEST SEE BELOW FOR TECHNICAL REASON :- Unauthorized request</faultstring>
<detail>
<fs:Detail
xmlns:fs="http://www.forumsystems.com/2004/04/soap-fault-detail">
<fs:SystemName>AP001STY01</fs:SystemName>
<fs:User>987654301D</fs:User>
<fs:Policy>Line Characteristic WSDL Policy</fs:Policy>
<fs:TaskList></fs:TaskList>
<fs:Task></fs:Task>
</fs:Detail>
In confidence BTW and Contracted CPs
16
21C KBD Web Services On-Ramp User Guide
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
PEM will usually be able to see these in logs. Assistance will be given by suggesting an
explanation and where changes may be needed.
NOTE:
Section 8.2 of BTW Web Services 21CNKBD Interface Design Issue V3.0 explains all
possible exceptions and error messages. Kindly refer the same.
3.5 Quality Gates
Concluding the On-Ramp phase is a series of mandatory Quality Gates which you will be
expected to clear. This process takes approximately two days.
The purpose of the Quality Gates is to allow you to demonstrate that your own B2B system
meets the requirements set out by BT Wholesale, before being allowed to move to the BTW
KBD Web Services Production Gateway. The requirements are represented by a set of
mandatory scenarios that you must execute on the On-Ramp system. The following sections
describe separate scenarios for XML KBD Diagnostics.
3.5.1 Scenarios for XML KBD Diagnostics
The following 6 test cases are mandatory and must be passed in order to complete KBD
Diagnostics Quality Gate.
The following test cases are mandatory and must be passed in order to complete
BTWholesale KBD Services Quality Gate
Scenario 1: bcRequestKBDInitiate2v1
Sender
Message Type
1 CP
KBDInitiateRequest
2 KBD
KBDInitiateAccepted
Processing Instruction
B2B_BTW_KBD_bcRequestKBDInitiate2v1_kbdInitiateAc
cepted21C
Scenario 2: bcRequestKBDResumev2v1
Sender
Message Type
1 CP
KBDQueryRequest
2 KBD
KBDQueryAccepted
In confidence BTW and Contracted CPs
Processing Instruction
B2B_BTW_KBD_
bcRequestKBDResume2v1_kbdQueryAccepted21C
17
21C KBD Web Services On-Ramp User Guide
Scenario 3: bcRequestKBDTerminate2v1
Sender
Message Type
1
CP
KBDTerminateReques
t
2
KBD
KBDTerminateAccept
ed
Processing Instruction
B2B_BTW_KBD_bcRequestKBDTerminate2v1_kbdTermi
nateAccepted21C
Scenario 4: bcRequestKBDResend2v1
Sender
Message Type
1
CP
KBDResendRequest
2
KBD
KBDResendAccepted
Processing Instruction
B2B_BTW_KBD_bcRequestKBDResend2v1_kbdResend
Accepted21C
Scenario 5: bcNotifyOfKBDFinalResult2v1
Send
er
Message Type
1
CP
KBDFinalResultNotific
ation
2
KBD
NotifyOfKBDFinalRes
ult
Processing Instruction
B2B_BTW_KBD_bcNotifyOfKBDFinalResult2v1_AUTON
OTIFICATION
Scenario 6: bcNotifyOfKBDQueryv12v1
Sender
Message Type
Processing Instruction
B2B_BTW_KBD_
1 CP
KBDQueryNotification
2 KBD
NotifyOfKBDQuery
In confidence BTW and Contracted CPs
bcNotifyOfKBDQuery2v1_AUTONOTIFICATION
18
21C KBD Web Services On-Ramp User Guide
3.6 Message Handling
Once connection can be made, the wrapping, unwrapping and receipting need to be
demonstrated. This is done by simulating business transactions. You should test all the
services, which you want to use. The Processing Instructions (PIs) will take the form:
<?BTW_B2B_OnRamp_Test_Id ?KEY1?>
21C KBD via Web
Services.xls
4 In-Life Migration
Once all the On-Ramp tests and Quality Gates have been carried out, And when the PEM
team is are happy that your system will not cause any problem to the Production platform in
terms of incorrect, missing or excess messages, you will be given access to the live
Production platform.
Once the firewall is in place, the PEM team will confirm any operational changes to the CP’s
IP address or CP’s End Point URL if these apply. Final checks will be carried out on the CP’s
certificate configuration and will then be advised by an email when CP’s BTW KBD Web
Services Gateway services will be approved.
In technical terms, the only changes involved for going live – on an agreed date after PEM
have confirmed any operational changes for KBD to your IP address/URL/certificate
configuration are:
https://www.ws.wholesale.bt.com:5443/21cnkbd/1.0/KnowledgeBasedDiagnostic
It is expected that a CP will need to arrange firewall access. For access from the Live
Gateway:
217.140.45.140 is for traffic coming from BT to Trading Partner
217.140.45.137 is for traffic coming from the Trading Partner to BT.
Production is the first time that:





your organisation will be connecting to real back end systems;
you will be able to test specific details of lines, exchanges and so on;
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.
The PEM team will continue to welcome queries from you after you move from On-Ramp to
the Production environment, but anything giving rise to operational problems should be
reported directly to the E-Contact Team at: broadband.eco.admin@bt.com.
In confidence BTW and Contracted CPs
19
21C KBD Web Services On-Ramp User Guide
Glossary
BT
BTW
CA
TP
CUPID
DUNS
DNS
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
Office of the Telecommunications Adjudicator
Processing Instruction (XML terminology)
Simple Object Access Protocol
Secure Socket Layer
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.
In confidence BTW and Contracted CPs
20