Пост
Hello :)

Linux

-

Raspberry + Asterisk + Huawei = Voip SIP шлюз

Часто выезжаю за границу, с локальной 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
12 комментариев
Avatar
  1. Александр Неринов
    Александр Неринов
    21 февраля 2018 14:34
    Здравствуйте, есть цель звонить нашим благотворителям (у нас фонд по защити уличных животных) и проигрывать аудио файл где говорится о новых собаках в нашем приюте, а также принимать звонки и проигрывает тот же файл, я так наверное по своей наивности не нашел никакого решения бесплатного или вылеченного от жадности под виндовс, конечно можно подумать, нужно брать Астерикс или что-то в этом роде. Но я с линуксом не дружу, а настройка стоит от 3т.р, сейчас для меня это не подъемная сумма,нашёл в вылечинную от жадности oktell но я так и не понял как там через неё звонить, может быть есть какой-то интуитивно понятная программа. Возможно даже зарубежная. Которая бы дружила GSM шлюзом или хуавей модемами, или какая-нибудь сборка юникса но очень дружелюбное простая для новичка, Сильно не пинайте новичка. Кто сможет помочь в настройке пишите в телегу [club@seogud ,ICQ: 665 055 198 , скайп nugnyi-nick
  2. Алина Валентьева
    Алина Валентьева
    19 мая 2016 19:18
    ОС какая? Убунту или дебиан?
  3. Дамир Программист
    Дамир Программист
    31 марта 2016 12:30
    обалдеть можно молодчик
  4. Владимир Соломин
    Владимир Соломин
    12 апреля 2015 23:50
    кстати как вариант делай и продавай ! народ будет брать думаю даже)))
  5. Владимир Соломин
    Владимир Соломин
    12 апреля 2015 23:46
    серега ты мозг!!! когда то давно знакомый делал не что подобное в актобе на обычный телефон. как вариант звонки по скайп но тоже недаром но по сравнению с ценами 2005 г это было в разы разница .
  6. Максим Зацепилов
    Максим Зацепилов
    11 февраля 2015 17:25
    А sip аккаунт местного оператора не прикручен ? Удобно же на городские через него звонить и по КЗ.
    1. Рузмат Холметов
      Рузмат Холметов
      18 февраля 2015 13:53
      Sergey, такие и куплю, можно будет обратиться с помощью по настройкам ?
    2. Serj
      Serj
      18 февраля 2015 13:55
      Рузмат, конеш
    3. Рузмат Холметов
      Рузмат Холметов
      18 февраля 2015 14:33
      Sergey, а если воткну E1552 ? не тестил такие ?
    4. Serj
      Serj
      18 февраля 2015 18:45
      Рузмат, не тестил
    5. Рузмат Холметов
      Рузмат Холметов
      18 февраля 2015 22:54
      Твоя инструкция подойдет под центос ? Стоит elastix
  7. Матвей Антонов
    Матвей Антонов
    5 января 2015 16:32
    ваще огонь респект те серж))

© SERJ.WS 2011-2021