Страница 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:

Код: Выделить всё

*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, 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();
Этот вариант работает.