Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
“Рецепт Счастья” — увлекательная игра в жанре «соедини предметы»! Помогите Эмили раскрыть тайны пропавшего родственника, найти сокровища и восстановить её любимое кафе.

Рецепт Счастья

Казуальные, Головоломки, Новеллы

Играть

Топ прошлой недели

  • Oskanov Oskanov 8 постов
  • alekseyJHL alekseyJHL 6 постов
  • XpyMy XpyMy 1 пост
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Asterisk

19 постов сначала свежее
10
colorblind
colorblind
8 месяцев назад
Лига Сисадминов

Связка ТфОП и внутренней аналоговой АТС⁠⁠

Доброго времени суток, господа. У меня следующий вопрос: возможно ли связать ТфОП и офисную аналоговую АТС 70х годов, посредством Asterisk, где адаптером FXO/FXS выступает Grandstream HT813?

Т.е. что я хочу: ТфОП -> HT813 -> Asterisk -> HT813 -> Внутренний номер аналоговой АТС. И соответственно в обратную сторону. Чтобы, например, взяв внутренний телефон, человек набрал определенную последовательность, которую обработает Asterisk и попал в ТфОП через HT813.

Или же прошу подсказать простой вариант для подобной связки ТфОП (1 линии) и аналоговой АТС, посредством Asterisk.

Заранее благодарю! Панамку для метания хуев, если что, уже приготовил)

Компьютерная помощь Вопрос Спроси Пикабу Asterisk АТС Мат Текст
12
5
DAShakh
1 год назад
Лига программистов

8 fxo линий и asterisk FreePBX⁠⁠

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

Из оборудования Yeastar TA810 и сервер Asterisk FreePBX.

Сейчас я могу звонить только с 1 номера т.к. он стоит в приоритете, а нужно чтобы каждый внутренний номер выходил на отдельную линию.

[моё] Asterisk Voip IP Настройки IT Текст
4
154
vs145
2 года назад
Лига Сисадминов

Panasonic KX-TDA600 и Asterisk. О их дружбе и недружбе⁠⁠

Итак, как и обещал, завершаю историю про подключение ведомственной АТС Panasonic KX-TDA600 и Asterisk.Начало тут: Краткие заметки по дружбе OpenVox D110P (Digium Wildcard TE110P) и Астериск в 2022 году

По немногочисленным руководствам из интернетов начал ковырять АТС Panasonic. В деле настройки АТС я полный ноль, поэтому на быстрый результат не рассчитывал. Нашу АТС лет 10 назад кто то настроил (по слухам - приглашённый специалист), и с тех пор она работала, работала и работала. Надёжная штука.

Скопировал себе содержимое SD карточки что бы откатиться к исходным настройкам если вдруг чо.

Поставил переключатели на плате PRI30 в нужные позиции и вставил плату в АТС.

Panasonic KX-TDA600 и Asterisk. О их дружбе и недружбе Asterisk, Panasonic, Длиннопост

Для RJ45 ставим переключатель на лицевой планке в положение 120 Ом. (Кстати, разъём для ISDN PRI не RJ45 на самом деле, а RJ47, господа связисты быстро начинают глумиться на форумах, если вдруг RJ47 для E1 назвал привычным RJ45. RJ45 кстати вполне подходит, и все в основном его и используют, но сам факт показать свою значимость и осведомлённость - бесценен. Я на связных форумах называл его осторожно - 8p8c :)))).

Переключатель на плате указывает, какой кабель используем - прямой или кросс. А - прямой, B - кросс. Для E1 используются 1,2 - первая пара, 4,5 - вторая.

Т.е. прямой кабель - 1 - бело-оранжевый, 2 - оранжевый, 4 - бело-зелёный, 5 - зелёный. Второй конец так же.

Кросс - 1 - бело-оранжевый, 2 - оранжевый, 4 - бело-зелёный, 5 - зелёный. С другой стороны - 1 - бело-зелёный, 2 - зелёный, 4 - бело-оранжевый, 5 - оранжевый.

Я использовал кросс.

Инструкция строго рекомендует на кабель вешать феррит. Хз, я не вешал.


Естесственно, при попытке захода на Панасоник пароль не подошел. Гуглим.

Натыкаемся на ЭТОТ форум, где человек спрашивает про сброс пароля и ему господа связисты, а именно НачШтаба рекомендует обратится к нему и он-де сбросит пароль за деньги. При этом говорит что вы, сисадмины весьма самонадеянны и считаете, что вам всё по плечу. А связь - "это вам не это". Понятно... - подумал я и продолжил гуглёж.

И на второй странице выдачи гугла нашел вот это руководство. Программа отработала на 5+, и я попал на нашу АТС. Проинициализировал плату PRI30.

По мотивам Вот этого руководства я настроил взаимодействие с Астериском, и... ничего не заработало. Ожидаемо.

Проверил ещё раз. Не заработало.

Сбрасываем всю АТС. Я не видел проблем, ибо у нас она в минимальной конфигурации - набита платами ESLC16, ну и добавилась PRI30. Ничего сложного.

