Open L-I-Am opened 3 years ago
What OS are you running? If you are using macOS, but sure to run sudo RtcCallMonitor
to run the application with elevated privileges.
Hi, thank you for the quick response! I'm running on ubuntu. I run it using sudo dotnet run
as stated on your repo. This is using dotnet 5.0.201 .
I just pushed a change that should fix your issue.
this does seem to fix the error but now a new one rose.
<3>RtcCallMonitor.Worker[0] Socket.IOControl handles Windows-specific control codes and is not supported on this platform.
It seems IOControl is not supported for Linux.
It looks likeIOControl
is in fact Windows only, and SetRawSocketOption
should be used as a cross platform replacement. I'll see if I can get it running next week, otherwise PRs are welcome!
I haven't worked with .NET before, so I won't be much help here. Thank you for taking a look at it!
Hi, I see you've pushed a commit with the commit-message "Refactor socket options for cross-platform compatibility", I assumed this would've fixed the issue, but it seems it's still using the IOControl. I just wanted to inform you that I've tested the new main-branch again and the problem still exists (don't want to push or anything, just wanted to inform).
Having the same issue on MacOSX. Full error:
RtcCallMonitor.Worker[0] System.PlatformNotSupportedException: Socket.IOControl handles Windows-specific control codes and is not supported on this platform. at System.Net.Sockets.SocketPal.WindowsIoctl(SafeSocketHandle handle, Int32 ioControlCode, Byte[] optionInValue, Byte[] optionOutValue, Int32& optionLength) at System.Net.Sockets.Socket.IOControl(Int32 ioControlCode, Byte[] optionInValue, Byte[] optionOutValue) at RtcCallMonitor.NetworkListener.CreateAndBindSocket() in /src/NetworkListener.cs:line 38 at RtcCallMonitor.NetworkListener.Start() in /src/NetworkListener.cs:line 61 at RtcCallMonitor.TrafficMonitor.Start() in /src/TrafficMonitor.cs:line 73 at RtcCallMonitor.Worker.ExecuteAsync(CancellationToken stoppingToken) in /src/Worker.cs:line 29
Hi,
I'm experimenting with your project to detect calls for homeassistant but when I run it, I get the following logs: `<6>RtcCallMonitor.TrafficMonitor[0] loaded provider discord, 2 network prefixes
<6>RtcCallMonitor.TrafficMonitor[0] loaded provider googlemeet, 1 network prefixes <6>RtcCallMonitor.TrafficMonitor[0] loaded provider gotomeeting, 36 network prefixes <6>RtcCallMonitor.TrafficMonitor[0] loaded provider msteams, 6 network prefixes <6>RtcCallMonitor.TrafficMonitor[0] loaded provider slack, 1 network prefixes <6>RtcCallMonitor.TrafficMonitor[0] loaded provider webex, 15 network prefixes <6>RtcCallMonitor.TrafficMonitor[0] loaded provider zoom, 69 network prefixes <6>RtcCallMonitor.NetworkListener[0] monitoring traffic on 192.168.0.13 <3>RtcCallMonitor.Worker[0] Protocol not supported` The only changes I made to the appsettings.json are: `"Application": { "LocalNetwork": "192.168.0.0/24", "CallStartWebhook": "http://192.168.0.32:8123/api/webhook/start_call", "CallEndWebhook": "http://192.168.0.32:8123/api/webhook/stop_call" },` I also tried to set a debug logging level in the appsettings but this didn't provide any more information. Any idea what's going on?