Как настроить телефон Grandstream BudgeTone 100 VoIP

budgetone_200Сначала настройте IP адрес прямо на телефоне

Нажать кнопку MENU

Выбрать IP Addr — Ввести IP адрес

Открыть на комьютере URL http://ip_адрес_телефона

имя пользователя по-умолчанию admin  пароль 123

компьютер должен иметь тот же диапазон адресов IP что и телефонный

Через браузер пропишите свои настройки IP телефонии.

Они выглядят примерно так:

grandstream-install2

 

 

 

 

grandstream-install4

 

grandstream-install1

 

 
grandstream-install6

 

инструкции :

Как сменить IP адрес в Windows 7 

от производителя телефона Grandstream BudgeTone 100

еще одна от производителя телефона Grandstream BudgeTone 100 в PDF

 

как в Linux вывести настройки IP адресов сетевых карт?

чтобы вывести настройки сетевой карты есть команда: ifconfig

чтобы вывести только ip адрес, маску и подсеть можно выбрать эти даные конвеером из несколькоих команд:

вставить вот это в консоль Linux:
ifconfig eth0 | grep "inet addr:" | cut -f2,3

ifconfig eth1 | grep "inet addr:" | cut -f2,3

как получить все IP адреса из лога Asterisk?

чтобы получить все IP адреса из логов Asterisk нужно использовать несколько этапов обработки. Я объединил их в однин конвеер. В нем же считается сколько раз встречается IP адрес в логе. Затем все пересортировывается по возрастанию количества повторений адреса в логе.

вставить вот это в консоль Linux:
grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" "/var/log/asterisk/full" |sort |uniq -c |sort -b -n -r

ограничение и запрет соединений с сервером Asterisk снаружи

как только поставишь asterisk сервер к тебе начнут долбиться с попытками звонить за твой счет. Чтобы это предотвратить в параметрах sip.conf нужно указать:

deny=0.0.0.0/0.0.0.0                             ;запретить все
permit=8.8.8.8/255.255.255.255           ;разрешить соединения только с этого IP

таких строк может быть не ограниченное количество (для подключения всех филиалов к центральному серверу asterisk или нескольких провайдеров)

и помните, что asterisk это последняя линия обороны. Ломануть могут и ваш сервер и чтобы это предотвратить нужно настроить firewall — сетевой экран, чтобы не пускать определенные типы запросов или же банить по странам.

Это делается через iptables.

Вот пример правил iptables для отклонения всех запросов на регистрацию на ваш Asterisk сервер.:

iptables -A INPUT -p udp —dport 5060 -m state —state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p udp —dport 5060 -m string —string «REGISTER sip:46.160.231.50» —algo bm -j ACCEPT
iptables -A INPUT -p udp —dport 5060 -m string —string «REGISTER sip:» —algo bm -j DROP
iptables -A INPUT -p udp —dport 5060 -m string —string «OPTIONS sip:» —algo bm -j DROP
iptables -A INPUT -p udp —dport 5060 -j ACCEPT

или вот это с сайта http://invoip.net:

*****начало цитаты*****

-A INPUT -p udp —dport 5060 -j SCAMBLOCK
-A INPUT -p udp —dport 5060 -m recent —set —name SIP
-A INPUT -p udp —dport 5060 -m recent —update —seconds 2 —hitcount 60 —name SIP \
-j LOG —log-prefix «SIP flood detected:»

Приведенное требование определет пакет с помощью цепочки SCАMBLOK. Именно внутри этой цепочки имеют место быть все заблокированные по разным причинам адреса IP. В случае выявления найденного хоть одного совпадения с одним из пакетов списка, пакет незамедлительно отбрасывается.

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

В случае не превышения количества, правило тут же игнорируется, а если превышено, то незамедлительно выполняется конкретное действие. Системный лог в нашем с вами случае безнадежен. Прописывается пакетная детальная информация. Пакетная информация начинается с такой строки, как «SIP flood detected:». Время и количество пакетов для каждого источника отдельно рассчитываются. Из этого следует, что мы совершили ограничение по скорости приема пакетов SIP от каждого IР, которое не заблокировано, уровень составляет тридцать пакетов в секуду.

*****конец цитаты*****

кроме этого нужно обязательно использовать FailToBan.

переменные диалплана Asterisk

${CONTEXT} Текущий контекст.
${EXTEN} Текущий екстеншен.
${EXTEN:x} Текущий екстеншен с удалением первых цифр(где х кол-во удаляемых цифр)
${PRIORITY} Текущий приоритет
${CALLERID} Текущий CallerID (имя и номер)
${CALLERIDNUM} Текущий номер Caller ID
${CALLERIDNAME} Текущее имя Caller ID
${RDNIS} перенаправление DNIS

шаблоны для экстеншенов:

X – любая цифра от 0-9
N – любая цифра от 2-9
[14-6] – цифры 1,4, 5 и 6
. – любые возможные символы.

получить из экстеншена символы:

{EXTEN}:1 - получить символы, начиная со второго (9101) 9 - управляющая цифра - 101 набираемый номер

{EXTEN}:1:5 - получить символы, начиная со второго по 5

формат exten в диалплане Asterisk

Экстеншен — это некоторая последовательность команд связанная с номером, который может быть набран с IP телефона или софтфона.

exten => номер, приоритет, команда(параметры)

команда exten состоит из следующих частей:

номер — номер этой последовательности команд.

приоритет — число или буква n для обозначения следующей по порядку команды (это порядок выполнения строк части диалплана)

команда — команда астериск которую нужно выполнить обрабатывая эту строку команд.

пример одного экстеншена:

exten => 100,1,Wait(5)
exten => 100,2,Answer
exten => 100,3,Playback(demo-congrats)
exten => 100,n,Hangup

Шаблоны в sip.conf Asterisk

Чтобы использовать шаблон кода в sip.conf нужно создать секцию кода шаблона [с именем кода шаблона в квадратных скобках] после скобок поставить восклицательный знак в круглых скобках (!) — это будет обозначение секции шаблона.

Если имя этой секции указать в круглых скобках после номера абонента (экстеншена) то код этой секции шаблона будет добавлен к этой секции или другими словами экстеншену.

Пример работы с шаблоном ниже:

