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

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

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

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

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

Сообщение artemkol » 07 авг 2019, 18:47

Добрый день! Пытаюсь уговорить 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
artemkol
 
Сообщений: 6
Зарегистрирован: 07 авг 2019, 16:58

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

Сообщение awsswa » 08 авг 2019, 08:11

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

Все просто.
Хотите свой скрипт, значит вам надо либо переписать кусок в extension либо добавить новый
Как переписывается:
Копируете полностью нужную часть из extensions.conf начиная с [имя123]
вставляете эту часть в extensions_custom.conf под тем же именем [имя123]
перезагружаете dialplan
все начинает работать кусок из extensions_custom.conf
теперь вы его можете править и вписывать изменения в часть [имя123]
платный суппорт по мере возможностей
awsswa
 
Сообщений: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

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

Сообщение zzuz » 08 авг 2019, 11:28

Только скорее всего extensions_override_freepbx.conf , иначе не будет эффекта.
Линия24 - Системы Массового Телефонного Обслуживания
Аватар пользователя
zzuz
 
Сообщений: 1658
Зарегистрирован: 21 сен 2010, 13:33

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

Сообщение Zavr2008 » 08 авг 2019, 14:57

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

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

Сообщение artemkol » 09 авг 2019, 13:40

Zavr2008 писал(а):Пионерский онанизм заканчиваем.
Факт поднятия трубки правильно ловить по AMI.

AMI не подходит, нужно чтоб пбх сама урл пинала.

awsswa писал(а):Все просто.
Хотите свой скрипт, значит вам надо либо переписать кусок в extension либо добавить новый

В extension нет того куска который нужно переписать, как я уже писал, он в extensions_additional.conf. Пробовал впихнуться в [from-queue], но скрипт не отрабатывает.
Добавлять новый на одну строчку разве есть смысл, если все равно в [from-queue] дописывать строку?
Пробовал переписать [from-internal] в extensions_override_freepbx.conf, скрипт отрабатывает, но срабатывает сразу при входящем звонке, а надо чтоб срабатывал когда трубку поднимает оператор.
artemkol
 
Сообщений: 6
Зарегистрирован: 07 авг 2019, 16:58

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

Сообщение ded » 09 авг 2019, 13:54

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 + очередями - это что-то вне разума.
ded
 
Сообщений: 15822
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение artemkol » 09 авг 2019, 14:32

ded писал(а):Аццкий изврат.

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

По другому и в правду не знаю как.

Цепочка такая: звонок клиента - сброс - перезвон клиенту - голосовое приветствие (без меню), после приветствия музыка и параллельно вызов на очередь. Как только оператор из очереди снимает трубку отправляем json запрос на url с номером клиента и оператора.
artemkol
 
Сообщений: 6
Зарегистрирован: 07 авг 2019, 16:58

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

Сообщение Zavr2008 » 09 авг 2019, 15:17

AMI не подходит, нужно чтоб пбх сама урл пинала.

Так сложно взять стандартную библиотеку для того же PHP что все юзают и сделать аналогично?
Зато ловить будете четко.

M(x): Заставляет выполнить macro (x) в момент ответа на вызов

http://asterisk.ru/knowledgebase/Asterisk+cmd+Dial
Путь онанизма ведет к слепоте)
Российские E1 шлюзы Alvis. Модернизация УПАТС с E1,Подключение к ИС "Антифрод" E1 PRI/SS#7 УВР Телестор, Грифин и др..
Аватар пользователя
Zavr2008
 
Сообщений: 2170
Зарегистрирован: 27 янв 2011, 01:35

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

Сообщение ded » 09 авг 2019, 15:44

artemkol писал(а):Цепочка такая: звонок клиента - сброс - перезвон клиенту - голосовое приветствие (без меню), после приветствия музыка и параллельно вызов на очередь. Как только оператор из очереди снимает трубку отправляем json запрос на url с номером клиента и оператора.


Звонок клиента: вы ему показывает ваш номер на сайте? И заставляете его набирать? А зачем?
Проще дать поле (Позвонить), где он напишет свой номер, а как только даст Enter - ваш Астериск на базе скрипта agi-bin/dial-out.php создаст call file - первое плечо оператору, и когда он поднял трубку - слышит гудки вызова клиенту, набирается второе плечо, и при ответе - соединяются (bridge).
А не так как у вас - ИВР без выбора, только ради приветствия! И цепочка отрабатывает, например так: клиент получил звонок, ответил, услышал приветствие, и пошла музыка в ожидании. Операторы то могут быть заняты?
Я бы плюнул в трубку на месте клиента за такой сценарий и занёс номер в Black list.
ded
 
Сообщений: 15822
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение artemkol » 09 авг 2019, 16:14

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

Может я плохо объяснил, но клиент с мобильного просто набирает короткий номер. Дальше мы ему перезваниваем и он слушает приветсвие и музыку пока не ответит оператор. У нас служба такси. Клиенты хотят чтоб им сразу звонили.

Zavr2008 писал(а):Так сложно взять стандартную библиотеку для того же PHP что все юзают и сделать аналогично?
Зато ловить будете четко.

Да, в крайнем случае прийдется делать такой костыль, но хотелось бы обойтись средствами PBX
artemkol
 
Сообщений: 6
Зарегистрирован: 07 авг 2019, 16:58

След.

Вернуться в Готовые VoIP дистрибутивы

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

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

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