Выключаем АТС. Переводим тумблер на процессорном модуле в положение инициализации, включаем. Ждём когда зелёный индикатор заморгает на корпусе АТС, ждём для верности ещё секунд 10, и переводим переключатель в режим normal.

АТС инициализируется где то 2 минуты и встаёт в работу.

Но номерной план сбит. У нас были трёхзначные номера от 100 до 212 (7 плат внутренних абонентов по 16 номеров). По умолчанию же АТС выставляет четырёхзначные 1001-1112.

Идём в 2.6.1 maitenance console и во вкладке Внутренние линии меняем 10 на 1, итд. Сохраняем и внутренние звонки пошли.

Panasonic KX-TDA600 и Asterisk. О их дружбе и недружбе Asterisk, Panasonic, Длиннопост

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

1.1. Коннектимся к АТС с помощью консоли администрирования (KX-TDA Maintenance Console)

открываем пункт 1.1 (Slot).


1.2. Видим установленную плату PRI30.


1.3. Если она в режиме "INS" ("In Service" ), то переводим ее в режим "OUS", кликнув по ней правой кнопкой мыши и выбрав соответствующий пункт ("Out-of-service"). (В режиме INS Panasonic не дает править настройки платы).


1.4. Снова кликаем по ней мышкой и выбираем пункт "Port Property" ("Свойства порта").


1.5. Там выставляем Port Type (тип порта) в "QSIG-Master" (если плата в Asterisk у нас в режиме Slave.

Принципиально, чтобы на разных концах были разные значения, однако эмпирически получилось, что если ставить плату на Asterisk в Master (pri_net), то Panasonic постоянно отваливается, так что Master должен быть Panasonic).


1.6. CRC4 Mode (Режим CRC4) в "Disable". (Или enable, в зависимости от того как мы его выставили в Asterisk, опять же эмпирика показывает, что panasonic как-то криво обрабатывает этот пункт, лучше ставить в disable).


На этом настройка платы закончена, включаем плату (ПКМ - INS) и все должно заработать на уровне физики. Переходим на уровень логики.


Объединяем линии платы PRI30 в отдельную транковую группу:

2.1. открываем пункт "10.1" (CO Line Settings).

В таблице слева видим номер слота и номер порта. Справа можем задавать номер транковой группы (TRG) от 1 до 64. Выбираем любой неиспользуемый номер и присваиваем его всем 30-ти линиям платы.

Я поставил всем 2.
Panasonic KX-TDA600 и Asterisk. О их дружбе и недружбе Asterisk, Panasonic, Длиннопост

2.2. Объявляем эту транковую группу локальной (в том смысле, что не "внешней") для данной АТС. Для этого идем в пункт "9.1" (TIE Table). Думаем что бы написать в графе "Leading Number". Это такие цифры, при наборе которых АТС будет "отдавать" звонок в транковую группу, то есть нам на астериск. Тогда в Leading Number я пишу "3XX" и "4XX". В графе "Trunk Group" ("Группа внешних линий") указываем тот номер, который мы задали на предыдущем шаге, в пункте 10.1 консоли. При этом запоминаем номер строки таблицы, в который мы все это вписали (!). Это важно!

Panasonic KX-TDA600 и Asterisk. О их дружбе и недружбе Asterisk, Panasonic, Длиннопост

2.4 Идём в пункт "2.6.1Numbering Plan, Main", (План нумерации, Основное) на вкладку "Other PBX Extension" (Внутренняя линия другой УАТС), пишем первую цифру нумерации Asterisk (у меня - 3 и 4 соответственно). ВАЖНО, чтобы строка была та же, что и в пункте 9.1.

Panasonic KX-TDA600 и Asterisk. О их дружбе и недружбе Asterisk, Panasonic, Длиннопост

Добавляем настройки порта платы PRI30 для работы АОН на астериске.

Panasonic KX-TDA600 и Asterisk. О их дружбе и недружбе Asterisk, Panasonic, Длиннопост

И генерируем CLIP

Panasonic KX-TDA600 и Asterisk. О их дружбе и недружбе Asterisk, Panasonic, Длиннопост

Для меня - всё. У меня нет городских линий на АТС. Весь город я заведу на Asterisk. Мне с ним проще. Во-первых, море информации. Во вторых - дружелюбное сообщество.


Настраиваем Астериск. Начинаем с DAHDI.

/etc/dahdi/system.conf

loadzone=ru

defaultzone=ru

#span = 1,1,0,ccs,hdb3,crc4

span = 1,1,0,ccs,hdb3

# Параметры по порядку:

# 1 - Номер порта (спана) - 1 для 1-й карты

# 2 - Мастер(0) и слейв (1) - 1

# 3 - для стабилизации на длинных линиях. У нас линия короткая - 0

# 4 Fraiming

# 5 Coding

# 6 - необязательный - вкл CRC. Полезно опять же на длинных линиях. Наверное.

bchan = 1-15,17-31

dchan = 16

#alaw=1-15,17-31

Обратите внимание, тут комментарии экранируются решёткой #. В конфигах астериска  - точка с запятой (;).


/etc/asterisk/chan_dahdi.conf

[trunkgroups]


[channels]

language=ru

context=from-panas

switchtype=qsig  ;euroisdn

nationalprefix=8

overlapdial=yes

