This shows you the differences between two versions of the page.
организация_ip_телефонии_на_unix_asterisk [2012/10/30 16:20] val |
организация_ip_телефонии_на_unix_asterisk [2013/05/22 13:50] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Организация IP телефонии на UNIX Asterisk ====== | ||
- | |||
- | ===== Модуль 1. Начальная настройка стенда ===== | ||
- | |||
- | ==== IP ==== | ||
- | |||
- | [[настройка_стендов_слушателей#Настройка виртуальных систем Unix]] | ||
- | |||
- | ==== DNS ==== | ||
- | |||
- | [[Финальная настройка DNS сервера]] | ||
- | |||
- | ==== DHCP ==== | ||
- | |||
- | [[Сервис DHCP]] | ||
- | |||
- | ==== WinXP ==== | ||
- | <code> | ||
- | LAN0 - DHCP | ||
- | </code> | ||
- | |||
- | ===== Модуль 2. Теоретические основы телефонии ===== | ||
- | |||
- | ==== История и физические основы аналоговой телефонии ==== | ||
- | |||
- | * История развития ([[http://ru.wikipedia.org/wiki/Телефон]]) | ||
- | * Физические основы аналоговой передачи голоса ([[http://ru.wikipedia.org/wiki/Психоакустика]]) | ||
- | * Сигнализация в аналоговой телефонии ([[http://ru.wikipedia.org/wiki/Контроль_посылки_вызова]]) | ||
- | |||
- | ==== Технологии цифровой телефонии ==== | ||
- | |||
- | * Физические основы цифровой передачи голоса (Теорема Котельникова, Найквиста, Шеннона, [[http://ru.wikipedia.org/wiki/PCM]], [[http://ru.wikipedia.org/wiki/DS0]]) | ||
- | * Цифровые ATC и "последняя миля" ([[http://ru.wikipedia.org/wiki/Последняя_миля]], [[http://ru.wikipedia.org/wiki/Автоматическая_телефонная_станция]]) | ||
- | * Цифровые пользовательские каналы ISDN ([[http://ru.wikipedia.org/wiki/ISDN]]) | ||
- | * Универсальная сеть передачи данных ATM (http://ru.wikipedia.org/wiki/ATM]]) | ||
- | |||
- | ==== Технологии VoIP телефонии ==== | ||
- | |||
- | * Физические основы передачи голосового трафика в IP сетях ([[http://ru.wikipedia.org/wiki/VoIP]]) | ||
- | * Кодеки G.711, G.726, G.729, GSM-FR ([[http://ru.wikipedia.org/wiki/G.711]]) | ||
- | * Протоколы сигнализации VoIP SIP, H.323, IAX( [[http://ru.wikipedia.org/wiki/SIP]]) | ||
- | * VoIP операторы связи (Skype, Sipnet) | ||
- | |||
- | ==== Законопроекты ==== | ||
- | |||
- | [[http://www.komitet5.km.duma.gov.ru/site.xp/051055055.html]] | ||
- | |||
- | ===== Модуль 3. Настройка внутренней sip телефонии ===== | ||
- | |||
- | * Установка Asterisk, Настройка SIP каналов ([[Сервис Asterisk]]) | ||
- | * Подключение к SIP каналам soft телефонов([[X-Lite]], [[ZoIPer]]) | ||
- | * [[сервис_asterisk#Настройка простого диалплана]] | ||
- | * Использование SRV записей для поиска Proxy SIP ([[Сервис DNS]]) | ||
- | |||
- | ===== Модуль 4. Подключение к Asterisk SIP VoIP оборудования ===== | ||
- | |||
- | ==== Подготовка SIP каналов ==== | ||
- | |||
- | <code> | ||
- | server# cat sip.conf | ||
- | </code><code> | ||
- | ... | ||
- | [103] | ||
- | type=friend | ||
- | secret=tpassword3 | ||
- | ; callerid=Sidorov Sidor Sidorovitch <103> | ||
- | host=dynamic | ||
- | |||
- | [104] | ||
- | type=friend | ||
- | secret=tpassword4 | ||
- | ; callerid=Koshkin Vasiliy Myrkovitch <104> | ||
- | host=dynamic | ||
- | </code> | ||
- | |||
- | ==== Подготовка оборудования ==== | ||
- | |||
- | * SIP Phone Panasonic KX-UT1XX [[SIP Phone Panasonic KX-UT1XX#Восстановление фабричных настроек]] | ||
- | * Linksys SPA-3102 [[Linksys SPA-3102#Восстановление фабричных настроек]] | ||
- | * Cisco 7912 [[Cisco 7912#Восстановление фабричных настроек]] | ||
- | |||
- | ==== Использование Web интерфейса для настройки оборудования ==== | ||
- | |||
- | * SIP Phone Panasonic KX-UT1XX [[SIP Phone Panasonic KX-UT1XX#Включение WEB интерфейса]] | ||
- | * Linksys SPA-3102 [[Linksys SPA-3102#Включение WEB интерфейса на WAN интерфейсе]] | ||
- | |||
- | ==== Использование Provisioning для настройки оборудования ==== | ||
- | |||
- | * [[Сервис DHCP]] | ||
- | * [[Сервис ТFTP]] | ||
- | * Cisco 7912 [[Cisco 7912#Использование Provisioning для подключения к SIP каналу]] | ||
- | * [[Сервис HTTP#Установка и запуск сервера Apache]] | ||
- | * SIP Phone Panasonic KX-UT1XX [[SIP Phone Panasonic KX-UT1XX#Использование Provisioning для подключения к SIP каналу]] | ||
- | * Linksys SPA-3102 [[Linksys SPA-3102#Использование Provisioning]] | ||
- | |||
- | ===== Модуль 5. Организация телефонии между офисами предприятия ===== | ||
- | |||
- | * Настройка звонков в между офисом X и Y по IAX ([[сервис_asterisk#Подключение Asterisk к Asterisk через IAX]]) | ||
- | |||
- | ===== Модуль 6. Подключение Asterisk к телефонной сети ===== | ||
- | |||
- | ==== Использование VoIP провайдеров для исходящих звонков в телефонную сеть ==== | ||
- | |||
- | * Подключение к SIP VOIP ([[Сервис Asterisk#Подключение к SIP VOIP на примере SIPNET]]) | ||
- | |||
- | === Настройки системы слушателя === | ||
- | <code> | ||
- | server# cat sip.conf | ||
- | </code><code> | ||
- | ... | ||
- | [voip1] | ||
- | type=peer | ||
- | secret=spasswordX | ||
- | defaultuser=corpX | ||
- | host=isp.un | ||
- | fromdomain=isp.un | ||
- | fromuser=corpX | ||
- | </code><code> | ||
- | server# cat extensions.conf | ||
- | </code><code> | ||
- | ... | ||
- | exten => _8XXXXXXXXXX,1,Dial(SIP/voip1/${EXTEN}) | ||
- | </code> | ||
- | |||
- | === Настройки системы преподавателя === | ||
- | |||
- | <code> | ||
- | root@asterisk.isp.un:~# cat sip.conf | ||
- | </code><code> | ||
- | ... | ||
- | [corp1] | ||
- | type=user | ||
- | secret=spassword1 | ||
- | host=dynamic | ||
- | context=voip | ||
- | ... | ||
- | [corp6] | ||
- | type=user | ||
- | secret=spassword6 | ||
- | host=dynamic | ||
- | context=voip | ||
- | </code><code> | ||
- | root@asterisk.isp.un:~# cat /etc/asterisk/extensions.conf | ||
- | </code><code> | ||
- | ... | ||
- | [voip] | ||
- | exten => _8XXXXXXXXXX,1,SIP/sipnet/${EXTEN}) | ||
- | </code> | ||
- | |||
- | ==== Использование VoIP провайдеров для получения входящих звонков из телефонной сети ==== | ||
- | |||
- | === Настройки системы слушателя === | ||
- | <code> | ||
- | server# cat sip.conf | ||
- | </code><code> | ||
- | [general] | ||
- | ... | ||
- | register => corpX:spasswordX@isp.un/voip1 | ||
- | ... | ||
- | [voip1] | ||
- | type=friend | ||
- | ... | ||
- | </code><code> | ||
- | server# cat extensions.conf | ||
- | </code><code> | ||
- | ... | ||
- | exten => voip1,1,Dial(SIP/101&SIP/102&SIP/103&SIP/104) | ||
- | </code> | ||
- | |||
- | === Настройки системы преподавателя === | ||
- | <code> | ||
- | server# cat sip.conf | ||
- | </code><code> | ||
- | ... | ||
- | [corp1] | ||
- | type=friend | ||
- | fromuser=corp1 | ||
- | ... | ||
- | [corp6] | ||
- | type=friend | ||
- | fromuser=corp6 | ||
- | ... | ||
- | </code><code> | ||
- | server# cat extensions.conf | ||
- | </code><code> | ||
- | ... | ||
- | [office] | ||
- | ... | ||
- | exten => _80X,1,Dial(SIP/corp${EXTEN:2}) | ||
- | exten => sipnet,1,Dial(SIP/corp1&SIP/corp2&SIP/corp3&SIP/corp4&SIP/corp5&SIP/corp6) | ||
- | ... | ||
- | </code> | ||
- | |||
- | ==== Использование аналоговых телефонных линий для связи с телефонной сетью ==== | ||
- | |||
- | [[http://ru.wikipedia.org/wiki/Эрланг]] | ||
- | |||
- | === Настройка SIP канала === | ||
- | |||
- | <code> | ||
- | server# cat sip.conf | ||
- | </code><code> | ||
- | ... | ||
- | [co1] ; lynksys 3102 fxo | ||
- | type=friend | ||
- | secret=cpassword1 | ||
- | host=dynamic | ||
- | </code> | ||
- | |||
- | === Настройка диалплана для звонков в и/или из PSTN === | ||
- | |||
- | <code> | ||
- | server# cat extensions.conf | ||
- | </code><code> | ||
- | ... | ||
- | exten => _8XXXXXXXXXX,1,Dial(SIP/voip1/${EXTEN}) | ||
- | exten => _8XXXXXXXXXX,n,Dial(SIP/co1/${EXTEN:10}) | ||
- | ... | ||
- | exten => co1,1,Dial(SIP/101&SIP/102&SIP/103&SIP/104) | ||
- | </code> | ||
- | |||
- | === Настройка PSTN Line, VoIP шлюза и параметров линии === | ||
- | |||
- | [[Linksys SPA-3102#Настройка PSTN Line]] | ||
- | |||
- | === Настройки системы преподавателя === | ||
- | <code> | ||
- | asterisk.isp.un# cat extensions.conf | ||
- | </code><code> | ||
- | [office] | ||
- | .. | ||
- | exten => _70X,1,Dial(SIP/co1/${EXTEN:2}) | ||
- | ... | ||
- | [voip] | ||
- | ;exten => _8XXXXXXXXXX,1,Dial(SIP/co1/${EXTEN:10}) | ||
- | |||
- | ;exten => _8XXXXXXXXXX,1,SIP/sipnet/${EXTEN}) | ||
- | </code> | ||
- | |||
- | ===== Модуль 7. Безопасность Asterisk ===== | ||
- | |||
- | ==== Подключение к Asterisk Inernet пользователей ==== | ||
- | |||
- | * Для подключения используется канал 202 | ||
- | * Для экономии трафика используем кодек с меньшей полосой (не забыть указать в клиенте) | ||
- | |||
- | <code> | ||
- | server# cat sip.conf | ||
- | </code><code> | ||
- | ... | ||
- | [202] | ||
- | ... | ||
- | disallow=all | ||
- | allow=gsm | ||
- | ... | ||
- | </code> | ||
- | |||
- | ==== Управление контекстами ==== | ||
- | <code> | ||
- | server# cat sip.conf | ||
- | </code><code> | ||
- | [general] | ||
- | ... | ||
- | context=from-office | ||
- | ... | ||
- | [102] | ||
- | ... | ||
- | context=from-internet | ||
- | ... | ||
- | [co1] | ||
- | ... | ||
- | context=incoming | ||
- | ... | ||
- | [voip1] | ||
- | ... | ||
- | context=incoming | ||
- | ... | ||
- | </code><code> | ||
- | server# cat iax.conf | ||
- | </code><code> | ||
- | ... | ||
- | [corpY] | ||
- | ... | ||
- | type=user | ||
- | ... | ||
- | context=from-corp | ||
- | ... | ||
- | </code><code> | ||
- | server# cat extensions.conf | ||
- | </code><code> | ||
- | ... | ||
- | [from-office] | ||
- | include => to-office | ||
- | include => to-corp | ||
- | include => to-pstn | ||
- | |||
- | [from-internet] | ||
- | include => to-office | ||
- | include => to-corp | ||
- | |||
- | [from-corp] | ||
- | include => to-office | ||
- | |||
- | [to-office] | ||
- | exten => 301 ... | ||
- | |||
- | exten => _1XX,1,Dial(SIP/${EXTEN}) | ||
- | |||
- | [to-corp] | ||
- | exten => _0Y1XX,1,Set(CALLERID(num)=0X${CALLERID(num)}) | ||
- | exten => _0Y1XX,n,Dial(IAX2/corpY/${EXTEN:2}) | ||
- | |||
- | [to-pstn] | ||
- | exten => _8XXXXXXXXXX,1,Dial(SIP/voip1/${EXTEN}) | ||
- | exten => _8XXXXXXXXXX,n,Dial(SIP/co1/${EXTEN:10}) | ||
- | |||
- | [incoming] | ||
- | exten => co1,1,Dial(SIP/101&SIP/102&SIP/103&SIP/104) | ||
- | exten => voip1,1,Dial(SIP/101&SIP/102&SIP/103&SIP/104) | ||
- | </code> | ||
- | |||
- | ===== Модуль 8. Прохождение голосового трафика через препятствия (Firewall/NAT) ===== | ||
- | |||
- | ==== Сценарий: SIP клиент за NAT, SIP сервер в публичной сети ==== | ||
- | |||
- | === Подготовка стенда стенда ==== | ||
- | |||
- | * Отключаем маршруты в сети слушателей | ||
- | * Настраиваем NAT ([[Сервис NAT#Трансляция на основе адреса отправителя]]) | ||
- | |||
- | === Настройка SIP Proxy (Asterisk преподавателя) === | ||
- | |||
- | <code> | ||
- | server# cat sip.conf | ||
- | </code><code> | ||
- | ... | ||
- | [corp1] | ||
- | ... | ||
- | nat=yes | ||
- | qualify=yes | ||
- | canreinvite=no | ||
- | ... | ||
- | [corp6] | ||
- | ... | ||
- | nat=yes | ||
- | qualify=yes | ||
- | canreinvite=no | ||
- | ... | ||
- | </code> | ||
- | |||
- | === Настройка SIP Client (Asterisk системы студента) === | ||
- | |||
- | <code> | ||
- | server# cat sip.conf | ||
- | </code><code> | ||
- | [general] | ||
- | ... | ||
- | localnet=192.168.X.0/255.255.255.0 | ||
- | externip=172.16.1.X | ||
- | defaultexpiry=60 | ||
- | ... | ||
- | [voip1] | ||
- | ... | ||
- | canreinvite=no | ||
- | ... | ||
- | </code> | ||
- | |||
- | ==== Сценарий: Asterisk сервер за NAT ==== | ||
- | |||
- | * Настраиваем DNS View ([[Финальная настройка DNS сервера]]) | ||
- | * [[Сервис NAT#Трансляция портов сервисов]] | ||
- | |||
- | === Подключение SIP клиентов === | ||
- | |||
- | <code> | ||
- | server# cat sip.conf | ||
- | </code><code> | ||
- | ... | ||
- | [202] | ||
- | ... | ||
- | nat=yes | ||
- | canreinvite=no | ||
- | qualify=yes | ||
- | ... | ||
- | </code> | ||
- | |||
- | === Подключение Asterisk к Asterisk === | ||
- | |||
- | * Достаточно перезапустить сервисы Asterisk для вступления в силу новых параметров DNS | ||
- | |||
- | ===== Модуль 9. Настройка сервисов корпоративной телефонии ===== | ||
- | |||
- | [[Сервис Asterisk#Настройка сервисов корпоративной телефонии]] | ||
- | |||
- | ===== Модуль 10. Организация Call центра ===== | ||
- | |||
- | [[Сервис Asterisk#Организация Call центра]] | ||
- | |||
- | ====== Подготовка класса ====== | ||
- | |||
- | ===== Список оборудования ===== | ||
- | |||
- | - Отвертка крестовая - 1шт | ||
- | - Лестница стремянка - 1шт | ||
- | - Windows XP с драйверами аудио, видео, rtl8139, плюс все остальное - 13шт | ||
- | - Удлинители электрические - 4шт | ||
- | - Телефонные аппараты аналоговые - 6шт | ||
- | - Телефон Cisco 7912 - 1шт | ||
- | - Телефон Panasonic KX-UT1XX - 6шт | ||
- | - Голосовые шлюзы Linksys 3102 - 7шт | ||
- | - Гарнитуры проводные - 6шт | ||
- | - Коммутатор Cisco Catalyst 2950 - 1шт | ||
- | - Офисная АТС - 1шт | ||
- | - Сетевые карты - 6шт | ||
- | - Планшет - 1шт | ||
- | - Микрофон - 1шт | ||
- | - Колонки - 1шт | ||
- | |||
- | ===== Процедура подготовки ===== | ||
- | |||
- | ==== 3 часа, за 2-3 дня до начала занятий ==== | ||
- | |||
- | - Настроить Cisco Catalyst 2950 (telnet, portfast) | ||
- | - Заменить коммутатор класса на Cisco Catalyst 2950 | ||
- | - Установить коммутатор HP ProCurve, соединить транком с cisco | ||
- | - Переписать розетки | ||
- | - Отключить лишние кабели от рабочих станций и коммутатора | ||
- | - Протестировать сеть | ||
- | - Переключить кабели рабочих станций на резервные порты | ||
- | - Протестировать сеть | ||
- | - Голосовые шлюзы Linksys 3102 - сбросить, включить web на wan, настроить bridge | ||
- | ==== Письмо инженерам ==== | ||
- | |||
- | Здравствуйте. | ||
- | |||
- | Для проведения занятий по курсу "Астериск" в понедельник 5-го марта РАНО утром в аудитории №9 понадобится: | ||
- | |||
- | Рабочие станции (те что у стен обязательно c PCI разъемом) разлитые из образа, который я сделал 18.06.12 в количестве равном кол-ву слушателей, плюс преподская плюс две запасные. Рабочие станции должны стоять по парно, 4 в ряд. | ||
- | |||
- | Еще понадобится: | ||
- | |||
- | * Отвертка крестовая - 1шт | ||
- | * Лестница стремянка - 1шт | ||
- | * Патч корды: 6 для дополнительного подключения рабочих станций, 6 коротких, для подключения кросс панели | ||
- | * Удлинители электрические - 3шт | ||
- | * Гарнитуры проводные - 6шт | ||
- | * Микрофон - 1шт | ||
- | * Колонки - 1шт | ||
- | |||
- | ==== 3 часа утром, в 1-й день перед началом занятий ==== | ||
- | |||
- | - Установить вторые сетевые карты | ||
- | - Установить офисную АТС | ||
- | - Установить Голосовые шлюзы Linksys 3102 на столах с Windows системами | ||
- | - Установить аналоговые телефоны и проверить работу офисной АТС | ||
- | - Подключить проводные гарнитуры к Windows системам и проверить их исправность | ||
- | |||
- | ==== 2 часа утром, во 2-й день перед началом занятий ==== | ||
- | |||
- | - Установить сип телефоны | ||
- | - Сбросит настройки сип телефонов | ||
- | - Проверить работу с сипнет провайдером | ||
- | |||
- | ==== Каждое утро/вечер ==== | ||
- | <code> | ||
- | !---------------------------------------------- | ||
- | |||
- | interface FastEthernet0/8 | ||
- | switchport access vlan 101 | ||
- | ! | ||
- | interface FastEthernet0/3 | ||
- | switchport access vlan 101 | ||
- | ! | ||
- | interface FastEthernet0/6 | ||
- | switchport access vlan 102 | ||
- | ! | ||
- | interface FastEthernet0/7 | ||
- | switchport access vlan 102 | ||
- | ! | ||
- | interface FastEthernet0/10 | ||
- | switchport access vlan 103 | ||
- | ! | ||
- | interface FastEthernet0/11 | ||
- | switchport access vlan 103 | ||
- | ! | ||
- | interface FastEthernet0/14 | ||
- | switchport access vlan 104 | ||
- | ! | ||
- | interface FastEthernet0/15 | ||
- | switchport access vlan 104 | ||
- | ! | ||
- | interface FastEthernet0/18 | ||
- | switchport access vlan 105 | ||
- | ! | ||
- | interface FastEthernet0/19 | ||
- | switchport access vlan 105 | ||
- | ! | ||
- | interface FastEthernet0/20 | ||
- | switchport trunk encapsulation dot1q | ||
- | switchport mode trunk | ||
- | ! | ||
- | interface FastEthernet0/22 | ||
- | switchport access vlan 106 | ||
- | ! | ||
- | interface FastEthernet0/23 | ||
- | switchport access vlan 106 | ||
- | |||
- | !---------------------------------------------- | ||
- | |||
- | interface FastEthernet0/8 | ||
- | switchport access vlan 1 | ||
- | ! | ||
- | interface FastEthernet0/3 | ||
- | switchport access vlan 1 | ||
- | ! | ||
- | interface FastEthernet0/6 | ||
- | switchport access vlan 1 | ||
- | ! | ||
- | interface FastEthernet0/7 | ||
- | switchport access vlan 1 | ||
- | ! | ||
- | interface FastEthernet0/10 | ||
- | switchport access vlan 1 | ||
- | ! | ||
- | interface FastEthernet0/11 | ||
- | switchport access vlan 1 | ||
- | ! | ||
- | interface FastEthernet0/14 | ||
- | switchport access vlan 1 | ||
- | ! | ||
- | interface FastEthernet0/15 | ||
- | switchport access vlan 1 | ||
- | ! | ||
- | interface FastEthernet0/18 | ||
- | switchport access vlan 1 | ||
- | ! | ||
- | interface FastEthernet0/19 | ||
- | switchport access vlan 1 | ||
- | ! | ||
- | interface FastEthernet0/22 | ||
- | switchport access vlan 1 | ||
- | ! | ||
- | interface FastEthernet0/23 | ||
- | switchport access vlan 1 | ||
- | |||
- | !---------------------------------------------- | ||
- | </code> |