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 16:27]
val [4.3 Определение mac адреса телефона, через который подключена рабочая станция]
использование_телефонии_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 при телефонных вызовах
  
-<​code>​ 
-# vim mac_phone_secret_table.txt 
-</​code><​code>​ 
-BCC34221709A 401 tpassword401 
-BCC34221709B 402 tpassword402 
-BCC34221709C 403 tpassword403 
-</​code>​ 
  
-  * Заполняем атрибуты Display Name, Telephone number +  * Заполняем атрибуты Display Name, Telephone number, Address->​Zip/​Postsal code (пароль телефона) 
-  * [[Сервис ​Asterisk#Интеграция с Microsoft AD и LDAP]]+==== Копирование всей, необходимой для ​телефонии информации ​из LDAP в текстовый файл ====
  
 <​code>​ <​code>​
-# cat /root/create_login_phone_cid_name_table.sh+# cat /root/create_login_phone_table.sh
 </​code><​code>​ </​code><​code>​
 #!/bin/sh #!/bin/sh
Line 69: Line 62:
 IFS=' ' IFS=' '
  
-ldapsearch -x -D "​cn=Administrator,​cn=Users,​dc=corpX,​dc=un"​ -w '​Pa$$w0rd'​ -h server.corp6.un -b "dc=corpX,​dc=un"​ "​(telephoneNumber=4*)"​ sAMAccountName cn telephoneNumber | 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 75: Line 68:
         read fn cn         read fn cn
         echo $fn | grep -q '::'​ && cn=`echo $cn | base64 -d`         echo $fn | grep -q '::'​ && cn=`echo $cn | base64 -d`
 +        read fn pass
         read fn tn         read fn tn
-        read fn login # need for universal workplace +        read fn login 
-        echo $login $tn $cn+        echo $login $tn $pass $cn
 done done
 </​code><​code>​ </​code><​code>​
-# /root/create_login_phone_cid_name_table.sh > login_phone_cid_name_table.txt+# /root/create_login_phone_table.sh > /​root/​login_phone_table.txt 
  
-# cat login_phone_cid_name_table.txt+# cat /​root/​login_phone_table.txt
 </​code><​code>​ </​code><​code>​
-user1 401 Ivan I. Ivanov +user1 401 tpassword401 ​Ivan I. Ivanov 
-user2 402 Petr P. Petrov +user2 402 tpassword402 ​Petr P. Petrov 
-user3 403 Sidor S. Sidorov+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>​ </​code><​code>​
-# /root/create_phones_conf.sh < mac_phone_secret_table.txt > /​etc/​asterisk/​phones.conf+#!/bin/sh
  
-# cat /​etc/​asterisk/​phones.conf+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>​ </​code><​code>​
-[401] +# /​root/​create_users_conf.sh < /​root/​login_phone_table.txt > /​etc/​asterisk/​users.conf
-secret = tpassword401 +
-type=user +
-... +
-</​code><​code>​ +
-# /​root/​create_users_conf.sh < login_phone_cid_name_table.txt > /​etc/​asterisk/​users.conf+
  
 # cat /​etc/​asterisk/​users.conf # cat /​etc/​asterisk/​users.conf
Line 104: Line 125:
 cid_number = 401 cid_number = 401
 fullname = Ivan I. Ivanov fullname = Ivan I. Ivanov
-type=peer+secret = tpassword401 
 +type=friend 
 +host=dynamic
 ... ...
 </​code><​code>​ </​code><​code>​
Line 115: Line 138:
  
 #include "/​etc/​asterisk/​users.conf"​ #include "/​etc/​asterisk/​users.conf"​
-#include "/etc/asterisk/​phones.conf"​+ 
 +[403] 
 +secret=tpassword403 
 +type=friend 
 +host=dynamic 
 +</code><​code>​ 
 +asterisk ​-x 'sip reload'​ 
 +# asterisk -x 'sip show users'
 </​code>​ </​code>​
 ===== 4. Настройка телефонного аппарата на номер использующего его сотрудника ===== ===== 4. Настройка телефонного аппарата на номер использующего его сотрудника =====
Line 133: 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 145: 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 154: Line 194:
 </​code>​ </​code>​
  
-==== 4.Определение на какой рабочей станции зарегистрировался пользователь ====+==== 4.Определение на какой рабочей станции зарегистрировался пользователь ====
  
   * [[Создание отказоустойчивых UNIX решений]] (Модуль 7.5, публичный каталог доступный на запись)   * [[Создание отказоустойчивых UNIX решений]] (Модуль 7.5, публичный каталог доступный на запись)
Line 162: 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 168: 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.Собираем все вместе ====
  
   * [[https://​youtu.be/​GxVmukxVUo0|Видеоурок:​ Программирование на sh]]   * [[https://​youtu.be/​GxVmukxVUo0|Видеоурок:​ Программирование на sh]]
Line 212: 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