Построение телефонной сети малого предприятия на программной АТС "Asterisc"
Внедрение новых телекоммуникаций в нашу жизнь. Серверное оборудование и окружение. Основное оборудование для телефонии. Настройка "Asterisk" под конкретную ситуацию. Прохождение вызовов и схема сети. Определение эффективности внедрения "Asterisk".
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 17.01.2013 |
Размер файла | 2,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Оглавление
Введение
«Астериск - будущее телефонии»
Серверное оборудование
Окружение
Оборудование для телефонии
Практическая часть. Реализация
Конфигурационные файлы
Sip.conf
Extensions.conf
Iax.conf
Datacard.conf
Настройка Астериска под конкретную ситуацию.
Прохождение вызовов через астериск.
Схема сети
Эффективность внедрения Asterisk
Заключение
Список литературы
Введение
В настоящее время телекоммуникационные технологии находятся на столь высоком уровне развития, что внедряются абсолютно в любые устройства, начиная от простейших компьютерных модемов, обеспечивающих выход в сеть Интернет, и заканчивая системами удаленного управления автомобилями или бытовой техникой, реализуемые при помощи сотовых телефонов - смартфонов. На фоне бурного внедрения телекоммуникаций в нашу жизнь, изменениям подвергаются основы основ любых видов связи - телефонные сети, совершенствуются пути выхода к ним, методы и системы проектирования АТС, обеспечивающие доступ всем абонентам к услугам связи.
Особенно интересно рассмотреть возможности проектирования и создания АТС, используемые повсеместно в самых разных компаниях - начиная от мини-АТС, к услугам которых прибегают небольшие компании, старт-апы, заканчивая мощными коммуникационными структурами, приходящими на помощь национальным и международным организациям, офисы которых располагаются на большом отдалении друг от друга.
В данном курсовом проекте рассмотрена ситуация построения телефонной сети для предприятия малого бизнеса с использованием программной АТС «Asterisk». Здесь отражена идея построения такой сети без использования дорогого коммутационного оборудования. За этим выбором стоит идея создания мини-АТС без существенных затрат на лицензионное, платное ПО, и возможность использования любого вида оконечных устройств, не привязываясь к конкретным производителям-монополистам, чье оборудование работает лишь с разработанными ими программами.
В этой работе описываются способы настройки телефонного сервера таким образом, чтобы дать возможность работникам совершать звонки как внутри одного офиса, так и между разными офисами, а также описывается метод выхода во внешнюю (мобильную) сеть с использованием 3G-модемов, что делает функционал АТС завершенным и готовым к использованию.
«Астериск - будущее телефонии»
«Никогда за всю историю телекоммуникаций не существовало системы, настолько отвечающей нуждам бизнеса в любой ценовой категории. Asterisk - технология, предоставляющая новые возможности. Скоро вряд ли можно будет найти предприятие, на котором не использовалась бы хоть одна из версий Asterisk, хотя бы отчасти, где-то в сети, для решения проблем, которые способна разрешить только Asterisk.
Одна из неоспоримо сильных сторон системы телефонии Asterisk - сообщество энтузиастов, разработавших и поддерживающих его, руководит которым Марк Спенсер, основатель компании Digium. Сообщество остро осознает культурную значимость Asterisk и с упоением смотрит в будущее.»[1]
И действительно, если задаться целью найти информацию об этой технологии, то результат Вас может удивить. Огромное количество людей обсуждают и используют этот программный продукт, применяю к нему различное дополнительное оборудование, решая этим самые различные проблемы по части телефонной связи. В сети имеются специальные сайты, форумы, как на английском, так и на русском языках, которые посвящены вопросам настройки и обслуживания серверов с Астериском.
Серверное оборудование
Как уже говорилось Астериск - программный продукт, работающий под средой Linux, воплощающий собой телефонную станцию. Данная телефонная станция имеет в себе множество различных функций, дабы обеспечить гибкость настройки под любые нужды пользователя.
Отсюда следует то, что необходимость в дорогом коммутационном оборудовании отпадает, так как для Астериска достаточно отвести простой компьютер на стандартной архитектуре х86. А вот какой по производительности компьютер следует выбрать необходимо решить руководствуясь таблицей 1.
Таблица 1.[1]
Назначение |
Количество каналов |
Рекомендуемые минимальные параметры компьютера |
|
Любительская система |
Не более 5 |
ЦП 400 МГц, 256 Мб оперативной памяти |
|
SOHO-система (малый офис и дом - менее трех линий связи и пяти телефонных аппаратов) |
От 5 до 10 |
ЦП 1 ГГц, 512 Мб оперативной памяти |
|
Малая бизнес-система |
До 25 |
ЦП 3 ГГц, 1 Гб оперативной памяти |
|
Средняя и большая бизнес-система |
Более 25 |
Два ЦП, возможно так же несколько серверов распределенной архитектуре |
Из приведенных в таблице данных видно, что в наше время потребности даже средней бизнес-системы может удовлетворить обычный пользовательский компьютер, обычно имеющий двуядерный ЦП, по 2 ГГц на ядро минимум, и 2-3 Гб оперативной памяти, что еще раз доказывает всю прелесть и универсальность Астериска.
Для больших предприятий все равно лучше распределять нагрузку между несколькими выделенными серверами. Это обеспечит возможность разделение функциональных возможностей Астериска. Например, один сервер будет выполнять обслуживание вызовов; другие будут обслуживать периферийное оборудование (системы баз данных, системы голосовой почты, веб-интерфейс и т.д.). Астериск с ростом предъявляемых к нему требований может расширяться. Именно гибкость является главной причиной, по которой Астериск еще долго будет являться рентабельным для быстро растущего бизнеса. Для такой системы не существует ни минимального, ни максимального размера, который следует учитывать при вводе такой системы в эксплуатацию. Система масштабируется так же легко, как поменять количество оперативной памяти в компьютере или докупить еще один.
В книге [1] есть целая глава, посвященная выбору серверного оборудования под строящуюся систему, но здесь она рассматриваться не будет, так как для системы, которая построена в данном проекте достаточно обычного компьютера.
Окружение
Естественно, что в дополнение к имеющимся серверам необходимо обеспечить соответствующее окружение. А именно необходимо учесть аспекты, связанные с электропитанием: сюда входит обеспечение подачи качественной электрической энергии путем установления хорошего источника питания; должна быть правильно заземленная отвечающая стандартам электрическая сеть, что дает гарантию качественного опорного сигнала «логическая земля» (то есть 0В). Все вместе гарантирует минимальный электрический шум на системной плате наших серверов. К окружению еще можно отнести и ИСП (источники бесперебойного питания), так как никто не застрахован от отключения подачи электроэнергии. ИСП также выполняет функции фильтра, так как имеет в своем составе стабилизатор напряжения, который дополнительно устраняет электрический шум.
Не стоит забывать и про обеспечения нормальных «погодных условий» в серверной. К этим условиям относится поддержание нужной влажности и температуры, избавление от накапливающейся пыли, так как она может служить источником короткого замыкания и т.д. Все эти условия не новы и относятся скорее к общим правилам использования электроустановок.
Оборудование для телефонии
Астериск поддерживает соединение с различными сетями, но для этого ему необходимо дополнительное аппаратное оборудование.
Для связи с PSTN могут использоваться аналоговые платы с портами FXO или цифровые интерфейсные платы, обеспечивающие соединение с такими цифровыми потоками как Е1 или Т1. Также имеются так называемые банки каналов, которые позволяют разделять цифровую линию на несколько аналоговых каналов.
К дополнительному оборудованию также можно отнести различные VoIP шлюзы, позволяющие подключать к Астериску обычные аналоговые телефоны, а также VoIP-GSM шлюзы, организующие связь сервера с мобильной сетью.
Такое дополнительное оборудование, практически на любой вкус, производится компанией Digium, под чьим руководством создается и развивается Астериск. Данное оборудование представляет собой оптимальный вариант по соотношению цена\качество, так как априори разрабатывалось для совместного использования с АТС Астериск.
В курсовом проекте не акцентируется внимание на виде или марке оконечных устройств, будь то аналоговые, цифровые телефоны или программно реализованные телефоны - софтфоны. Настройка сети для подключения любого из устройств не представляет собой больших трудностей, что, безусловно, является важным положительным моментом при выборе АТС Астериск.
Практическая часть
Реализация
В данной части работы рассматривается непосредственно построение телефонной сети небольшой фирмы. В частности идет речь о настройке конфигурационных файлов Астериска, о которых будет рассказано далее, так как именно этот пункт представляет собой основную «сложность». Сложность взята в кавычки потому, что для человека, не раз настраивавшего Астериск под разные нужды, не составит труда настроить еще один.
Итак, настройка Астериска, как телефонной станции, строится на изменении содержания определенных файлов, называемых конфигурационными файлами, которые отвечают за те или иные функции Астериска.
asterisk телекоммуникация телефония сеть
Конфигурационные файлы
Собственно, конфигурационные файлы - это файлы с разрешением «conf», которые располагаются в /etc/asterisk/. Эти файлы содержат в себе различные команды. Например, команда «tcpenable=yes» разрешает использовать стек протоколов TCP/IP для передачи информации Астериску. Каждый конфигурационный файл отвечает за определенную функциональную возможность Астериска.
Sip.conf
Файл «sip.conf» отвечает за конфигурацию протокола SIP. В этом файле содержатся команды разрешающие или запрещающие Астериску использовать определенный транспорт в сети, порт, кодеки и т.д. Так же в этом файле создается учетная запись пользователя, который будет подключен по SIP протоколу. Здесь задается его имя, пароль, тип, кодеки, которые он может использовать для разговора и много чего еще. Так как сейчас в основном все ip и программные телефоны используют SIP протокол, то этот файл используется в большинстве случаев и является основным для настройки.
Extensions.conf
Далее по списку и по значимости идет файл «extensions.conf». Именно этот файл является «Моисеем» для вызовов, так как он производит их маршрутизацию. Здесь описывается, как и куда перенаправить вызов, поступивший на Астериск. Этот файл содержит в себе не только правила маршрутизации вызовов, но и порядок их обработки. Например, здесь может быть описано проигрывание звукового меню, которое приветствует Вас и предлагает набрать различные добавочные номера, чтобы вы попали сразу туда, куда желаете.
В том файле описывается так называемый Dialplan. По-русски это просто план обработки поступающих на Астериск вызовов. Весь файл подразделяется на контексты. Это отдельные независимые части диалплана, которые позволяют разделять вызовы по группам. Каждому пользователю в фале «sip.conf» присваивается контекст в диалплане, по которому будут перенаправляться вызовы к нему и от него. Тем самым можно огранивать пользователей от вызовов разных групп. Например, можно ограничить группу лиц, которым доступна линия междугородней связи, или сделать так, что директору предприятия можно позвонить только через секретаря.
Эти два файла являются основными, и их порой бывает достаточно.
Iax.conf
Следующий файл, который понадобиться для реализации задуманного, это «iax.conf».
Этот файл содержит команды, согласно которым один сервер с Астериском связывается с другим сервером с Астериском по протоколу IAX2. Собственно, IAX2 это протокол, который был специально разработан для соединения Астерисков. Этот файл прост в настройке и содержит в себе следующие данные: кодеки, которые разрешается использовать для разговора через данный протокол, адрес второго сервера с астериском, авторизационные данные, с помощью которых на данном сервере можно авторизоваться. Далее, конфигурация этого файла будет представлена, и станет более понятно что и как.
В реализации рассматриваемой сети, предполагается такая функциональная возможность, как выход во внешнюю сеть, а в частности сеть GSM. То есть стоит задача в реализации VoIP-GSM шлюза. Было решено, что для этой цели будут служить обычные 3G модемы мобильных операторов, которые предлагаются ими для подключения к сети интернет. Но эти модемы несут в себе куда больший функционал. У них есть возможность передачи sms, а так же голоса по каналам GSM, что в нашем случае очень важно. Эти функции (передача голоса и смс) часто бывают заблокированы сотовым оператором, чтобы человек использовал модем только для интернета, как это изначально и предполагается. Также, все сотовые операторы блокируют использование сим-карт других операторов. Эти проблемы решаемы, но здесь решения описаны не будут, так как эта уже другая тема и применяемый в данной работе модем уже разблокирован.
Datacard.conf
Чтобы подключить модем к астериску необходимо использовать один из каналов, по которому будут передаваться данные между Астериском и модемом. Без этого канала Астериск даже не увидит модем. Из всех предлагаемых каналов был выбран канал под названием «datacard». Причина выбора такова: просто был первым из всех найден в сети, а также без проблем скачан и установлен как дополнительный пакет к Астериску.
После установки канала «Datacard» у Вас в распоряжении появляется конфигурационный файл «datacard.conf». Данный файл описывает отношения между Астериском и модемом. В частности, в этом файле задан серийный порт в который включен модем (чтобы астериск знал, где его искать), уровни громкости, и самое главное контекст в диалплане для маршрутизации вызовов. В качестве серийного порта выступает порт USB.
Настройка Астериска под конкретную ситуацию
Теперь рассмотрим конкретно заданную ситуацию. Например, имеется два офиса, находящихся в разных зданиях. Здания могут находиться как рядом друг с другом, так и в двух противоположных точках земного шара. Этот пункт повлияет только на то, будет ли нужен выход в интернет для связи между астерисками, или достаточно будет объединить две сети этих зданий, например, маршрутизатором, если бы они находились рядом.
Предположим, что два офиса находятся рядом. В каждом офисе стоит свой сервер с Астериском, дабы разделить нагрузку двух этих офисов. В каждом офисе имеется некое количество работников, которые желают общаться между собой по телефону. Все они разбиты по группам в разные кабинету. Например, в первом здании есть кабинет бухгалтеров, кабинет менеджеров, кабинет директора с секретарем, пункт охраны и вахта. Во втором здании имеется кабинет технической поддержки, и кабинет системных администраторов.
Теперь необходимо посчитать количество телефонов, чтобы создать нужное число пользователей Астериска. Все эти пользователи прописываются в файле «sip.conf».
[basic-options](!) - шаблон базовых опций;
dtmfmode=rfc2833 - задаем способ передачи DTMF сигналов;
context=incoming-sip - задаем контекст диалплана для маршрутизации;
type=friend - задаем тип пользователя;
host=dynamic - задаем тип хоста;
[my-codecs](!) - шаблон используемых кодков;
disallow=all -запрещаем все
allow=gsm разрешаем кодек;
allow=g729
allow=g723
allow=ulaw
[1101](my-codecs,basic-options) - описываем пользователей
secret=buhgalter1
[1102](my-codecs,basic-options)
scret=buhgalter2
[1103](my-codecs,basic-options)
secret=buhgalter3
[1201](my-codecs,basic-options)
secret=manager1
[1202](my-codecs,basic-options)
secret=manager2
[1203](my-codecs,basic-options)
secret=manager3
[1301](my-codecs,basic-options)
secret=ohrana
[1001](my-codecs,basic-options)
secret=vahta
[1401](my-codecs,basic-options)
secret=zam.directora
[1402](my-codecs,basic-options)
secret=director
В контексте «general» прописываются все необходимые настройки для возможности связи с Астериском через SIP протокол. В основном, эти настройки уже заданы изначально при установке астериска и в изменении не нуждаются. Во всяком случае, если Вам придется что-нибудь там изменить, то там имеются комментарии к командам, которые дадут Вам понять, что они означают. Здесь они описываться не будут.
Как видно из кода, синтаксис позволяет использование шаблонов. То есть мы можем написать какой-то набор команд, назвать их каким-то образом (например, [my-codecs]), а затем, поставив рядом восклицательный знак в круглых скобках, вот так (!), мы превращаем данный набор команд в шаблон, который потом легко использовать. Чтобы каждому пользователю не прописывать заново одни и те же команды, достаточно рядом с именем пользователя в круглых скобках указать через запятую имена шаблонов. Теперь в описании пользователя имеется только команда задания пароля - secret.
Для примера, было решено в первом здании создать записи для 10 пользователей телефонии. За каждым пользователем скрывается телефонный аппарат. Людей, естественно, может быть больше чем этих телефонов. Количество пользователей можно наращивать сколь угодно много, просто создавая еще один набор команд. В качестве имен в данном примере использованы номера, по которым будут дозваниваться до пользователей другие абоненты сети. Это сделано для удобства перенаправления в диалплане. Можно задавать различные имена, никак не связанные с номером телефона.
Итак, пользователи имеются, осталось настроить диалплан. Он настраивается путем добавления нужных команд в файл «extensions.conf».
[incoming-datacard]
exten => s,1,Answer()
exten => s,n,Background(/home/company2)
exten => s,n,WaitExten()
exten => _11XX,1,Dial(SIP/1101&SIP/1102&SIP/1103)
exten => _11XX,n,Hangup()
exten => _12XX,1,Dial(SIP/1201&SIP/1202&SIP/1203)
exten => _12XX,n,Hangup()
exten => _13XX,1,Dial(SIP/1301&SIP/1302)
exten => _13XX,n,Hangup()
exten => _14XX,1,Dial(SIP/1401)
exten => _14XX,n,Hangup()
exten => i,1,Hangup()
exten => t,1,Hangup()
[incoming-sip]
exten => _8932XXXXXXX,1,Dial(Datacard/megafon/${EXTEN},60)
exten => _8922XXXXXXX,1,Dial(Datacard/megafon/${EXTEN},60)
exten => _8912XXXXXXX,1,Dial(Datacard/mts/${EXTEN},60)
exten => _8982XXXXXXX,1,Dial(Datacard/mts/${EXTEN},60)
exten => _8965XXXXXXX,1,Dial(Datacard/beeline/${EXTEN},60)
; локальные номера:
exten => _1XXX,1,Dial(SIP/${EXTEN},20)
exten => _1XXX,n,Hangup()
exten => _2XXX,1,Dial(IAX2/office1:pass4office1@office2/${EXTEN},20)
Теперь по порядку. Команда «еxten» это синтаксис добавочного номера (extension - числовой идентификатор, присвоенный линии, идущей к конкретному телефону). После нее идет знак => и далее номер или имя. Как видно выше, используется запись типа «_1ХХХ». Это означает что любые номера, начинающиеся на единицу и имеющие за собой, неважно какие, еще три цифры будут перенаправлены соответствующим пользователям.
Обратимся к локальным номерам. При поступлении на Астериск запроса номера, например, 1202, одного из менеджеров, как можно увидеть из конфигурации файла «sip.conf», Астериск выполняет команду запуска приложения Dial. Данное приложение устанавливает канал связи между звонящим пользователем и его адресатом. В приложении имеются протокол, по которому пойдем передача (в частности по этому протоколу Астериск узнает в каком файле искать пользователя), переменная ${EXTEN} (в эту переменную заносится запрашиваемый номер) и длительность ожидания ответа от адресата. Все это описывается строчкой:
exten => _1XXX,1,Dial(SIP/${EXTEN},20)
Далее идет команда разрыва канала, если разговор не состоялся, или состоялся и прекращен любым из разговаривавших абонентов. Это описывается строчкой:
exten => _1XXX,n,Hangup()
Приложение Hangup() отвечает за разрыв канала связи.
Теперь можно объяснить, почему для удобства пользователи названы соответствующими им номерами телефонов. Чтобы перенаправить вызов необходимо указать в приложении Диал протокол и имя пользователя. Если бы у нас номера телефонов и имена пользователей были различны, то пришлось бы прописывать большее количество информации. Работая только с номерами и переменной, мы умещаем часть диалплана всего в одну строчку кода.
В контексте «incoming-sip» у нас имеются еще пару непонятных строк.
exten => _8932XXXXXXX,1,Dial(Datacard/megafon/${EXTEN},60)
exten => _8922XXXXXXX,1,Dial(Datacard/megafon/${EXTEN},60)
exten => _8912XXXXXXX,1,Dial(Datacard/mts/${EXTEN},60)
exten => _8982XXXXXXX,1,Dial(Datacard/mts/${EXTEN},60)
exten => _8965XXXXXXX,1,Dial(Datacard/beeline/${EXTEN},60)
Эти команды позволяют пользователям внутренней телефонии звонить на мобильные телефоны различных операторов по протоколу Датакард. Синтаксис такой же, как и в предыдущем случае, только вместо пользователя указывается модем, содержащий сим-карту нужного оператора, чтобы вызов проходил в домашней сети оператора. Предполагается, что на сим-картах стоят тарифы, которые поддерживают бесплатные звонки в домашней сети оператора, и поэтому идет такое жесткое разграничение.
exten => _2XXX,1,Dial(IAX2/office1:pass4office1@office2/${EXTEN},20)
Здесь звонок идет по протоколу IAX2 на другой астериск. Как видно, тут достаточно просто задать такое условие: если первая цифра в добавочном номере двойка, то перенаправлять звонок на другой Астериск. В этом случае второй Астериск принимает звонок и смотрит в файл «iax.conf», какой указан контекст диалплана, согласно которому необходимо обслужить поступивший вызов.
На этом маршрутизация локальных вызовов заканчивается. Хотя здесь поле действий обширно. Можно сделать так, чтобы директору могли звонить только определенные пользователи и так далее. Как это сделать будет рассказано далее.
В заданном диалплане имеется еще один контекст, согласно которому обслуживаются вызовы, поступающие с мобильных телефонов на 3G модем. Это внешние входящие вызовы. Здесь все немного сложнее.
Люди, звонящие в компанию, не знают внутренней нумерации, и в этом им необходимо помочь, то есть перенаправить вызов кому следует. Заставлять заниматься этим отдельного человека, или отнимать рабочее время у уже занятого сотрудника не рентабельно. С этим может легко справиться заранее записанное голосовое меню.
exten => s,1,Answer()
exten => s,n,Background(/home/company2)
exten => s,n,WaitExten()
Эта часть кода отвечает за эту функцию. Сначала необходимо ответить на поступивший вызов. За это отвечает команда Answer(). Затем, следующим шагом, Астериск обрабатывает следующую команду - запускает приложение Background(/home/company2). Именно это приложение проигрывает записанное голосовое меню. Как видно из аргументов приложения (часть кода в скобках), оно проигрывает файл company2, который находится в папке /home/.
Следующая команда это выполнения приложения WaitExten(). Это приложение ожидает от пользователя ввода дополнительного номера. То есть после проигрывания голосового меню или во время проигрывания, адресант вводит дополнительный номер, сказанный ему в меню, чтобы попасть туда, куда он желает. Именно эти цифры ожидает приложение WaitExten().
После получения доп. Номера астериск приступает к следующим командам.
exten => _11XX,1,Dial(SIP/1101&SIP/1102&SIP/1103)
exten => _11XX,n,Hangup()
exten => _12XX,1,Dial(SIP/1201&SIP/1202&SIP/1203)
exten => _12XX,n,Hangup()
exten => _13XX,1,Dial(SIP/1301&SIP/1302)
exten => _13XX,n,Hangup()
exten => _14XX,1,Dial(SIP/1401)
exten => _14XX,n,Hangup()
Эти команды как раз отвечают за маршрутизацию звонков в кабинет, выбранный пользователем. Рассмотрим первые две строчки. При доп. номере 1102, Астериск запускает приложение Диал и устанавливает связь со всеми тремя пользователями, описанными в аргументах данного приложения. Адресант не знает к кому конкретно пройдет вызов (да ему это и не нужно знать), так как вызов идет одновременно на три телефона. Кто первым из пользователей возьмет трубку, с тем и установит канал Астериск, а два других телефона замолкнут.
Из последних двух строк видно, что директору напрямую позвонить нельзя. Директор занятой человек и его отвлекать по пустякам нежелательно. А если что-то важное, то секретарь обязательно ему об этом сообщит.
Можно было бы использовать другой синтаксис (использование условий Gotoif), но это усложнит код, да и в данной ситуации будет лишним.
Теперь пришло время детальнее рассмотреть настройку конфигурационных файлов «datacard.conf» и «iax.conf».
Первым рассмотрим детальнее файл «iax.conf». В этот файл астериск заглядывает когда ему поступает запрос от другого Астериска на регистрацию, и в том случае, когда поступает звонок с уже зарегистрировавшегося астериска.
[general]
disallow=all
allow=gsm
allow=g729
allow=ulaw
allow=alaw
bindaddr=0.0.0.0
autokill=yes
calltokenoptional=0.0.0.0/0.0.0.0
requirecalltoken=no
register => office1:pass4office1@192.168.1.136
[guest]
tupe=user
host=dynamic
[office2]
type=friend
host=dynamic
context=incoming-sip
auth=md5
username=office2
secret=pass4office2
Здесь так же, как и в SIP, задаются нужные кодеки и другие полезные команды. Главными строками в этом файле является строка - «register => office1:pass4office1@192.168.1.136», которая говорит, что регистрация этого Астериска происходит на другом Астериске по адресу 192.168.1.136, а авторизационные данные необходимо использовать такие: имя пользователя - office1, пароль - pass4office1. На втором астериске хранятся имя пользователя и пароль, чтобы он мог их сравнить с предоставленными и решить, разрешать регистрацию или нет.
[office2]
type=friend
host=dynamic
context=incoming-sip
auth=md5
username=office2
secret=pass4office2
Именно этот кусок кода иллюстрирует какие данные хранятся в одном Астериске о другом. Этот код лежит в конфигурационном файле первого Астериска. Когда ему поступает запрос на авторизацию от второго Астериска, он сравнивает авторизационные данные, с теми, которые имеются у него файле. Если имя пользователя и пароль совпадают, то он разрешает регистрацию.
В принципе, описание мало чем отличается от описания пользователя в файле «sip.conf».
Вторым на очереди из еще нетронутых конфигурационных файлов - «datacard.conf».
[general]
interval=15 ; Number of seconds between trying to connect to devices
[defaults](!)
context=incoming-datacard ; контекст для входящих вызовов
rxgain=3 ; повысить громкость входящих
txgain=3 ; повысить громкость исходящих
autodeletesms=yes ; автоматическое удаление входящих смс
resetdatacard=yes ; перезагрузить датакард во время инициализации модема
u2diag=0 ; set U2DIAG parameter (0 = отключает все функции кроме модема)
[megafon](defaults)
audio=/dev/ttyUSB1 ; tty порт для аудио соединений
data=/dev/ttyUSB2 ; tty порт AT команд
group=1 ; группа звонящих
[beeline](defaults)
audio=/dev/ttyUSB4
data=/dev/ttyUSB5
group=2
[mts](defaults)
audio=/dev/ttyUSB7
data=/dev/ttyUSB8
group=3
[motiv](defaults)
audio=/dev/ttyUSB10
data=/dev/ttyUSB11
group=4
Как видим, для каждого модема выделяется отдельная запись в этом файле. Для каждого модема задано имя в соответствии со стоящей в нем сим-картой оператора. Так же указано по какому порту передавать данные модему для разных типов соединений. Эта функция подразумевает принятие смс во время занятости канала разговором. Так же звонящим присваивается определенная группа согласно номеру на который они звонят.
Все конфигурационные файлы настроены и Астериск готов к приему и обработке вызовов.
Для второго Астериска настройка производится аналогичным образом. Можно просто скопировать конфигурационные файлы, а затем просто заменить имена пользователей и их пароли, и соответственно в диалплане изменить номера. В файле «iax.conf» тоже нужно переписать авторизационные данные.
Конфигурационные файлы Астериска, обслуживающего второй офис:
sip.conf
[basic-options](!) - шаблон базовых опций;
dtmfmode=rfc2833 - задаем способ передачи DTMF сигналов;
context=incoming-sip - задаем контекст диалплана для маршрутизации;
type=friend - задаем тип пользователя;
host=dynamic - задаем тип хоста;
[my-codecs](!) - шаблон используемых кодков;
disallow=all -запрещаем все
allow=gsm разрешаем кодек;
allow=g729
allow=g723
allow=ulaw
[2101](my-codecs,basic-options) - описываем пользователей
secret= tech1
[2102](my-codecs,basic-options)
scret= tech2
[2103](my-codecs,basic-options)
secret= tech3
[2104](my-codecs,basic-options)
secret=tech4
[2201](my-codecs,basic-options)
secret=admin1
[2202](my-codecs,basic-options)
secret=admin2
[2301](my-codecs,basic-options)
secret=stolovka
[2302](my-codecs,basic-options)
secret=otdih
extensions.conf
[incoming-datacard]
exten => s,1,Answer()
exten => s,n,Background(/home/company3)
exten => s,n,WaitExten()
exten => _21XX,1,Dial(SIP/2101&SIP/2102&SIP/2103&SIP/2104)
exten => _21XX,n,Hangup()
exten => i,1,Hangup()
exten => t,1,Hangup()
[incoming-sip]
exten => _8932XXXXXXX,1,Dial(Datacard/megafon/${EXTEN},60)
exten => _8922XXXXXXX,1,Dial(Datacard/megafon/${EXTEN},60)
exten => _8912XXXXXXX,1,Dial(Datacard/mts/${EXTEN},60)
exten => _8982XXXXXXX,1,Dial(Datacard/mts/${EXTEN},60)
exten => _8965XXXXXXX,1,Dial(Datacard/beeline/${EXTEN},60)
; локальные номера:
exten => _2XXX,1,Dial(SIP/${EXTEN},20)
exten => _2XXX,n,Hangup()
exten => _1XXX,1,Dial(IAX2/office2:pass4office2@office1/${EXTEN},20)
iax.conf
[general]
disallow=all
allow=gsm
allow=g729
allow=ulaw
allow=alaw
bindaddr=0.0.0.0
autokill=yes
calltokenoptional=0.0.0.0/0.0.0.0
requirecalltoken=no
register => office2:pass4office2@192.168.1.103
[guest]
tupe=user
host=dynamic
[office1]
type=friend
host=dynamic
context=incoming-sip
auth=md5
username=office1
secret=pass4office1
datacard.conf
[general]
interval=15 ; Number of seconds between trying to connect to devices
[defaults](!)
context=incoming-datacard ; контекст для входящих вызовов
rxgain=3 ; повысить громкость входящих
txgain=3 ; повысить громкость исходящих
autodeletesms=yes ; автоматическое удаление входящих смс
resetdatacard=yes ; перезагрузить датакард во время инициализации модема
u2diag=0 ; set U2DIAG parameter (0 = отключает все функции кроме модема)
[mts](defaults)
audio=/dev/ttyUSB1 ; tty порт для аудио соединений
data=/dev/ttyUSB2 ; tty порт AT команд
group=1 ; группа звонящих
[megafon](defaults)
audio=/dev/ttyUSB4
data=/dev/ttyUSB5
group=2
[motiv](defaults)
audio=/dev/ttyUSB7
data=/dev/ttyUSB8
group=3
[beeline](defaults)
audio=/dev/ttyUSB10
data=/dev/ttyUSB11
group=4
Прохождение вызовов через астериск
Ниже представлены служебные сообщения командного интерфейса, которые выдает Астериск во время прохождения вызовов.
1. Прохождение внутреннего вызова.
2. Прохождение вызова с мобильного телефона на внутренний номер.
3. Прохождение вызова с внутреннего телефона на мобильный.
4. Прохождение вызова с внутреннего телефона на второй Астериск.
5. Прохождение вызова со второго Астериска на внутренний телефон.
Схема сети
Эффективность внедрения Астериск
Рассмотрим эффективность внедрения программного обеспечения Астериск для предприятия, владеющего двумя офисами в соседних зданиях.
Рис. 1. Расположение отделов предприятия по офисам и организация связи между ними
Зададим начальные требования к обеспечению связи для каждого абонента:
1. Каждый сотрудник имеет возможность дозвониться как до сотрудников своего офиса, так и до персонала, работающего в другом здании;
2. Все сотрудники могут звонить на стационарные телефоны общего пользования или на мобильные телефоны различных операторов;
3. При поступлении входящих вызовов в отделы, располагающими несколькими аппаратами, такие как бухгалтерия, ответить на него можно с любого телефона отдела;
4. Исходящие вызовы внутри предприятия обеспечиваются без использования телефонных линий общего пользования
5. Исходящие вызовы на мобильные телефоны фильтруются в зависимости от номера абонента, а точнее от его мобильного оператора, в соответствии с чем вызов направляется через определенный модем.
Для решения данной задачи поступим следующим образом: как показано на рисунке N, обеспечим каждый офис отдельной рабочей станцией - компьютером - с установленным пакетом Астериск. Все телефонные аппараты в офисе - IP-телефоны, каждый из которых по локальной сети офиса подключен к рабочей станции с сервером мини-АТС. Связь серверов двух офисов обеспечим по сети интернет или при помощи роутера, в зависимости от взаимного месторасположения зданий, а обеспечение взаимодействия между рабочими станциями программно предусмотрено по протоколу IAX. Таким образом все звонки внутри предприятия будут проходить через локальные сети и будут бесплатны. Связь компании с внешними сетями обеспечивается шестью модемами с SIM-картами трех ведущих операторов страны, распределенными поровну между офисами. При этом в зависимости от нагрузки на телефонный номер можно подобрать соответствующий тарифный план.
При поступлении на сервер исходящего вызова на мобильные номера производится автоматическое определение оператора абонента, которому адресуется звонок, и, в зависимости от этого, вызов будет перенаправляться на модем, подключенный к сети этого же опреатора. Такая схема позволяет делать вызовы на клиентские номера дешевыми или, в зависимости от выбранного тарифа, бесплатными. Помимо этого связь между офисами обеспечивает перенаправление исходящего вызова на мобильные телефоны с одного сервера на другой в случае, если необходимый модем своего офиса занят, что, при небольшом количестве сотрудников в штате рассматриваемой компании и допущении, что распределение всех абонентов между мобильными операторами «большой тройки» (МТС, МегаФон, Вымпелком) одинаково, обеспечивает постоянную способность производить вызовы на номера любого оператора. Так как концепция курсового проекта полагает минимизацию затрат на оборудование и, непосредственно, обеспечение связи, то настройками сервера при занятости обоих модемов вызов производиться не будет. Однако для обеспечения постоянной связи особо важных абонентов сети, таких как директор, имеется возможность отдельно прописать параметры переадресации исходящего вызова через свободные модемы других операторов.
Рассмотрим загруженность телефонных линий для каждого абонента. Такие клиенты сети, как охрана, отдел IP, отдел кадров в основном совершают звонки внутри предприятия, не выходя на сети общего пользования, так что вычеркнем их из дальнейшего анализа входящего и исходящего внешнего трафика, являющегося показателем работоспособности нашей сети. Распределение отделов между офисами произведено таким образом, что в каждом офисе было по 2-3 телефонных аппарата, нагрузка на которые максимальна и сильно отличается от нагрузки остальных абонентов - это секретарь и отдел закупок в первом офисе и отдел по работе с клиентами во втором. Рассчитаем среднюю нагрузку на них в часы наибольшего напряжения (ЧНН). Для анализа выберем город с шестизначной системой нумерации городских абонентов. Известно, что средняя интенсивность исходящей нагрузки на одну абонентскую линию - 0,07 Эрл. Таким образом, исходящий трафик от каждого абонента в ЧНН составляет 4 минуты и 12 секунд. Значит, в ЧНН для шести рассматриваемых наиболее активных абонентов общее время занятие линий на исходящие звонки составит 25 минут и 12 секунд, которое распределиться между шестью модемами, сделав нагрузку на них минимальной.
Внешние входящие вызовы будут поступать в основном на телефоны секретаря и отдела продаж, примем количество вызовов на каждый аппарат и среднюю загруженность абонентской линии равной аналогичным показателям для исходящего трафика, увеличенным по продолжительности вызова в два раза, и получим время занятия линии равным 8 минутам и 24 секундам (в ЧНН). Тогда среднее время занятия телефонной линии входящими звонками для одного из шести модемов составляет 5 минут и 36 секунд. Из вышесказанного следует, что среднее время занятия телефонной линии в ЧНН для наиболее активных пользователей составляет 10 минут на входящий и исходящий трафик.
Средний тариф корпоративной связи для одного абонента требует ежемесячного платежа в размере 300 рублей, в то время как тарифы для частных лиц с набором услуг для бесплатного общения внутри сети с ограничением по продолжительности исходящих вызовов в один час будут стоить 100 рублей в месяц. Представив, что на протяжении рабочего дня компании, составляющего восемь часов, каждый час соответствует данным о ЧНН, видно, что ни один из модемов не превысит лимита в один час бесплатных исходящих вызовов в день даже с учетом полуторной надбавки к времени занятия линии наиболее активными абонентами, вносимой остальным персоналом предприятия.
Стоит отметить, что разделение отделов по офисам компании определенным образом, представленным на Рис.1, является попыткой оптимизации сети и межофисного сетевого трафика, так как расположение абонентов относительно серверов Астериск абсолютно не принципиально. Однако концентрация всех наиболее активных абонентов в одном офисе повысит загруженность канала доступа со вторым офисом для обеспечения выхода звонков через другой сервер Астериска.
Таким образом, данный метод построения сети связи внутри компании и коммуникации её с внешними абонентами предлагает современный подход к решению важнейшей задачи обеспечения связи предприятия. Помимо этого, он обеспечивает экономию денежных расходов предприятия и является элегантным, практичным, легко подстраиваемым под собственные нужны инструментом ведения бизнеса.
Заключение
Астериск - будущее телефонии. Это немножко искаженное название книги Меггелена, Мадсена и Смита «Астериск: будущее телефонии», но именно в такой форме эта фраза передает все те чувства, которые испытывает человек, хоть раз работавший с этой платформой. Легкость в управлении, гибкость в настройке, нетребовательность к ресурсам и нулевая стоимость - вот те качества, которые делают Астериск платформой для бизнес-телефонии номер один. Отдельно хочется выделить тот факт, что эта платформа используется в трети компаний, входящих в рейтинг ТОП-100 по версии журнала “FORBES”[6], а значит, она уже признана ведущими специалистами как инструмент в реализации корпоративной связи.
В этой курсовой работе была построена корпоративная телефонная сеть с возможностью выхода во внешнюю мобильную сеть GSM. При этом затраты на такую сеть при ее реализации будут минимальны по сравнению с тем, какие они могли бы быть, если предполагалась установка специализированного (платного лицензированного) телефонного оборудования.
В результате выполнения данной курсовой работы была достигнута цель создания мини-АТС для корпоративного пользования на реальном предприятии без существенных материальных затрат. Настройка полностью работоспособного и исправно функционирующего сервера Астериск не требует особых, исключительных знаний пользователя, что убирает необходимость работодателя содержать специалиста столь узкого направления, а значит, в случае возникновения неполадок, их можно будет решить самостоятельно.
Помимо достижения цели, данный курсовой проект ценен полученными необходимыми начальными сведениями и знаниями о сервере Астериск, а также о корпоративной мини-АТС в общем, что мотивирует создание собственной компании, для обеспечения связи в которой будет использован намного больший арсенал приложений и возможностей, к которым открывает путь Астериск.
Список литературы
1. Меггелен Дж., Мадсен Л., Смит Дж. Asterisk: будущее телефонии, второе издание. - Пер. с англ. - СПб Символ-Плюс, 2009.
2. http://asterisk-pbx.ru/wiki/doku.php/new2 - VoIP-GSM шлюз для Asterisk на USB модеме HUAWEI E1550.
3. http://habrahabr.ru/post/136638/ - Настройка Asterisk для оптимизации расходов на сотовую связь.
4. http://trustoff.ru/page.php?18 - Huawei E173, E173u-1, E171 описание, прошивка.
5. http://forum.asterisk.ru/ - общие вопросы.
6. http://asterisk.org
Размещено на Allbest.ru
Подобные документы
Общая архитектура сети NGN. Классификация типов оборудования. Стратегии внедрения технологий. Построение транспортного уровня мультисервисной сети, поглощающего транзитную структуру. Определение числа маршрутизаторов и производительности пакетной сети.
дипломная работа [487,5 K], добавлен 22.02.2014Основные понятия IP телефонии, строение сетей IP телефонии. Структура сети АГУ. Решения Cisco Systems для IP-телефонии. Маршрутизаторы Cisco Systems. Коммутатор серии Catalyst 2950. IP телефон. Настройка VPN сети. Способы и средства защиты информации.
дипломная работа [1,1 M], добавлен 10.09.2008Построение городской телефонной сети (ГТС). Схема построения ГТС на основе коммутации каналов и технологии NGN. Расчет интенсивности телефонной нагрузки сети, емкости пучков соединительных линий. Распределенный транзитный коммутатор пакетной сети.
курсовая работа [458,9 K], добавлен 08.02.2011Технология IP-телефонии и Wi-Fi. Необходимость внедрения мобильной офисной сети IP-телефонии, план ее проектирования. Настройка сервера Yeastar MyPBX 400 для подключения к оператору Зебра телеком. Расчет капитальных затрат и эксплуатационных расходов.
дипломная работа [2,3 M], добавлен 19.02.2013Преимущества цифровых систем коммутации. Структурная схема проектируемой сельской телефонной сети. Прогноз структурного состава абонентов автоматической телефонной станции сети. Определение интенсивностей нагрузок на узловых и центральной станциях.
курсовая работа [531,6 K], добавлен 18.10.2011Принципы построения междугородной, внутризоновой телефонной сети, городских телефонных сетей. Способы включения в коммутационное оборудование городской сети абонентских оконечных устройств. Методы внедрения цифровых АТС. Специфика проводного вещания.
курсовая работа [2,2 M], добавлен 30.08.2009Разработка проекта здания с внедренной в него локальной телефонной сетью. Основные принципы построения телефонной линии связи на примере "Отделения почты России". Внедрение телефонной сети в компанию для более быстрого обмена нужной информацией.
курсовая работа [724,7 K], добавлен 06.09.2015Понятие и история развития IP-телефонии, принцип ее действия и структура, необходимое оборудование. Качество связи IP-телефонии, критерии его оценивания. Технические и экономические аспекты связи в России. Оборудование для современной Интернет-телефонии.
курсовая работа [1,3 M], добавлен 29.11.2010История деятельности Московской городской телефонной сети. Структура протокола TCP/IP. Взаимодействие систем коммутации каналов и пакетов. Характеристика сети с коммутацией пакетов. Услуги перспективной сети, экономическая эффективность ее внедрения.
дипломная работа [2,5 M], добавлен 10.07.2012Особенности проектирования и модернизация корпоративной локальной вычислительной сети и способы повышения её работоспособности. Физическая структура сети и сетевое оборудование. Построение сети ГУ "Управление Пенсионного фонда РФ по г. Лабытнанги ЯНАО".
дипломная работа [259,1 K], добавлен 11.11.2014