Is there a way to skip rtpengine if the originator and destination are both on wss?
route[RELAY] {
# enable additional event routes for forwarded requests
# - serial forking, RTP relaying handling, a.s.o.
if (is_method("INVITE|BYE|SUBSCRIBE|UPDATE")) {
t_on_branch("MANAGE_BRANCH");
t_on_reply("MANAGE_REPLY");
}
if (is_method("INVITE")) {
route(SETUP_BY_TRANSPORT);
if(!t_is_set("failure_route")) t_on_failure("MANAGE_FAILURE");
}
if (!t_relay()) {
sl_reply_error();
}
exit;
}
route[SETUP_BY_TRANSPORT] {
if ($ru =~ "transport=ws") {
xlog("L_INFO", "Request going to WS");
if(sdp_with_transport("RTP/SAVPF")) {
rtpengine_manage("rtcp-mux-demux trust-address replace-origin replace-session-connection ICE=force DTLS=passive");
t_on_reply("REPLY_WS_TO_WS");
return;
}
#rtpengine_manage("rtcp-mux-demux trust-address replace-origin replace-session-connection ICE=force DTLS=passive RTP/SAVP");
t_on_reply("REPLY_FROM_WS");
}
else if ($proto =~ "ws") {
xlog("L_INFO", "Request coming from WS");
rtpengine_manage("rtcp-mux-demux trust-address replace-origin replace-session-connection ICE=remove DTLS=passive RTP/SAVP");
t_on_reply("REPLY_TO_WS");
}
else {
xlog("L_INFO", "This is a classic phone call");
rtpengine_manage("replace-origin replace-session-connection");
t_on_reply("MANAGE_CLASSIC_REPLY");
}
}