@fctv/js
v1.0.4
Published
Call SDK for JavaScript
Downloads
16
Readme
Introductions:
The JavaScript SDK for WebRTC call.
SDK usage guidelines:
Main components:
UserSession: For initializing session from client to Call server.
Constructor:
UserSession(user)
user
options:wssUrl: Socket URL to the Call Server
extension: Extenstion name
domain: Domain name
password: Plain password
callOptions: {
callerIdName: Caller Id Name callerIdNumber: Call Id Number
}
userInfo: {
// Other info here. Ex. email
}
autoReconnect: Default: true
autoRecoveryCall: Auto recovery the call when browser tab closed unexpectedly. Default: true
Properties:
- isLoggedIn: Whether user logged in.
Methods:
- connect(): Connect to the Call server with
user
options - close(): Close the connection to the Call server.
- on(EVENT_NAME, callback): Start listening a UserSessionEvent:
- EVENT_NAME: UserSessionEvent event
- callback(err, data): Callback function for handling the event.
- off(EVENT_NAME[, callback]): Stop listening a UserSessionEvent
- testSpeed(): Test connection speed to the Call server. The data will be returned into Promise object or sent to UserSessionEvent.ON_SPEED_CHANGE.
- Return:
Promise({ upDur, downDur, upKps, downKps })
on(UserSessionEvent.ON_SPEED_CHANGE, (err, { upDur, downDur, upKps, downKps } ))
- Return:
- newCall(options):
options:
{
destinationNumber: (required) Extension or number callerIdName: (optional) callerIdNumber: (optional)
}
- connect(): Connect to the Call server with
UserSessionEvent: Events will be emitted during the Call Session. We can catch those events with callback functions:
- Ex:
const session = new UserSession(user); session.on(UserSessionEvent.<EVENT_NAME>, (err, data) => { console.log(err, data); })
- ON_READY
- ON_CLOSED
- ON_ERROR
- ON_RETRYING
- ON_LOGIN_ERROR
- ON_LOGIN_SUCCESS
- ON_SPEED_CHANGE:
- ON_USER_MEDIA_ERROR
- ON_USER_PEER_ERROR
- ON_INCOMING_CALL
- ON_RECOVERY_CALL
- ON_CALL_LOCAL_STREAM
- ON_CALL_REMOTE_STREAM
- ON_CALL_STATE_UPDATE
CallState:
- NEW
- REQUESTING
- TRYING
- RECOVERING
- RINGING
- ANSWERING
- EARLY
- ACTIVE
- HELD
- HANGUP
- DESTROYED
- PURGE
Util: Some utility functions:
- mediaDevices:
- enumerateDevices(kind)
- kind:
audioinput
,videoinput
,audiooutput
- kind:
- checkUserMediaPermission(constraints):
- constraints: Refer to MediaStreamConstraints
- enumerateDevices(kind)
- mediaDevices:
Call:
- Properties:
- id
- localStream
- remoteStream
- state: CallState
- activeTime: Active time in milliseconds since January 1, 1970 (midnight UTC/GMT).
- callType: inbound/outbound
- options
- Functions
- answer(options)
- hangup(options)
- toggleMuteMic()
- muteMic()
- unmuteMic()
- toggleMuteCam()
- muteCam()
- unmuteCam()
- sendDtmf()
- toggleHold()
- hold()
- unhold()
- Properties:
##Examples: Please refer to examples for detailed usage.
*** TypeScript support: Currently the SDK does not support TypeScript.