The presentation is a compiled assembly from the SIP RFC' s, and original works of Alan Johnston and Henry Sinnreich . It contains Sip Detailed , Call flows , Architecture descriptions , SIP services , sip security , sip programming.
Brief introduction into SIP protocol, how it works, common problems to solve. Tech. details about handshake, SIP Trunks and SIP trunking. Market research.
The Session Initiation Protocol (SIP) is the dominant signaling protocol used in VoIP today. It is
responsible for the establishment, control and termination of sessions by exchanging ASCII-text-based
messages between the endpoints. This post goes through the basic components of SIP: messages and
logical entities.
This section is an introduction to SIP transactions and dialogs and is suitable for those who either are working with SIP at a basic level, perhaps debugging SIP scenarios, or people that just want to know a little more. If you wish to become a SIP expert, knowing transactions and dialogs is a must. Even if your life goal isn't to become an expert in SIP, knowing what transactions and dialogs are will be tremendously helpful as soon as you do anything related to SIP, such as developing your first little application using something like JSR289 or similar.
This presentation will go over:
- What is a transaction.
- When does a transaction begin and when does it end.
- What is the relation between a dialog and a transaction.
- When is a dialog established.
- Why do we need dialogs?
The presentation is a compiled assembly from the SIP RFC' s, and original works of Alan Johnston and Henry Sinnreich . It contains Sip Detailed , Call flows , Architecture descriptions , SIP services , sip security , sip programming.
Brief introduction into SIP protocol, how it works, common problems to solve. Tech. details about handshake, SIP Trunks and SIP trunking. Market research.
The Session Initiation Protocol (SIP) is the dominant signaling protocol used in VoIP today. It is
responsible for the establishment, control and termination of sessions by exchanging ASCII-text-based
messages between the endpoints. This post goes through the basic components of SIP: messages and
logical entities.
This section is an introduction to SIP transactions and dialogs and is suitable for those who either are working with SIP at a basic level, perhaps debugging SIP scenarios, or people that just want to know a little more. If you wish to become a SIP expert, knowing transactions and dialogs is a must. Even if your life goal isn't to become an expert in SIP, knowing what transactions and dialogs are will be tremendously helpful as soon as you do anything related to SIP, such as developing your first little application using something like JSR289 or similar.
This presentation will go over:
- What is a transaction.
- When does a transaction begin and when does it end.
- What is the relation between a dialog and a transaction.
- When is a dialog established.
- Why do we need dialogs?
If you don't know what SIP is, what it is used for or why you should even care then this is the section for you. This presentation will go over the very basics of SIP and assumes no previous knowledge of SIP or really any other network experience either. Topics it will touch upon is:
- What SIP is all about
- SIP and sessions management
- Basic call flow
- Brief discussion of SIP messages
- SIP and audio
Presented by: Muhammad Yeasir Arafat
ElastixWorld 2013
Today, the session initiation protocol (SIP) is the predominant protocol for IP Telephony Signalling. The intention of this paper is to present an overview of IP Telephony security issues - both current and future – focusing on SIP. We start by presenting some fundamental differences between IP Telephony and the public switched telephone network (PSTN). We then look at specific problems for SIP signalling that arise from these differences. We summarize current activities regarding SIP security, including recent developments in the research community and standardization efforts within the IETF. Finally, the paper gives an outlook on the security issues of IP Telephony.
Download paper at: http://elx.ec/ssiipt
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.
VoLTE Basic callflows in IMS network v2 - includes Registration, Basic VoLTE Call, SDP, Interconnect, Roaming, highlights important SIP headers for session routing and user identities.
ims registration call flow procedure volte sipVikas Shokeen
This PDF , VoLTE IMS Registration tutorial covers IMS Registration sip procedure in depth & Provides extract of 3GPP / GSMA Specs , I am covering below call flow in Depth :-
- LTE Attach & Default Internet EPS bearer
- Role of QCI-1 ( Voice ) , QCI-5 (SIP Signaling) , QCI-6 to 9 (Internet)
- Default Vs Dedicated Bearer in LTE
- Default IMS EPS bearer in LTE
- SIP and IMS Registration
- TAS Registration
Internet protocol (VoIP) is the technology of digitizing sound, compressing it, breaking it up into data packets, and sending it over an IP network.The conventional technique used for sending voice is PSTN (public switched telephone network) . As data traffic has higher speed than telephone traffic, so what we do most of the time we prefer to send voice over data networks. Voice over internet protocol (VoIP) is a method of telephone communication over a data network.
To fully appreciate SIP you need to understand its routing capabilities and how they enable SIP to traverse a network. These capabilities also help SIP deal with common network issues such as NAT and firewalls. SIP's flexible routing also enables features like application composition, a very valuable asset when designing, implementing, and building a loosely coupled system.
This presentation is for those that are looking to get a deeper understanding of SIP. Perhaps you have been tasked to spin up a completely new SIP infrastructure at work? Then you really need to understand how SIP finds its way through a network. By understanding the routing decisions SIP makes, you will be successful in your next SIP endeavor.
Questions that will be answered:
- How does a SIP request traverse the network?
- How do we know which transport to use?
- How do responses find their way back?
- Any difference for in-dialog requests?
If you don't know what SIP is, what it is used for or why you should even care then this is the section for you. This presentation will go over the very basics of SIP and assumes no previous knowledge of SIP or really any other network experience either. Topics it will touch upon is:
- What SIP is all about
- SIP and sessions management
- Basic call flow
- Brief discussion of SIP messages
- SIP and audio
Presented by: Muhammad Yeasir Arafat
ElastixWorld 2013
Today, the session initiation protocol (SIP) is the predominant protocol for IP Telephony Signalling. The intention of this paper is to present an overview of IP Telephony security issues - both current and future – focusing on SIP. We start by presenting some fundamental differences between IP Telephony and the public switched telephone network (PSTN). We then look at specific problems for SIP signalling that arise from these differences. We summarize current activities regarding SIP security, including recent developments in the research community and standardization efforts within the IETF. Finally, the paper gives an outlook on the security issues of IP Telephony.
Download paper at: http://elx.ec/ssiipt
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.
VoLTE Basic callflows in IMS network v2 - includes Registration, Basic VoLTE Call, SDP, Interconnect, Roaming, highlights important SIP headers for session routing and user identities.
ims registration call flow procedure volte sipVikas Shokeen
This PDF , VoLTE IMS Registration tutorial covers IMS Registration sip procedure in depth & Provides extract of 3GPP / GSMA Specs , I am covering below call flow in Depth :-
- LTE Attach & Default Internet EPS bearer
- Role of QCI-1 ( Voice ) , QCI-5 (SIP Signaling) , QCI-6 to 9 (Internet)
- Default Vs Dedicated Bearer in LTE
- Default IMS EPS bearer in LTE
- SIP and IMS Registration
- TAS Registration
Internet protocol (VoIP) is the technology of digitizing sound, compressing it, breaking it up into data packets, and sending it over an IP network.The conventional technique used for sending voice is PSTN (public switched telephone network) . As data traffic has higher speed than telephone traffic, so what we do most of the time we prefer to send voice over data networks. Voice over internet protocol (VoIP) is a method of telephone communication over a data network.
To fully appreciate SIP you need to understand its routing capabilities and how they enable SIP to traverse a network. These capabilities also help SIP deal with common network issues such as NAT and firewalls. SIP's flexible routing also enables features like application composition, a very valuable asset when designing, implementing, and building a loosely coupled system.
This presentation is for those that are looking to get a deeper understanding of SIP. Perhaps you have been tasked to spin up a completely new SIP infrastructure at work? Then you really need to understand how SIP finds its way through a network. By understanding the routing decisions SIP makes, you will be successful in your next SIP endeavor.
Questions that will be answered:
- How does a SIP request traverse the network?
- How do we know which transport to use?
- How do responses find their way back?
- Any difference for in-dialog requests?
Over the past 10 years the Session Initiation Protocol (SIP) has moved from the toy of researchers and academics to the de-facto standard for telephony and multimedia services in mobile and fixed networks.
Probably one of the most emotionally fraught discussions in the context of SIP was whether Session Border Controllers (SBC) are good or evil.
SIP was designed with the vision of revolutionizing the way communication services are developed, deployed and operated. Following the end-to-end spirit of the Internet SIP was supposed to turn down the walled gardens of PSTN networks and free communication services from the grip of large telecom operators. By moving the intelligence to the end systems, developers were supposed to be able to develop new communication services that will innovate the way we communicate with each other.
This was to be achieved without having to wait for the approval of the various telecommunication standardization groups such as ETSI or the support of incumbent telecoms.
Session border controllers are usually implemented as SIP Back-to-Back User Agents (B2BUA) that are placed between a SIP user agent and a SIP proxy. The SBC then acts as the contact point for both the user agents and the proxy. Thereby the SBC actually breaks the end-to-end behavior of SIP, which has led various people to deem the SBC as an evil incarnation of the old telecom way of thinking. Regardless of this opposition, SBCs have become a central part of any SIP deployment.
In this paper we will first give a brief overview of how SIP works and continue with a description of what SBCs do and the different use cases for deploying SBCs.
Short presentation that introduces the basic concepts of SIP.
Note, some of the slides requires animations and will therefore look strange when viewed without them (e.g., see slide 17). Email me if you want the full presentation and I'll send it to you...
The Voice over Internet Protocol (VoIP). The VoIP is relatively new and is gaining more and more popularity as it offers a
wide range of features and is much more cost effective as compared to the traditional PSTN. But the VoIP brings with it certain
security threats which need to be resolved in order to make it a more reliable source of communication. Session Initiation Protocol
(SIP) today is considered the standard protocol for multimedia signaling, and the result is a very generic protocol. SIP is specified by
the IETF in RFC 3261. From a structural and functional perspective, SIP is application layer signaling text-based protocol used for
creating, modifying, and terminating multimedia communications sessions among Internet endpoints. Unfortunately, SIP-based
application services can suffer from various security threats as Denial of Service (DoS). attacks on a SIP based VoIP infrastructure that
can severely compromise its reliability. In contrast, little work is done to analyze the robustness and reliability of SIP severs under
DoS attacks. In this survey, we are discussing the DoS flooding attack on SIP server. Firstly, we present a brief overview about the SIP
protocol. Then, security attacks related to SIP protocol. After that, detection techniques of SIP flooding attack and various exploited
resources due to attack were discussed and finally the paper reviews previous work done on SIP based DoS attacks.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
3. Call-ID
Call-ID is so called Call Identifier.
Globally Unique Identifier. Cryptographically random identifiers(RFC 1750) is
adopted to avoid traditional pseudo-random number pitfalls. Using
cryptographically random identifiers provides some protection against session
hijacking and reduces the likelihood of unintentional Call-ID collisions.
It MUST be the same for all requests and responses sent by either UA in a
dialog
Call-IDs are case-sensitive and are simply compared byte-by-byte.
A single multimedia conference can give rise to several calls with different
Call-IDs, for example, if a user invites a single individual several times to the
same (long-running) conference.
Examples:
Call-ID: f81d4fae-7dec-11d0-a765-00a0c91e6bf6@biloxi.com
i:f81d4fae-7dec-11d0-a765-00a0c91e6bf6@192.0.2.4
5. Cseq - Command Sequence
The CSeq header field serves as a way to identify and order transactions. It
consists of a sequence number and a method.
CSeq or Command Sequence contains an integer and a method name. The CSeq
number is incremented for each new request within a dialog and is a traditional
sequence number.
32-bit unsigned integer and MUST be less than 2**31. i.e within a single call, one
request a second for about 136 years before needing to wrap around. Also client
can choose from 1 or 31 most significant bits of a 32-bit second clock as an initial
sequence number
Exception - ACK and CANCEL
Example:
CSeq: 4711 INVITE
6. Via-Branch
The Via header field value MUST contain a branch parameter. The branch parameter
value MUST be unique. The exceptions to this rule are CANCEL and ACK for non-2xx
responses.
The branch ID inserted by an element compliant with this specification MUST always
begin with the characters "z9hG4bK". These 7 characters are used as a magic
cookie (7 is deemed sufficient to ensure that an older RFC 2543 implementation
would not pick such a value), so that servers receiving the request can determine
that the branch ID was constructed in the fashion described by this specification
(that is, globally unique).
It now plays the role of a unique transaction identifier. This requirement was added
to identify that the branch was created in accordance with RFC 3261 and not the
older RFC 2543 which did not require global uniqueness.
It’s Case Insensitive
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds
7. Via-Branch & Cseq –Response Matching
A response matches a client transaction under two conditions:
8. From-TAG
In the old SIP RFC, RFC 2543, the from-tag was optional and in RFC 3261, from-tag is
mandatory.
Call-ID is not necessarily unique for all new requests from the same UAC. It can be reused when,
for example, retrying an INVITE with credentials after receiving a 401 Unauthorized response.
From RFC 3261 §8.1.1.4:
Note that when requests are retried after certain failure responses ,these retried requests are
not considered new requests, and therefore do not need new Call-ID header fields;
Also For SIP Dialogue, It makes things symmetrical. It's easier to think about the dialog ID when
your dialog always has a local-tag and remote-tag, whether you were the initiator of the dialog or
not. And It's also easier to distinguish between initial and subsequent requests in a dialog, i.e. if
no to-tag then it must be an initial request
Also It’s Serves purpose for “The Join header is used to logically join an existing SIP dialog with a
new SIP dialog SIP dialog (using call-id, to-tag, and from-tag)
i.e Actually we don’t have clarity that why FROM-TAG is mandatory. But RFC made mandatory. Hence
all are following. May be in future, we can see the fruits. But currently It’s purpose is joining with
Call- ID and TO-tag forms Dialogue Identity.
9. TO-Tag
It’s a must add TAG parameter in response message by UAS.
The "tag" parameter serves as a general mechanism to distinguish multiple instances
of a user identified by a single SIP URL. As proxies can fork requests, the same
request can reach multiple instances of a user (mobile and home phones, for
example). As each can respond, there needs to be a means to distinguish the
responses from each at the caller.
The situation also arises with multicast requests. If a request is sent via multicast, it
is possible that it will generate multiple responses from different servers. but vary in
the To tag
The "tag" MUST be added by UAS, registrars and redirect servers, but MUST NOT be
inserted into responses forwarded upstream by proxies. The "tag" is added for all
definitive responses for all methods, and MAY be added for informational responses
from a UAS or redirect server.
Note that every message has the same From tag, but the To tags differ from client to
client. Eventually, someone will answer the call with a 200 OK and the remaining
dialog(s) will be cancelled. Along with Call-ID, those tags allow you to identify which
call to keep and which call(s) to release.
10. SIP FORKING
Definition of fork : is an operation whereby a process creates a copy of
itself.
In SIP terminology , Single SIP call is send to multiple SIP endpoints in i.e
Laptop or Mobile or Landline etc or If a request is sent via multicast
The forking of SIP requests means that multiple dialogs can be established
from a single request. This also explains the need for the two-sided dialog
identifier; without a contribution from the recipients, the originator could not
disambiguate the multiple dialogs established from a single request.
A proxy MUST NOT insert a tag into the To header field of a 1xx or 2xx
response if the request did not contain one. A proxy MUST NOT modify the
tag in the To header field of a 1xx or 2xx response.
11. Together Played to Serve:
Dialogs are identified using Call-ID, From tag, and To tag. Messages that have
these three identifiers same belong to the same dialog.
CSeq header field is used to order messages, in fact it is used to order messages
within a dialog. The number must be monotonically increased for each message
sent within a dialog otherwise the peer will handle it as out of order request or
retransmission.
When a user agent receives a request, it checks the Call-ID against those of in-
progress calls. If the Call-ID was found, it compares the tag value of To with the
user's tag and rejects the request if the two do not match.
If the From header, including any tag value, matches the value for an existing call
leg, the server compares the CSeq header field value. If less than or equal to the
current sequence number, the request is a retransmission. Otherwise, it is a new
request. If the From header does not match an existing call leg,a new call leg is
created.
12. Summary
The combination of the To tag, From tag, and Call-ID completely defines a peer-to-
peer SIP relationship between Caller and Callee and is referred to as a dialog.
The BranchID and Cseq serves purpose to identify the transaction and order delivery.
In case of re-INVITE, when it was done from the called party/terminating number
from the initial INVITE, the To and From header gets exchanged, and so the From tag
and To-Tag.
The UAC puts its tag in the From header and the UAS puts its tag in the To header. So,
when a message leaves a UAC it has one tag in the From header and there is no tag in
the To header. When a UAS receives that message and responds back with a SIP
response (e.g. 180 Ringing), it then adds a tag to the To header.
13. Courtesy:- RFC & Books
RFC3261 - SIP: Session Initiation Protocol
RFC3581 - An Extension to the Session Initiation Protocol (SIP) for Symmetric
Response Routing
http://www.kamailio.org/docs/tutorials/sip-introduction/
https://telconotes.wordpress.com/2013/03/13/sip-transactions-vs-dialogs/
https://stackoverflow.com/questions/26264207/what-is-the-use-of-from-tag-in-
sip-request
Internet Multimedia Communications Using SIP: A Modern Approach Including
SIP: Understanding the Session Initiation Protocol
14. Thanks for Listening
Be Happy and Make Happy
@how? given by my aasaan:-
#Go below what you have # Dream above what you have # First love what you have
#Spread info what you have # Get info what others have # Help as per what you have
Editor's Notes
Only 2xx and 101-199 responses with a To tag, where the request was INVITE, will establish a dialog.
A dialog established by a non-final response to a request is in the "early" state and it is called an early dialog.
1xx and 2xx responses may be involved in the establishment of dialogs.
When a request does not contain a To tag, the To tag in the response is used by the UAC to distinguish multiple responses to a dialog creating request.