SlideShare a Scribd company logo
Asterisk SIP Channel
Performance
CHAN_SIP VERSUS CHAN_PJSIP
Links to Trainings and Books
Online Trainings
Complete Asterisk PBX Training Coupon http://bit.ly/2E6U7fP
Understanding and Troubleshooting SIP http://bit.ly/2WZKkzy
VoIP Design Training Coupon http://bit.ly/2tlLFmG
VoIP Hacking Training Coupon http://bit.ly/2X4Pjz7
Quick Start to OpenSIPS Coupon http://bit.ly/2Bt72XJ
Books
Complete Asterisk Training Paperback and Kindle Book https://amzn.to/2tm7TFb
Complete Asterisk Training eBook PDF http://bit.ly/2UUebHG
Building Telephony Systems with OpenSIPS http://bit.ly/2SsUt9a
Treinamento Online (Português)
SIP em Profundidade Coupon de Treinamento http://bit.ly/2GpatTq
Asterisk Essencial Coupon de Treinamento http://bit.ly/2BzCjs1
Livros
Guia e Configuração do Asterisk Paperback e Kindle https://amzn.to/2S2lwmZ
Guia de Configuração do Asterisk eBook PDF http://www.asteriskguide.com
SipPulse
o Softswitch Development
o We use Asterisk as a media server
o We are evaluating to change the architecture and force all calls thru Asterisk
o We are evaluating Asterisk for a distributed PBX system
o Is it good enough or the task?
Objectives
o Which SIP channel should I choose?
o Are there significant differences between versions?
o What performance should we expect?
Reasons to test
o Is Asterisk good enough for the load required?
o Publish data on channel performance?
Cautions
o Do not get in a controversy regarding channels and development
o Adopt a scientific approach, results are results!
o Replicability, Method and Tools available
Methodology
o Generate traffic until retransmissions start
o Decrease the traffic until stabilization
o To have a phone call with music on hold to monitor quality
o Same hardware for all tests
o Asterisk restart after each test
Failure CriteriaFailure Criteria
Max 5 retransmissions
CPU below 60%
Clear audio while in test
Sustained for at least 5 min
Max 5 retransmissions
CPU below 60%
Clear audio while in test
Sustained for at least 5 min
Tests
1. Call to an echo channel, no media
1. Requests per second (CAPS)
2. Call to an echo channel, with media
1. Requests per second (CAPS)
2. Simultaneous calls
3. Register without qualify
1. Registrations per second
4. Register with qualify (OPTIONS)
1. Registrations per second
Improvements
Only two
◦ max files=500000 on asterisk.conf
◦ Unnecessary channels unloaded (chan_iax2, chan_skinny....)
Test Device
Intel Quad-Core Celeron 2GHz
4 GB RAM
16GB SSD
Tools and assumptions
SIPP traffic generator
Average Call Duration 90s
No retransmissions for 300s (5 min)
Minor errors accepted in logs while audio is ok.
Test with no media or authentication
Command Line
sipp -s 1000 10.8.1.46:5060 -sn uac -i 10.8.1.46 -d 1000
extensions.conf
[from-internal]
exten=>1000,1,Answer()
exten=>1000,n,Echo()
exten=>1000,n,Hangup()
exten=9000,1,Answer();
exten=9000,n,MusicOnHold()
Echo Test without media
295 295 295
510 500
0
100
200
300
400
500
600
Asterisk 11 Asterisk 13 Asterisk 15
chan_sip chan_pjsip
... And the winner is chan_pjsip with * 13.17.2!
Echo test with media
Command line
sipp -s 1000 10.8.1.46:5060 -sf sipp_pcap.xml -i 10.8.1.46 -d 90000
Echo Test with media calls per second
35 35 35
34 34
33,4
33,6
33,8
34
34,2
34,4
34,6
34,8
35
35,2
Asterisk 11 Asterisk 13 Asterisk 15
chan_sip chan_pjsip
Echo Test with Media chan_sip
Echo Test with Media chan_pjsip
Registration chan_pjsip (1 account)
Registrations using chan_sip (1 account)
Registrations using chan_sip (4000
accounts)
Registrations using pjsip (4000 accounts)
CDR issues
o The first version I've used was asterisk certified/13.13-cert6
o No CDRs in csv format
Connected to Asterisk certified/13.13-cert6 currently running on asterisk (pid = 31381)
[Oct 3 10:56:40] NOTICE[31381]: confbridge/conf_config_parser.c:2094 verify_default_profiles: Adding default_menu menu
to app_confbridge
[Oct 3 10:56:41] NOTICE[31381]: cel_custom.c:97 load_config: No mappings found in cel_custom.conf. Not logging CEL to
custom CSVs.
Asterisk Ready.
asterisk*CLI> module show like cdr
Module Description Use Count Status Support Level
app_cdr.so Tell Asterisk to not maintain a CDR for 0 Running core
app_forkcdr.so Fork The CDR into 2 separate entities 0 Running core
cdr_adaptive_odbc.so Adaptive ODBC CDR backend 0 Running core
cdr_custom.so Customizable Comma Separated Values CDR 0 Running core
cdr_manager.so Asterisk Manager Interface CDR Backend 0 Running core
cdr_syslog.so Customizable syslog CDR Backend 0 Not Running core
func_cdr.so Call Detail Record (CDR) dialplan functi 0 Running core
7 modules loaded
CDR Issues
o In version 13.17.2, the CDRs were different
asterisk*CLI> module like cdr
No such command 'module like cdr' (type 'core show help module like cdr' for other possible commands)
asterisk*CLI> module show like cdr
Module Description Use Count Status Support Level
app_cdr.so Tell Asterisk to not maintain a CDR for 0 Running core
app_forkcdr.so Fork The CDR into 2 separate entities 0 Running core
cdr_adaptive_odbc.so Adaptive ODBC CDR backend 0 Running core
cdr_csv.so Comma Separated Values CDR Backend 0 Running extended
cdr_custom.so Customizable Comma Separated Values CDR 0 Running core
cdr_manager.so Asterisk Manager Interface CDR Backend 0 Running core
cdr_odbc.so ODBC CDR Backend 0 Running extended
cdr_pgsql.so PostgreSQL CDR Backend 0 Not Running extended
cdr_sqlite3_custom.so SQLite3 Custom CDR Module 0 Not Running extended
cdr_syslog.so Customizable syslog CDR Backend 0 Not Running core
cdr_tds.so FreeTDS CDR Backend 0 Not Running extended
func_cdr.so Call Detail Record (CDR) dialplan functi 0 Running core
Undesired CDR, SQLITE2?
root@asterisk:/var/lib/asterisk# sqlite sqlite.db
sqlite
32194|"sipp" <sipp>|sipp|1000|from-internal|SIP/10.8.1.46-
0000341d||Echo||2017-10-02 09:04:55|2017-10-02 09:04:55|2017-10-02
09:05:05|10|10|ANSWERED|DOCUMENTATION||1506945895.13341|
32195|"sipp" <sipp>|sipp|1000|from-internal|SIP/10.8.1.46-0000341e||E^C
SQL error: interrupted
sqlite> select count(*) from ast_cdr;
185659
sqlite>
Undesired CDR, SQLITE2?
Take Aways, lessons learned
o Stock asterisk is terrible, at least increase the number of max_files in asterisk.conf
oThe new pjsip is faster than chan_sip, performance is not an issue
o Asterisk 13 cert6 is broken when using qualify, use the latest
o Removing the sqlite2 almost doubled the number of calls per second
o Registrations performance decreased in newer versions
o The cause is not the channel, but sqlite3
o Performance is enough for media servers, gateways and even mid-range PBXs
o For multitenant, a middle registrar and a balancer are required