signalling=pri_cpe

rxwink=300

usecallerid=yes

cidsignalling=bell

;bell: bell202 as used in US (default)

;v23: v23 as used in the UK

;v23_jp: v23 as used in Japan

;dtmf: DTMF as used in Denmark, Sweden and Netherlands

;smdi: Use SMDI for caller ID. Requires SMDI to be enabled

;cidstart=ring ;Determine signals the start of caller ID. The options supported by Asterisk are:

;ring: A ring signals the start (default)

;polarity: Polarity reversal signals the start

;polarity_IN: Polarity reversal signals the start, DTMF dialtone detection in India

;dtmf: DTMF Caller ID spill begins only with DTMF, at various times before the ring.

;This causes Asterisk to constantly listen for DTMF CallerID signals on the specified channels

;If cidstart is configured to use dtmf, the energy level on the line may need to be

;tuned to properly identify the DTMF tones.

; This tuning is done with the dtmfcidlevel configuration option.

; The specified value is compared to the average over a packet of audio level

;of the absolute value of 16 bit signed linear samples.

; The default is set to 256, but this is completely arbitrary.

;It must be set high enough to prevent false detections, while low

;enough to ensure no dtmf spills are missed.

;hidecallerid=no

;callwaiting=yes

usecallingpres=yes

callwaitingcallerid=yes

transfer=yes

canpark=no

cancallforward=yes

callreturn=no

echocancel=no

echocancelwhenbridged=no

rxgain=0.0

txgain=0.0

group=1

callgroup=1

pickupgroup=1

immediate=no

busydetect=yes

busycount=8

channel => 1-15,17-31

/etc/asterisk/extensions.conf

[from-panas]  ; Звонки с панасоника

exten => _[34]XX,1,NoOp()

same => n, Dial(PJSIP/${EXTEN},30,tT)

same => n, Hangup()


[sip-local] ; Звонки с сипофонов и шлюзов там всяких

exten => _[34]XX, 1, NoOp()  ; Звонки с сипофонов на сипофоны

same => n, DIAL(PJSIP/${EXTEN},30,tT)

same => n, Hangup()


exten => _[12]XX, 1, NoOp()  ; Звонки с сипофонов на панасоник

same => n, Dial(Dahdi/g1/${EXTEN},,tT)

same => n, Hangup()

Ну и настраиваем авторизацию PjSIP. В этой версии астериска он основной. Можно конечно убрать, но на форумах убеждают, что несмотря на возросшую сложность конфигурирования - за ним будущее. Хз, чтож уж. Пробуем.

Настраиваем два сипофона - с номерами 301, 302 и паролями "5825".


/etc/asterisk/pjsip.conf

[udp-transport]

type = transport

protocol = udp

bind = 0.0.0.0

; ---------------------------------------300

[300]

type=endpoint

context=sip-local

disallow=all

allow=alaw

transport=udp-transport

auth=auth300

aors=300


[auth300]

type=auth

auth_type=userpass

password=5825

username=300


[300]

type=aor

max_contacts = 1


;---------------------------------------301

[301]

type=endpoint

context=sip-local

disallow=all

allow=alaw

transport=udp-transport

auth=auth301

aors=301


[auth301]

type=auth

auth_type=userpass

password=5825

username=301

[301]

type=aor

max_contacts = 1

И внезапно при запуске asterisk выясняем что кучи функций нет. Если ставим asterisk из репозиториев убунты, то том в конфигураторе модулей стоит разрешение загружать всё, за исключением пары модулей.

Здесь же, внезапно, наоборот.


Поэтому вот Вам мой файл /etc/asterisk/modules.conf Жаль, под кат нельзя убрать.

[modules]

autoload = no

; This is a minimal module load. We are loading only the modules

; required for the Asterisk features used in the "Super Awesome

; Company" configuration.

; Applications

load = app_bridgewait.so

load = app_dial.so

load = app_playback.so

load = app_stack.so

load = app_verbose.so

load = app_voicemail.so

load = app_directory.so

load = app_confbridge.so

load = app_queue.so

; Bridging

load = bridge_builtin_features.so

load = bridge_builtin_interval_features.so

load = bridge_holding.so

load = bridge_native_rtp.so

load = bridge_simple.so

load = bridge_softmix.so

; Call Detail Records

load = cdr_custom.so

; Channel Drivers

load = chan_bridge_media.so

load = chan_pjsip.so

load = chan_dahdi.so

;load = chan_sip.so

; Codecs

load = codec_gsm.so

load = codec_resample.so

load = codec_ulaw.so

load = codec_g722.so

; Formats

load = format_gsm.so

load = format_pcm.so

load = format_wav_gsm.so

load = format_wav.so

; Functions

load = func_callerid.so

load = func_cdr.so

load = func_pjsip_endpoint.so

load = func_sorcery.so

load = func_devstate.so

load = func_strings.so

; Core/PBX

load = pbx_config.so

; Resources

load = res_http_websocket.so

load = res_musiconhold.so

load = res_pjproject.so

load = res_pjsip_acl.so

load = res_pjsip_authenticator_digest.so

load = res_pjsip_caller_id.so

load = res_pjsip_dialog_info_body_generator.so

