1.0.7 • Published 5 years ago
africastalking-client v1.0.7
AfricasTalking Client SDK
Provides convenient access to the Africa's Talking Voice APIs from your web apps.
Documentation
Take a look at the API docs here.
Install
NPM (Recommended)
You can install the package from npm by running:
$ npm install --save africastalking-clientYou can import the method like so:
import Africastalking from 'africastalking-client'CDN
The SDK is also accessible via our hosted cdn which can be included into your web page using the <script> tag 
<script src="https://unpkg.com/africastalking-client@1.0.6/build/africastalking.js"></script>You can access the global variable Africastalking from your browser.
Capability Token
You need to instantiate your client with a capability token.
It is generated by making an API POST request from to https://webrtc.africastalking.com/capability-token/request with the following parameters:
Request Parameters
NB: API requests require an
apiKeyin your request header for authentication.
| Parameters | Description | 
|---|---|
| username StringRequired | Your Africa’s Talking application username | 
| clientName StringRequired | Your unique name used to identify and call your browser client(without space characters) | 
| phoneNumber StringRequired | Your Africa’s Talking phone number (in international format i.e. +254XXXYYY) | 
| incoming BooleanOptional | Enable the client to recieve incoming calls. Defaults to true | 
| outgoing BooleanOptional | Enable the client to make outgoing calls. Defaults to true | 
| expire StringOptional | Period of time it takes the token to expire, in seconds. Default is 86400s | 
API Response
{
    "clientName": "somsom",
    "incoming": true,
    "lifeTimeSec": "86400",
    "outgoing": true,
    "token": "ATCAPtkn_206675b68efaff83d1ac2d027dd5bff18fd7cb64fgjhd5d0bdcsac44a883678afe7"
}Usage
You can then initialize the client using the token.
const client = new Africastalking.Client(token)Events
client.on('incomingcall', function (params) {
    alert(`${params.from} is calling you`)
}, false);
client.on('hangup', function (hangupCause) {
    alert(`Call hung up (${hangupCause.code} - ${hangupCause.reason})`)
}, false);Event Types
| Events | Description | 
|---|---|
| ready | Client is ready to make or recieve calls | 
| notready | Client cant make or recieve calls, | 
| calling | Your client is making a call | 
| incomingcall | Your client is recieving a call | 
| callaccepted | Call has been accepted | 
| hangup | Call has ended | 
| offline | Token has expired | 
| closed | Connection to africastalking servers closed | 
Methods
$("button").click(function() { 
    client.call("+254XXXXXYYY"); 
}); 
$("button").click(function() { 
    client.dtmf("1"); 
}); 
$("button").click(function() { 
    client.muteAudio(); 
}); Client Methods
| methods | Description | 
|---|---|
| call | Make a call to a phone number or browser client | 
| answer | Answer a call | 
| hangup | End an ongoing call | 
| dtmf | pass dtmf digits to Africastalking API | 
| muteAudio | Disables audio media sent during a call | 
| unmuteAudio | Enable audio media sent during a call | 
| hold | Puts a call on-hold | 
| unhold | Resumes a call |