OpenALPR Webhook Processor for IP Cameras

If you are getting it to show ANY images that means it can connect fine and you have another kind of issue with the agent.
so the images are working to the cloud, but not to the processor. all I get is this..

1633202367428.png
 
also for the webhook, I have to use my public IP.. are people using the local ip? if so how are people using local ip on a non local cloud

1633202957785.png
 
try browsing to your agent's webserver page and see if you can get any of the images to show up from there.
 
Make sure the address matches the Endpoint Url in the configuration, then make sure the processor can access that same url from wherever it's running. that's about all there is to it.
 
Make sure the address matches the Endpoint Url in the configuration, then make sure the processor can access that same url from wherever it's running. that's about all there is to it.
Hmm idk how to confirm the processor can access the webpage since it's in a docker.. any ideas?
 
open up a console inside that docker container and then try to ping the ip address of the agent.
yeah so tried ping -c5 192.168.1.167 and got 100% packet loss lol

weird though because I can access 192.168.1.167:8355 on my computer which isnt local to the VM running the agent
can ping 8.8.8.8 perfectly
can ping the unraid hosting the docker container from the vm where the agent is running
 
yeah so tried ping -c5 192.168.1.167 and got 100% packet loss lol

weird though because I can access 192.168.1.167:8355 on my computer which isnt local to the VM running the agent
can ping 8.8.8.8 perfectly
can ping the unraid hosting the docker container from the vm where the agent is running
Figure that out then you're good to go. check out unraid guides for how to give docker access to various LANs, I'm guessing you have a separate one for cctv and stuff?
 
I'm trying to figure out why scraping isn't working for some people. i've added in some better error handling, previously scraping would stop whenever a plate from the list fails to process, now it will skip it. v3.16.3 if you want to try it out.
 
I upgraded to the latest version v3.16.0 (Not sure how to find the exact version in Docker). I had v3.2.5 and everything was working great. Once I up graded I very rarely get an updates to my plates. It will catch a couple a day but doesn't even come close to what OpenALPR reports on the dashboard.

Can you tell what is going on with my log file?

