Hi Karsten > how are you measure the traffic you don't want to your Homer? Print stuff > in that Kamailio event route or something else?
Basically, I want to mirror sip messages to homer, only sip messages relevant to calls, not anything else which might be processed by kamailio. modules.inc:loadmodule "siptrace.so" modules.inc:modparam("siptrace", "trace_flag", 22); modules.inc:modparam("siptrace", "trace_on", 1) modules.inc:modparam("siptrace", "trace_mode", 1) modules.inc:modparam("siptrace", "hep_mode_on", 1) modules.inc:modparam("siptrace", "hep_version", 3) modules.inc:modparam("siptrace", "hep_capture_id", HEP_CAP_AGENT) modules.inc:modparam("siptrace", "duplicate_uri", HOMERSIPURI) I also use the xhttp interface for jsonrpc and a custom API. For this I have kamailio also listen to TCP port 8080 to have those API xhttp requests clearly separated from call traffic. But, as I understand, xhttp requests are initially handled as if they were sip requests and get processed request_route{} So my request route starts with: request_route { # Handle DMQ requests route(DMQ_CAPTURE); # Make sure we operate on the correct port (not on the xhttp one) if ($Rp != 5060 && $Rp != 5061) { xlog("L_ERROR", "REQUEST_ROUTE $rm to wrong port $Rp\n"); exit; } so all SIP method requests to port 8080 are being dropped. I process xhttp traffic with the appropriate event route and of course reject http requests to sip ports with the appropriate http error message. event_route[xhttp:request] { if ($avp(debug) > 0) { xlog("L_INFO", "$cfg(route): XHTTP Request to URI: $hu Port: $Rp BODY: $rb\n"); } if ($Rp != 8080) { # We got a HTTP Request on a sip port. Reject! xhttp_reply("418", "I'm a teapot", "text/html", "<html><body>I'm not a Web-Server!</body></html>"); exit; } if ($hu =~ "^/RPC") { ### KAMAILIO JSONRCP pass-through jsonrpc_dispatch(); } else if ($hu =~ "^/API") { ### IMPROWARE API [...] What I observe is the siptrace module being triggered right at the start of request_route. This makes sense, I want to mirror every sip message. But his also causes mirroring of the xhttp requests and replies to port 8080. Is there a way to prevent this? siptrace has an event route capable of filtering, as I understand it is only possible to filter on the SIP request method, not anything else: event_route[siptrace:msg] { if(is_method("KDMQ")) { drop(); } } Do I miss something? How can I prevent/filter xhttp requests to be mirrored by the siptrace module? Mit freundlichen Grüssen -Benoît Panizzon- -- I m p r o W a r e A G - Leiter Commerce Kunden ______________________________________________________ Zurlindenstrasse 29 Tel +41 61 826 93 00 CH-4133 Pratteln Fax +41 61 826 93 01 Schweiz Web http://www.imp.ch ______________________________________________________ __________________________________________________________ Kamailio - Users Mailing List - Non Commercial Discussions To unsubscribe send an email to sr-users-le...@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe: