Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Asterisk - software PBX

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Открыть новую тему     Написать ответ в эту тему

slech



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Asterisk



Asterisk - полностью программная учрежденческая АТС (УАТС), работающая под управлением операционной системы Linux". По возможностям Asterisk зачастую опережает своих традиционных собратьев. Поддерживаются практически все популярные протоколы IP-телефонии (SIP, H323, SCCP, ADSI). Помимо стандартных и общеизвестных, Asterisk также имеет свой собственный протокол - IAX.
Его можно использовать как для подключения обычных клиентов, так и для передачи голосового трафика между несколькими серверами Asterisk. Для сопряжения с "традиционной телефонией" имеются аналоговые (FXO, FXS) и цифровые модули расширения (E1, T1). С помощью Asterisk вы сможете реализовать проект любого масштаба - от простого домашнего сервера голосовой почты до телефонного сервера предприятия с функциями IVR (Interactive Voice Response - система голосовых меню)


Wikipedia
Русский портал поддержки - всё жутко тормозит. вроде движок сменили и уже не так(03.06.2008)
Asterisk Forum - русский форум
Forum Asterisk - новый русский форум!
voipinfo Forum - раздел на форуме voipinfo

Дистрибутивы, программы и GUI для Asterisk
Подробнее...
 


Статьи, ссылки
VOIP Wiki - a reference guide to all things VOIP
VoIp Справочник на русском языке
Asterisk и Linux: миссия IP-телефония
Третье издание книги Asterisk™: The Definitive Guide на инглише
 
 
Родственные темы
IP-телефония - общие вопросы
IP-телефония - выбор софта
IP телефония - VoIP/SIP телефоны

Всего записей: 4893 | Зарегистр. 10-11-2004 | Отправлено: 15:47 13-12-2007 | Исправлено: yuris, 10:45 18-07-2023
yuris

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kaurych
Вам конечно виднее, но я не вижу причин, чтоб в виртуалку не завести сип.  
У меня под esxi норм работает, но железо приличное и от транскодинга постарался уйти.

Всего записей: 383 | Зарегистр. 19-11-2001 | Отправлено: 07:40 29-10-2015
kaurych



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
yuris
А почему ASterisk выкидывает в консоле своей такое:
Registration from 'sip:User@192.168.5.5' failed for '192.168.5.10:35060' wrong password
'sip:User@192.168.5.5' - ASterisk
'192.168.5.10:35060' - Это TDE200
По идее получается TDE200 ждёт паролика с логином от Asterisk - а откуда его брать то?
 
Добавлено:
C TDE200 звонки с внутренних номеров, на программные телефоны через Asterisk идут, а наоборот нет..  
настраивал по этому мануалу.. http://pbx.gal.cv.ua/asterisk-tde/tde - хоть его и хвалят, но затык пока что у меня с ним!

Всего записей: 465 | Зарегистр. 16-05-2006 | Отправлено: 16:54 03-11-2015 | Исправлено: kaurych, 18:30 03-11-2015
yuris

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kaurych
Это не ТДЕ ждет, а астериск пишет, что пароль у User, который ломится с ТДЕ не правильный. Надо сверить настройки пира в астериске и настройки на ТДЕ.
 
Звонки с ТДЕ идут возможно потому, что стоит insecure в настройках
 
В консоли астера core show settings и смотри вывод Current console verbosity  
если стоит 3 , то сделай core set verbose 30
во время звонка с софтфона на ТДЕ, смотри в консоли ошибку
 
Посмотрел настройки пира у Телефонщика, у него:
username=utde
попробуй заменить username на defaultuser
В 11-й версии username считается устаревшим, но может ещё работает.

Всего записей: 383 | Зарегистр. 19-11-2001 | Отправлено: 08:11 05-11-2015 | Исправлено: yuris, 08:36 05-11-2015
kaurych



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
yuris
Всё оказалось просто - порт для TDE прописать в пире:
port=35060
у меня он не прописан был, для программных телефонов порт не прописан, но телефоны работают!
Я так понял, для создания пира транков необходимо прописать порт всё равно!!??
А как тут с логикой?
У нас расписан ПИР для TDE (ну не важно, скажем или для телефона!)
Далее TDE или телефон проходят авторизацию согласно данным, которые вбиты в sip.config в пирах относящихся к ним. Если пароль, логин и порт указанный в ПИРЕ, с которого исходит у авторизующегося соединение сходятся, то к авторизовавшемуся источнику применяются все остальные параметры, которые прописаны в его ПИРЕ?  
Логику правильно уловил?
 