10/08/2021 20:59:32 +00:00 HTTP "POST" "/processorhub?id=m-joTTLhLHbgQ5kXdCVdWQ" responded 200 in 0.6006 ms
10/08/2021 20:59:32 +00:00 Executed endpoint '"/processorhub"'
10/08/2021 20:59:32 +00:00 Executing endpoint '"/processorhub"'
10/08/2021 20:59:32 +00:00 CORS policy execution successful.
10/08/2021 20:59:16 +00:00 HTTP "POST" "/processorhub?id=m-joTTLhLHbgQ5kXdCVdWQ" responded 200 in 0.8906 ms
10/08/2021 20:59:16 +00:00 Executed endpoint '"/processorhub"'
10/08/2021 20:59:16 +00:00 Executing endpoint '"/processorhub"'
10/08/2021 20:59:16 +00:00 CORS policy execution successful.
10/08/2021 20:59:00 +00:00 HTTP "POST" "/processorhub?id=m-joTTLhLHbgQ5kXdCVdWQ" responded 200 in 0.8781 ms
10/08/2021 20:59:00 +00:00 Executed endpoint '"/processorhub"'
10/08/2021 20:59:00 +00:00 Executing endpoint '"/processorhub"'
10/08/2021 20:59:00 +00:00 CORS policy execution successful.
10/08/2021 20:58:58 +00:00 HTTP "GET" "/licenseplates/filters" responded 200 in 60668.6330 ms
10/08/2021 20:58:58 +00:00 Executed endpoint '"OpenAlprWebhookProcessor.LicensePlates.LicensePlatesController.GetLicensePlateFilters (OpenAlprWebhookProcessor)"'
10/08/2021 20:58:58 +00:00 Executed action "OpenAlprWebhookProcessor.LicensePlates.LicensePlatesController.GetLicensePlateFilters (OpenAlprWebhookProcessor)" in 60148.6995ms
10/08/2021 20:58:58 +00:00 Executing "ObjectResult", writing value of type '"OpenAlprWebhookProcessor.LicensePlates.GetPlateFilters.GetLicensePlateFiltersResponse"'.
10/08/2021 20:58:44 +00:00 HTTP "POST" "/processorhub?id=m-joTTLhLHbgQ5kXdCVdWQ" responded 200 in 1.7493 ms
10/08/2021 20:58:44 +00:00 Executed endpoint '"/processorhub"'
10/08/2021 20:58:44 +00:00 Executing endpoint '"/processorhub"'
10/08/2021 20:58:44 +00:00 CORS policy execution successful.
10/08/2021 20:58:29 +00:00 HTTP "POST" "/processorhub?id=m-joTTLhLHbgQ5kXdCVdWQ" responded 200 in 0.8941 ms
10/08/2021 20:58:29 +00:00 Executed endpoint '"/processorhub"'
10/08/2021 20:58:29 +00:00 Executing endpoint '"/processorhub"'
10/08/2021 20:58:29 +00:00 CORS policy execution successful.
10/08/2021 20:58:29 +00:00 Executing endpoint '"/processorhub"'
10/08/2021 20:58:28 +00:00 HTTP "POST" "/processorhub/negotiate?negotiateVersion=1" responded 200 in 0.9367 ms
10/08/2021 20:58:28 +00:00 Executed endpoint '"/processorhub/negotiate"'
10/08/2021 20:58:28 +00:00 Executing endpoint '"/processorhub/negotiate"'
10/08/2021 20:58:28 +00:00 CORS policy execution successful.
10/08/2021 20:58:28 +00:00 HTTP "POST" "/licenseplates/search" responded 200 in 31022.5756 ms
10/08/2021 20:58:28 +00:00 Executed endpoint '"OpenAlprWebhookProcessor.LicensePlates.LicensePlatesController.SearchPlates (OpenAlprWebhookProcessor)"'
10/08/2021 20:58:28 +00:00 Executed action "OpenAlprWebhookProcessor.LicensePlates.LicensePlatesController.SearchPlates (OpenAlprWebhookProcessor)" in 29469.0157ms
10/08/2021 20:58:28 +00:00 Executing "ObjectResult", writing value of type '"OpenAlprWebhookProcessor.LicensePlates.SearchLicensePlates.SearchLicensePlateResponse"'.
10/08/2021 20:58:06 +00:00 Executing endpoint '"/processorhub"'
10/08/2021 20:58:06 +00:00 CORS policy execution successful.
10/08/2021 20:58:06 +00:00 HTTP "POST" "/processorhub/negotiate?negotiateVersion=1" responded 200 in 1.4273 ms
10/08/2021 20:58:06 +00:00 Executed endpoint '"/processorhub/negotiate"'
10/08/2021 20:58:06 +00:00 Executing endpoint '"/processorhub/negotiate"'
10/08/2021 20:58:06 +00:00 CORS policy execution successful.
10/08/2021 20:58:06 +00:00 HTTP "GET" "/processorhub?id=mPduaso1LlPOvKDm5jrfaw" responded 101 in 119902.7518 ms
10/08/2021 20:58:06 +00:00 Executed endpoint '"/processorhub"'
10/08/2021 20:57:59 +00:00 Entity Framework Core "6.0.0-preview.4.21253.1" initialized '"ProcessorContext"' using provider '"Microsoft.EntityFrameworkCore.Sqlite"' with options: "None"
10/08/2021 20:57:59 +00:00 Route matched with "{action = \"SearchPlates\", controller = \"LicensePlates\"}". Executing controller action with signature "System.Threading.Tasks.Task`1[OpenAlprWebhookProcessor.LicensePlates.SearchLicensePlates.SearchLicensePlateResponse] SearchPlates(OpenAlprWebhookProcessor.LicensePlates.SearchLicensePlates.SearchLicensePlateRequest, System.Threading.CancellationToken)" on controller "OpenAlprWebhookProcessor.LicensePlates.LicensePlatesController" ("OpenAlprWebhookProcessor").
10/08/2021 20:57:59 +00:00 Executing endpoint '"OpenAlprWebhookProcessor.LicensePlates.LicensePlatesController.SearchPlates (OpenAlprWebhookProcessor)"'
10/08/2021 20:57:59 +00:00 Authorization was successful.
10/08/2021 20:57:59 +00:00 Successfully validated the token.
10/08/2021 20:57:58 +00:00 Entity Framework Core "6.0.0-preview.4.21253.1" initialized '"ProcessorContext"' using provider '"Microsoft.EntityFrameworkCore.Sqlite"' with options: "None"
10/08/2021 20:57:58 +00:00 Route matched with "{action = \"GetLicensePlateFilters\", controller = \"LicensePlates\"}". Executing controller action with signature "System.Threading.Tasks.Task`1[OpenAlprWebhookProcessor.LicensePlates.GetPlateFilters.GetLicensePlateFiltersResponse] GetLicensePlateFilters(System.Threading.CancellationToken)" on controller "OpenAlprWebhookProcessor.LicensePlates.LicensePlatesController" ("OpenAlprWebhookProcessor").
10/08/2021 20:57:58 +00:00 Executing endpoint '"OpenAlprWebhookProcessor.LicensePlates.LicensePlatesController.GetLicensePlateFilters (OpenAlprWebhookProcessor)"'
10/08/2021 20:57:58 +00:00 Authorization was successful.
10/08/2021 20:57:58 +00:00 Successfully validated the token.
10/08/2021 20:57:57 +00:00 Entity Framework Core "6.0.0-preview.4.21253.1" initialized '"UsersContext"' using provider '"Microsoft.EntityFrameworkCore.Sqlite"' with options: "None"
10/08/2021 20:57:57 +00:00 CORS policy execution successful.
10/08/2021 20:57:57 +00:00 Entity Framework Core "6.0.0-preview.4.21253.1" initialized '"UsersContext"' using provider '"Microsoft.EntityFrameworkCore.Sqlite"' with options: "None"
10/08/2021 20:57:57 +00:00 HTTP "POST" "/processorhub/negotiate?negotiateVersion=1" responded 200 in 1.0730 ms
10/08/2021 20:57:57 +00:00 Executed endpoint '"/processorhub/negotiate"'
10/08/2021 20:57:57 +00:00 Executing endpoint '"/processorhub/negotiate"'
10/08/2021 20:57:57 +00:00 CORS policy execution successful.
10/08/2021 20:57:57 +00:00 HTTP "GET" "/favicon.ico" responded 200 in 0.8503 ms
10/08/2021 20:57:57 +00:00 Sending file. Request path: '"/favicon.ico"'. Physical path: '"/app/wwwroot/favicon.ico"'
10/08/2021 20:57:57 +00:00 HTTP "POST" "/users/refresh-token" responded 200 in 1280.1729 ms
10/08/2021 20:57:57 +00:00 Executed endpoint '"OpenAlprWebhookProcessor.Users.UsersController.RefreshToken (OpenAlprWebhookProcessor)"'
10/08/2021 20:57:57 +00:00 Executed action "OpenAlprWebhookProcessor.Users.UsersController.RefreshToken (OpenAlprWebhookProcessor)" in 1019.5281ms
10/08/2021 20:57:57 +00:00 Executing "OkObjectResult", writing value of type '"OpenAlprWebhookProcessor.Users.AuthenticateResponse"'.
10/08/2021 20:57:56 +00:00 Route matched with "{action = \"RefreshToken\", controller = \"Users\"}". Executing controller action with signature "System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] RefreshToken(System.Threading.CancellationToken)" on controller "OpenAlprWebhookProcessor.Users.UsersController" ("OpenAlprWebhookProcessor").
10/08/2021 20:57:56 +00:00 Executing endpoint '"OpenAlprWebhookProcessor.Users.UsersController.RefreshToken (OpenAlprWebhookProcessor)"'
10/08/2021 20:57:56 +00:00 "Bearer" was not authenticated. Failure message: "IDX10223: Lifetime validation failed. The token is expired. ValidTo: 'System.DateTime', Current time: 'System.DateTime'."
10/08/2021 20:57:56 +00:00 Failed to validate the token.
10/08/2021 20:57:56 +00:00 attempted login failed
10/08/2021 20:57:56 +00:00 Entity Framework Core "6.0.0-preview.4.21253.1" initialized '"UsersContext"' using provider '"Microsoft.EntityFrameworkCore.Sqlite"' with options: "None"
10/08/2021 20:57:56 +00:00 CORS policy execution successful.
10/08/2021 20:57:54 +00:00 HTTP "GET" "/processorhub?id=zJcxc0_bMrWqAlJAzZshIQ" responded 101 in 425592.9124 ms
10/08/2021 20:57:54 +00:00 Executed endpoint '"/processorhub"'
10/08/2021 20:57:54 +00:00 HTTP "GET" "/plates" responded 304 in 0.6186 ms
10/08/2021 20:57:54 +00:00 The file "/index.html" was not modified
10/08/2021 20:56:39 +00:00 An exception was thrown attempting to execute the error handler.
10/08/2021 20:56:39 +00:00 HTTP "POST" "/webhook" responded 500 in 0.5216 ms
10/08/2021 20:56:39 +00:00 An unhandled exception has occurred while executing the request.
10/08/2021 20:56:39 +00:00 HTTP "POST" "/webhook" responded 500 in 8550.9693 ms
10/08/2021 20:56:39 +00:00 Executed endpoint '"OpenAlprWebhookProcessor.WebhookProcessor.WebhookController.Post (OpenAlprWebhookProcessor)"'
10/08/2021 20:56:39 +00:00 Executed action "OpenAlprWebhookProcessor.WebhookProcessor.WebhookController.Post (OpenAlprWebhookProcessor)" in 8548.8283ms
10/08/2021 20:56:38 +00:00 An exception occurred while iterating over the results of a query for context type '"OpenAlprWebhookProcessor.Data.ProcessorContext"'."
""System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()"
10/08/2021 20:56:30 +00:00 Entity Framework Core "6.0.0-preview.4.21253.1" initialized '"ProcessorContext"' using provider '"Microsoft.EntityFrameworkCore.Sqlite"' with options: "None"
10/08/2021 20:56:30 +00:00 parsing plate group webhook
10/08/2021 20:56:30 +00:00 request received from: ::ffff:172.17.0.1
10/08/2021 20:56:30 +00:00 Route matched with "{action = \"Post\", controller = \"Webhook\"}". Executing controller action with signature "System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.ActionResult] Post(System.Threading.CancellationToken)" on controller "OpenAlprWebhookProcessor.WebhookProcessor.WebhookController" ("OpenAlprWebhookProcessor").
10/08/2021 20:56:30 +00:00 Executing endpoint '"OpenAlprWebhookProcessor.WebhookProcessor.WebhookController.Post (OpenAlprWebhookProcessor)"'
10/08/2021 20:56:06 +00:00 Executing endpoint '"/processorhub"'
10/08/2021 20:56:06 +00:00 CORS policy execution successful.
10/08/2021 20:56:06 +00:00 HTTP "POST" "/processorhub/negotiate?negotiateVersion=1" responded 200 in 1.0740 ms
10/08/2021 20:56:06 +00:00 Executed endpoint '"/processorhub/negotiate"'
10/08/2021 20:56:06 +00:00 Executing endpoint '"/processorhub/negotiate"'
10/08/2021 20:56:06 +00:00 CORS policy execution successful.
10/08/2021 20:56:06 +00:00 HTTP "GET" "/processorhub?id=hoXer_-m6W1aoE7049cVNw" responded 101 in 119622.7428 ms
10/08/2021 20:56:06 +00:00 Executed endpoint '"/processorhub"'
10/08/2021 20:55:54 +00:00 HTTP "POST" "/users/refresh-token" responded 200 in 1219.4358 ms
10/08/2021 20:55:54 +00:00 Executed endpoint '"OpenAlprWebhookProcessor.Users.UsersController.RefreshToken (OpenAlprWebhookProcessor)"'
10/08/2021 20:55:54 +00:00 Executed action "OpenAlprWebhookProcessor.Users.UsersController.RefreshToken (OpenAlprWebhookProcessor)" in 878.4907ms
10/08/2021 20:55:54 +00:00 Executing "OkObjectResult", writing value of type '"OpenAlprWebhookProcessor.Users.AuthenticateResponse"'.
10/08/2021 20:55:53 +00:00 Route matched with "{action = \"RefreshToken\", controller = \"Users\"}". Executing controller action with signature "System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] RefreshToken(System.Threading.CancellationToken)" on controller "OpenAlprWebhookProcessor.Users.UsersController" ("OpenAlprWebhookProcessor").
10/08/2021 20:55:53 +00:00 Executing endpoint '"OpenAlprWebhookProcessor.Users.UsersController.RefreshToken (OpenAlprWebhookProcessor)"'
10/08/2021 20:55:53 +00:00 Successfully validated the token.
10/08/2021 20:55:53 +00:00 Entity Framework Core "6.0.0-preview.4.21253.1" initialized '"UsersContext"' using provider '"Microsoft.EntityFrameworkCore.Sqlite"' with options: "None"
10/08/2021 20:55:53 +00:00 CORS policy execution successful.
10/08/2021 20:55:20 +00:00 HTTP "POST" "/users/refresh-token" responded 200 in 359.9592 ms
10/08/2021 20:55:20 +00:00 Executed endpoint '"OpenAlprWebhookProcessor.Users.UsersController.RefreshToken (OpenAlprWebhookProcessor)"'
10/08/2021 20:55:20 +00:00 Executed action "OpenAlprWebhookProcessor.Users.UsersController.RefreshToken (OpenAlprWebhookProcessor)" in 195.8866ms
10/08/2021 20:55:20 +00:00 Executing "OkObjectResult", writing value of type '"OpenAlprWebhookProcessor.Users.AuthenticateResponse"'.
10/08/2021 20:55:19 +00:00 Route matched with "{action = \"RefreshToken\", controller = \"Users\"}". Executing controller action with signature "System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] RefreshToken(System.Threading.CancellationToken)" on controller "OpenAlprWebhookProcessor.Users.UsersController" ("OpenAlprWebhookProcessor").
10/08/2021 20:55:19 +00:00 Executing endpoint '"OpenAlprWebhookProcessor.Users.UsersController.RefreshToken (OpenAlprWebhookProcessor)"'
10/08/2021 20:55:19 +00:00 Successfully validated the token.
10/08/2021 20:55:19 +00:00 Entity Framework Core "6.0.0-preview.4.21253.1" initialized '"UsersContext"' using provider '"Microsoft.EntityFrameworkCore.Sqlite"' with options: "None"
10/08/2021 20:55:19 +00:00 CORS policy execution successful.
10/08/2021 20:54:06 +00:00 Executing endpoint '"/processorhub"'
10/08/2021 20:54:06 +00:00 CORS policy execution successful.
10/08/2021 20:54:06 +00:00 HTTP "POST" "/processorhub/negotiate?negotiateVersion=1" responded 200 in 1.7290 ms
10/08/2021 20:54:06 +00:00 Executed endpoint '"/processorhub/negotiate"'
10/08/2021 20:54:06 +00:00 Executing endpoint '"/processorhub/negotiate"'
10/08/2021 20:54:06 +00:00 CORS policy execution successful.
10/08/2021 20:54:06 +00:00 HTTP "GET" "/processorhub?id=tiWH1Ja_8XksAZhJxssVDw" responded 101 in 119869.2633 ms
10/08/2021 20:54:06 +00:00 Executed endpoint '"/processorhub"'
10/08/2021 20:52:06 +00:00 Executing endpoint '"/processorhub"'
10/08/2021 20:52:06 +00:00 CORS policy execution successful.
10/08/2021 20:52:06 +00:00 HTTP "POST" "/processorhub/negotiate?negotiateVersion=1" responded 200 in 0.7517 ms
10/08/2021 20:52:06 +00:00 Executed endpoint '"/processorhub/negotiate"'
10/08/2021 20:52:06 +00:00 Executing endpoint '"/processorhub/negotiate"'
10/08/2021 20:52:06 +00:00 CORS policy execution successful.
10/08/2021 20:52:06 +00:00 HTTP "GET" "/processorhub?id=bl2upoBpJKHj7hDKs18XQA" responded 101 in 119606.6854 ms
10/08/2021 20:52:06 +00:00 Executed endpoint '"/processorhub"'
 
I don’t see any errors except for a failed login. I don’t see any incoming webhooks either with plate data.. You sure you are still forwarding the webhooks properly?
 
  • Like
Reactions: harleyl7
Try the "test webhook" function on the openalpr website while the log page is open on the processor, make sure the test webhook is coming through.
 
  • Like
Reactions: harleyl7
Try the "test webhook" function on the openalpr website while the log page is open on the processor, make sure the test webhook is coming through.

The webhook is functioning properly and I am getting a return of 200. The problem seems to be happening after I start to do scrapping. I noticed it first time I set up a new container in Docker and start to scrap. I deleted that container and tried it again. Things seemed to work just fine until I scrapped again. I would then only get about 1 plate to every 10 plates that the Rekor recorded. So I deleted the container again and I haven't started to scrap yet and I am getting every plate that Rekor is recording.