sipcapture / homer-app

HOMER 7.x Front-End and API Server
http://sipcapture.io
GNU Affero General Public License v3.0
207 stars 85 forks source link

Flow not showing RTCP packets in some cases #379

Closed AlexeyOplachko closed 4 years ago

AlexeyOplachko commented 4 years ago

In some cases "transaction" request doesn't have RTCP packets even though call has RTCP related to it. We have implemented working workaround for Messages, but it's still a case for Flow.

Related issues:

adubovikov commented 4 years ago

@hvspa can you please provide us your correlation map for SIP calls ? Looks like the issue is in your correlation mapping and not in the UI code

hvspa commented 4 years ago

hi ALexandr, can you please help me to find that mapping info? where is it stored? thanks

adubovikov commented 4 years ago

[image: Screenshot from 2020-08-12 15-49-02.png] Settings -> Mapping

On Wed, 12 Aug 2020 at 15:46, hvspa notifications@github.com wrote:

hi ALexandr, can you please help me to find that mapping info? where is it stored? thanks

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/sipcapture/homer-app/issues/379#issuecomment-672880718, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABCN2JP7OGOWQQBUKXPLQTDSAKMMZANCNFSM4P3F3D5A .

hvspa commented 4 years ago

thanks ALexandr,... here it is mapping

adubovikov commented 4 years ago

Screenshot from 2020-08-12 15-49-02

I have asked for SIP call correlation map

hvspa commented 4 years ago

[ { "source_field": "data_header.callid", "lookup_id": 100, "lookup_profile": "default", "lookup_field": "sid", "lookup_range": [ -300, 200 ] }, { "source_field": "data_header.callid", "lookup_id": 5, "lookup_profile": "call", "lookup_field": "sid", "lookup_range": [ -300, 200 ] }, { "source_field": "protocol_header.correlation_id", "lookup_id": 1, "lookup_profile": "call", "lookup_field": "sid", "lookup_range": [ -300, 200 ] }, { "source_field": "data_header.callid", "lookup_id": 1, "lookup_profile": "call", "lookup_field": "data_header->>'callid'", "lookup_range": [ -300, 200 ], "input_function_js": "var returnData=[]; for (var i = 0; i < data.length; i++) { returnData.push(data[i]+'_b2b-1'); }; returnData;" } ]

[ { "id": "sid", "type": "string", "index": "secondary", "name": "Session ID", "form_type": "input", "position": 1, "sid_type": true, "hide": false }, { "id": "data_header.method", "name": "SIP Method", "type": "string", "index": "none", "form_type": "input", "form_default": [ "INVITE", "BYE", "100", "200", "183", "CANCEL" ], "position": 2, "skip": false, "hide": false, "method_type": true }, { "id": "protocol_header.correlation_id", "name": "Correlation ID", "type": "string", "index": "none", "form_type": "input", "position": 3, "skip": false, "hide": true, "sid_type": true }, { "id": "data_header.callid", "name": "CallID", "type": "string", "index": "none", "form_type": "input", "position": 4, "skip": false, "hide": true, "sid_type": true }, { "id": "data_header.ruri_user", "name": "RURI user", "type": "string", "index": "none", "form_type": "input", "position": 5, "skip": false, "hide": true }, { "id": "data_header.from_user", "name": "SIP From user", "type": "string", "index": "none", "form_type": "input", "position": 6, "skip": false, "hide": false }, { "id": "data_header.to_user", "name": "SIP To user", "type": "string", "index": "none", "form_type": "input", "position": 7, "skip": false, "hide": false }, { "id": "protocol_header.srcIp", "name": "Source IP", "type": "string", "index": "none", "form_type": "input", "position": 8, "skip": false, "hide": false }, { "id": "protocol_header.srcPort", "name": "Src Port", "type": "integer", "index": "none", "form_type": "input", "position": 9, "skip": false, "hide": false }, { "id": "protocol_header.dstIp", "name": "Destination IP", "type": "string", "index": "none", "form_type": "input", "position": 10, "skip": false, "hide": false }, { "id": "protocol_header.dstPort", "name": "Dst Port", "type": "integer", "index": "none", "form_type": "input", "position": 11, "skip": false, "hide": false }, { "id": "protocol_header.timeSeconds", "name": "Timeseconds", "type": "integer", "index": "none", "form_type": "input", "position": 12, "skip": false, "hide": true }, { "id": "protocol_header.timeUseconds", "name": "Usecond time", "type": "integer", "index": "none", "form_type": "input", "position": 13, "skip": false, "hide": true }, { "id": "protocol_header.payloadType", "name": "Payload type", "type": "integer", "index": "none", "form_type": "input", "position": 14, "skip": false, "hide": true }, { "id": "protocol_header.protocolFamily", "name": "Proto Family", "type": "integer", "index": "none", "form_type": "input", "position": 15, "skip": false, "hide": true }, { "id": "protocol_header.protocol", "name": "Protocol Type", "type": "integer", "index": "none", "form_type": "input", "position": 16, "skip": false, "hide": true }, { "id": "protocol_header.captureId", "name": "Capture ID", "type": "integer", "index": "none", "form_type": "input", "position": 17, "skip": false, "hide": true }, { "id": "protocol_header.capturePass", "name": "Capture Pass", "type": "string", "index": "none", "form_type": "input", "position": 18, "skip": true, "hide": true }, { "id": "data_header.cseq", "name": "SIP Cseq", "type": "integer", "index": "none", "form_type": "input", "position": 19, "skip": false, "hide": true }, { "id": "data_header.from_tag", "name": "SIP From tag", "type": "string", "index": "none", "form_type": "input", "position": 20, "skip": false, "hide": true }, { "id": "data_header.protocol", "name": "SIP Protocol", "type": "string", "index": "none", "form_type": "input", "position": 21, "skip": false, "hide": true }, { "id": "raw", "name": "SIP RAW", "type": "string", "index": "none", "form_type": "input", "position": 22, "skip": true, "hide": true }, { "id": "node", "name": "Node", "type": "string", "index": "none", "form_type": "multiselect", "form_default": [ { "value": "localnode", "name": "Local node" } ], "_form_api": "/database/node/list", "system_param": true, "mapping": "param.location.node", "position": 23, "skip": true, "hide": true } ]

