[OpenSIPS-Users] Cancel ACK routing

Bogdan-Andrei Iancu bogdan at opensips.org
Mon May 15 04:42:06 EDT 2017


Hi Rik,

There is no need for such extra logs, just use the script_trace() function:
http://www.opensips.org/Documentation/Script-CoreFunctions-2-3#toc43


Now, there must be something wrong with that ACK (it is a hop by hop ACK 
to a negative reply), if it is not caughtby t_check_trans(). Could you 
run this function in debug 4, so we can see what is going on ?

Best regards,

Bogdan-Andrei Iancu
   OpenSIPS Founder and Developer
   http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
   http://www.opensips.org/events/Summit-2017Amsterdam.html

On 05/15/2017 10:59 AM, Rik Broers wrote:
>
> Hi Bogdan,
>
> Put some logs in my script, and the ACK is hitting exit/red 
> highlighted part. In this part of the sequential route.
>
> } else {
>
> if ( is_method("ACK") ) {
>
> if ( t_check_trans() ) {
>
>                           # non loose-route, but stateful ACK; must be 
> an ACK after
>
>                                         # a 487 or e.g. 404 from 
> upstream server
>
> t_relay();
>
>  exit;
>
> } else {
>
> xlog("L_WARN", "[$ci] ACK without matching transaction");
>
> # ignore and discard
>
> exit;
>
>                              }
>
> }
>
> So apparently it can’t find a transaction. Should the ACK be forwarded 
> all the way to the right endpoint? As that leg has already been acked 
> by opensips directly according to the trace.
>
> Met vriendelijke groet,
>
> *Rik Broers*
> Voice Engineer
>
>
> *Van:*Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
> *Verzonden:* 12 May 2017 18:28
> *Aan:* users at lists.opensips.org; Rik Broers <RBroers at motto.nl>
> *Onderwerp:* Re: [OpenSIPS-Users] Cancel ACK routing
>
> Hi Rik,
>
> So, without the TH part, it seems that the incoming ACK (from caller 
> side) is not recognized and the 487 is retransmitted. How do you 
> handle that ACK? are you sure it hits a t_relay() or t_newtran() 
> function ?
>
> Regards,
>
> Bogdan-Andrei Iancu
>   OpenSIPS Founder and Developer
> http://www.opensips-solutions.com
> OpenSIPS Summit May 2017 Amsterdam
> http://www.opensips.org/events/Summit-2017Amsterdam.html
>
> On 05/12/2017 12:28 PM, Rik Broers wrote:
>
>     Hi!
>
>     I’m building a proxy between two public endpoints, so no nat
>     involved luckily.
>
>     I’ve got everything to work except for the CANCEL. It breaks the
>     same if I start the call from the other endpoint.
>
>     Attached a visual of the traffic flow. Not attached, at link here:
>     https://www.dropbox.com/s/m45wwjlt4cmhy7k/Captuasdre.JPG?dl=0
>
>     Now I would like to fix the final 487 ACK bouncing, and it seems
>     to me that opensips should just accept the ACK from the 487 and
>     end the transaction.
>
>     The script is based on the standard one after install with some
>     routing logic. So the ACK is handled in the sequential path with
>     this comment:
>
>     # non loose-route, but stateful ACK; must be an ACK after
>
>     # a 487 or e.g. 404 from upstream server
>
>     I also tried to fix/workaround it with the topology_hiding module,
>     but as soon as the ACK (packet 12 in the diagram) is sent back
>     opensips crashes with
>     CRITICAL:core:free_lump: called on a not free-able
>     lump:0x7f9ba2cc9d68 flags=2
>     and no 487 is being sent to the left endpoint.
>
>     version: opensips 2.3.0-beta (x86_64/linux)
>
>     git revision: 2f688b5
>
>     Crash dump with dbg on for the topo hiding scenario available on
>     request, rather not share it on the list J
>
>     Did I hit an opensips bug or am I missing something?
>
>     Regards,
>
>     Met vriendelijke groet,
>
>     *Rik Broers*
>     Voice Engineer
>
>     rbroers at motto.nl <mailto:rbroers at motto.nl>
>
>
>
>
>     _______________________________________________
>
>     Users mailing list
>
>     Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>
>     http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20170515/fe61a61d/attachment-0001.html>


More information about the Users mailing list