Media Handling in FreeSWITCH Moisés Silva Software Engineer / Manager

Slides:



Advertisements
Similar presentations
27 Oct-2010 / 1 Asterisk PRI Passive Call Recording Moises Silva Senior Software Engineer. Sangoma Technologies.
Advertisements

SHARKFEST ‘10 | Stanford University | June 14–17, 2010 Expose VoIP Problems With Wireshark June 15, 2010 Sean Walberg Vantage Media SHARKFEST ‘10 Stanford.
Unified Communications
S3 Computer Literacy Internet Technology.
Speech Processing for NSR Vs DSR Veeru Ramaswamy PhD CTO, Vianix LLC
Gateway and Trunk Concepts Chapter 07. The Process of Converting Voice to Packet 0.
Building Applications with SIP Conferencing / Collaboration Alan D. Percy Director, Market Development AudioCodes.
N Team 15: Final Presentation Peter Nyberg Azadeh Bararsani Adie Tong N N multicodec minisip.
Basics of Protocols SIP / H
Copyright © by Elliot Eichen. All rights reserved. RTP – Real Time Protocol (and RTCP)
AARNet Copyright 2011 Network Operations Cisco Unified Communications Manager SIP Trunking Bill Efthimiou APAN33 SIP workshop February 2012.
D-Series Voice Transcoding Training Webinar May 2011.
D100 Voice Transcoding Product Introduction August 2010.
Twinkle A SIP client based on open source and open standards Michel de Boer
SIP Testing Methodology Elie Cohen ProLab PM 17/01/2003.
VoipNow Core Solution capabilities and business value.
Codec requirements update Michael Knappe Co-chair, codec WG 1Michael Knappe IETF 77.
TEL500-Voice Communications Session initiation protocol improvement using inter- asterisk exchange Devesh Mendiratta & Sameer Deshmukh MS-Telecommunication.
Speech codecs and DCCP with TFRC VoIP mode Magnus Westerlund
Measurements of Congestion Responsiveness of Windows Streaming Media (WSM) Presented By:- Ashish Gupta.
Secure VoIP based mobile communication for Android™ phones
Voice over the Internet (the basics) CS 7270 Networked Applications & Services Lecture-2.
PROJECT PRESENTATION “ Analyzing Factors that affect VoIP Call Quality ” Presented By: Vamsi Krishna Karnati 11/24/2014.
1 K. Salah Module 2.1: QA – Putting it all together What is the max number of users/connections/sessions a particular network can support for handling.
® The Bluetooth Architecture APIs, L2CAP, Link Management, Baseband, and the Radio.
Leveraging Existing Application Processors in Mobile Devices to Implement VoIP Client.
A Web Services Based Streaming Gateway for Heterogeneous A/V Collaboration Hasan Bulut Computer Science Department Indiana University.
Introduction to Streaming © Nanda Ganesan, Ph.D..
Voice over IP Fundamentals M. Arvai NEC Senior Technical Eng. 1.
Video Streaming © Nanda Ganesan, Ph.D..
Windows audio architecture Win MM Application DirectSound Application SysAudio.SYS Kmixer.SYS WinMM.DLLDSound.DLL Device Drive Container USB Device Driver.
How to construct world-class VoIP applications on next generation hardware David Duffett, Aculab.
Property of i3 Forum (all rights reserved) Analysis of T.38 protocol Survey results, carrier’s remarks and suggestions Contact Points: Dr. Jerzy Soldrowsky.
Cisco Unified Communications Manager (CUCM)
D100 Voice Transcoding Product Introduction November 2010.
D100 Voice Transcoding Product Introduction
1 GAIA VoIP traffic generator and analyzer Presentation by Amrut Bang Ashish Deshpande Vijay Gabale Santosh Patil Sponsored by GS Lab Pvt. Ltd Pune Institute.
P2P VoIP Speaker : Ching Chen Chang Date: 2007/09/27.
Call Control with SIP Brian Elliott, Director of Engineering, NMS.
Speaker : Chungyi Wang Advisor: Quincy Wu Date :
H.323 An International Telecommunications Union (ITU) standard. Architecture consisting of several protocols oG.711: Encoding and decoding of speech (other.
1 © NOKIA FILENAMs.PPT/ DATE / NN Helsinki University of Technology Department of Electrical and Communications Engineering Jarkko Kneckt point to point.
Developing with VoiceXML Building a Video Conference Application.
A Conference Gateway Supporting Interoperability Between SIP and H.323 Jiann-Min Ho (Presenter) Jia-Cheng Hu Information Networking Institute Peter Steenkiste.
A116 Sales Training Julien Nephtali Product Manager May 15, 2012.
DCCP, TFRC & Open Problems in Congestion Control for Media Applications Tom Phelan 13-Feb-2007 ICCRG.
ﺑﺴﻢﺍﷲﺍﻠﺭﺣﻣﻥﺍﻠﺭﺣﻳﻡ. Group Members Nadia Malik01 Malik Fawad03.
H.323, IP Multicast Conferencing, And TAPI 3.0 Don Ryan Development Lead Windows Networking And Communications Microsoft Corporation.
Aug 25, 2005 page1 Aug 25, 2005 Integration of Advanced Video/Speech Codecs into AccessGrid National Center for High Performance Computing Speaker: Barz.
Lab Assignment 15/ INF5060: Multimedia data communication using network processors.
COMPANY CONFIDENTIAL © COPYRIGHT 2015 DIALOGIC CORPORATION. ALL RIGHTS RESERVED. 1 Scaling WebRTC with Media Servers Vince Puglia Developer Advocate –
PJSUA – A command line SIP user agent
LOG Objectives  Describe some of the VoIP implementation challenges such as Delay/Latency, Jitter, Echo, and Packet Loss  Describe the voice encoding.
Developing Applications with Host Media Processing David Asher.
SKYPIAX, how to add Skype capabilities to FreeSWITCH (and Asterisk) CHICAGO, USA, September 2009.
ON THE SECURITY OF ANDROID COMMUNICATION APPS September 2015 By Shasi Pokharel Bachelor Of Information Technology (Honours) Supervisors: Dr. Raymond Choo,
Voice Coding in 3G Networks
I know SIP works, but why does it not work with _____________? Ensuring Interoperability Sean Rivers 2/1/2011.
Voice over WLAN. Voice over IP WAN VoIP Gateway PBX PSTN.
Voice Over Internet Protocol (VoIP) Copyright © 2006 Heathkit Company, Inc. All Rights Reserved Presentation 5 – VoIP and the OSI Model.
Introduction to Quality of Service Klara Nahrstedt CS 538.
ETM ® System Release 5.2 Overview and Release 6.0 Preview Ronnie Ganske, Chief Architect Tuesday, March 27, 2007.
Codec Control for RTCWEB
VoIP ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts.
Klara Nahrstedt Spring 2012
Cisco Unity Connection
Prepared By : Pina Chhatrala
Voice Over Internet Protocol
NetBorder Call Analyzer Accuracy Benchmarking
SIP Basics Workshop Dennis Baron July 20, 2005.
Presentation transcript:

Media Handling in FreeSWITCH Moisés Silva Software Engineer / Manager

Audio Codecs Transcoding Codec Negotiation Bypass Media Proxy Media Sangoma Transcoding Agenda 8/10/2011© 2011 Sangoma Technologies2

Audio Codecs 8/10/2011© 2011 Sangoma Confidential3

Codecs encode and decode voice for network transmission –Algorithm (compression technology) –Bit rate –Sampling rate –Packetization Algorithm is the core of the codec Bit rate defines bandwidth required. (how many bits per second) Sampling rate defines the quality. (all other things being equal) Packetization affects latency and bandwidth overhead Audio Codecs 8/10/2011© 2011 Sangoma Technologies4

G.711 (PCMU/PCMA, Ulaw/Alaw) – Narrowband. –64kbps per second (Bit rate) –8kHz (Sampling rate) –10ms, 20ms, 30ms, 40ms … + (Packetization) G.722 – Wideband –48kbps, 56kbps and 64kbps –16kHz (IANA clocks it at 8kHz due to historical error in RFC1890) –10ms, 20ms, 30ms, 40ms … + G Annex C - Ultra-wideband –48kbps –32kHz –20ms, 40ms, 60ms Audio Codecs 8/10/2011© 2011 Sangoma Technologies5

FreeSWITCH supports a wide range of codecs –Narrowband (G.711, G.726, G.723.1, G.729AB, Speex …) –Wideband (G.722, G.722.1, G.722.2, Speex …) –Ultra-wideband (G.722.1C, Speex) –CD-quality (CELT) FreeSWITCH core requires the media to be in L16 (signed linear, raw digital audio) format for manipulation (mixing, tone detection etc) Codec modules encode and decode from/to L16 format Pass-thru codec modules are dummies (mod_g729, mod_g723_1) FreeSWITCH Audio Codecs 8/10/2011© 2011 Sangoma Technologies6

FreeSWITCH Audio Codecs 8/10/2011© 2011 Sangoma Technologies7

Transcoding 8/10/2011© 2011 Sangoma Confidential8

Required when endpoints have no codec in common FreeSWITCH must stay in the media path Increases CPU usage (particularly if done in software) Is a must if you need: –Call recording –Tone detection –Play announcements or tones Transcoding 8/10/2011© 2011 Sangoma Technologies9

FreeSWITCH Transcoding 8/10/2011© 2011 Sangoma Technologies10 Transcoding in one-legged call

FreeSWITCH Transcoding 8/10/2011© 2011 Sangoma Technologies11 Transcoding 2 SIP legs

FreeSWITCH codec pass-thru 8/10/2011© 2011 Sangoma Technologies12 Pass-thru codecs do not do transcoding

Codec Negotiation 8/10/2011© 2011 Sangoma Confidential13

Decisions to be made to choose a codec for a call From a list of codecs, pick one! You can choose when this happens (early vs late) Early happens before call hits the dial plan Late will happen when the leg is answered (or in pre- answer) Codec Negotiation 8/10/2011© 2011 Sangoma Technologies14

3 inbound negotiation algorithms –generous –greedy –Scrooge (Bah HUMBUG!) Use inbound-codec-negotiation in SIP profile Use sip_codec_negotiation variable in the dial plan Codec Negotiation 8/10/2011© 2011 Sangoma Technologies15

Codec Negotiation 8/10/2011© 2011 Sangoma Technologies16

Default negotiation mode in FreeSWITCH The codec is chosen matching SDP vs inbound-codec- prefs in the SIP profile “disable-transcoding” offers the same codec chosen for the inbound leg to the outbound leg absolute_codec_str is a good brute-force approach Early Negotiation 8/10/2011© 2011 Sangoma Technologies17

Early Negotiation 8/10/2011© 2011 Sangoma Technologies18

“Smarter” approach to codec negotiation “inbound-late-negotiation” set to “true” in the SIP profile Call will hit the dial plan without looking at codecs Negotiation will occur when incoming leg is answered (or requires early media) Late Negotiation 8/10/2011© 2011 Sangoma Technologies19

You can examine the incoming SDP and re-write SDP to fit your own needs “inherit_codec” variable is available to try to use the codec from the B leg for the A leg “ep_codec_string” contains the codecs offered by the endpoint Late Negotiation 8/10/2011© 2011 Sangoma Technologies20

Late Negotiation 8/10/2011© 2011 Sangoma Technologies21

Media Modes 8/10/2011© 2011 Sangoma Confidential22

Media goes around FreeSWITCH (not through) directly between the endpoints SIP signaling stays in FreeSWITCH Enable by setting variable “bypass_media=true” before bridging Set inbound-no-media or inbound-bypass-media in the SIP profile for a permanent solution Bypass Media 8/10/2011© 2011 Sangoma Technologies23

You can still play files! (uuid_broadcast) uuid_media [off] can re-invite FreeSWITCH on/off the media path Recording will fail unless you manually put back FreeSWITCH on the media path Bypass Media 8/10/2011© 2011 Sangoma Technologies24

Bypass Media 8/10/2011© 2011 Sangoma Technologies25

Also called “transparent proxy mode” for the RTP No media capabilities enabled Only the “c=” part in the SDP is modified Allows FreeSWITCH to pass-thru codec media that does not support Proxy Media 8/10/2011© 2011 Sangoma Technologies26

Set “proxy_media=true” variable before the bridge to enable it Set “inbound-proxy-media” in the SIP profile for a permanent solution You most likely want to have “late negotiation” enabled Proxy Media 8/10/2011© 2011 Sangoma Technologies27

Proxy Media 8/10/2011© 2011 Sangoma Technologies28

Sangoma Transcoding 8/10/2011© 2011 Sangoma Confidential29

Wider codec support in the industry Seen as an ethernet interface by the operating system SOAP interface for transcoding control Multiple servers can use a single card Firmware upgradable on the field License upgradable (from 30 licenses to 400) Sangoma Transcoding 8/10/2011© 2011 Sangoma Technologies30

Capacity 8/10/2011© 2011 Sangoma Technologies31 Codec/P Time10 ms20 ms30 ms40 ms50 ms G.729 AB G GSM480 AMR AMR ILBC ILBC G G G PCM/U PCM/A

Single Server Setup 8/10/2011© 2011 Sangoma Technologies32 API (libsng-tc) FreeSWITCH I/O core Ethernet Driver RTP (Voice) codec module SOAP server SOAP client (libsngtc-node) Control (SOAP TCP connection) Board discovery at Install time

Distributed Setup 8/10/2011© 2011 Sangoma Technologies33 API (libsng-tc) Ethernet Driver RTP (Voice) SOAP server FreeSWITCH I/O core codec module FreeSWITCH I/O core codec module RTP (Voice) SOAP client (libsngtc-node) Transcoding Server App Server App Server SOAP client (libsngtc-node) Control (SOAP TCP connection)

G.729 G G.722 G G iLBC AMR –*more codecs supported by the D-series cards but not yet implemented by FreeSWITCH codec module Supported Codecs 8/10/2011© 2011 Sangoma Technologies34

THANK YOU 8/10/2011© 2011 Sangoma Confidential35