PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: Предисловие или с чего все началось
В нашей крупной организации с обширной внутренней телефонной сетью( >10000 абонентов ) решили больше не расширять железные ЦАТС (3 hipath'a и пару десятков "векторов") а пробовать приобщиться к высоким технологиям. Было решено максимально сэкономить и пробовать разные решение. Я был немного знаком с астериском поэтому начал именно с него и на нем и остались. Состыковали HiPath с астером через 2 потока Е1. Закупили тестово пару телефона и ворох шлюзов IP->FXS. Потихоньку наигрались и начали по чуть чуть вводить именно IP телефонию. Я думаю всем знакома картина разношерстных технологий, у одного классический телефон звонилка по обычной 2х проводку, у другого крутой IP телефон который круче чем СТА на сименсе, у третьих вообще софтфон на компе с наушниками а у некоторых других шлюз и снова обычный 2х проводный телефончик без примочек.
Так вот вроде бы все довольны, все работает но лично как это обычно бывает народ хочет большего. Хотят телефон с экраном чтобы было видно кто звонит и т.д. . В голову закралась мысль поискать программные обвесы для астериска чтобы расширить возможности разношерстных телефонов и привести это к одному единому знаменателю.
Так вот вроде бы все довольны, все работает но лично как это обычно бывает народ хочет большего. Хотят телефон с экраном чтобы было видно кто звонит и т.д. . В голову закралась мысль поискать программные обвесы для астериска чтобы расширить возможности разношерстных телефонов и привести это к одному единому знаменателю.
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: ТЗ самому себе или какие выявились сложности.
Сложности:
[*]У всех разные ПК с разным железом. Начиная от P4 и заканчивая монстрами на i7.
[*]У всех разные OS, примерно 50\50 windows и linux.
[*]Касательно OS Windows то и версии разные, начиная от XP и заканчивая 10.
[*]Браузеры есть не у всех, да и вообще писать что то для браузера слишком тяжело мне.
[*]Много людей далеких от тонкостей работы и пугающихся настроек и разных кнопочек.
[*]У всех разные ПК с разным железом. Начиная от P4 и заканчивая монстрами на i7.
[*]У всех разные OS, примерно 50\50 windows и linux.
[*]Касательно OS Windows то и версии разные, начиная от XP и заканчивая 10.
[*]Браузеры есть не у всех, да и вообще писать что то для браузера слишком тяжело мне.
[*]Много людей далеких от тонкостей работы и пугающихся настроек и разных кнопочек.
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: Поиски решений
[*]Digium ADA (asterisk desktop assistant). Не заработал на WinXP, нет для Linux, платный. Работает через раз.
[*]OutCall. Работает на WinXP, не работает на Win7, полностью ломает аутлук. Нет на Linux, проект похоже помер.
[*]OutCall. Работает на WinXP, не работает на Win7, полностью ломает аутлук. Нет на Linux, проект похоже помер.
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: Черновое ТЗ и минимальный функционал:
[*]Программа должна быть кросплатформенной. Тут Java SE, кроме того я постоянно пишу себе мелкие утилитки именно на ней и вспоминать о C++\Qt\C# не хочу.
[*]Должна быть возможность набора номера из этой програмки. Человек набрал номер, у него зазвенел телефон\софтфон, взял трубку и начался вызов целевого абонента чей номер был набран.
[*]Возможность показа номера куда звоню или кто звонит абоненту.
[*]Никаких менюшек, все предельно тупо, все настройки спрятать в текстовый файл для удобства настроек и хранить рядом с бинарником программы.
[*]Должна быть возможность набора номера из этой програмки. Человек набрал номер, у него зазвенел телефон\софтфон, взял трубку и начался вызов целевого абонента чей номер был набран.
[*]Возможность показа номера куда звоню или кто звонит абоненту.
[*]Никаких менюшек, все предельно тупо, все настройки спрятать в текстовый файл для удобства настроек и хранить рядом с бинарником программы.
На данный момент есть ранняя альфа версии программы которая поставленную задачу выполняет на ура, знакомые которые оценили мою маленькую работу порекомендовали написать пост тут и поинтересоваться мнением других людей.
Главные вопросы ради чего все это писалось:
[*]Интересна ли Вам такая программа помощник к телефонам, на самом деле очень хорошо себя зарекомендовала именно со шлюзами к которым подключены самые обычные телефоны.
[*]Если будет заинтересованность то программу планирую расширить. К примеру поддержку SIP Simple Message, call log, поиск имен контактов в бд или ldap и т.д, звонок в 1 клик по номеру с аутлука и т.д.
[*]Так же если будет необходимость расширения функционала то будет переход к модульной системе, все что не нужно лично Вам можно будет отключить чтобы не мешало.
[*]Возможно система плагинов и\или кастомизации аспектов работы программы. Т.е. общий интерфейс к примеру для чата для которого можно вместо Sip Simple использовать XMPP, поменять полностью всплывающее окошко с номером кто звонит например на герб организации и переместить его в другой угол, или расширить тот же информатор звонка плюшками скажем если звонит "Босс" то закрыть все нафиг на компе и моргать большой крассной табличкой что пипец рядом. Реализовать аналог BLF\Xfer в виде окна быстрого набора. Т.е. идея в том что бы дать возможность легко модифицировать что то или расширить. Сразу оговорюсь что это будут яваскрипты.
[*]Готовы ли Вы отблагодарить копейкой меня?
[*]Какой принцип распространения программы был бы приятнее Вам? (Классическая продажа, демо + полная версия, freeware с напоминалкой, бесптлатно и с пожертвованиями).
Скачать и попробовать а возможно и использовать можно с гугл диска https://drive.google.com/file/d/0B7oNw- ... sp=sharing. Во вложение почему то не прикрепляется
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: содержимое настроек config.properties
#логин ами пользователя
amiUser=ami-login-example
#пароль ами пользователя
amiPassword=ami-password-change-me
# IP или доменное имя сервера астериска
amiServer=sip1.example.corp
# Номер абонента. Используется чтобы отлавливать события звонка и выводить сообщение, а так же как начальный номер для вызова других абонентов
helpToNumber=3309
# Channel . Если абонент астера то строка будет иметь вид sip/ или как у некоторых local/ .
# Так же можно указать транк к примеру у меня работает по Е1 dahdi/g0/.
# Так же работает с чужими транками к примеру у меня есть ip транк корпоративных симкарт. Строка имеет вид sip/мой-сотовый-номер . В такой ситуации получился этакая вариация сall back
helpToNumberChannel=dahdi/g0/
# Контекст из которого будут совершаться звонки. У себя для небольшой безопасности, хоть это и не критично, сделал отдельный контекст
helpToNumberContext=from-internal
amiUser=ami-login-example
#пароль ами пользователя
amiPassword=ami-password-change-me
# IP или доменное имя сервера астериска
amiServer=sip1.example.corp
# Номер абонента. Используется чтобы отлавливать события звонка и выводить сообщение, а так же как начальный номер для вызова других абонентов
helpToNumber=3309
# Channel . Если абонент астера то строка будет иметь вид sip/ или как у некоторых local/ .
# Так же можно указать транк к примеру у меня работает по Е1 dahdi/g0/.
# Так же работает с чужими транками к примеру у меня есть ip транк корпоративных симкарт. Строка имеет вид sip/мой-сотовый-номер . В такой ситуации получился этакая вариация сall back
helpToNumberChannel=dahdi/g0/
# Контекст из которого будут совершаться звонки. У себя для небольшой безопасности, хоть это и не критично, сделал отдельный контекст
helpToNumberContext=from-internal
PS: Не забывайте что это самая ранняя версия программы, есть баги и недоработки. Пишите найденные ошибки и свои пожелания тут.