Basic Telephony SIP End-to-End Performance Metrics
Extracted elements (29)
Authentication duration (including external authentication methods such as SIP Digest) is intentionally included in all metric measurements because of its inherent impact on the protocol and on subsequent SIP dialogs. This means metrics reflect real-world performance including authentication overhead.
ISA response codes (408, 500, 503, 504) were chosen to indicate overloaded or failed proxy/UA conditions, analogous to Ineffective Machine Attempts (IMAs) from Telcordia GR-512-CORE. The 408 response may indicate overload but can have other causes, which operators should note.
SEER includes 480 (Temporarily Unavailable), 486 (Busy Here), 600 (Busy Everywhere), and 603 (Decline) in its numerator because these response codes clearly indicate the effect of an individual user rather than network failure. Codes like 401, 407, and 420 were excluded since they may reflect misconfiguration rather than pure user effect.
The document deliberately does not provide numerical objectives or acceptance threshold values for the SIP performance metrics, as setting such targets is beyond the scope of IETF activities. The metrics provide a common measurement foundation; numeric targets are left to service providers and operators.
A B2BUA may impact the ability to collect end-to-end metrics because it may act as both originating UAC and terminating UAS. In some cases, information from both sides of the B2BUA must be combined to derive an end-to-end perspective; in others, the B2BUA acts as a transparent proxy.
Metric data may be collected via CDRs, raw signaling from proxies or UAs, SNMP/SIP MIB modules (RFC 4780), or via event packages using SUBSCRIBE (RFC 3265). If individual elements use different sample sizes, reported metrics for the same event may differ significantly.
Networks using primarily Digest authentication will exhibit different RRD characteristics than those using other mechanisms (e.g., Identity). Networks with mixed authentication schemes should expect a multimodal distribution in RRD measurements.
When an INVITE is forked before reaching its destination, multiple early dialogs and potentially multiple confirmed dialogs may result. An SRD measurement should be taken for each dialog created (early or confirmed), and tags MUST be used to distinguish between dialog requests.
Clock correction SHOULD be suspended during a t1 to t4 measurement interval unless the +/- 1 ms time interval accuracy requirement can still be met. Alternatively, a measurement SHOULD NOT be performed during clock correction unless the accuracy requirement is met.
For IRA calculation, only the first REGISTER request MUST be used as input. Subsequent REGISTER retries sharing the same topmost Via branch parameter MUST be ignored to ensure accurate metric output.
Implementers of these metrics MUST realize that the metrics could be used to describe characteristics of customer and user usage patterns; privacy MUST be considered when collecting, transporting, and storing metric data.
RRD SHALL be measured and reported only for successful REGISTER requests; Ineffective Registration Attempts SHALL be reported for failures. These two metrics are mutually exclusive and MUST NOT be combined.
SDD for session disconnects ending in failure MUST NOT be combined in the same result with successful disconnects. Sessions ending with Timer F expiration (no response to BYE) SHOULD be excluded from the SDD metric calculation.
SRD for session requests ending in failure MUST NOT be combined in the same result with successful requests, because the durations associated with success and failure will vary substantially. The output value MUST indicate whether it covers successful or failed session requests.
t1 SHALL be used to designate the time of day when a particular measurement was conducted. When measurement results will be correlated with other results, the clock supplying t1 SHOULD be synchronized to a primary time source and clocks at different measurement points SHOULD be synchronized to each other.
The clock offset and relative offset MUST be reported with each measurement. The time interval error SHOULD be constrained to less than +/- 1 ms, implying 1-part-per-1000 frequency accuracy for a 1-second interval.
When collecting metric inputs from call detail records or raw signaling, time synchronization MUST be considered between applicable elements. When these metrics are used in a test environment, the environment MUST be accurately documented for replication of output values.
When the originating UA or proxy is forking messages, it MUST parse the message exchanges necessary for metric input. It MAY utilize the first INVITE sent and the first accepted 200 OK, using dialog tags to distinguish between dialogs. Each element responsible for forking MUST be considered.
Ineffective Registration Attempts (IRA) measures the percentage of REGISTER requests that result in failure (4XX excluding 401/402/407, 5XX, 6XX, or Timer F expiration). Formula: IRA% = (# of IRAs / Total # of REGISTER Requests) x 100.
Ineffective Session Attempts (ISA) measures the percentage of session setup requests that receive failure responses indicating overload or internal errors: 408, 500, 503, or 504. Formula: ISA% = (# of ISAs / Total # of Session Requests) x 100.
Registration Request Delay (RRD) measures the time interval from when the first bit of the initial REGISTER message is sent by the originating UA until the last bit of the 200 OK is received. Formula: RRD = Time of Final Response - Time of REGISTER Request. Output SHOULD be in milliseconds.
Session Completion Ratio (SCR) measures the percentage of SIP dialogs that complete without failing due to lack of response. Formula: SCR% = (# of Successfully Completed Sessions / Total # of Session Requests) x 100. Analogous to Call Completion Ratio (CCR) in telephony.
Session Disconnect Delay (SDD) measures the interval from sending the BYE message until receiving the 2XX response. Formula: SDD = Time of 2XX or Timeout - Time of BYE. Can be measured at either endpoint UA. Output SHOULD be in milliseconds.
Session Duration Time (SDT) measures the duration of a dialog from receipt of the 200 OK to INVITE until receipt (or sending) of the associated BYE, or until Timer F expiration in failed completions. Formula: SDT = Time of BYE or Timeout - Time of 200 OK response to INVITE. Output SHOULD be in seconds.
Session Establishment Effectiveness Ratio (SEER) extends SER by including 480, 486, 600, and 603 responses in the numerator alongside 200 OK responses, to exclude the effects of individual user behavior at the target UA. It is analogous to the ITU-T E.411 Network Effectiveness Ratio (NER). Measured at the originating UA only.
Session Establishment Ratio (SER) measures the ratio of INVITE requests resulting in a 200 OK to total INVITE requests minus those resulting in a 3XX response. It is analogous to the ITU-T E.411 Answer Seizure Ratio (ASR). Measured at the originating UA only.
Session Request Delay (SRD) measures the time from sending the first INVITE until receiving the first provisional response (non-100 Trying) or first final response. It covers both successful and failed session setup, and is similar to Post-Selection Delay defined in ITU-T E.721. Output SHOULD be in seconds.
t1 (start time) is defined as the instant the first bit of a request packet is sent by the UA or proxy at an externally observable interface. t4 (end time) is when the last bit of the designated response is received by the requesting device. t1 also serves as the time-of-day stamp for a measurement; t2 and t3 are reserved for future use.
Security should be considered with respect to securing the data used as input to the metric calculations. All other security aspects should follow RFC 3261. Metric data can reveal customer usage patterns, so privacy must be addressed in data collection, transport, and storage.