load = res_pjsip_diversion.so

load = res_pjsip_dtmf_info.so

load = res_pjsip_endpoint_identifier_anonymous.so

load = res_pjsip_endpoint_identifier_ip.so

load = res_pjsip_endpoint_identifier_user.so

load = res_pjsip_exten_state.so

load = res_pjsip_header_funcs.so

load = res_pjsip_logger.so

load = res_pjsip_messaging.so

load = res_pjsip_mwi_body_generator.so

load = res_pjsip_mwi.so

load = res_pjsip_nat.so

load = res_pjsip_notify.so

load = res_pjsip_one_touch_record_info.so

load = res_pjsip_outbound_authenticator_digest.so

load = res_pjsip_outbound_publish.so

load = res_pjsip_outbound_registration.so

load = res_pjsip_path.so

load = res_pjsip_pidf_body_generator.so

load = res_pjsip_pidf_digium_body_supplement.so

load = res_pjsip_pidf_eyebeam_body_supplement.so

load = res_pjsip_publish_asterisk.so

load = res_pjsip_pubsub.so

load = res_pjsip_refer.so

load = res_pjsip_registrar.so

load = res_pjsip_rfc3326.so

load = res_pjsip_sdp_rtp.so

load = res_pjsip_send_to_voicemail.so

load = res_pjsip_session.so

load = res_pjsip.so

load = res_pjsip_t38.so

load = res_pjsip_transport_websocket.so

load = res_pjsip_xpidf_body_generator.so

load = res_rtp_asterisk.so

load = res_sorcery_astdb.so

load = res_sorcery_config.so

load = res_sorcery_memory.so

load = res_sorcery_realtime.so

load = res_timing_timerfd.so


; Do not load res_hep and kin unless you are using HEP monitoring

; <http://sipcapture.org> in your network.


noload = res_hep.so

noload = res_hep_pjsip.so

noload = res_hep_rtcp.so


; ------------Добавляю свои


load = res_clioriginate.so

load = app_originate.so

load = app_echo

load = app_stream_echo.so


; -----------------------------------------Отладка

load = app_agent_pool.so

load = app_alarmreceiver.so

load = app_amd.so

load = app_attended_transfer.so

load = app_audiosocket.so

load = app_authenticate.so

load = app_blind_transfer.so

load = app_bridgeaddchan.so

load = app_cdr.so

load = app_celgenuserevent.so

load = app_chanisavail.so

load = app_channelredirect.so

load = app_chanspy.so

load = app_controlplayback.so

load = app_dictate.so

load = app_directed_pickup.so

load = app_dtmfstore.so

load = app_dumpchan.so

load = app_exec.so

load = app_externalivr.so

load = app_festival.so

load = app_flash.so

load = app_followme.so

load = app_forkcdr.so

load = app_jack.so

load = app_mf.so

load = app_milliwatt.so

load = app_minivm.so

load = app_mixmonitor.so

load = app_morsecode.so

load = app_mp3.so

load = app_page.so

load = app_playtones.so

load = app_privacy.so

load = app_read.so

load = app_readexten.so

load = app_record.so

load = app_reload.so

load = app_sayunixtime.so

load = app_senddtmf.so

load = app_sendtext.so

load = app_sf.so

load = app_sms.so

load = app_softhangup.so

load = app_speech_utils.so

load = app_stasis.so

load = app_system.so

load = app_talkdetect.so

load = app_test.so

load = app_transfer.so

load = app_userevent.so

load = app_waitforcond.so

load = app_waitforring.so

load = app_waitforsilence.so

load = app_waituntil.so

load = app_while.so

load = chan_audiosocket.so
load = chan_rtp.so
load = codec_adpcm.so

load = codec_alaw.so

load = codec_dahdi.so

load = codec_g726.so

load = codec_ilbc.so

load = codec_lpc10.so

load = codec_speex.so

load = format_g719.so

load = format_g723.so

load = format_g726.so

load = format_g729.so

load = format_h263.so

load = format_h264.so

load = format_ilbc.so

load = format_mp3.so

load = func_blacklist.so

load = func_callcompletion.so

load = func_channel.so

load = func_config.so

load = func_cut.so
load = func_dialgroup.so

load = func_dialplan.so

load = func_enum.so

load = func_env.so

load = func_evalexten.so

load = func_extstate.so

load = func_frame_drop.so

load = func_frame_trace.so

load = func_global.so

load = func_groupcount.so

load = func_hangupcause.so

load = func_holdintercept.so

load = func_iconv.so

load = func_jitterbuffer.so

load = func_json.so

load = func_lock.so

load = func_logic.so

load = func_math.so

load = func_module.so
load = func_periodic_hook.so

load = func_pitchshift.so

load = func_pjsip_aor.so

load = func_pjsip_contact.so

load = func_presencestate.so

load = func_rand.so

load = func_realtime.so

load = func_sayfiles.so

load = func_scramble.so

load = func_shell.so
load = func_sprintf.so

load = func_srv.so

load = func_sysinfo.so

load = func_talkdetect.so

load = func_timeout.so

load = func_uri.so

load = func_version.so

load = func_vmcount.so

load = func_volume.so