Пример:
[phone_number_template](!)
type=friend
host=dynamic                                           ;возможность цепляться откуда угодно
dtmfmode=rfc2833                                  ;способ передачи сигналов DTMF
nat=no                                                      ;клиент не может быть за NAT
canreinvite=no                                         ;трафик проходит только через сервер
context=MyVOIP-provider                     ;контекст с таким именем должен существовать в dialplan’е (файл extensions.conf)
disallow=all                                             ;сначала запрещаем все кодеки
allow=alaw                                              ;разрешаем те что будем использовать
qualify=yes                                              ;Asterisk будет проверять связь с этим номером раз в 2сек
;(если поставить число то интервал будет задаваться в милисекундах

[внутренний_номер_абонента](phone_number_template)
username=внутренний_номер_абонента                                               ;имя пользователя
secret=внутренний_номер_абонента                                                     ;и пароль
callerid=»Описание абонента» <внутренний_номер_абонента>         ;CallerID — идентификационная ;строка, отображается при звонках от данного пользователя (АОН) [внутренний_номер_абонента](phone_number_template)
username=внутренний_номер_абонента                                                ;имя пользователя
secret=внутренний_номер_абонента                                                      ;и пароль
callerid=»Описание абонента» <внутренний_номер_абонента>         ;CallerID — идентификационная ;строка, отображается при звонках от данного пользователя (АОН)

настройка (написание) строки регистрации в Asterisk

register => user [:secret[:authuser]] @host [:port] [/extension]

Пример:

Зарегистрировать 3216111 у sip провайдера, как номер 1234567 на Asterisk.

register => 3216111:userID:PASSWORD@sipppnet.ru/1234567
user — идентификатор пользователя, используемый для SIP сервера (например, 3216111)

authuser — не обязательное имя пользователя для авторизации на SIP сервере
secret — пароль пользователя
host — имя домена или хоста SIP сервера. Этот SIP сервер должен быть определен в своей секции файла sip.conf, где должны быть заданы его параметры (sipnet.ru).
port — на какой номер порта посылать запросы на регистрацию на сервере host. По умолчанию — 5060
/1234567 — номер екстеншена для приема вызовов в Вашем Asterisk. 1234567 — вставляется в SIP заголовок contact, SIP запроса на регистрацию. Этот екстеншен используется удаленным SIP сервером, когда ему необходимо совершить вызов в сторону Вашего Asterisk. Смотри примеры, приведенные ниже. По умолчанию, используется контекстный «s».
Вам необходимо регистрироваться, только если:

Если должна быть возможность позвонить к Вам.
Если одна из сторон имеет динамический IP адрес.
Наиболее используемые CLI команды для проверки:

 

описание групп в Linux

Группы в LINUX

Чаще всего на рабочих станциях и домашних компьютерах добавляют не-root пользователей в ниже указанные группы, чтобы дать доступ к оборудованию или функциям системного администрирования:

  • audio
  • floppy
  • lp
  • network
  • optical
  • power
  • storage
  • video
  • wheel
Список групп и их функции (отсортированно по алфавиту)
Группа Affected files Назначение
adm
/var/log/*
доступ на чтение к log файлам.
audio
/dev/audio

,

/dev/snd/*

,

/dev/rtc0
Доступ к звуковому оборудованию.
avahi
bin
/usr/bin/*
Right to modify binaries only by root, but right to read or executed by anyone. (Please modify this for better understanding…)
camera доступ к цифровым камерам Digital Cameras.
clamav
/var/lib/clamav/*

,

/var/log/clamav/*
И Clam AntiVirus.
daemon
dbus
/var/run/dbus/*
disk
/dev/sda[1-9]

,

/dev/sdb[1-9]
Access to block devices not affected by other groups such as optical, floppy, and storage.
floppy
/dev/fd[0-9]
Access to floppy drives.
ftp
/srv/ftp
games
/var/games
Access to some game software.
gdm
hal
/var/run/hald

,

/var/cache/hald
http
kmem
/dev/port

,

/dev/mem

,

/dev/kmem
locate
/usr/bin/locate

,

/var/lib/locate

,

/var/lib/mlocate

,

/var/lib/slocate
Right to use
updatedb

command.

log
/var/log/*
Access to log files in
/var/log

,

lp
/etc/cups

,

/var/log/cups

,

/var/cache/cups

,

/var/spool/cups
Access to printer hardware; enables the user to manage print jobs.
mem
mail
/usr/bin/mail
network Right to change network settings such as when using NetworkManager.
networkmanager Requirement for your user to connect wirelessly with NetworkManager. This group is not included with Arch by default so it must be added manually.
nobody Unprivileged group.
ntp
optical
/dev/sr[0-9]

,

/dev/sg[0-9]
Access to optical devices such as CD and DVD drives.
policykit
power Right to use suspend utilities and power management controls.
rfkill
root
/*
Complete system administration and control (root, admin).
scanner
/var/lock/sane
Access to scanner hardware.
smmsp
sendmail

group

storage Access to removable drives such as USB hard drives, flash/jump drives, MP3 players; enables the user to mount storage devices through HAL and D-Bus.
stb-admin
sys Right to admin printers in CUPS.
thinkpad
/dev/misc/nvram
Used by ThinkPad users for access to tools such as tpb.
tty
/dev/tty

,

/dev/vcc

,

/dev/vc

,

/dev/ptmx
Eg. to acces /dev/ACMx
users Standard users group.
uucp
/dev/ttyS[0-9]

,

/dev/tts/[0-9]
Serial and USB devices such as modems, handhelds, RS-232/serial ports.
vboxusers
/dev/vboxdrv
Right to use VirtualBox software.
video
/dev/fb/0

,

/dev/misc/agpgart
Access to video capture devices, DRI/3D hardware acceleration (X can be used without belonging to this group).
vmware Right to use VMware software.
wheel Right to use sudo (setup with
visudo

), also affected by PAM.

При подготовке использован материал с сайта Archlinux.org

как в Linux добавить строку в конец файла без его открытия в редакторе?

часто когда настраиваешь Linux компьютер требуется добавить в конец разных файлов строку (или несколько) с настройками. Это можно сделать не открывая файл в редакторе, тем более обычно рекомендуют открывать файл в редакторе vi или nano.

НО ведь новичок, да и не новичок в Linux не знает комбинации клавиш в этих консольных редакторах. Кроме того и действий требуется лишнего.

Вместо этого можно:

вставить вот это в консоль Linux:
echo "Строка для вставки в конец файла" >> полный_путь_к_файлу_для_вставки_текста_в_его_конец

почему внешние узлы на Asterisk сервере не пингуются?

почему в Linux с 2мя сетевыми картами не работает интернет?

lnux-asteriskв данной статье рассматривается финальная настройка (после ввода параметров сетевых карт) интернета на Asterisk сервере.

проблема с шлюзами на базе Linux заключается в том, что после того, как обе сетевых карты настроены Linux не знает куда направлять все пересылаемые пакеты данных (например, когда вы пингуете интернет-узел).

 

 

 

вставить вот это в консоль Linux:
route add default ip_адрес_внешней_интернетовской_сетевой_карты

чтобы это работало после каждой перезагрузки сервера, вставьте эту строку:

route add default ip_адрес_внешней_интернетовской_сетевой_карты

в файл /etc/rc.local

это можно сделать командой:

вставить вот это в консоль Linux:
echo oute add default ip_адрес_внешней_интернетовской_сетевой_карты >> /etc/rc.local
Что нужно, чтобы это работало (если не работает)

как установить MC (Mindnight Commander) в CentOS, OpenSuse?

Mindnight Commander — это двухпанельный консольный менеджер файлов для Linux, xxxBSD систем. Очень удобен в работе. Стоит поставить на сервере, если пока работа с командной строкой для вас проблема (получается не очень быстро).

вставить вот это в консоль Linux:
yum install mc

смена паролей на Asterisk сервере

# passwd-maint – эта команда меняет пароль на веб-интерфейсе Trixbox. На Trixbox. по умолчанию, пользователь maint, пароль password

# passwd-amp – для смены пароля используемого для обслуживания сервера через web интерфейс (пароль для пользователя wwwadmin).

Разница между этими двумя пользователями (maint и wwwadmin) в том, что пользователь maint получает абсолютно полный доступ, а пользователь wwwadmin – ограниченный.

# passwd admin – для смены пароля пользователя который может читать системную почту.
# passwd –  для смены пароля пользователя root. (Надеюсь на этапе установки вы выбрали хороший пароль).

это все команды для смены всех паролей на Asterisk сервере.

 

Огромная благодарность пользователю РУУТ форума http://asteriskforum.ru/viewtopic.php?t=2918 за толковое объяснение, которое легло в основу данной статьи.

как установить Asterisk?

asterisk
Asterisk — телефонный сервер. Твоя мини-АТС на комьпютере.

Asterisk — это программа которая делает из компьютера мини-АТС. Работает Asterisk на Linux. Ставится обычно на CentOS или Debian Linux (стабильные версии) т.к от стабильности работы ОС зависит стабильность работы вашей новой мини-АТС.

 

 

 

Если не заморачиваться то можно поставить вот этот дистрибутив — TrixBox. trixbox

Это будет сразу операционная система Linux CentOS, точно не глючная, без графического режима — чистая консоль и сам Asterisk + программы позволяющие управлять Asterisk через браузер (веб интерфейс).

 

Настроить Asterisk можно обратившись в дальнейшем по IP адресу сервера Asterisk (который вы установили из дистрибутива Trixbox), вбив его IP адрес в адресную строку браузера.

Через веб-интерфейс можно в этой сборке и внутренние номера добавить и настроить подключение к провайдеру телефонии и даже поменять настройки сетевых карт. Эта сборка позволяет вам смотреть журнал работы Asterisk.

Я попробовал все доступные сборки (бесплатные) Asterisk и могу сказать что именно эта на первое время меня устроила лучше других.

В последствии же я для себя принял решение устанавливать самостоятельно операционную систему и поверх нее Asterisk. Причина — нужны были нестандартные настройки: запись всех телефонных звонков, резервное копирование звонков и настроек, разобрался с тем как устроены файлы настроек Asterisk и понял, что мне нужно больше возможностей от Asterisk, чем есть в ЛЮБОЙ стандартной сборке.

Но это произошло после активной эксплуатации сервера под высокой нагрузкой через год и несколько восстановлений ОС после поломок самого железа.

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

В результате я и сейчас тому кто не использует на личном комьпютере Linux (как я) и не очень хорошо разбирается во внутреннем устройстве файлов конфигурации Asterisk говорю:

«НЕ ПУДРИ СЕБЕ МОЗГИ ПОСТАВЬ ГОТОВУЮ СБОРКУ. НАУЧИШЬСЯ КОНФИГУРИРОВАТЬ ASTERISK ЧЕРЕЗ ФАЙЛЫ — ПЕРЕУСТАНОВИШЬ СЕБЕ СЕРВЕР ТАКЖЕ ЗА ДЕНЬ ИЛИ МЕНЬШЕ, НО ВРЯД ЛИ ТЫ ЗАХОЧЕШЬ ЭТО ДЕЛАТЬ».

Я рекомендую вот этот дистрибутив — TrixBox. Можно конечно как и я поставить разных дистрибутивов и выбрать, но если ты АДМИН и это твоя работа — бери уже проверенное.

А коробочные варианты считаю надо тестить перед покупкой, причем уже тому кто разбирается в Asterisk. Т.к. В рекламе обычно не договаривают минусов своего продукта, а они обычно есть и столкнешься с ними ты когда купите эту сборку и именно тебя будут «полоскать» как профессионала выбравшего этот продукт.

Из минусов установки ЛЮБЫХ сборок: у провайдеров телефонии строят ЧИСТЫЕ Asterisk сервера. Это значит, что они тебе вряд ли помогут, если у тебя что-то не будет работать.

Если расчитываешь на помощь провайдера телефонии лучше установить DEBIAN Linux и Asterisk вместо сборки.

Почему не CentOS? Debian это родитель Ubuntu. О том как что-то сделать в Ubuntu советов больше чем про любую другую сборку Linux. Debian Linux это стабильная (очень хорошо работающие вместе) сборка программ под Linux и она глючит меньше всего, а на сервере это очень важно.

Удачи в работе.

Служебные команды Asterisk

Полезные команды Asterisk

1. Переполнение памяти SMS

Если нужно принять SMS-ку, а в консоли (asterisk -rvv) пишет следующее:

ERROR[15627]: at_response.c:1420 at_response_smmemfull: [dongle0] SMS storage is full

то, логично — нам необходимо почистить память для смс-ок.

Есть два вида памяти:
  • память SIM
  • память модема
Для очистки памяти SIM применяем в консоли астериска последовательно команды:
dongle cmd <dongle_name> AT+CPMS=\»SM\»,\»SM\»,\»SM\» 
dongle cmd <dongle_name> AT+CMGD=1,4Для очистки памяти модема применяем в консоли астериска последовательно команды:
dongle cmd dongle_name AT+CPMS=\»ME\»,\»ME\»,\»ME\» 
dongle cmd dongle_name AT+CMGD=1,4Консолька нам выдасть что-то типа:
[dongle_name] ‘AT+CMGD=1,4’ Command queued for execute
[dongle_name] Got Response for user’s command:’OK’
[Oct 25 07:41:57] NOTICE[15627]: at_response.c:1714 at_response: [dongle_name] Got Response for user’s command:’OK’
Всё прошло гладко. Теперь можно принимать SMS-ки.
2. Прием PDU SMS
Если при приеме SMS в консоль пишет следующее:
WARNING[15638]: at_response.c:1204 at_response_cmgr: [dongle0] Error parsing incoming message ‘+CMGR: 0,,73 <куча HEX цифр>’ at possition 40: Can’t parse OA 
то это значит, что SMS-ка пришла в PDU формате и модуль chan_dongle её самостоятельно разобрать не может.
Здесь нам поможет сайтик http://twit88.com/home/utility/sms-pdu-encode-decode , где в поле Hexadecimal PDU Message вводим нашу непонятную мессагу и нажимаем Convert.
Или здесь: http://www.smartposition.nl/resources/sms_pdu.html
3. Просмотр инфо о GSM модемах в системе
Проверить статус модема можно командочкой в консоли астериска:
dongle show devices
 
ID           Group   State RSSI   Mode   Submode   Provider Name   Model      Firmware          IMEI             IMSI             Number
<dongle_name>  0     Free  22     0         0       life:)         E173       21.157.71.00.388  <imei_number>  <imsi_number>  <tel_number>
Т. к. библиотека для работы с модемами chan_dongle в Астериске Open Source и довольно сырая, то можем иногда зависает и отказывается принимать входящие звонки — сбрасывает сразу их. Тогда статус модема будет не Free а Dialing, причем звонков в этот момент нет.
4. Просмотр статистики звонков
Проверить есть ли сейчас активные звонки и сколько было обработано звонков можно командой:
core show calls
0 active calls
 
5. Перезапуск GSM модема
Чтобы перезагрузить модем не перезагружая всю астериску, нужно выполнить команду в CLI:
dongle restart now <dongle_name>
 
[] Restart scheduled
[Oct 25 07:42:05] NOTICE[15627]: chan_dongle.c:417 do_monitor_phone: [] stopping by restart request
Update.

6. Прерывание определенных звонков.

Вначале отобразим инфо о текущих звонках:

asterisk2*CLI> core show channels
Channel              Location             State   Application(Data)
SIP/3224-00000a19    s@macro-dial-one:42  Up      Dial(SIP/4027,15,trI)
IAX2/IAX_Trunk_to_US (None)               Up      AppDial((Outgoing Line))
SIP/4003-00000a2f    s@macro-dialout-trun Up      Dial(IAX2/IAX_Trunk_to_US/1001
SIP/4001-0000089e    s-CHANUNAVAIL@macro- Up      VoiceMail(3102@default,u»»)
SIP/3117-00000102    s-NOANSWER@macro-vm: Up      VoiceMail(3106@default,u»»)
SIP/4027-00000a1a    (None)               Up      AppDial((Outgoing Line))
6 active channels
4 active calls
1553 calls processed

Допустим, мы хотим обрубить звонок пользователю 4003 (выделен). Выполняем команду:

asterisk2*CLI> channel request hangup SIP/4003-00000a2f
Requested Hangup on channel ‘SIP/4003-00000a30’
— Executing [h@macro-dialout-trunk:1] Macro(«SIP/4003-00000a30», «hangupcall,») in new stack
— Executing [s@macro-hangupcall:1] GotoIf(«SIP/4003-00000a30», «1?theend») in new stack
— Goto (macro-hangupcall,s,3)
— Executing [s@macro-hangupcall:3] ExecIf(«SIP/4003-00000a30», «0? Set(CDR(recordingfile)=)») in new stack
— Executing [s@macro-hangupcall:4] Hangup(«SIP/4003-00000a30», «») in new stack
== Spawn extension (macro-hangupcall, s, 4) exited non-zero on ‘SIP/4003-00000a30′ in macro hangupcall’
== Spawn extension (macro-dialout-trunk, h, 1) exited non-zero on ‘SIP/4003-00000a30’
— Hungup ‘IAX2/IAX_Trunk_to_US-49’

Теперь можно увидеть, что звонок завершен.

 
asterisk2*CLI> core show channels
Channel              Location             State   Application(Data)
SIP/3224-00000a19    s@macro-dial-one:42  Up      Dial(SIP/4027,15,trI)
SIP/4001-0000089e    s-CHANUNAVAIL@macro- Up       VoiceMail(3102@default,u»»)
SIP/3117-00000102    s-NOANSWER@macro-vm: Up       VoiceMail(3106@default,u»»)
SIP/4027-00000a1a    (None)               Up      AppDial((Outgoing Line))
4 active channels
3 active calls
1554 calls processed

(Источник)

7. Отслеживание активных звонков в Asterisk

В консоли Linux набираем:

watch -n 1 «sudo asterisk -vvvvvrx ‘core show channels’ | grep call»
Информация обновляется каждую секунду.

взято с сайта http://geckich.blogspot.com/2013/10/asterisk_25.html

 

как русифицировать сообщения Asterisk?

Как раздобыть звуковые русские файлы, куда их копировать и какие настройки вносить в Asterisk для активации русского языка:

вставить вот это в консоль Linux:
cd /usr/src

wget --no-check-certificate https://github.com/pbxware/asterisk-sounds/tarball/master -Ostandard-sounds.tar.gz

wget --no-check-certificate https://github.com/pbxware/asterisk-sounds-additional/tarball/master -Oadditional-sounds.tar.gz
tar -xvzf standard-sounds.tar.gz
tar -xvzf additional-sounds.tar.gz
copy pbxware-asterisk-sounds*/*  /var/lib/asterisk/sounds/*

внести в sip.conf или в sip_custom.conf (предпочтительнее) если он есть это:

вставить это в файл настроек:
[general] #вставить в эту секцию
language=ru #эту строку

Огромная благодарность выражеется автору сайта linux.mixed-spb.ru за ценнейшую и главное рабочую статью, на основе которой подготовлен этот материал.

Если SAMBA не стартует сама после перезагрузки…

Как запускать SAMBA автоматически или как добавить samba в автозагрузку?

Чтобы демон стартовал при загрузке необходимо использовать команду chkconfig, справка по команде — man chkconfig. 
вот команда автостарта samba сервера:


chkconfig —levels 35 smb on 

Как сменить пароль root в MySQL?

;Остановка сервера и запуск его с нужными для смены пароля параметрами

/usr/local/etc/rc.d/mysql-server stop

mysqld_safe —skip-grant-tables &

mysql -u root

;Команды для консоли MySQL:

use mysql;

update user set password=PASSWORD('my_password') where user='root' and host='localhost';

flush privileges;

quit

; перезапуск MySQL

killall mysqld_safe

/usr/local/etc/rc.d/mysql-server start

 

mysqladmin -u root password 'mypassword'

mysql -u root

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpassword');

mysqladmin -u root -poldpassword password 'mypassword'

mysql -u root

 

 

 

Как записать разговоры на Asterisk? Как сделать запись разговоров на Asterisk, Trixbox?

Запись разговоров на сервере Asterisk в файлы

чтобы запись начала работать в Dialplan (extensions.conf) в последовательности дозвона до провайдера нужно вставить:

MixMonitor(/var/spool/asterisk/monitor/${filename}.wav)

если Вы используете Asterisk Trixbox или другую сборку Asterisk то нужно редактировать файл /etc/asterisk/extensions_additional.conf

вот пример как это сделал я, файлы имеют имя: ИмяПользователя-ГГГГ.ММ.ДД_Часы-Минуты-НомерКомуЗвонили

exten => _[78]XXXXXXXXXX,n,Set(fname= ${CALLERID(number)}-${EXTEN}-${STRFTIME(${EPOCH},,%Y.%m.%d_%H-%M})
exten => _[78]XXXXXXXXXX,n,MixMonitor(${MIXMON_DIR}${fname}.wav)

$MIXMON_DIR — переменная в начале файла, указывающая на каталог, в который будут складываться записи разговоров.

 

Asterisk — прослушивание звонков. Запись данных Asterisk в БД

 

на работающем Asterisk с установленным на этот комп MySQL нужно созать таблицу CDR. Это делается выполнением в MySQL команду:

GRANT INSERT

ON asterisk.*
TO asterisk@localhost
IDENTIFIED BY 'yourpassword';

USE asterisk;

CREATE TABLE `cdr` (
`calldate` datetime NOT NULL default '0000-00-00 00:00:00',
`clid` varchar(80) NOT NULL default '',
`src` varchar(80) NOT NULL default '',
`dst` varchar(80) NOT NULL default '',
`dcontext` varchar(80) NOT NULL default '',
`channel` varchar(80) NOT NULL default '',
`dstchannel` varchar(80) NOT NULL default '',
`lastapp` varchar(80) NOT NULL default '',
`lastdata` varchar(80) NOT NULL default '',
`duration` int(11) NOT NULL default '0',
`billsec` int(11) NOT NULL default '0',
`disposition` varchar(45) NOT NULL default '',
`amaflags` int(11) NOT NULL default '0',
`accountcode` varchar(20) NOT NULL default '',
`userfield` varchar(255) NOT NULL default ''
);

ALTER TABLE `cdr` ADD INDEX ( `calldate` );
ALTER TABLE `cdr` ADD INDEX ( `dst` );
ALTER TABLE `cdr` ADD INDEX ( `accountcode` );

Теперь нужно дать доступ пользователю asterisk_user к базе asterisk 

grant

all

on

asterisk.*
to

&#39;asterisk_user&#39;
@
&#39;localhost&#39;

identified
by

&#39;пароль_пользователя&#39;
;

flush privileges;