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

Посылка DTMF в линию во время разговора и после завершения

Добавлено: 02 сен 2012, 15:50
soh
Как всегда, руководству "вчера" понадобилось сделать ГГС (Громкоговорящая связь) в складском комплексе. Для этого была куплена железяка SNOM PA1. Все замечательно. Все работает, но еще понадобилось управлять реле на этой железяке. Релюхами можно управлять через посылку DTMF сигналов. И возник вопрос, как можно заставить Астериск послать определенный DTMF сигнал без участия пользователя, после того, как эта железка сняла трубку. Стоит Астериск 1.8. К примеру, после того, как поднята трубка на удаленной стороне, нужно послать два символа DTMF - "1*" и аналогичный после того, как сеанс связи закончен.

Re: Посылка DTMF в линию во время разговора и после завершен

Добавлено: 02 сен 2012, 16:23
awsswa
Dial с ключём D
SendDTMF

Re: Посылка DTMF в линию во время разговора и после завершен

Добавлено: 02 сен 2012, 16:41
soh
Спасибо, попробуем :)

Re: Посылка DTMF в линию во время разговора и после завершен

Добавлено: 04 сен 2012, 13:31
soh
awsswa писал(а):Dial с ключём D
SendDTMF
Покопавшись, получилось сделать вот что:

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

[office]
exten => _199,1,Dial(SIP/199,,D(1#),g)
exten => _199,2,Wait(3)
exten => _199,3,SendDTMF(1*)
exten => _199,4,Verbose(Hangaping)
В итоге, DTMF последовательность 1* прошла. А вот дальше затык случился, ибо SendDTMF(1*) и следующая команда не сработала, после того, как абонент повесил трубку.
На самом деле меня волнует даже не это. Мне нужно соединить абонента, набравшего номер 199, с несколькими аппаратами. Как я понимаю, для этого нужно использовать Пейджинг вида exten => _199,n,page(SIP/199&SIP/200), но как можно будет передать последовательность DTMF, как только на удаленной стороне сняли трубку и как это сделать, после того, как абонент ее положил?

Re: Посылка DTMF в линию во время разговора и после завершен

Добавлено: 04 сен 2012, 13:58
ded
MeetMe?

Re: Посылка DTMF в линию во время разговора и после завершен

Добавлено: 04 сен 2012, 14:05
soh
А без конференции никак?

Re: Посылка DTMF в линию во время разговора и после завершен

Добавлено: 04 сен 2012, 14:06
soh

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

exten => _199,1,Dial(SIP/199,,D(1#),g)
И мне непонятно, почему не работают команды, после того, как абонент положил трубку :(

Re: Посылка DTMF в линию во время разговора и после завершен

Добавлено: 04 сен 2012, 14:09
soh
ded писал(а):MeetMe?
Просто задача такова, что стоит несколько железок, которые берут трубку автоматом. Нужносделать групповой вызов на них и чтобы после того, как эти несколько железок взяли трубок, Asterisk послал DTMF последовательность. После того, как позвонивший вешает трубку, Asterisk должен послать еще одну DTMF последовательность на все эти железки.

Re: Посылка DTMF в линию во время разговора и после завершен

Добавлено: 04 сен 2012, 14:11
Vlad1983
"После того, как позвонивший"

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

    F: Proceed with dialplan execution at the next priority in the current
    extension if the source channel hangs up.

Re: Посылка DTMF в линию во время разговора и после завершен

Добавлено: 04 сен 2012, 14:17
soh

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

[office]
exten => _199,1,Dial(SIP/199,,D(1#),g)
exten => _199,2,Wait(3)
exten => _199,3,SendDTMF(1*)
exten => _199,4,Verbose(Hangaping)
Команды после Dial(SIP/199,,D(1#),g), когда вешат трубку инициатор разговора (source, как я понимаю), не выполняются :(