[SR-Users] topos and PRACK problem

Daniel-Constantin Mierla miconda at gmail.com
Wed May 3 17:16:40 CEST 2017


Hello,

no time yet and, with the current admin load related to Kamailio World
event, it is unlikely to find enough time to dive in any deep
troubleshooting before the event next week.

Cheers,
Daniel

On 03.05.17 15:21, Sergey Basov wrote:
> Hi Daniel.
>
> Do you have time to look at traces and code according to bye after 180
> before 200 OK?
> --
> Best regards,
> Sergey Basov                     e-mail: sergey.v.basov at gmail.com
>
>
> 2017-04-28 11:58 GMT+03:00 Sergey Basov <sergey.v.basov at gmail.com>:
>> I do more tests now without PRACK.
>>
>> I try to terminate SIP call with BYE before receiving 200 OK. It was
>> failed due to empty topos_d.b_contact.
>>
>> I have update https://github.com/kamailio/kamailio/pull/1097
>>
>> After this I have no problem with BYE after 180 and/or 183 and no
>> problem with PRACK.
>> Daniel, I will send you dump for problem with BYE after 180 Ringing in
>> private e-mail.
>>
>> Thank you.
>>
>> --
>> Best regards,
>> Sergey Basov                     e-mail: sergey.v.basov at gmail.com
>>
>>
>> 2017-04-28 10:44 GMT+03:00 Daniel-Constantin Mierla <miconda at gmail.com>:
>>> 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
>>>

-- 
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