четверг, 18 декабря 2014 г.

конфиги asterisk


В LXC контейнере Ubuntu 14.04.01
ставил из исходников последнюю версию 1.8
см. тут: http://downloads.asterisk.org/pub/telephony/asterisk/releases/


westcall-reg и  sipnet - транки.
87 - номер для голосовой почты.
Также установил кодек 729g.

sip.conf

[general]
context=default
allowguest=no
language=ru
bindaddr=192.168.11.7
localnet=192.168.11.0/26
transport=udp
defaultexpiry=360
register => 7812XXXXXXX$home:password:7812XXXXXXX$home @home.uc.westcall.net:4670/7812XXXXXXX

[westcall-reg]
type=friend
context=incoming
username=7812XXXXXXX$home
fromuser=7812XXXXXXX$home
authname=7812XXXXXXX$home
secret=password
fromdomain=home.uc.westcall.net
host=home.uc.westcall.net
insecure=port,invite
disallow=all
allow=ulaw
qualify=yes

[sipnet]
secret = password
defaultuser = 004XXXXXXX
trunkname = sipnet
host = sipnet.ru
type = peer
context = sipnet
insecure = invite
callbackextension = 1
fromuser = 004XXXXXXX
fromdomain = sipnet.ru
disallow=all
allow=g729
nat = no
dtmfmode = rfc2833

[home](!)
context=home
allowtransfer = yes
;srvlookup=yes
type=friend
host=dynamic
dtmfmode=rfc2833
nat=no
canreinvite=no
disallow=all
allow=g729
allow=ulaw
allow=alaw
call-limit=1
secret=password

[1](home)
username=1
callerid="Black" <1>

[5](home)
username=5
callerid="Redish" <5>

[7](home)
username=7
callerid="3cx" <7>

[81](home)
username=81
callerid="81" <81>

[87](home)
username=87
callerid="87" <87>
mailbox=87@default

extensions.conf

[home] #внутренние звонки (однозначные номера).
exten => _X, 1, Dial(SIP/${EXTEN},30)
exten => _X, n, Playback(vm-nobodyavail)
exten => _X, n, Hangup()

;exten => 81,1,Set(TIME="${STRFTIME(${EPOCH},,%C%y-%m-%d_%H-%M-%S)}") # если задействовать (убрать коммент) можно позвонить, и записать свой голос.
;exten => 81,n,Playback(beep)
;exten => 81,n,Record(/usr/local/share/asterisk/sounds/record%d_${TIME}.wav)
;exten => 81,n,Playback(${RECORDED_FILE})
;exten => 81,n,Hangup()

;exten => 87,1,Dial(SIP/87,20) #голосовая почта
;exten => 87,n,Playback(vm-nobodyavail)
;exten => 87,n,Voicemail(87@default)
;exten => 87,n,Hangup()

;exten => 87,1,Background(/var/lib/asterisk/sounds/voice_menu) # голосовое меню, типа "наберите внутренний номер, или дождитесь ответа секретаря"
;exten => 87,n,Wait(5) # пауза 5 сек. для набора номера
;exten => 87,n,Dial(SIP/7) # если ничего не набрал переводим на 7 (секретарь).
;exten => 87,n,Playback(vm-nobodyavail)
;exten => 87,n,Hangup()

include => sipnet


[sipnet]
exten=> _7XXXXXXXXXX, 1, Set(LIMIT_WARNING_FILE=)# используем лимит
exten=> _7XXXXXXXXXX, n, Dial(SIP/${EXTEN}@sipnet,,L(3540000:50000))# длительности разговора и время предупреждения, что разговор закончится принудительно, в милисекундах
exten=> _7XXXXXXXXXX, n, Playback(vm-nobodyavail)
exten=> _7XXXXXXXXXX, n, Hangup()

include => westcall-reg


[westcall-reg]
exten => _XXXXXXX, 1, Dial(SIP/${EXTEN}@westcall-reg) #питерские 7-знаки
exten => _XXXXXXX, n, Playback(vm-nobodyavail)
exten => _XXXXXXX, n, Hangup()

exten => _0X, 1, Dial(SIP/${EXTEN}@westcall-reg) #пожарные, менты и т.п
exten => _0X, n, Playback(vm-nobodyavail)
exten => _0X, n, Hangup()

exten => _8800XXXXXXX, 1, Dial(SIP/${EXTEN}@westcall-reg) # думаю, что все понятно
exten => _8800XXXXXXX, n, Playback(vm-nobodyavail)
exten => _8800XXXXXXX, n, Hangup()

include => home


[incoming]
;exten => _X., 1, Set(fname=${STRFTIME(${EPOCH},,%d-%m-%C%y_%H-%M-%S)}_${CALLERID(number)}->${EXTEN}) # запись разговора
;exten => _X., n, MixMonitor(/home/ubuntu/aster_rec/incoming/${fname}.gsm) # сведение входящего и исходящего голоса в единый файл
exten => _X., 1, Dial(SIP/1,25)
exten => _X., n, Dial(SIP/5,20)
exten => _X., n, Playback(vm-nobodyavail)
exten => _X., n, Voicemail(87@default)

exten => _X., n, Hangup()


voicemail.conf
#добавляем в секцию default
87 => 777,87,vashemail@gmail.com,,maxmessage=no|vmcontext=no|attach=yes|saycid=no|envelope=no|delete=no

emailsubject=Новое голосовое сообщение ${VM_MSGNUM} в ящике ${VM_MAILBOX}

emailbody=Уважаемый ${VM_NAME}:\n\n\tХотим сообщить, что Вам пришло новое голосовое сообщение длительностью ${VM_DUR} под номером (${VM_MSGNUM})\nв ящик ${VM_MAILBOX} от ${VM_CALLERID}, ${VM_DATE}, когда будет время проверьте его. Спасибо.


charset=UTF-8