User Tools

Site Tools


использование_телефонии_asterisk_с_microsoft_ad

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
использование_телефонии_asterisk_с_microsoft_ad [2017/03/29 11:32]
val [2. Развертывание телефонии предприятия]
использование_телефонии_asterisk_с_microsoft_ad [2017/03/31 10:17]
val
Line 1: Line 1:
 ====== Использование телефонии Asterisk на предприятии с инфраструктурой Microsoft Active Directory ====== ====== Использование телефонии Asterisk на предприятии с инфраструктурой Microsoft Active Directory ======
 +
 +**[[https://​youtu.be/​uqTXbQBfcQc|Запись]]**
  
 **Техническое задание**:​ Сделать рабочие места в офисе универсальными. Звонок на корпоративный номер сотрудника должен приходить на телефонный аппарат расположенный там, где в данный момент работает сотрудник. Пример:​ [[http://​www.fresher.ru/​2011/​12/​25/​neobychnyj-ofis-philips-bez-opredelennogo-mesta-raboty/​|Необычный офис Philips – без определенного места работы]] **Техническое задание**:​ Сделать рабочие места в офисе универсальными. Звонок на корпоративный номер сотрудника должен приходить на телефонный аппарат расположенный там, где в данный момент работает сотрудник. Пример:​ [[http://​www.fresher.ru/​2011/​12/​25/​neobychnyj-ofis-philips-bez-opredelennogo-mesta-raboty/​|Необычный офис Philips – без определенного места работы]]
 +
  
 ===== 1. Развертывание сети предприятия ===== ===== 1. Развертывание сети предприятия =====
Line 22: Line 25:
   * [[Использование Asterisk в офисной телефонии]] (Модуль 2.2, 2.3, на системе gate)   * [[Использование Asterisk в офисной телефонии]] (Модуль 2.2, 2.3, на системе gate)
  
-==== 401 ==== +==== 401402 ==== 
-  +
-  * [[ZoIPer]] +
- +
-==== 402 ==== +
  
   * FreeBSD, аудиодрайвер   * FreeBSD, аудиодрайвер
-  * hostname: ​phone2, ip: [[Настройка сети в FreeBSD#​Динамическая настройка параметров]]+  * hostname: ​phonen, ip: [[Настройка сети в FreeBSD#​Динамическая настройка параметров]] 
 +  * [[Подключение звуковой карты#​Проверка работоспособности звуковой карты]]
   * [[Сервис Asterisk#​Установка]]   * [[Сервис Asterisk#​Установка]]
   * [[Сервис Asterisk#​Использование asterisk в качестве телефона]]   * [[Сервис Asterisk#​Использование asterisk в качестве телефона]]
- 
  
 ==== 403 ==== ==== 403 ====
Line 47: Line 46:
 phone2*CLI>​ channel originate Console/dsp extension 403 phone2*CLI>​ channel originate Console/dsp extension 403
 </​code>​ </​code>​
 +
 ===== 3. Интеграция телефонии с LDAP каталогом предприятия ===== ===== 3. Интеграция телефонии с LDAP каталогом предприятия =====
  
-**Техническое задание**:​ использовать LDAP каталог предприятия в качестве адресной книги и CallerID при телефонных вызовах+**Техническое задание**:​ использовать LDAP каталог предприятия ​для установки текстового CallerID при телефонных вызовах 
  
-  * [[Администрирование сервисов UNIX]] (Веб сервер - Модуль 8.3) 
   * Заполняем атрибуты Display Name, Telephone number, Address->​Zip/​Postsal code (пароль телефона)   * Заполняем атрибуты Display Name, Telephone number, Address->​Zip/​Postsal code (пароль телефона)
-  * [[Сервис ​Asterisk#Интеграция с Microsoft AD и LDAP]]+==== Копирование всей, необходимой для ​телефонии информации ​из LDAP в текстовый файл ====
  
 +<​code>​
 +# cat /​root/​create_login_phone_table.sh
 +</​code><​code>​
 +#!/bin/sh
 +
 +IFS=' '
 +
 +ldapsearch -x -D "​cn=Administrator,​cn=Users,​dc=corp6,​dc=un"​ -w '​Pa$$w0rd'​ -h server.corp6.un -b "​dc=corp6,​dc=un"​ "​(telephoneNumber=4*)"​ sAMAccountName cn telephoneNumber postalCode | perl -p00e '​s/​\r?​\n //g'|
 +while read s
 +do
 +        echo $s | grep -vq '​^dn:'​ && continue
 +        read fn cn
 +        echo $fn | grep -q '::'​ && cn=`echo $cn | base64 -d`
 +        read fn pass
 +        read fn tn
 +        read fn login
 +        echo $login $tn $pass $cn
 +done
 +</​code><​code>​
 +# /​root/​create_login_phone_table.sh > /​root/​login_phone_table.txt ​
 +
 +# cat /​root/​login_phone_table.txt
 +</​code><​code>​
 +user1 401 tpassword401 Ivan I. Ivanov
 +user2 402 tpassword402 Petr P. Petrov
 +user3 403 tpassword403 Sidor S. Sidorov
 +user4 404 tpassword404 Vsily M. Koshkin
 +user5 405 tpassword405 Федор И. Шаляпин
 +</​code>​
 +
 +==== Размещение адресной книги в формате HTML ====
 +
 +  * [[Администрирование сервисов UNIX]] (Веб сервер - Модуль 8.3)
 +
 +<​code>​
 +# cat /​root/​login_phone_table.txt | awk 'BEGIN {print "<​html><​body><​table>"​} {print "<​tr><​td>"​ $4 " " $5 " " $6 "</​td><​td>"​ $2 "</​td></​tr>"​} END {print "</​table></​body></​html>"​}'​ > /​var/​www/​html/​addrbook.html
 +</​code>​
 +
 +==== Создание файла для импорта адресной книги в формате телефонов Panasonic ====
 +
 +  * [[Базовая станция DECT KX-UDS124]]
 +
 +<​code>​
 +# cat /​root/​login_phone_table.txt | awk '​{printf ("\t%s %s %s\t\t%s\t\t\t\t\t\n",​$4,​$5,​$6,​$2)}'​ | unix2dos | iconv -f utf-8 -t utf-16 > phonebook.tsv
 +</​code>​
 +
 +==== Создание файла users.conf ====
 +<​code>​
 +# cat /​root/​create_users_conf.sh
 +</​code><​code>​
 +#!/bin/sh
 +
 +while read login cid_number secret fullname
 +do
 +        echo "​[$cid_number]"​
 +        echo "​cid_number = $cid_number"​
 +        echo "​fullname = $fullname"​
 +        echo "​secret = $secret"​
 +        echo "​type=friend"​
 +        echo "​host=dynamic"​
 +        echo
 +done
 +</​code><​code>​
 +# /​root/​create_users_conf.sh < /​root/​login_phone_table.txt > /​etc/​asterisk/​users.conf
 +
 +# cat /​etc/​asterisk/​users.conf
 +</​code><​code>​
 +[401]
 +cid_number = 401
 +fullname = Ivan I. Ivanov
 +secret = tpassword401
 +type=friend
 +host=dynamic
 +...
 +</​code><​code>​
 +# cat /​etc/​asterisk/​sip.conf
 +</​code><​code>​
 +[general]
 +transport=udp
 +disallow=all
 +allow=alaw
 +
 +#include "/​etc/​asterisk/​users.conf"​
 +
 +[403]
 +secret=tpassword403
 +type=friend
 +host=dynamic
 +</​code><​code>​
 +# asterisk -x 'sip reload'​
 +# asterisk -x 'sip show users'
 +</​code>​
 ===== 4. Настройка телефонного аппарата на номер использующего его сотрудника ===== ===== 4. Настройка телефонного аппарата на номер использующего его сотрудника =====
  
Line 71: Line 163:
  
 <​code>​ <​code>​
 +root@gate.corpX.un:​~#​ cat /​var/​www/​html/​0800.2700.d8e8.cfg
 +</​code><​code>​
 +[sipproxy]
 +type=peer
 +defaultuser=40N
 +secret=tpassword40N
 +host=gate.corpX.un
 +insecure=invite
 +callbackextension=sipproxy
 +</​code><​code>​
 [phone2:~] # cat /​root/​fetch_conf.sh [phone2:~] # cat /​root/​fetch_conf.sh
 </​code><​code>​ </​code><​code>​
 #!/bin/sh #!/bin/sh
  
-/​usr/​local/​bin/​curl -s http://​gate.corpX.un/0800.27NN.NNNN.cfg > /​usr/​local/​etc/​asterisk/​users.conf+/​usr/​local/​bin/​curl -s http://​gate.corp6.un/0800.2700.d8e8.cfg > /​usr/​local/​etc/​asterisk/​users.conf
  
 /​usr/​local/​sbin/​asterisk -x 'sip reload'​ /​usr/​local/​sbin/​asterisk -x 'sip reload'​
Line 83: Line 185:
 * * * * * /​root/​fetch_conf.sh * * * * * /​root/​fetch_conf.sh
 </​code><​code>​ </​code><​code>​
-[phone2:~] # cat /​usr/​local/​etc/​asterisk/​sip.conf+[phoneN:~] # cat /​usr/​local/​etc/​asterisk/​sip.conf
 </​code><​code>​ </​code><​code>​
 [general] [general]
Line 92: Line 194:
 </​code>​ </​code>​
  
-==== 4.Определение на какой рабочей станции зарегистрировался пользователь ====+==== 4.Определение на какой рабочей станции зарегистрировался пользователь ====
  
   * [[Создание отказоустойчивых UNIX решений]] (Модуль 7.5, публичный каталог доступный на запись)   * [[Создание отказоустойчивых UNIX решений]] (Модуль 7.5, публичный каталог доступный на запись)
Line 100: Line 202:
 gate# tail -n /​disk2/​logon.txt gate# tail -n /​disk2/​logon.txt
 </​code>​ </​code>​
-==== 4.Определение mac адреса телефона,​ через который подключена рабочая станция ====+==== 4.Определение mac адреса телефона,​ через который подключена рабочая станция ====
  
   * [[Linux FreeBSD Взаимодействие с сетевым оборудованием Cisco]] (Модуль 3. Использование snmp для получения mac address table)   * [[Linux FreeBSD Взаимодействие с сетевым оборудованием Cisco]] (Модуль 3. Использование snmp для получения mac address table)
Line 106: Line 208:
  
 <​code>​ <​code>​
-gate# host CLIENT2+switch(config) 
 +</​code><​code>​ 
 +interface VLAN1 
 +ip address 192.168.6.3 255.255.255.0 
 +no shut 
 +exit 
 + 
 +ip rcmd rcp-enable 
 +ip rcmd rsh-enable 
 +no ip domain lookup 
 + 
 +ip host gate 192.168.6.1 
 +ip rcmd remote-host root gate root enable 
 + 
 +mac-address-table aging-time 1000000 
 +</​code><​code>​ 
 +gate# apt install rsh-client 
 + 
 +gate# host CLIENTN
  
 gate# arp -a gate# arp -a
 +
 +gate# echo "​192.168.6.3 switch"​ >> /etc/hosts
  
 gate# rsh switch show mac-address-table gate# rsh switch show mac-address-table
 </​code>​ </​code>​
  
-==== 4.Собираем все вместе ====+==== 4.Собираем все вместе ====
  
   * [[https://​youtu.be/​GxVmukxVUo0|Видеоурок:​ Программирование на sh]]   * [[https://​youtu.be/​GxVmukxVUo0|Видеоурок:​ Программирование на sh]]
Line 142: Line 264:
 defaultuser=$defaultuser defaultuser=$defaultuser
 secret=$secret secret=$secret
-host=gate.corp13.un+host=gate.corp6.un
 insecure=invite insecure=invite
 callbackextension=sipproxy callbackextension=sipproxy
использование_телефонии_asterisk_с_microsoft_ad.txt · Last modified: 2017/03/31 10:17 by val