Добавлено:
yuris
И вот ещё проблемка:
создал для звонков в город
exten => _9XXXXXXX, 1, Dial(SIP/${EXTEN}@utde, 30)
Пир [utde] - для TDE200
НО почему то заворачивает любой номер после 9ки на внутренних абонентов.
ПОнятно что с 7й версией звонки в город зарублены (надо как то хитро подключать) но тут хотя бы занято сигнал давал бы.
 
Добавлено:
Есть ещё не понятные мне вещи - я из мануала, который тут рекомендовали, создавал тестовые вызовы.
Например:  
exten => 207, 1, Verbose(1|Extension 207)
exten => 207, n, Dial(SIP/207, 30)
exten => 207, n, Hangup()
или (не понятно чем отличаются для проведения теста)
exten => 500, 1, Verbose(1|Echo test application)
exten => 500, n, Echo()
exten => 500, n, Hangup()
 
всё это прекрасно укладывается в дну строчку:
exten => _2XX, 1, Dial(SIP/${EXTEN}, 10)
 
зачем команда Hangup нужна - Класть трубку?  
И так прекрасно кладёт, по окончанию звонка или по истечении времени звонка (в данном случае 10).
Пишут, что всего 200 команд. Уже какие то для версий 11 или 12 не нужны может просто?

Всего записей: 465 | Зарегистр. 16-05-2006 | Отправлено: 15:08 05-11-2015 | Исправлено: kaurych, 15:25 05-11-2015
yuris

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
для программных телефонов порт не прописан, но телефоны работают!

они работают на стандартном порту 5060, его можно не писать.
Если порт отличается от стандартного, то надо прописывать.
 
Это устаревший синтаксис
Цитата:
Dial(SIP/${EXTEN}@utde

правильнее так Dial(SIP/utde/${EXTEN}
почему заворачивает на внутренних - причин масса может быть.
 
а вообще астер имеет хороший хелп  - core show help
конкретно по приложению диал  core show application Dial
 
команда Verbose - это просто вывод текста, обычно используется для отладки
 
хангап лучше ставить всегда, даже если автохангап работает. Это как аксиома.

Всего записей: 383 | Зарегистр. 19-11-2001 | Отправлено: 17:21 05-11-2015
kaurych



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
yuris
А если Hangup не отработает, то как это будет выглядеть? ))))
Вотт кстати вопрос актуальный - а как в консоле asterisk можно просматривать то, что в ней вывалилось при запросе, ведь с некоторых команд на несколько экранов выводы идут!
В Unix стандарn то работает допустим:
 ls -ax | more
или  
ls -ax | less
а тут как?
 
Добавлено:
yuris

Цитата:
Это устаревший синтаксис  
правильнее так Dial(SIP/utde/${EXTEN})  

Ага - работает.
Вот ещё момент - у меня если с программного телефона (номер 207) звонить на обычный (номер 132)
На обычном (который от TDE200) отображается номер звонящего не 207, а 9207?
Может на ATS что то довинтить надо?
И вычитал в форуме http://pbx.gal.cv.ua/forum , что  есть какие то варианты решения выхода в город, но они создают уязвимость на ATS.

Всего записей: 465 | Зарегистр. 16-05-2006 | Отправлено: 17:44 05-11-2015 | Исправлено: kaurych, 17:48 05-11-2015
yuris

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
если Hangup не отработает
то астер продолжит выполнение следующей строки, вот поэтому и нужно его ставить всегда.
 

Цитата:
ак в консоле asterisk можно просматривать то, что в ней вывалилось при запросе

тут не подскажу, я в путти прокручиваю обратно. Можно включить запись в файл в logger.conf в конце есть готовые строки debug или full
 

Цитата:
от TDE200) отображается номер звонящего не 207, а 9207

это тде подставляет, у Телефонщика вроде было про это, уже не помню где.
 

Цитата:
есть какие то варианты решения выхода в город, но они создают уязвимость на ATS

да это так, наилучший выход - ставить астер перед тде.

Всего записей: 383 | Зарегистр. 19-11-2001 | Отправлено: 07:51 06-11-2015
uddy

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В Астериск 1.8 есть функция "Черный список"
 
