RTP EDRs
Introduction
Any N-Squared SIP service which locally originates or terminates an RTP stream will do so using
the RtpApp
application class, and in doing so will generate some or all of the following EDR types.
Common Format
The configuration parameters for configuring EDR output including filename structure
and location is defined in the configuration documentation for the EdrApp
which is
a base component provided by the n2svcd
package.
All EDRs are written by the EdrApp
application using its file and record formatting rules.
Refer to the n2svcd
base documentation for more details on configuring and managing EDR
streams, and on the syntax/encoding details for N-Squared EDRs.
RTP-ESTABLISH EDR
The RTP-ESTABLISH
EDR Event indicates that an RTP audio stream was established on behalf of
one of the other SIP Applications.
Example:
2022-08-30 05:11:33.000<parker~RTP~1661835404~08d3972a>RTP-ESTABLISH|STREAM_NUM=1|CALL_ID=148500146@172.18.0.1
→ |ENCODING=PCMU/8000|LOCAL_IP=172.18.0.1|LOCAL_PORT=6972|REMOTE_IP=172.18.0.1|REMOTE_PORT=3668|SUFFIX=.ul
Field | Type | Description |
---|---|---|
STREAM_NUM
|
Integer | A sequential number for each RTP stream established within a single controlled call. |
MODE
|
OFFER / ANSWER / OFFER/ANSWER
|
Specifies that the EDR relates to only the SDP Offer generated by us, or only the ANSWER received by us, which will occur if and only if the RTP stream establishment is done using pattern 2 from RFC 6337. When this field is present, there should be two EDRs consisting of one partial OFFER and one partial ANSWER .(Default = this is a single EDR generated when both the SDP Offer and SDP Answer are both known). |
CALL_ID
|
String | The SIP Call ID associated with the A-Leg. |
ENCODING
|
String |
The name of the specific encoding used when constructing and streaming the RTP for this interaction. This is the name as configured in the rtp_audio_encodings parameter of the RtpApp.This is not present for MODE = OFFER .
|
LOCAL_IP
|
IP Address | The local numeric IPv4 address used for the RTP stream (the RtpApp's address). |
LOCAL_PORT
|
Integer | The local UDP port number used for the RTP stream (the RtpApp's address). |
REMOTE_IP
|
IP Address |
The remote numeric IPv4 address used for the RTP stream (the A-Leg's far-end address). This is not present for MODE = OFFER .
|
REMOTE_PORT
|
Integer |
The remote UDP port number used for the RTP stream (the A-Leg's far-end address). This is not present for MODE = OFFER .
|
SUFFIX
|
String |
The file suffix used to determine the announcement audio files for this interaction. This is not present for MODE = OFFER .
|
RTP-PLAY EDR
The RTP-PLAY
EDR Event indicates that an RTP audio interaction occurred on the A-Leg.
Example:
2022-08-30 05:11:33.757<parker~RTP~1661835404~08d3972a>RTP-PLAY|STREAM_NUM=1|CALL_ID=148500146@172.18.0.1
→ |FILES=Goodbye|LANGUAGE=English|MAX_SECS=300|MESSAGE_ID=25204|PLAY_ID=2|REASON=COMPLETED
Field | Type | Description |
---|---|---|
STREAM_NUM
|
Integer |
A sequential number for each RTP stream established within a single controlled call. This field is redundant, because it appears in the preceding RTP-ESTABLISH EDR.
|
CALL_ID
|
String |
The SIP Call ID associated with the A-Leg. This field is redundant, because it appears in the preceding RTP-ESTABLISH EDR.
|
CANCEL_DIGIT
|
[*#0-9A-F]
|
The Cancel Input Digit used for the interaction (if any). Present only if this is a prompt-and-collect interaction. Note that the SCP may in theory specify E and F for this value, although these
are not valid digits for INAP-compatible DTMF detection according to CCITT specifications Q.23 [7] and Q.24.
|
END_DIGIT
|
[*#0-9A-F]
|
The End of Input Digit used for the interaction (if any). Present only if this is a prompt-and-collect interaction. Note that the SCP may in theory specify E and F for this value, although these
are not valid digits for INAP-compatible DTMF collection according to CCITT specifications Q.23 [7] and Q.24.
|
ERROR
|
String |
A human-readable error string. This is always present in the case where REASON = ERROR (soft error).This may be present in the case where REASON = SHUTDOWN (hard error). |
FIRST_DTO
|
Integer |
The timeout in seconds allowed for first digit entry. Present only if this is a prompt-and-collect interaction. |
INTER_DTO
|
Integer |
The timeout in seconds allowed for second-or-subsequent digit entry. Present only if this is a prompt-and-collect interaction. |
INTERRUPTABLE
|
0 / 1
|
Will the prompt announcement be interrupted by entry of the first digit. Present only if this is a prompt-and-collect interaction. |
LANGUAGE
|
String |
[Required] The name of the language used for this interaction. This field is always present, our local default will be applied if no language was explicitly set. |
MAX_DIGITS
|
Integer |
The maximum number of digits which may be entered during this interaction. Present only if this is a prompt-and-collect interaction. |
MAX_SECS
|
Integer |
The maximum duration allowed by the service logic for the interaction. If the interaction reaches this time (e.g. by repeated re-prompts or cancelled input) then the interaction will be forced to completion and will return to service logic, discarding any collected digits. |
REPETITION
|
Integer |
The number of times this announcement will be played (subject to the limit of the maximum duration or interruption). Present only when the requested repetition is greater than one. |
MESSAGE_ID
|
Integer |
The elementaryMessageID in the case where only one message ID is requested.
|
MESSAGE_IDS
|
Integer List |
The elementaryMessageIDs in the case where more than one message ID is requested.This is a comma-separated list in the EDR. |
FILES
|
String |
The sequence of announcement audio fragment filenames to be played. A filename preceded by "*" indicates a variable part synthesis fragment. A number preceded by "+" indicates a silence in milliseconds. |
MIN_DIGITS
|
Integer |
The minumum number of digits which must be entered during this interaction. Present only if this is a prompt-and-collect interaction. |
PLAY_ID
|
Integer |
A sequential number for each RTP-PLAY within a single established RTP stream.
|
REASON
|
COMPLETED / LIMITED / ERROR / SHUTDOWN
|
Indicates how this particular play announcement ended.COMPLETED - Normal successful completion.LIMITED - Reached maximum duration during interaction.ERROR - A soft error occurred (e.g. unknown announcement ID).SHUTDOWN - The session was shutdown by a hard error during announcement playing.
|
VARIABLE_PARTS
|
Array |
A sequence of variable parts supplied in the interaction request. Each part is recorded as [Type]:[Value], see details below. |
Variable Part Types
The VARIABLE_PARTS
fields in the RTP-PLAY
EDR is a comma-separated list of the variable parts to be
constructed and played according to the relevant language Codec construction rules.
Example: VARIABLE_PARTS=NUMBER:2589,INTEGER:3
.
The following types of Variable Parts are supported:
Type | Value | Description |
---|---|---|
INTEGER
|
Integer | A value in the range 0-214748364. |
NUMBER
|
[0-9A-F]
|
A sequence of hexadecimal digits. Configuration may be used to map two of these digits to * and/or # .
|
TIME
|
<HHMM> | A 24-hour time in HHMM format. |
DATE
|
<YYMMDD> | A date in YYMMDD format. |
PRICE
|
<DDDDDDCC> | A price in cents, without decimal point. |