More Related Content

What's hot

VoLTE Interfaces , Protocols & IMS Stack Explained
VoLTE Interfaces , Protocols & IMS Stack ExplainedVoLTE Interfaces , Protocols & IMS Stack Explained
VoLTE Interfaces , Protocols & IMS Stack Explained
Vikas Shokeen
 
Attacking GRX - GPRS Roaming eXchange
Attacking GRX - GPRS Roaming eXchangeAttacking GRX - GPRS Roaming eXchange
Attacking GRX - GPRS Roaming eXchange
P1Security
 
UMTS/LTE/EPC Call Flows for CSFB
UMTS/LTE/EPC Call Flows for CSFBUMTS/LTE/EPC Call Flows for CSFB
UMTS/LTE/EPC Call Flows for CSFB
Justin MA (馬嘉昌)
 
Dataplane programming with eBPF: architecture and tools
Dataplane programming with eBPF: architecture and toolsDataplane programming with eBPF: architecture and tools
Dataplane programming with eBPF: architecture and tools
Stefano Salsano
 
User location tracking attacks for LTE networks using the Interworking Functi...
User location tracking attacks for LTE networks using the Interworking Functi...User location tracking attacks for LTE networks using the Interworking Functi...
User location tracking attacks for LTE networks using the Interworking Functi...
Siddharth Rao
 
