Tuesday 28 May 2013

Using The BlueVia Voice API To Modify Calls Directly Between Two Phones



Using the BlueVia Voice API, and some help from Voxygen  and the Lab team at O2 (thanks guys), we have been able to create a free call demo service based on advertising. This is a voice service that allows customers to make free calls to their friends  if they listen to an advertisement first. At the end of the call there is also a mechanism to support a sales opportunity that can use the 'Charge To Mobile' API, available at BlueVia in order to convert a sales opportunity for the advertised digital content.

The significant difference about this demo, as opposed to something built on another cloud based voice API provider, is that we are able to set an Intelligent Network (IN) flag at network level for the calling SIM. This allows us to forward the call details to an application server that can then use the BlueVia Voice API to forward in call commands directly on a call between two phones. In other words we do not have to use an intermediary DID (Direct Inward Dialling) that Customer A calls, and then connect Customer B.

As there is no need for a DID in order to manage in call commands this means that a customer can call their friend directly in order to make a free call. Based on business logic at the application level, if the customer is not entitled to a free call, then the call can be dropped back onto the GSM network. For instance the customer may only have access to 5 minutes of free calls a day. This business logic is handled at the application layer, as opposed to being handled at the network layer. This in turn provides an excellent opportunity for developing a host of services based on this technology.

This is something that is not available when using other cloud based voice API services, as they don't have the same level of network control. This is something that mobile carriers do have!

On the advertising demo above, the following is happening:

  • When a call is made from the first handset to the second, an IN trigger on the network forwards the call details to an application server
  • the application then engages with the caller using the following BlueVia Voice commands 
    • a Play command to stream the advertisement.
    • a Speak command to tell the caller that they are being connected.
    • a Dial command to connect the call to the number that the caller dialled (Note again, this is not a BlueVia Voice number, but their friends number).
    • a Wait command for 20 seconds, and this time is arbitrary (it could be any time set by the application server).
    • a GetDigits command that provides a mechanism for a sales opportunity - i.e. 'press 1 to purchase ....' etc...
    • a HangUp command to end the call.
At the end of the call a SMS is sent to the calling handset with the download link for the content that the caller has purchased. Alternatively if the caller has not purchased the content a SMS is sent with a link for further information about services.

It is also possibly to have the GetDigits command directly after streaming the advertisement, i.e. support the conversion to sale at the time of advertising. This is simply a matter of ordering the BlueVia Voice commands to support this.

This is a very simple example of how a mobile carrier could make a difference in the Cloud Voice API space. Carriers who can expose their own voice services, as opposed to partnering can provide a very compelling differentiated service, should they choose to.

Cheers

Murray

2 comments:

  1. Great site! I am loving it!! Will be back later to read some more. I am taking your feeds also

    ReplyDelete