Current trends and
innovations in Voice over IP
Webinar for OSFY Magazine
1 Feb 2020
Who am I ?
Altanai10 Years in Telecommunication
Open Source Software enthusiast
https://telecom.altanai.com/
tara181989@gmail.com
Author of WebRTC Integrator’s Guide & Inventor of RamuDroid
Index
1. VoIP vs Telecom Providers
a. SIP Servers types
2. Open-source tool and technologies in VOIP
a. Opensip
b. Kamailio
c. Freeswitch
d. Media Handling
e. Webrtc
3. Machine learning in VoIP
a. Call Classifier
b. Fraud Detector
c. NLP and Auto attendants
4. VoIP to telecom bridging
Voice over IP (VoIP)
Methodology and group of technologies for the delivery of
voice communications and multimedia sessions over
Internet Protocol (IP) networks, such as the Internet.
VOIP vs Telecom providers
SIP ( Session Initiation Protocol)
SIP Headers
signaling and controlling multimedia communication sessions in applications of
- Internet telephony for voice and video calls,
- in private IP telephone systems,
- in instant messaging over Internet Protocol (IP) networks and
- mobile phone calling over LTE (VoLTE).
SIP Call Flow
SIP proxy servers
Types:
Stateless proxy servers
Stateful proxy servers
Forking proxy servers
SIP B2BUA Servers
Open-source tool and
technologies in VOIP
Kamailio SIP server
https://www.kamailio.org/w/
SIP Load Balancer, IP Telephony Engine,
Least Cost Routing, SIP Firewall, Edge
Proxy, SBC, Registrar and Location Service,
Instant Messaging and Presence, MSRP,
WebRTC, IPv4-IPV6, IMS, VoLTE
Opensips server
https://www.kamailio.org/w/
SIP Load Balancer, IP Telephony Engine,
Least Cost Routing, SIP Firewall, Edge
Proxy, SBC, Registrar and Location Service,
Instant Messaging and Presence, MSRP,
WebRTC, IPv4-IPV6, IMS, VoLTE
Opensips internal architecture
Opensips modules
Freeswitch
https://freeswitch.com/
Software Defined Telecom Stack
Freeswitch internal structure
Media Handling in VoIP
Kamailio SIP servers without RTP proxy
Kamailio SIP server along with RTP proxy
RTP Proxy
( demo of freeswitch recording )
Codecs
Codecs encode and decode voice for
network transmission
– Algorithm (compression technology)
– Bit rate
– Sampling rate
– Packetization
3 inbound negotiation algorithms
– generous
– greedy
– Scrooge
Transcoding vs pass-thru
Uses
- Caller and callee is on diff
codecs / bandwidths
- Call recording and storing on
file system
- Tone detection
- Play announcements
Freeswitch media manipulation modules
Mod_soundtouch - an adjust pitch , rate , tempo and other audio effects
Mod_ladspa - use Linux Audio Developer's API inside freeswitch in realtime
Mod_bert - provides bert_test, an application that generates and captures a
milliwatt tone and prints an error rate at the end.
Mod_portaudio - interfacing with sound card
Mod_unimrcp - allows communication with Media Resource Control Protocol
(MRCP) servers.media resources that can be controlled via MRCP:
● Automatic speech recognition (ASR)
● Text to speech (TTS)
● Speaker verification and identification (not currently supported by
mod_unimrcp)
Image from :
https://freeswitch.org/confluence/display/FREESWITCH/mod_unimrcp
Transcription
Mod_watson IBM’s Watson module for freeswitch
Call Mixing - Conference bridges
Mod_conference module on freeswitch
Demo of freeswitch Call
WEBRTC
WebRTC offers real time communication natively from browsers. It is essentially
just a media engine without control protocol
Bodies behind standardization
No plugins
Supported browsers
Supported Mobile platforms
Cloud communication High level View
Machine learning in VoIP
● Call Classifier
● Fraud Detector
● NLP and Auto attendants
Implementation of ML for VoIP
Automatic gain control
Echo cancellation
Noise Suppression
Call Classifications
Call Classification
Classify calls based on :
Audio Quality metrics
● level
● gain
● noise
● harmonic and intermodulation distortion,
● frequency response,
● relative phase of signals
● interchannel crosstalk
Call Quality metrics
● MOS score - packet loss , jitter , round trip time ..
● Energy Levels,
● Silence Thresholds,
● Silence Hits
Applications
● Transcription and Sentiment analysis
● Automatic speech recognition
● Tone detection
● Speech scoring
● Speaker verification
Classify Calls as
● Marketing calls
● Spam / Robo Calls
● Blank Calls
● Indoor / outdoor calls
● Emergency calls
● Monitor adult content / Lawful Interception
Call Fraud Detection
● Kamailio modules
● STIR/ SHAKEN
Kamailio modules for Fraud and Spam detection
Registration Hijacking
HTTP authentication
Impersonating a Server
Proxy Authentication
Temparing Message bodies
end to end encryption over TLS + Digest Authorization
S/MIME
Denial of Service and Amplification
Sanity Module - SIP syntax checking
Pike Module - detects flooding
Mid-session threats like tearing down session
Full encryption vs hop by hop encryption ( show kamailio_conf.xml )
Robo / Spam calls
What is Call ID spoofing ?
Vulnerability of existing interconnection phone system which is used by robo-callers
to mask their identity or to make it appear the call is from a legitimate source, usually
originates from voice-over-IP (VOIP) systems.
STIR SHAKEN
Standards developed by the Internet Engineering Task Force (IETF) and Alliance of
Telecommunications Industry Solutions (ATIS)
For telecommunication service providers implement certificate management system
to create and manage the public and private keys, digital certificates used to sign
and verify Caller ID details.
STIR framework
SHAKEN
NLP and Auto
attendants
Auto attendants
Old Way IVR and DTMF
Img source www.dialogic.com
Auto attendants ( with rudimentary routing ) on freeswitch
<menu name="demo_ivr"
greet-long="phrase:demo_ivr_main_menu"
greet-short="phrase:demo_ivr_main_menu_short"
invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav"
exit-sound="voicemail/vm-goodbye.wav"
confirm-macro=""
confirm-key=""
tts-engine="flite"
tts-voice="rms"
confirm-attempts="3"
timeout="10000"
inter-digit-timeout="2000"
max-failures="3"
max-timeouts="3"
digit-len="4">
<entry action="menu-exec-app" digits="1" param="bridge
sofia/$${domain}/888@conference.freeswitch.org"/>
<entry action="menu-exec-app" digits="2" param="transfer 9196 XML default"/>
<entry action="menu-exec-app" digits="3" param="transfer 1234*256 enum"/>
<entry action="menu-sub" digits="4" param="demo_ivr_submenu"/>
<entry action="menu-exec-app" digits="/^(10[01][0-9])$/" param="transfer $1 XML features"/>
<entry action="menu-top" digits="9"/>
</menu>
New NLU and NLP approach
Image source :nextiva.com
NLP in for Auto
attendants
Applications :
sentiment analysis
Automatic essay assessment and
scripting
VoIP to telecom bridging
Features of OTT vs telecom providers
Features by telecom providers
● Emergency dialing
● SMS / MMS
● Call
● Data
● VAS
● Billing
● DND
Telco Industry Trends
OTP ( over the
providers ) are
largely responsible
to cut down profits
of telco providers by
providing free
internet based
communication
platforms
Source : .mckinsey.com
m Service Providers integrating with voIP
PSTN endpoints
Gen
band
Telecom Providers Trunk
Providers
@alta
nai
VoIP Providers Internal
PBX
SIP
endpo
ints
6. Debugging
tools and QA
1. Chrome Dev tools
2. Selenium and Chrome driver
3. Wireshark
4. Tcpdump
5. VOIP clients
6. ffmpeg
7. test.webrtc.org
-tbd- + Demo
References
Telecom R&D
https://telecom.altanai.com/
Freeswitch examples
https://github.com/altanai/freeswitchexamples
Kamailio Examples
https://github.com/altanai/kamailioexamples
Opensips Examples
https://github.com/altanai/opensipsexamples
Questions ?

