Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions daemon/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -882,6 +882,7 @@ static void options(int *argc, char ***argv, charp_ht templates) {
{ "mysql-pass", 0, 0, G_OPTION_ARG_STRING, &rtpe_config.mysql_pass,"MySQL connection credentials", "PASSWORD" },
{ "mysql-query",0, 0, G_OPTION_ARG_STRING, &rtpe_config.mysql_query,"MySQL select query", "STRING" },
{ "endpoint-learning",0,0,G_OPTION_ARG_STRING, &endpoint_learning, "RTP endpoint learning algorithm", "delayed|immediate|off|heuristic" },
{ "endpoint-learning-heuristic-disable-early-return",0,0,G_OPTION_ARG_NONE, &rtpe_config.el_heuristic_disable_early_return, "Disable early return on heuristic endpoint-learning when there is a match that equals SDP address", NULL },
{ "jitter-buffer",0, 0, G_OPTION_ARG_INT, &rtpe_config.jb_length, "Size of jitter buffer", "INT" },
{ "jb-clock-drift",0,0, G_OPTION_ARG_NONE, &rtpe_config.jb_clock_drift,"Compensate for source clock drift",NULL },
{ "jb-adaptive",0,0, G_OPTION_ARG_NONE, &rtpe_config.jb_adaptive,"Enable adaptive jitter buffer sizing",NULL },
Expand Down
2 changes: 1 addition & 1 deletion daemon/media_socket.c
Original file line number Diff line number Diff line change
Expand Up @@ -3255,7 +3255,7 @@ static bool media_packet_address_check(struct packet_handler_ctx *phc)
}

// confirm endpoint, if matches address advertised in SDP
if (idx == 0)
if (!rtpe_config.el_heuristic_disable_early_return && idx == 0)
goto confirm_now;

// finally, if there has been a better match and if strict-source is set,
Expand Down
10 changes: 10 additions & 0 deletions docs/rtpengine.md
Original file line number Diff line number Diff line change
Expand Up @@ -977,6 +977,16 @@ call to inject-DTMF won't be sent to __\-\-dtmf-log-dest=__ or __\-\-listen-tcp-
(but different address) is seen, that address is used. Otherwise, the source
address of any incoming packet seen is used.

- __\-\-endpoint-learning-heuristic-disable-early-return__

When __endpoint-learning=heuristic__ is in use, an incoming RTP packet whose
source address and port exactly match the address advertised in the SDP causes
immediate endpoint confirmation, without waiting for the usual 3-second learning
period. Enable this option to disable that early return and restore the previous
behaviour of waiting out the full learning period before confirming, even when
an SDP-matching packet is seen. Has no effect unless __heuristic__ endpoint
learning is active. Disabled by default.

- __\-\-jitter-buffer=__*INT*

Size of (incoming) jitter buffer in packets. A value of zero (the default)
Expand Down
1 change: 1 addition & 0 deletions etc/rtpengine.conf
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ tos = 184
# delete-delay = 30
# final-timeout = 10800
# endpoint-learning = heuristic
# endpoint-learning-heuristic-disable-early-return = true
# reject-invalid-sdp = false

# foreground = false
Expand Down
1 change: 1 addition & 0 deletions include/main.h
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ enum endpoint_learning {
X(amr_cn_dtx) \
X(evs_cn_dtx) \
X(moh_prevent_double_hold) \
X(el_heuristic_disable_early_return) \

#define RTPE_CONFIG_CHARP_PARAMS \
X(b2b_url) \
Expand Down
Loading