XDP in Practice: DDoS Mitigation @Cloudflare
XDP in Practice: DDoS Mitigation @CloudflareXDP in Practice: DDoS Mitigation @Cloudflare
XDP in Practice: DDoS Mitigation @Cloudflare
C4Media
 
Netmanias L2,L3 Training (1) L2 Ethernet
Netmanias L2,L3 Training (1) L2 EthernetNetmanias L2,L3 Training (1) L2 Ethernet
Netmanias L2,L3 Training (1) L2 Ethernet
Chris Changmo Yoo
 
Bgp
BgpBgp
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Valeriy Kravchuk
 
Dpdk applications
Dpdk applicationsDpdk applications
Dpdk applications
Vipin Varghese
 
Call Routing in Huawei MSOFT
Call Routing in Huawei MSOFTCall Routing in Huawei MSOFT
Call Routing in Huawei MSOFT
emyl97
 
An Introduction to BGP Flow Spec
An Introduction to BGP Flow SpecAn Introduction to BGP Flow Spec
An Introduction to BGP Flow Spec
ShortestPathFirst
 
Implementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in AsteriskImplementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in Asterisk
Moises Silva
 
IMS ENUM and DNS Mechanism
IMS ENUM and DNS MechanismIMS ENUM and DNS Mechanism
IMS ENUM and DNS Mechanism
Kent Loh
 
Linux Network Stack
Linux Network StackLinux Network Stack
Linux Network Stack
Adrien Mahieux
 
Kamailio :: A Quick Introduction
Kamailio :: A Quick IntroductionKamailio :: A Quick Introduction
Kamailio :: A Quick Introduction
Olle E Johansson
 
A comparison of segment routing data-plane encodings
A comparison of segment routing data-plane encodingsA comparison of segment routing data-plane encodings
A comparison of segment routing data-plane encodings
Gunter Van de Velde
 
The Next Generation Firewall for Red Hat Enterprise Linux 7 RC
The Next Generation Firewall for Red Hat Enterprise Linux 7 RCThe Next Generation Firewall for Red Hat Enterprise Linux 7 RC
The Next Generation Firewall for Red Hat Enterprise Linux 7 RC
Thomas Graf
 
Three Ways Kamailio Can Help Your FreeSWITCH Deployment
Three Ways Kamailio Can Help Your FreeSWITCH DeploymentThree Ways Kamailio Can Help Your FreeSWITCH Deployment
Three Ways Kamailio Can Help Your FreeSWITCH Deployment
Fred Posner
 
Dpdk performance
Dpdk performanceDpdk performance
Dpdk performance
Stephen Hemminger
 

What's hot (20)

VoLTE Interfaces , Protocols & IMS Stack Explained
VoLTE Interfaces , Protocols & IMS Stack ExplainedVoLTE Interfaces , Protocols & IMS Stack Explained
VoLTE Interfaces , Protocols & IMS Stack Explained
 
Attacking GRX - GPRS Roaming eXchange
Attacking GRX - GPRS Roaming eXchangeAttacking GRX - GPRS Roaming eXchange
Attacking GRX - GPRS Roaming eXchange
 
UMTS/LTE/EPC Call Flows for CSFB
UMTS/LTE/EPC Call Flows for CSFBUMTS/LTE/EPC Call Flows for CSFB
UMTS/LTE/EPC Call Flows for CSFB
 
Dataplane programming with eBPF: architecture and tools
Dataplane programming with eBPF: architecture and toolsDataplane programming with eBPF: architecture and tools
Dataplane programming with eBPF: architecture and tools
 
User location tracking attacks for LTE networks using the Interworking Functi...
User location tracking attacks for LTE networks using the Interworking Functi...User location tracking attacks for LTE networks using the Interworking Functi...
User location tracking attacks for LTE networks using the Interworking Functi...
 
XDP in Practice: DDoS Mitigation @Cloudflare
XDP in Practice: DDoS Mitigation @CloudflareXDP in Practice: DDoS Mitigation @Cloudflare
XDP in Practice: DDoS Mitigation @Cloudflare
 
Netmanias L2,L3 Training (1) L2 Ethernet
Netmanias L2,L3 Training (1) L2 EthernetNetmanias L2,L3 Training (1) L2 Ethernet
Netmanias L2,L3 Training (1) L2 Ethernet
 
Bgp
BgpBgp
Bgp
 
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
 
Dpdk applications
Dpdk applicationsDpdk applications
Dpdk applications
 
Call Routing in Huawei MSOFT
Call Routing in Huawei MSOFTCall Routing in Huawei MSOFT
Call Routing in Huawei MSOFT
 
An Introduction to BGP Flow Spec
An Introduction to BGP Flow SpecAn Introduction to BGP Flow Spec
An Introduction to BGP Flow Spec
 
Implementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in AsteriskImplementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in Asterisk
 
IMS ENUM and DNS Mechanism
IMS ENUM and DNS MechanismIMS ENUM and DNS Mechanism
IMS ENUM and DNS Mechanism
 
Linux Network Stack
Linux Network StackLinux Network Stack
Linux Network Stack
 
Kamailio :: A Quick Introduction
Kamailio :: A Quick IntroductionKamailio :: A Quick Introduction
Kamailio :: A Quick Introduction
 
A comparison of segment routing data-plane encodings
A comparison of segment routing data-plane encodingsA comparison of segment routing data-plane encodings
A comparison of segment routing data-plane encodings
 
The Next Generation Firewall for Red Hat Enterprise Linux 7 RC
The Next Generation Firewall for Red Hat Enterprise Linux 7 RCThe Next Generation Firewall for Red Hat Enterprise Linux 7 RC
The Next Generation Firewall for Red Hat Enterprise Linux 7 RC
 
Three Ways Kamailio Can Help Your FreeSWITCH Deployment
Three Ways Kamailio Can Help Your FreeSWITCH DeploymentThree Ways Kamailio Can Help Your FreeSWITCH Deployment
Three Ways Kamailio Can Help Your FreeSWITCH Deployment
 
Dpdk performance
Dpdk performanceDpdk performance
Dpdk performance
 

Similar to Asterisk sip channel performance

05 module managing your network enviornment
05  module managing your network enviornment05  module managing your network enviornment
05 module managing your network enviornmentAsif
 
Industry’s performance leading ultra low-power dsp solution
Industry’s performance leading ultra low-power dsp solutionIndustry’s performance leading ultra low-power dsp solution
Industry’s performance leading ultra low-power dsp solution
Analog Devices, Inc.
 
Cloud Storage Introduction ( CEPH )
Cloud Storage Introduction ( CEPH )  Cloud Storage Introduction ( CEPH )
Cloud Storage Introduction ( CEPH )
Alex Lau
 
Build an affordable Cloud Stroage
Build an affordable Cloud StroageBuild an affordable Cloud Stroage
Build an affordable Cloud Stroage
Alex Lau
 
SignalFx Kafka Consumer Optimization
SignalFx Kafka Consumer OptimizationSignalFx Kafka Consumer Optimization
SignalFx Kafka Consumer Optimization
SignalFx
 
FreeBSD under DigitalOcean VPS
FreeBSD under DigitalOcean VPSFreeBSD under DigitalOcean VPS
FreeBSD under DigitalOcean VPS
Ryo ONODERA
 
