sipcapture / heplify

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

Missing initial INVITE when filtering out NOTIFY methods #193

Closed noahrotheray closed 3 years ago

noahrotheray commented 3 years ago

Hi Guys,

Ive got a Homer stack monitoring -+20 FreeSwitch servers.

Ive picked up an issue with 1 of the boxes. All the calls are being saved to the heplify-server without the initial INVITE for the calls, it does however contain INVITES if they occurred during the call (forwarding, proxy auth etc).

image

Extracting the PCAP also does not have the initial INVITE. Every other server, that is also using heplify, does not have this problem.

This box specifically has the below heplify configs: Version: 1.61 service file: [Unit] Description=Captures packets from wire and sends them to Homer After=network.target

[Service] ExecStart=/usr/bin/heplify -i any -hn SIPZACPT1 -hs homer.server.com:9060 -di OPTIONS,REGISTER,NOTIFY -d rtp,sip,rtcp ExecStop=/bin/kill ${MAINPID} Restart=on-failure RestartSec=10s Type=simple

[Install] WantedBy=multi-user.target

Let me know if you need anything else :)

Noah

noahrotheray commented 3 years ago

Did some more testing:

Seems if NOTIFY is specified as part of the -di flag, the inital INVITE is missing? Think this needs more testing.

Current binary command im using now:

/usr/local/bin/heplify -i any -hn SIPZACPT1 -hs homer.server.com:9060 -di [OPTIONS,REGISTER] -d rtp,sip,rtcp

lmangani commented 3 years ago

Please show us an example of the initial INVITEs to see how they might be triggering the filter

negbie commented 3 years ago

-di will discard uninteresting packets by any string. Often you will find the Allow header in invites like: Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE

and that's probably your issue. So just use the right flag -dim to filter SIP methods.

noahrotheray commented 3 years ago

Thanks Negbie, this makes sense.