Web21C SDK: do less achieve more

About the Web21C SDK

  • Back to top


  • What is the Web21C SDK?

    The Web21C SDK is a set of developer tools that let you make phones rings, send messages, receive SMS, and manage conference calls! It’s cool!

  • Who can use the Web21C SDK?

    Anyone can use it! Once you’ve registered, simply select a download for the language of your choice and go to here to make a new PKI certificate. After that, knock yourself out! Use either our free sandbox to try out your ideas, or our paid service (which gives you lots of cheap calls and other goodies)...

  • Can I access BT capabilities without the Web21C SDK?

    The SOAP based Web Services can be consumed by the using HTTP/HTTPS, SOAP Web Services, WS-Security, WS-Trust, WSE, X.509 PKI, and SAML. In short yes, but it is much more complicated and we don’t recommend this approach at this time.

    If you’re feeling brave, though, take a look at the documentation

----

Using the Web21C SDK

  • Back to top


  • How much does it cost?

    We don’t charge you to download the Web21C™ SDK. You can try it out for free in the sandbox! If you like it, and you want to make more than 10 calls a day or send lots of SMS, check out our pricing here! We’re very competitive, even against a landline phone!

  • How secure is my information when using the Web21C SDK?

    All data are securely hosted and accessed only through authenticated Security Assertion Markup Language (SAML) assertions. The services provided by BT are segregated by application. X.509 PKI provides a level of trust to ensure that only your application can access your data. We use HTTPS to secure your data transmissions to and from our servers.

    We never store credit card details. We only store data as permitted by the e-Privacy regulations, the Data Protection Act and various acts relating to telecommunications.

    Only authorised people can access data. We delete data when it’s no longer relevant. You can also remove your details at any time, and opt out or in of mailings as you like.

  • Can I transfer credits between applications?

    Yes, credits can be transferred using the form on the My Apps page.

    However, you can only transfer credits between your own applications, not to or from applications registered by other users.

  • Can I get inbound calls for CallFlow?

    At the present time we do not offer inbound numbers, PSTN or SIP, for CallFlow. We currently have no release date for this feature.

----

Programming Help

  • Back to top


  • Something broke with my copy of the Web21C SDK! How do I fix it?

    First try searching in our forums. If you can’t find a solution, post details in one of them – our developers do monitor these forums. We also encourage developers to provide each other with their own insights.

  • What are the minimum software requirements for the Web21C SDK?
    • For the .NET SDK you will need Microsoft.Net 2.0 and Microsoft® WSE 3.0 installed as well as Microsoft Visual Studio 2005.
    • For the Java SDK you need J2SE 5.0 or above.
    • For the PHP SDK you need PHP 5.2. You also need the SOAP and OpenSSL extensions.
    • For the Python SDK you need Python 2.4+ (we\’ve tested it with 2.4+, but see no reason why it shouldn’t work with 2.3 – YMMV). You also need ZSI, M2Crypto and Crypto.
      A connection to the Internet will also be required when running any application that uses the Web21C SDK.
  • Is there a Web21C SDK for Perl/Ruby/...?

    Not at this time. Currently .NET, Java, PHP and Python SDKs are available.

    However, we do have Perl, Ruby and Flex SDKs in the skunk works…

  • I’m using a dedicated inbound SMS number, how do I get my messages?

    When using a shared number you will pass your keyword to collect messages. When you have a dedicated number you will need to pass an empty string to collect all messages.

  • I’m getting the following Exception: FailedAuthentication … ServiceException: Access denied: ... does not map to a user…. What do I do?

    If you are using the sandbox, then it may be that your certificate has expired – certificates expire after 30 days.

    You’ll either need to:
    1. apply for another sandbox certificate (you’re only allowed to do up to 5 certs).
    2. use a production certificate and buy credits for your application.
  • Why am I getting an exception saying “Message has expired”?

    This usually means that your system clock is not set correctly. Our gateway allows up to 30 minutes’ leeway, but if your clock is out by more than that, you’ll see this exception.

----

Why is BT doing this?

  • Back to top


  • What is Project Web21C?

    A ground breaking project at BT. In phase 1, we are exposing a number of capabilities to developers.

  • Why have BT, a telecommunications company, created an SDK for these services?

    Because we believe we can play a prominent role in the digital networked economy, BT has set up an amibitious goal: to completely remake ourselves from a telecoms services provider to a leading global provider of networked IT services. The transformation won’t be simple and requires the support and involvement of the whole of BT. But our success will set the standard for the rest of the global telecoms industry.

  • What is BT’s 21st Century Network Initiative?

    BT’s 21st Century Network (21CN) initiative is the most ambitious, comprehensive transformation programme underway in the telecoms industry and provides the infrastructure for growth at BT. A single network for voice, data and Internet services, 21CN is aimed at delivering unprecedented levels of choice, control and flexibility to end customers around the world. 21CN will enable BT to bring a host of new services to market much faster whilst radically reducing BT’s costs (by at least £1 billion per year) and simplifying its operations. As the digital networked economy evolves, this broadband network will become its, “nervous system”.

