Media Recording On Demand
Overview
Here is an example of the SIP3 Media Quality Widget
which helps to classify most of the problems within just a few seconds:
However, there are some situations where detailed quality analysis is still required. In such situations, VoIP engineers usually have to capture an entire call session (including RTP streams) and analyze it in Wireshark manually.
Often case, capturing an entire call session is not an easy thing because of the amount of servers and VoIP traffic. To automate it and provide a better user experience the SIP3 team designed and implemented Media Recording On Demand
feature.
Let’s see how you can configure a set of filters to capture entire call session (including RTP streams in FULL
or GDPR
modes) and analyze it later in Wireshark.
Usage
Here is an example of recording.yml
file with Media Recording On Demand
configured:
recording:
enabled: true
filters:
- filter: "sip.src_addr=26.03.19.93 sip.user=desi" (1)
mode : 0 (2)
- filter: "rtp.host=RTP_ENGINE_1 rtp.r_factor<75 rtp.duration>10000" (3)
mode : 1 (4)
1 | SIP signaling filter that enables recording of session from 26.03.19.93 and to or from user desi . |
2 | FULL mode. In this mode SIP3 will record full RTP packets including voice payload. |
3 | Media quality filter that enables recording of Media sessions with host RTP_ENGINE_1 , R-Factor calculated from RTP less that 75 and duration of RTP stream more than 10000ms (10 seconds) |
4 | GDPR mode. In this mode SIP3 will record only headers of RTP packets without voice payload. |
Recording on Demand filters from files will no longer supported be once this feature is added to the SIP3 UI.
|
Now more about filters.
Filters
The Media Recording On Demand
feature support two types of filters:
-
Signaling filters
- applied at the codec negotiation phase. -
Media filters
- applied to each periodic RTP Report handled bySalto
.
Configuration of Media Recording On Demand
may contain multiple filters of both types. SIP3 loads and uses filters in the order defined in configuration. The first matching filter’s recording mode will be applied to matched Call/Media session.
Modes
Each filter controls a Media Recording Mode
. SIP3 supports FULL
and GDPR
modes:
Mode | Value | Description |
---|---|---|
|
|
Full RTP/RTCP and related ICMP packets with the voice payload included. |
|
|
Only headers of RTP/RTCP and related ICMP packets without the voice payload. |
In addition to GDPR compliance GDPR
mode also requires way less storage space (economy is about 75%).
Recording Mode can’t be overridden for the same Media Session. |
Expressions
Each filter consists of one or more attributes expressions (similar to what you could see in the Advanced Search
document) separated with a space. Attributes expressions are very simple syntactic constructions:
<attribute><operator><value>
SIP3 supports 3 main attributes types: String
, Boolean
, Number
. In meantime each of the types support a certain list of operators:
Operator | Types | Description |
---|---|---|
|
|
Equals |
|
|
Not equals |
|
|
More than |
|
|
Less than |
|
|
Regular expression |
A filter is matched when all attributes expressions are True .
|
"'sip'" attributes
Attribute | Type | Description |
---|---|---|
|
|
Signaling source IP address |
|
|
Signaling destination IP address |
|
|
Signaling source or destination IP address |
|
|
Signaling source host |
|
|
Signaling destination host |
|
|
Signaling source or destination host |
|
|
Caller |
|
|
Callee |
|
|
Caller or Callee |
Custom |
|
Custom User Defined Attribute |
“rtp” and “rtcp” attributes
Attribute | Type | Description |
---|---|---|
|
|
RTP/RTCP source IP address |
|
|
RTP/RTCP destination IP address |
|
|
RTP/RTCP source or destination IP address |
|
|
RTP/RTCP source host |
|
|
RTP/RTCP destination host |
|
|
RTP/RTCP source or destination host |
|
|
RTP/RTCP MoS value |
|
|
RTP/RTCP R-Factor value |
|
|
RTP/RTCP media stream duration in milliseconds |
|
|
One-way RTP media stream. Please, use this attribute in combination with |