Need a way to detect quality of VoIP providers (or
rather, *'s connection to them) and block use if
quality is too low.
This will be implemented with a flag in the * db, like
BLOCKTRUNK/{trunknum} 1. Dialout macro will look at
this flag, and skip dialing that trunk (go on to the
next priority trunk in the route) if it exists. (thanks
to Ferrari_ for suggestions) (anyone have a better
alternative to 'BLOCKTRUNK'?)
Metrics of the link can be determined with something
simple like ping/jitter, and a threshold.. optimally I
suppose, would be a loopback and some way of detecting
the quality returned.. this would be much more complex
to implement, and hard logistically to make it work
anywhere in the world (availability of loopback,
connectivity of voip provider, endpoint (PSTN, another
* box, some other voip system?)).
should there be an interface on the trunk config screen?
[ ] Monitor connection quality
Don't use if ping time is over ___ms [AND/OR]
varies by more than ___ms.
There would just be a script that ran every minute/5
minutes/whatever that would run the metric tests, and
block connections as approiate. Using this method,
current calls using the channel would not be
interrupted, just new calls.
Looking for any additional feedback before I implement
this feature (hopefully sometime next week.. probably
inversely proportional in time to the amount my VoIP
providers piss me off..)