OSSNA 2017 Performance Analysis Superpowers with Linux BPF
OSSNA 2017 Performance Analysis Superpowers with Linux BPFOSSNA 2017 Performance Analysis Superpowers with Linux BPF
OSSNA 2017 Performance Analysis Superpowers with Linux BPF
Brendan Gregg
 
Debugging linux issues with eBPF
Debugging linux issues with eBPFDebugging linux issues with eBPF
Debugging linux issues with eBPF
Ivan Babrou
 
Deep Dive on Amazon EC2
Deep Dive on Amazon EC2Deep Dive on Amazon EC2
Deep Dive on Amazon EC2
Amazon Web Services
 
Asterisksecuritykingasterisk 130723131448-phpapp01
Asterisksecuritykingasterisk 130723131448-phpapp01Asterisksecuritykingasterisk 130723131448-phpapp01
Asterisksecuritykingasterisk 130723131448-phpapp01
King Astreisk Technologies
 
Ccna cheat sheet
Ccna cheat sheetCcna cheat sheet
Ccna cheat sheetaromal4frnz
 
managing your network environment
managing your network environmentmanaging your network environment
managing your network environment
scooby_doo
 
Cisco CCENT Cram Notes
Cisco CCENT Cram NotesCisco CCENT Cram Notes
Cisco CCENT Cram Notes
Vijayanand Yadla
 
bcc/BPF tools - Strategy, current tools, future challenges
bcc/BPF tools - Strategy, current tools, future challengesbcc/BPF tools - Strategy, current tools, future challenges
bcc/BPF tools - Strategy, current tools, future challenges
IO Visor Project
 
BPF Tools 2017
BPF Tools 2017BPF Tools 2017
BPF Tools 2017
Brendan Gregg
 
2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB Workshop2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB WorkshopAntonio Mondragon
 
JS Fest 2018. Володимир Шиманський. Запуск двіжка JS на мікроконтролері
JS Fest 2018. Володимир Шиманський. Запуск двіжка JS на мікроконтролеріJS Fest 2018. Володимир Шиманський. Запуск двіжка JS на мікроконтролері
JS Fest 2018. Володимир Шиманський. Запуск двіжка JS на мікроконтролері
JSFestUA
 

Similar to Asterisk sip channel performance (20)

05 module managing your network enviornment
05  module managing your network enviornment05  module managing your network enviornment
05 module managing your network enviornment
 
Industry’s performance leading ultra low-power dsp solution
Industry’s performance leading ultra low-power dsp solutionIndustry’s performance leading ultra low-power dsp solution
Industry’s performance leading ultra low-power dsp solution
 
Log
LogLog
Log
 
Cloud Storage Introduction ( CEPH )
Cloud Storage Introduction ( CEPH )  Cloud Storage Introduction ( CEPH )
Cloud Storage Introduction ( CEPH )
 
Build an affordable Cloud Stroage
Build an affordable Cloud StroageBuild an affordable Cloud Stroage
Build an affordable Cloud Stroage
 
Introduction to Blackfin BF532 DSP
Introduction to Blackfin BF532 DSPIntroduction to Blackfin BF532 DSP
Introduction to Blackfin BF532 DSP
 
SignalFx Kafka Consumer Optimization
SignalFx Kafka Consumer OptimizationSignalFx Kafka Consumer Optimization
SignalFx Kafka Consumer Optimization
 
FreeBSD under DigitalOcean VPS
FreeBSD under DigitalOcean VPSFreeBSD under DigitalOcean VPS
FreeBSD under DigitalOcean VPS
 
OSSNA 2017 Performance Analysis Superpowers with Linux BPF
OSSNA 2017 Performance Analysis Superpowers with Linux BPFOSSNA 2017 Performance Analysis Superpowers with Linux BPF
OSSNA 2017 Performance Analysis Superpowers with Linux BPF
 
Debugging linux issues with eBPF
Debugging linux issues with eBPFDebugging linux issues with eBPF
Debugging linux issues with eBPF
 
