URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 93994
[ Назад ]

Исходное сообщение
"Asterisk Voice menu + com"

Отправлено slowkazak , 07-Ноя-12 09:06 
Добрый день! Задача стоит достаточно неоднозначная (по крайней мере гугл мне ничего полезного не рассказал)
1. Построить голосовое меню на астериске (но это как раз не проблема)
2. Используя это голосовое меню нужно отдавать данные из этого меню на com порт
Вот как раз со вторым пунктом и есть самая большая загвоздка. Может кто чего посоветует в решении этой проблемы?
Буду очень признателен.

Содержание

Сообщения в этом обсуждении
"Asterisk Voice menu + com"
Отправлено PavelR , 07-Ноя-12 09:24 
> 2. Используя это голосовое меню нужно отдавать данные из этого меню на
> com порт

а подробнее ?


"Asterisk Voice menu + com"
Отправлено slowkazak , 07-Ноя-12 09:42 
>> 2. Используя это голосовое меню нужно отдавать данные из этого меню на
>> com порт
> а подробнее ?

Поясняю.  Голосовое меню будет поставляться только для одного телефона. Когда с этого телефона данные уходят на голосовое меню нужно нужно чтоб скрипт обрабатывал их и в зависимости от полученных данных генерировал тот или иной сигнал на ком порте



"Asterisk Voice menu + com"
Отправлено PavelR , 07-Ноя-12 10:23 
>>> 2. Используя это голосовое меню нужно отдавать данные из этого меню на
>>> com порт
>> а подробнее ?
> Поясняю.  Голосовое меню будет поставляться только для одного телефона. Когда с
> этого телефона данные уходят на голосовое меню нужно нужно чтоб скрипт
> обрабатывал их и в зависимости от полученных данных генерировал тот или
> иной сигнал на ком порте

В общем, не важно, как вы описали ваши подробности :-)


Я бы реализовал так:

*) Пишем приложение, которое будет подключаться к * через AMI
*) В диалплане голосового меню в нужных местах вызываем UserEvent()
*) В приложении ловим Event: UserEvent и делаем нужные действия хоть с ком-портом, хоть с чем угодно.


"Asterisk Voice menu + com"
Отправлено slowkazak , 07-Ноя-12 10:47 
>[оверквотинг удален]
>> Поясняю.  Голосовое меню будет поставляться только для одного телефона. Когда с
>> этого телефона данные уходят на голосовое меню нужно нужно чтоб скрипт
>> обрабатывал их и в зависимости от полученных данных генерировал тот или
>> иной сигнал на ком порте
> В общем, не важно, как вы описали ваши подробности :-)
> Я бы реализовал так:
> *) Пишем приложение, которое будет подключаться к * через AMI
> *) В диалплане голосового меню в нужных местах вызываем UserEvent()
> *) В приложении ловим Event: UserEvent и делаем нужные действия хоть с
> ком-портом, хоть с чем угодно.

Вот мне второй способ предложили, он простой достаточно, и мануалов по нему найдется немало, а можно еще про первый подробнее пояснить? Если со ссылками и исходниками то вообще будет хорошо


"Asterisk Voice menu + com"
Отправлено PavelR , 07-Ноя-12 11:28 
>[оверквотинг удален]
>>> иной сигнал на ком порте
>> В общем, не важно, как вы описали ваши подробности :-)
>> Я бы реализовал так:
>> *) Пишем приложение, которое будет подключаться к * через AMI
>> *) В диалплане голосового меню в нужных местах вызываем UserEvent()
>> *) В приложении ловим Event: UserEvent и делаем нужные действия хоть с
>> ком-портом, хоть с чем угодно.
> Вот мне второй способ предложили, он простой достаточно, и мануалов по нему
> найдется немало, а можно еще про первый подробнее пояснить? Если со
> ссылками и исходниками то вообще будет хорошо

астериск предоставляет управляющий интерфейс, AMI - asterisk management interface.

Он простой, текстовый протокол, поля и значения разделены двоеточие-пробел. Подключаетесь к порту, авторизуетесь, отправляете-принимаете данные. Пример где-то на http://www.voip-info.org/ или в гугле.

Мой исходник:
1) на perl
1.1) использует перепиленный для работы в неблокирующем режиме Asterisk::Manager
2) с личной инфо, которую надо чистить перед публикацией
3) содержит наслоения эволюционного развития, т.к. изначально это вообще было не для asterisk, а специализированный веб-сервер, а еще раньше - вообще чужим проектом, а только потом стало /другим/ сервисом asterisk и еще "потом" стало "еще одним" сервисом asterisk - т.е для академического изучения не пригодно.


"Asterisk Voice menu + com"
Отправлено _uznik_ , 07-Ноя-12 10:19 
Я бы сделал следующим образом:
Подготовил скрипты для обращения к com порту, затем в * добавил строки примерно такого содержания  exten => _первый_номер_голосового_меню,1, system(/bin/script1)



"Asterisk Voice menu + com"
Отправлено PavelR , 07-Ноя-12 10:24 
> Я бы сделал следующим образом:
> Подготовил скрипты для обращения к com порту, затем в * добавил строки
> примерно такого содержания  exten => _первый_номер_голосового_меню,1, system(/bin/script1)

хм, а такой простой способ я уже и забыл ))))
ну, у меня просто наработка есть, вот ей и пользуюсь)


"Asterisk Voice menu + com"
Отправлено slowkazak , 07-Ноя-12 11:02 
> Я бы сделал следующим образом:
> Подготовил скрипты для обращения к com порту, затем в * добавил строки
> примерно такого содержания  exten => _первый_номер_голосового_меню,1, system(/bin/script1)

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


"Asterisk Voice menu + com"
Отправлено _uznik_ , 07-Ноя-12 11:19 
Что то мне с трудом вериться что гугл вам ничем помочь не смог...
Первые ссылки по запросу в гугле- asterisk system():
http://www.voip-info.org/wiki/view/Asterisk+cmd+System
и даже на русском
http://asterisk.ru/knowledgebase/Asterisk+cmd+System



"Asterisk Voice menu + com"
Отправлено slowkazak , 07-Ноя-12 11:35 
> Что то мне с трудом вериться что гугл вам ничем помочь не
> смог...
> Первые ссылки по запросу в гугле- asterisk system():
> http://www.voip-info.org/wiki/view/Asterisk+cmd+System
> и даже на русском
> http://asterisk.ru/knowledgebase/Asterisk+cmd+System

За это спасибо, уже нашел про вызов скриптов (в том числе не без помощи товарищей отписавшихся выше) Теперь все-таки интересует отправка данных на com порт и, если есть такая возможность постройка пакетов этих данных


"Asterisk Voice menu + com"
Отправлено Andrey Mitrofanov , 07-Ноя-12 11:42 
>Теперь все-таки интересует отправка данных на
> com порт и, если есть такая возможность постройка пакетов этих данных

#!/bin/sh

echo 'Данные 1, 2, 3' >/dev/ttyS1