[OpenSIPS-Users] Problem with simultaneous CANCEL + 200 OK

Daniel Zanutti daniel.zanutti at gmail.com
Wed Mar 14 11:24:44 EDT 2018


Hi Bogdan

I could reproduce the problem on lab. This is the scenario:

A INVITE -> OPENSIPS
OPENSIPS INVITE -> B

OPENSIPS <- B 200 OK

A <- 200 OK OPENSIPS
This 200 OK is lost or discarded on A, not sure if was on network or
problem at client. Then:

A CANCEL -> OPENSIPS
A <- 200 OK (of Cancel) OPENSIPS

Then the call is up for ever.

Here is the log at the moment the CANCEL is received:
https://pastebin.com/79qanD2H

And PCAP:
https://drive.google.com/file/d/1lpHWN1uRD1SOwBTZdijSodXBWhUX-rM8/view?usp=sharing

Can you help?

Thanks





On Thu, Feb 22, 2018 at 1:24 PM, Bogdan-Andrei Iancu <bogdan at opensips.org>
wrote:

> Daniel,
>
> The pcap shows only one leg of the the communication (I guess caller
> versus OpenSIPS). So I cannot see what happens on the callee side. Still, I
> see the first cancel is rejected with 400 (I guess by OpenSIPS - check the
> logs to see the reason) and the second one is accepted by OpenSIPS (no idea
> if relayed to callee or not). Still, if there is a race between the cancel
> from caller and the answer from callee, it is up to the caller to sort it
> out....according to RFC, the caller must ACK the received 200 OK (even if
> CANCEL was sent) and if it really wants to terminate the call, it has to
> fire a BYE.
>
> Regards,
>
> Bogdan-Andrei Iancu
>
> OpenSIPS Founder and Developer
>   http://www.opensips-solutions.com
> OpenSIPS Summit 2018
>   http://www.opensips.org/events/Summit-2018Amsterdam
>
> On 02/22/2018 04:22 PM, Daniel Zanutti wrote:
>
> Hi Bogdan
>
> Thanks for replying.
>
> Here is the PCAP, please take a look: https://drive.google.
> com/file/d/1e7SKjxDtdVYmN-7fCHSEqNEsNHjPsaKo/view?usp=sharing
>
> Thanks
>
> On Thu, Feb 22, 2018 at 7:30 AM, Bogdan-Andrei Iancu <bogdan at opensips.org>
> wrote:
>
>> Hi Daniel,
>>
>> Without a pcap showing the signaling is hard to understand (not to
>> mention helping) your scenario. Please provide a link to the pcap or ngrep.
>>
>> Regards,
>>
>> Bogdan-Andrei Iancu
>>
>> OpenSIPS Founder and Developer
>>   http://www.opensips-solutions.com
>> OpenSIPS Summit 2018
>>   http://www.opensips.org/events/Summit-2018Amsterdam
>>
>> On 02/20/2018 06:43 PM, Daniel Zanutti wrote:
>>
>> Hey
>>
>> I had a problem when receiving simultaneous CANCEL from customer and 200
>> OK from gateway.
>>
>> Seems that the first CANCEL was rejected, but the second CANCEL was
>> accepted. This second CANCEL did NOT go to the gateway, just Opensips
>> received and replied with 200 OK.
>>
>> This is the log of the first CANCEL:
>> Feb 15 18:39:22 /sbin/opensips[28845]: SCRIPT:TRAFFIC:WARNING: method
>> CANCEL ( 7Qbq3O3CReMfPflAtl8NY3ddTqPVBHO2785126 at 2.2.2.2/ XAeG2xj278512T2
>> / 1839212581509953 ) not validated and not fixed ( code=-1 )
>>
>> code -1 is the return of validate_dialog()
>>
>> Second CANCEL didn't generated a log.
>>
>> Shouldn't all CANCELs be rejected? On this case, just the first one was
>> rejected.
>>
>> I'm using version 1.9.11.
>>
>>
>>
>>
>> _______________________________________________
>> Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20180314/475171dc/attachment.html>


More information about the Users mailing list