adubovikov commented 4 years ago

looks good, you have to receive RTCP messages in the post request. Please activate debug of homer-app and check if you don't have any errors.

hvspa commented 4 years ago

if you are about following setting, it is still set to debug: "system_settings": { "_comment": "loglevel can be: fatal, error, warn, info, debug, trace", "hostname": "b4966520d31a", "loglevel": "debug", "logname": "homer-app.log", "logpath": "/usr/local/homer", "logstdout": false, "uuid": "d71481eb-5c63-4d22-98f7-1ef823d3b17b" } }

and this is the error i can see in the log:

{"level":"info","module":"gorm","msg":"SELECT * FROM \"hep_proto_5_call\" WHERE (sid in ($1) and create_date between $2 and $3)","time":"2020-08-12T17:09:36Z","type":"sql"} {"level":"error","msg":"GetTransactionData: We have got error: pq: relation \"hep_proto_5_call\" does not exist","time":"2020-08-12T17:09:36Z"}

{"level":"info","module":"gorm","msg":"SELECT * FROM \"hep_proto_5_call\" WHERE (sid in ($1) and create_date between $2 and $3)","time":"2020-08-12T17:09:51Z","type":"sql"} {"level":"error","msg":"GetTransactionData: We have got error: pq: relation \"hep_proto_5_call\" does not exist","time":"2020-08-12T17:09:51Z"}

adubovikov commented 4 years ago

ok, please change in the settings:

{
"source_field": "data_header.callid",
"lookup_id": 5,
"lookup_profile": "call",
"lookup_field": "sid",
"lookup_range": [
-300,
200
]
},

should be:

"lookup_profile: "default"

hvspa commented 4 years ago

yeah, that resolved the issue, and now i am seeing RTP endpoints IPs in the flow. thanks very much. is it possible to include this setting in the default config, so we dont have to make this change manually after every install?

adubovikov commented 4 years ago

done.

https://github.com/sipcapture/homer-app/commit/74d64f6a6687f33ad32638ff400f85d3c1bb47aa#diff-317324d5206fbace25450aa7d0872f8f

adubovikov commented 4 years ago

thanks for report!

hvspa commented 4 years ago

thanks very much Alexandr for quick fix.

adubovikov commented 4 years ago

you are welcome @hvspa . Don't forget to star the homer project , not only homer-ui :-)