Страница 1 из 3

В поисках адекватной литературы.

Добавлено: 17 фев 2020, 10:25
Anubis_66RUS
Здравия желаю.

Понимаю что написанное ниже может вызвать негатив со стороны завсегдатаев, однако говорю "в лоб".

С телефонией ранее не работал от слова совсем. После увольнения ведущего мне в наследство упал сервак астериска. Так как курсов я никаких не проходил и щупал это всё дело только из далека - сразу встал вопрос по обучению. Методом реверсивной инженерии по конфигам примерно понял как оно всё устроено, но остались определенные вопросы.
Опробовал прям как библию навязываемую тут "Астериск - будущее телефонии", но честно слился к главе с установкой.
Не могли бы участники форума посоветовать что-то более напоминающее мануал? У меня со школьных времён с сухими операторами/цифрами/формулами etc понимания складывалось больше чем с художественной литературой, из коей упомянутый выше талмуд состоит более чем на половину.
Нужна сухая выжимка по пунктам. Без воды и личного мнения автора. Архитектура. Сжато и сухо. Операторы, синтаксис итд., выжимка по конфигам. Примеры.
Думаю, завсегдатаи поняли о чем идёт речь и могут что-либо посоветовать.
Буду премного благодарен.

Если быть совсем точным, то на данный момент актуальна информация по маршрутизации номеров внутри астериска в зависимости от внешнего звонящего номера (Ещё точнее - префикса).


P.S.
Offtop
при регистрации на форуме вкурил фишко что если человек регается для того что бы зайти в раздел форума "бизнес" - ему один хрен нужно прочитать и понять мануал. Если честно - смешно у вас тут.

В поисках адекватной литературы.

Добавлено: 18 фев 2020, 09:48
Kroteg
Не ну если найдешь, то поделись, пожалуйста.
modeSarcasm=off
В том и дело что литературы раз-два и обчелся - упомянутое Asterisk - Окончательное руководство (4 издание), 5 уже более усеченное, но для понимания Астериска возможно и пойдет.
Есть официальный Asterisk Admin Guide - как раз сухой язык документации. Частично начинал переводить, но лишь частично.

Re: В поисках адекватной литературы.

