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

Передача канальной переменной между контекстами

Проблемы и их решения Asterisk как такового

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

Передача канальной переменной между контекстами

Сообщение nonadminus » 11 мар 2021, 13:55

Добрый день! Делаю простой обзвон по контактам с помощью asterisk
Пример кода который работает, но необходимо из контекста zvonar-dialer передать ${EXTEN} (номер вызываемого) в контекст zvonar-informer на вход скрипта который написан на python.
Помогите плиз, как сделать?

Пробовал Set(), но как я понял, канальная переменная не передается никак..

Код: выделить все
[zvonar-dialer]
exten => _8XXXXXXXXXX,1,Dial(SIP/zadarma/+7${EXTEN:1},60) ;Звоним наружу
exten => _8XXXXXXXXXX,n,Hangup ;Вешаем трубку

[zvonar-informer]
exten => 2222,1,Answer ;Берём трубку
exten => 2222,n,Wait(1) ;Ждём 1 секунду
exten => 2222,n,BackGround(zvonar) ;Проигрываем аудиофайл
exten => 2222,n,WaitExten() ;ждем цифры от клиента

;при нажатии 1 пишем файл
exten => 1,1,System(python3 /etc/asterisk/script/zvonar/test.py ??? 1 &)
exten => 1,n,Hangup() ; Кладем трубку
nonadminus
 
Сообщений: 9
Зарегистрирован: 30 сен 2020, 06:35

Re: Передача канальной переменной между контекстами

Сообщение ded » 11 мар 2021, 15:54

А ничего, что вы закон нарушаете обзвонами?
https://forum.asterisk.ru/viewtopic.php?f=13&t=18812

Наследование переменных - двойной подчерк перед именем?
http://asterisk.ru/knowledgebase/Asterisk+variables
ded
 
Сообщений: 15902
Зарегистрирован: 26 авг 2010, 19:00

Re: Передача канальной переменной между контекстами

Сообщение nonadminus » 11 мар 2021, 16:13

Да, я знаю этот закон. Разовый прозвон клиентов с целью приглашения на день рождения))
По поводу второй ссылки - честно пробовал, но это не работает для меня.. Подскажите пожалуйста ещё, как всё это с помощью hangup_handler_push сделать?
nonadminus
 
Сообщений: 9
Зарегистрирован: 30 сен 2020, 06:35

Re: Передача канальной переменной между контекстами

Сообщение BorisTheBlade » 17 мар 2021, 16:47

Вы не стой стороны подошли к проблеме просто(я имею ввиду автообзвон - прошлой теме вместо channel: sip/zadarma, нужно было использовать Channel: sip/zadarma/номер)
Передать можно через функцию SHARED, или через установку переменной при SEtVar в AMI.
BorisTheBlade
 
Сообщений: 167
Зарегистрирован: 14 фев 2011, 15:24


Вернуться в Конфигурация и настройка Asterisk

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

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

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