Есть ли в asterisk возможность узнать кто положил трубку, наш сотрудник или клиент?
ну это можно отработать поставив g ключ в dial и добавив h екстеншн. если после dial выполняеться диалплан, и статус ансвер, занчит положила трубку вызываемая сторона. иначе вызывающая. h будет отрабатывать в обоих случаях.
exten => _X.,1,Dial(Sip/1234@gate1,,og)
exten => _X.,n,Set(checked=1)
exten => _X.,n,GotoIF($[ ${DIALSTATUS} == "ANSWER" ]?called)
exten => _X.,n,GotoIF($[ ${DIALSTATUS} == "ANSWERED" ]?called)
exten => _X.,n,Hangup
exten => _X.,n(called),Set(CDR(hanguped)=called)
exten => h,1,GotoIf($[ "${checked}" == "1" ]?end)
exten => h,n,GotoIF($[ ${DIALSTATUS} == "ANSWER" ]?caller)
exten => h,n,GotoIF($[ ${DIALSTATUS} == "ANSWERED" ]?caller:end)
exten => h,n(caller),Set(CDR(hanguped)=caller)
exten => h,n(end),Noop
Если звонок был помещен в очередь, то да. В логе queue_log будет записи вида:
1295839075|1295838976.550|queue1|SIP/mainqueue@b1|COMPLETEAGENT|48|43|5 1295839176|1295839043.574|queue1|SIP/mainqueue@b1|COMPLETECALLER|25|100|2
Задан: 2011-05-25 19:50:57 +0400
Просмотрен: 2,621 раз
Обновлен: May 26 '11
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.