This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
использование_телефонии_asterisk_с_microsoft_ad [2017/03/30 14:39] val [3. Интеграция телефонии с LDAP каталогом предприятия] |
использование_телефонии_asterisk_с_microsoft_ad [2017/03/30 17:11] val [Копирование всей, необходимой для телефонии информации из LDAP в текстовый файл] |
||
---|---|---|---|
Line 48: | Line 48: | ||
**Техническое задание**: использовать 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 59: | ||
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 83: | ||
==== Размещение адресной книги в формате 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 100: | ||
==== Создание файла 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 113: | ||
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 127: | ||
... | ... | ||
</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 160: | ||
<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.corpX.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 182: | ||
* * * * * /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 191: | ||
</code> | </code> | ||
- | ==== 4.2 Определение на какой рабочей станции зарегистрировался пользователь ==== | + | ==== 4.3 Определение на какой рабочей станции зарегистрировался пользователь ==== |
* [[Создание отказоустойчивых UNIX решений]] (Модуль 7.5, публичный каталог доступный на запись) | * [[Создание отказоустойчивых UNIX решений]] (Модуль 7.5, публичный каталог доступный на запись) | ||
Line 180: | Line 199: | ||
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 205: | ||
<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 261: | ||
defaultuser=$defaultuser | defaultuser=$defaultuser | ||
secret=$secret | secret=$secret | ||
- | host=gate.corp13.un | + | host=gate.corp6.un |
insecure=invite | insecure=invite | ||
callbackextension=sipproxy | callbackextension=sipproxy |