Webrtc 2 Voip Flowroute Dids Now Support Web Originated Calls

Total Page:16

File Type:pdf, Size:1020Kb

Webrtc 2 Voip Flowroute Dids Now Support Web Originated Calls ClueCon 2019 WebRTC 2 VoIP Flowroute DIDs now support web originated calls Julien Chavanton Lead software engineer - voice routing - flowroute.com presentation agenda : WebRTC 2 VoIP and share some insights about the design and features. ➔ How we are using Kamailio to do our web edge-proxies, providing SIP over WebSockets, Topology hiding and SDP normalization. (With sipwise RTP-engine) ➔ JS libraries, to help our customers integrate WebRTC for inbound audio calls on Flowroute DIDs using JSSIP, we will look at our provided Javascript libraries jssip_client and jssip_ui ➔ How we are monitoring QoS stats for audio sessions and audio streams with G.711 and Opus. ➔ The current state of our platform and how we were able to reuse our multiple point of presences and APIs to enable new possibilities for our customers. Addition to carrier infrastructure using Kamailio sip-proxy Kamailio SIP over websocket rfc7118 https://kamailio.org/docs/modules/stable/modules/websocket.html 5.1. ws_handle_handshake() This function checks an HTTP GET request for the required headers and values, and (if successful) upgrades the connection from HTTP to WebSocket. Below is an example of a WebSocket handshake in which the client requests the WebSocket SIP subprotocol support from the server: GET / HTTP/1.1 Host: sip-ws.example.com Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ== Origin: http://www.example.com Sec-WebSocket-Protocol: sip Sec-WebSocket-Version: 13 The handshake response from the server accepting the WebSocket SIP subprotocol would look as follows: HTTP/1.1 101 Switching Protocols Upgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo= Sec-WebSocket-Protocol: sip Once the negotiation has been completed, the WebSocket connection is established and can be used for the transport of SIP requests and responses. Topology hiding using Kamailio topos module received 1 INVITE sip:[email protected]:5060 SIP/2.0 2 Record-Route: <sip:54.68.218.122:6060;r2=on;lr;ftag=abu90pirr2> 3 Record-Route: <sip:54.68.218.122:4443;transport=ws;r2=on;lr;ftag=abu90pirr2> 4 Via: SIP/2.0/UDP 54.68.218.122:6060;branch=z9hG4bKd81f.627b1c839b6570e58674a21c19bd0216.0 5 Via: SIP/2.0/WSS 6alejfipm0v4.invalid;rport=63913;received=166.175.62.237;branch=z9hG4bK3894674 6 To: <sip:[email protected]> 7 From: "Flowroute Client Demo" <sip:[email protected]>;tag=abu90pirr2 8 Call-ID: 2c038bsqfr4m3i1sbs2k 9 CSeq: 4376 INVITE 10 Contact: 11 <sip:[email protected];alias=166.175.62.237~63913~6;gr=urn:uuid:461dbdb5-0293-483e-941d-f4891a51d 12 7a5> 13 Content-Type: application/sdp 14 Content-Length: 559 proxied 16 INVITE sip:[email protected] SIP/2.0 17 Via: SIP/2.0/UDP 33.133.45.43:5060;branch=z9hG4bKd81f.ca02b8a41f4bcb1fcaddd44c35a0a17c.0 18 To: <sip:[email protected]> 19 From: "Flowroute Client Demo" <sip:[email protected]>;tag=abu90pirr2 20 Call-ID: 2c038bsqfr4m3i1sbs2k 21 CSeq: 4376 INVITE 22 P-Asserted-Identity: "Flowroute Client Demo" <sip:[email protected]> 23 Contact: <sip:[email protected]> 24 Content-Type: application/sdp 25 Content-Length: 261 26 Kamailio Topos module configuration https://kamailio.org/docs/modules/devel/modules/topos.html Configuration : loadmodule "ndb_redis" loadmodule "topos" loadmodule "topos_redis" modparam("topos", "storage", "redis") modparam("topos_redis", "serverid", "srv8") ➔ The topos state is stored redis, this is providing restart persistency. ➔ The module is registering core event callbacks to alter/restore the message after/before the routing script execution. sr_event_register_cb(SREV_NET_DATA_IN, tps_msg_received); sr_event_register_cb(SREV_NET_DATA_OUT, tps_msg_sent); SDP Normalization example v=0 o=mozilla...THIS_IS_SDPARTA-66.0.2 4010920269622071999 0 IN IP4 0.0.0.0 s=- t=0 0 a=msid-semantic:WMS * m=audio 14314 RTP/AVP 109 0 8 101 c=IN IP4 34.239.191.73 a=msid:{dad8d9f1-8be0-417e-a009-b56637915df2} {f4d0b092-c609-4546-a677-39b6d875136a} a=ssrc:807290859 cname:{420a5941-f46a-4695-a85d-b88a475bfe8d} Received : a=mid:0 after RTP-engine cleanup a=rtpmap:109 opus/48000/2 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:109 maxplaybackrate=48000;stereo=1;useinbandfec=1 a=fmtp:101 0-15 a=sendrecv a=rtcp:14315 a=end-of-candidates v=0 o=- 2808372830592226719 0 IN IP4 34.239.191.73 s=- Proxied : c=IN IP4 43.139.191.73 After SDP rewriting t=0 0 m=audio 14188 RTP/AVP 109 0 8 101 a=rtpmap:109 opus/48000/2 a=fmtp:109 maxplaybackrate=48000;stereo=1;useinbandfec=1 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15 SDP rewriting using Kamailio routing script 0 // get the request body 1 $avp(tempbody) = $rb; 2 3 // retrieve various values from SDP (example to retrieve Opus FTMP line) 4 ... 5 $var(match) = "a=fmtp:" + $avp(opus-payload-id); 6 $avp(opus-fmtp-line) = $(avp(fmtp-lines){line.sw,$var(match)}); 7 xinfo("opus-fmtp-line[$avp(opus-fmtp-line)]\n"); 8 9 // prepare a template 10 $var(v-line) = "v=0\r\n"; 11 $var(o-line) = "o=- "+$avp(sess-id)+" "+$avp(sess-version)+" IN IP4 12 +$avp(unicast-address)+"\r\n"; 13 $var(s-line) = "s=-\r\n"; 14 $var(c-line) = "c=IN IP4 "+$avp(unicast-address)+"\r\n"; 15 $var(t-line) = "t=0 0\r\n"; 16 $var(a-line1) = ""; 17 $var(a-linex) = ""; 18 20 // set the request body 21 set_body("$var(v-line)$var(o-line)$var(s-line) ...", "application/sdp"); Opus for speech 2. OVERVIEW OF OPUS Opus operates in one of three modes: • SILK mode (speech signals up to wideband), • CELT mode (music and high-bitrate speech), or • Hybrid mode (SILK and CELT simultaneously for super-wideband and fullband speech). "Configuration changes that use CELT on both sides (or between wideband SILK and Hybrid mode) use the overlap of the transform window to avoid dis-continuities. However, switching between CELT and SILK or Hybrid mode is more complicated, because SILK operates in the time domain without a win-dow." The Opus Codec, Xiph.Org Foundation Freeswitch Opus tuning using fmtp parameters configuration https://tools.ietf.org/html/rfc7587 /usr/local/freeswitch/conf/autoload_configs/opus.conf.xml <param name="maxplaybackrate" value="16000"/> This is a good way tell Opus to use Silk and avoid using hybrid Silk/Celt mode with a normal voice call (not music), Silk only mode should be favored. And Opus will have more room to play with the target bitrate. SDP Answer 11 v=0 12 o=FreeSWITCH 1565144490 1565144491 IN IP4 128.27.70.174 13 s=FreeSWITCH 14 c=IN IP4 128.27.70.174 15 t=0 0 16 m=audio 32724 RTP/AVP 109 101 17 a=rtpmap:109 opus/48000/2 18 a=fmtp:109 useinbandfec=1; maxplaybackrate=16000; stereo=1 19 a=rtpmap:101 telephone-event/8000 20 a=fmtp:101 0-16 21 a=ptime:20 22 a=sendrecv Opus tuning and ftmp parameters // Tells the encoder about the highest sample rate the decoder is expected to // use when decoding the bitstream. The encoder would typically use this // information to adjust the quality of the encoding. The default // implementation does nothing. virtual void SetMaxPlaybackRate(int frequency_hz); int16_t WebRtcOpus_SetMaxPlaybackRate(OpusEncInst* inst, int32_t frequency_hz) { ... if (frequency_hz <= 8000) { set_bandwidth = OPUS_BANDWIDTH_NARROWBAND; } else if (frequency_hz <= 12000) { set_bandwidth = OPUS_BANDWIDTH_MEDIUMBAND; } else if (frequency_hz <= 16000) { set_bandwidth = OPUS_BANDWIDTH_WIDEBAND; } else if (frequency_hz <= 24000) { set_bandwidth = OPUS_BANDWIDTH_SUPERWIDEBAND; } else { set_bandwidth = OPUS_BANDWIDTH_FULLBAND; } return ENCODER_CTL(inst, OPUS_SET_MAX_BANDWIDTH(set_bandwidth)); } Our SIP over websocket client application https://github.com/flowroute/jssip_client https://github.com/flowroute/jssip_ui External dependencies : https://github.com/versatica/JsSIP https://github.com/webrtc/adapter Thanks to Marcel, David and the Evolux team ! Demo application calling Freeswitch echo application. https://demo.webrtc.flowroute.com/fr.html https://demo.webrtc.flowroute.com/ui.html Example 1: inlined Javascript integration of Example 2: Javascript integration of jssip_client + jssip_client jssip_ui QoS reports over SIP MESSAGE MESSAGE sip:13125867146@sip.flowroute.com SIP/2.0 P-QoS-Call-ID:27vosgqamo35an134b31 "qos_data": { "rx_media": { “jitterBufferDelay": 156595.2, "jitterBufferEmittedCount": 1172160, "audioLevel": 0.40052491836298715, "totalAudioEnergy": 4.705616978591951, "totalSamplesReceived": 1200960, "totalSamplesDuration": 25.02111, }, “tx": { "bytesSent": 29795, "packetsSent": 497, ... QoS reports received stream example rx_media description example jitterBufferDelay It is the sum of the time, in seconds, each frame 156595 / takes from the time it is received and to the time it 1172160 exits the jitter buffer. This increases upon frames Average exiting, having completed their time in the buffer Jitter buffer (incrementing jitterBufferEmittedCount). The average jitter buffer delay can be calculated by size : dividing the jitterBufferDelay with the 130ms jitterBufferEmittedCount. audioLevel The value is between 0..1 (linear), where 1.0 0.4 represents 0 dBov, 0 represents silence, and 0.5 represents approximately 6 dBSPL change in the sound pressure level from 0 dBov. concealedSamples A concealed sample is a sample that is based on data 20159 / that was synthesized to conceal packet loss and 48000 does not represent incoming data. (sum) 410ms totalSamplesReceived The total number of samples that have been 2892960 received by this receiver. This includes concealedSamples. totalSamplesDuration Total duration in seconds of all samples received 60.26s Statistics related to
Recommended publications
  • FOSDEM 2017 Schedule
    FOSDEM 2017 - Saturday 2017-02-04 (1/9) Janson K.1.105 (La H.2215 (Ferrer) H.1301 (Cornil) H.1302 (Depage) H.1308 (Rolin) H.1309 (Van Rijn) H.2111 H.2213 H.2214 H.3227 H.3228 Fontaine)… 09:30 Welcome to FOSDEM 2017 09:45 10:00 Kubernetes on the road to GIFEE 10:15 10:30 Welcome to the Legal Python Winding Itself MySQL & Friends Opening Intro to Graph … Around Datacubes Devroom databases Free/open source Portability of containers software and drones Optimizing MySQL across diverse HPC 10:45 without SQL or touching resources with my.cnf Singularity Welcome! 11:00 Software Heritage The Veripeditus AR Let's talk about The State of OpenJDK MSS - Software for The birth of HPC Cuba Game Framework hardware: The POWER Make your Corporate planning research Applying profilers to of open. CLA easy to use, aircraft missions MySQL Using graph databases please! 11:15 in popular open source CMSs 11:30 Jockeying the Jigsaw The power of duck Instrumenting plugins Optimized and Mixed License FOSS typing and linear for Performance reproducible HPC Projects algrebra Schema Software deployment 11:45 Incremental Graph Queries with 12:00 CloudABI LoRaWAN for exploring Open J9 - The Next Free It's time for datetime Reproducible HPC openCypher the Internet of Things Java VM sysbench 1.0: teaching Software Installation on an old dog new tricks Cray Systems with EasyBuild 12:15 Making License 12:30 Compliance Easy: Step Diagnosing Issues in Webpush notifications Putting Your Jobs Under Twitter Streaming by Open Source Step. Java Apps using for Kinto Introducing gh-ost the Microscope using Graph with Gephi Thermostat and OGRT Byteman.
    [Show full text]
  • Smart Communication Platforms for Prototyping Smart City Applications
    Competence Center NGNI Fraunhofer FOKUS Keynote at National Research Council of Thailand (NRCT) Annual Meeting, Bangkok, Thailand, August 25, 2013 Smart Communication Platforms for Prototyping Smart City Applications Prof. Dr. Thomas Magedanz Fraunhofer FOKUS / TU Berlin [email protected] www.fokus.fraunhofer.de/go/ngni Competence Center NGNI Fraunhofer FOKUS Agenda Smart Cities as Future Internet Show Case Smart City communication infrastructures requirements The Role of IP Multimedia Subsystem, Machine Type Communication, Evolved Packet Core and related Open APIs within emerging Smart City SDPs FOKUS Toolkits and practical examples Summary Q&A Competence Center NGNI Fraunhofer FOKUS Main Messages of the Talk Convergence of fixed and mobile networks plus internet technologies was the driver for Next Generation Network (NGN) IMS (plus an SDP) is the common control platform of the NGN today Over the top (OTT) services challenge operators and IMS platforms Future Internet (FI) is a hot research topic and equates to emerging Smart City (SC) ICT platforms and applications Smart Cities relate to the domains of Internet of Things ( M2M) and Internet of Services ( SDP) Smart Cities are driving even more convergence of networks and control platforms Evolved Packet Core (EPC) and Machine Type Communication (MTC) platforms are becoming key pillars around IP Multimedia System (IMS) in the context of emerging Smart City ICT platforms Nevertheless Open APIs will abstract from the specifics of the platforms FOKUS tools
    [Show full text]
  • Mivoice Border Gateway Engineering Guidelines
    MiVoice Border Gateway Engineering Guidelines January, 2017 Release 9.4 1 NOTICE The information contained in this document is believed to be accurate in all respects but is not warranted by Mitel Networks™ Corporation (MITEL®). The information is subject to change without notice and should not be construed in any way as a commitment by Mitel or any of its affiliates or subsidiaries. Mitel and its affiliates and subsidiaries assume no responsibility for any errors or omissions in this document. Revisions of this document or new editions of it may be issued to incorporate such changes. No part of this document can be reproduced or transmitted in any form or by any means - electronic or mechanical - for any purpose without written permission from Mitel Networks Corporation. Trademarks The trademarks, service marks, logos and graphics (collectively "Trademarks") appearing on Mitel's Internet sites or in its publications are registered and unregistered trademarks of Mitel Networks Corporation (MNC) or its subsidiaries (collectively "Mitel") or others. Use of the Trademarks is prohibited without the express consent from Mitel. Please contact our legal department at [email protected] for additional information. For a list of the worldwide Mitel Networks Corporation registered trademarks, please refer to the website: http://www.mitel.com/trademarks. Product names mentioned in this document may be trademarks of their respective companies and are hereby acknowledged. MBG - Engineering Guidelines Release 9.4 January, 2017 ®,™ Trademark of Mitel Networks
    [Show full text]
  • A Case for SIP in Javascript", IEEE Communications Magazine , Vol
    Copyright © IEEE, 2013. This is the author's copy of a paper that appears in IEEE Communications Magazine. Please cite as follows: K.Singh and V.Krishnaswamy, "A case for SIP in JavaScript", IEEE Communications Magazine , Vol. 51, No. 4, April 2013. A Case for SIP in JavaScript Kundan Singh Venkatesh Krishnaswamy IP Communications Department IP Communications Department Avaya Labs Avaya Labs Santa Clara, USA Basking Ridge, USA [email protected] [email protected] Abstract —This paper presents the challenges and compares the applications independent of the specific SIP extensions alternatives to interoperate between the Session Initiation supported in the vendor's gateway. Protocol (SIP)-based systems and the emerging standards for the Web Real-Time Communication (WebRTC). We argue for an We observe that decoupled development across services , end-point and web-focused architecture, and present both sides tools and applications promotes interoperability. Today, the of the SIP in JavaScript approach. Until WebRTC has ubiquitous web developers can build applications independent of a cross-browser availability, we suggest a fall back strategy for web particular service (Internet service provider) or vendor tool developers — detect and use HTML5 if available, otherwise fall (browser, web server). Unfortunately, many existing SIP back to a browser plugin. systems are closely integrated and have overlap among two or more of these categories, e.g., access network provider Keywords- SIP; HTML5; WebRTC; Flash Player; web-based (service) wants to control voice calling (application), or three communication party calling (application) depends on your telephony provider (service). The main motivation of the endpoint approach (also I. INTRODUCTION known as SIP in JavaScript) is to separate the applications In the past, web developers have resorted to browser (various SIP extensions and telephony features) from the plugins such as Flash Player to do audio and video calls in the specific tools (browsers or proxies) or VoIP service providers.
    [Show full text]
  • A Flexible and Scalable Media Centric Webrtc
    An Oracle White Paper May 2014 Towards a Flexible and Scalable Media Centric WebRTC Towards a Flexible and Scalable Media Centric WebRTC Introduction Web Real Time Communications (WebRTC) transforms any device with a browser into a voice, video, and screen sharing endpoint, without the need of downloading, installing, and configuring special applications or browser plug-ins. With the almost ubiquitous presence of browsers, WebRTC promises to broaden the range of communicating devices to include game consoles and set-top boxes in addition to laptops, smartphones, tablets, etc. WebRTC has been described as a transformative technology bridging the worlds of telephony and web. But what does this bridging really imply and have the offerings from vendors fully realized the possibilities that WebRTC promises? In this paper we discuss the importance of WebRTC Service Enablers that help unlock the full potential of WebRTC and the architectures that these elements make possible in this new era of democratization. New Elements in the WebRTC Network Architecture While web-only communications mechanisms would require nothing more than web browsers and web servers, the usefulness of such web-only networks would be limited. Not only is there a need to interwork with existing SIP1 and IMS2 based networks, there is also a need to provide value added services. There are several products in the marketplace that attempt to offer this functionality. But most of the offerings are little more than basic gateways. Such basic gateways perform simple protocol conversions where messages are translated from one domain to another. Such a simplistic gateway would convert call signaling from JSON3, XMPP4, or SIP over WebSockets, to SIP, and might also provide interoperability between media formats.
    [Show full text]
  • The Security of Webrtc Ben Feher, Lior Sidi, Asaf Shabtai, Rami Puzis Ben-Gurion University of the Negev {Feherb, Liorsid, Shabtaia, Puzis}@Bgu.Ac.Il
    The Security of WebRTC Ben Feher, Lior Sidi, Asaf Shabtai, Rami Puzis Ben-Gurion University of the Negev {feherb, liorsid, shabtaia, puzis}@bgu.ac.il ABSTRACT primarily browser–based (though not all browsers support WebRTC is an API that allows users to share streaming WebRTC) we focus our analysis on WebRTC browser-based information, whether it is text, sound, video or files. It is impelmetations. A quick look at browser usage statistics reveals supported by all major browsers and has a flexible underlying that currently, Chrome and Firefox dominate the browser market infrastructure. In this study we review current WebRTC structure by a significant margin. In addition, these browsers also support and security in the contexts of communication disruption, key features of WebRTC technology which makes them prime modification and eavesdropping. In addition, we examine candidates for our tests. WebRTC security in a few representative scenarios, setting up and Another point for consideration in the security analysis involves simulating real WebRTC environments and attacks. the communication restrictions of the current security measure (e.g., deep packet inspection Firewalls), as well as the availability General Terms of existing tools for analyzing the WebRTC traffic. Security, Network. 2. WHAT IS WebRTC? Keywords In General, a WebRTC communication is composed of two WebRTC, DTLS-SRTP, Signaling, P2P. stages: a signaling and a communication stage. 1. INTRODUCTION 2.1 Signaling Stage Web Real-Time Communication (WebRTC) is an API aimed to The signaling stage is the conversation setup. When two clients support browser-to-browser communication. This solution is wish to communicate, they must arrange a common information designed to unify the fragmented solution cluster that has been channel.
    [Show full text]
  • Cisco Remote Expert Mobile 10.6(3) Design Guide
    Cisco Remote Expert Mobile 10.6(3) Design Guide First Published: 2015-07-31 Last Updated: 2016-01-13 Cisco Systems, Inc. www.cisco.com 1 Design Guide THE SPECIFICATIONS AND INFORMATION REGARDING THE PRODUCTS IN THIS MANUAL ARE SUBJECT TO CHANGE WITHOUT NOTICE. ALL STATEMENTS, INFORMATION, AND RECOMMENDATIONS IN THIS MANUAL ARE BELIEVED TO BE ACCURATE BUT ARE PRESENTED WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. USERS MUST TAKE FULL RESPONSIBILITY FOR THEIR APPLICATION OF ANY PRODUCTS. THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET THAT SHIPPED WITH THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE SOFTWARE LICENSE OR LIMITED WARRANTY, CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY. The Cisco implementation of TCP header compression is an adaptation of a program developed by the UniVersity of California, Berkeley (UCB) as Part of UCB’s Public domain version of the UNIX oPerating system. All rights reserVed. CoPyright © 1981, Regents of the UniVersity of California. NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE PROVIDED “AS IS” WITH ALL FAULTS. CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THOSE OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF DEALING, USAGE, OR TRADE PRACTICE. IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS MANUAL, EVEN IF CISCO OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
    [Show full text]
  • Krivenko Eugene
    Krivenko Eugene city: Kiev E-mail: [email protected] CONTACT Website: https://www.linkedin.com/in/eugen- krivenko Phone: +380632141113 OBJECTIVE I'm a Front-end developer seeking an opportunity to participate in an interesting project and to become a part of a great team. Desire to work with React, NodeJS etc. Love for minimalizm, optimisation, clean code, structuring, best practices. PROFESSIONAL SKILLS Javascript, Typescript React, AngularJS, Angular2 Redux, RxJS Webpack, Gulp WebSockets (socket.io, signalR, sip.js) Node.JS (Hapi, Express) Bootstrap, HTML, CSS, SCSS, SASS, Angular Material D3.js SEO understanding WORK EXPERIENCE Maxitech 04.2019 — 03.2021 Frontend developer Responsibilities: Implement new features and improve existing ones Improve Redux store structure Improve components architecture Code review Bug fixing Interview new candidates Mentoring Environment: React, Redux, Redux Toolkit, RxJS, signalR, socket.io, Express, Typescript, Git, PostCSS, Jest, Webpack Krivenko Eugene 1 MWDN 09.2017 — 03.2019 Frontend developer Responsibilities: Implement new features and improve existing ones Maintain existing projects AngularJs/React Migrate project from AngularJS to React Refactoring Code review Bug fixing Interview new candidates Environment: React, AngularJS, Git, SASS, CSSinJS, Redux, Webpack, MobX, ES6, Typescript, Jenkins, Hapi.js, MongoDB, D3, Jira Evoplay 09.2016 — 08.2017 Frontend developer Lead Responsibilities: Create new project from scratch Implement new features and improve existing ones Participate in project
    [Show full text]
  • MRTC Gateway Can Be Hosted on Any Windows Version
    2021 MRTC Documentation MizutechMRTC WebRTC -SIPGateway gateway User Guide Mizutech WebRTC-SIP Gateway –User Guide Connecting WebRTC clients to SIP servers Mizutech 6/3/2021 Contents About ......................................................................................................................................................................................................... 3 Features ............................................................................................................................................................................................. 3 Requirements .................................................................................................................................................................................... 4 How It Works ..................................................................................................................................................................................... 4 Legal Agreement ............................................................................................................................................................................... 4 Setup and configuration ............................................................................................................................................................................ 5 Install ................................................................................................................................................................................................
    [Show full text]
  • Implementation and Evaluation of Security on a Gateway for Web-Based Real-Time Communication
    Tuukka Koistinen Implementation and Evaluation of Security on a Gateway for Web-based Real-Time Communication School of Electrical Engineering Thesis submitted for examination for the degree of Master of Science in Technology. Espoo 22.5.2014 Thesis supervisor: Prof. Jörg Ott Thesis advisor: M.Sc. (Tech.) Tuomas Erke aalto university abstract of the school of electrical engineering master’s thesis Author: Tuukka Koistinen Title: Implementation and Evaluation of Security on a Gateway for Web-based Real-Time Communication Date: 22.5.2014 Language: English Number of pages:8+65 Department of Communications and Networking Professorship: Networking Technology Code: S-38 Supervisor: Prof. Jörg Ott Advisor: M.Sc. (Tech.) Tuomas Erke Web Real-Time Communication (WebRTC) is a set of standards that are being developed, aiming to provide native peer-to-peer multimedia communication be- tween browsers. The standards specify the requirements for browsers, including a JavaScript Application Programming Interface (API) for web developers, as well as the media plane protocols to be used for connection establishment, media transportation and data encryption. In this thesis, support for Interactive Connectivity Establishment (ICE) and media encryption was implemented to an existing gateway prototype. The gateway was originally developed to connect the novel WebRTC possibilities with existing IP Multimedia Subsystem (IMS) services, but it was lacking the necessary security functionalities. The performance of the gateway was measured and analyzed in different call scenarios between WebRTC clients. Two key elements, CPU load of the gateway and packet delay, were considered in the analysis. In addition to single call scenarios, the tests included relaying of ten simultaneous HD video calls, and relaying of ten simultaneous audio calls.
    [Show full text]
  • Load Testing of SIP and Webrtc Infrastructures Webrtc SIP and Webrtc Browsers Selenium Native Solutions Servers Lorenzo Miniero
    KamailioWorld L. Miniero Intro SIP Testing SIPp Load Testing of SIP and WebRTC Infrastructures WebRTC SIP and WebRTC Browsers Selenium Native solutions Servers Lorenzo Miniero Questions @elminiero Kamailio World 8th May 2017, Outline KamailioWorld L. Miniero 1 A brief introduction Intro SIP Testing SIPp 2 Load Testing of SIP Infrastructures WebRTC SIPp: a SIP protocol test tool SIP and WebRTC Browsers Selenium Native solutions 3 Bringing WebRTC into the picture Servers The problem: getting SIP and WebRTC to like each other Questions Testing the “pane e puparuoli” way: tabs tabs tabs! A cluster of browsers: SeleniumHQ , Native solutions: a look at Jattack Can WebRTC compliant servers help? 4 Questions/Comments You may remember me from last year! KamailioWorld L. Miniero Intro SIP Testing SIPp WebRTC SIP and WebRTC Browsers Selenium Native solutions Servers Questions What’s Meetecho? KamailioWorld L. Miniero • A company born in 2009 as an academic spin-off • Intro University research efforts brought to the market SIP Testing • Proudly brewed in sunny Napoli, Italy SIPp , WebRTC • Focus on real-time multimedia applications SIP and WebRTC Browsers • Web conferencing only, at first Selenium Native solutions • Then widened the scope to multimedia in general Servers Questions • Strong perspective on standardization and open source • WebRTC rulez! • Several activities • Consulting services • Commercial support & licenses • Streaming of live events (e.g., IETF, ACM SIGCOMM, ...) • Products (conferencing, webinar, ...) What’s Meetecho? KamailioWorld
    [Show full text]
  • Webrtc-Based Video Quality of Experience Evalua on of the Janus
    Linköping University | Department of Computer and Information Science Master thesis, 30 ECTS | Datavetenskap 2018 | LIU-IDA/LITH-EX-A--18/049--SE WebRTC-based Video Quality of Experience Evaluaon of the Janus Streaming Plugin – Integrang Video Door Systems and WebRTC-Supported Browsers Videoutvärdering av Janus streamingmodul med fokus på WebRTC-baserad Quality of Experience Raymond Leow Examiner : Niklas Carlsson External supervisor : Johan Åberg Linköpings universitet SE–581 83 Linköping +46 13 28 10 00 , www.liu.se Upphovsrä Dea dokument hålls llgängligt på Internet – eller dess framda ersäare – under 25 år från pub- liceringsdatum under förutsäning a inga extraordinära omständigheter uppstår. Tillgång ll doku- mentet innebär llstånd för var och en a läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och a använda det oförändrat för ickekommersiell forskning och för undervisning. Överföring av upphovsräen vid en senare dpunkt kan inte upphäva dea llstånd. All annan användning av doku- mentet kräver upphovsmannens medgivande. För a garantera äktheten, säkerheten och llgäng- ligheten finns lösningar av teknisk och administrav art. Upphovsmannens ideella rä innefaar rä a bli nämnd som upphovsman i den omfaning som god sed kräver vid användning av dokumentet på ovan beskrivna sä samt skydd mot a dokumentet ändras eller presenteras i sådan form eller i så- dant sammanhang som är kränkande för upphovsmannens lierära eller konstnärliga anseende eller egenart. För yerligare informaon om Linköping University Electronic Press se förlagets hemsida hp://www.ep.liu.se/. Copyright The publishers will keep this document online on the Internet – or its possible replacement – for a period of 25 years starng from the date of publicaon barring exceponal circumstances.
    [Show full text]