По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Семантическое управление версиями (или семвер) – это формальное соглашение для определения номера версии новых выпусков программного обеспечения. Стандарт помогает пользователям программного обеспечения понять серьезность изменений в каждом новом дистрибутиве. Проект, использующий семантическое управление версиями, объявляет основной номер версии (major), дополнительный номер версии (minor) и номер исправления (patch) для каждого выпуска. Строка версии 1.2.3 указывает на основную версию под номером 1, дополнительную версию под номером 2 и исправление под номером 3. Номера версий такого формата широко используются как программными пакетами, так и исполняемыми файлами конечных пользователей, такими как приложения и игры. Однако не каждый проект точно следует стандарту, установленному semver.org. Спецификация была создана для решения проблем, вызванных несовместимостью методов управления версиями между программными пакетами, используемыми в качестве зависимостей. Под «пакетом» и «зависимостью» мы подразумеваем библиотеку кода, предназначенную для использования в другом программном проекте и распространяемую диспетчером пакетов, таким как npm, composer или nuget. Это именно то применение семантического управления версиями, которое мы рассматриваем в этой статье. Major, Minor и Patch Важно понимать значение трех задействованных компонентов. Вместе они намечают путь разработки проекта и соотносят влияние каждого нового выпуска на конечных пользователей. Major number (основной номер версии) – основной номер указывает на текущую версию общедоступного интерфейса пакета. Он увеличивается каждый раз, когда вы вносите изменения, которые требуют от существующих пользователей вашего пакета обновления их собственной работы. Minor number (дополнительный номер версии) – дополнительный номер указывает на текущую функциональную версию вашего программного обеспечения. Он увеличивается всякий раз, когда вы добавляете новую функцию, но не меняете интерфейс вашего пакета. Он сообщает пользователям о том, что были внесены значительные изменения, но пакет полностью совместимым с предыдущими версиями с предыдущим дополнительным номером. Patch number (номер исправления) – номер исправления увеличивается каждый раз, когда вы вносите какое-то незначительное изменение, которое не влияет на общедоступный интерфейс или общую функциональность вашего пакета. Его чаще всего используют для исправления ошибок. Потребители всегда должны иметь возможность не задумываясь установить последнюю версию исправлений. Семантическая структура версии выпуска лучше всего моделируется в виде дерева. Наверху у вас изменения общедоступного интерфейса, каждое из которых отображается на основном номере. Каждая основная версия имеет свой собственный набор дополнительных версий, в которые добавляются новые функции без нарушения совместимости с предыдущими версиями. И наконец, дополнительные версии могут время от времени отлаживаться путем исправления некоторых ошибок. Откуда начинать? Большинство проектов должны начинаться с версии 1.0.0. Вы публикуете свой первый общедоступный интерфейс и первоначальный неизмененный набор функций. И поскольку вам еще не приходилось вносить никаких исправления, то и версия исправления – 0. Теперь давайте посмотрим, что же происходит, когда вы вносите изменения в свой пакет. После вашего первоначального выпуска вы получаете отчет об ошибке от пользователя. Когда вы выпустите исправление, то правильный номер версии уже будет 1.0.1. Если бы вы затем выпустили еще одну версию с исправлением ошибок, то вы бы увеличили номер исправления до 2, т.е. номер версии уже был бы 1.0.2. Тем временем вы также работали над новой интересной функцией. Это совершенно необязательно, поэтому пользователям не нужно ничего делать для обновления. Вы выпускаете эту версию как 1.1.0. – создана новая функциональная среда, но ее еще ни разу не исправляли. К сожалению, скоро приходят отчеты об ошибках, и среди ваших пользователей начинает распространяться версия 1.1.1. Несколько месяцев спустя вы решили провести реорганизацию кода всего проекта. Некоторые функции были удалены или теперь доступны через объединенный интерфейс. Если вы выпустите эту работу, то люди, использующие текущую версию вашего пакета, должны будут внести серьезные изменения в свой проект. Пришло время опубликовать 2.0.0. в вашем репозитории пакетов. Поддержание старых веток Увеличение какого-либо номера в вашей строке версий не создает точку невозврата. После публикации 1.1.1 вы могли обнаружить ошибку, присутствующую в 1.0.2. Используя ветки в вашей системе контроля версий, вы можете произвести исправления в обеих версиях. В итоге вы получите 1.1.2 и 1.0.3. Точно также вы можете поддерживать ветку 1.х вашего проекта, несмотря на выпуск 2.0.0. Может показаться странным публиковать 1.1.2 после 2.0.1, но это вполне нормальная практика. Семантическое управление версиями не создает линейный постоянно увеличивающийся номер версии; наоборот, оно предназначено для использования в качестве части модели разработки ветвления, которое использует простоту установки исправлений, предлагаемую системами управления исходным кодом, такими как Git. Опубликованные версии должны быть неизменяемыми. После того, как вы создали версию 2.4.3, вы не можете «обновить» его, просто добавив дополнительный код в ту же строку версии. Вы должны присваивать новый номер версии каждому выпуску, чтобы пользователи всегда могли получить доступ к каждой конкретной версии вашего пакета. Обработка пакетов, находящихся в стадии разработки Как правило, вы всегда обновляете основную версию своего пакета всякий раз, когда вносятся изменения, несовместимые с предыдущими версиями. Когда вы находитесь в стадии разработки, то ваша кодовая база может дорабатываться очень быстро, что приводит к публикации множества основных версий. Вы можете этого избежать, рекламируя свой проект как 0.y.z. Значение 0 в качестве основной версии означает, что ваш пакет неустойчив. Обычные правила в отношении совместимости с предыдущими версиями тут не применяются, поэтому вы можете выпускать новые версии, увеличивая только дополнительный номер и номер исправления. Это значит, что вы можете использовать 1.0.0 для обозначения первой «завершенной» версии вашего программного обеспечения. Вы также можете добавить дополнительные «идентификаторы» в конец строки версии, используя дефис в качестве разделителя: 1.0.0-alpha.1. Вы можете использовать такой вариант для того, чтобы четко обозначить альфа- и бета-версии. Точно также вы можете включить метаданные сборки, добавив символ +: 1.1.0-alpha.1+linux_x86. Заключение Согласованное использование семантического управления версиями помогает пользователям быть уверенными в вашем проекте. Они могут четко видеть, как развивается ваша кодовая база и нужно ли им самим провести какую-то работу, чтобы идти в ногу со временем. Объявление строки семантической версии необходимо при публикации в диспетчере наиболее популярных пакетов. Тем не менее, в конечном счете, вам решать, какие номера вы устанавливаете для каждого нового выпуска. Соблюдение стандарта четко сообщает о ваших намерениях пользователям и сводит к минимуму риск непреднамеренного нарушения чужой работы.
img
Ваш клиент хочет перестроить свою систему IP-телефона или, возможно, впервые перейти на нее. Вы придете к нему с проприетарной системой, например, CUCM, или открытой стандартной системой, например, Asterisk? Прежде чем сделать выбор, важно не упускать сразу ни один из вариантов. Понимание всех входов и выходов каждого типа системы, а также конкретных требований вашего клиента имеет важное значение. Давайте рассмотрим некоторые сильные и слабые стороны каждого подхода. Положительные и отрицательные стороны открытых АТС АТС с открытым стандартом являются решениями с открытым стеком, использующими стандартный подход - например, SIP - для передачи мультимедийных сообщений. Широко распространенные и признанные благодаря своей универсальности в использовании и гибкости, системы АТС с открытым стандартом не имеют многих недостатков для многих предприятий сегодня. Наряду с необходимыми функциями телефонии, некоторые передовые решения, также предлагают высококачественные унифицированные коммуникации из коробки. В целом системы АТС с открытым стандартом обеспечивают: Лучшее соотношение цены и качества: Опенсорс АТС часто ассоциируется с существенной экономией, потому что ею легко управлять, и в большинстве случаев нужно беспокоиться о небольших лицензионных сборах. По сравнению с запатентованными решениями, которые заключают вас в долгосрочные контракты на обслуживание или дорогостоящий ремонт системы, решения с открытыми стандартами могут быть более рентабельными во многих бизнес-сценариях. Устранить риск блокировки поставщика: Истинная ценность таких АТС заключается в возможности сочетать набор стандартных компонентов для предоставления инновационных услуг. С системой можно использовать практически любой SIP-телефон, шлюз или периферийные устройства на основе стандарта, что способствует удовлетворенности пользователей и производительности бизнеса. Проще установить и настроить: Если вы используете проприетаруню телефонную систему, вы, вероятно, уже знаете о трудностях, возникающих при ее установке, использовании и обслуживании. Вместо этого системы АТС открытого стандарта просты в использовании и управлении. Это может быть особенно актуально для тех, кто использует Asterisk с интуитивно понятным интерфейсом. Совместимость и настройка: Кастомизация очень важна для телефонных систем. И на этом этапе выигрывают АТС открытого стандарта. Относительно легко интегрироваться с другими стандартными приложениями, такими как базы данных, CRM, PMS отеля, колл-центр и другие, чтобы удовлетворить специфические потребности клиентов. Хотя АТС с открытым стандартом, по большому счету, не имеют многих недостатков, качество всей системы сильно зависит от поставщиков и интеграторов. Некоторые, выбравшие бесплатные открытые решения утверждают, что им не хватает нужных функций, профессиональной поддержки и частых обновлений. Положительные и отрицательные стороны проприетарной АТС Проприетарной АТС являются «закрытой» системой, разработанной специально производителями, в комплекте с собственным брендом. Большинство проприетарных решений, таких как NEC или Panasonic, считаются относительно надежными, но менее привлекательными с финансовой точки зрения. С проприетарной системой вы получаете практически все ваше оборудование и программное обеспечение от одного поставщика, который будет поддерживать и гарантировать все, от АТС до мобильных телефонов. Таким образом, некоторые из преимуществ включают в себя: Единый пользовательский опыт: В большинстве случаев проприетарные системы предлагают единый пользовательский интерфейс. Вся система VoIP остается согласованной для всех совместимых аппаратных и программных приложений. Таким образом, вы можете ожидать аналогичного и знакомого взаимодействия с каждым устройством. Поддержка производителя: Благодаря проприетарной системе ваш поставщик имеет единоличный контроль над обновлениями, обновлениями и модификациями. Как следствие, вы, как торговый посредник или дистрибьютор, могли бы иметь больший контроль над клиентами, но вам нужно будет вкладывать больше ресурсов в освоение сложных запатентованных систем и интерфейсов для лучшей поддержки клиентов. Наряду с преимуществами проприетарного решения, есть некоторые недостатки, которыми нельзя пренебрегать. Самые большие из них могут быть связаны с затратами, риском блокировки поставщиков и ограниченной гибкостью. Многие запатентованные продукты могут функционировать должным образом только при использовании с другими продуктами того же производителя. Другими словами, вы, скорее всего, будете заложниками проприетарных мобильных телефонов и периферийных устройств, которые могут быть переоценены с ограниченной функциональностью, что приведет к негативным последствиям в процессе продаж. Еще одна важная вещь, которую следует помнить, это то, что с проприетарной системой АТС вы не сможете достичь того же уровня гибкости, что и решения с открытыми стандартами. Поскольку проприетарные решения обычно не допускают обходных путей для разработчиков, специфичных для данной проблемы, скорее всего, вы не сможете реализовать наименьшие изменения, необходимые для лучшей адаптации решения к потребностям вашего бизнеса. И когда возникают сложные проблемы, ваш поставщик является вашей единственной резервной копией. Предвидение: бизнес-экосистема и возможности В условиях постоянно расширяющегося горизонта и достижений на рынке VoIP ключом к тому, чтобы телефонная система оставалась впереди, было стремление идти в ногу с рыночными тенденциями и предлагать жизнеспособные решения, чтобы вписаться в более широкий спектр потребностей клиентов. И нельзя отрицать, что решения открытых стандартов имеют конкурентные преимущества. Роль собственности как первичного новатора на рынке ушла на второй план. Распространенность промышленных открытых стандартов, таких как SIP и телефония с открытым исходным кодом, таких как Asterisk, произвела революцию в экосистеме и принесла больше возможностей для бизнеса. Используя коллективные усилия огромного мирового сообщества экспертов, новые непатентованные, то есть открытые, системы набирают обороты. Они приносят преимущества, связанные с открытым SIP и открытым исходным кодом: стабильность, быстрое развитие, гибкость и, самое главное, экономия затрат. Благодаря постоянно развивающимся решениям открытого стандарта пользователям теперь предоставляется больше свободы для взаимодействия нескольких приложений и интеграции систем данных. Интеграторы все чаще хотят их, а конечные пользователи требуют от них более высокого уровня соотношения цена-качество и устранения риска привязки к поставщику. Итого И проприетарные, и открытые стандартные системы имеют свои явные преимущества. Важно знать своих клиентов и понимать их потребности. Сколько они могут позволить себе новую телефонную систему? Какой уровень гибкости и настройки они требуют? Есть ли у них собственный опыт по обслуживанию системы? Задавая правильные вопросы, вы сможете сделать выбор, чтобы предложить наилучшее решение.
img
”Здравствуйте, вы позвонили в компанию "Company Name", для соединения с отделом продаж – нажмите 1, если вы являетесь партнером нашей компании – нажмите 2, по вопросам технической поддержки – 3. Для соединения с оператором – оставайтесь на линии”. Наверное, сейчас уже ни одна компания не осталась без подобного сценария обработки входящих звонков. Короткие гудки в трубке, прежде чем Вам ответит сотрудник компании, в которую Вы пытаетесь дозвониться – теперь уже большая редкость. Всё это стало возможным с появлением цифровых АТС, а функционал, пример которого был приведен выше, называется IVR (Interactive Voice Response) в русской литературе – голосовое меню. В сегодняшней статье, мы рассмотрим функционал IVR на примере IP-АТС Asterisk и FreePBX 13. Основной функцией IVR – является маршрутизация входящих вызовов между департаментами компании, посредством обработки сигналов тонального набора, осуществляемых дозвонившимся клиентом, на своем телефоне. Тем самым, IVR позволяет распределить нагрузку на операторов кол-центра, т.к клиенту предоставляется возможность соединиться с интересующим его отделом и получить всю необходимую информацию, минуя первую линию операторов. Помимо данной функции, IVR может использоваться в рекламных и маркетинговых акциях, в целях получения статистической информации и даже в организации автономных голосовых порталов с распознаванием речи, где вообще не требуется присутствие оператора. В больших кол-центрах к организации IVR подходят серьёзно, учитываются все факторы вплоть до психологического. От того насколько грамотно подобран голос диктора, музыкальное сопровождение и информация сообщения, зависит расположение клиента, который дозвонился в компанию и его лояльность. Информация, которая сообщается в меню IVR должна быть изложена лаконично, дружелюбно и емко. Поэтому в первую очередь – необходимо написать текст IVR и его сценарий. Общая рекомендация – ограничиться несколькими опциями, т.е не стоит задавать слишком большое меню с 6 и более опциями, поскольку в нем попросту будет сложно ориентироваться. Пошаговое видео Настройка Перейдём к FreePBX 13 и рассмотрим какие варианты предлагает его функционал при настройке IVR. В первую очередь, с главной страницы перейдем по следующему пути Applications -> IVR. Нам предложат создать новое голосовое меню: Перед нами откроется страница добавления нового голосового меню IVR, нажимаем Add IVR Пройдёмся по основным пунктам: IVR Name – Имя голосового меню, тут все просто IVR Description – Опционально, можно добавить описание данного IVR, например IVR_Holiday – меню, которое будет слышать дозвонившийся по праздникам Announcement – Голосовое сообщение, которое будет слышать дозвонившийся. Именно данное сообщение будет направлять абонента (“нажмите 1, нажмите 2 и так далее”). Добавляется через System Recordings Enable Direct Dial – Данная опция позволяет абоненту набрать внутренний номер сотрудника (если он его знает) и напрямую соединиться с ним, не дожидаясь, пока это предложит IVR Timeout – Время, за которое абоненту предлагают выбрать опцию после сообщения. Если данное время истекло, то IVR отработает по timeout rules, которые описываются ниже Invalid Retries – Количество попыток, которые есть у абонента, чтобы ввести правильный номер опции, прежде чем абонента отправят на Invalid Destination Invalid Retry Recording – Сообщение, которое услышит абонент, после того как повторно введет неверный номер опции. Добавляется через System Recordings Append Announcement to Invalid – Опция, определяющая проигрывать ли основное сообщение IVR пользователю, который исчерпал все попытки ввода Return on Invalid – Данная опция контролирует процесс возврата звонка пользователя, исчерпавшего попытки ввода, в основное меню IVR из, так называемого под-меню (sub-IVR). Работает только если настроено данный IVR был настроен как sub-IVR для основного голосового меню Invalid Recording – Сообщение, которое будет проигрываться абоненту, после того как он исчерпает все попытки Invalid Retries. Добавляется через System Recordings Invalid Destination - Если пользователь исчерпал все попытки ввода, то он будет отправлен по данному пути. Это может быть, например, номер операторов или любое другое направление настроенное на АТС Timeout Retries – Как много раз пользователь может ждать времени, указанного в Timeout Timeout Retry Recording - Сообщение, которое услышит пользователь, достигший Timeout. Добавляется через System Recordings Append Announcement on Timeout - Опция, определяющая проигрывать ли основное сообщение IVR пользователю, который достиг Timeout. Добавляется через System Recordings Return on Timeout - Данная опция контролирует процесс возврата звонка пользователя, достигшего Timeout, в основное меню IVR из, так называемого под-меню (sub-IVR). Работает только если настроено данный IVR был настроен как sub-IVR для основного голосового меню Timeout Recording - Сообщение, которое услышит пользователь, исчерпавший Timeout Retries. Добавляется через System Recordings Timeout Destination - Если пользователь исчерпал все Timeout Retries, то он будет отправлен по данному пути. Return to IVR after VM – Опция, позволяющая пользователю вернуться в IVR после того как он был направлен на голосовую почту IVR Entries - Самая важная вкладка. Здесь мы настраиваем соответствие цифр тонального набора и направления звонка, т.е ту самую маршрутизацию вызова. На примере ниже, если абонент введет цифру 1, то попадет на группу обзвона ( Ring Group ) технической поддержки
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59