Deep Dive on Amazon EC2
Deep Dive on Amazon EC2Deep Dive on Amazon EC2
Deep Dive on Amazon EC2
 
Asterisksecuritykingasterisk 130723131448-phpapp01
Asterisksecuritykingasterisk 130723131448-phpapp01Asterisksecuritykingasterisk 130723131448-phpapp01
Asterisksecuritykingasterisk 130723131448-phpapp01
 
What Is IVR ?
What Is IVR ?What Is IVR ?
What Is IVR ?
 
Ccna cheat sheet
Ccna cheat sheetCcna cheat sheet
Ccna cheat sheet
 
managing your network environment
managing your network environmentmanaging your network environment
managing your network environment
 
Cisco CCENT Cram Notes
Cisco CCENT Cram NotesCisco CCENT Cram Notes
Cisco CCENT Cram Notes
 
bcc/BPF tools - Strategy, current tools, future challenges
bcc/BPF tools - Strategy, current tools, future challengesbcc/BPF tools - Strategy, current tools, future challenges
bcc/BPF tools - Strategy, current tools, future challenges
 
BPF Tools 2017
BPF Tools 2017BPF Tools 2017
BPF Tools 2017
 
2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB Workshop2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB Workshop
 
JS Fest 2018. Володимир Шиманський. Запуск двіжка JS на мікроконтролері
JS Fest 2018. Володимир Шиманський. Запуск двіжка JS на мікроконтролеріJS Fest 2018. Володимир Шиманський. Запуск двіжка JS на мікроконтролері
JS Fest 2018. Володимир Шиманський. Запуск двіжка JS на мікроконтролері
 

More from Flavio Eduardo de Andrade Goncalves

Asterisk Complete Training
Asterisk Complete TrainingAsterisk Complete Training
Asterisk Complete Training
Flavio Eduardo de Andrade Goncalves
 
No More Fraud, Astricon, Las Vegas 2014
No More Fraud, Astricon, Las Vegas 2014No More Fraud, Astricon, Las Vegas 2014
No More Fraud, Astricon, Las Vegas 2014
Flavio Eduardo de Andrade Goncalves
 
No More Fraud Cluecon2014
No More Fraud Cluecon2014No More Fraud Cluecon2014
No More Fraud Cluecon2014
Flavio Eduardo de Andrade Goncalves
 
Number one-issue-voip-today-fraud
Number one-issue-voip-today-fraudNumber one-issue-voip-today-fraud
Number one-issue-voip-today-fraud
Flavio Eduardo de Andrade Goncalves
 
Asteriskem sistemasembarcados
Asteriskem sistemasembarcadosAsteriskem sistemasembarcados
Asteriskem sistemasembarcados
Flavio Eduardo de Andrade Goncalves
 
Call Center baseado em Asterisk
Call Center baseado em AsteriskCall Center baseado em Asterisk
Call Center baseado em Asterisk
Flavio Eduardo de Andrade Goncalves
 
Oreka, O Gravador VoIP Open Source
Oreka, O Gravador VoIP Open SourceOreka, O Gravador VoIP Open Source
Oreka, O Gravador VoIP Open Source
Flavio Eduardo de Andrade Goncalves
 
Asterisk casosdesucesso
Asterisk casosdesucessoAsterisk casosdesucesso
Asterisk casosdesucesso
Flavio Eduardo de Andrade Goncalves
 

More from Flavio Eduardo de Andrade Goncalves (8)

Asterisk Complete Training
Asterisk Complete TrainingAsterisk Complete Training
Asterisk Complete Training
 
No More Fraud, Astricon, Las Vegas 2014
No More Fraud, Astricon, Las Vegas 2014No More Fraud, Astricon, Las Vegas 2014
No More Fraud, Astricon, Las Vegas 2014
 
No More Fraud Cluecon2014
No More Fraud Cluecon2014No More Fraud Cluecon2014
No More Fraud Cluecon2014
 
Number one-issue-voip-today-fraud
Number one-issue-voip-today-fraudNumber one-issue-voip-today-fraud
Number one-issue-voip-today-fraud
 
Asteriskem sistemasembarcados
Asteriskem sistemasembarcadosAsteriskem sistemasembarcados
Asteriskem sistemasembarcados
 
