Контакты  
 
 
Главная
 
 
 
   
Привет :)
 
 
Разделы





 
Пост  

Часто выезжаю за границу, с локальной SIM звонки в KZ стоят дорого, посетила мысль поднять VOIP шлюз на Raspberry, с двухсторонней связью...

 

 

 

# apt-get install asterisk asterisk-dev

# apt-get install usbutils autoconf automake

 

Установка chan-dongle для работы с USB модемом.

 

# svn checkout http://asterisk-chan-dongle.googlecode.com/svn/trunk/ dongle-read-only

# cd dongle-read-only

# aclocal && autoconf && automake -a

# ./configure

# make all

# make install

# /usr/bin/install -c -m 755 chan_dongle.so /usr/lib/asterisk/modules

 

# cp /usr/src/dongle-read-only/etc/dongle.conf  /etc/asterisk/dongle.conf

# cp/usr/src/dongle-read-only/etc/extensions.conf  /etc/asterisk/extensions.conf

 

Далее в /etc/asterisk/ редактируем конфиги:

 

sip.conf 

[general]
externip=192.168.1.10 ;ip астериска
externaddr=192.168.1.10; тоже самое
localnet=192.168.1.0/255.255.0.0; локальная сеть астерикса
nat=force_rport,comedia; для работы за натом
context=public;
allowguest=no; не принимать звонки от не определенных абонентов
bindport=5060; порт
[1000];имя SIP аккаунта
type=friend
host=dynamic
secret=blablabla ;пасс
context=default
canreinvite=yes
dtmfmode=rfc2833
permit=0.0.0.0/0.0.0.0
qualify=yes

dongle.conf

[general]
interval=15                     ; Количество секунд между попытками подключения к устройствам
[defaults]
context=dongle-incoming           ; контекст для входящих вызовов
rxgain=4                        ; увеличить громкость входящих; может быть отрицательным
txgain=4                        ; увеличить громкость исходящих; может быть отрицательным
usecallingpres=yes              ;использовать АОН
callwaiting=no          ; Ожидающие вызовы включены 'yes'
dtmf=relax
[GSM1] 
audio=/dev/ttyUSB4		; Аудио порт модема
data=/dev/ttyUSB5		; Порт для комманд

extensions.conf 

[globals]
[default]

exten => 1000,n,Dial(SIP/1000);
exten => _7X.,1,Dial(Dongle/GSM1/holdother:+${FILTER(0-9,${EXTEN})})
exten => _+7X.,1,Dial(Dongle/GSM1/holdother:+${FILTER(0-9,${EXTEN})})
exten => _8X.,1,Dial(Dongle/GSM2//holdother:+7${FILTER(0-9,${EXTEN:1})})
exten => _007X.,1,Dial(Dongle/GSM1/holdother:+7${FILTER(0-9,${EXTEN:3})})
exten => h,1,Hangup()
[dongle-incoming-sms]
exten => sms,1,Noop(Incoming SMS from ${CALLERID(num)} ${BASE64_DECODE(${SMS_BASE64})})
exten => sms,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} — ${DONGLENAME} — ${CALLERID(num)}: ${BASE64_DECODE(${SMS_BASE64})}' >> /var/log/asterisk/sms.txt)
exten => sms,n,Hangup()
[dongle-incoming-ussd]
exten => ussd,1,Noop(Incoming USSD: ${BASE64_DECODE(${USSD_BASE64})})
exten => ussd,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} — ${DONGLENAME}: ${BASE64_DECODE(${USSD_BASE64})}' >> /var/log/asterisk/ussd.txt)
exten => ussd,n,Hangup()
[dongle-incoming]
include => dongle-incoming-sms
include => dongle-incoming-ussd
exten => s,1,Dial(SIP/1000)
exten => s,n,Hangup()

 

# asterisk -rx "core restart now"

# asterisk -rx "dongle show devices"

 

 

Для автономной работы шлюза, использую резервный инет от оператора (проброс портов с внешнего сервера по VPN до шлюза)

 

Для SIP телефонии на iPhone использую Bria.

 

Добавить в:
 
Serj   02 января 2015, 17:53
 
 



 
 
 
 
© SERJ.WS 2011-2017