load = pbx_ael.so

load = pbx_loopback.so
load = pbx_realtime.so

load = pbx_spool.so


load = res_aeap.so

load = res_ael_share.so

load = res_audiosocket.so

load = res_clialiases.so

load = res_convert.so

load = res_fax.so load = res_fax_spandsp.so

load = res_format_attr_celt.so

load = res_format_attr_g729.so

load = res_format_attr_h263.so

load = res_format_attr_h264.so

load = res_format_attr_ilbc.so

load = res_http_post.so

load = res_limit.so

load = res_manager_devicestate.so

load = res_manager_presencestate.so

load = res_mutestream.so

load = res_mwi_devstate.so

load = res_parking.so

load = res_phoneprov.so

load = res_pjsip_config_wizard.so

load = res_pjsip_dlg_options.so

load = res_pjsip_empty_info.so

load = res_pjsip_history.so

load = res_pjsip_sips_contact.so

load = res_realtime.so

load = res_resolver_unbound.so

load = res_rtp_multicast.so

load = res_security_log.so

load = res_smdi.so

load = res_snmp.so

load = res_sorcery_memory_cache.so

load = res_speech.so

load = res_speech_aeap.so

load = res_srtp.so

load = res_stasis.so

load = res_stasis_answer.so

load = res_stasis_device_state.so

load = res_stasis_playback.so

load = res_stasis_recording.so

load = res_stasis_snoop.so

load = res_statsd.so

load = res_stun_monitor.so

load = res_timing_dahdi.so

load = res_timing_pthread.so

load = res_tonedetect.so

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


Вот и всё. Теперь будем канючить деньги на 24-портовый голосовой шлюз, что бы подключить удалённый офис. :)


Надеюсь мой опус поможет кому то не плясать по грабелькам.


Попозже может опишу, как я ставил VirtualBox на Ubuntu Server в консоли и настраивал проброс USB в гостевую систему из консоли. Это я делал для того, что бы подключить панасоник к компу с астериск, на комп поставить virtualBox, поставить на виртуалку W2K, и на W2K поставить maitenance console и настраивать панасоника не выходя из кабинета. Ибо заманался я бегать в другой корпус с ноутом, подстраивать мелочи всякие на панасе.

Меня приятно поразили консольные возможности VirtualBox'а.


Кстати, никто не знает, что за ошибка выскакивает на 2.10 - настройка АОН внутренних абонентов?

Panasonic KX-TDA600 и Asterisk. О их дружбе и недружбе Asterisk, Panasonic, Длиннопост
Показать полностью 8
[моё] Asterisk Panasonic Длиннопост
63
43
vs145
2 года назад
Лига Сисадминов

Краткие заметки по дружбе OpenVox D110P (Digium Wildcard TE110P) и Астериск в 2022 году⁠⁠

Волей судеб не так давно досталась мне старенькая плата OpenVox D110P, делающая поток E1 PRI. И подумал я, а не подключить ли мне на работе Asterisk к старенькой АТС Panasonic?
Меня несколько увлекает вот этот мир IP телефонии, можно сказать, это моё хобби. Разбавляет суровые трудовыебудни. К тому же на работе потихоньку издыхает кабель между зданием с АТС, и зданием, где сидит основная толпа работников. И потихонечку умирают телефоны то у одного сотрудника, то у другого. 400 метров телефонного тридцатипарника стоит как то неадекватно дорого (от 200р/метр в магазинах и от 100р/метр на авито, итого - 40 000р - 80 000р),К тому же есть удалённые офисы, и хотелось бы и их привязать в общую сеть. Ну и между зданиями есть гигабитная оптика, загруженная максимум на 1%. Выделить VLAN на голосовую связь и гонять разговоры вообще ничего не мешает. Итого, посчитав плюсы и минусы кабельного и ип-телефонного направления дальнейшего развития я с этим вопросом пришёл к начальнику.
Ответ был ожидаем - ну дерзай, коль заняться нечем, сынку. И сынку устремился.
Для начала выбили 3000р денег для покупки на авито карты ISDN PRI 30 для АТС Panasonic TDA 600. И пока она ползёт с авито по необъятной родине, начинаем ставить астериск на старенький комп, собранный из списанного всякого, и настраивать карту.
В процессе установки я столкнулся с некоторыми трудностями, которые сейчас здесь и изложу. Может, кого то данная статейка избавит от душевных страданий, и сэкономит пару часов (или дней) времени.
Для начала я перечислю грабельки, на которые я наступил в процессе.
DAHDI - подсистема Digium, которая отвечает за взаимодействие всяких карточек (и USB устройств), предназначенных для взаимодействия непосредственно астериск с внешним миром. Карта потока E1 - из той же оперы.

