Actually we’re using this part for incoming calls, hope it would shed some
light on what we’re trying to do :
################################################################################
route[incoming_call] {
# Save the call direction in case we have to handle changes on sdp offer
(for RTP Engine only). The AVP var will persist over the SIP transaction
$avp(call_direction) = "incoming";
# Create dialog and update profile with callee
#route(create_diag_update_profile, $rU);
if ($(var(attrs){s.len}) >0) {
# We retrieve the group with the attributes orf the dialplan rule
$avp(group) = $(var(attrs){s.int});
}
else {
# No group defined in the diaplan rule so we use usr_preferences
avp_db_load("$rU","$avp(group)");
}
if (ds_select_domain($avp(group),4)){
route(logger, "L_INFO", "Call from GATEWAY routed to OMS with
TGRP");
$var(result) = 1;
}
if ($var(result) > 0) {
# Activate topology hiding if enabled
# route(activate_topology_hiding);
$var(rtpengine_flags) = "RTP/AVP replace-session-connection
replace-origin in-iface=external out-iface=internal ICE=remove";
if (rtpengine_manage("$var(rtpengine_flags)"))
t_on_reply("reply_early_offer");
# route(set_on_branch_route);
route(branch_route_rtp_proxy);
# Arm the branch callback to 'branch_route_rtp_proxy' if we have an RTP
engine
# route(set_on_branch_route);
# route(safe_relay_and_exit);
b2b_init_request("top hiding");
exit;
}
}
route[branch_route_rtp_proxy] {
if (has_body("application/sdp") && is_method("INVITE")) {
# Early offer cases
$var(cline) = $(rb{sdp.line,c});
$var(sline) = $(rb{sdp.line,s});
$var(log_msg) = "SDP content: o=" + $(rb{sdp.line,o}) + ", s=" +
$var(sline) + " c=" + $var(cline) + ", m=" + $(rb{sdp.line,m});
route(logger, "L_INFO", $var(log_msg));
# Check the call direction
if ($avp(call_direction) == "incoming")
{
$var(rtpengine_flags) = "RTP/AVP replace-session-connection
replace-origin in-iface=external out-iface=internal ICE=remove";
if (rtpengine_manage("$var(rtpengine_flags)"))
t_on_reply("reply_early_offer");
}
else if ($avp(call_direction) == "outgoing") {
if ($var(sline) == "s=oms" || $var(sline) == "s=acd") {
$var(rtpengine_flags) = "RTP/AVP replace-session-connection
replace-origin in-iface=internal out-iface=external ICE=remove";
route(logger, "L_INFO", "BRANCH ROUTE OUTGOING");
if (rtpengine_manage("$var(rtpengine_flags)"))
t_on_reply("reply_early_offer");
}
else {
route(logger, "L_INFO", "No transformation needed on RTP,
INVITE containing BToI (case where 2 UACs are linked");
}
}
}
else if (is_method("INVITE") && $avp(call_direction) == "incoming") {
# We are in case of late offer we expect the SDP offer later
t_on_reply("reply_late_offer");
}
}
onreply_route[reply_early_offer] {
if (has_body("application/sdp") ) {
route(logger, "L_INFO", "SDP reply from GATEWAY to OMS for early
offer");
rtpengine_manage();
}
}
onreply_route[reply_late_offer] {
if (t_check_status("200") && has_body("application/sdp")){
# We just received a response containing a late offer. We need to do
some modification in the offer for the proxy. Only available for incoming calls.
$var(rtpengine_flags) = "RTP/AVP replace-session-connection
replace-origin in-iface=internal out-iface=external ICE=remove";
rtpengine_manage("$var(rtpengine_flags)");
} else if (has_body("application/sdp") ){
route(logger, "L_INFO", "SDP reply from GATEWAY to OMS for late offer");
rtpengine_manage();
}
}
########################################################################
Bien Cordialement,
[cid:[email protected]] [cid:[email protected]]
<http://www.orange.com/>
Kharroubi Mohamed
Senior DevOps/System Engineer
Orange/ IMT/ OLPS/ OPS/ International Centers/ Tunisia
[email protected]<mailto:[email protected]>
www.sofrecom.com<http://www.sofrecom.com/>
Part of the Orange group
De : Users <[email protected]> De la part de Brett Nemeroff
Envoyé : mercredi 7 juin 2023 12:43
À : OpenSIPS users mailling list <[email protected]>
Cc : BARKAOUI Chaker SOFRECOM <[email protected]>; DESGEORGE
Guillaume INNOV/IT-S <[email protected]>; GUESMI Amel SOFRECOM
<[email protected]>
Objet : Re: [OpenSIPS-Users] B2B Opensips + RTPEngine
We are going to need to see a little more of where this is called. It’s worth
mentioning that it has to be called at the right time. Simply firing this off
doesn’t automatically manage the session.
Thanks,
Brett
On Wed, Jun 7, 2023 at 6:19 AM
<[email protected]<mailto:[email protected]>> wrote:
Hello,
So we don’t use that function regarding RTPEngine, but we use the
rtpengine_manage() instead.
Here is an example of how we use it inside the routing logic :
####################################################################################
$var(rtpengine_flags) = "replace-session-connection replace-origin
in-iface=internal out-iface=external";
rtpengine_manage("$var(rtpengine_flags)");
####################################################################################
Bien Cordialement,
[cid:[email protected]] [cid:[email protected]]
<http://www.orange.com/>
Kharroubi Mohamed
Senior DevOps/System Engineer
Orange/ IMT/ OLPS/ OPS/ International Centers/ Tunisia
[email protected]<mailto:[email protected]>
www.sofrecom.com<http://www.sofrecom.com/>
Part of the Orange group
De : Users
<[email protected]<mailto:[email protected]>> De
la part de Jehanzaib Younis
Envoyé : mercredi 7 juin 2023 00:29
À : OpenSIPS users mailling list
<[email protected]<mailto:[email protected]>>
Objet : Re: [OpenSIPS-Users] B2B Opensips + RTPEngine
Hi there,
Can you write an example of how you used rtpengine_offer() ?
Regards,
Jehanzaib
On Wed, Jun 7, 2023 at 3:07 AM
<[email protected]<mailto:[email protected]>> wrote:
Hello Community,
We are trying to set up an Opensips with RTPEngine in a B2B configuration to
handle media processing. There is no scenario for the B2B we’re trying to
implement, we’re just using the topology « «top hiding » !
However, regardless of our configuration, the SDP of the INVITE and 200 OK
packets is not modified to include the RTPEngine IP address and port
How should the RTPEngine be configured in the Opensips.cfg or which function(s)
should be called to achieve this?
Bien Cordialement,
[cid:[email protected]] [cid:[email protected]]
<http://www.orange.com/>
Kharroubi Mohamed
Senior DevOps/System Engineer
Orange/ IMT/ OLPS/ OPS/ International Centers/ Tunisia
[email protected]<mailto:[email protected]>
www.sofrecom.com<http://www.sofrecom.com/>
Part of the Orange group
_______________________________________________
Users mailing list
[email protected]<mailto:[email protected]>
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]<mailto:[email protected]>
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users