Hi Nitesh,
Do you do topology_hiding_match() for the sequential requests (instead
of the typical loose_route()) ? As it seems you cfg fails to properly
handle the in-dialog / sequential requests.
Regards,
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
https://www.opensips-solutions.com
OpenSIPS Bootcamp 5-16 Dec 2022, online
https://www.opensips.org/training/OpenSIPS_eBootcamp_2022/
On 10/26/22 9:05 PM, Nitesh Divecha wrote:
Hello All,
I don't know if this is by design or me not implementing correctly!
I'm a newbie to OpenSIPS...
So I generated a new opensips_residential.cfg file and only edited it
with topology_hiding("UC"); under INVITE. Plus all the extras to make
ATA register successfully and SIP trunk.
Every time I make a call two INVITE dialogs are created. One from ATA
to OpenSIPS and second one from OpenSIPS to Outbound Provider. When a
PSTN call is answered, the Outbound Provider sends 200 OK back to
OpenSIPS, and OpenSIPS sends back 200 OK to ATA. Then ATA acknowledges
with ACK back to OpenSIPS BUT OpenSIPS fails to send ACK to the
Outbound Provider. So Outbound Provider sends 200 OK again to OpenSIPS
and OpenSIPS sends 200 OK to ATA then ATA acknowledges with ACK back
to OpenSIPS BUT OpenSIPS fails to send back ACK... This dance goes on
for 30 secs and until Outbound Provider drops the call due to no ACK.
On the sngrep it shows that call from ATA to OpenSIPS "COMPLETED"
while OpenSIPS to Outbound Provider "CALL SETUP".
If I comment out topology_hiding("UC"); then everything works
perfectly and sngrep shows only one INVITE dialog from ATA to OpenSIPS
to Outbound Provider except the Outbound Provider can see everything
that is ATA's IP info, etc...
Here is my cfg:
route {
...
if (dp_translate(10 ,$rU ,$rU) ) {
xlog("*** Dial plan translate from source $avp(src) to
$rU ***\n");
$avp(furi) = "sip:[email protected]
<mailto:sip%[email protected]>";
uac_replace_from( , "$avp(furi)");
#strip(1);
if (!do_routing(0)) {
send_reply(500,"No PSTN Route found");
exit;
}
# t_on_branch("change_from");
route(relay);
exit;
}
...
}
route[relay] {
# for INVITEs enable some additional helper routes
if (is_method("INVITE")) {
# create_dialog();
topology_hiding("UC");
if(remove_hf("User-Agent")){
xlog("*** 4. User-Agent found and removed. ***\n");
}
if (isflagset("NAT") && has_body("application/sdp")) {
rtpproxy_offer("ro");
}
t_on_branch("per_branch_ops");
t_on_reply("handle_nat");
t_on_failure("missed_call");
}
if (isflagset("NAT")) {
add_rr_param(";nat=yes");
}
if (!t_relay()) {
send_reply(500,"Internal Error");
}
exit;
}
My eyes are sore and my head is spinning... Any help will be highly
appreciated... Thanks!
Cheers,
Nitesh
_______________________________________________
Users mailing list
[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