Вопрос:

Звездочка, получить номер / SIP для набора из внешнего приложения Python

python asterisk

359 просмотра

1 ответ

912 Репутация автора

Я хотел бы набрать пользовательский номер, выбранный из моей БД скриптом Python, когда пользователь звонит. Мне нужно передать пару параметров, таких как расширение или номер, который вызывает Python. Это возможно в Asterisk?

exten => 1001, 1, Dial(cmd("python myScript.py {extension} {didNumber}") 
same => n, Hangup()

Edit Я видел, что есть несколько библиотек Python для asterisk, но кажется слишком сложным способом просто получить номер телефона (и я не могу легко найти простое решение с этими библиотеками), и для этого потребуется скрипт на Python иметь гораздо больше знаний о системе звездочек.

Автор: rodi Источник Размещён: 08.11.2017 11:47

Ответы (1)


1 плюс

285 Репутация автора

Решение

Да, это возможно так:

exten => 1001,1,Set(LOCAL(numtodial)=${SHELL(${GETNUM_SCRIPT} ${extension} ${didNumber})})
same => n,Dial(${TECHNOLOGY}/${numtodial})

Вот GETNUM_SCRIPTглобальная переменная, потому что мне нравятся глобальные переменные для подобных вещей (вы можете переопределить ее на лету, без dialplan reloadили определить ее на основе для одноранговых узлов).

Я также предложил бы разделить получение номера и набор на две строки - возможно, вы захотите выполнить некоторые проверки работоспособности.

Автор: brownian Размещён: 09.11.2017 02:37
Вопросы из категории :
32x32