Why Lua is a good choice for Scripting call configurations in SIP servers like Kamailio and Freeswitch

Programing in SIP servers enables the IP telephony provider to add complex control that is difficult to realise with simple dialplan XML and IVR menus. These are best handled by using a program that is compiled with the telecom application server and invoked by SIP requests or responses in the session. This may include using … Continue reading Why Lua is a good choice for Scripting call configurations in SIP servers like Kamailio and Freeswitch

Kamailio DNS and NAT

DNS sub-system in Kamailio DNS failover DNS load balancing NAT ( Network Address Translation) NAT ( Network Address Translation) Why is NAT is important in SIP? Types of NAT solutions NAT behaviours RTP NAT Fixing NAT NAT Traversal Module Why use keepalive when Registrations are already there for NATing ? How keepalives work for NATing … Continue reading Kamailio DNS and NAT

Kamailio WebRTC SIP Server

Kamailio TLS module Websocket module RTPengine JSSIP JSSIP WebRTC client for kamailio SIP over WEBSOCKET messages and kamailio processing REGISTER sip JSSIP UA Kamailio REGISTRAR INVITE + SDP 100 trying from callee 180 ringing from Callee 200 ok + SDP Kamailio’s reply_route ACK The purpose of this article is to demo the process of using … Continue reading Kamailio WebRTC SIP Server

Lua Scripts for kamailio Routing

Kamailio uses a native scripting laguage for its configuration file kamailio.cfg . This components of this file are : global parameters loading modules module parameters routing blocks like request_route {…}, reply_route {…}, branch_route {…} etc These parameters including initialization event routes , are interpeted and loaded at kamailio startup. We know that restart of sip … Continue reading Lua Scripts for kamailio Routing

RTPengine on kamailio SIP server

RTPengine is a proxy for RTP traffic and other UDP based media traffic over either IPv4 or IPv6. It can even bridge between diff IP networks and interfaces . It can do TOS/QoS field setting. It is Multi-threaded , can advertise different addresses for operation behind NAT.

Kamailio as Inbound/Outbound proxy or Session Border Controller (SBC)

role of an SBC is to shield the core network from external entities such as user agent’s , carrier network while also providing security , auth and accounting services . In many cases SBC also provides NAT traversal and policy control features ( such as rate limiting , ACL etc ) . In advanced cases transcoding, topology concealment and load balancing is also achievable via a SBC such as Kamailio .

Telephony Solutions with Kamailio

Rich features set suiting to telephony domain that includes IMS extensions for VoLTE; ENUM; DID and least cost routing; load balancing; routing fail-over; Json and XMLRPC control interface, SNMP monitoring.
To integrate with a carrier grade telecom network as SBC / gateway / inbound/outbound proxy , it can act as IPv4-IPv6 gateway , UDP/TCP/SCTP/WS translator and even had NAT and anti DOS attack support .

Proxying Media Streams via Kamailio’s RTP Proxy

Kamailio is a SIP server which does not play any role by itself in media transmission path. this behaviour leads to media packets having to attempt to stream peer to peer between caller and callee which in turn many a times causes them to get dropped in absence of NAT management To ensure that media … Continue reading Proxying Media Streams via Kamailio’s RTP Proxy

Kamailio Call routing and Control

Kamailio SIP server evolved from SER and OpenSER. Written in ANSI C , primarily it is an open source proxy SIP server. RFC 3261 compliant and has support for various Operating system to install and run on as alpine , centos , deb , fedora , freebsd , netbsd , obs , openbsd , opensuse … Continue reading Kamailio Call routing and Control

Kamailio Transaction management and Transaction Module tm

Kamailio is basically only a transaction stateful proxy, without any dialog support build in. Here the TM module enables stateful processing of SIP transactions. State is a requirement for many complex logic such as accounting, forking , DNS resolution

High availiability and Scalibility in VoIP platforms

Load Balancers MPLS Service-discovery Keepalive, unregistering unhealthy nodes Replication Data Store Replication Quick Response / Low latency Scalability autoscalling Partitioining Multiple PoPs (point of presence) Minimal Latency and lowest amount of tarffic via public internet High availiability (HA) 5 9’s in aggregate failures HA for Load balancer (LB) HA for Call Control app server Media … Continue reading High availiability and Scalibility in VoIP platforms

EEP (formely HEP) Extensible Encapsulation Protocol with HOMER

EEP duplicates and IP datagram and encapsulates and sends for remote relatime monitoring for SIP specific alerts and notifications . HEP is popular among many SIP servers including Freeswitch , Opensips , kamailio , RTP engine as an external module .

  • intended for passive duplicated for remote collection
  • can be used for audit storage and analysis
  • does not alter the orignal datagram or headers

HOMER is Packet and Event capture system popular fpr VOIP/RTC Monitoring based on HEP/EEP (Extensible Encapsulation protocol)

SIP Trunks

With the dawn of IP telephony service and cloud communication platforms in recent years, the SIP has caught the attention of many application developers. while SIP is essentially a session management multimedia signalling protocol its generic stack can be used for various use cases from IoT camera streaming sessions to call centres even auto calling … Continue reading SIP Trunks