Yvision.kz
kk
Разное
Разное
399 773 постов42 подписчика
Всяко-разно
0
01:56, 07 февраля 2016

Конфигурационные файлы от записки Asterisk

Первый этап - локальные телефоны/звонки и связь между серверами Алматы и Астана

Сервер города Алматы
Файл /etc/asterisk/sip.conf
[general]
register => alm_asterisk:password@10.0.10.30/ast_asterisk~3600
allowguest=yes ;
bindport=5060
context=incoming-sip
indaddr=0.0.0.0
[office-phones](!)
type=friend
context=outcoming-sip
secret=password
host=dynamic
nat=no
qualify=yes
canreinvite=no
callgroup=1
pickupgroup=1
dtmfmode=auto
disallow=all
allow=g722
[001](office-phones)
callerid="Менеджер 1" <800>
[002](office-phones)
callerid="Менеджер 2" <801>
[003](office-phones)
t38pt_udptl=yes
callerid="Факс ALM" <802>
disallow=all
allow=alaw
allow=ulaw
[ast_asterisk]
type=friend
secret=password
context=ast_incoming
host=dynamic
qualify=no
dtmfmode=rfc2833
disallow=all
allow=ulaw
 

Файл /etc/asterisk/extensions.conf

 
[alm-local-phones]
exten => 800,1,Log(NOTICE,"800 ACCOUNT")
exten => 800,2,Dial(SIP/001,120,Tt)
exten => 801,1,Log(NOTICE,"801 ACCOUNT")
exten => 801,2,Dial(SIP/002,120,Tt)
exten => 802,1,Log(NOTICE,"802 ACCOUNT")
exten => 802,2,Dial(SIP/003,120,Tt)
[handup-sip]
exten => _X!,1,HangUp()
[outcoming-sip]
include => alm-local-phones
include => ast-local-phones
include => handup-sip
[ast-local-phones]
exten => 500,1,Dial(SIP/ast_asterisk/500,120,Tt)
exten => 501,1,Dial(SIP/ast_asterisk/501,120,Tt)
exten => 502,1,Dial(SIP/ast_asterisk/502,120,Tt)
[ast_incoming]
include => alm-local-phones
include => handup-sip
 

Сервер города Астаны

Файл /etc/asterisk/sip.conf

[general]
register => ast_asterisk:password@10.0.10.20/alm_asterisk~3600
allowguest=yes ;
bindport=5060
context=incoming-sip
indaddr=0.0.0.0
[office-phones](!)
type=friend
context=outcoming-sip
secret=password
host=dynamic
nat=no
qualify=yes
canreinvite=no
callgroup=1
pickupgroup=1
dtmfmode=auto
disallow=all
allow=g722
[001](office-phones)
callerid="Менеджер 1" <500>
[002](office-phones)
callerid="Менеджер 2" <501>
[003](office-phones)
t38pt_udptl=yes
callerid="Факс AST" <502>
disallow=all
allow=alaw
allow=ulaw
[alm_asterisk]
type=friend
secret=password
context=alm_incoming
host=dynamic
qualify=no
dtmfmode=rfc2833
disallow=all
allow=ulaw

Файл /etc/asterisk/extensions.conf

[ast-local-phones]
exten => 500,1,Log(NOTICE,"500 ACCOUNT")
exten => 500,2,Dial(SIP/001,120,Tt)
exten => 501,1,Log(NOTICE,"501 ACCOUNT")
exten => 501,2,Dial(SIP/002,120,Tt)
exten => 502,1,Log(NOTICE,"502 ACCOUNT")
exten => 502,2,Dial(SIP/003,120,Tt)
[handup-sip]
exten => _X!,1,HangUp()
[outcoming-sip]
include => ast-local-phones
include => alm-local-phones
include => handup-sip
[alm-local-phones]
exten => 800,1,Dial(SIP/alm_asterisk/800,120,Tt)
exten => 801,1,Dial(SIP/alm_asterisk/801,120,Tt)
exten => 802,1,Dial(SIP/alm_asterisk/802,120,Tt)
[alm_incoming]
include => ast-local-phones
include => handup-sip

ИТОГО: Пользователи каждого города, могут звонить друг другу по внутренним номерам. А также доступна связь между городами - алматинский пользователь без проблем звонит астанинскому абоненту набрав его номер и наоборот - астанинский пользователь звонит в Алматы набрав внутренний номер. Номерной план вн. номеров Алматы 800-810 и Астаны 500-510.

 

Провайдерский сервер

Файл /etc/asterisk/sip.conf

[client-phones](!)
type=friend
context=outcoming-sip
secret=password
host=dynamic
nat=no
qualify=yes
canreinvite=no
callgroup=1
pickupgroup=1
dtmfmode=auto
disallow=all
allow=g722
[2755343](client-phones)
callerid="Almaty 1" <2755343>
[2755344](client-phones)
callerid="Almaty 2" <2755344>
[3755222](client-phones)
callerid="Astana 1" <3755222>
[3755333](client-phones)
callerid="Astana 2" <3755333>

