второй вопрос: как сделать хотлайн( т.е. на одной уатс набираешь номер и попадаешь на вторую уатс/) какие правила для звонка надо написать?
| ilyamaltian писал(а): |
| главный вопрос: если в консоли астериска показывается, что определённые номера с определённых айпи зарегились, значит ли это, что по ним и с них уже можно звонить? |
Звонить можно и без регистрации (как туда, так и обратно). Она нужна только для того, если ip адрес и порт устройства заранее неизвестен (например, динамический).
| ilyamaltian писал(а): |
| второй вопрос: как сделать хотлайн( т.е. на одной уатс набираешь номер и попадаешь на вторую уатс/) какие правила для звонка надо написать? |
Надо написать план набора (dialplan) в extension.conf, и принятый вызов в определенном контексте направить (Dial() ) на нужное направелние.
_________________
ys
http://voip.rus.net/
| ilyamaltian писал(а): |
| а какой командой в консоли мониторить то, что происходит на сервере( звонки там и попытки регистрации..) |
set verbose
Usage: set verbose
Sets level of verbose messages to be displayed. 0 means
no messages should be displayed. Equivalent to -v[v[v...]]
on startup
_________________
ys
http://voip.rus.net/
| ys писал(а): | ||
| ilyamaltian писал(а): |
| а какой командой в консоли мониторить то, что происходит на сервере( звонки там и попытки регистрации..) |
set verbose
Usage: set verbose
Sets level of verbose messages to be displayed. 0 means
no messages should be displayed. Equivalent to -v[v[v...]]
on startup
да это понятно, только он что-то не показывает ничего..
только на сип дебаге показывает
а поповоду диал, можно примерчик?
| ilyamaltian писал(а): |
| а поповоду диал, можно примерчик? |
запросто!
http://www.voip-info.org/wiki/view/Asterisk+cmd+Dial
_________________
Успехов!
вот еще одна - посвежее
_________________
Успехов!
[Jul 4 11:25:44] WARNING[95009]: file.c:621 ast_readaudio_callback: Failed to write frame
== Spawn extension (office, s, 6) exited non-zero on 'SIP/101-08459000'
и тишина хотя звонок делает вид что идёт
| Romik писал(а): |
| Кодеки не согласовали по-человечески. |
какие кодеки и где надо между собой согласовывать по человечески?
ещё он например пишет
[Jul 5 17:21:01] NOTICE[95009]: rtp.c:783 process_rfc3389: Comfort noise support incomplete in Asterisk (RFC 3389). Please turn off on client if possible. Client IP:
что такое комфорт нойз? клиент в данном случае железяк, на котором можно только настроить очерёдность кодеков и размеры пакетов
вообще ситуация такая, все до всех дозваниваются, но полная
тишина
| ilyamaltian писал(а): |
| ещё он например пишет [Jul 5 17:21:01] NOTICE[95009]: rtp.c:783 process_rfc3389: Comfort noise support incomplete in Asterisk (RFC 3389). Please turn off on client if possible. Client IP: |
"так и должно быть" это про вот эти сообщения в логе астериска
_________________
SuSE 10.1 / Asterisk-trunk / Celeron 1000 / chan_misdn (HFC)
Linksys PAP2T / SPA941 / SPA3102 / SPA2102
-- Called 100
-- SIP/100-0845b000 is ringing
-- Call on SIP/100-0845b000 left from hold
-- SIP/100-0845b000 answered SIP/103-0844e000
-- Packet2Packet bridging SIP/103-0844e000 and SIP/100-0845b000
== Spawn extension (macro-stdexten, s, 1) exited non-zero on 'SIP/103-0844e000' in macro 'stdexten'
== Spawn extension (macro-stdexten, s, 1) exited non-zero on 'SIP/103-0844e000'
Вопрос такой: Допустим, из астериска передаётся информация, которая обрабатывается shell-скриптом. Можно ли результат этой обработки засунуть обратно в диалплан?
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
открываем любимый браузер, впечатываем voip-info.org (через чёрточку!)
слева в меню чуть ниже видим встроенный гугловский поиск по сайту
вписываем туда заветное слово. результат как правило бывает первой строчкой на странице результатов. Тренируемся, на второй-третий раз доводим эти действия до автоматизма
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
Сформулирую вопрос иначе: Хочу на Астериске создать интерактивное меню, выполнять написанные мною системные скрипты при звонке на определённый номер, используя данные, полученные из астериска. На этом этапе всё хорошо и понятно. Далее интересует, как возвратить полученные из скрипта данные в Астериск (т.е. узнать результат выполнения команды и занести его в диалплан)? Прочитал уже много информации по AGI, но ничего конкретного, только поверхностная инфа. Может где-то есть что более конкретное? Возможно, примеры какие-то...
P.S. - я не ленюсь читать документацию, но иногда утомляет долгий безрезультатный поиск.
в поиск по сайту именно это слово и вставляй - я думал ты сразу догадаешься это сделать.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
Это гораздо проще, чем использовать RealTime с БД.
| Romik писал(а): |
| Это гораздо проще, чем использовать RealTime с БД. |
довольно спорный момент. где agi будет хранить диалплан? в "плоском" файле? мне кажется изменить запись в базе (или сделать выборку) куда проще чем писать с нуля целый движок для работы с "плоским" файлом.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
exten => s,1,Answer
exten => s,2,NoOp
exten => s,3,Dial(SIP/1234,180,rt)
exten => s,4,Hangup
в случае если этот план хранится в базе (с использованием RealTime) то - если нам нужно изменить строку
exten => s,3,Dial(SIP/1234,180,rt)
на
exten => s,3,Dial(SIP/5555,180,rt)
то это делается всего одной командой из диалплана DBPut() или чтото типа того (не суть важно). а как это будет в случае с AGI? сотня строк кода как минимум должна будет отработать чтобы открыть файл на чтение, найти нужную строку, заменить её, сбросить все это в физический файл. неужели этот вариант "гораздо проще"? как в реализации так и в работе.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
У меня нет статичного диалплана. Он динамически генерируется в зависимости от различных условий прямо во время выполнения AGI скрипта, путем вызова $AGI->exec($app, $options).
Относительные "минусы" - у меня достаточно много sub'ов (подпрограмм), и много условий (if ... then ... else). Дерево голосового меню и условий достигает глубины в десятки уровней.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
| anest писал(а): |
| а какой вариант ты использовал? RealTime? |
AGI. Про RealTime прочитал много интересного, но в моём простом домашнем решении не нужно никаких изысков