Добрый всем день. Нужна помощь. Есть задача, по завершению исходящего звонка в Asterisk передать информацию об этом звонке в CRM ку посредством POST запроса. У меня реализован такой метод на входящих звонках. Там все просто, я перенаправил звонок в нужное мне custom_destination и все заработало.
Теперь есть задача для обратного. Есть след контекст прописанный в extension_custom.conf
[from-internal-custom]
exten => h,1,Set(rtn=${CURL(http://mycrm.com/outendcall,Status=${CDR(disposition)} AnswerPeer=${DIALEDPEERNUMBER} CallerNum=${CALLERID(num)} CallTime=${CDR(duration)} TellTime=${CDR(billsec)})})
exten => h,2,Wait(1)
exten => h,3,NoOp(CURL-RESPONSE: ${rtn})
По логике, этот контекст должен был быть использован при исходящем звонке. Но не тут то было. Не могу запустить его из разных мест, пробовал уже его и в extension.conf дописывать в контексте from-internal
Помогите, что делаю не так?
В freepbx есть такой контекст
[macro-hangupcall]
include => macro-hangupcall-custom
exten => s,1(start),GotoIf($["${USE_CONFIRMATION}"="" | "${RINGGROUP_INDEX}"="" | "${CHANNEL}"!="${UNIQCHAN}"]?theend)
exten => s,n(delrgi),Noop(Deleting: RG/${RINGGROUP_INDEX}/${CHANNEL} ${DB_DELETE(RG/${RINGGROUP_INDEX}/${CHANNEL})})
exten => s,n(theend),ExecIf($["${ONETOUCH_RECFILE}"!="" & "${CDR(recordingfile)}"=""]?Set(CDR(recordingfile)=${ONETOUCH_RECFILE}))
exten => s,n,Hangup
exten => s,n,MacroExit()
При сильном желании и отсутсвии здравого смысла, его можно переназначить.
Причем тут здравый смысл? Ну вы хотите выставить h-handlers и вам не приходит в голову, что их ЕЩЕ КАКОЙ-ТО модуль решит выставить.
А правильно сделать так
Читаем вот это
https://wiki.asterisk.org/wiki/display/AST/Hangup+Handlers
Потом пишем модуль для freepbx, который на нужных вам исхдящих роутах даст возможность поставить галочку "отправить инфо в crm", галочка создаст необходимые splice/inserts в диалплане, который выставят hangup_handlers
Есть промежуточный вариант. Вставть hangup_handlers в
dialout-trunk-predial-hook
Задан: Jul 28 '17
Просмотрен: 784 раз
Обновлен: Jul 29 '17
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
берете код рабочий из основной части в override_freebpx и там уже правите как нужно.
awsswa (Jul 28 '17)edit