This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
использование_телефонии_asterisk_с_microsoft_ad [2017/03/30 14:39] val [3. Интеграция телефонии с LDAP каталогом предприятия] |
использование_телефонии_asterisk_с_microsoft_ad [2017/03/31 10:17] (current) 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 48: | Line 51: | ||
| **Техническое задание**: использовать LDAP каталог предприятия для установки текстового CallerID при телефонных вызовах | **Техническое задание**: использовать LDAP каталог предприятия для установки текстового CallerID при телефонных вызовах | ||
| - | * [[Администрирование сервисов UNIX]] (Веб сервер - Модуль 8.3) | + | |
| * Заполняем атрибуты Display Name, Telephone number, Address->Zip/Postsal code (пароль телефона) | * Заполняем атрибуты Display Name, Telephone number, Address->Zip/Postsal code (пароль телефона) | ||
| ==== Копирование всей, необходимой для телефонии информации из LDAP в текстовый файл ==== | ==== Копирование всей, необходимой для телефонии информации из LDAP в текстовый файл ==== | ||
| Line 59: | Line 62: | ||
| IFS=' ' | IFS=' ' | ||
| - | ldapsearch -x -D "cn=Administrator,cn=Users,dc=corpX,dc=un" -w 'Pa$$w0rd' -h ad.corpX.un -b "dc=corpX,dc=un" "(telephoneNumber=4*)" sAMAccountName cn telephoneNumber postalCode | perl -p00e 's/\r?\n //g'| | + | 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 | while read s | ||
| do | do | ||
| Line 83: | Line 86: | ||
| ==== Размещение адресной книги в формате HTML ==== | ==== Размещение адресной книги в формате HTML ==== | ||
| + | |||
| + | * [[Администрирование сервисов UNIX]] (Веб сервер - Модуль 8.3) | ||
| <code> | <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 | + | # 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> | </code> | ||
| Line 98: | Line 103: | ||
| ==== Создание файла users.conf ==== | ==== Создание файла users.conf ==== | ||
| <code> | <code> | ||
| - | # cat create_users_conf.sh | + | # cat /root/create_users_conf.sh |
| </code><code> | </code><code> | ||
| #!/bin/sh | #!/bin/sh | ||
| Line 111: | Line 116: | ||
| echo "host=dynamic" | echo "host=dynamic" | ||
| echo | echo | ||
| - | done < /root/login_phone_table.txt | + | done |
| </code><code> | </code><code> | ||
| - | # /root/create_users_conf.sh > users.conf | + | # /root/create_users_conf.sh < /root/login_phone_table.txt > /etc/asterisk/users.conf |
| - | # cat users.conf | + | # cat /etc/asterisk/users.conf |
| </code><code> | </code><code> | ||
| [401] | [401] | ||
| Line 125: | Line 130: | ||
| ... | ... | ||
| </code><code> | </code><code> | ||
| - | # cat sip.conf | + | # cat /etc/asterisk/sip.conf |
| </code><code> | </code><code> | ||
| [general] | [general] | ||
| - | ... | + | transport=udp |
| + | disallow=all | ||
| + | allow=alaw | ||
| #include "/etc/asterisk/users.conf" | #include "/etc/asterisk/users.conf" | ||
| - | ... | + | |
| + | [403] | ||
| + | secret=tpassword403 | ||
| + | type=friend | ||
| + | host=dynamic | ||
| </code><code> | </code><code> | ||
| # asterisk -x 'sip reload' | # asterisk -x 'sip reload' | ||
| Line 151: | 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 163: | 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 172: | Line 194: | ||
| </code> | </code> | ||
| - | ==== 4.2 Определение на какой рабочей станции зарегистрировался пользователь ==== | + | ==== 4.3 Определение на какой рабочей станции зарегистрировался пользователь ==== |
| * [[Создание отказоустойчивых UNIX решений]] (Модуль 7.5, публичный каталог доступный на запись) | * [[Создание отказоустойчивых UNIX решений]] (Модуль 7.5, публичный каталог доступный на запись) | ||
| Line 180: | Line 202: | ||
| gate# tail -n /disk2/logon.txt | gate# tail -n /disk2/logon.txt | ||
| </code> | </code> | ||
| - | ==== 4.3 Определение mac адреса телефона, через который подключена рабочая станция ==== | + | ==== 4.4 Определение mac адреса телефона, через который подключена рабочая станция ==== |
| * [[Linux FreeBSD Взаимодействие с сетевым оборудованием Cisco]] (Модуль 3. Использование snmp для получения mac address table) | * [[Linux FreeBSD Взаимодействие с сетевым оборудованием Cisco]] (Модуль 3. Использование snmp для получения mac address table) | ||
| Line 186: | Line 208: | ||
| <code> | <code> | ||
| - | switch(config)#ip rcmd rcp-enable | + | switch(config) |
| - | switch(config)#ip rcmd rsh-enable | + | </code><code> |
| - | switch(config)#no ip domain lookup | + | interface VLAN1 |
| + | ip address 192.168.6.3 255.255.255.0 | ||
| + | no shut | ||
| + | exit | ||
| - | switch(config)#ip host gate 192.168.6.1 | + | ip rcmd rcp-enable |
| - | switch(config)#ip rcmd remote-host root gate root enable | + | ip rcmd rsh-enable |
| + | no ip domain lookup | ||
| + | ip host gate 192.168.6.1 | ||
| + | ip rcmd remote-host root gate root enable | ||
| - | gate# host CLIENT2 | + | 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 Собираем все вместе ==== | + | ==== 4.5 Собираем все вместе ==== |
| * [[https://youtu.be/GxVmukxVUo0|Видеоурок: Программирование на sh]] | * [[https://youtu.be/GxVmukxVUo0|Видеоурок: Программирование на sh]] | ||
| Line 230: | 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 | ||