----

CallFlow

  • Back to top


  • What file format should I use for audio files?

    u-law encoded WAV files, 8,000 kHz, 8 bits per sample, mono.

    You can record prompts using Windows Sound Recorder. Save the files as described above, selecting ‘CCIT u-law’ as the Format.

    If you’re running Vista, Sound Recorder will only let you record WMA files. You can use Audacity instead.

    Audacity is also great for editing recorded prompts.

    Audacity or not, be sure to use the ‘Find zero crossings’ feature when trimming audio clips – otherwise you will end up with audible ‘clicks’ at the beginning and/or end of the clip.

  • What is a CallFlow?

    It’s a bit of XML you can use to interact with the CallFlow service. You can pass it directly to the service to trigger an outbound call, provision it so that it is available when an inbound call is received, or generate it dynamically at runtime in response to, say, user input such as touchtone digits.

    Here is a very simple callflow that places a call, plays an audio message to the callee, prompts them for touchtone input, and connects them to a party if they press 1:

    <?xml version="1.0" encoding="UTF-8"?>
    <callflow
      xmlns="http://sdk.bt.com/callflow/2007/04">
      <call id="start" target="tel:xxxxxxxxx" next="hi"/>
      <announcement
          id="hi" 
          audio="welcome.wav" 
          next="select_option"/>
      <prompt id="select_option" audio="connect_prompt.wav">
        <input pattern="1" next="connect"/>
        <default next="select_option"/>
      </prompt>
      <dialog id="connect" target="tel:xxxxxxxxx"/>
    </callflow>
    
  • Do we really need another XML language for voice? What’s wrong with VoiceXML / CCXML?

    Web21C SDK and services have been built by developers, for developers. Here is our list of VoiceXML / CCXML dislikes, which we believe CallFlow addresses:

    • There are two of them!
    • They have not truly delivered the promise of interoperability
    • The learning curve – whereas a developer with no background in telecommunications can get up to speed in hours, VoiceXML and CCXML this is measured in months
    • Mashup-unfriendliness
    • Security – with VXML / CCXML, this is left to the transport. We believe we can provide a simpler solution, and will shortly be adding to our feature set shortly.
    • Programming model – VXML’s design reflects the fact that it was designed to provide ‘voice browsing’ functionality. We believe that voice is a poor medium for browsing information, analogous to viewing a webpage through a keyhole. We further believe that offloading this baggage, leaving browsing to the browser, and focusing on making the creation of voice-based interactions both simple and easy to integrate with applications leads to a representation that developers prefer
----

Voice Call

  • Back to top


  • Which countries are blocked?

    The following countries/prefixes are currently blocked as Voice Call and Conference Call destinations:

    • Angola (00244)
    • Bahrain (00973)
    • Benin (00229)
    • Burkina Faso (00226)
    • Cambodia (00855)
    • Cameroon (00237)
    • Cooke Island Sex Number (00682)
    • Cuba (0053)
    • Côte d’Ivoire (Ivory Coast) (00225)
    • Democratic Republic of the Congo (00243)
    • Egypt (0020)
    • El Salvador (00503)
    • Eritrea (00291)
    • Ethiopia (00251)
    • Gabon (00241)
    • Ghana (00233)
    • Guyana (00592)
    • Iraq (00964)
    • Israel (00972)
    • Jordan (00962)
    • Kenya (00254)
    • Kuwait (00965)
    • Lebanon (00961)
    • Libya (00218)
    • Mexico (0052)
    • Monaco (00377)
    • Morocco (00212)
    • Myanmar (0095)
    • Namibia (00264)
    • Nepal (00977)
    • Nigeria (00234)
    • Noodle Number (078223)
    • Pakistan (00923)
    • Palestinian Authority (00970)
    • Peru (0051)
    • Philippines (0063)
    • Qatar (00974)
    • Republic of the Congo (00242)
    • Saudi Arabia (00966)
    • Sierra Leone (00232)
    • Somalia (00252)
    • South Africa (0027)
    • Sudan (00249)
    • Syria (00963)
    • Tanzania (00255)
    • Thailand (0066)
    • Trinidad and Tobago (001868)
    • UK Personal Numbers (070)
    • UK Premium Numbers (09)
    • UK Special Services (0871, 0872, 0873, 0844, 118)
    • US Premium Numbers (001976)
    • Uganda (00256)
    • United Arab Emirates (00971)
    • Yemen (00967)
    • Zimbabwe (00263)
----