[OpenSIPS-Users] ERROR:tm:t_forward_nonack: discarding fwd for a cancelled/6xx transaction
Bogdan-Andrei Iancu
bogdan at voice-system.ro
Tue Oct 13 23:09:50 CEST 2009
Hi Alex,
That is correct, but I was interested to see the logs to see why the
parallel processing of CANCEL and INVITE leads to an 500....it would
rather be a local 487 cancelled....But I need the logs to see how the
processing takes place.
Regards,
Bogdan
Alex Massover wrote:
> Hi!
>
> I think we experienced something similar, as far as I remember the following fixes the issue in conjunction with the code below that Bogdan suggested:
>
> For INVITE you do:
>
> t_newtran();
> t_reply("100","Trying");
> ....
> ....
> if(!t_relay("0x05"))
> {
> #sl_reply_error(); # do not send error
> }
>
> The idea is to create transaction as fast as possible, and do not reply if t_relay() fails.
>
> For CANCEL you do, like Bogdan said:
>
> if (is_method("CANCEL"))
> {
> if (t_check_trans())
> t_relay();
> exit;
> }
>
> You get an error in log, but 500 is not sent. As far as I remember, there was no way to fix it more cleanly.
>
> The situation can be easy reproduced if you "slow down" processing of INVITE and then send CANCEL, for example with exec_dset("very_slow_script").
>
>
> --
> Best Regards,
> Alex Massover
> VoIP R&D TL
> Jajah Inc.
>
>> -----Original Message-----
>> From: users-bounces at lists.opensips.org [mailto:users-
>> bounces at lists.opensips.org] On Behalf Of Bogdan-Andrei Iancu
>> Sent: Tuesday, October 13, 2009 4:17 PM
>> To: OpenSIPS users mailling list
>> Subject: Re: [OpenSIPS-Users] ERROR:tm:t_forward_nonack: discarding fwd
>> for a cancelled/6xx transaction
>>
>> Hi Krunal,
>>
>> could you send me (off list if necessary) a trace of the call and the
>> output of opensips in debug mode 6 ?
>>
>> Regards,
>> Bogdan
>>
>> Krunal Patel wrote:
>>
>>> Hello Bogdan,
>>>
>>> I have your suggested code block , in my cfg.
>>> But still getting the same.
>>>
>>> --
>>> Krunal Patel
>>>
>>> On Mon, Oct 12, 2009 at 9:04 PM, Bogdan-Andrei Iancu
>>> <bogdan at voice-system.ro <mailto:bogdan at voice-system.ro>> wrote:
>>>
>>> Hi Krunal,
>>>
>>> Looks like a race between the INVITE and CANCEL.....typical way
>>>
>> to
>>
>>> deal
>>> with that is by processing the CANCEL only if it matches an
>>>
>> INVITE
>>
>>> transaction:
>>>
>>> # CANCEL processing
>>> if (is_method("CANCEL"))
>>> {
>>> if (t_check_trans())
>>> t_relay();
>>> exit;
>>> }
>>>
>>>
>>>
>>> do you have this in your script ?
>>>
>>> Regards,
>>> Bogdan
>>>
>>> Krunal Patel wrote:
>>> > Hi,
>>> >
>>> > I am getting issue like :
>>> > ERROR:tm:t_forward_nonack: discarding fwd for a cancelled/6xx
>>> transaction
>>> >
>>> > Here is the SIP trace.
>>> >
>>> > U 2009/10/12 11:24:19.127160 XXX.XXX.XXX.XXX:5060 ->
>>> YYY.YYY.YYY.YYY:5060
>>> > INVITE sip:[EMAIL PROTECTED] SIP/2.0.
>>> >
>>> > U 2009/10/12 11:24:19.127237 XXX.XXX.XXX.XXX:5060 ->
>>> YYY.YYY.YYY.YYY:5060
>>> > CANCEL sip:[EMAIL PROTECTED] SIP/2.0.
>>> >
>>> > U 2009/10/12 11:24:19.127276 YYY.YYY.YYY.YYY:5060 ->
>>> XXX.XXX.XXX.XXX:5060
>>> > SIP/2.0 100 ci Trying...
>>> >
>>> > U 2009/10/12 11:24:19.130913 YYY.YYY.YYY.YYY:5060 ->
>>> XXX.XXX.XXX.XXX:5060
>>> > SIP/2.0 200 canceling.
>>> >
>>> > U 2009/10/12 11:24:19.142229 YYY.YYY.YYY.YYY:5060 ->
>>> XXX.XXX.XXX.XXX:5060
>>> > SIP/2.0 500 Server error occurred (19/SL).
>>> >
>>> > U 2009/10/12 11:24:19.182452 XXX.XXX.XXX.XXX:5060 ->
>>> YYY.YYY.YYY.YYY:5060
>>> > ACK sip:[EMAIL PROTECTED] SIP/2.0.
>>> >
>>> > This happens when OpenSIPS gets CANCEL from caller before it
>>> sends 100
>>> > Trying to CALLER for the INVITE.
>>> >
>>> > Please let me know how to resolve it.
>>> >
>>> > I have put t_was_cancelled in onreply & failure route both.
>>> >
>>> > Thanks in advance,
>>> >
>>> > --
>>> > Krunal Patel
>>> >
>>> >
>>>
More information about the Users
mailing list