Грабля №1 - DAHDI очень неохотно работает из виртуалки. DAHDI и OpenVox D110P (Digium Wildcard TE110P) из виртуалки не работают вообще никак. Даже скажу больше, если материнка повесила карту и какой нибудь USB на одно прерывание - то нормальной работы не будет. Если биос позволяет назначить прерывания ручками - хорошо. Если нет - ищем другую материнку. Вот тут товарисч, например, с такой картой развлекается, в каментах говорят, что подобные грабли бывают и на оригинальных картах.
http://asterisk-support.ru/question/66948/nastroika-karty-op...
Для себя сделал вывод, что карточки - это такое себе в плане надёжности, и если надо прям вот надёжную связь со старой АТС, то надо искать хороший шлюз E1 PRI в SIP. Все эти карты - это полупрофессиональные (и больше даже скажу, в сторону любительских) решения, но т.к. для меня это хобби, а к внутренней связи дофига требований не предъявляют, то почему бы и нет.

Грабля №2 - из репозитория а-ля apt-get install asterisk dahdi нифига ничего не работает. Т.е. астериск то работает, но поддержки dahdi в нём нет. И dahdi устанавливается какой то кривой. Как сервис не запускается, в init.d его нет, как то непонятно всё. Карточку видит, но подсовывает не тот драйвер (возможно потому, что OpenVox - это всё таки китайский аналог оригинала). Не тот драйвер мы конечно забанили в modprobe, но оно так и не взлетело. dahdi_tool карту не видит. Грусть-печаль. В итоге, когда нашёл таки норм dahdi, там всё сразу заработало, без этих вот забаниваний итд.

Грабля №3. Я давно уже живу с интернетами, зарегестрирован на куче форумов, везде плюс-минус достаточно адекватное общение. Но на форумах телефонии это прямо дичь какая то. Я там узнал о себе много нового. Даже мой командир в этих вот армиях не сумел так тонко раскрыть мой гнилой внутренний мир, как уважаемые телефонисты на профильных форумах. Так как объективно, классическая телефония отмирает, а эти люди посвятили ей свою жизнь, я так понял, им обидно, что никто не готов им платить 100$ за совет по настройке учрежденческой АТС панасоник. На форумах, таких, как http://forum.officeats.ru и прочих похожих есть весьма знающие люди, такие как НачШтаба, SergA, и т.д., но лет 5-10 назад они что то советовали, а ныне задают пару уточняющих вопросов, а потом рекомендуют обратиться за помощью к специалистам, либо просто мешают вопрошающего с говном. Либо , неточная цитата "Переведите мне 100$, я Вам за 5 мин всё настрою".
Вот еще пример: https://www.linux.org.ru/forum/general/14943017
Товарищи Turbid и NobleWolf тихонечко подъёбывают начинающего с высоты своего опыта, при это толком не говоря в чём проблема. В итоге когда их советы оказываются нерабочими, рекомендуют качать готовую сборку.
Ух, печёт от таких советчиков. И таких в мире телефонии оказалось прям вот много, что несколько затрудняет погружение в тему.

Грабля №4. В 2016 году примерно вышла 3-я версия dahdi. В ней исключили все  "старые" (по мнению digium) карты из поддержки. Т.е. моей карты там, блин, нет. Я пол-дня продрючился, пытаясь понять почему не грузится драйвер карты, перед тем, как понял что wcte11xp.so тупо нет в последней сборке dahdi. Ух, бля, негодяи. Ловля чёрной кошки в тёмной комнате как она есть.
Спасибо товарищу на каком то безымянном форуме, он указал на этот досадный факт.

Грабля №5. Начал под Ubuntu 20.04 собирать dahdi 2.xx - не собирается. Требует старые хедеры для сборки, под 20.04 я их не нашел, беда-печаль. Не хватило ква-квалификации для сборки старого dahdi. Кстати, из репозитория по " # apt install dahdi" ставится как раз dahdi 2.xx, но не работает. Ставится как то криво.
Но на сайте OpenVox (кто бы мог подумать, да) нашёлся всё же dahdi 3.1.0 с поддержкой старых карточек, и он нормально собрался в ubuntu 20.04. Алилуйя! А говорят - берите фирменное, нативное железо! Поддержка лучше, дольше. Ага, щаз. Китайская карта актуальна и поныне, в 2022г., а оригинал в 2016 сдох. Понятно, что и оригинал (Digium Wildcard TE110P) заведётся на опенвоксовских драйверах скорее всего, но сам факт вот этого плевка в душу от digium меня расстраивает.
Вот ссылочка: https://www.openvox.cn/pub/drivers/dahdi-linux-complete/

Ну и далее, укажу сейчас кратенький гайд, чего уж теперь тянуть то. Себе на память и добрым молодцам (и девицам так же) в помощь.
К коллайдеру!

Ставим ubuntu server 20.04 server. При установке ставим ssh.

$ sudo -s
# apt-get update && apt-get upgrade -y
# apt-get install mc wget build-essential git autoconf subversion pkg-config libtool -y
# mc
Смотрим, какое имя у нашей флешки
# fdisk -l
Device Boot Start End Sectors Size Id Type
/dev/sdb4 * 256 31129599 31129344 14,9G c W95 FAT32 (LBA)
Монтируем флешку в папку /mnt
# mount /dev/sdb4 /mnt

Заходим mc в архив asterisk-18.tar.gz и копируем папку asterisk-src в домашнюю папку. У меня это /home/pbx


И извлекаем флешку

# umount /mnt

Ставим dahdi, dahdi-tools и libPRI:

# cd /home/pbx/asterisk-src/dahdi-linux-complete-3.1.0+3.1.0
# make
# make install
# cd ..

# cd dahdi-tools-3.1.0
# autoreconf -i
# ./configure
# make install
# make install-config
# dahdi_genconf modules
# cd ..

# cd libpri-1.6.0
# make
# make install
# cd ..
# cd dahdi-tool-distr
# cd ..
С помощью mc копируем бинарник dahdi_tool в /usr/sbin

Эта утилита почему то не компилируется с dahdi, хотя в исходниках она есть, и сообщений об ошибках в процессе не было, странно. Я тупо себе на флешку скопировал бинарник dahdi_tool из репозиторной установки, когда ещё ставил dahdi по apt-get. Он нормально заработал.


Ставим сам asterisk:

# cd asterisk-18
# contrib/scripts/get_mp3_source.sh
# contrib/scripts/install_prereq install
В середине процесса вводим телефонный код, или оставляем как есть, оно ни на что не влияет далее
Завершается вот так:
#######################################
## install completed successfully

#######################################

# ./configure

В конце будет ASCII логотип asterisk

# make menuselect

Выбрать format_mp3 и остальное по желанию. Убедиться, что помечен chan_dahdi в Chanel Drivers

# make
# make install
# make samples
# make basic-pbx
# make config
# ldconfig
# cd ..

Создаём пользователя asterisk без домашней папки, допускаем его к группам dialout, audio, и даём ему все права в папках с конфигами.

# adduser --system --group --home /var/lib/asterisk --no-create-home --gecos "Asterisk PBX" asterisk
# usermod -a -G dialout,audio asterisk
# chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk /etc/dahdi
# chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk /etc/dahdi

Чтобы настроить Asterisk для запуска от имени вновь созданного пользователя asterisk, откройте файл /etc/default/asterisk

И добавьте либо раскомментируйте эти строчки:

AST_USER="asterisk"
AST_GROUP="asterisk"

Стартуем Asterisk:

# systemctl start asterisk

И ставим службу астериска в автозапуск:

# systemctl enable asterisk

Астериск установлен. Настраиваем конфиги DAHDI и ASTERISK


/etc/dahdi/system.conf

Основная строка выглядит так: span => <Number>,<Timing>,<Line BuildOut>,<Framing>,<Coding>[,Yellow]
Например, span = 1,1,0,ccs,hdb3,crc4
Number: номер платы
Timing:
0 - Порт является источником синхронизации (master)
1 - Получает синхронизацию с удаленной станции (slave)
2 - Receives secondary backup timing from remote end
3 - Receives tertiary backup timing from remote end
4 - Receives quaternary backup timing from remote en
При работе с "железной" АТС рекомендуется ставить АТС в мастер, а астериск в слейв, ибо с тактированием у этих карточек печально всё.
span = 1,1,0,ccs,hdb3,crc4
bchan = 1-15,17-31
dchan = 16
loadzone = ru
defaultzone = ru
или, как вариант:
span=1,1,0,ccs,hdb3
bchan=1-15,17-31
dchan=16
echocanceller=oslec,1-15,17-31
loadzone = ru
defaultzone = ru

/etc/asterisk/chan_dahdi.conf

[trunkgroups]
[channels]
language =ru
usecallerid =yes
callwaiting =yes
usecallingpres =yes
callwaitingcallerid =yes
threewaycalling =yes
transfer =yes
canpark =yes
cancallforward =yes
callreturn =yes
echocancel =yes
echocancelwhenbridged =yes
echotraining =yes
callerid =asreceived
group=1
;[E1]
context = from-internal
switchtype = qsig
signalling = pri_cpe
channel => 1-15,17-31

Включаем запуск модуля DAHDI в asterisk (добавляем строку в файл)

/etc/asterisk/modules.conf
load = chan_dahdi.so

На всякий случай ещё раз назначаем уровни доступа к файлам и владельцев, это на случай если конфиги создавали новые, а старые переименовывали. Мы ж всё из под рута делаем. А потом астериск ноет, что не могу загрузить файл конфигурации. Астериск то из под пользователя asterisk стартует. Перезагружаемся.
# chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk /etc/dahdi
# chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk /etc/dahdi
# reboot

Заходим под суперюзера:

# sudo -s

И, волнительный момент, заходим в консоль Астериска:

# asterisk -rvvvv

Это распространённые команды Asterisk для dahdi:

*CLI> dahdi show channels

*CLI> dahdi show status

*CLI> dahdi restart

Так смотрим в каком состоянии находится поток E1

*CLI> pri show spans

PRI span 1/0: Up, Active

По нажатию "?" выпадает подсказка.

Так вот, если при наборе
*CLI> ?

Если вдруг в списке подсказок нет ни pri, ни dahdi, значит, либо dahdi не запускается, либо asterisk его не видит. Надо искать проблему.
Во первых, проверить, что сервис dahdi нормально стартует.
# service dahdi status

Должно выпасть сообщение, что dahdi запущен, модуль драйвера (wcte11xp - для моей карточки) запущен, или будет жаловаться на что то. Тут надо гуглить и разбираться.


