30 Jun 2022

Snippets H1 2022

Snippets from the first half of 2022, shoehorned to make a blog post.

voiptoolbox.net

I started to piece together an online SIP packet checker. It’s an in-browser tool to explain the headers and highlight obvious mistakes (bad URIs, required headers that are missing etc). This got me thinking, between the SIP diagrams, SIP DNS Lookup and now the packet checker I may as well keep all of these tools in one place. Plus who doesn’t like an excuse to buy Yet Another Domain Name™. voiptoolbox.net will (eventually) be the home of all these tools, for now it’s just the SIP DNS Lookup.

Mojolicious Minion - Queueing Call Stats

Years ago I wrote middleware software that processed webhooks out of the Kazoo PBX platform. Recently I’ve had to give this a bit of rewrite to pull call information out of Microsoft instead. As part of that I wanted to change from using Amazon’s Simple Queue Service (SQS) to something running on the VM. I used SQS years ago as I thought it was going to be a convenient way to split the work over multiple VMs. However it turns out the workload is annoyingly sized at small enough for a single VM but large enough to occasionally go beyond the one million free messages allowed each month. I then get a tiny non-sterling credit card charge of like 40 US cents that I have to remember to pay.

Premature Optimization Is the Root of All Evil, so I’m going back and ditching SQS for something local. Enter Minion.

Minion Dashboard Example

Useful!

Part of the middleware already used Mojolicious and the integration between that and Minion is very easy to use. The main bonus linking Mojolicious with Minion is you get a dashboard out of the box. This is more than just graphs of job rates, its also got the ability to retry failed jobs and look at job output. Really useful, where as that used to be a faff with SQS.

Top tip: If you want to integrate Minion with your existing web dashboard then you can easily move the default dashboard to somewhere protected by passing in a route:

# my $admin_top_route = ...;
# e.g. /admin/minion
$app->plugin('Minion::Admin' => {route => $admin_top_route});

More Synology Certs

I don’t think I have ever written a regular series of blog posts on the same theme, but if I did I wonder if “Adventures of Let’s Encrypt and My Synology NAS” might be the place to start. I swapped some emails with David who has a nice write-up about using Synology certs for other services and that got me checking my own setup again. Surprise, surprise, the cert recently failed to renew!

I’m not exactly sure which bit of the setup got borked this time, but a manual run of the cron seemed to resolve. Clearly this shows how often I log in to the GUI on that box!

I was briefly excited to see Synology offering Let’s Encrypt certificates in their dashboard, but that of course requires your NAS to be publicly accessible, so I think for my LAN-only NAS the Cloudflare and acme.sh method I’m already using is the best way forward.

Psion On Pause

jes did some great work getting one way communication into the Psion that I bought a while back. It’s been sat on my desk since February and now when I finally go to finish it off work has stalled. The Raspberry Pi I’d planned to pair with it is no more. The last piece of the jigsaw is really just a WiFi to USB/serial comms sort of bridge. It could be a good fit for something like a Pi Zero but there seems to be a real shortage leading to pretty high eBay prices.

Watch this space though, I am really keen to get this project completed one way or another in 2022 and I’ve got an idea that involves some dubious use of Cat 5 USB Extenders…

Dev SysAdmin
Back to posts