Чат  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Проигрывание файла в выбраный канал

Проблемы и их решения Asterisk как такового

Модератор: april22

Re: Проигрывание файла в выбраный канал

Сообщение youran » 19 дек 2018, 06:42

Например, разговаривает абонент с абонентом , но тут вдруг звонит начальник
Необходимо одному из абонентов или обеим сказать фразу типа "Ваш разговоров будет прерван и бла бла"
youran
 
Сообщений: 17
Зарегистрирован: 02 дек 2011, 05:28

Re: Проигрывание файла в выбраный канал

Сообщение awsswa » 19 дек 2018, 11:41

писать парсер на php
увидать что звонит босс
увидать кому
узнать ID канала
вклинится в разговор
обрубить
соединить босса и менеджера

написать заявление на увольнение и послать руководство с такими задания нахер
потому что если руководство хочет обрубать не глядя разговор, оно однозначно адекватностью не страдает
платный суппорт по мере возможностей
awsswa
 
Сообщений: 2352
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: Проигрывание файла в выбраный канал

Сообщение Wapo » 19 дек 2018, 12:06

Почитайте тут: https://wapo-spb.livejournal.com/7753.html - может наведет на мысли.
Аватар пользователя
Wapo
 
Сообщений: 669
Зарегистрирован: 02 мар 2011, 18:53

Re: Проигрывание файла в выбраный канал

Сообщение ded » 19 дек 2018, 12:10

youran, IMHO - фигнёй страдаете.
Нормальная работа ИП-телефона предполагает многоканальность и приём второго звонка. Во время разговора слышно ту-ту - признак второго звонка. Смотрим на экран ИП-телефона - видно кто звонит, и успеваем проговорить абоненту - "Всё, пока, мне начальник звонит, я позже тебе перезвоню..." и спокойно принять вызов начальника.
awsswa писал(а):Написать заявление на увольнение и послать руководство с такими задания нахер
потому что если руководство хочет обрубать не глядя разговор, оно однозначно адекватностью не страдает
+++++
ded
 
Сообщений: 13793
Зарегистрирован: 26 авг 2010, 19:00

Re: Проигрывание файла в выбраный канал

Сообщение youran » 19 дек 2018, 12:39

Всем спасибо разобрался.
Если кому интересно могу описать алгоритм
youran
 
Сообщений: 17
Зарегистрирован: 02 дек 2011, 05:28

Re: Проигрывание файла в выбраный канал

Сообщение awsswa » 19 дек 2018, 12:42

не нужно писать
пускай мучаются
платный суппорт по мере возможностей
awsswa
 
Сообщений: 2352
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: Проигрывание файла в выбраный канал

Сообщение virus_net » 20 дек 2018, 08:17

+1
Ведь "всем спасибо, все свободны" довольно точное описание как это работает.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

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

Re: Проигрывание файла в выбраный канал

Сообщение youran » 20 дек 2018, 09:38

1000 номер экстена к кому при условии необходимо вклиниться

Код: выделить все
exten => 1000,1,Answer() отвечаем на вызов
exten => 1000,2,Set(foo=${DEVICE_STATE(SIP/${EXTEN})}) в переменную foo записываем стутс экстена 1000
exten => 1000,3,GotoIf($[${foo} == NOT_INUSE]?yes:no) если не занят(не используется) идем на метку yes, если в разговоре идем на метку no
exten => 1000,4(yes),Set(GLOBAL(chan)=${CHANNEL}) в глобальную chan переменную записываем канал
exten => 1000,5(yes),Set(GLOBAL(num)=${CALLERID(num)}) в глобальную переменную записываем номер звонящего
exten => 1000,6(yes),Dial(SIP/1000,120) звоним на экстен
exten => 1000,7(no),GotoIf($[${CALLERID(num)} == XXXXXXXXXX]?1000,8:1000,11) смотрим если номер звонящего равен XXXXXXXXXX идем на 8 строку, если нет то на 11 строку
exten => 1000,8(no),AGI(N.pl,${num}) обрабатываем (листинг ниже)
exten => 1000,9(no),Wait(4) ждем 4 секунды пока проиграется файл (можно в скрипте поставить sleep() предварительно узнав длительность файла в секундах)
exten => 1000,10(no),System("asterisk -rvx 'channel request hangup ${chan}'"); отбиваем канала ID которого ранее записывали в глобальную переменную chan
exten => 1000,11(no),Dial(SIP/1000,120) звоним на экстен


Листинг контекста [N]
Код: выделить все
[N]
exten => 100,1,Answer()
exten => 100,n,Playback(/etc/asterisk/sound/calldrop)
exten => 100,n,Hangup()

exten => 101,1,Answer()
exten => 101,n,Playback(/etc/asterisk/sound/calldrop)
exten => 101,n,Hangup()

exten => 200,1,ChanSpy(SIP/1000,qw)

exten => 300,1,ChanSpy(${ch},qw)


Листинг N.pl
Код: выделить все
#!/usr/bin/perl

use File::Copy;

my $ch = $ARGV[0];

open S, "> /tmp/1000";
print S "Channel: Local/100\@N\n";
print S "CallerID: <37230>\n";
print S "MaxRetries: 2\n";
print S "RetryTime: 6\n";
print S "WaitTime: 60\n";
print S "Context: N\n";
print S "Extension: 200\n";
print S "Priority: 1\n";
close S;

move("/tmp/1000","/var/spool/asterisk/outgoing/1000");


open S, "> /tmp/num";
print S "Channel: Local/101\@N\n";
print S "CallerID: <37230>\n";
print S "MaxRetries: 2\n";
print S "RetryTime: 6\n";
print S "WaitTime: 60\n";
print S "Context: N\n";
print S "Extension: 300\n";
print S "Priority: 1\n";
print S "Set: ch=$ch";
close S;

move("/tmp/num","/var/spool/asterisk/outgoing/num");
youran
 
Сообщений: 17
Зарегистрирован: 02 дек 2011, 05:28

Re: Проигрывание файла в выбраный канал

Сообщение youran » 20 дек 2018, 09:43

ded писал(а):youran, IMHO - фигнёй страдаете.
Нормальная работа ИП-телефона предполагает многоканальность и приём второго звонка. Во время разговора слышно ту-ту - признак второго звонка. Смотрим на экран ИП-телефона - видно кто звонит, и успеваем проговорить абоненту - "Всё, пока, мне начальник звонит, я позже тебе перезвоню..." и спокойно принять вызов начальника.
awsswa писал(а):Написать заявление на увольнение и послать руководство с такими задания нахер
потому что если руководство хочет обрубать не глядя разговор, оно однозначно адекватностью не страдает
+++++

Можно пойти по этому пути, но зарплата и уровень руководителя не позволяет мне так поступить
youran
 
Сообщений: 17
Зарегистрирован: 02 дек 2011, 05:28

Re: Проигрывание файла в выбраный канал

Сообщение awsswa » 20 дек 2018, 12:12

Технически сделано почти безупречно. Хоть это радует.
платный суппорт по мере возможностей
awsswa
 
Сообщений: 2352
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Пред.

Вернуться в Конфигурация и настройка Asterisk

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

Сейчас этот форум просматривают: Darrellgop и гости: 10

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