Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
- var app = {
- // Application Constructor
- initialize: function() {
- this.bindEvents();
- },
- // Bind Event Listeners
- //
- // Bind any events that are required on startup. Common events are:
- // 'load', 'deviceready', 'offline', and 'online'.
- bindEvents: function() {
- document.addEventListener('deviceready', this.onDeviceReady, false);
- },
- // deviceready Event Handler
- //
- // The scope of 'this' is the event. In order to call the 'receivedEvent'
- // function, we must explicitly call 'app.receivedEvent(...);'
- onDeviceReady: function() {
- app.receivedEvent('deviceready');
- sip();
- },
- // Update DOM on a Received Event
- receivedEvent: function(id) {
- var parentElement = document.getElementById(id);
- var listeningElement = parentElement.querySelector('.listening');
- var receivedElement = parentElement.querySelector('.received');
- listeningElement.setAttribute('style', 'display:none;');
- receivedElement.setAttribute('style', 'display:block;');
- console.log('Received Event: ' + id);
- }
- };
- function sip() {
- var SIP = cordova.require("com.onsip.cordova.Sipjs");
- var PhoneRTCMediaHandler = cordova.require("com.onsip.cordova.SipjsMediaHandler")(SIP);
- var mediaOptions = {
- media : {
- constraints: {
- audio: true,
- video: true
- },
- render: {
- local: {
- video: document.getElementById('localVideo')
- },
- remote: {
- video: document.getElementById('remoteVideo')
- }
- }
- }
- };
- window.ua = new SIP.UA({
- mediaHandlerFactory: PhoneRTCMediaHandler,
- uri: '1000@192.168.1.26',
- wsServers: ['ws://192.168.1.26:5066'],
- authorizationUser: '1000',
- password: '1234',
- traceSip: true,
- register: true,
- log: {
- builtinEnabled: true,
- level: 2
- }
- });
- window.ua.on('invite', function(_session) {
- if (window.session) {
- alert("Only one call at a time.");
- _session.reject();
- return;
- }
- window.session = _session;
- window.session.accept(mediaOptions);
- window.session.on('terminated', function () {window.session = null;});
- });
- document.getElementById("makeCall").addEventListener("click", function() {
- if (window.session) {
- alert("Only one call at a time.");
- return;
- }
- window.session = window.ua.invite(document.getElementById('target').value, mediaOptions);
- window.session.on('terminated', function () {window.session = null;});
- });
- };
- app.initialize();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement