africastalking-client
v1.0.7
Published
AfricasTalking voice client SDK
Downloads
1,051
Readme
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-client
You 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/[email protected]/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
apiKey
in your request header for authentication.
| Parameters | Description |
|----------|------------------|
| usernameString
Required
| Your Africa’s Talking application username |
| clientNameString
Required
| Your unique name used to identify and call your browser client(without space characters) |
| phoneNumberString
Required
| Your Africa’s Talking phone number (in international format i.e. +254XXXYYY) |
| incomingBoolean
Optional
| Enable the client to recieve incoming calls. Defaults to true
|
| outgoingBoolean
Optional
| Enable the client to make outgoing calls. Defaults to true
|
| expireString
Optional
| 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 |