VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

FreePBX выполнение скрипта из Context from-internal

Обо всем касательно FreePBX, MetPBX, TrixBox, Elastix, AstPBX и всех других дистрибутивов

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

artemkol
Сообщения: 6
Зарегистрирован: 07 авг 2019, 15:58

FreePBX выполнение скрипта из Context from-internal

Сообщение artemkol »

Добрый день! Пытаюсь уговорить FreePBX слать json-запросы при снятии трубки оператором. Есть скрипт который все шлет как надо, сам по себе работает, но FreePBX упортно не хочет его выполнять, подсовывал даже скрипт, который просто создает папку. Права на выполниние есть. FreePBX 14.
Настроен callback, цепочка такая: Inbound_Routes -> Callback -> Set CallerID -> IVR -> Queues.
Пробовал в Custom Context добавить Set(RESULT=${SHELL(/etc/asterisk/scripts/test.sh 0 &)}); И подключил в экстеншине который снимает трубку.
Пробовал добавить строку exten => _.,n,System(/etc/asterisk/scripts/test.sh &) в extensions_custom.conf
Пробовал эту же строку воткнуть в логику [from-queue] в файле extensions_additional.conf сразу после строки exten => _.,n,GotoIf($["${DIALPLAN_EXISTS(from-queue,${NODEST},1)}" = "1"]?${NODEST},1:hangup)
FreePBX ни в какую не хочеть отрабатывать скрипт, даже в дебаге о нем не упоминает, и ошибок не пишет.

В общем, подскажите пожалуйста, что еще можно попробовать. Нужно что б скрипт отработал в Context from-internal.

P.S.
В [from-queue] вписал потому, что в дебаге заметил что оно отрабатывает при снятии трубки оператором.
А про extensions_custom.conf потому прочитал тут https://asterisk-pbx.ru/wiki/freepbx/custom_context
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: FreePBX выполнение скрипта из Context from-internal

Сообщение awsswa »

Лень погуглить ?

Все просто.
Хотите свой скрипт, значит вам надо либо переписать кусок в extension либо добавить новый
Как переписывается:
Копируете полностью нужную часть из extensions.conf начиная с [имя123]
вставляете эту часть в extensions_custom.conf под тем же именем [имя123]
перезагружаете dialplan
все начинает работать кусок из extensions_custom.conf
теперь вы его можете править и вписывать изменения в часть [имя123]
платный суппорт по мере возможностей
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

Re: FreePBX выполнение скрипта из Context from-internal

Сообщение zzuz »

Только скорее всего extensions_override_freepbx.conf , иначе не будет эффекта.
Линия24 - Системы Массового Телефонного Обслуживания
Аватара пользователя
Zavr2008
Сообщения: 2211
Зарегистрирован: 27 янв 2011, 00:35
Контактная информация:

Re: FreePBX выполнение скрипта из Context from-internal

Сообщение Zavr2008 »

Пионерский онанизм заканчиваем.
Факт поднятия трубки правильно ловить по AMI.
Российские E1 шлюзы Alvis. Модернизация УПАТС с E1,Подключение к ИС "Антифрод" E1 PRI/SS#7 УВР Телестор, Грифин и др..
artemkol
Сообщения: 6
Зарегистрирован: 07 авг 2019, 15:58

Re: FreePBX выполнение скрипта из Context from-internal

Сообщение artemkol »

Zavr2008 писал(а):Пионерский онанизм заканчиваем.
Факт поднятия трубки правильно ловить по AMI.
AMI не подходит, нужно чтоб пбх сама урл пинала.
awsswa писал(а):Все просто.
Хотите свой скрипт, значит вам надо либо переписать кусок в extension либо добавить новый
В extension нет того куска который нужно переписать, как я уже писал, он в extensions_additional.conf. Пробовал впихнуться в [from-queue], но скрипт не отрабатывает.
Добавлять новый на одну строчку разве есть смысл, если все равно в [from-queue] дописывать строку?
Пробовал переписать [from-internal] в extensions_override_freepbx.conf, скрипт отрабатывает, но срабатывает сразу при входящем звонке, а надо чтоб срабатывал когда трубку поднимает оператор.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: FreePBX выполнение скрипта из Context from-internal

Сообщение ded »

