В прошлый раз мы настраивали AsteriskNow для совершения звонков внутри локальной сети при помощи программных SIP телефонов. Фактически вместо программного SJPhone можно использовать множество имеющихся в продаже USB, Wireless, Ethernet SIP трубок что позволит организовать внутреннюю телефонию офиса.
Дело осталось за малым: организовать звонки во внешний мир. Тут есть три варианта:
- Специальная FXO карта для Asterisk. К ней подключается медная пара от телефонного оператора и разруливается маршрутизация звонков. За отсутсвием оной, равно как и медной пары, этот способ пока описывать не буду.
- Организация потока E1 от телефонного оператора с требуемым количеством номеров. Здесь сложность кроется в оборудовании, для того что бы принять это поток нужно специальное железо или опять же плата для Asterisk. В качестве специального железа зачастую выступает Cisco. Имеющаяся у меня cisco такую карточку имеет и поток принять может, вот только взять его не у кого, поэтому пока этот вариант тоже не рассматриваем.
- Подключение по SIP к любому провайдеру IP телефонии любым доступным методом. Т.к. традиционная телефония постепенно сдает свои позиции, эту нишу занимают операторы IP телефонии и соответственно такой способ подключения интересует многих.
На моем стенде получить доступ к какому-нибудь SIP оператору возможности у вы нет, но у меня есть Cisco 1700 которая вполне может изобразить для меня SIP провайдера, а подключенные к ней Cisco IPPhone станут для меня внешним миром.
И так, конфигурация Asterisk с прошлого раза не изменилась. Все номера (extensions) остались прежними. Единственное что нам необходимо это добавить SIP транк (Trunk ) в сторону провайдера (Cisco).
Для этого в разделе Транки (trunks) создаем новый транк SIP
Обзовем его например To_cisco
Я заполнил только название и в поля опций занес следующие параметры
Для Peer
host=172.16.1.254
username=5555
secret=5555
type=peer
Для User
secret=5555
type=user
context=from-trunk
Пояснения: 172.16.1.254 это ip адрес cisco в вашем случае это может быть адрес провайдера, например того же sipnet. Username и secret это учетные данные для регистрации у провайдера, я буду использовать 5555 соответственно, у вас они конечно будут другими. Сохраняем транк.
Теперь необходимо определить условия при которых звонок будет уходить на этот транк к SIP провайдеру.
Для этого в FreePBX в разделе Исходящая маршрутизация (Outbond Routes) создаем новый маршрут
Имя ему задаем любое, я назвал marsh_to_cisco.
В Шаблон номера (dial patterns) прописываем наше правило, по которому звонок будет отправляться на этот транк, например 8XXXXXXX (все звонки, начинающиеся с 8). В моем случае я прописал просто XXX, т.е. все трехзначные звонки уходят на cisco
На этом основная настройка Asterisk закончилась, осталось настроить Cisco.
Базовую конфигурацию сетевого оборудования я описывал в статье http://www.denaie.ru/?p=149
Немного изменим конфиг для того что бы соединяться по SIP с Asterisk и настроить соответствующую маршрутизацию. Дополнительно проверим, что на вторую сетевую карту Asterisk назначился IP адрес 172.16.1.1 или назначим его статикой, как вам больше нравится
version 12.3
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname gw1760-voip-test
!
enable secret 5 $1$4HP/$iYpuUaYUegwpX85f4MgVj0
enable password ciscocisco
!
voice-card 3
!
no aaa new-model
ip subnet-zero
ip cef
!
!
ip dhcp excluded-address 172.16.1.254
ip dhcp excluded-address 172.16.1.253
!
ip dhcp pool main
network 172.16.1.0 255.255.255.0
default-router 172.16.1.254
!
ip dhcp pool Phone
network 172.16.2.0 255.255.255.0
default-router 172.16.2.254
option 150 ip 172.16.2.254
!
!
no ip domain lookup
no ftp-server write-enable
!
!
voice service voip
allow-connections h323 to h323
allow-connections h323 to sip
allow-connections sip to h323
allow-connections sip to sip
h323
sip
bind control source-interface FastEthernet0/0.100
bind media source-interface FastEthernet0/0.100
!
!
voice class codec 1
codec preference 1 g729r8
codec preference 2 g711ulaw
codec preference 3 g711alaw
!
!
interface FastEthernet0/0
ip address 172.16.3.254 255.255.255.0
speed auto
full-duplex
!
interface FastEthernet0/0.100
encapsulation dot1Q 100
ip address 172.16.1.254 255.255.255.0
!
interface FastEthernet0/0.200
encapsulation dot1Q 200
ip address 172.16.2.254 255.255.255.0
!
ip classless
!
no ip http server
!
dialer-list 1 protocol ip permit
!
control-plane
!
!
voice-port 3/0
cptone RU
!
voice-port 3/1
!
voice-port 3/2
!
voice-port 3/3
!
!
dial-peer voice 10 pots
preference 7
destination-pattern 733
port 3/0
!
dial-peer voice 10001 voip
description **Incoming Call from SIP Trunk**
voice-class codec 1
session protocol sipv2
session target sip-server
incoming called-number .%
dtmf-relay rtp-nte
no vad
!
dial-peer voice 10002 voip
description **Outgoing Call to SIP Trunk**
destination-pattern ….
voice-class codec 1
session protocol sipv2
session target sip-server
dtmf-relay rtp-nte
no vad
!
sip-ua
credentials username 5555 password 12495242335C5855737A06 realm 172.16.1.1
authentication username 5555 password 01425655795E255B02191E
nat symmetric role active
nat symmetric check-media-src
disable-early-media 180
set pstn-cause 18 sip-status 408
retry invite 3
retry response 3
retry bye 3
retry cancel 3
retry register 3
timers trying 1000
timers register 150
sip-server ipv4:172.16.1.1
!
!
telephony-service
load 7960-7940 P00307020200
max-ephones 10
max-dn 150
ip source-address 172.16.2.254 port 2000
time-format 24
date-format dd-mm-yy
timeouts ringing 60
system message TeSt Ip PhOnE
user-locale RU
create cnf-files version-stamp 7960 Jul 18 2006 12:38:44
max-conferences 4
call-forward pattern .T
moh music-on-hold.au
transfer-system full-consult
transfer-pattern .T
directory entry 1 711 name First Phone
directory entry 2 722 name Second Phone
directory entry 3 733 name Analogue Telephone
!
!
ephone-dn 1
number 711
pickup-group 1
label First Phone
description First Phone
name First Phone
preference 1
no huntstop
hold-alert 30 originator
!
!
ephone-dn 2
number 722
pickup-group 1
label Second Phone
description Second Phone
name Second Phone
preference 1
hold-alert 30 originator
!
!
ephone 1
mac-address 0011.BB66.DDE7
type 7912
button 1:1
!
!
!
ephone 2
mac-address 0012.D965.1FF5
type 7912
button 1:2
!
!
!
line con 0
line aux 0
line vty 0 4
password cisco
login
!
end
В такой конфигурации asterisk и cisco соединяются и маршрутизируют свои звонки в соответствии определенными правилами, если номер 3значный то он уходит на cisco, а на cisco 4значные номера уходят на asterisk. Как уже было сказано вместо asterisk или вместо cisco может быть любой реальный sip провайдер и таким образом можно организовать выход во внешний мир.
И все же ip телефония рулит. Она проще и удобнее проводной технологии. И самое главное сразу дает десятки преимуществ при использовании при меньших затратах.
2 комментария
Здравствуйте.
есть:
офис — asterisk
доп.офис — cisco 871 и linksys pap2t
возможно ли организовать связь офиса с доп.офисом через интернет по трехзначному номеру?
если нормально работает ip между офисами то почему нет? делайте номер и указывайте в настройках линксиса адрес астерикса и все остальное и все должно работать