Kamailio can help a FreeSWITCH deployment in three ways: 1) Using the DISPATCHER module for carrier and internal routing which provides load balancing and failover capabilities, 2) Using the PERMISSIONS module for IP-based access control lists for routing, registrations, and permissions, and 3) Using the HTABLE module for caching and storing data in-memory for improved performance and scalability. Kamailio offers high performance, scalability, and security features that can enhance an existing FreeSWITCH system.
Kamailio is the leading Open Source SIP Server - a SIP proxy, registrar, location server, presence server, IMS server and much more. Find out more by viewing this quick presentation! (Updated June 2014)
Kamailio combined with Asterisk creates and incredibly robust and durable VoIP framework. With scalability and security, adding Kamailio to an asterisk deployment makes sense and saves money.
Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...Fred Posner
Presentation from AsteriskWorld 2017 at ITEXPO. Discussion of how I started with Asterisk and Kamailio as well as how to build Reliability, Scalability, and Security into your telephony platform.
Kamailio is the leading Open Source SIP Server - a SIP proxy, registrar, location server, presence server, IMS server and much more. Find out more by viewing this quick presentation! (Updated June 2014)
Kamailio combined with Asterisk creates and incredibly robust and durable VoIP framework. With scalability and security, adding Kamailio to an asterisk deployment makes sense and saves money.
Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...Fred Posner
Presentation from AsteriskWorld 2017 at ITEXPO. Discussion of how I started with Asterisk and Kamailio as well as how to build Reliability, Scalability, and Security into your telephony platform.
Scaling FreeSWITCH to high cps and number of concurrent calls.
You'll learn about how the FreeSWITCH internals work and how to tweak them to improve different call scenarios. You'll learn about OS and environment changes that can help to remove bottlenecks and ensure audio quality.
Cluecon 2015
Use of external controller applications to fetch the next routes and let Kamailio handle the SIP layer.
Example with Node.js external application and evapi+rtjson modules in Kamailio
Homer - Workshop at Kamailio World 2017Giacomo Vacca
Homer is an Open Source tool for real-time analysis and monitoring of VoIP and RTC platforms. It supports all the major OSS voice platforms, it's modular, easy to install and scales to carrier-grade infrastructures. Homer goes beyond collecting and correlating signalling and logs, and can also capture RTCP reports, QoS reports, and other events. Through an ElasticSearch endpoint, Homer supports BigData analysis of traffic.
This workshop focuses on the deployment of a multi-node Homer framework with various approaches: bash installers, Docker containers, Puppet.
We'll see how to configure Kamailio, FreeSWITCH (including the ESL interface), RTPEngine, Janus gateway (Events API), to collect signalling, RTCP reports, app-specific events and have them correlated and presented in a user-friendly GUI.
For advanced users, we'll present the installation of captagent, the standalone capture agent, hepgen.js to generate test traffic, and a Wireshark dissector to have full visibility of data flows.
Presentation done at Kamailio World 2013, Berlin, Germany - several options for scalability of SIP routing with Kamailio, from configuration file tricks to stateless and stateful load balancing with dispatcher module.
Getting started with SIP Express Media Server SIP app server and SBC - workshopstefansayer
How to configure a SEMS instance for offering common media services such as announcements, voicemail, audio conferencing and IVR menus, and how to use the powerful and flexible SBC application, the "Swiss Army Knife of call stateful SIP processing".
A quick introduction to Kamailio - the leading Open Source SIP server (based on OpenSER and SER). Kamailio is quite different than Asterisk, FreeSwitch and many other VoIP platforms - why is that and how do you start getting your head around Kamailio?
Introduction to Kamailio (TADSummit 2020 Asia)Fred Posner
Quick introduction to Kamailio, the open source SIP server (https://www.kamailio.org).
Kamailio® (successor of former OpenSER and SER) is an Open Source SIP Server released under GPL, able to handle thousands of call setups per second. Kamailio can be used to build large platforms for VoIP and realtime communications – presence, WebRTC, Instant messaging and other applications. Moreover, it can be easily used for scaling up SIP-to-PSTN gateways, PBX systems or media servers like Asterisk™, FreeSWITCH™ or SEMS.
Talk given at ClueCon 2016 that discusses FreeSWITCH and its place in a microservices architecture. Covers a specific deployment case using Docker and Adhearsion, along with certain features that make FreeSWITCH a model use-case for such a technology stack.
Attacking and defending GraphQL applications: a hands-on approachDavide Cioccia
DevSecCon Seatlle 2019 - Workshop
The workshop is meant for developers, architects and security folks. During the workshop we will learn how to setup a GraphQL project, define a schema, create Query, Mutation and Subscription for a "fake" social network. We will learn what are the main security issues to consider when developing a GraphQL application:
Introspection: information disclosure
/graphql as a single point of failure (DoS attacks)
IDOR
Broken Access control
Injections
Once we get familiar with the issues, we will explain how to avoid it and/or fix it.
Scaling FreeSWITCH to high cps and number of concurrent calls.
You'll learn about how the FreeSWITCH internals work and how to tweak them to improve different call scenarios. You'll learn about OS and environment changes that can help to remove bottlenecks and ensure audio quality.
Cluecon 2015
Use of external controller applications to fetch the next routes and let Kamailio handle the SIP layer.
Example with Node.js external application and evapi+rtjson modules in Kamailio
Homer - Workshop at Kamailio World 2017Giacomo Vacca
Homer is an Open Source tool for real-time analysis and monitoring of VoIP and RTC platforms. It supports all the major OSS voice platforms, it's modular, easy to install and scales to carrier-grade infrastructures. Homer goes beyond collecting and correlating signalling and logs, and can also capture RTCP reports, QoS reports, and other events. Through an ElasticSearch endpoint, Homer supports BigData analysis of traffic.
This workshop focuses on the deployment of a multi-node Homer framework with various approaches: bash installers, Docker containers, Puppet.
We'll see how to configure Kamailio, FreeSWITCH (including the ESL interface), RTPEngine, Janus gateway (Events API), to collect signalling, RTCP reports, app-specific events and have them correlated and presented in a user-friendly GUI.
For advanced users, we'll present the installation of captagent, the standalone capture agent, hepgen.js to generate test traffic, and a Wireshark dissector to have full visibility of data flows.
Presentation done at Kamailio World 2013, Berlin, Germany - several options for scalability of SIP routing with Kamailio, from configuration file tricks to stateless and stateful load balancing with dispatcher module.
Getting started with SIP Express Media Server SIP app server and SBC - workshopstefansayer
How to configure a SEMS instance for offering common media services such as announcements, voicemail, audio conferencing and IVR menus, and how to use the powerful and flexible SBC application, the "Swiss Army Knife of call stateful SIP processing".
A quick introduction to Kamailio - the leading Open Source SIP server (based on OpenSER and SER). Kamailio is quite different than Asterisk, FreeSwitch and many other VoIP platforms - why is that and how do you start getting your head around Kamailio?
Introduction to Kamailio (TADSummit 2020 Asia)Fred Posner
Quick introduction to Kamailio, the open source SIP server (https://www.kamailio.org).
Kamailio® (successor of former OpenSER and SER) is an Open Source SIP Server released under GPL, able to handle thousands of call setups per second. Kamailio can be used to build large platforms for VoIP and realtime communications – presence, WebRTC, Instant messaging and other applications. Moreover, it can be easily used for scaling up SIP-to-PSTN gateways, PBX systems or media servers like Asterisk™, FreeSWITCH™ or SEMS.
Talk given at ClueCon 2016 that discusses FreeSWITCH and its place in a microservices architecture. Covers a specific deployment case using Docker and Adhearsion, along with certain features that make FreeSWITCH a model use-case for such a technology stack.
Attacking and defending GraphQL applications: a hands-on approachDavide Cioccia
DevSecCon Seatlle 2019 - Workshop
The workshop is meant for developers, architects and security folks. During the workshop we will learn how to setup a GraphQL project, define a schema, create Query, Mutation and Subscription for a "fake" social network. We will learn what are the main security issues to consider when developing a GraphQL application:
Introspection: information disclosure
/graphql as a single point of failure (DoS attacks)
IDOR
Broken Access control
Injections
Once we get familiar with the issues, we will explain how to avoid it and/or fix it.
A lot of folks doing testing (QAs, BAs, and Devs alike) are experienced with testing applications through the front end—a graphical user interface or a mobile app. However, Hilary Weaver-Robb says that with this type of testing we often miss the internal web services and APIs that power those applications. Integration or web service tests are right in the middle of the Testing Pyramid, so to ensure adequate coverage it’s vital for testers to know how to test at that level. Thankfully, to test web services we can apply many of the same principles we already know. Hilary focuses on RESTful web services, though what she covers is applicable to non-RESTful web services as well. Learn what RESTful services are and why you should care, how and why to do functional and exploratory testing, and how to automate some tests. Take away the understanding, resources, tools, and techniques needed to test and write automation for web services—RESTful or not.
Matt "Grizz" Griswold and Chris Grundemann are both IX founders, internetworking experts, and automation proponents. With around 4 decades of combined experience they are now turning to sharing what they've learned about automating BGP and interconnection through a set of open source tools, along with support and services for those that need it.
This talk will share what they have learned both from personal experience as well as through dozens of recent interviews with IX operators and interconnection engineers over the past several months. Including common challenges and best practices.
The highlight of the talk will be announcing and describing two open source automation tools built to make interconnection and BGP easier for everyone. One is ixCtl, which is built to automate the most common and problematic tasks involved in running an internet exchange point, particularly configuring and managing secure route servers. The other is PeerCtl, which is built to automate the most common and problematic tasks involved in interconnecting an AS; from bilateral and multilateral peering to PNI and also transit connections.
Code for both (along with several other tools) is available on GitHub: https://github.com/fullctl
Triggers, more specifically DML triggers, are blocks of code that run automatically when the associated event occurs on a table. Some developers use them a lot. Many others say “Never use triggers!” What’s a DB dev to do?
In our September 3 2019 PL/SQL Office Hours, Chris Saxon and Steven Feuerstein explore some of the nuances of triggers and have a BIG ARGUMENT over how and when they should be used. Well, OK, maybe not a BIG argument. But we’ll be happy to argue with anyone who shows up. Well, not ARGUE, exactly.
Guest appearances from Toon Koppelaars, of the Oracle Real World Performance Team, and Jacek Gebal of utPLSQL v3 fame.
Here are the slides.
Managing your own PostgreSQL servers is sometimes a burden your business does not want. In this talk we will provide an overview of some of the public cloud offerings available for hosted PostgreSQL and discuss a number of strategies for migrating your databases with a minimum of downtime.
Wireless technology is inherently insecure in general, however this presentation details some unconventional attacks that have been around for years but are still incredibly effective. Discussing the basics of AP cloning, abusing captive portals, and more.
A lot of folks doing testing (QAs, BAs, and Devs alike) are experienced with testing applications through the front end—a graphical user interface or a mobile app. However, Hilary Weaver-Robb says that with this type of testing we often miss the internal web services and APIs that power those applications. Integration or web service tests are right in the middle of the Testing Pyramid, so to ensure adequate coverage it’s vital for testers to know how to test at that level. Thankfully, to test web services we can apply many of the same principles we already know. Hilary focuses on RESTful web services, though what she covers is applicable to non-RESTful web services as well. Learn what RESTful services are and why you should care, how and why to do functional and exploratory testing, and how to automate some tests. Take away the understanding, resources, tools, and techniques needed to test and write automation for web services—RESTful or not.
Presentation by Haroon Meer, Roelof Tammingh at black hat USA in 2006.
This presentation is about Suru, the inline proxy tool developed by Roelof Tammingh. How it works and some of it's features are discussed.
PostgreSQL's is one of the finest database systems available.
The talk will cover the history, the basic concepts of the PostgreSQL's architecture and the how the community behind the "the most advanced open source database" works.
Student information management system project report ii.pdfKamal Acharya
Our project explains about the student management. This project mainly explains the various actions related to student details. This project shows some ease in adding, editing and deleting the student details. It also provides a less time consuming process for viewing, adding, editing and deleting the marks of the students.
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)MdTanvirMahtab2
This presentation is about the working procedure of Shahjalal Fertilizer Company Limited (SFCL). A Govt. owned Company of Bangladesh Chemical Industries Corporation under Ministry of Industries.
Explore the innovative world of trenchless pipe repair with our comprehensive guide, "The Benefits and Techniques of Trenchless Pipe Repair." This document delves into the modern methods of repairing underground pipes without the need for extensive excavation, highlighting the numerous advantages and the latest techniques used in the industry.
Learn about the cost savings, reduced environmental impact, and minimal disruption associated with trenchless technology. Discover detailed explanations of popular techniques such as pipe bursting, cured-in-place pipe (CIPP) lining, and directional drilling. Understand how these methods can be applied to various types of infrastructure, from residential plumbing to large-scale municipal systems.
Ideal for homeowners, contractors, engineers, and anyone interested in modern plumbing solutions, this guide provides valuable insights into why trenchless pipe repair is becoming the preferred choice for pipe rehabilitation. Stay informed about the latest advancements and best practices in the field.
Water scarcity is the lack of fresh water resources to meet the standard water demand. There are two type of water scarcity. One is physical. The other is economic water scarcity.
Overview of the fundamental roles in Hydropower generation and the components involved in wider Electrical Engineering.
This paper presents the design and construction of hydroelectric dams from the hydrologist’s survey of the valley before construction, all aspects and involved disciplines, fluid dynamics, structural engineering, generation and mains frequency regulation to the very transmission of power through the network in the United Kingdom.
Author: Robbie Edward Sayers
Collaborators and co editors: Charlie Sims and Connor Healey.
(C) 2024 Robbie E. Sayers
4. ClueCon 2019 – Chicago, IL
Agenda
1. Brief description of Kamailio
2. Use DISPATCHER for carrier and internal routing
3. Use PERMISSIONS instead of ACL
4. Use HTABLE for all the things
6. ClueCon 2019 – Chicago, IL
Fred’s Phases of Learning SIP
1. WTF is this matrix shit?
2. Oh, it’s like HTTP
3. (After FreeSWITCH) Oh, I
get it
4. SIP is pretty straight
forward
5. (After Kamailio) oh dear
god I was wrong
6. What level of hell is this?
7. Ok... I’m getting it again
8. One truly never knows
everything about SIP
7. ClueCon 2019 – Chicago, IL
What is Kamailio?
●
Very, very fast
●
Hundreds of Thousands
of registrations
●
1000’s of cps
10. ClueCon 2019 – Chicago, IL
DISPATCHER Module
●
Group nodes in logical
sets
●
Probing of nodes
(actionable)
11. ClueCon 2019 – Chicago, IL
DISPATCHER Module
●
Probing auto-detects failures
●
Failures can be updated on
status code as well (5xx, 4xx,
etc).
●
Fails over to next node in
group
12. ClueCon 2019 – Chicago, IL
DISPATCHER Module
route[DISPATCH] {
if(!ds_select_dst("1", "4")) { # round robin on group 1
send_reply("404", "No destination");
exit;
}
t_on_failure("RTF_DISPATCH");
route(RELAY);
exit;
}
failure_route[RTF_DISPATCH] {
if (t_is_canceled()) {
exit;
}
# 500 error or timeout
if (t_check_status("500")
or (t_branch_timeout() and !t_branch_replied())) {
if(ds_next_dst()) {
t_on_failure("RTF_DISPATCH");
route(RELAY);
exit;
}
}
}
➔
https://www.kamailio.org/docs/modules/stable/modules/dispatcher.html
16. ClueCon 2019 – Chicago, IL
PERMISSIONS Module
●
File or DB
●
Can run by function or
logical groupings
●
Port, Protocol, Address
●
Reloadable
17. ClueCon 2019 – Chicago, IL
PERMISSIONS Module
// Check if source address/port is in group 1
if (!allow_address("1", "$si", "$sp")) {
sl_send_reply("403", "Forbidden");
};
...
if (allow_trusted()) {
t_relay();
}
...
if (allow_trusted("$si", "$proto")) {
t_relay();
}
19. ClueCon 2019 – Chicago, IL
“If you’re not using HTABLE,
you’re doing something wrong.”
—@miconda
20. ClueCon 2019 – Chicago, IL
HTABLE Module
●
Hash Table Containers
●
Stored in memory
●
Automatic Replication
(DMQ)
21. ClueCon 2019 – Chicago, IL
HTABLE Module
You can use HTABLE to block bad traffic...
Config:
# ----- htable params -----
/* ip ban htable with
autoexpire after 5 minutes */
modparam("htable", "htable",
"ipban=>size=8;autoexpire=300;
")
if(src_ip!=myself) {
if($sht(ipban=>$si)!=$null) {
# ip is already blocked
xdbg("request from blocked IP n");
exit;
}
if (!pike_check_req()) {
xlog("L_ALERT","ALERT: pike blocking $rm from
$fu (IP:$si:$sp)n");
$sht(ipban=>$si) = 1;
exit;
}
}
22. ClueCon 2019 – Chicago, IL
HTABLE Module
You can use HTABLE to
cache authentication…
modparam("htable", "htable",
"auth=>size=10;autoexpire=300;")
modparam("auth_db", "load_credentials",
"$avp(password)=password")
route[AUTHCACHE]{
if($sht(auth=>$au::passwd)!=$null) {
if (!pv_auth_check("$fd",
"$sht(auth=>$au::passwd)", "0", "1")) {
auth_challenge("$fd", “1”);
exit;
}
} else {
# authenticate requests
if (!auth_check("$fd", "subscriber", "1")) {
auth_challenge("$fd", "0");
exit;
}
$sht(auth=>$au::passwd) = $avp(password);
}
# user authenticated - remove auth header
if(!is_method("REGISTER|PUBLISH"))
consume_credentials();
}
23. ClueCon 2019 – Chicago, IL
HTABLE Module
You can use HTABLE to cache
anything…
if (is_method("INVITE")) {
setflag(FLT_ACC); # do accounting
$sht(cps=>$ci) = "caps";
if ($sht(stats=>caps) < ($shtcv(cps=>==caps) / 10)) {
$sht(stats=>caps) = $shtcv(cps=>==caps) / 10;
}
}
if (is_method("REGISTER") || is_method("INVITE")) {
$sht(regs=>$si) = $sht(regs=>$si) + 1;
if($sht(regs=>$si)>15) {
xlog("L_INFO","more than 15 auths from $si n");
if(src_ip!=myself) {
xlog("L_INFO","blocking $rm from $fu (IP:$si:$sp)n");
exec_msg("/usr/local/etc/kamailio/matrix-
post.sh "LODVOIP: (more than 15 auths) blocking $rm from $fu
(IP:$si:$sp)"");
$sht(ipban=>$si) = 1;
}
send_reply(401, "Unauthorized AU");
exit;
}
}
24. ClueCon 2019 – Chicago, IL
3 Quick Ways to Help FreeSWITCH
1. DISPATCHER
2. PERMISSIONS
3. HTABLE
1. Stability
2. Security
3. Scalability
But, there’s so much more you can do…
25. ClueCon 2019 – Chicago, IL
Thank you!
●
See you in Berlin for...
Kamailio World!!!
●
Questions?
●
Contact
●
qxork.com / @fredposner
●
Cookies & More
●
BearBakeShop.com