четверг, 24 апреля 2008 г.

Addpac, детекция сигнала отбоя

Довольно распространенная проблема - АТС генерирует короткие гудки, дабы человек понял, что разговор окончен, но вот техника это не воспринимает. У шлюзов addpac есть специальная настройка для детекции сигнала отбоя - Clear-down-tone cadence.
Итак, заходим на шлюз:

AP1005# conf
Enter configuration commands, one per line. End with CNTL/Z
AP1005(config)# deb
AP1005(config)# end
AP1005# debug rta voice

Далее звоним через шлюз и кладем трубку со стороны АТС. В момент коротких гудков снимаем нечто вроде:

AP1005# 60 60 60 60 60 60 60 60 60 60 60 60 60 23 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 50 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 22 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 50 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 22 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 1616 16 16 16 17 50 60 60 60 60 60 60 60 60 60 60 60 60

Считаем:
сигналов ~=-16 * 35. Умножаем на 35, если кодек g711 или g729 - на 10. У меня последний вариант, так что получаем 350. Это у нас active power, а число зовется Active Time Duration.
сигналов ~=-60 * 34. Здесь тоже самое - получаем 340. Это idle power, число - Idle Time Duration.
Получаем:

voice class clear-down-cadence 1 -16 350 340 3 11

Здесь
1 - число необходимого повторения данно последовательности, у меня (1);
2 - уровень тона, те active power (-16);
3 - ActiveTimeDuration (350);
4 - Idle Time Duration (340);
5 - Active Power Variance - отклонения уровня, у нас не отклоняется, но все равно ставим 3 - на всякий;
6 - Idle Power Variance - отклонения уровня паузы, ставим 11.
Применяем:

AP1005# conf
Enter configuration commands, one per line. End with CNTL/Z
AP1005(config)# voice class clear-down-cadence 1 -16 350 340 3 11

Это собственно все описано в мануале от Addpac, ссылку не припомню, но на английском. Работает метод замечательно.

11 комментариев:

Евгений комментирует...

а как остановить вывод лога debug rta voice, а то не успеваю сосчитать :)?

Deepwalker комментирует...

undeb all

Евгений комментирует...

спасибо, еще можно и в конфиг. режиме no debug.
еще вопрос можно?:
у вас в примере Вы считаете цифру 16, у меня ее вообще нет, но есть другие. Обязательно надо именно 16 искать или у меня могут быть и другие?

Deepwalker комментирует...

Если бы цифры были одинаковыми, то считать вообще было бы излишне : )

Просто цифры, которые ближе к нулю, это время активности сигнала, цифры большие (как в примере - ~60) это тишина.

Евгений комментирует...

у меня АТС подключена через AddPac с FXO к серверу, если отбиваю на своей АТС порт подвисает а в линию на удаленной атс идет сигнал отбоя моей АТС (AddPac не воспринимает этот сигнал как отбой) как в этом случае быть?

Deepwalker комментирует...

Не совсем понял - сигнал отбоя от АТС идет шлюзу и тот его не воспринимает? Ну попробовать описанный здесь способ.
Правда мне кажется, что вам то верно не то надо : )

Евгений комментирует...

Заработало!!! Но иногда отбивает долго (как увеличить чувствительность?) до 10 секунд а потом станция шлет сигнал ошибки (с высокой громкостью)с кодом вроде 252 можно ли как нибудь по приходу такого сигнала отрубать сразу тракт

Repear комментирует...

Случаем не знаете как быть с определением на GS1002c (прошивка 8,51,002)

debug rta voice ничего не выводит..:((
(остальные дебаги работают нормально)

Deepwalker комментирует...

К сожалению давненько не видел адпаков.

Zuhel комментирует...

Подскажите плз, где копать. Не слышно тонов ожидания при вызове со шлюза. В трубке просто тишина. И даже когда сбрасывает вызываемый, тоже тишина.

zanudas комментирует...

У меня вопрос:
Active Time Duration расчитывается при кодеке g711:
кол-во сигналов примерно равных
16 умножаем на 16?

Idle Time Duration
кол-во сигналов примерно равных
60 умножаем на 60?
пример:
кол-во Active Time Duration = 51
кол-во Idle Time Duration = 49
51*16
49*60
Так чтоли?