Current trends and innovations in voice over IP

  • 1.
    Current trends and innovationsin Voice over IP Webinar for OSFY Magazine 1 Feb 2020
  • 2.
    Who am I? Altanai10 Years in Telecommunication Open Source Software enthusiast https://telecom.altanai.com/ tara181989@gmail.com Author of WebRTC Integrator’s Guide & Inventor of RamuDroid
  • 3.
    Index 1. VoIP vsTelecom Providers a. SIP Servers types 2. Open-source tool and technologies in VOIP a. Opensip b. Kamailio c. Freeswitch d. Media Handling e. Webrtc 3. Machine learning in VoIP a. Call Classifier b. Fraud Detector c. NLP and Auto attendants 4. VoIP to telecom bridging
  • 4.
    Voice over IP(VoIP) Methodology and group of technologies for the delivery of voice communications and multimedia sessions over Internet Protocol (IP) networks, such as the Internet.
  • 5.
    VOIP vs Telecomproviders
  • 7.
    SIP ( SessionInitiation Protocol) SIP Headers signaling and controlling multimedia communication sessions in applications of - Internet telephony for voice and video calls, - in private IP telephone systems, - in instant messaging over Internet Protocol (IP) networks and - mobile phone calling over LTE (VoLTE).
  • 8.
  • 9.
    SIP proxy servers Types: Statelessproxy servers Stateful proxy servers Forking proxy servers
  • 10.
  • 11.
  • 12.
    Kamailio SIP server https://www.kamailio.org/w/ SIPLoad Balancer, IP Telephony Engine, Least Cost Routing, SIP Firewall, Edge Proxy, SBC, Registrar and Location Service, Instant Messaging and Presence, MSRP, WebRTC, IPv4-IPV6, IMS, VoLTE
  • 14.
    Opensips server https://www.kamailio.org/w/ SIP LoadBalancer, IP Telephony Engine, Least Cost Routing, SIP Firewall, Edge Proxy, SBC, Registrar and Location Service, Instant Messaging and Presence, MSRP, WebRTC, IPv4-IPV6, IMS, VoLTE
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
    Kamailio SIP serverswithout RTP proxy
  • 21.
    Kamailio SIP serveralong with RTP proxy
  • 22.
    RTP Proxy ( demoof freeswitch recording )
  • 23.
    Codecs Codecs encode anddecode voice for network transmission – Algorithm (compression technology) – Bit rate – Sampling rate – Packetization 3 inbound negotiation algorithms – generous – greedy – Scrooge
  • 24.
    Transcoding vs pass-thru Uses -Caller and callee is on diff codecs / bandwidths - Call recording and storing on file system - Tone detection - Play announcements
  • 26.
    Freeswitch media manipulationmodules Mod_soundtouch - an adjust pitch , rate , tempo and other audio effects Mod_ladspa - use Linux Audio Developer's API inside freeswitch in realtime Mod_bert - provides bert_test, an application that generates and captures a milliwatt tone and prints an error rate at the end. Mod_portaudio - interfacing with sound card Mod_unimrcp - allows communication with Media Resource Control Protocol (MRCP) servers.media resources that can be controlled via MRCP: ● Automatic speech recognition (ASR) ● Text to speech (TTS) ● Speaker verification and identification (not currently supported by mod_unimrcp) Image from : https://freeswitch.org/confluence/display/FREESWITCH/mod_unimrcp
  • 27.
  • 28.
    Call Mixing -Conference bridges Mod_conference module on freeswitch
  • 29.
  • 30.
    WEBRTC WebRTC offers realtime communication natively from browsers. It is essentially just a media engine without control protocol Bodies behind standardization No plugins Supported browsers Supported Mobile platforms
  • 32.
  • 33.
    Machine learning inVoIP ● Call Classifier ● Fraud Detector ● NLP and Auto attendants
  • 35.
    Implementation of MLfor VoIP Automatic gain control Echo cancellation Noise Suppression Call Classifications
  • 36.
    Call Classification Classify callsbased on : Audio Quality metrics ● level ● gain ● noise ● harmonic and intermodulation distortion, ● frequency response, ● relative phase of signals ● interchannel crosstalk Call Quality metrics ● MOS score - packet loss , jitter , round trip time .. ● Energy Levels, ● Silence Thresholds, ● Silence Hits Applications ● Transcription and Sentiment analysis ● Automatic speech recognition ● Tone detection ● Speech scoring ● Speaker verification Classify Calls as ● Marketing calls ● Spam / Robo Calls ● Blank Calls ● Indoor / outdoor calls ● Emergency calls ● Monitor adult content / Lawful Interception
  • 37.
    Call Fraud Detection ●Kamailio modules ● STIR/ SHAKEN
  • 38.
    Kamailio modules forFraud and Spam detection Registration Hijacking HTTP authentication Impersonating a Server Proxy Authentication Temparing Message bodies end to end encryption over TLS + Digest Authorization S/MIME Denial of Service and Amplification Sanity Module - SIP syntax checking Pike Module - detects flooding Mid-session threats like tearing down session Full encryption vs hop by hop encryption ( show kamailio_conf.xml )
  • 39.
    Robo / Spamcalls What is Call ID spoofing ? Vulnerability of existing interconnection phone system which is used by robo-callers to mask their identity or to make it appear the call is from a legitimate source, usually originates from voice-over-IP (VOIP) systems. STIR SHAKEN Standards developed by the Internet Engineering Task Force (IETF) and Alliance of Telecommunications Industry Solutions (ATIS) For telecommunication service providers implement certificate management system to create and manage the public and private keys, digital certificates used to sign and verify Caller ID details.
  • 40.
  • 41.
  • 42.
  • 43.
    Auto attendants Old WayIVR and DTMF Img source www.dialogic.com
  • 44.
    Auto attendants (with rudimentary routing ) on freeswitch <menu name="demo_ivr" greet-long="phrase:demo_ivr_main_menu" greet-short="phrase:demo_ivr_main_menu_short" invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav" exit-sound="voicemail/vm-goodbye.wav" confirm-macro="" confirm-key="" tts-engine="flite" tts-voice="rms" confirm-attempts="3" timeout="10000" inter-digit-timeout="2000" max-failures="3" max-timeouts="3" digit-len="4"> <entry action="menu-exec-app" digits="1" param="bridge sofia/$${domain}/888@conference.freeswitch.org"/> <entry action="menu-exec-app" digits="2" param="transfer 9196 XML default"/> <entry action="menu-exec-app" digits="3" param="transfer 1234*256 enum"/> <entry action="menu-sub" digits="4" param="demo_ivr_submenu"/> <entry action="menu-exec-app" digits="/^(10[01][0-9])$/" param="transfer $1 XML features"/> <entry action="menu-top" digits="9"/> </menu>
  • 45.
    New NLU andNLP approach Image source :nextiva.com
  • 46.
    NLP in forAuto attendants Applications : sentiment analysis Automatic essay assessment and scripting
  • 47.
  • 48.
    Features of OTTvs telecom providers Features by telecom providers ● Emergency dialing ● SMS / MMS ● Call ● Data ● VAS ● Billing ● DND
  • 49.
    Telco Industry Trends OTP( over the providers ) are largely responsible to cut down profits of telco providers by providing free internet based communication platforms Source : .mckinsey.com
  • 50.
    m Service Providersintegrating with voIP PSTN endpoints Gen band Telecom Providers Trunk Providers @alta nai VoIP Providers Internal PBX SIP endpo ints
  • 51.
    6. Debugging tools andQA 1. Chrome Dev tools 2. Selenium and Chrome driver 3. Wireshark 4. Tcpdump 5. VOIP clients 6. ffmpeg 7. test.webrtc.org -tbd- + Demo
  • 52.
    References Telecom R&D https://telecom.altanai.com/ Freeswitch examples https://github.com/altanai/freeswitchexamples KamailioExamples https://github.com/altanai/kamailioexamples Opensips Examples https://github.com/altanai/opensipsexamples
  • 53.