ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Реакция в одном канале на Hangup в другом.

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Реакция в одном канале на Hangup в другом.

Сообщение shines2 » 27 фев 2017, 21:56

Например, такая задача: есть 2 разговора (с точки зрения астериска независимых). Один из них заканчивается (Hangup) и чтобы это послужило сигналом для начала записи другого разговора.
Не могу понять, решаемо ли это в принципе. И, если решаемо, то примерно какими средствами?
shines2
 
Сообщений: 36
Зарегистрирован: 31 мар 2016, 18:53

Re: Реакция в одном канале на Hangup в другом.

Сообщение ded » 27 фев 2017, 22:15

Всё решаемо, вопрос стоит только - как?
Первый разговор должен исполняться в изолированном контексте, где определён
exten => h,1,NoOp( ---------- custom execution ---------- )
exten => h,n,Set(RECORDFILENAME=...............)
exten => h,n,MixMonitor(.....................................)
ded
 
Сообщений: 15828
Зарегистрирован: 26 авг 2010, 19:00

Re: Реакция в одном канале на Hangup в другом.

Сообщение shines2 » 28 фев 2017, 09:36

прошу прощения, я в названии темы неверно употребил термин "канал".
Задача: 101 разговаривает с 102 (пусть в контексте К1), 103 - с 104 (контекст К2. Это для удобство идентификации, в диалплане К1 и К2 может быть и один контекст). 104 вешает трубку, попадем в К2 на экстеншен h. Что можно сделать, чтобы начать запись разговора 101-102?
В голову приходит только решение типа: писать полностью разговор 101-102, запомнить время окончания разговора 103-104, по окончании разговора 101-102 удалить из записи вычисленный лишний фрагмент. Нет решения без редактирования записи?
shines2
 
Сообщений: 36
Зарегистрирован: 31 мар 2016, 18:53

Re: Реакция в одном канале на Hangup в другом.

Сообщение virus_net » 28 фев 2017, 10:13

ded писал(а):Всё решаемо

+1
По h может исполняться что угодно, в том числе и AGI скрипт, который может проверить/вычислить что угодно и запустить что угодно.
shines2 писал(а):чтобы начать запись разговора 101-102

По h выяснить существует ли вызов между 101-102 и если существует, то навесить на него chanspy с MixMonitor, т.к.:
[Syntax]
MixMonitor(filename.extension[,options[,command]])
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
virus_net
 
Сообщений: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Реакция в одном канале на Hangup в другом.

Сообщение shines2 » 28 фев 2017, 13:30

Спасибо за способ с chanspy.
Не подскажете еще способ "выяснить существует ли вызов между 101-102 "?
Все, что мне приходит в голову, анализировать скриптом вывод core show channels. Но это как-то криво и есть подозрение, что инфы о вызовах между каналами там вообще нет.
shines2
 
Сообщений: 36
Зарегистрирован: 31 мар 2016, 18:53

Re: Реакция в одном канале на Hangup в другом.

Сообщение virus_net » 28 фев 2017, 17:17

Что именно кривого ?
Хорошо, делайте красиво: слушайте и обрабатывайте события в AMI.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
virus_net
 
Сообщений: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Реакция в одном канале на Hangup в другом.

Сообщение Repz » 28 фев 2017, 23:40

Ради любопытства, а как это будет применяться? идея вроде ясна, но как то непонятно.... почему нельзя сохранять записи и К1 и К2, зачем врубать запись К2 при hangup К1?
Repz
 
Сообщений: 169
Зарегистрирован: 04 мар 2015, 12:35


Вернуться в Вопросы новичков

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 59

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH