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/30 14:33]
val
использование_телефонии_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 при телефонных вызовах
  
-<​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 66: 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 72: 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 101: 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 112: 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 130: 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 142: 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 151: Line 194:
 </​code>​ </​code>​
  
-==== 4.Определение на какой рабочей станции зарегистрировался пользователь ====+==== 4.Определение на какой рабочей станции зарегистрировался пользователь ====
  
   * [[Создание отказоустойчивых UNIX решений]] (Модуль 7.5, публичный каталог доступный на запись)   * [[Создание отказоустойчивых UNIX решений]] (Модуль 7.5, публичный каталог доступный на запись)
Line 159: 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 165: 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 209: 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.1490873580.txt.gz · Last modified: 2017/03/30 14:33 by val