[in_calls_BLACKLIST]
exten => s,1,GotoIf(${BLACKLIST()}?blacklisted)
exten => s,n,Dial(SIP/104,60)
exten => s,n(blacklisted),Hangup()
 
Вот такой контекст у меня для обработки входящего звонка. Это работает только в том случае, если в базу blacklist вносишь номер телефона. Но хотелось бы работать с
шаблонами, потому что телефонные спамеры звонят как правило с диапазона адресов. Если командой database put blacklist 8916XXXXXXX вносишь в базу шаблон, то номер, подходящий под этот шаблон не отфильтровывается.
 
Кто что порекомендует?

Всего записей: 3 | Зарегистр. 25-08-2006 | Отправлено: 12:53 08-11-2015
yuris

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Функция blacklist не работает с шаблонами т.к. только ищет callerid звонящего в ветке blacklist внутренней базы.
По быстрому, сравнить первые 4 цифры в callerid с 8916, но это неправильно т.к. отсечет все номера начинающиеся с 8916:

Код:
 
[in_calls_BLACKLIST]
exten => s,1,GotoIf(${BLACKLIST()}?blacklisted)
exten => s,n,Set(temp=${CALLERID(number):0:4})
exten => s,n,GotoIf($[“${temp}” = “8916” ]?blacklisted)
exten => s,n,Dial(SIP/104,60)
exten => s,n(blacklisted),Hangup()  
 

я бы замутил таблицу в mysql, куда бы занес диапазоны спамеров и делал бы запрос на принадлежность к диапазону.
 

Всего записей: 383 | Зарегистр. 19-11-2001 | Отправлено: 10:36 09-11-2015 | Исправлено: yuris, 10:39 09-11-2015
yuris

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
uddy
Решил модифицировать немного ваш диалплан, используя внутреннюю базу, получилось в одну строку, может пригодится кому

Код:
 
[in_calls_BLACKLIST]
exten => s,1,GotoIf(${BLACKLIST()}?blacklisted)
exten => s,n,GotoIf(${DB_EXISTS(blacklist/${CALLERID(num):0:4})}?blacklisted)
exten => s,n,Dial(SIP/104,60)
exten => s,n(blacklisted),Hangup()  
 

 
шаблон номера - database put blacklist 8916

Всего записей: 383 | Зарегистр. 19-11-2001 | Отправлено: 08:22 13-11-2015
baldden

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет, подскажите как решить проблемку, не пойму что не так.
Свзяка Freepbx + Dlink DVG-7111S (FXO)
 
Dlink цепляется с freepbx по sip аккаунту 1234567, и когда звонок приходит на FXO переадресовывает его на freepbx на номер 777
 
Все это работает на тестовом ноуте, решил тоже самое настроить на raspberry pi 2.
Но столкнулся с такой проблемой на малинке:
вот как астериск видит этот звонок на ноуте  
-- Executing [777@from-trunk:1]
а вот как видит на малинке:  --  
Executing [777@from-internal:1]
как сделать чтобы тоже from-trunk?
 
1234567 - и там и там заведен как транк PEER Details:
host=dynamic
type=friend
username=1234567
secret=1234567abc
qualify=yes
context=from-trunk
 

Всего записей: 4 | Зарегистр. 05-01-2006 | Отправлено: 08:38 13-11-2015
yuris

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
как сделать чтобы тоже from-trunk?  

как во freepbx - хз
на голом астериске, нужно номер 777 включить в контекст from-trunk

Всего записей: 383 | Зарегистр. 19-11-2001 | Отправлено: 09:36 13-11-2015
Clop345

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите пожалуйста написать строчку в диалплане, которая будет проверять первые две цифры из переменной и, если они НЕ равны 73,74,78,79, то присваивать этой же переменной другое значение (например 74950000000), а если нет - не менять ничего (оставить тоже значение что и было)
 
в переменной callerid_1 - номер в формате 7XXXXXXXXXX
 
Абсолютнейший новичок в Астериск.  
Заранее благодарен всем откликнувшимся
 
Вот такое удалось написать:

Код:
 
