AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Первый опыт c Asterisk

Newbies/FAQ Forum 25 сообщений -
#1

Первый опыт c Asterisk


Всем гуру, начинающим и случайно забредшим душам привет! Smile
Вот и наступило время моего постижения астериска (организация подрасла и возникла необходимость использования АТС, решил тратить время и средства в развитие собственного мозга).

Нашел хороший мануал по начальной установки, без проблем поставил linux ubutu server 12.04, Asterisk и веб управление FreePBX.

Потом начал изучать веб интерфейс, внутренние номера и софтфоны настроил (всё работает).

Дошел до настройки внешнего номера. Есть SIP номер от провайдера, я взял хост, логин и пасс. По мануалу (не решился выпендриваться своими 0,5% знаниями и шел строго по источнику знаний= мануал) прописал все параметры в транке, но что то не получалось, протестировав на прямую на софтфон пришел к выводу что необходимо пробросить порт 5060 на маршрутнике, после этого софтфон заработал без нареканий, но изменив в настройках маршрутника на IP адрес Asteriska заработало исходящее направление, но нет гудков и не слышно голоса и если позвонить на этот номер (транк) то гудки будто занято.

Всё Smile бьюсь с этой проблемой уже пару дней, толка нет. Идеи кончились, натыкался на статьи с похожей проблемой, но у них уже работало и сломалось т.е. есть с чем сравнивать. А у меня даже примерно не получалось запустить...

Извините что много написал, постарался подробно изложить что я ещё молодой в этой теме.

Added after 48 seconds:

Статья по которой настраивал http://habrahabr.ru/post/154933/

Added after 1 minutes:

Я занимался настройкой только в веб интерфейсе. В консоль не лез (один раз залез так, что пришлось переустанавливать Smile не ошибается тот, кто не работает)
#2

Подскажите оптимальный набор параметров в транке, и как выяснить почему не регистрируется транк.
#3

Tribian @ Пт Фев 20, 2015 03:21 писал(а):
Подскажите оптимальный набор параметров в транке, и как выяснить почему не регистрируется транк.


а вот тут вам только консоль расскажет Wink что там не хватает .

а вообще - что вообще делаете . покажите что в параметры транка вбиваете , строка регистрации ? что пробросили на маршрутнике какой маршрутник ?

вопросов больше чем ответов .

ps там еще бы не плохо RTP пробросить . 10000-20000 UDP
#4

april22 @ Пт Фев 20, 2015 13:52 писал(а):
а вот тут вам только консоль расскажет Wink что там не хватает .

а вообще - что вообще делаете . покажите что в параметры транка вбиваете , строка регистрации ? что пробросили на маршрутнике какой маршрутник ?

вопросов больше чем ответов .

ps там еще бы не плохо RTP пробросить . 10000-20000 UDP



Я искренне рад что хоть кто то ответил ) у меня уже руки опустились и я пару недель вообще сервер не трогал, мысленно его избивал Smile
Честно скажу что у меня получилось, звонки проходят практически успешно (об этом чуть ниже). Отвечу на ваши вопросы, быть может такому же ищущему новичку пригодиться: строку регистрации вообще не заполнял, т.к. в мануале про неё ни чего не написано. Маршутизатор TP-Link, порты для проброски: 5060 (tcp), 5060 (udp), 10000-20000 (udp). Параметры транка:
host=*.*.*.*
username=******
secret=****
type=peer
qualify=yes
disallow=all
allow=alaw
nat=no
canreinvite=nonat
insecure=invite
dtmfmode=rfc2833

P.S.
Расскажу о том как мне удалось таки настроить: Я очень часто звонил провайдеру но операторы не компетентны в этом вопросе (в моем городе лишь пара организаций которые используют asteerisk, всего лишь 1 Smile и знающих людей пара человек), в один прекрасный вечер решил ещё раз позвонить и впиться в мозг не на шутку. Меня перевели на якобы знатока астериска, во время моего объяснения он меня перебил и сказал что не особо то и разбирается в астериске так что, мол простите. Я начал пытать его что и как подключено, и мы дошли до ната, я его попросил что бы он поставил "галочку" что мы находимся за натом и вуаля, исходящие звонки заработали звонки заработали. Но при просмотре пиров (asterisk -r, sip show peers) была надпись unmonitored. Покопавшись в просторах интернета наткнулся на параметр qualify, прописав его появилась надпись ОК (пинг). Раньше этой (qualify) строки в параметрах не было.

