Возвращает ли Asterisk какие-либо переменные с номером парковочного места?
Real-time asterisk 11 с планом нумерации в PSQL, сделал парковку (как ни странно, с помощью функции Park()), все работает, Asterisk сообщает на какое парковочное место паркует (типа 711 и т.п.), но естественно голосом. Потом можно забрать припаркованный вызов. Функционал в той версии судя по всему встроен в ядро. Может есть какая переменная, в которой ядро сохраняет номер парковочного места, чтобы ее (значение переменной) забрать потом в текстовом виде?
Похоже что нет, не возвращает.
Лучшим вариантом вижу задать парковочное место через (например) параметр parking_lot_name для Park(), таким образом оно будет известно заблаговременно.
Так же можно получить событие парковки через ami https://docs.asterisk.org/Latest_API/API_Documenta...
Дмитрий Шицков, занести в журнал "вызов припаркован на номер 7XXX"
А потом мол "вызов забран с парковочного места 7XX" (с этим то проблем не вижу) , а то в целом такие финты паркинг-забрать уходят в темноту по журналу.
С АМI плохо знаком, только с AGI
dimone73, тогда звучит так что стоит посмотреть в сторону ami, так как одна из его функций - предоставление возможности подписаться на поток событий генерируемых в Asterisk
Путь такой. Перед тем, как сделать Park() через AGI спрашиваем какой сейчас у нас ${CHANNEL}, потом, после Park() через SYSTEM спрашиваем ASTERISK
asterisk -x 'parkedcalls show'
будет таблица с номером парковочным, потом номер канала Астериска, который туда припаркован, потом еще что-то
и парсим выхлоп по ${CHANNEL}
Получилось узнать номер парковочного места и засунуть в журнал событие о парковке на такое-то место. Теперь новый анекдот при снятии с парковки: контекст parcedcalls опять-таки встроен в ядро (хотя вот постановка на паркинг удалась в рукописном контексте, например в моем случае parked через Park), и чтобы сделать запись в журнал об обращении к парковочному месту нужно это делать в плане нумерации ДО перехода на extensions в parcedcalls. Непонятно теперь, как считать время разговора (да и вообще, удалось ли забрать с парковки, или это просто был набор парковочного номера) - из контекста практически ничего не забрать и не добавить.
dimone73, еще раз хочу обратить внимание что AMI транслирует события как как о парковке и о взятии номера с парковки.
В 11 Астере все это уже должно было работать, так как ссылки на справку от 2005 года.
События можно послушать даже через обычный netcat
Да подключился, подключился я к AMI, посл еснятия с парковки почти ничего не показывает. Эта справка пожалуй на устаревшие версии, поскольку в 11 версии и модуля то такого res_features.so нету.
Решилось без AMI.
Перед забором из парковки в плане нумерации работает скрипт AGI, который перенаправляет непосредственно в parcedcalls, в нем объявил наследованную переменную с меткой времени, наследованную переменную кто забирает с парковки, наследованную переменную с какого парковочного места забирают.
Прикрутил в диалплан контекст parcedcalls с extensions 'h' - он стал виден и заработал после окончания парковки. В нем скрипт AGI который забирает эту метку времени и по ней считает сколько длился разговор после парковки, ну и запись в журнал.