Linksys SPA3102 и сигнал отбоя (Disconnect Tone)

При использовании голосового адаптера Linksys SPA3102 возникает проблема обнаружения адаптером сигнала "занято". Если адаптер не может его определить, он не повесит трубку и линия может "подвиснуть" и будет занята, пока вы не вмешаетесь в ситуацию.
В настройках SPA3102 есть опция Disconnect Tone. Она отвечает за характеристики сигнала, по которым адаптер определяет состояние, когда надо "положить трубку". Disconnect Tone отличается от страны к стране, от производителя к производителю. Если погуглить, то для нашей страны чаще всего можно встретить такие значения:
425@-30,425@-30;3(.35/.35/1+2)
Если вам не подошли эти значения, их нужно определить самостоятельно (или узнать у вашего оператора).

Формула для расчета:
X@-30,X@-30;Y(A/B/1+2),
где
X — частота в Hz;
Y — число повторений;
А — время звучания сигнала в ms;
B — время тишины в ms;
Y — число повторений.

-30 - уровень сигнала, в данном случае минус 30 Db,
1+2 - 3102 поддерживает две частоты для определения (X@-30,X@-30), такая запись означает сравнивать первую и вторую одновременно (тут я возможно ошибаюсь, поскольку документация по этой опции скудная).

Для определения характеристик частоты и времени, нужно записать сигнал "занято" с вашей линии и проанализировать его. Записать сигнал проще всего позвонив с программного sip-телефона (например zoiper для Windows или SFLphone для linux) через вашу аналоговую линию на свой мобильный, включить запись разговора, сбросить звонок, послушать некоторое время "занято".
Полученный файл проанализируйте в удобном для вас аудио редакторе.
Подробная инструкция: http://adminote.blogspot.com/2009/08/spa3102-busy-detection.html

Подставьте значения в формулу. Если частота определяется достаточно точно, укажите одинаковое значение в двух вариантах. Если нет - поэкспериментируйте со вторым значением. Уровень сигнала можно тюнинговать для лучшего обнаружения.
Y - число повторений сигнал+тишина. Для предотвращения ложных срабатываний - увеличивайте, если качество линии плохое - уменьшайте.

В случае с одним из наших клиентов, для аналоговых линий от оператора Билайн у нас получилось так:
Disconnect Tone: 425@-40,425@-40;2(0.5/0.5/1+2)
Источники:
http://adminote.blogspot.com/2009/08/spa3102-busy-detection.html
http://asterisk-pbx.ru/wiki/doku.php/disconnect
17.11.2014 12:37:06
По условию задачи предполагается наличие SPA3102 и какого-то сип-сервера, к которому он подключен. Звоним софтфоном через этот сип сервер на мобильный, сип сервер должен выбрать маршрут через spa3102. На мобильнике кладем трубку - слушаем и записываем сигнал занято на софтфоне. Можно проще - подключаем к линии обычный телефон вместо spa3102, звоним на мобильный, на мобильнике кладем трубку и записываем с трубы сигнал занято, просто приложив микрофон записывающего устройства (смартфон, например, или диктофон) к динамику трубки.
Алан
18.11.2014 19:50:19
Спасибо, я уже сам с этим разобрался. Записал звук, измерил его, рассчитал параметры, внес в железку... Стало лучше, но не намного.

К сожалению, в конечном итоге шлюз стал в позу "кирпич" (в результате попытки перевести в другой режим, оказалось впоследствии, что это родовая болезнь этой модели), при этом поскольку у него нет физического ресета, я сдал его в сервис и мне вернули деньги.

На эти деньги я купил тупой, но работающий SIP- телефон Gigaset (2 шт), один поставил дома, другой - у тещи, и теперь жена со своей мамой разговаривает часами бесплатно. Большего от них не добиться (там совершенно тупая и примитивная система создания правил, в Linksys была гораздо круче).

Жаль, что железка с хорошим потенциалом оказалась глючной и