sipcapture / heplify

Portable and Lightweight HEP Capture Agent for HOMER
https://sipcapture.org
GNU Affero General Public License v3.0
185 stars 66 forks source link

Heplify not capturing RTCP packets #196

Closed ksrigo closed 3 years ago

ksrigo commented 3 years ago

Hello,

I'm running heplify 1.62 on my freeswitch 1.10 (Alpine 3.12). I'm able to capture SIP packets and visualize in homer-ui however I can't see any rtcp paquets captured and hep_proto_5_default table is empty for this correlation_id. Different commands I have runned: ./heplify -hs "" -e -d rtcp -l debug ./heplify -i eth0 -hs HEPLIFY_SERVER:9060 -e -l debug -d rtcp,rtp,sdp

This is output I have, RTCP is always at 0

2020/11/17 23:59:17.819482 util.go:100: INFO Packets since last minute IPv4: 8, IPv6: 0, UDP: 8, TCP: 0, SCTP: 0, RTCP: 0, RTCPFail: 0, DNS: 0, duplicate: 0, fragments: 0, unknown: 0
2020/11/17 23:59:17.819907 sniffer.go:386: INFO Stats {received dropped-os dropped-int}: {51 0 0}
2020/11/17 23:59:17.821110 publisher.go:55: INFO Packets since last minute sent: 8

However when I collect RTCP details hepipe.js on the same machine it works fine.

Thanks in advance for your help.

lmangani commented 3 years ago

This is unclear how hepipe.js would be of comparison here, but RTCP to SIP correlation is all about the details. Do you actually see RTCP packets, besides those generated by freeswitch? Please attach SDP examples from working vs. not working sessions and we might spot something useful.

ksrigo commented 3 years ago

Sorry I was a bit unclear. Screenshot 2020-11-18 at 09 34 31

My SCP1 is configured to send SIP traffics to Homer (module proto_hep and siptrace) so when I'm using the hepipe.js on FS, I have RTCP details for SIP traffic going through FS (I have traffics not going through AS1 as well).

This is the callflow: SEP --> SCP --> AS

callflow

This is the INVITE from SCP to AS:

INVITE sip:3603@100001.v.XXXX.com SIP/2.0
Record-Route: <sip:X.X.0.253;lr;ftag=516707136;rr=scp;did=d.6d2771f1>
Record-Route: <sip:X.Y.33.129;lr;ftag=516707136;rr=vrf5412>
Via: SIP/2.0/UDP X.X.0.253:5060;branch=z9hG4bK977c.9a5d2be6.0
Via: SIP/2.0/UDP X.Y.33.129:5060;rport=5060;received=X.Y.33.129;branch=z9hG4bK977c.99a2f030995ba70e4f93d5e8cf3b386a.0
Via: SIP/2.0/UDP 192.168.107.86:5060;received=192.168.107.86;branch=z9hG4bK1197752138;rport=5060
From: "Srigo" <sip:45712@100001.v.XXXX.com>;tag=516707136
To: <sip:3603@100001.v.XXXX.com>
Call-ID: 861247289-5060-29@BJC.BGI.BAH.IG
CSeq: 281 INVITE
Contact: "Srigo" <sip:45712@192.168.107.86:5060>
Max-Forwards: 31
User-Agent: Grandstream WP820 1.0.5.5
Supported: replaces, path, timer, eventlist
Content-Type: application/sdp
Accept: application/sdp, application/dtmf-relay
Content-Length:   265
P-Visited-Network-ID: 5412
X-IB-Ori-Caller: 3912@100001.v.XXXX.com
X-IB-Caller: 3603.100001.v.XXXX.com
Privacy: none
P-Asserted-Identity: "45712" <sip:45712@100001.v.XXXX.com>
Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, NOTIFY

v=0
o=45712 8000 8000 IN IP4 192.168.107.86
s=SIP Call
c=IN IP4 192.168.107.86
t=0 0
m=audio 50040 RTP/AVP 0 8 9 101
a=sendrecv
a=rtpmap:0 PCMU/8000
a=ptime:20
a=rtpmap:8 PCMA/8000
a=rtpmap:9 G722/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15

200 OK from AS:

SIP/2.0 200 OK Via: SIP/2.0/UDP X.X.0.253:5060;branch=z9hG4bK977c.9a5d2be6.0 Via: SIP/2.0/UDP X.Y.33.129:5060;rport=5060;received=X.Y.33.129;branch=z9hG4bK977c.99a2f030995ba70e4f93d5e8cf3b386a.0 Via: SIP/2.0/UDP 192.168.107.86:5060;received=192.168.107.86;branch=z9hG4bK1197752138;rport=5060 Record-Route: <sip:198.19.0.253;lr;ftag=516707136;rr=scp;did=d.6d2771f1> Record-Route: <sip:X.Y.33.129;lr;ftag=516707136;rr=vrf5412> From: "Srigo" sip:45712@100001.v.XXXX.com;tag=516707136 To: sip:3603@100001.v.XXXX.com;tag=UamNyXH5F3m0r Call-ID: 861247289-5060-29@BJC.BGI.BAH.IG CSeq: 281 INVITE Contact: sip:3603@X.Z.33.71:5060;transport=udp User-Agent: XXX Sip-AS Accept: application/sdp Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY Supported: timer, path, replaces Allow-Events: talk, hold, conference, refer Content-Type: application/sdp Content-Disposition: session Content-Length: 242

v=0 o=root 1605676694 1605676695 IN IP4 X.Z.33.71 s=root c=IN IP4 X.Z.33.71 t=0 0 m=audio 31690 RTP/AVP 0 101 a=rtpmap:0 PCMU/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 a=ptime:20 a=rtcp:31691 IN IP4 X.Z.33.71

QOS Collected by on AS using hepipe.js:

qos

Now my issue is for the same scenario, if I run heplify agent to collect RTCP (obvisouly it will collect SIP as well), it seems it's not capturing RTCP only SIP traffics are capture using heplify.

lmangani commented 3 years ago

Closing. Please reopen if you still are experiencing this issue with the latest available version of the stack.