@voicenter-team/vsip
Version:
A vue based jssip wrapper.
73 lines (66 loc) • 2.9 kB
Markdown
# vsip
A vue based jssip wrapper.
## Installation
Using npm:
```shell
$ npm i -g npm
$ npm i @voicenter-team/vsip
```
## Usage
Firstly use the lib:
```javascript
import VueJsSIP from '@voicenter-team/vsip';
Vue.use(VueJsSIP, {
store // Vuex store
});
```
This lib will be injected to your Vex as a `vsip` module.
To init library call `init` action with the following options:
```javascript
const options = {
configuration: {
session_timers: Boolean,
uri: String,
password: String,
},
socketInterfaces: [String],
sipDomain: String,
sipOptions: {
session_timers: Boolean,
extraHeaders: [String],
pcConfig: {}
}
}
```
Then you will be able to use getters and call actions.
### Actions
- `async setMediaDevices()` - will set up media devices
- `async setMicrophone(deviceId: Number)` - set passed device as input for calls
- `async setSpeaker(deviceId: Number)` - set passed device as output for calls
- `async setCurrentActiveRoom(roomId: Number)` - move to the room
- `doCallHold({callId: Number, toHold: Boolean})` - hold/unhold call by id
- `doCall(target: String)` - call to the target
- `callTerminate(callId: Number)` - terminate call
- `callTransfer({callId: Number, target: String})` - transfer call to target
- `callMerge(roomId: Number)` - merge calls in specific room
- `callAnswer(callId: Number)` - answer the call
- `setMetricConfig(config: Object)` - set the metric config (used for audio quality indicator)
- `doMute(muted: Boolean)` - set the agent muteness
- `setDND(value: Boolean)` - set the agent "Do not disturb" status
- `async callChangeRoom({callId: Number, roomId: Number})` - move call to the room
- `callMove({callId: Number, roomId: Number})` - Same as callChangeRoom. Move call to the specific room
- `subscribe({type: String, listener: function})` - subscribe to an event. Available events: `new_call`, `ended`, `progress`, `failed`, `confirmed`
- `removeListener(type: String)` - remove event listener
- `init({configuration: Object, socketInterfaces: String[], listeners: Array, sipDomain: String, sipOptions: Object})` - init the lib
### Getters
- `getActiveRooms: []` - returns a list of active rooms
- `getSipDomain: String` - returns sip domain
- `getSiOptions: Object` - returns sip options
- `getInputDeviceList: []` - returns list of input devices
- `getOutputDeviceList: []` - returns list of output devices
- `getCurrentActiveRoomId: Number` - returns current active room id
- `getSelectedInputDevice: Number` - returns current selected input device
- `getSelectedOutputDevice: Number` - returns current selected output device
- `isDND: Boolean` - returns if the agent is in "Do not disturb" status
- `isMuted: Boolean` - returns if the agent is muted
- `metricConfig: Object` - returns metric config (used for audio quality indicator)