Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var globalSIPml = {
- sipStack: {},
- config: {},
- can_call: false,
- //SESSION
- sipStackSessionEventsListener: function (e) {
- console.info('sipStackSessionEvent: ' + e.type);
- var self = this;
- if (e.type == 'connected' && e.session == self.registerSession) {
- console.log('соединение установлено');
- self.can_call = true;
- }
- },
- //STACK
- sipStackEventsListener: function (e) {
- var self = this;
- console.log(e.type);
- if (e.type == 'started') {
- self.login();
- } else if (e.type == 'i_new_call') { // incoming audio/video call
- //событие входящего звонка
- self.acceptCall(e);
- }
- },
- login: function () {
- var self = this;
- self.registerSession = self.sipStack.newSession('register', {
- events_listener: {
- events: '*',
- listener: self.sipStackSessionEventsListener.bind(this)
- }
- });
- self.registerSession.register();
- },
- /* CALLS BEGIN*/
- callSession: {},
- callEventsListener: function (e) {
- console.log(e.type);
- //здесь находятся события по звонку
- },
- acceptCall: function (e) {
- e.newSession.accept();
- },
- makeCall: function (number) {
- console.log(number);
- var self = this;
- self.callSession = self.sipStack.newSession('call-audio', {
- audio_remote: document.getElementById('audio-remote'),
- events_listener: {events: '*', listener: self.callEventsListener} // optional: '*' means all events
- });
- self.callSession.call(number);
- },
- /* CALLS end */
- init: function () {
- var self = this;
- //1. Init engine
- SIPml.setDebugLevel('errors');
- self.config = {
- realm: '',//website: pbx.domain.com
- impi: '',//inner-indentificator: 100-999
- impu: '',//sip-user: sip:inner-identificator@domain.com
- password: '',//password: md5/sha
- display_name: '',//BATMAN
- websocket_proxy_url: '',//websoket url: wss://domain
- enable_rtcweb_breaker: true,
- enable_early_ims: false,
- enable_media_stream_cache: true,
- ice_servers: [{url: 'stun:stun.l.google.com:19302'}], //
- bandwidth: null,
- //events_listener: { events: '*', listener: onSipEventStack },
- video_size: null,
- //outbound_proxy_url: 'udp://192.168.0.12:5060', // optional
- events_listener: {events: '*', listener: self.sipStackEventsListener.bind(this)}, //optional
- sip_headers: [ //optional
- {name: 'User-Agent', value: 'IM-client/OMA1.0 sipML5-v1.0.89.0'},
- {name: 'Organization', value: 'Doubango Telecom'}
- ]
- };
- SIPml.init(
- function () {
- self.sipStack = new SIPml.Stack(self.config);
- self.sipStack.start();
- },
- function () {
- console.error('Ошибка инициализации движка: ' + e.message);
- }
- );
- }
- };
- globalSIPml.init();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement