По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Всем привет! В сегодняшней статье мы расскажем, как победить очень надоедливый “баг” во FreePBX, который кочует из версии в версию и сильно мешает пользователям, которые используют кириллицу, то есть русские буквы, в именах внутренних номеров своей IP-АТС. Точно можно сказать, что данная проблема присутствовала в FreePBX 13 и перебралась в 14 релиз. /p> Как многие могли догадаться, речь пойдёт о неправильном отображении русской кодировки в модуле CDR, в простонародье – кракозябры в CDR. Предыстория Итак, вот вы установили самый последний актуальный FreePBX Distro SNG7-FPBX-64bit-1707-1, долго ждали когда же наконец закончится загрузка 571 пакета (если устанавливаете на VM) Небольшой оффтоп для тех, кто устанавливает FreePBX 14 на VM и подумал, что процесс установки завис на 571 пакете и надо его прервать – НЕТ, он не завис, наберитесь терпения, правда. Да, это долго, мы, например, ждали полтора часа. Отдохните, попейте кофе, почитайте о нововведениях в FreePBX 14 И, наконец, дождались - всё готово, пора регистрировать абонентов. Вы добавили два внутренних номера с русскими именами, пусть будет Алексей Добронравов и Сергей Злонамеров Зарегистрировали для каждого по софтфону и провели тестовый звонок – успех. А что же в CDR? Открываете Reports → CDR Reports и видите те самые “кракозябры”, которые мало чем напоминают имена наших внутренних абонентов. Знакомо? Тогда читай дальше! Быстро проверим таблицу cdr в базе asteriskcdrdb и убедимся, что там такая же картина: Решение Внимание! Прежде чем повторять дальнейшие инструкции – сделайте полный бэкап системы или снэпшот виртуальной машины. Компания Мерион Нетворкс не несёт ответственности за потенциальные проблемы, которые могут возникнуть на вашей IP-АТС. Неправильное выполнение нижеизложенных действий может привести к полной неработоспособности FreePBX и Asterisk! В интернете можно найти много советов по устранению данной проблемы, начиная от выставления значения charset = utf8 в файле /etc/asterisk/cdr_mysql.conf и выполнения core reload, когда записи опять слетают и заканчивая написанием скрипта, который будет время от времени производить принудительную перекодировку записей. Но всё это либо “костыль”, либо не помогает вовсе. На сайте разработчика freepbx.org по данной проблеме даже заведён официальный Bug FREEPBX-15268, который по сегодняшний день имеет статус (11.10.2017) DEV TESTING: Unresolved, то есть – не решён. Более менее действенным способом решения этой проблемы является снос старого MySQL коннектора и установка mysql-connector-odbc-5.3.9 (ANSI Driver), а затем внесение изменений в файл /etc/odbc.ini следующего вида: [MySQL-asteriskcdrdb] driver=MySQL ODBC 5.3 ANSI Driver После этого записи в CDR, конечно, будут отображаться корректно, однако, все логи будут завалены предупреждениями типа: [2017-10-13 22:31:16] WARNING[8933] cel_odbc.c: Insert failed on 'asteriskcdrdb:cel'. CEL failed: INSERT INTO cel (eventtype,eventtime,cid_name,cid_num,cid_ani,cid_rdnis,cid_dnid,exten,context,channame,appname,appdata,amaflags,accountcode,uniqueid,linkedid,peer,userdeftype,extra) VALUES ('CHAN_START',{ts '2017-10-13 22:31:16.974567'},'Алексей Добронравов','175','','','','s','from-internal','SIP/175-00000001','','',3,'','1507923076.1','1507923076.0','','','') [2017-10-13 22:31:18] WARNING[8933] cel_odbc.c: Insert failed on 'asteriskcdrdb:cel'. CEL failed: INSERT INTO cel (eventtype,eventtime,cid_name,cid_num,cid_ani,cid_rdnis,cid_dnid,exten,context,channame,appname,appdata,amaflags,accountcode,uniqueid,linkedid,peer,userdeftype,extra) VALUES ('ANSWER',{ts '2017-10-13 22:31:18.631244'},'Алексей Добронравов','175','175','','','175','from-internal','SIP/175-00000001','AppDial','(Outgoing Line)',3,'','1507923076.1','1507923076.0','','','') При этом в самой таблице cel, на которую ругается сервер, всё будет нормально: Вроде решение, CDR корректен, но лог будет буквально забит этими предупреждениями, а мы этого не хотим. Итак, сейчас мы опишем способ решения, после которого и логи будут чистыми и никаких “кракозябр” в CDR вы не увидите. Для начала, нужно удалить текущий mysql-connector-odbc, однако, в силу того, что он связан зависимостями, вместе с ним удалится и сам Asterisk. Поэтому, сначала нужно узнать, какой именно коннектор установлен на сервере, и удалить его отдельно. Для этого пишем команду: rpm -qa | grep mysql-connector-odbc Ну и после предыдущих манипуляций видим, что у нас установлен mysql-connector-odbc-5.3.9-1.el7.x86_64, вероятнее всего у вас будет mysql-connector-odbc-5.3.6. Теперь его нужно удалить, но не учитывая при этом его зависимости. Нам нужно удалить только коннектор, для этого пишем следующую команду: rpm -e --nodeps "mysql-connector-odbc-5.3.9-1.el7.x86_64" Теперь нужно установить новый коннектор, но только не от MySQL, а от MariaDB, для этого пишем: Внимание! Ввод следующей команды без предварительного сноса прежнего коннектора может привести к полному отказу Asterisk! yum install mariadb-connector-odbc Теперь проверьте файл /etc/odbcinst.ini в нём обязательно должна быть запись: [MariaDB] Description=ODBC for MariaDB Driver=/usr/lib64/libmaodbc.so Setup=/usr/lib64/libodbcmyS.so UsageCount=1 Теперь сделаем перезагрузку fwconsole restart и всё готово. Проводим ещё пару тестовых звноков, смотрим в модуль CDR во FreePBX и проверяем таблицу cdr в asteriskcdrbd: И логи тоже проверьте, они будут чистыми, никаких предупреждений :) На этом – всё. Надеемся, что наша статься будет вам полезна и поставит, наконец, точку в истории этого надоевшего всем бага. Выражаем благодарность нашим читателям, которые активно обсуждали данную проблему в комментариях и подсказали правильное направление для её решения.
img
Привет, друг! В этой статье мы расскажем про подключение Third Party SIP телефонов (то есть телефонов и софтфонов от других вендоров, поддерживающих RFC3261) к Cisco Unified Communications Manager (CUCM) . В качестве примера будем подключать популярный и бесплатный софтфон X-Lite. Настройка Cisco Unified Communications Manager Первым делом создадим пользователя в CUCM. Для этого переходим во вкладку User Management → End User. Здесь указываем следующую информацию: User ID Password (не используется в X-Lite, но необходимо указать при создании пользователя) PIN (также не используется в X-Lite) Last Name Digest Credentials (это поле используется как пароль в X-Lite) Затем добавляем SIP Phone. Для этого переходим во вкладку Device – Phone и нажимаем Add. Здесь в поле Phone Type выбираем Third-party SIP Device. Basic поддерживает одну линию, Advanced поддерживает до восьми линий. Далее нужно заполнить следующие поля: MAC Address – нужно указать уникальный адрес, для X-Lite можно указать любой, т.к не используемся для авторизации; Device Pool – можно указать стандартный Default; Phone Button Template – Third-party SIP Device; Security Device Profile – стандартный профиль Third-party SIP Device; SIP Profile – Standard SIP Profile; Owner User ID и Digest User – End User которого мы создавали ранее; После этого нажимаем Save и переходим в окно настроек телефона. Здесь нажимаем Line [1] – Add a new DN и в поле Directory Number указываем номер, который будем использовать. После этого возвращаемся во вкладку User Management → End User, находим созданного пользователя, и проверяем находиться ли SIP Phone в Controlled Devices. Если нет, то нажимаем Device Association, и тут выбираем добавленный нами SIP Phone, после чего он должен появиться в поле Controlled Devices. Настройка софтфона Открываем программу X-Lite, переходим в меню Account Settings. Тут заполняем следующие поля: Display Name – указываем желаемое имя, которое будет отображаться в программе; User Name – указываем Directory Number (DN) в CUCM; Password – Digest Credentials в CUCM; Authorization user name – User ID в CUCM; Domain – адрес сервера CUCM; После этого нажимаем OK и наш софтфон должен зарегистрироваться.
img
Дистрибутив FreePBX Distro имеет встроенный скрипт, который позволяет изменить текущую (используемую) версию Asterisk. Важно, что сделать это можно буквально за минуту, и без проблем вернуться на ранее используемую версию. При смене версии используется только одна команда, после ввода которой, мы остается следовать подсказкам меню. Команда следующая: [root@localhost ~]# asterisk-version-switch На следующем этапе, скрипт спросит на какую версию вы хотите переключиться: Pick the Asterisk Version you would like to change to. Press 1 and the Enter key for Asterisk 11 Press 2 and the Enter key for Asterisk 13 Press 3 and the Enter key for Asterisk 14 (Currently in beta) Press 9 and the Enter key to exit and not change your Asterisk Version Нажимаем 1 для переключения на 11 версию Asterisk Нажимаем 2 для переключения на 13 версию Asterisk Нажимаем 3 для переключения на 14 версию Asterisk (сейчас в Beta состоянии) Нажимаем 9 выхода из скрипта без изменений версии Далее начнется изменение конфигурации в соответствие с выбранной версией. По окончанию работы вы можете проверить текущую версию с помощью команды: [root@localhost ~]# asterisk -x "core show version" Asterisk 13.10.0 built by mockbuild @ jenkins2.schmoozecom.net on a i686 running Linux on 2016-07-27 01:24:12 UTC Если версия осталась прежней, дайте в консоль команду: [root@localhost ~]# fwconsole restart По окончанию перезагружаем конфигурацию и Asterisk: [root@localhost ~]# fwconsole reload
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59