четверг, 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 комментариев:

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

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

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

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

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

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

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

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

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

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

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

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

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

    ОтветитьУдалить