new sip(onEvents, domElements, options)
SIP usecase
Parameters:
| Name | Type | Description |
|---|---|---|
onEvents |
object | Event handlers: onCalling, onIncomingCall, onAccepted, onHangUp, onLocalReady, onRemoteReady, onRegistered, onRegisteredFailed |
domElements |
object | DOM elements: local, remote |
options |
object | Available options: |
Returns:
SIP methods: closeUsecase, register, accept, hangup, decline, sendDtmf, call
- Type
- Promise
Example
var onEvents = {
onRegistered: function(username) {
// Registered
},
onRegisteredFailed: function(code, reason) {
// Registered failed
},
onCalling: function() {
// Calling
},
onIncomingCall: function(username) {
// Incoming Call
},
onAccepted: function() {
// Accepted
},
onHangUp: function(code, reason) {
// Hangup
},
onLocalReady: function(stream) {
// Local stream
},
onRemoteReady: function(stream) {
// Remote stream
}
};
var domElements = {
local: document.getElementById('localVideo'),
remote: document.getElementById('remoteVideo')
};
var options = {
stream: {
aDeviceId: null
}
};
usecases.sip(onEvents, domElements, options)
.then(function(action) {
// Use Case has been atacched succesfully
...
})
.catch(function(cause) {
// Error attaching the Use Case
console.log("Error Attach " + cause );
})
Methods
-
<inner> accept()
-
Accept an incoming call
Returns:
- Type
- nothing
Example
action.accept();
-
<inner> call(uri, headers)
-
Make a Call
Parameters:
Name Type Description uristring String URI
headersobject Custom SIP Headers (Optional)
Example
action.call('sip:extension@domain:port', {"My-Header": "Value"}); -
<inner> closeUsecase()
-
Close the current UseCase. It's recommended combine with disconnect method
Returns:
- Type
- nothing
Example
action.closeUsecase(); myVideoApp.disconnect(); // Recommended
-
<inner> decline()
-
Decline a call
Returns:
- Type
- nothing
Example
action.decline();
-
<inner> hangup()
-
Hangup a call
Returns:
- Type
- nothing
Example
action.hangup();
-
<inner> register(userName, displayName, proxy, authUser, secret)
-
Register an Account
Parameters:
Name Type Description userNamestring UserName
displayNamestring Display Name
proxystring Proxy String
authUserstring Auth User (Optional)
secretstring Password (Optional)
Returns:
- Type
- nothing
Example
action.register('sip:1234@domain', 'Peter', 'sip:domain:port', 'agent', 's3cr3t'); -
<inner> sendDtmf(dtmf)
-
Send a DTMF tone
Parameters:
Name Type Description dtmfstring Digit
Returns:
- Type
- nothing
Example
action.sendDtmf("5"); // Also "*" and "#" -
<inner> toggleAudio()
-
Toggle local Audio stream (Mute/Unmute)
Returns:
Is audio muted?
- Type
- boolean
Example
action.toggleAudio(); // true or false