I’ve been hacking around with this thing I want to do with Smokeping, and I’m almost too ashamed to ask for help, because it’s pretty weird, what I’m trying to do.
Put simply, we use SmokePing a lot for graphing network trends for the simple reason that it’s something even a very non-technical customer can understand. Tell people they have network problems and their eyes glaze over (or they get mad at you). Copy paste their graph from SmokePing, and they usually stop arguing (or at least that’s what we’ve found).
Problem is, SmokePing uses ICMP, and it’s pinging their WAN gateway/firewall/NAT, not the sets themselves.
So, what I’d like to do is send an OPTIONS message instead of a Ping. The only way Asterisk seems to be able to do that is with Qualify, but in that case, I’m not really getting what I want out of it, and also I risk taking the set out of service.
I just keep thinking there’s got to be some simple thing that’s staring me straight in the face: I want to send an OPTIONS message through pjsip to a registered endpoint, and track the reply (latency, jitter, loss, etc).
I’ve swallowed my pride, and am posting here.
Any and all ideas are welcome, other than writing something in Python. And yes, I know I can install a proxy, or some other non-asterisk tech, but that’s way out of the scope of what I want to do, which should be simple (hacking SmokePing to do this will be kludgy enough, so I want the Asterisk end of things to be as simple as it can be).
Oh, and the reason I want to pipe this through Asterisk is that I don’t want to have to muck about with ports, keys, auth, and what-all-else; the connection is already there.
You know what would be awesome? Having an option for qualify that tells it to just qualify the set and report the results, but don’t take it out of service if it fails. Just log the outcome and take no action.
Anyhow, this is a low-urgency science project for me, but I could see myself paying a bounty for someone to cook something up that would be useful to anyone who might want to be able to ask Asterisk to probe an endpoint and spit out the results, especially if it’s a simple new feature.
Am I missing something obvious here?