Добавлено: 18 фев 2020, 10:00
Anubis_66RUS
Благодарю за ответ. Судя по всему, придется терпеть художественную писанину и мнение автора, т.к. в приведенном админгиде на английском - почти то же самое (
Если вдруг кто ещё знает толковые мануалы хотя бы уровня хау-ту и поделится ими - буду очень признателен.

Re: В поисках адекватной литературы.

Добавлено: 18 фев 2020, 11:57
ded
Anubis_66RUS писал(а):при регистрации на форуме вкурил фишко что если человек регается для того что бы зайти в раздел форума "бизнес" - ему один хрен нужно прочитать и понять мануал. Если честно - смешно у вас тут.
Если честно - не смешно тут. Ибо #набигаютбыдлоадмины, которые страдают косноязычием и не могут внятно сформулировать даже свои хотелки, не говоря о хотелках своих мега-директоров, которые из них верёвки вьют.

Логика регистрации проста, она исходит из философии Open source: по умолчанию всё есть в сети, и бесплатно. Но рассказывать как всё устроено бесплатно никто не хочет, кроме неофитов, которых распирает на первых порах от первоначальных знаний. Так что бизнес в этой части - вещь критическая. Бизнес руководителям нужно минимальное понимание по составлению ТЗ в области телефонии, без этого - разговор глухого со слепым о закатах и рассветах.

Надеюсь разъяснение было полезным.

Re: В поисках адекватной литературы.

Добавлено: 18 фев 2020, 20:20
murr
Добро пожаловать в волнующий и захватывающий мир Опенсорса, чувак.

Тут каждый проходит все круги ада:
- документация есть, но написана разрабами для себя, а не для пользователей.
- "да ведь этого нет в документации?" - нам некогда писать. Это Опенсорс, не нравится - напиши сам. Репозиторий - вот там.
- "народ, а вот тут ошибка - что делать?" - ваша проблема известна, исправим при первой возможности (висит на багтрекере восьмой год ).
- если мы выложили это как релиз, не значит что оно уже нормально работает.
- мы вам ничего не должны. Это Опенсорс.

Все что ты найдешь в сети в качестве справки или доков будет: с ошибками, не для той версии программы, для другой прошивки и т.п.

Гугль, форумы, красноглазие - "Таков Путь"(с).

Re: В поисках адекватной литературы.

Добавлено: 19 фев 2020, 07:25
virus_net

Re: В поисках адекватной литературы.

Добавлено: 19 фев 2020, 09:28
Anubis_66RUS
ded писал(а):Надеюсь разъяснение было полезным.
Благодарю, однако сказанное мной в постскриптуме было риторическим восклицанием и не требовало ответа. Я это прекрасно понимаю. И, увы, Так же страдаю костноязычием.
murr писал(а):Добро пожаловать в волнующий и захватывающий мир Опенсорса, чувак.
Я давненько в этом мире. Не сказать что уверенно иду в сторону светлого будущего... скорее вроде обжился, но каждый день что-нибудь новенькое.

#############
Всех благодарю.
У меня возник чуть более специфический вопрос. Касается экстеншенов и списков с астерискдб. Как тут заведено? Создавать новую тему на каждый чих, или если есть уточнение в топикстарте - можно тут уточниться?

Re: В поисках адекватной литературы.

Добавлено: 19 фев 2020, 11:35
ded

Re: В поисках адекватной литературы.

Добавлено: 19 фев 2020, 16:31
Anubis_66RUS
А мозг тем временем потихоньку вытекает... Всё-таки проблема в понимании синтаксиса. Соизволите помочь?

Накалякано так, в комментариях - моя расшифровка.
exten => *trunknumber*,1,Set(CDR(userfield)=input) ; это мы слушаем транк с номером *trunknumber*, приоритет у действия - единица. При получении - прописываем в пользовательское поле значение input (тут скорее всего для подключенной ЦРМки)
same => n,MixMonitor(/folder/${UNIQUEID}.wav) ; по приоритету next мы запускаем запись разговора в директорию folder с именем по шаблону UNIQUEID
same => n,Queue(*Qu_name*,rt,,,300) ; по приоритету next мы ставим разговор в очередь *Qu_name*, во время ожидания в трубке слышен гудок (r) и возможно нажимкать внутренний номер (t), передача УРЛ и повторного приветствия не указаны, таймаут 300.
same => n,Hangup ; принимаем вызов.

Тут вроде как особо проблем не было, НО. Решил сделать маршрут по шаблону

exten => *trunknumber*/_7*citycode*XXXXXXX,1,Set(CDR(userfield)=input) ; приняли вызов, чекнули по шаблону фрефикс звонящего, при совпадении пошли дальше
same => n,MixMonitor(/folder/${UNIQUEID}.wav) ; начали запись
same => n,Queue(*Qu_city1*,rt,,,300) ; поставили в очередь Qu_citry1 с парметрами как и раньше
same => n,Hangup ; приняли

Тут опять таки всё понятно.


А теперь непонятности
№1. На сколько я понял, астериск отрабатывает экстеншены по приоритету одновремнно и мне нельзя просто так взять и прописать общее правило после второго. Поэтому нужно вложить экстеншн в экстеншн инклудом. Так ли это? Для теста сподряд поставил второй, за ним - первый экстеншн и вроде как оно работает как должно. По звонку с указанного префикса астер кидает вызов на нужную мне очередь. Это типа мне повезло или истина где-то рядом?
№2. Никак не могу въехать как в этом синтаксисе поставить отсылку на массив данных для перебора вместо шаблона. Идея в следующем: при звонке с citycode1, citycode2, citycode3 - направлять на Qu_city1, при звонке с citycode5-7 - Qu_city2 и citycode8-10 - Qu_city3. Банальная маршрутизация по мать его префиксу, но в голове уже обезьянка из евротура ввиду моей неопытности.

Не знаю как объяснить...

exten => *trunknumber*,1,Set(CDR(userfield)=input)
exten => *trunknumber*,2,GotoIf($["${CALLERID}" = _7citycode1XXXXXXX]?30:3)
exten => *trunknumber*,3,GotoIf($["${CALLERID}" = _7citycode2XXXXXXX]?30:4)
exten => *trunknumber*,4,GotoIf($["${CALLERID}" = _7citycode3XXXXXXX]?30:5)
exten => *trunknumber*,5,GotoIf($["${CALLERID}" = _7citycode5XXXXXXX]?31:6)
exten => *trunknumber*,6,GotoIf($["${CALLERID}" = _7citycode6XXXXXXX]?31:7)
exten => *trunknumber*,7,GotoIf($["${CALLERID}" = _7citycode7XXXXXXX]?32:33)

same => 30,Queue(*Qu_city1*,rt,,,300)
same => 31,Queue(*Qu_city2*,rt,,,300)
same => 32,Queue(*Qu_city3*,rt,,,300)
same => 33,Queue(*Qu_Any*,rt,,,300)

same => n,MixMonitor(/folder/${UNIQUEID}.wav) ; начали запись
same => n,Hangup ; приняли

Короч... нужно в экстен вставить запрос на перебор значений по шаблону. Скорее всего из астердб, ибо городить подобную конструкцию - звездец. Вопрос в том как это сделать для подстановки в callerid...

Re: В поисках адекватной литературы.

Добавлено: 19 фев 2020, 17:48
ded
Как не помочь! Конечно поможем! Алгоритм, описанный выше, носит название "Нормализация (то есть приведение к единому виду) Caller ID". Вот по этому ключу и поищите.
Anubis_66RUS писал(а):в комментариях - моя расшифровка.
exten => *trunknumber*,1,Set(CDR(userfield)=input) ; это мы слушаем транк с номером *trunknumber*,.
Мимо!
Это мы первым шагом назначаем переменной CDR(userfield) бессмысленное с точки зрения CDR слово input. Создатель этого действия придумал так, типа, чтобы легко фильтровать по этому полю в CDR чтобы разом получить все входящие (!) звонки одним запросом. Но тот же результат можно получить как минимум двумя другими, штатными фильтрациями. Но об этом потом.

Синтаксис, с примерами, комментариями и пояснениями:
Глава 6. Основы диалплана
- как раз оно/

Лично сам переводил. Можно сказать специально для Вас!