Hello

 

There is such scheme of call

 

One gateway – 1.1.1.1

Opensips – 2.2.2.2

Another gateway – 3.3.3.3

Calls from 1.1.1.1 to 3.3.3.3 through 2.2.2.2

I use CDR_flag for accounting

 

A piece of script config:

…

modparam("dialog", "default_timeout", 1800)

…

…

onreply_route[1] {

if (t_was_cancelled()) {

   exit;

  }

if (status=~"200||18[0,3]") {

if (isflagset(10) && has_body("application/sdp")) {

  rtpproxy_answer("con");

  }

  if (isflagset(21) && nat_uac_test("55")) fix_nated_contact();

   store_dlg_value("calleeip","$si");

   store_dlg_value("calleeport","$sp");

   store_dlg_value("calleecont","$ct.fields(uri)");

   if (status=~"200" && $rm=="INVITE" && !isflagset(29)) { 

   set_dlg_profile("answer","$avp(i:71)");

   set_dlg_profile("outdiranswer","$avp(i:3)");

   }

  }

  return();

}

….

 

As you can see in testlog file, 1.1.1.1 trying cancel initial request by 
sending CANCEL, this CANCEL Opensips forwarding to 3.3.3.3 but from 3.3.3.3 
Opensips receives 200 OK on INVITE. Because of this there is no CANCEL of the 
dialog on Opensips and after 1800 sec (see “default_timeout”) I have a CDR 
record in Opensips with duration of 1800 sec.

 

The question. Why does Opensips forward 200 OK from 3.3.3.3 to 1.1.1.1 when 
initial request was cancelled, and why Opensips makes accounting dialog when 
initial request was cancelled?  

 

 

 

 

Attachment: testlog
Description: Binary data

_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to