И так немного сделаю заметок , как мне кажеться наиболее интересных переменных в конфиге :
Далее буду просто кидать выдержки и наиболее интересные мне переменные и описание этих переменных .
qualify = yes - если стоит в yes , asterisk будит каждые 2 -3 секунды отправлять SIP сообщения OPTIONS для проверки готовности . Тем самым можно сделать некий мониторинг доступности оборудования ( в том числе пиров ) , но стоить отметить , что это будит генерить не большой но все таки трафик .
Правила набора
X - любая цифра от 0-9
Z - любая цифра от 1-9
N - любая цифра от 2-9
[1237-9] -любая цифра или буква в скобках (в примере 1,2,3,7,8,9)
. - wildcard, один или более знак (не используется перед | или +)
| - удаляет префикс (9|3216111 - будет набрано 3216111)
+ - добавляет префикс к номеру (например шаблон 812+NXXXXXX при наборе 3216111, наберет 8123216111)
Варианты контектса type :
peer - разрешены только исходящие звонки
user - разрешены только входящие звонки
friend - разрешены как входящие так и исходящие звонки
Перехват звонка :
И так в Asterisk для перехвата звонков реализовано 2 функции :
- в рамках указанной группы
- в рамках конкретного номера
Что касаемо перевода звонков в рамках конкретного номера - для этого необходимо сделать :
*8#номер_звонящего_телефона - после чего звонок переводиться вам на телефон
Второй способ это перехват для группы
необходимо в SIP.CONF - где мы прописуем телефоны , в группу телефонов (номера телефонов которые будут считаться группой ) добавить след:
callgroup=1
pickupgroup=1
И далее необходимо добавить саму возможность перехвата в файл extensions.conf в тот контекст (в нашем случае это from-internal) в который входят данная группа номеров добавить
Вот блок создания нового пользователя :
[1001]
deny=0.0.0.0/0.0.0.0
type=friend
secret=1001why
qualify=yes
port=5060
pickupgroup=1
permit=0.0.0.0/0.0.0.0
nat=yes
mailbox=1001@device
host=dynamic
dtmfmode=rfc2833
dial=SIP/1001
context=from-internal
canreinvite=no
callgroup=1
callerid=device <1001>
accountcode=
call-limit=50
[1002]
deny=0.0.0.0/0.0.0.0
type=friend
secret=1002olb
qualify=yes
port=5060
pickupgroup=1
permit=0.0.0.0/0.0.0.0
nat=yes
mailbox=1002@device
host=dynamic
dtmfmode=rfc2833
dial=SIP/1002
context=from-internal
canreinvite=no
callgroup=1
exten = > *8,1,PickUP()
вот собственно и все , далее в командной строке Asterisk даем команду перезагрузку модулей - module reload и пользуемся данной функцией по типу *8 - и вы перехватуете звонок у вашего коллеги .
callerid="4956273690" <4956273690> - эта переменная говорит о том , что будет подстанавливаться вместо вашего номера , но стоит отметить , что провайдер обычно пропускает только те номера которые он предоставляет (если нет , тогда можно в этом поле указать любой номер и у вас на экране выстетиться именно он )
Отредактировано eXperT (2011-02-04 12:28:27)