Файл /etc/asterisk/extensions.conf

[client-local-phones]
exten => 2755343,1,Log(NOTICE,"2755343 ACCOUNT")
exten => 2755343,2,Dial(SIP/2755343,120,Tt)
exten => 2755344,1,Log(NOTICE,"2755344 ACCOUNT")
exten => 2755344,2,Dial(SIP/2755344,120,Tt)
; Astana phones
exten => 3755222,1,Log(NOTICE,"3755222 ACCOUNT")
exten => 3755222,2,Dial(SIP/3755222,120,Tt)
exten => 3755333,1,Log(NOTICE,"3755222 ACCOUNT")
exten => 3755333,2,Dial(SIP/3755222,120,Tt)
[handup-sip]
exten => _X!,1,HangUp()
[outcoming-sip]
include => client-local-phones
include => handup-sip

ИТОГО: Для начала мы дали городские номера для Алматы 2755343 и 2755344. А также дали номера 3755222 и 3755333 для Астаны. Эти номера пока без префиксов.

Прописываем городские номера на сервере в Астане и Алматы

Теперь прописываем регистрацию внешних SIP номеров в городе Астана:

[general]
register => 3755222:password@10.0.10.10/3755222~3600
register => 3755333:password@10.0.10.10/3755333~3600

И добавляем:

[id-phone](!)
type=peer
context=default
host=10.0.10.10
fromdomain=10.0.10.10
port=5060
insecure=port,invite
canreinvite=no
qualify=3600
[3755222](id-phone)
disallow=all
allow=g729
allow=alaw
;allow=ulaw
defaultuser=3755222
fromuser=3755222
secret=password
[3755333](id-phone)
disallow=all
allow=g729
allow=alaw
;allow=ulaw
defaultuser=3755333
fromuser=3755333
secret=password

Теперь прописываем регистрацию внешних SIP номеров в городе Алматы:

[general]
register => 2755343:password@10.0.10.10/2755343~3600
register => 2755344:password@10.0.10.10/2755344~3600

И добавляем:

[id-phone](!)
type=peer
context=default
host=10.0.10.10
fromdomain=10.0.10.10
port=5060
insecure=port,invite
canreinvite=no
qualify=3600
[2755343](id-phone)
disallow=all
allow=g729
allow=alaw
;allow=ulaw
defaultuser=2755343
fromuser=2755343
secret=password
[2755344](id-phone)
disallow=all
allow=g729
allow=alaw
;allow=ulaw
defaultuser=2755344
fromuser=2755344
secret=password
 
Создаем контекст [incoming_idphone] в файле /etc/asterisk/extensions.conf:
[incoming_idphone]
exten => s,1,Answer()
exten => s,n,Ringing()
exten => s,n,Queue(welcome,n,,,12)
exten => s,n,GotoIfTime(19:15-8:00,*,*,*?allRing:default)
exten => s,n(allRing),NoOp()
exten => s,n,Queue(allNoFaxes,r,,,600)
exten => s,n,HangUp()
exten => s,n(default),NoOp()
exten => s,n,Queue(secretary,r,,,6)
exten => s,n,Queue(alm-manager1,r,,,10)
exten => s,n,Queue(ast-managers,r,,,600)
include => handup-sip
[incoming_idphone2]
exten => s,1,Answer()
exten => s,n,Ringing()
exten => s,n,Queue(welcome,n,,,12)
exten => s,n,GotoIfTime(19:15-8:00,*,*,*?allRing:default)
exten => s,n(allRing),NoOp()
exten => s,n,Queue(allNoFaxes,r,,,600)
exten => s,n,HangUp()
exten => s,n(default),NoOp()
exten => s,n,Queue(secretary,r,,,6)
exten => s,n,Queue(alm-manager1,r,,,10)
exten => s,n,Queue(ast-managers,r,,,600)
include => handup-sip
 

Добавляем очередь /etc/asterisk/queues.conf для города Астана

[welcome]
strategy = ringall
musicclass=welcome
context=all-local-sip
[secretary]
strategy = ringall
musicclass=default
context=all-local-sip
; Секретарь
member => SIP/ast_asterisk/550,1
[ast-managers]
strategy = ringall
musicclass=default
context=all-local-sip
; Менеджеры
member => SIP/ast_asterisk/500,1
member => SIP/ast_asterisk/501,1
; (… и т. д.)
[alm-manager1]
strategy = ringall
musicclass=default
context=all-local-sip
; Алматинские менеджеры
member => SIP/001,1

Ссылки:

1. http://asterisk.ru/knowledgebase/Asterisk+config+sip.conf

0
1345
0