Call Center baseado em Asterisk
Call Center baseado em AsteriskCall Center baseado em Asterisk
Call Center baseado em Asterisk
 
Oreka, O Gravador VoIP Open Source
Oreka, O Gravador VoIP Open SourceOreka, O Gravador VoIP Open Source
Oreka, O Gravador VoIP Open Source
 
Asterisk casosdesucesso
Asterisk casosdesucessoAsterisk casosdesucesso
Asterisk casosdesucesso
 

Recently uploaded

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 

Recently uploaded (20)

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 

Asterisk sip channel performance

  • 2. Links to Trainings and Books Online Trainings Complete Asterisk PBX Training Coupon http://bit.ly/2E6U7fP Understanding and Troubleshooting SIP http://bit.ly/2WZKkzy VoIP Design Training Coupon http://bit.ly/2tlLFmG VoIP Hacking Training Coupon http://bit.ly/2X4Pjz7 Quick Start to OpenSIPS Coupon http://bit.ly/2Bt72XJ Books Complete Asterisk Training Paperback and Kindle Book https://amzn.to/2tm7TFb Complete Asterisk Training eBook PDF http://bit.ly/2UUebHG Building Telephony Systems with OpenSIPS http://bit.ly/2SsUt9a Treinamento Online (Português) SIP em Profundidade Coupon de Treinamento http://bit.ly/2GpatTq Asterisk Essencial Coupon de Treinamento http://bit.ly/2BzCjs1 Livros Guia e Configuração do Asterisk Paperback e Kindle https://amzn.to/2S2lwmZ Guia de Configuração do Asterisk eBook PDF http://www.asteriskguide.com
  • 3. SipPulse o Softswitch Development o We use Asterisk as a media server o We are evaluating to change the architecture and force all calls thru Asterisk o We are evaluating Asterisk for a distributed PBX system o Is it good enough or the task?
  • 4. Objectives o Which SIP channel should I choose? o Are there significant differences between versions? o What performance should we expect?
  • 5. Reasons to test o Is Asterisk good enough for the load required? o Publish data on channel performance?
  • 6. Cautions o Do not get in a controversy regarding channels and development o Adopt a scientific approach, results are results! o Replicability, Method and Tools available
  • 7. Methodology o Generate traffic until retransmissions start o Decrease the traffic until stabilization o To have a phone call with music on hold to monitor quality o Same hardware for all tests o Asterisk restart after each test
  • 8. Failure CriteriaFailure Criteria Max 5 retransmissions CPU below 60% Clear audio while in test Sustained for at least 5 min Max 5 retransmissions CPU below 60% Clear audio while in test Sustained for at least 5 min
  • 9. Tests 1. Call to an echo channel, no media 1. Requests per second (CAPS) 2. Call to an echo channel, with media 1. Requests per second (CAPS) 2. Simultaneous calls 3. Register without qualify 1. Registrations per second 4. Register with qualify (OPTIONS) 1. Registrations per second
  • 10. Improvements Only two ◦ max files=500000 on asterisk.conf ◦ Unnecessary channels unloaded (chan_iax2, chan_skinny....)
  • 11. Test Device Intel Quad-Core Celeron 2GHz 4 GB RAM 16GB SSD
  • 12. Tools and assumptions SIPP traffic generator Average Call Duration 90s No retransmissions for 300s (5 min) Minor errors accepted in logs while audio is ok.
  • 13. Test with no media or authentication Command Line sipp -s 1000 10.8.1.46:5060 -sn uac -i 10.8.1.46 -d 1000 extensions.conf [from-internal] exten=>1000,1,Answer() exten=>1000,n,Echo() exten=>1000,n,Hangup() exten=9000,1,Answer(); exten=9000,n,MusicOnHold()
  • 14. Echo Test without media 295 295 295 510 500 0 100 200 300 400 500 600 Asterisk 11 Asterisk 13 Asterisk 15 chan_sip chan_pjsip
  • 15. ... And the winner is chan_pjsip with * 13.17.2!
  • 16. Echo test with media Command line sipp -s 1000 10.8.1.46:5060 -sf sipp_pcap.xml -i 10.8.1.46 -d 90000
  • 17. Echo Test with media calls per second 35 35 35 34 34 33,4 33,6 33,8 34 34,2 34,4 34,6 34,8 35 35,2 Asterisk 11 Asterisk 13 Asterisk 15 chan_sip chan_pjsip
  • 18. Echo Test with Media chan_sip
  • 19. Echo Test with Media chan_pjsip
  • 22. Registrations using chan_sip (4000 accounts)
  • 23. Registrations using pjsip (4000 accounts)
  • 24. CDR issues o The first version I've used was asterisk certified/13.13-cert6 o No CDRs in csv format Connected to Asterisk certified/13.13-cert6 currently running on asterisk (pid = 31381) [Oct 3 10:56:40] NOTICE[31381]: confbridge/conf_config_parser.c:2094 verify_default_profiles: Adding default_menu menu to app_confbridge [Oct 3 10:56:41] NOTICE[31381]: cel_custom.c:97 load_config: No mappings found in cel_custom.conf. Not logging CEL to custom CSVs. Asterisk Ready. asterisk*CLI> module show like cdr Module Description Use Count Status Support Level app_cdr.so Tell Asterisk to not maintain a CDR for 0 Running core app_forkcdr.so Fork The CDR into 2 separate entities 0 Running core cdr_adaptive_odbc.so Adaptive ODBC CDR backend 0 Running core cdr_custom.so Customizable Comma Separated Values CDR 0 Running core cdr_manager.so Asterisk Manager Interface CDR Backend 0 Running core cdr_syslog.so Customizable syslog CDR Backend 0 Not Running core func_cdr.so Call Detail Record (CDR) dialplan functi 0 Running core 7 modules loaded
  • 25. CDR Issues o In version 13.17.2, the CDRs were different asterisk*CLI> module like cdr No such command 'module like cdr' (type 'core show help module like cdr' for other possible commands) asterisk*CLI> module show like cdr Module Description Use Count Status Support Level app_cdr.so Tell Asterisk to not maintain a CDR for 0 Running core app_forkcdr.so Fork The CDR into 2 separate entities 0 Running core cdr_adaptive_odbc.so Adaptive ODBC CDR backend 0 Running core cdr_csv.so Comma Separated Values CDR Backend 0 Running extended cdr_custom.so Customizable Comma Separated Values CDR 0 Running core cdr_manager.so Asterisk Manager Interface CDR Backend 0 Running core cdr_odbc.so ODBC CDR Backend 0 Running extended cdr_pgsql.so PostgreSQL CDR Backend 0 Not Running extended cdr_sqlite3_custom.so SQLite3 Custom CDR Module 0 Not Running extended cdr_syslog.so Customizable syslog CDR Backend 0 Not Running core cdr_tds.so FreeTDS CDR Backend 0 Not Running extended func_cdr.so Call Detail Record (CDR) dialplan functi 0 Running core
  • 26. Undesired CDR, SQLITE2? root@asterisk:/var/lib/asterisk# sqlite sqlite.db sqlite 32194|"sipp" <sipp>|sipp|1000|from-internal|SIP/10.8.1.46- 0000341d||Echo||2017-10-02 09:04:55|2017-10-02 09:04:55|2017-10-02 09:05:05|10|10|ANSWERED|DOCUMENTATION||1506945895.13341| 32195|"sipp" <sipp>|sipp|1000|from-internal|SIP/10.8.1.46-0000341e||E^C SQL error: interrupted sqlite> select count(*) from ast_cdr; 185659 sqlite>
  • 28. Take Aways, lessons learned o Stock asterisk is terrible, at least increase the number of max_files in asterisk.conf oThe new pjsip is faster than chan_sip, performance is not an issue o Asterisk 13 cert6 is broken when using qualify, use the latest o Removing the sqlite2 almost doubled the number of calls per second o Registrations performance decreased in newer versions o The cause is not the channel, but sqlite3 o Performance is enough for media servers, gateways and even mid-range PBXs o For multitenant, a middle registrar and a balancer are required