[SR-Users] dlg.end_dlg on RTP timeout

Miteshkumar Thakkar mitesh.thakkar at plivo.com
Thu Feb 13 11:25:10 CET 2020



> On 13-Feb-2020, at 3:31 PM, Daniel-Constantin Mierla <miconda at gmail.com> wrote:
> 
> 
> 
> On 13.02.20 10:43, Miteshkumar Thakkar wrote:
>> 
>> 
>>> On 22-Jan-2020, at 1:57 PM, Daniel-Constantin Mierla <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>>> 
>>> Have you run rtpengine in debug mode to see if it gives some hints why is retrying the same command?
>>> 
>>> Is it happening for every call and coming over the same connection?
>>> 
>>> I do not know if this is by design, but if there is something to be tune, I think the best place is inside RTPEngine, geting the response that dialog is not found seems the right one from my point of view, given that the rpc command can be used by other apps.
>>> 
>> Agree. I have posted the same to RTPEngine. They have taken care and created a patch for that. Thank you very much for help.
> OK, good to know.
> 
> 
> 
>> 
>> A small concern:
>> When Kamailio receives an event dlg.terminate_dlg from RTPEngine, I am calling KSR.xmlrpc.dispatch_rpc() to process the event. Functionality is working fine. It is ending the dialog but with that it is generating below errors.
>> 
>> 27(179) ERROR: pv [pv_core.c:704]: pv_get_callid(): cannot parse Call-Id header
>> 27(179) ERROR: dialog [dlg_handlers.c:679]: pre_match_parse(): bad request or missing CALLID/TO hdr :-/
>> 
>> Should I worry about it?
> Do you access $ci and use other dialog module functions when processing the xmlrpc command (inside the xmlrpc event route callback function)?
> 
Not really. Here is what I am doing:

    local rpc_method = KSR.pv.get("$rm") or ""
    if rpc_method == "POST" or rpc_method == "GET" then
        if not (KSR.xmlrpc.dispatch_rpc()) then
            logger.log("err", "error")
        end
    end

-Mitesh
> Cheers,
> Daniel
> 
>> 
>>> 
>>> Cheers,
>>> Daniel
>>> 
>>> On 22.01.20 08:34, Miteshkumar Thakkar wrote:
>>>> No, that is not the case. It is visiting K+RTPENGINE only once.
>>>> 
>>>> Mitesh
>>>> 
>>>>> On 22-Jan-2020, at 1:00 PM, Daniel-Constantin Mierla <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>>>>> 
>>>>> Hello,
>>>>> 
>>>>> is the call looped via rtpengine twice? Like
>>>>> 
>>>>> UA1 ---- K+RTPENGINE ---- SIP Server ----- K+RTPENGINE ---- UA2
>>>>> 
>>>>> Cheers,
>>>>> Daniel
>>>>> 
>>>>> On 22.01.20 08:21, Miteshkumar Thakkar wrote:
>>>>>> Hi,
>>>>>> 
>>>>>> Any thoughts on this?
>>>>>> 
>>>>>> Mitesh
>>>>>> 
>>>>>>> On 26-Dec-2019, at 1:36 PM, Miteshkumar Thakkar <mitesh.thakkar at plivo.com <mailto:mitesh.thakkar at plivo.com>> wrote:
>>>>>>> 
>>>>>>> This is really helpful development.
>>>>>>> I am facing one issue, when I use this.
>>>>>>> RTPEngine is sending two "dlg.terminate_dlg" events for single call to kamailio with same call-id but reversed to-tag and from-tag in second event. I believe this is due to two separate RTP streams.
>>>>>>> Problem here is that - in first event kamailio terminates the call, hence when second event comes, kamailio says - call-id not found and send response back to RTPEngine. But still RTPEngine keeps sending that event message for three more times. Kamailio has to respond to it with call-id not found. Which is overhead. Not recommended for production environment.
>>>>>>> How can I avoid this? Any help is appreciated.
>>>>>>> Thank you
>>>>>>> Mitesh
>>>>>>> That's great, thank you!
>>>>>>> Cheers,
>>>>>>> Daniel
>>>>>>> On 06.09.18 11:15, Richard Fuchs wrote:
>>>>>>> > This is now supported as per
>>>>>>> > https://github.com/sipwise/rtpengine/commit/89084da8d820919b44a0244e16e6701822070a72 <https://github.com/sipwise/rtpengine/commit/89084da8d820919b44a0244e16e6701822070a72>
>>>>>>> >
>>>>>>> > Cheers
>>>>>>> >
>>>>>>> > On 2018-09-05 05:39, Daniel-Constantin Mierla wrote:
>>>>>>> >>
>>>>>>> >> There is the dlg.terminate_dlg rpc command that requires callid,
>>>>>>> >> from-tag and to-tag as parameters:
>>>>>>> >>
>>>>>>> >>   *
>>>>>>> >> https://kamailio.org/docs/modules/5.1.x/modules/dialog.html#dlg.r.terminate_dlg <https://kamailio.org/docs/modules/5.1.x/modules/dialog.html#dlg.r.terminate_dlg>
>>>>>>> >>
>>>>>>> >> So it expects something like:
>>>>>>> >>
>>>>>>> >> <?xml version="1.0" encoding="UTF-8"?>
>>>>>>> >> <methodCall>
>>>>>>> >> <methodName>dlg.terminate_dlg</methodName>
>>>>>>> >> <params>
>>>>>>> >> <param><value><string>_CALLID_VALUE__</string></value></param>
>>>>>>> >> <param><value><string>_FROM_TAG_VALUE__</string></value></param>
>>>>>>> >> <param><value><string>_TO_TAG_VALUE__</string></value></param>
>>>>>>> >> </params>
>>>>>>> >> </methodCall>
>>>>>>> >>
>>>>>>> >> I planned to make the from-tag and to-tag optional for quite some
>>>>>>> >> time, but didn't get the time for it yet.
>>>>>>> >>
>>>>>>> >> Cheers,
>>>>>>> >> Daniel
>>>>>>> >>
>>>>>>> >> On 05.09.18 08:52, Richard Fuchs wrote:
>>>>>>> >>> Yup that's exactly right.
>>>>>>> >>>
>>>>>>> >>> It would be fairly simple to implement an additional XMLRPC format
>>>>>>> >>> if there's a particular one that's more friendly towards Kamailio.
>>>>>>> >>>
>>>>>>> >>> Cheers
>>>>>>> >>>
>>>>>>> >>> On 2018-09-05 02:42, Daniel-Constantin Mierla wrote:
>>>>>>> >>>>
>>>>>>> >>>> Looking quickly at the readme of rtpengine application and digging
>>>>>>> >>>> a bit with google, it is something like rtpengine has to be started
>>>>>>> >>>> with
>>>>>>> >>>>
>>>>>>> >>>> -b http(s)://myrpcserver.ip/path -x 1
>>>>>>> >>>>
>>>>>>> >>>> and then the xmlrpc request is going to be sent to that url, having
>>>>>>> >>>> a format like:
>>>>>>> >>>>
>>>>>>> >>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>>> >>>> <methodCall>
>>>>>>> >>>> <methodName>teardown</methodName>
>>>>>>> >>>> <params>
>>>>>>> >>>> <param><value><string>_CALLID_VALUE__</string></value></param>
>>>>>>> >>>> </params>
>>>>>>> >>>> </methodCall>
>>>>>>> >>>>
>>>>>>> >>>> Is it right? If yes, then I can try to make a sample config that
>>>>>>> >>>> could handle it using xmlops, xhttp and jsonrpcs modules.
>>>>>>> >>>>
>>>>>>> >>>> Cheers,
>>>>>>> >>>> Daniel
>>>>>>> >>>>
>>>>>>> >>>>
>>>>>>> >>>> On 05.09.18 08:24, Richard Fuchs wrote:
>>>>>>> >>>>> It does an XMLRPC callback. Currently there's two formats for it,
>>>>>>> >>>>> one is a sems sbc teardown request (using the from-tag), the other
>>>>>>> >>>>> is a generic "teardown" command using the call ID.
>>>>>>> >>>>>
>>>>>>> >>>>> Cheers
>>>>>>> >>>>>
>>>>>>> >>>>> On 2018-09-04 07:52, Daniel-Constantin Mierla wrote:
>>>>>>> >>>>>>
>>>>>>> >>>>>> Hello,
>>>>>>> >>>>>>
>>>>>>> >>>>>> what do you get from rtpengine on rtp timeout? An RPC call back
>>>>>>> >>>>>> or an http request?
>>>>>>> >>>>>>
>>>>>>> >>>>>> Cheers,
>>>>>>> >>>>>> Daniel
>>>>>>> >>>>>>
>>>>>>> >>>>>>
>>>>>>> >>>>>> On 04.09.18 12:48, Igor Olhovskiy wrote:
>>>>>>> >>>>>>> Hi all!
>>>>>>> >>>>>>>
>>>>>>> >>>>>>> Is there any way to end dialog in Kamailio on RTP Timeout event
>>>>>>> >>>>>>> on RTPEngine?
>>>>>>> >>>>>>>
>>>>>>> >>>>>>> Or only look at logs/redis database with external tool?
>>>>>>> >>>>>>>
>>>>>>> >>>>>>> Regards, Igor
>>>>>>> >>>>>>>
>>>>>>> >>>>>>>
>>>>>>> >>>>>>> _______________________________________________
>>>>>>> >>>>>>> Kamailio (SER) - Users Mailing List
>>>>>>> >>>>>>> sr-users at lists.kamailio.org <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
>>>>>>> >>>>>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
>>>>>>> >>>>>>
>>>>>>> >>>>>> -- 
>>>>>>> >>>>>> Daniel-Constantin Mierla -- www.asipto.com <http://www.asipto.com/>
>>>>>>> >>>>>> www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
>>>>>>> >>>>>> Kamailio World Conference -- www.kamailioworld.com <http://www.kamailioworld.com/>
>>>>>>> >>>>>> Kamailio Advanced Training, Nov 12-14, 2018, in Berlin -- www.asipto.com <http://www.asipto.com/>
>>>>>>> >>>>>>
>>>>>>> >>>>>>
>>>>>>> >>>>>> _______________________________________________
>>>>>>> >>>>>> Kamailio (SER) - Users Mailing List
>>>>>>> >>>>>> sr-users at lists.kamailio.org <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
>>>>>>> >>>>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>> _______________________________________________
>>>>>>> >>>>> Kamailio (SER) - Users Mailing List
>>>>>>> >>>>> sr-users at lists.kamailio.org <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
>>>>>>> >>>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
>>>>>>> >>>>
>>>>>>> >>>> -- 
>>>>>>> >>>> Daniel-Constantin Mierla -- www.asipto.com <http://www.asipto.com/>
>>>>>>> >>>> www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
>>>>>>> >>>> Kamailio World Conference -- www.kamailioworld.com <http://www.kamailioworld.com/>
>>>>>>> >>>> Kamailio Advanced Training, Nov 12-14, 2018, in Berlin -- www.asipto.com <http://www.asipto.com/>
>>>>>>> >>>
>>>>>>> >>>
>>>>>>> >>> _______________________________________________
>>>>>>> >>> Kamailio (SER) - Users Mailing List
>>>>>>> >>> sr-users at lists.kamailio.org <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
>>>>>>> >>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
>>>>>>> >>
>>>>>>> >> -- 
>>>>>>> >> Daniel-Constantin Mierla -- www.asipto.com <http://www.asipto.com/>
>>>>>>> >> www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
>>>>>>> >> Kamailio World Conference -- www.kamailioworld.com <http://www.kamailioworld.com/>
>>>>>>> >> Kamailio Advanced Training, Nov 12-14, 2018, in Berlin -- www.asipto.com <http://www.asipto.com/>
>>>>>>> >
>>>>>>> >
>>>>>>> > _______________________________________________
>>>>>>> > Kamailio (SER) - Users Mailing List
>>>>>>> > sr-users at lists.kamailio.org <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
>>>>>>> > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
>>>>>>> -- 
>>>>>>> Daniel-Constantin Mierla -- www.asipto.com <http://www.asipto.com/>
>>>>>>> www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
>>>>>>> Kamailio World Conference -- www.kamailioworld.com <http://www.kamailioworld.com/>
>>>>>>> Kamailio Advanced Training, Nov 12-14, 2018, in Berlin -- www.asipto.com <http://www.asipto.com/>
>>>>>> 
>>>>>> 
>>>>>> _______________________________________________
>>>>>> Kamailio (SER) - Users Mailing List
>>>>>> sr-users at lists.kamailio.org <mailto:sr-users at lists.kamailio.org>
>>>>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
>>>>> -- 
>>>>> Daniel-Constantin Mierla -- www.asipto.com <http://www.asipto.com/>
>>>>> www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
>>>>> Kamailio Advanced Training - March 9-11, 2020, Berlin - www.asipto.com <http://www.asipto.com/>
>>>>> Kamailio World Conference - April 27-29, 2020, in Berlin -- www.kamailioworld.com <http://www.kamailioworld.com/>
>>> -- 
>>> Daniel-Constantin Mierla -- www.asipto.com <http://www.asipto.com/>
>>> www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
>>> Kamailio Advanced Training - March 9-11, 2020, Berlin - www.asipto.com <http://www.asipto.com/>
>>> Kamailio World Conference - April 27-29, 2020, in Berlin -- www.kamailioworld.com <http://www.kamailioworld.com/>
> -- 
> Daniel-Constantin Mierla -- www.asipto.com <http://www.asipto.com/>
> www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
> Kamailio Advanced Training - March 9-11, 2020, Berlin - www.asipto.com <http://www.asipto.com/>
> Kamailio World Conference - April 27-29, 2020, in Berlin -- www.kamailioworld.com <http://www.kamailioworld.com/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20200213/6204abaf/attachment.html>


More information about the sr-users mailing list