Но почему то, транк работает по прежнему не совсем корректно: входящие с городского и с сотового номеров не проходят (занято), исходящие уходят успешно (я слышу и они слышат). Наверное буду опять завтра звонить провайдеру ) они уже ждут моего звонка каждый день Smile
Если есть подсказки в каком направлении думать, буду благодарен.


Сейчас перечитал свое сообщение и решил кое что добавить для ясности: провайдер где то там у себя в настройках поставил что я за натом.
Простите за запутанность изложения мыслей. Very Happy
#5

Цитата:
Но почему то, транк работает по прежнему не совсем корректно: входящие с городского и с сотового номеров не проходят (занято)

1. Incoming Route вы прописали ?

Что бы понять а доходит ли вообще звонок, вам необходимо посетить cli asterisk при этом запустить sip set debug peer

Цитата:
строку регистрации вообще не заполнял, т.к. в мануале про неё ни чего не написано.

Very Happy. Так это Вы должны согласовать с Вашим поставщиком услуг - каким образом он может подать вам сервис.

Проброс портов необходим:
1. Режит транк с ITSP.
2. Teleworkers - то есть удаленные подключения от сотрудников.

Поняв и решив эти вопросы Вы сможете двигаться далее.
#6

Link @ Ср Мар 18, 2015 05:00 писал(а):
Цитата:
Но почему то, транк работает по прежнему не совсем корректно: входящие с городского и с сотового номеров не проходят (занято)

1. Incoming Route вы прописали ?

Что бы понять а доходит ли вообще звонок, вам необходимо посетить cli asterisk при этом запустить sip set debug peer

Цитата:
строку регистрации вообще не заполнял, т.к. в мануале про неё ни чего не написано.

Very Happy. Так это Вы должны согласовать с Вашим поставщиком услуг - каким образом он может подать вам сервис.

Проброс портов необходим:
1. Режит транк с ITSP.
2. Teleworkers - то есть удаленные подключения от сотрудников.

Поняв и решив эти вопросы Вы сможете двигаться далее.

Я знаю что у каждого оператора свои нюансы, но дело в том что они вообще не понимают что я от них хочу и какую такую строку регистрации требую Smile
Обязательно завтра попробую Incoming Route (ещё не сталкивался, будем развиваться) Smile
Спасибо за советы.
#7

Цитата:
что я от них хочу и какую такую строку регистрации требую

Вы писали:
Цитата:
протестировав на прямую на софтфон


значит регистрацию Вы делали.

Вам необходимо понять для начала:
1. Какие есть способы принятия SIP сервиса на локальную АТС (Транк, Линия).
2. Режим работы АТС Asterisk с вышестоящими операторами (Сервер, Клиент).

Так как вы делали попытку регистрации, то Вы передавали авторизационные данные вышестоящему серверу регистраций (Вы клиент). Соответственно, Asterisk так же может выступать в роли клиента, и для этого необходимо прописать строку регистрации register => в sip.conf или через GUI.
#8

Я делаю ужасные вещи...методом тыка настраиваю систему.
Очередная удача. Входящие заработали -> прописал строку регистрации: (username:secret@host/username)
Спасибо за ответы, они наталкивали меня в нужную сторону Smile
Каюсь: я не смог разобраться с Incoming Route. До того как я прописал строку регистрации у меня в cli asterisk при входящем вообще не было ни чего, лишь при исходящем появлялся текст. После того как я прописал строку регистрации так же всё стало появляться.
Если у вас есть какая ни будь литература на русском языке, я был бы рад.
Спасибо за помощь!
#9

что почитать по asterisk

Цитата:
Я делаю ужасные вещи...методом тыка настраиваю систему.

это точно. обычно такое заканчивается взломом вашей системы и потоком вызовов через вашу систему заграницу с километровым счетом вам от провайдера
#10