same=> n,Set(callerid_1=${IF($[ ${callerid_1:-9} != "73"]?74950000000:${IF($[ ${callerid_1:-9} != "74"]?74950000000:${IF($[ ${callerid_1:-9} != "78"]?74950000000:${IF($[ ${callerid_1:-9} != "79"]?74950000000:${callerid_1})})})})})
same => n,Set(ARRAY(CALLERID(number),CALLERID(all))=${callerid_1},${callerid_1})
 

 
Это верно?

Всего записей: 53 | Зарегистр. 22-03-2010 | Отправлено: 12:40 13-11-2015 | Исправлено: Clop345, 13:13 13-11-2015
yuris

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Clop345
не понял ничего, но судя по последней строке нужно CALLERID(all) менять.
не проверял, может и ошибся со скобками

Код:
 
same => n,ExecIf($["${CALLERID(num):0:2}" != "7[3489]"]?Set(CALLERID(all) = 74950000000))
 

Всего записей: 383 | Зарегистр. 19-11-2001 | Отправлено: 15:13 13-11-2015
Clop345

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
нужно CALLERID(all) менять.  
не проверял, может и ошибся со скобками  

все верно Вы поняли!  
Большое спасибо за код! Это наверное то, что нужно и значительно изящней, хотя моя строка тоже работает
 
PS
Сначало не заработало... но добавил кавычки вокруг 74950000000 и вот тогда завелось

Код:
 
same => n,ExecIf($["${callerid_1:0:2}" != "7[3489]"]?Set(callerid_1="7495000000"))
 
 
 
PSS
Увы, поторопился с выводами
не работает
ощущение, вот это "7[3489]" не интерпретируется как 73 или 74 или 78 или 79, а просто как набор символов
 

Всего записей: 53 | Зарегистр. 22-03-2010 | Отправлено: 18:29 13-11-2015 | Исправлено: Clop345, 19:15 13-11-2015
yuris

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тогда вместо одной строки с "7[3489]"сделать 4 строки и последовательно сравнивать с "73" "74" "78" "79"
Можно как у вас в одну строку, но на мой взгляд чтение сильно усложняется.

Всего записей: 383 | Зарегистр. 19-11-2001 | Отправлено: 09:38 14-11-2015
Clop345

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Тогда вместо одной строки с "7[3489]"сделать 4 строки и последовательно сравнивать с "73" "74" "78" "79"  
Можно как у вас в одну строку, но на мой взгляд чтение сильно усложняется.

Увы, как оказалось, не работает ни мой вариант, ни Ваш
 
Рекомендуют воспользоваться REGEX, но я практически незнаком с этим
конструкция примерно такая

Код:
 
same=>n,ExecIf($["${REGEX("7[3489]" ${callerid_1:0:2})}"="0"]?Set(callerid_1="7495000000"))  
 

 
но вместо "7[3489]" надо выстроить регулярное выражение, чего я не умею...
Буду изучать..

Всего записей: 53 | Зарегистр. 22-03-2010 | Отправлено: 13:41 14-11-2015 | Исправлено: Clop345, 13:42 14-11-2015
yuris

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Действительно, не работает, но должна же.
Заработало, когда все пробелы удалил:

Код:
 
same => n,ExecIf($["${CALLERID(num):0:2}"!="73"]?Set(CALLERID(all)=7495000000))
 

проверял на 11 версии

Всего записей: 383 | Зарегистр. 19-11-2001 | Отправлено: 17:08 14-11-2015
Clop345

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Заработало, когда все пробелы удалил:  
 

Код:
 
same => n,ExecIf($["${CALLERID(num):0:2}"!="73"]?Set(CALLERID(all)=7495000000))  
 

 

 
Такой вариант всегда работал, но тут проверка только по "73", мне же надо сразу проверять 74,78,79

Всего записей: 53 | Зарегистр. 22-03-2010 | Отправлено: 08:16 16-11-2015 | Исправлено: Clop345, 08:17 16-11-2015
yuris

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не вижу проблемы сделать 4 строки и проверять по отдельности на 73,74,78,79
результат будет тот же, что и в одной строке.
вариант с проверкой на 2 условия

Код:
 
same => n,ExecIf($[["${CALLERID(num):0:2}"!="73"]|$["${CALLERID(num):0:2}"!="74"]]?Set(CALLERID(all)=7495000000))
 

Всего записей: 383 | Зарегистр. 19-11-2001 | Отправлено: 08:48 16-11-2015
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Asterisk - software PBX


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru