Уважаемый kasper, с вами согласен лишь частично.
Под каждую задачу хорошо-бы подобрать оптимальный инструмент.
Например чем ваше
console dial 4991234567@from-probe
так уж отличается от originate?
А отличие тем, что console dial создаёт один канал, а originate сначала два, а потом ещё третий.
Ну зачем мне три, когда нужен только один?
И хотя сразу сразу узнать ИМЯ_КАНАЛА не получается (счётчик, на основании которого генерится имя, наверное медленно считает
)
но в ответе на Dial идентификатор Uniqueid канала возвращается сразу!
А оказывается его можно использовать вместо переменной ИМЯ_КАНАЛА,
хотя внешне они выглядят по разному:
Channel: SIP/4321-45cf6c80
Uniqueid: 1321618149.83078
То есть вот такие AMI команды работают:
и
А потери событий на 1.4 при возрастании нагрузки я наблюдал неоднократно.
На 1.6 я с больной нагрузкой не экспериментировал, если потерю устранили, то это классно!
я надеюсь это это было вызвано медленным чтением событий
Так поделитесь секретом как читать быстро
Я пробовал только метод регистрации функции обратного вызова, которая вызывается при обработке события.
в PhpAGI это:
в Perl Asterisk::Manager это:
Код: Выделить всё
$astman->setcallback("$event", \&event_callback);