Страница 1 из 1
AMI сделать звонок и проиграть сообщение.
Добавлено: 20 окт 2016, 13:46
peektoseen
Всем привет!
Господа знающие, подскажите, можно ли через AMI совершить звонок "в одну сторону" и проиграть сообщение? С проигрыванием сообщения вроде проблем нет, а вот с звонком не могу разобраться.
Есть Originate, но он делает сначала звонок на внутренний, затем на внешний. Не нашел способа сделать это без внутреннего телефона.
Сейчас вызов через AMI делаю так:
Код: Выделить всё
Action: Originate
Channel: PJSIP/102
Context: from-internal
Exten: 790436203XX
Priority: 1
Callerid: 102
Timeout: 30000
Но, как Вы понимаете - этот вариант не совсем то, что хотелось бы получить.
Re: AMI сделать звонок и проиграть сообщение.
Добавлено: 20 окт 2016, 14:09
peektoseen
Кажется я приблизился к решению. Теперь в AMI я отправляю следующее (может кому поможет):
Код: Выделить всё
Action: Originate
Channel: SIP/mtt/790436203XX
Application: Playback
data: hello-world
Timeout: 30000
Но как быть, если мне нужно проиграть несколько файлов?
Объясню ситуацию - нужно позвонить на номер и продиктовать численный код.
Re: AMI сделать звонок и проиграть сообщение.
Добавлено: 20 окт 2016, 15:25
Wapo
Все правильно написали. Только вместо приложения сделать Context: out_golos,Extensions: s,Priority: 1
ну и в диалплане:
[out_golos]
exten => s,1,Answer
same => n,Playback
same => .....
все что угодно
Re: AMI сделать звонок и проиграть сообщение.
Добавлено: 20 окт 2016, 16:19
virus_net
Wapo писал(а):Все правильно написали. Только вместо приложения сделать...
Почему же вместо ? Ведь:
peektoseen писал(а):продиктовать численный код
Для этого случая есть application SayDigits:
-= Info about application 'SayDigits' =-
[Synopsis]
Say Digits.
[Description]
This application will play the sounds that correspond to the digits of the given number. This will use the language that is currently set for thechannel.
[Syntax]
SayDigits(digits)
Re: AMI сделать звонок и проиграть сообщение.
Добавлено: 20 окт 2016, 17:08
peektoseen
Wapo писал(а):Все правильно написали. Только вместо....
virus_net писал(а):Почему же вместо ? Ведь:
Спасибо Вам за помощь!
Сейчас все работает следующим образом:
Код: Выделить всё
Action: Originate
Channel: SIP/mtt/790436203xx
Timeout: 30000
Context: code_auth
Exten: 790436203xx
Priority: 1
Variable: digits=123
В extensions_custom.conf (это freepbx) :
Код: Выделить всё
[code_auth]
exten => _X., 1, Verbose(1|Auth ring);
exten => _X., 2, Playback(zdravstujte);
exten => _X., 3, PLayback(parol);
exten => _X., 4, SayDigits(${digits});
exten => _X., 5, Hangup();
Этот вариант работает.