artemkol писал(а):Настроен callback, цепочка такая: Inbound_Routes -> Callback -> Set CallerID -> IVR -> Queues.
Аццкий изврат.
artemkol писал(а):Пробовал в Custom Context добавить Set(RESULT=${SHELL(/etc/asterisk/scripts/test.sh 0 &)}); И подключил в экстеншине который снимает трубку.
Пробовал добавить строку exten => _.,n,System(/etc/asterisk/scripts/test.sh &) в extensions_custom.conf
Почему такая любовь к System(/etc/asterisk/scripts/test.sh и ${SHELL(/etc/asterisk/scripts/test.sh ?
Это от незнания как реализовать задуманное функциями диалплана?

Если без слов "выполнение скрипта", можете описать не замудрённую цепочку с callback, а простыми словами: какой сценарий хотите выполнять?
callback с IVR + очередями - это что-то вне разума.
artemkol
Сообщения: 6
Зарегистрирован: 07 авг 2019, 15:58

Re: FreePBX выполнение скрипта из Context from-internal

Сообщение artemkol »

ded писал(а):Аццкий изврат.
Сорри))
ded писал(а):Почему такая любовь к System(/etc/asterisk/scripts/test.sh и ${SHELL(/etc/asterisk/scripts/test.sh ?
Это от незнания как реализовать задуманное функциями диалплана?
По другому и в правду не знаю как.

Цепочка такая: звонок клиента - сброс - перезвон клиенту - голосовое приветствие (без меню), после приветствия музыка и параллельно вызов на очередь. Как только оператор из очереди снимает трубку отправляем json запрос на url с номером клиента и оператора.
Аватара пользователя
Zavr2008
Сообщения: 2211
Зарегистрирован: 27 янв 2011, 00:35
Контактная информация:

Re: FreePBX выполнение скрипта из Context from-internal

Сообщение Zavr2008 »

AMI не подходит, нужно чтоб пбх сама урл пинала.
Так сложно взять стандартную библиотеку для того же PHP что все юзают и сделать аналогично?
Зато ловить будете четко.
M(x): Заставляет выполнить macro (x) в момент ответа на вызов
http://asterisk.ru/knowledgebase/Asterisk+cmd+Dial
Путь онанизма ведет к слепоте)
Российские E1 шлюзы Alvis. Модернизация УПАТС с E1,Подключение к ИС "Антифрод" E1 PRI/SS#7 УВР Телестор, Грифин и др..
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: FreePBX выполнение скрипта из Context from-internal

Сообщение ded »

artemkol писал(а):Цепочка такая: звонок клиента - сброс - перезвон клиенту - голосовое приветствие (без меню), после приветствия музыка и параллельно вызов на очередь. Как только оператор из очереди снимает трубку отправляем json запрос на url с номером клиента и оператора.
Звонок клиента: вы ему показывает ваш номер на сайте? И заставляете его набирать? А зачем?
Проще дать поле (Позвонить), где он напишет свой номер, а как только даст Enter - ваш Астериск на базе скрипта agi-bin/dial-out.php создаст call file - первое плечо оператору, и когда он поднял трубку - слышит гудки вызова клиенту, набирается второе плечо, и при ответе - соединяются (bridge).
А не так как у вас - ИВР без выбора, только ради приветствия! И цепочка отрабатывает, например так: клиент получил звонок, ответил, услышал приветствие, и пошла музыка в ожидании. Операторы то могут быть заняты?
Я бы плюнул в трубку на месте клиента за такой сценарий и занёс номер в Black list.
artemkol
Сообщения: 6
Зарегистрирован: 07 авг 2019, 15:58

Re: FreePBX выполнение скрипта из Context from-internal

Сообщение artemkol »

ded писал(а): Звонок клиента: вы ему показывает ваш номер на сайте? И заставляете его набирать? А зачем?
Проще дать поле (Позвонить), где он напишет свой номер, а как только даст Enter - ваш Астериск на базе скрипта agi-bin/dial-out.php создаст call file - первое плечо оператору, и когда он поднял трубку - слышит гудки вызова клиенту, набирается второе плечо, и при ответе - соединяются (bridge).
А не так как у вас - ИВР без выбора, только ради приветствия! И цепочка отрабатывает, например так: клиент получил звонок, ответил, услышал приветствие, и пошла музыка в ожидании. Операторы то могут быть заняты?
Я бы плюнул в трубку на месте клиента за такой сценарий и занёс номер в Black list.
Может я плохо объяснил, но клиент с мобильного просто набирает короткий номер. Дальше мы ему перезваниваем и он слушает приветсвие и музыку пока не ответит оператор. У нас служба такси. Клиенты хотят чтоб им сразу звонили.
Zavr2008 писал(а): Так сложно взять стандартную библиотеку для того же PHP что все юзают и сделать аналогично?
Зато ловить будете четко.
Да, в крайнем случае прийдется делать такой костыль, но хотелось бы обойтись средствами PBX
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH