Яндекс.Метрика

IP телефония – Астериск часть 1

Нужны новые клиенты? Тогда Вам рекомендуем посмотреть этот раздел нашего сайта
_____






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

Вот наиболее простой и рабочий вариант
Установка.
1. Отключаем на роутере NAT!
2. Обновляем убунту sudo apt-get update 
3. Ставим sudo apt-get install build-essential и sudo apt-get install subversion
4. Ставим sudo apt-get install asterisk

Теперь самое интересное. В общем и целом в астериске есть два ключевых файла, по которым и происходит маршрутизация/логика звонка sip.conf и extention.conf. 
Настройки провайдера ip телефонии можно прописать в sip.conf – находим строки и делаем как ниже

Замечание – все что стоит после “;” не читается машиной, соответственно если строка без ; тогда машина уже берет на вооружение этот параметр.

[general]
context=default ; Default context for incoming calls
allowguest=no ; Allow or reject guest calls (default is yes), в целях безопасности ставим no

udpbindaddr=0.0.0.0:5060 ; IP address to bind UDP listen socket to (0.0.0.0 binds to all)

tcpenable=yes ; Enable server for incoming TCP connections (default is no)
tcpbindaddr=0.0.0.0 ; IP address for TCP server to bind to (0.0.0.0 binds to all interfaces)

srvlookup=yes ; Enable DNS SRV lookups on outbound calls

tos_sip=cs3 ; Sets TOS for SIP packets.
tos_audio=ef ; Sets TOS for RTP audio packets.
tos_video=af41 ; Sets TOS for RTP video packets.
tos_text=af41 ; Sets TOS for RTP text packets.

// далее важные строки по обрабатывающим кодекам 

disallow=all ; First disallow all codecs
allow=alaw
allow=ulaw ; Allow codecs in order of preference
allow=g729
allow=g723
allow=ilbc ; see https://wiki.asterisk.org/wiki/display/AST/RTP+Packetization
allow=gsm

// не важная строка
language=ru ; Default language setting for all users/peers

//лучше ставить так эти строки 
dtmfmode = rfc2833 ; Set default dtmfmode for sending DTMF. Default: rfc2833
alwaysauthreject = yes 

//Далее зависит от настройки Вашей локальной сети 
localnet=192.168.0.0/255.255.255.0 
externaddr = хх.хх.хх.хх ; важная строка – здесь ставим внешний БЕЛЫЙ ip адрес, если авторизация у провайдера телефонии по ip адресу (у меня по ip, во многих случаях по логину и паролю – Манго и пр.)

nat = no ; очень много проблем возникает у пользователей астериска из-за включенного NAT, поэтому ставим здесь no и не забываем на роутере отключить нат. 

// самое интересное, описываем непосредственное подключение к провайдеру услуг, напоминаю авторизация идет по ip адресу. Не забываем что провайдер тоже должен у себя на железе прописать Ваш белый ip адрес. 

[2000] ; можно ставить любое численное значение
type=friend
host=хх.хх.хх.хх ; ip адрес провайдера услуг
canreinvite=no ; эту и ниже строки лучше уточнить в интернете, что они обозначают (ни чего сложного, говорят о кодеках, качестве и посылки служебных пакетов) 
qualify=yes
dtmfmode=rfc2833
disallow=all
allow=alaw
allow=gsm
allow=ulaw
insecure=port 

// теперь описываем блок подключения через программный ip phone (for win7 – Xlite, for IOS, android – 3CXPhone), т.е. то с чего будем звонить с любого уголка планеты 🙂

[2001]
type=friend
context=office ; здесь мы указываем каким образом мы будем осуществлять звонок, этот контекст прописан в файле extention.conf и прочно на него завязан, мы видим, что выше в описании подключения к провайдеру мы не используем контекст и далее нам будет понятно почему. Своего рода мы получаем кольцо м/у двумя файлами sip и extention
callerID=7499******* ; Ваш номер телефона выделяемый провайдером
host=dynamic
username=2001
secret=********* ; пароль для программного телефона – ЧЕМ ДЛИННЕЕ ПАРОЛЬ ТЕМ КАЧЕСТВЕННЕЕ ЗАЩИТА!
canreinvite=no ; остальное тоже самое что и в описании для провайдера. 
qualify=yes
dtmfmode=rfc2833
allow=gsm
allow=ulaw
allow=alaw

можно еще на создавать кучу “пользователей” таких как 2001 и общаться между собой.

P.S. файл sip.conf состоит из множества строк, так как разработчики решили сразу же сделать полное описание и полный функционал, а пользователь уже выбирает, что ему нужно, а что нет. Тоже самое и в extention.conf.
P.S.1. Не забываем про роутер, сервер где висит астер д/б открытым, т.е. открытые порты 10000 – 20000 tcp/udp, 5060-5070 tcp/udp 






Заказать звонок
+
Жду звонка!