LINUX.ORG.RU
решено ФорумAdmin

asterisk - Вызов скрипта, при поднятии трубки

 , ,


1

1

Всем добрый вечер!

Ситуация такая:

Есть Asterisk Now(Version 6.12.65-26)

Задача: после того, как оператор взял трубку, был вызов внешнего скрипта

пробывал что-то делать в файле extensions_custom.conf

ставил по разному

смог настроить только, что скрипт срабатывает при входящем вызове, но чтоб при поднятии трубки оператором нет (

Пробывал и через AGI и System и Macros(

Можете на примере показать, что нужно сделать?

в гугле обыскал все что мог(http://forums.asterisk.org/viewtopic.php?p=136759)

но толку никакого

хоть укажите где копать ((((

Спасибо



Последнее исправление: AlienZzzz (всего исправлений: 1)

Ответ на: комментарий от znenyegvkby

я ковырял конфиги, то что показано на скриншоте это что?

у меня линукс, там есть тоже такая же программа, в которой я могу указать событие при ответе ?

AlienZzzz
() автор топика
Ответ на: комментарий от AlienZzzz

Я вообще не работал с Asterisk. То, что показано в первой правке, скорее всего какая-то гуйня для Asterisk, и как ясно из ответа, в ней нет этого события (хотя вопрос 2013, может уже есть, хз), но если почитать ниже (вторая правка) то вы увидите что на событие можно подписаться. Конкретно это событие, я не могу сказать вам работает ли это решение реально, попробуйте сами.

...
else if ((state == "Up") | (e.ChannelState == "6"))
{
    ...
    // human lifted up the phone right now
}
...
Найдите по названиям объектов что это за библиотека/пакет/etc в C# (ибо с ним я тоже не знаком от слова совсем), а потом поищите аналоги (наверняка они есть под другие ЯП), и пишите какой-нибудь мини-скрипт. В любом случае, если у вас линукс, и аналогов нет (во что мне не верится) — есть mono. Мне вот это все тоже за вас поискать?

znenyegvkby
()
Ответ на: комментарий от AlienZzzz

Пфф. Ну ждите, че. По беглым запросам в гугле его даже с дерьмо-пэхом интегрируют и успешно подписываются на определенные события, т.е. явно библиотеки для работы с менеджером через API ест под любой ЯП, если есть под пых. Показательно что даже на швабре этим занимаются.

https://habrahabr.ru/post/155111/

Получается вам лень взять и написать скрипт в 30 строчек, чтобы отловить нужное вам по примеру со SO? Ну окей, ждите когда за вас напишут, а я из темы сливаюсь.

znenyegvkby
()

Маны к app_queue и комментарии в queues.conf почитай.

kernelpanic ★★★★★
()
Ответ на: комментарий от AlienZzzz

ответ ниочем )

Я вообще не работал с Asterisk - подождем того, кто работал =)

А ты какой ответ ожидал? Скажи еще спасибо, что не послали молча. Это же ЛОР, а не техподдержка.

А по теме, я так и не понял в какой ситуации ты хочешь поймать поднятие трубки. Входящий звонок оператору или исходящий от оператора? Если исходящий, то никак, sip телефон посылает на сервер команду INVITE только, когда оператор набрал номер. Если интересует момент, когда оператор поднял трубку при входящем, то я бы делал через мониторинг событий AMI, в нем есть BridgeEnter и подобные

Yur4eg ★★
()

Задача: после того, как оператор взял трубку, был вызов внешнего скрипта

http://asterisk.ru/knowledgebase/Asterisk cmd Dial

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

В макросе вызываешь нужный тебе скрипт.

Deleted
()
Ответ на: комментарий от AlienZzzz

Делай system-ом в екстеншине, прямо после того как дозвон на сипакк где оператор. Хватит мудрить че сложного то. И зачем ты кастом трогаеш у тя freepbx чтоли? Описание в студию.

whiteodmin
()

Заработало вот так!

Спасибо заработало вот так:

[from-internal-custom] exten => _XXXX,1,Dial(SIP/${EXTEN},60,U(answer-script,${PARAM})) same => n,Hangup [answer-script] exten => s,1,AGI(answer.py,${ARG1}) same => n,Return

answer.py:

#!/usr/bin/python import os,sys import datetime ROOT_PATH = os.path.abspath(u'{0}'.format(os.path.dirname(os.path.abspath(__file__)))) file_name = os.path.join(ROOT_PATH, 'answer.txt') with open(file_name, 'a') as file_to_save: save_string= u"{0:%Y-%m-%d %H:%M:%S}: {1}\n".format(datetime.datetime.now(), sys.argv) file_to_save.write(save_string)

AlienZzzz
() автор топика
Ответ на: комментарий от whiteodmin

freepbx - ДА

Я уже устал искать - я могу заплатить просто за настройку этого!

AlienZzzz
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.