Работа успешно проведена )
В завершение я ещё подключил 3 сотовых (мультифон), пока нареканий не было. Были небольшие проблемы с входящей связью, но потом нашел на этом форуме рабочий конфиг и всё заработало.
Так же Сделал голосовое меню.
Кстати, по поводу безопасности, это серьёзный вопрос. Я заметил что с разных IP адресов (Европа, может прокси) стараются зарегистрироваться, полистал google Smile нашел пару методов защиты, но регистрироваться так и не перестают Smile сцу*и
Так что, считаю свой топик исчерпанным.
Спасибо за советы Very Happy
Всем начинающим желаю усердия и старания. Всем знатокам желаю терпения Very Happy
#11

Доброго дня товарищи Very Happy
Подскажите пожалуйста как "подготовить" записи для IVR.

Объясняю: делал по инструкции http://voxlink.ru/kb/freepbx/freepbx-ivr/ всё хорошо, но при звонке тишина. Нашел что необходимо переконвертировать wav. Нашел стати http://www.voip-info.org/wiki/view/Conve ... n+Asterisk и sox -V hello.wav -r 8000 -c 1 -t ul hello.ulaw sox -V hello.wav -r 8000 -c 1 -t al hello.alaw sox -V hello.wav -r 8000 -c 1 -t gsm hello.gsm перепробовал все записи, тишина как была так и есть.

Подскажите куда глядеть Embarassed

Added after 1 minutes:

Я не понял какой формат надо астериску что бы воспроизвести...
Пробовал при помощи фьючекодов перезаписывать запись, но всё ровно тишина Sad
#12

логи где ?
_________________
платный суппорт по мере возможностей
#13

Как их посмотреть?
cli?
#14

ну хотя бы в CLI
core set verbose 3
и делаете нужный звонок - копируете с экрана что получилось

_________________
платный суппорт по мере возможностей
#15

[2015-04-21 10:30:32] WARNING[17913]: file.c:663 ast_openstream_full: File no-valid-responce-pls-try-again does not exist in any format
[2015-04-21 10:30:32] WARNING[17913]: file.c:958 ast_streamfile: Unable to open no-valid-responce-pls-try-again (format 0x8 (alaw)): No such file or directory

Я загрузил запись "Me". Включил фьючекод, переписал запись, прослушал (позвонив на неё - через фьючекод), но когда ставлю её в IVR тишина.
#16

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

_________________
платный суппорт по мере возможностей
#17

Не перезагружал.
Фалы я закидываю через через веб, под учёткой админа. Сейчас гляну права на него и лог ещё раз.

Added after 9 minutes:

-- Executing [**@from-trunk] Set("SIP/SINT_**", "__FROM_DID=**") in new stack
-- Executing [**@from-trunk] Gosub("SIP/SINT_**", "app-blacklist-check,s,1()") in new stack
-- Executing [s@app-blacklist-check] GotoIf("SIP/SINT_**", "0?blacklisted") in new stack
-- Executing [s@app-blacklist-check] Set("SIP/SINT_**", "CALLED_BLACKLIST=1") in new stack
-- Executing [s@app-blacklist-check] Return("SIP/SINT_**", "") in new stack
-- Executing [**@from-trunk] Set("SIP/SINT_**", "CDR(did)=**") in new stack
-- Executing [**@from-trunk] ExecIf("SIP/SINT_**", "0 ?Set(CALLERID(name)=89293558972)") in new stack
-- Executing [**@from-trunk] Set("SIP/SINT_**", "__CALLINGPRES_SV=allowed_not_screened") in new stack
-- Executing [**@from-trunk] Set("SIP/SINT_**", "CALLERPRES()=allowed_not_screened") in new stack
-- Executing [**@from-trunk] Goto("SIP/SINT_**", "ivr-1,s,1") in new stack
-- Goto (ivr-1,s,1)
-- Executing [s@ivr-1] Set("SIP/SINT_**", "TIMEOUT_LOOPCOUNT=0") in new stack
-- Executing [s@ivr-1] Set("SIP/SINT_**", "INVALID_LOOPCOUNT=0") in new stack
-- Executing [s@ivr-1] Set("SIP/SINT_**", "_IVR_CONTEXT_ivr-1=") in new stack
-- Executing [s@ivr-1] Set("SIP/SINT_**", "_IVR_CONTEXT=ivr-1") in new stack
-- Executing [s@ivr-1] Set("SIP/SINT_**", "__IVR_RETVM=") in new stack
-- Executing [s@ivr-1] GotoIf("SIP/SINT_**", "0?skip") in new stack
-- Executing [s@ivr-1] Answer("SIP/SINT_**", "") in new stack
-- Executing [s@ivr-1] Wait("SIP/SINT_**", "1") in new stack
-- Executing [s@ivr-1] Set("SIP/SINT_**", "IVR_MSG=custom/Me") in new stack
-- Executing [s@ivr-1] Set("SIP/SINT_**", "TIMEOUT(digit)=3") in new stack
-- Digit timeout set to 3.000
-- Executing [s@ivr-1] ExecIf("SIP/SINT_**", "1?Background(custom/Me)") in new stack
[2015-04-21 15] WARNING[19073]: file.c:663 ast_openstream_full: File custom/Me does not exist in any format
[2015-04-21 15] WARNING[19073]: file.c:958 ast_streamfile: Unable to open custom/Me (format 0x8 (alaw)): No such file or directory
[2015-04-21 15] WARNING[19073]: pbx.c:9781 pbx_builtin_background: ast_streamfile failed on SIP/SINT_** for custom/Me
-- Executing [s@ivr-1] WaitExten("SIP/SINT_**", "10,") in new stack
-- Executing [h@macro-dialout-trunk] Macro("SIP/**", "hangupcall,") in new stack
-- Executing [s@macro-hangupcall] GotoIf("SIP/**", "1?theend") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall] ExecIf("SIP/**", "0?Set(CDR(recordingfile)=)") in new stack
-- Executing [s@macro-hangupcall] Hangup("SIP/**", "") in new stack
== Spawn extension (macro-hangupcall, s, 4) exited non-zero on '**' in macro 'hangupcall'
== Spawn extension (macro-dialout-trunk, h, 1) exited non-zero on '**'
== Spawn extension (macro-dialout-trunk, s, 22) exited non-zero on '**' in macro 'dialout-trunk'
== Spawn extension (from-internal, **, 5) exited non-zero on '**'
[2015-04-21 15] NOTICE[1368]: chan_sip.c:24905 handle_request_register: Registration from '"602" ' failed for '188.165.141.254:5078' - No matching peer found
[2015-04-21 15] NOTICE[1368]: chan_sip.c:24905 handle_request_register: Registration from '"602" ' failed for '188.165.141.254:5078' - No matching peer found
[2015-04-21 15] NOTICE[1368]: chan_sip.c:24905 handle_request_register: Registration from '"110" ' failed for '188.165.141.254:5114' - Wrong password

Added after 6 minutes:

Файлы:

drwxrwxr-x 2 asterisk asterisk 4096 апр. 17 19:53 .
drwxrwxr-x 3 asterisk asterisk 4096 марта 27 22:01 ..
-rw-r--r-- 1 root root 259383 апр. 17 18:06 Me1.ulaw
-rw-r--r-- 1 root root 1037576 апр. 17 18:19 Me2.wav
-rw-r--r-- 1 root root 518810 апр. 17 18:38 Me3.wav
-rw-r--r-- 1 root root 259383 апр. 17 18:42 Me4.alaw
-rw-r--r-- 1 root root 53526 апр. 17 18:55 Me5.gsm

Ни один из них не проигрывается Sad
#18

Ну дык ОНИ и не будут проигрываться!!!! Пишите custom/Mе1&custom/Mе2 ...
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
#19

Added after 24 seconds:

Wapo @ Вт Апр 21, 2015 18:11 писал(а):
Ну дык ОНИ и не будут проигрываться!!!! Пишите custom/Mе1&custom/Mе2 ...

Спасибо за совет.

Я делаю всё через веб. Мне не надо что бы они все проигрывались. Я перекодировал 5 записей и по очереди все пробовал.
Мой вопрос: проблема в формате файла?

Added after 1 minutes:

в консоли конфиги я вообще не трогаю.
#20

Склейте все файлы в один с именем Me - тогда и ... возможно все заиграет
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
#21

Подскажите в каком формате должны быть файлы? Как их "подготовить" для астериска?
#22

Сначала переводим mp3'шку в wav'ку:

lame --decode file.mp3

Получаем файл file.mp3.wav, который по своим характеристикам еще не подходит для *. Теперь перекодируем его в Asterisk-совместимую "вавку" (8000 Hz, 16 bit, mono WAV):

sox -v 0.5 file.mp3.wav -t wav -2 -r 8000 -c 1 file.wav

_________________
платный суппорт по мере возможностей
#23

Видимо не судьба мне IVR сделать Smile

[2015-05-04 11] WARNING[2090]: file.c:663 ast_openstream_full: File custom/finish does not exist in any format
[2015-05-04 11] WARNING[2090]: file.c:958 ast_streamfile: Unable to open custom/finish (format 0x8 (alaw)): No such file or directory
[2015-05-04 11] WARNING[2090]: pbx.c:9781 pbx_builtin_background: ast_streamfile failed on SIP/SINT_57910 for custom/finish

Всё сделал по инструкции: залил MP3 -> lame --decode file.mp3 -> получился file.wav (не file.mp3.wav) -> sox -v 0.5 file.wav -t wav -2 -r 8000 -c 1 finish.wav

Added after 6 minutes:

попробовал склеить все файлы которые есть
[2015-05-04 12] WARNING[2409]: file.c:663 ast_openstream_full: File custom/finish does not exist in any format
[2015-05-04 12] WARNING[2409]: file.c:958 ast_streamfile: Unable to open custom/finish (format 0x8 (alaw)): No such file or directory
[2015-05-04 12] WARNING[2409]: pbx.c:9781 pbx_builtin_background: ast_streamfile failed on SIP/SINT_57910 for custom/finish&custom/123&custom/Me1&custom/Me2&custom/Me3&custom/Me4&custom/Me5

Added after 40 seconds:

Тишина
#24

так как по логу видно что Вы используете custom директорию для хранения звуковых файлов, посмотрите доступны ли они в системе и какие права на них!
#25

Link @ Пн Май 04, 2015 22:31 писал(а):
так как по логу видно что Вы используете custom директорию для хранения звуковых файлов, посмотрите доступны ли они в системе и какие права на них!


Права на /custom: drwxrwxr-x
Права на файлы:
-rw-r--r-- 1 asterisk asterisk 1042067 мая 4 11:24 123.mp3
-rw-r--r-- 1 root root 5725672 мая 4 11:26 123.wav
-rw-r--r-- 1 root root 519376 мая 4 11:27 finish.wav
-rw-r--r-- 1 root root 259383 апр. 17 18:06 Me1.ulaw
-rw-r--r-- 1 root root 1037576 апр. 17 18:19 Me2.wav
-rw-r--r-- 1 root root 518810 апр. 17 18:38 Me3.wav
-rw-r--r-- 1 root root 259383 апр. 17 18:42 Me4.alaw
-rw-r--r-- 1 root root 53526 апр. 17 18:55 Me5.gsm

Added after 15 minutes:

Изменил права и добавил файл.alaw:
-rwxrwxr-- 1 root root 519376 мая 8 12:59 finish.alaw
-rwxrwxr-- 1 root root 519376 мая 4 11:27 finish.wav
В кли:
[2015-05-08 13] WARNING[4885]: file.c:663 ast_openstream_full: File custom/finish1 does not exist in any format
[2015-05-08 13] WARNING[4885]: file.c:958 ast_streamfile: Unable to open custom/finish1 (format 0x8 (alaw)): No such file or directory
[2015-05-08 13] WARNING[4885]: pbx.c:9781 pbx_builtin_background: ast_streamfile failed on SIP/SINT_57910-000047b7 for custom/finish1

Почему он пишет "No such file or directory" ведь finish1 лежит в custom/

Added after 3 minutes:

Как я понял:
1 варнинг говорит, что не может открыть поток чтения т.к. формат не соответствует.
2 варнинг говорит, что нет файла finish1 с нужным форматом в директории custom/

Added after 1 minutes:

Он просит такой формат: (format 0x8 (alaw)? в варнинге написано