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
Last revision Both sides next revision
использование_телефонии_asterisk_с_microsoft_ad [2017/03/29 11:34]
val [402]
использование_телефонии_asterisk_с_microsoft_ad [2017/03/31 10:17]
val [Использование телефонии Asterisk на предприятии с инфраструктурой Microsoft Active Directory]
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#​Установка]]
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