ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Как узнать какой ${EXTEN} поднял трубку в очереди?

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Как узнать какой ${EXTEN} поднял трубку в очереди?

Сообщение graber » 18 апр 2011, 12:19

Здрасте!

Что-то я видимо не правильно понимаю, верните пожалуйста мозг на место..
Код: выделить все
exten => 333,1,Answer()
exten => 333,2,Wait(1)
exten => 333,3,Background(1)
exten => 333,4,StartMusicOnHold
exten => 333,5,WaitExten(3)
exten => 333,6,Set(MONITOR_FILENAME=${STRFTIME(${EPOCH},,%Y%m%d%H%M)}-${CALLERID(number)}-${EXTEN})
exten => 333,7,Queue(MyQueue)


Монитором сформируется файлик 201104181214-коллерид-333.wav, при таком подходе, понять кто из MyQueue поднял трубку я не смогу.. т.е. надо как-то начинать запись, когда я уже нахожусь в очереди и ${EXTEN} поднял трубку, как это можно сделать? Спасибо.
graber
 
Сообщений: 9
Зарегистрирован: 18 апр 2011, 12:01

Re: Как узнать какой ${EXTEN} поднял трубку в очереди?

Сообщение SVoy » 18 апр 2011, 12:25

AMI event
Готов к труду и обороне!
http://svoy.in.ua - для своих
SVoy
 
Сообщений: 953
Зарегистрирован: 31 авг 2010, 10:24

Re: Как узнать какой ${EXTEN} поднял трубку в очереди?

Сообщение graber » 18 апр 2011, 12:30

Постоянно слушать вывод ami и в случае поднятия трубки в очереди включать запись? Неужели проще никак? :)
graber
 
Сообщений: 9
Зарегистрирован: 18 апр 2011, 12:01

Re: Как узнать какой ${EXTEN} поднял трубку в очереди?

Сообщение tma » 18 апр 2011, 12:38

Есть еще вариант пропатчить app_queue.c 8-), хотя думаю что корни будут даже не там.
Смысл в том, что имя файла определяется еще до того, как Вы попали в очередь.
А пока агент трубку не взял, определить агента невозможно.

Еще вариант - вызывать агента через Local и именно там определять имя файла.
Но Local создаст другие проблемы, в частности с определением статуса.
SkyTel OU - облачная АТС, DID, SIP-транк с посекундной тарификаицей, мобильная связь
http://skytel24.com | Эстония: +372.333.55.10 | Россия: +7(495)4019900
tma
 
Сообщений: 1809
Зарегистрирован: 18 сен 2010, 20:50

Re: Как узнать какой ${EXTEN} поднял трубку в очереди?

Сообщение graber » 18 апр 2011, 12:44

Всё, большое спасибо, я всё понял :)
graber
 
Сообщений: 9
Зарегистрирован: 18 апр 2011, 12:01

Re: Как узнать какой ${EXTEN} поднял трубку в очереди?

Сообщение Samael28 » 18 апр 2011, 12:54

А просто через выставляемую этой самой Queue переменную не проще, дабы огород не городить?
MEMBERINTERFACE, если что :)
А файл обрабатывать уже в h.
Мой профайл на Upwork
Samael28
 
Сообщений: 1057
Зарегистрирован: 08 янв 2011, 19:32
Откуда: Киев

Re: Как узнать какой ${EXTEN} поднял трубку в очереди?

Сообщение tma » 18 апр 2011, 13:04

В h Вы будете обрабатывать уже готовый файл. Т.е. другими словами его можно переименовать.
Ну а дальше надеяться, что выход всегда будет корректный и Вы всегда попадете в этот самый h.
SkyTel OU - облачная АТС, DID, SIP-транк с посекундной тарификаицей, мобильная связь
http://skytel24.com | Эстония: +372.333.55.10 | Россия: +7(495)4019900
tma
 
Сообщений: 1809
Зарегистрирован: 18 сен 2010, 20:50


Вернуться в Вопросы новичков

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 48

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH