[SR-Users] topos and PRACK problem

Daniel-Constantin Mierla miconda at gmail.com
Fri Apr 28 09:44:19 CEST 2017


I think the BYE for early dialog branches should follow same rules as
with PRACK. If a 200ok was not received yet for INVITE, BYE can be sent
to close a single branch, if the caller wants to terminate the entire
call, then it has to send CANCEL at that moment.

I haven't had the time to look at traces yet...

Cheers,
Daniel

On 28.04.17 08:56, Sergey Basov wrote:
> Sorry, this not regarding prack.
>
> This for correct contact for bye without 200 OK.
>
> In call-to-2-dest-bye-on-caller-side.pcap file, you can see correct
> handling of the BYE request with contact from 180 Ringing
> --
> Best regards,
> Sergey Basov                     e-mail: sergey.v.basov at gmail.com
>
>
> 2017-04-28 9:52 GMT+03:00 Daniel-Constantin Mierla <miconda at gmail.com>:
>> Hello,
>>
>> were the two branches both requiring prack?
>>
>> Cheers,
>> Daniel
>>
>>
>> On 28.04.17 08:47, Sergey Basov wrote:
>>> Hi Daniel.
>>>
>>> I does not see problem with parallel forking to 2 destinations.
>>>
>>> I will send 2 dumps in private email.
>>> --
>>> Best regards,
>>> Sergey Basov                     e-mail: sergey.v.basov at gmail.com
>>>
>>>
>>> 2017-04-27 15:34 GMT+03:00 Sergey Basov <sergey.v.basov at gmail.com>:
>>>> May be, but there is one more problem.
>>>>
>>>> I just test call to CSIPSimple softphone, it does not returm 183, it
>>>> just return 180 Ringing.Call was not answered for some time, and I
>>>> decide to terminate it from the caller side.
>>>> BYE massege goes wrong, to recor-route value, as PRACK before, because
>>>> contact from CSIPSimple side was not get from 180, call was not
>>>> answered so 200 OK was not send.
>>>> And topos doea not have contact value to send by to CSIPSimple.
>>>>
>>>> I will send dump to your private e-mail, it has real IP adreses.
>>>>
>>>> Thank you.
>>>> --
>>>> Best regards,
>>>> Sergey Basov                     e-mail: sergey.v.basov at gmail.com
>>>>
>>>>
>>>> 2017-04-27 15:12 GMT+03:00 Daniel-Constantin Mierla <miconda at gmail.com>:
>>>>> Hello,
>>>>>
>>>>> although I just looked briefly at the patch, I think that works in case
>>>>> of a single branch sent out, but if there is going to be a parallel
>>>>> forking to two or more destinations, this is not going to work.
>>>>>
>>>>> Cheers,
>>>>> Daniel
>>>>>
>>>>> On 27.04.17 13:33, Sergey Basov wrote:
>>>>>> Hi, Daniel.
>>>>>>
>>>>>> Seems I found how to fix PRACK handling.
>>>>>>
>>>>>> It works for me.
>>>>>>
>>>>>> please lock at https://github.com/kamailio/kamailio/pull/1097
>>>>>>
>>>>>> Thank you.
>>>>>> --
>>>>>> Best regards,
>>>>>> Sergey Basov                     e-mail: sergey.v.basov at gmail.com
>>>>>>
>>>>>>
>>>>>> 2017-04-27 13:04 GMT+03:00 Sergey Basov <sergey.v.basov at gmail.com>:
>>>>>>> Yes, you are right.
>>>>>>>
>>>>>>> But now before 200 OK there empty field b_contact.
>>>>>>>
>>>>>>> May be you does not populate it from contact in 183 Progress?
>>>>>>>
>>>>>>> I see that this field is not empty only after 200 OK with a Contact field.
>>>>>>> --
>>>>>>> Best regards,
>>>>>>> Sergey Basov                     e-mail: sergey.v.basov at gmail.com
>>>>>>>
>>>>>>>
>>>>>>> 2017-04-27 12:37 GMT+03:00 Daniel-Constantin Mierla <miconda at gmail.com>:
>>>>>>>> Hello,
>>>>>>>>
>>>>>>>> thanks for troubleshooting further. I haven't got the time to look at
>>>>>>>> the source code, but I expect that the b-leg attributes (contact, record
>>>>>>>> routes) to be set on 200ok for dialog (topos_d). I think for PRACK, the
>>>>>>>> routing information should be stored and taken from transaction (topos_t).
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> Daniel
>>>>>>>>
>>>>>>>> On 27.04.17 11:29, Sergey Basov wrote:
>>>>>>>>> Hi, Daniel.
>>>>>>>>>
>>>>>>>>> I just done one more test topos with re-invite which comes from caller
>>>>>>>>> to callee, same direction as PRACK.
>>>>>>>>>
>>>>>>>>> And I found that, in case of prack, b_contact field is empty...
>>>>>>>>>
>>>>>>>>> Please find attached debug=3 part of re-invite message.
>>>>>>>>>
>>>>>>>>> Hope it helps.
>>>>>>>>> --
>>>>>>>>> Best regards,
>>>>>>>>> Sergey Basov                     e-mail: sergey.v.basov at gmail.com
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2017-04-27 10:30 GMT+03:00 Sergey Basov <sergey.v.basov at gmail.com>:
>>>>>>>>>> Hi, Daniel
>>>>>>>>>>
>>>>>>>>>> Please look at attached part of debug=3 while receiving and parsing PRACK.
>>>>>>>>>> At line 208 seems rr module does not find correct part of record_route
>>>>>>>>>> which in DB consists from 2 parts.
>>>>>>>>>>
>>>>>>>>>> So at line 219 and later uac module cannot restore uris.
>>>>>>>>>>
>>>>>>>>>> Thank you.
>>>>>>>>>> --
>>>>>>>>>> Best regards,
>>>>>>>>>> Sergey Basov                     e-mail: sergey.v.basov at gmail.com
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2017-04-26 17:08 GMT+03:00 Sergey Basov <sergey.v.basov at gmail.com>:
>>>>>>>>>>> Thanks for workaround.
>>>>>>>>>>>
>>>>>>>>>>> But I will wait for you solution )
>>>>>>>>>>>
>>>>>>>>>>> I ready for testing )
>>>>>>>>>>>
>>>>>>>>>>> Thank you Daniel for your work!
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Best regards,
>>>>>>>>>>> Sergey Basov                     e-mail: sergey.v.basov at gmail.com
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2017-04-26 16:57 GMT+03:00 Daniel-Constantin Mierla <miconda at gmail.com>:
>>>>>>>>>>>> Hello,
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On 26.04.17 14:53, Sergey Basov wrote:
>>>>>>>>>>>>> Hi All.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I have just try to test topos with GW which requires PRACK.
>>>>>>>>>>>>>
>>>>>>>>>>>>> As you can see UA at packet 21 send PRACK to topos contact, but after
>>>>>>>>>>>>> topos, on other kamailio side in PRACK request line present not
>>>>>>>>>>>>> kontact but record-route header.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Can you fix it?
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>> probably needs to look into the code. If you need a quick workaround,
>>>>>>>>>>>> try to remove Supported header from INVITE so the callee should no
>>>>>>>>>>>> longer Require 100rel.
>>>>>>>>>>>>
>>>>>>>>>>>> Cheers,
>>>>>>>>>>>> Daniel
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Daniel-Constantin Mierla
>>>>>>>>>>>> www.twitter.com/miconda -- www.linkedin.com/in/miconda
>>>>>>>>>>>> Kamailio Advanced Training - May 22-24 (USA) - www.asipto.com
>>>>>>>>>>>> Kamailio World Conference - May 8-10, 2017 - www.kamailioworld.com
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Kamailio (SER) - Users Mailing List
>>>>>>>>>>>> sr-users at lists.kamailio.org
>>>>>>>>>>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>>>>>> --
>>>>>>>> Daniel-Constantin Mierla
>>>>>>>> www.twitter.com/miconda -- www.linkedin.com/in/miconda
>>>>>>>> Kamailio Advanced Training - May 22-24 (USA) - www.asipto.com
>>>>>>>> Kamailio World Conference - May 8-10, 2017 - www.kamailioworld.com
>>>>>>>>
>>>>> --
>>>>> Daniel-Constantin Mierla
>>>>> www.twitter.com/miconda -- www.linkedin.com/in/miconda
>>>>> Kamailio Advanced Training - May 22-24 (USA) - www.asipto.com
>>>>> Kamailio World Conference - May 8-10, 2017 - www.kamailioworld.com
>>>>>
>> --
>> Daniel-Constantin Mierla
>> www.twitter.com/miconda -- www.linkedin.com/in/miconda
>> Kamailio Advanced Training - May 22-24 (USA) - www.asipto.com
>> Kamailio World Conference - May 8-10, 2017 - www.kamailioworld.com
>>

-- 
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - May 22-24 (USA) - www.asipto.com
Kamailio World Conference - May 8-10, 2017 - www.kamailioworld.com




More information about the sr-users mailing list