Здравствуйте.
К asterisk 1.6 подключен банк каналов с базовой станцией, базовая станция после Answer() шлет в линию телефонный номер, с которого идет звонок, и в конце выдает тон С, например так:
79012344333C
74953455544C
Диалплан написан примерно так:
exten => s,1,Answer()
same => n,Wait(4) ;сейчас пропускаю номер
same => n,Read(UserSelect,menu-select,1,,,30)
... и дальше обработка в зависимости от выбора абонента
Хотелось бы после Answer вместо Wait, считывать кидаемый номер в линию, т.е. считывать все до тона С и заносить этот номер в переменную. Сложность состоит в том, что кидаемый номер в линию может быть разной длины, единственное что у них общее - это конечный тон С.
если оно релаьно dtmf, вмест wait поставте еше один read без сообщения и с таймаутом в 4 секунды.
станция в 4 секунды уложиться.и все равно что там в конце. потом обрежете.
Задан: 2011-06-23 10:33:45 +0400
Просмотрен: 371 раз
Обновлен: Jun 23 '11
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.