Страница 1 из 1

AMI сделать звонок и проиграть сообщение.

СообщениеДобавлено: 20 окт 2016, 14: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, 15:09
peektoseen
Кажется я приблизился к решению. Теперь в AMI я отправляю следующее (может кому поможет):
Код: выделить все
Action: Originate
Channel: SIP/mtt/790436203XX
Application: Playback
data: hello-world
Timeout: 30000


Но как быть, если мне нужно проиграть несколько файлов?
Объясню ситуацию - нужно позвонить на номер и продиктовать численный код.

Re: AMI сделать звонок и проиграть сообщение.

СообщениеДобавлено: 20 окт 2016, 16:25
Wapo
Все правильно написали. Только вместо приложения сделать Context: out_golos,Extensions: s,Priority: 1
ну и в диалплане:

[out_golos]
exten => s,1,Answer
same => n,Playback
same => .....

все что угодно

Re: AMI сделать звонок и проиграть сообщение.

СообщениеДобавлено: 20 окт 2016, 17:19
virus_net
Wapo писал(а):Все правильно написали. Только вместо приложения сделать...

Почему же вместо ? Ведь:
peektoseen писал(а):продиктовать численный код

Для этого случая есть application SayDigits:
Код: выделить все
*CLI> core show 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, 18: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();


Этот вариант работает.