sip | index /build/dshell/src/dshell/decoders/voip/sip.py |
# Author: MM - https://github.com/1modm
#
# The Session Initiation Protocol (SIP) is the IETF protocol for VOIP and other text and multimedia sessions
# and is a communications protocol for signaling and controlling.
# SIP is independent from the underlying transport protocol. It runs on the Transmission Control Protocol (TCP),
# the User Datagram Protocol (UDP) or the Stream Control Transmission Protocol (SCTP)
#
# Rate and codec calculation thanks to https://git.ucd.ie/volte-and-of/voip-pcapy
#
# RFC: https://www.ietf.org/rfc/rfc3261.txt
#
# SIP is a text-based protocol with syntax similar to that of HTTP.
# There are two different types of SIP messages: requests and responses.
# - Requests initiate a SIP transaction between two SIP entities for establishing, controlling, and terminating sessions.
# - Responses are send by the user agent server indicating the result of a received request.
#
# - SIP session setup example:
#
# Alice's . . . . . . . . . . . . . . . . . . . . Bob's
# softphone SIP Phone
# | | | |
# | INVITE F1 | | |
# |--------------->| INVITE F2 | |
# | 100 Trying F3 |--------------->| INVITE F4 |
# |<---------------| 100 Trying F5 |--------------->|
# | |<-------------- | 180 Ringing F6 |
# | | 180 Ringing F7 |<---------------|
# | 180 Ringing F8 |<---------------| 200 OK F9 |
# |<---------------| 200 OK F10 |<---------------|
# | 200 OK F11 |<---------------| |
# |<---------------| | |
# | ACK F12 |
# |------------------------------------------------->|
# | Media Session |
# |<================================================>|
# | BYE F13 |
# |<-------------------------------------------------|
# | 200 OK F14 |
# |------------------------------------------------->|
# | |
#
Modules | ||||||
|
Classes | ||||||||
|
Data | ||
dObj = sip udp showpkt=None |