# lspci -v
04:00.0 Network controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface
Subsystem: Device 795e:0001
Flags: bus master, medium devsel, latency 64, IRQ 17
I/O ports at d000 [size=256]
Memory at f7c00000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 2
Kernel driver in use: wcte11xp
Kernel modules: netjet, wcte11xp
У меня OpenVox D110P. Он определяется так.
Видим лишний драйвер netjet. Его можно забанить в системе, если dahdi_hardware ругается на него. Я не стал.

# dahdi_hardware
pci:0000:04:00.0 wcte11xp+ e159:0001 Digium Wildcard TE110P T1/E1 Board
Вот если тут жалуется на netjet, тогда баним
Что бы забанить надо пойти в
/etc/modprobe.d/blacklist.conf
и там вбить
blacklist netjet

и перезагрузить систему


Позволяет смотреть сконфигурированные каналы dahdi:

# dahdi_tool

Смотрим прерывания:
# cat /proc/interrupts
17: 5727 7551876 IO-APIC 17-fasteoi wcte11xp
Драйвер висит на отдельном прерывании, всё ок. Функции ACPI не мешают. Но если на этом же прерывании висят какие нибудь USB, SATA, то нормальной работы карты можно не ждать. В современных биосах (хотя материнка с простым PCI это та ещё современность, да уж) нет настройки прерываний. Так что остаётся молиться и надеятся. Можно попробовать повесить обработку прерывания на другое ядро. Мне пришлось менять материнку.
Далее настраиваем диалплан в астериск, как обычно:
exten => s,1,Dial(Dahdi/g1/101,,tT)

это звонок в E1 на панасоник на номер 101, как пример

Вот такая вот история. Надеюсь, я изрядно повеселил Вас в это прекрасное субботнее утро. Тешу себя надеждой, что данное обобщение общесетевой мудрости кому то когда то пригодится. На очереди - борьба с АТС Панасоник, как только карта PRI30 дойдёт. Историю этой борьбы я так же изложу на пикабу.

Всем удачи, счастья, и т.д.
Показать полностью
[моё] Asterisk Panasonic Ubuntu Мат Длиннопост Текст
35
0
y0may0
y0may0
3 года назад

Проблема с Астериском [Решено]⁠⁠

День добрый, уважаемые.


В предыдущем посте Помощь с asterisk [вопрос решен] проблема решилась полностью переделыванием конфига.


Новый конфиг работает, но:

Проблема с Астериском [Решено] Просьба, Asterisk, Помощь, Настройка, Консультация, Длиннопост
Проблема с Астериском [Решено] Просьба, Asterisk, Помощь, Настройка, Консультация, Длиннопост

Как только переделываешь номера на 4-х значные, все перестает работать кроме исходящих внешних.

Проблема с Астериском [Решено] Просьба, Asterisk, Помощь, Настройка, Консультация, Длиннопост
Проблема с Астериском [Решено] Просьба, Asterisk, Помощь, Настройка, Консультация, Длиннопост

Знающие люди подскажите пожалуйста в чем может быть проблема?

Спасибо.

Показать полностью 4
Просьба Asterisk Помощь Настройка Консультация Длиннопост
6
6
y0may0
y0may0
3 года назад

Помощь с asterisk [вопрос решен]⁠⁠

День добрый, уважаемые!


Прошу помощи знающих и умеющих людей в настройке Asterisk

Уже все облазил, ничего не могу найти.


При моих настройка:

Помощь с asterisk [вопрос решен] Просьба, Asterisk, Помощь, Настройка
Помощь с asterisk [вопрос решен] Просьба, Asterisk, Помощь, Настройка

Внутренние и на внешние номера работает. Входящий тоже работает, но включается голосовое о настройке Астериска, но если набрать в тоне добавочный то он переключит. Как только в  Сипе к транку добавляю context то при наборе с внешнего номера, мой становиться занят.


Везде разные абсолютно инструкции, 3 день уже мучаюсь с этим.

Спасибо.


п.с. Если не там разместил переместите пожалуйста куда нужно.

Показать полностью 2
[моё] Просьба Asterisk Помощь Настройка
8
1
otnimistrapon
otnimistrapon
3 года назад
GNU/Linux

Что случилось с asterisk-support.ru?⁠⁠

С неделю уже не могу зайти, таймаут. Donwforeveryoneorjustme говорит, что я не один такой. Кто-то в курсе, что случилось? Сообщества по * не нашел, потому в GNU/Linux.

Asterisk Работа сайта Текст
14
15
FillipJFry
3 года назад
Лига тыжпрограммистов

Нужна помощь asterisk + gigaset⁠⁠

Доброго времени суток. Помогите решить проблему: есть сервер телефонии на asterisk+freepbx. Он за НАТом, порты проброшены, и есть удалённый офис, телефоны настроены через внешний ip по SIP. Наблюдается проблема с ip телефонами Gigaset (A510 ip, A540 ip, C530 ip) - телефоны постоянно теряют регистрацию. Когда регистрация есть при разговоре пропадает звук на пару секунд. Причём другие телефоны - grandstream, esseline, panasonic - с аналогичными настройками работают нормально. Никто не встречался с подобной проблемой?

[моё] Asterisk Проблема Текст
37
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии