Hi
Running Kamailio Registrar Node + rtpengine without dialog module, only TRX module.
Situation: Some customer are in ranges to which RTP can directly be routed, some are not.
So rtpengine shall be engaged only when backhauling of the rtp stream is required.
On a message from a CPE, this is done by checking $si and on a message to the CPE by checking $(ulc(aor=>addr)[$T_branch_idx]{uri.host});
On a BYE, rtpengine_delete() is called no matter if RTP was backhauled or not. If rtpengine does not find the call to delete, no harm happens.
But now I struggle with Session Refresh Re-Invites TO the CPE as they are routed very early on and do not pass the whole location lookup stuff, therefore I have no access to the aor=>addr to determine if the destination needs backhauling or not.
So the obvious solution which came to my mind is to call rtpengine_query() and see if it is finding the call and if so, call rtpengine_manage() to keep backhauling traffic on the Re-Invites refrreshing the session.
Unfortunately, I found no way to check if rtpengine_query finds the call. Did I miss something?
Hello,
Maybe a bug ? This is with Kamailio 5.6.4.
I'm trying to use KEMI (python) with xhttp module event_callback function. From the callback function, I'm using the following KEMI function (test example):
KSR.xhttp.xhttp_reply(404, "Not Found", "text/html", "<html><body>OK</body></html>")
This does not work. The response body is not sent back in the reply. In the logs I see the following:
6(38195) ERROR: <core> [core/parser/parse_fline.c:271]: parse_first_line(): parse_first_line: bad message (offset: 16) 6(38195) ERROR: <core> [core/parser/msg_parser.c:749]: parse_msg(): ERROR: parse_msg: message=<HTTP/1.1 404 Not Found Sia: SIP/2.0/TCP 127.0.0.1:63090 Content-Type: text/html Server: kamailio (5.6.4 (x86_64/linux)) Content-Length: 28
<html><body>OK</body></html>> 6(38195) ERROR: <core> [core/msg_translator.c:3256]: build_sip_msg_from_buf(): parsing failed
When I do the same thing using Kamailio script, it works.
Also, in KEMI python if I use "jsonrpcs.dispatch" instead of "xhttp.xhttp_reply", I don't have this issue. E.g.:
KSR.jsonrpcs.dispatch()
It seems that when using KEMI "xhttp.xhttp_reply", Kamailio tries to parse the HTTP response as SIP, which fails.
Regards, Nicolas.
This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.