Advanced Search
Overview
Advanced Search
is a very minimalistic user interface to a very powerful SIP3 search API. Its syntax was inspired by Wireshark filters and includes three main groupings of search attributes: sip
, rtp
and rtcp
. Advanced Search
input represents a SIP3 query which consists of selected time range and one or many search attributes expressions connected via logical AND
operator:
Expressions
Search attributes expressions are very simple syntactic constructions:
<attribute><operator><value>
SIP3 supports 3 main attributes types: String
, Boolean
and 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 |
If search attribute has finite amount of possible values (as for instance any Boolean
or some String
attributes do) all its values will be shown in a dropdown menu:
Otherwise, you can just write anything as its value:
For Number attributes duration
, trying_delay
etc you can use s
(Seconds) and m
(Minutes) suffix in values. I.e. next expressions has the same result:
-
sip.duration>60000
-
sip.duration>60s
-
sip.duration>1m
Groupings
As it was mentioned above every SIP3 query is a combination of multiple search attributes expressions. And here you have no limitations. Feel free to combine as many attributes as you need. They also can be from different groupings like "sip.caller=plami rtp.r_factor<30"
. There is only one thing you need to account for:
Queries "sip.caller=plami rtp.r_factor<30" and "rtp.r_factor<30 sip.caller=plami" are not the same because SIP3 uses different database collections for signaling and media data indexes. It’s up to you to decide which one of these queries will be faster.
|
"sip"
attributes
As you already got it the sip
grouping is a set of attributes corresponding to the SIP protocol. The sip
grouping consists of 25 default search attributes but could be easily extended with User-Defined Attributes.
Attribute | Type | Description |
---|---|---|
|
|
Source or destination IP address. Virtual attribute which helps to cover queries like |
|
|
Source IP address |
|
|
Destination IP address |
|
|
Source or destination host. Virtual attribute which helps to cover queries like |
|
|
Source host |
|
|
Destination host |
|
|
|
|
|
|
|
|
|
|
|
SIP method. Helps to optimize your search request performance by querying corresponding data only |
|
|
|
|
|
Call, registration or transaction state. For instance, possible call states are |
|
|
Last SIP session’s transaction error code |
|
|
Last SIP session’s transaction error type: |
|
|
SIP call duration in milliseconds |
|
|
Time in milliseconds between SIP INVITE request and corresponding 100 SIP response |
|
|
Time in milliseconds between SIP INVITE request and corresponding 18x SIP response |
|
|
Time in milliseconds between SIP INVITE request and corresponding 487 SIP response |
|
|
Time in milliseconds between SIP INVITE request and corresponding 200 SIP response |
|
|
Time in milliseconds between SIP BYE request and corresponding 200 SIP response |
|
|
Amount of SIP transactions |
|
|
Amount of SIP retransmits |
|
|
Party terminated SIP session: |
|
|
Difference in milliseconds between a time when REGISTER session is supposed be expired and a time when renewal SIP REGISTER message came. Helps to find SIP user agents who ignore |
|
|
|
|
|
Custom User-Defined Attributes |
"rtp"
and "rtcp"
attributes
It doesn’t make sense to separate rtp
and rtcp
groupings definition because after all both groupings have the same set of attributes. The only one difference between these two - is a source of data: RTP or RTCP protocols.
Attribute | Type | Description |
---|---|---|
|
|
Source or destination IP address. Virtual attribute which helps to cover queries like |
|
|
Source IP address |
|
|
Destination IP address |
|
|
Source or destination host. Virtual attribute which helps to cover queries like |
|
|
Source host |
|
|
Destination host |
|
|
Mean Opinion Score. Always stays in from 0 to 5 range |
|
|
R-Factor. Always stays in from 0 to 100 range |
|
|
Codec used for media data processing |
|
|
During a media session participants generate and send multiple RTCP messages. Each of the messages represents a single report. This metric helps to find media sessions with problems during entire time of the session |
|
|
Helps to find one-way media streams |
|
|
Media session duration in milliseconds |
Search History
It happens that we can go into wrong direction while troubleshooting a particular problem. In such cases it might be good to be able to get a few steps back. That’s why Advanced Search
has a history of searches section:
Search History can be opened by hitting Ctrl
/Cmd
+ Arrow Down
as well.
Conclusions
Now when you know how to use Advanced Search
let’s take a look at Call Details section.