Как играть звук для звонящего в звездочку

Для набора номера я использую

exec("DIAL", "DAHDI/g0/" + callingPhoneNo + "," + currentTimeOut + ",mg,");

в моем приложении Java. И для воспроизведения звука для вызывающего абонента, используя этот фрагмент:

exec("background", "custom/incorrectPassword");

Но как я могу воспроизвести звук для получателя звонка после вызова телефона?

3 ответа

Решение

Как упомянуто в: voip-info, это возможно с опцией A. Означает, что для этого случая используют

exec("DIAL", "DAHDI/g0/" + callingPhoneNo + "," + currentTimeOut + ",mg|A(custom/greet)");

команда, играть greet файл для звонящего после поднятия телефона.

Есть 3 варианта для этого. На самом деле нужен только один вариант, но исторически у нас есть 3

1) Именно для этой цели, опция A в параметрах набора номера Dial Dial

A(x): 
        x - The file to play to the called party
    Play an announcement to the called party, where <x> is the prompt
    to be played

2) Параметры режима конфиденциальности.

p: эта опция включает режим скрининга. Это в основном режим конфиденциальности без памяти.

P([x]): Enable privacy mode. Use <x> as the family/key in the AstDB
    database if it is provided. The current extension is used if a database
    family/key is not specified.

Конфиденциальность воспроизведения сообщения на основе Callerid и спросить имя, если не найдено

3) Макрос и Госуб на ответ. Просто разные и самые гибкие способы сделать что-то с вызываемым, с помощью которого вы можете собирать ввод / подтверждение / отклонение вызова и т. Д.

M (макро [^ Arg[^...]]):

        macro - Name of the macro that should be executed.

        arg - Macro arguments

    Execute the specified <macro> for the *called* channel  before
    connecting to the calling channel. Arguments can be specified to the Macro
    using '^' as a delimiter. The macro can set the variable ${MACRO_RESULT}
    to specify the following actions after the macro is finished executing:

        ${MACRO_RESULT}: If set, this action will be taken after
        the macro finished executing.

            ABORT: Hangup both legs of the call

            CONGESTION: Behave as if line congestion was
            encountered

            BUSY: Behave as if a busy signal was encountered

            CONTINUE: Hangup the called party and allow the
            calling party to continue dialplan execution at the next priority

            GOTO:[[<context>^]<exten>^]<priority>: Transfer the
            call to the specified destination.




U(x[^arg[^...]]): 

    x - Name of the subroutine to execute via Gosub
    arg - Arguments for the Gosub routine

Execute via Gosub the routine <x> for the *called* channel before
connecting to the calling channel. Arguments can be specified to the Gosub
using '^' as a delimiter. The Gosub routine can set the variable ${GO
SUB_RESULT} to specify the following actions after the Gosub returns.

    ${GOSUB_RESULT}: 
        ABORT: Hangup both legs of the call.
        CONGESTION: Behave as if line congestion was
        encountered.
        BUSY: Behave as if a busy signal was encountered.
        CONTINUE: Hangup the called party and allow the
        calling party to continue dialplan execution at the next priority.
        GOTO:[[<context>^]<exten>^]<priority>: Transfer the
        call to the specified destination.

Также вы можете использовать специальное расширение (Macros) в приложении Dial. Это запускается после того, как вызываемый абонент берет трубку. В котором вы можете передавать параметры тоже.

Пример 2: Макрос набора http://www.voip-info.org/wiki/view/Asterisk+cmd+Dial

Другие вопросы по тегам