четверг, 24 декабря 2015 г.

Проверка качества звука в звонках

Есть готовые решения, типа
http://sevana.biz/

"Из коробки", но стоит денег.

PESQ, Perceptual Evaluation of Speech Quality, is a family of standards comprising a test methodology for automated assessment of the speech quality as experienced by a user of a telephony system. It is standardised as ITU-T recommendation P.862 (02/01). Today, PESQ is a worldwide applied industry standard for objective voice quality testing used by phone manufacturers, network equipment vendors and telecom operators. Its usage requires a license.
https://en.wikipedia.org/wiki/PESQ
Требует лицензии, но для тестов есть варианты на гитхабе. Помним, что лицензия всё-равно нужна. Пример
https://github.com/dennisguse/ITU-T_pesq

Также можно почитать
https://txlab.wordpress.com/2015/06/02/quality-assurance-for-voip-calls-2/

Если нужно просто оценинть пригодность каналов - можно взять 2 сервера с этим каналом посередине, заслать некий файл, захватывая rtp пакеты, и потом оценить, сколько потеряно, сколько побито. Метод совсем грубый и не подходит для анализа сервер-клиент, только если на сервере делать эхо, чтобы клиент мог проверить именно свой канал.

Более правильный метод - частотный анализ. Тот же PESQ или своя реализация. Тогда можно проверить уже поставщиков телефонии, даже с учётом перекодирований, E1 по пути и прочего, но это совсем другая сложность. Требуются исходный и конечный файлы.

Отдельно - звонок клиент-АТС-клиент, для частотного анализа тут просто нет 2 точек и если мало джиттера и потерь, снимаемых с rtp, начинается совсем магия, поиск характерных признаков - шипения, шумов, провалов...

Ну и остаётся субъективный анализ - звонок человеком.
Средняя экспертная оценка MOS (Mean Opinion Score) — это субъективное измерение, определенное в рекомендации P.800 МСЭ-Т для оценки качества передачи в телефонных сетях.
http://habrahabr.ru/post/177099/
ну и саму статью почитать стоит.