проблем с установкой вообще не было
ну может еще доставитьsudo apt-get install asterisk
конфиги лежат в /etc/asteriskasterisk-sounds-extra
задача для меня была пропускать звонки через sip провайдера, asterisk находиться за nat`ом, есть два телефона
т.к. для начала надо пропускать звонки и получать, конфиги деревянные на всю голову, критика не принимается.
сначала добавим в sip.conf два аккаунта для телефонов, в самый конец файла
теперь добавим аккаунт для подключения провайдера[1000] ; аккаунт, он же userid
type=friend ; параметр означающий что данный аккаунт может принимать и отправлять звонки
context=phones ; группа из файла extensions.conf
nat=yes ; трафик ходит через сервер asterisk, означает, что пользователь может находиться за NAT’ом.
host=dynamic ; аккаунт не имеет определеного IP
secret=*пароль* ; пароль для авторизации
qualify=yes ; периодическая проверка доступности устройства.
canreinvite=no ; прогонять весь голосовой трафик через Asterisk, не совместимо с nat=yes, можно указать глобально
dtmfmode=info ; определен провайдером
disallow=all ; отключение всех кодеков
allow=ulaw ; разрешить кодек ulaw
[2000]
type=friend
context=phones
nat=yes
host=dynamic
secret=*пароль*
qualify=yes
canreinvite=no
dtmfmode=info
disallow=all
allow=ulaw
теперь для принятия входящих звонков в разделе [general] добавим[prov]
type=friend
host= IP сервера
fromuser=*userid выданный провайдером*
defaultuser=*userid выданный провайдером*
secret=*пароль*
context=incoming_calls ; группа для входящих звонков
dtmfmode=info
disallow=all
allow=ulaw
insecure=invite
если данную строку закоментить то звонки будут только исходящиеregister => *userid выданный провайдером*:*пароль*@prov
теперь надо добавить в пустой файл extensions.conf
вот самый простецкий конфиг, не идеальный зато работает.[globals]
[general]
autofallthrough=yes
[default]
[incoming_calls]
exten => *userid*,1,Dial(SIP/1000) ; при получение звонка на номер *userid выданный провайдером* перевести звонок на аккаунт 1000
[outgoing_calls]
exten => _X.,1,Dial(SIP/prov/${EXTEN}) ; при наборе любых цифр отправлять звонок провайдеру
[internal]
exten => 1000,1,Verbose(1|Extension 1000) ; определяет что делать если набрали 1000, собственно звонить
exten => 1000,n,Dial(SIP/1000,30)
exten => 1000,n,Hangup()
exten => 2000,1,Verbose(1|Extension 2000) ; определяет что делать если набрали 2000, собственно звонить
exten => 2000,n,Dial(SIP/2000,30)
exten => 2000,n,Hangup()
[phones]
include => internal
include => outgoing_calls
теперь можете настроить софт фон или хардваре фон и звонить, обычно надо прописать userid, пароль и кодек, у нас определен ulaw