Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Конфигурация и настройка / Проиграть два файла на две стороны канала

Проиграть два файла на две стороны канала

в asterisk
Откуда: Москва
Сообщений: 25

Re: Проиграть два файла на две стороны канала

switch, для баз данных - нет. Обращение к базе данных производится со стороны asterisk-java.

Поэтому рассматриваются только варианты на Java, без вмешательства в сам Asterisk.

За исключением помещения в него звуковых файлов и прописывания экстеншенов в диал плане.
2009-01-28 17:06

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: Проиграть два файла на две стороны канала

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

покажите что у вас там понаписано, штатные телепаты в отпуске!

и база данных тут ну совершенно ни при чем! или хотите чтоб вам не жаве написали? а вы об этом до этого говорили?
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2009-01-28 17:09

Откуда: Москва
Сообщений: 25

Re: Проиграть два файла на две стороны канала

Я склоняюсь к тому, что надо организовать связь через Manager API, изучаю его пока что :)

До этого было следующее:

public class SpeakIn implements Runnable // тред номер 1
{
AgiChannel channel;
Thread thr;

public SpeakIn()
{

}
public SpeakIn(AgiChannel channel, String ThreadName)
{
this.channel = channel; // получаем канал извне
thr = new Thread(this, ThreadName); //создаём тред
System.out.println(thr.getName()); // печатаем название треда в консоли
thr.start(); // запускаем
}
public void PlayDialed(AgiChannel channel, String phone, String filename, String options) throws AgiException
{
channel.exec("Dial", phone+","+","+"A("+filename+")"+","+options); // звоним на телефон и проигрываем файл filename
}
public void run()
{
try
{
this.PlayDialed(channel, "SIP/192.168.0.2:5060", "demo-nogo", ""); // заходим в функцию PlayDialed и передаём ей внутри класса нужные параметры
}
catch(Exception e)
{

}
}
}

public class SpeakOut implements Runnable // тред номер 2
{
AgiChannel channel;
Thread thr;

public SpeakOut()
{

}
public SpeakOut(AgiChannel channel, String ThreadName)
{
this.channel = channel; // получаем канал извне
thr = new Thread(this, ThreadName); // инициализируем тред
System.out.println(thr.getName()); // выводим информацию о треде в консоль
thr.start(); // запускаем тред
}
public void PlayFile(AgiChannel channel, String filename) throws AgiException
{
channel.streamFile(filename); // воспроизводим файл (тут надо заменить на проигрывание файла в то время, когда снимается трубка, пока хочется использовать PlayBack()
}
public void run()
{
try
{
this.PlayFile(channel, "demo-nogo"); // передаём функции параметры
}
catch(Exception e) // обработка исключительных errorов
{

}
}
}

Thread thread1 = new Thread(new SpeakIn(), "Thread1");
Thread thread2 = new Thread(new SpeakOut(), "Thread2");
SpeakOut thread4 = new SpeakOut(channel, "Thread4");
SpeakIn thread3 = new SpeakIn(channel, "Thread3");

thread2.start(); // запускаем первый тред
thread1.start(); // запускаем второй тред

Но это не работает, ибо последовательно выполняется на стороне сервера :)
2009-01-28 17:13

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: Проиграть два файла на две стороны канала

это что за хрень?
а в диалплане-то что?

в любом случае обратиться стоит к тому, кто все это понаписал
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2009-01-28 17:17

Откуда: Kiev
Сообщений: 801

Re: Проиграть два файла на две стороны канала

switch:

это что за хрень?
а в диалплане-то что?

в любом случае обратиться стоит к тому, кто все это понаписал
Это Java-классы, написанные для интеграции с Астериском http://asterisk-java.org/
Лучший способ предвидеть будущее - изобрести его (Алан Кей, "Apple")
2009-01-28 17:23

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: Проиграть два файла на две стороны канала

да я вижу что жава классы. и как токо чел додумался на этот форум запостить вопрос...
а куда автор всего этого подевался?
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2009-01-28 17:26

Откуда: Москва
Сообщений: 25

Re: Проиграть два файла на две стороны канала

switch, это кусок из приложения, запущенного под agi-сервером asterisk-java.
Оно запускает два треда в память и пытается параллельно выполнить две функции - Dial и Playback... только на стороне сервера они всё равно выполняются последовательно, а не синхронно.

А в dial-plan один номер, номер, на котором висит FastAgi(http://192.168.1.2, "hello.agi"), получив звонок на который, asterisk-сервер тыркается ко мне на компьютер, где запущен agi-сервер и ждёт от него сигналов на порту 4573 :)

Поэтому тут нужно заюзать какое-то другое решение.
2009-01-28 17:30

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: Проиграть два файла на две стороны канала

одновременно не получится в принципе. это не зависит от астериска, операционки и языка. проблема в том, что процессор выполняет все инструкции последовательно.
а если опустить стеб, то чем не устраивает схема, в которой сначала воспроизводится звонящему что-то потом - оператору?

в конце концов если так сильно хочется, купите нортель какойнить и мучайте производителя.

то, что вы хотите проблемно с логической стороны.
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2009-01-28 17:48

Откуда: Москва
Сообщений: 25

Re: Проиграть два файла на две стороны канала

switch, потому что есть заявка, например:

1.- 12345 донабор 4321. Вызовы по номерам направить на: Группу операторов XXX

2.- 9999 101 1110 (трек Соединяем - слышат обе стороны – и оператор и клиент)

3. Создать статистику вызовов по номеру

И надо сделать ровно по этой заявке :)
2009-01-28 17:52

Откуда: Kiev
Сообщений: 801

Re: Проиграть два файла на две стороны канала

switch, купить nortel, а потом мучать производителя? :)))))
Лучший способ предвидеть будущее - изобрести его (Алан Кей, "Apple")
2009-01-28 17:53

Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru