По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Наверняка кто-то из вас хоть раз в жизни получал SMS после звонка в определенную компанию.
Обычно, это просьба оценить работу операторов. Так, например, это сделано у GSM операторов. Также это может быть SMS с благодарностью за обращение от компании или же об актуальных акциях и предложениях.
Сегодня я хотел бы рассказать о том, как Вы можете реализовать подобную функцию с использованием FreePBX
Статья написана по мотивам существующей на данном ресурсе публикации "Оценка оператора после звонка"
У данного метода есть один недостаток - для его работы нужен chan_dongle и тариф с безлимитными SMS. Для тех, у кого нет пресловутого chan_dоngle, есть другой метод, который я постараюсь объяснить.
Для особо нетерпеливых прошу Вас заглянуть в контакты, возможно, я уже там появился :)
В данном методе мы не будем ломать диалплан FreePBX и использовать тяжелую артиллерию в виде MySQL. Итак, приступим.
Для начала открываем конфигурационные файлы, а именно:
/etc/asterisk/extensions_custom.conf
Вносим в него такой кусочек диалплана. В коде я дал комментарии зачем нужны некоторые части:
[send-sms]
exten => _.,1,NoOp(Start sms)
exten => _.,n,DIAL(SIP/${EXTEN},,trg) ;опция g позволяет "проваливаться вниз". ВНИМАНИЕ агент должен использовать вашу технологию (sip или pjsip)
exten => _X.,n,GotoIf($[${DIALSTATUS}=BUSY]?busy:answered) //проверяем, был ли отвечен вызов, вот здесь мы или пропускаем клиента дальше если с ним уже говорили или нет.
exten => _X.,n(busy),Hangup()
exten => _X.,n(answered),Goto(sms,${EXTEN},1)
[sms]
exten => _X.,1,NoOp(Statrt SendSms)
exten => _X.,n,Answer()
same => n,Set(COUNT=1); установка счетчика. По идее, он тут не нужен, но сделан на всякий аварийный случай. Вдруг заклинит и клиента заспамит смс? :)
same => n,Set(RECIVER=Имя донгла в системе); если используете донгл
same => n,Set(RECIPIENT=${CALLERID(num)})
same => n,Set(TEXT="Спасибо что обратились в нашу компанию Рога и копыта"); текст смс
same => n,GotoIf($["${RECIPIENT:0:2}" != "79"]?end); это проверка на принадлежность к мобильным номерам. Уточните формат входящих CALLERID(num) на вашей АТС - с 7 или 8?
same => n,System(/usr/sbin/asterisk -rx 'dongle sms ${RECIVER} 7${RECIPIENT:1} ${TEXT}'); тут отправка с донгла.
same => n,Set(COUNT=$[${COUNT} + 1]); увеличение счетчика (который не нужен, а вдруг)
same => n,GotoIf($["${COUNT}" > "1"]?end); проверка и отправка на завершение
exten => _X.,n(end),Goto(macro-hangupcall,s,1); Конец
Обратите внимание на пометки в диалплане. В частности, Агент должен использовать вашу технологию подключения. Входящие форматы на ваши транки, 7 или 8. Если он еще не унифицирован, то рекомендую это сделать и привести в норму стандарта E164. Если входящие у вас содержат + то, вместо ${RECIPIENT:0:2} сделайте ${RECIPIENT:0:3}
На этом, настройка конфигурационного файла extensions_custom.conf закончена. Теперь открываем файл queues_post_custom.conf и вставляем туда такую строку:
member=Local/4015781@send-sms/n,0,4015781,hint:4015781@ext-local
Где 4015781 номер существующего Агента в очереди. После этого, закрываем файл, перезагружаем диалплан командой dialplan reload и тестируем.
Применять можно, например, для отправки благодарности клиенту с напоминанием времени работы или адреса компании.
Чтобы не огорчить тех, кто не использует донглы или использует GoIP или другие Gsm шлюзы, на мой взгляд, есть более "красивый" метод:
Идем в один из множества веб сервисов для SMS рассылок (названия писать не буду), регистрируемся у них и берем их готовые библиотеки для доступа к API. Я покажу на примере PHP API одной известной компании:
#!/usr/bin/php -q
<?php
#парсим данные из AGI
require(′phpagi.php′);
$agi = new AGI();
$phone = $agi->request[′agi_arg_1′];
text = $agi->request[′agi_arg_2′];
$sender = ′INFORM′;
// !!! Замените API-ключ на свой.
$apikey = ′XXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZXXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZ′;
$url = ′https://smspilot.ru/api.php′
′?send=′.urlencode( $text )
.′&to=′.urlencode( $phone )
.′&from=′.$sender
.′&apikey=′.$apikey
.′&format=json′;
$json = file_get_contents( $url );
echo $json.′′;
$j = json_decode( $json );
if ( !isset($j->error)) {
echo ′SMS успешно отправлена server_id=′.$j->send[0]->server_id;
} else {
trigger_error( $j->description_ru, E_USER_WARNING );
}
Используем AGI. И в представленном диалплане меняем одну строку, а именно:
same => n,System(/usr/sbin/asterisk -rx 'dongle sms ${RECIVER} ${TEXT}'); тут отправка с донгла.
на:
same => n,AGI(sendsms.php, 7${RECIPIENT:1}, "${TEXT}")
И на этом - все. Чем данный способ лучше? Могу точно сказать, что в подобных сервисах для компаний есть возможность в качестве отправителя зарегистрировать название организации – это явно плюс в копилку лояльности клиента :)
Это значит, что не нужен донг и SMS клиенту приходит не с безликих цифр, а от имени вашей компании в поле отправитель. Это, безусловно, повышает доверие и лояльность получателя SMS.
Надеюсь, что данный метод будет полезен и найдёт применение в ваших бизнес-процессах. Удачи!
Привет, бро! В статье расскажем в чем разница между RIPv1 (Routing Information Protocol Version 1) и его продолжение RIPv2. Погнали?
Про Routing Information Protocol Version 1 (RIPv1)
Прямо и по пунктам:
RIPv1 это Distance-Vector протокол. Если переводить на русский - дистанционно-векторный. ;
Distance vector routing - так называемая дистанционно-векторная маршрутизация, главный принцип которой основан на вычислении специальных метрик, которые определяют расстояние (количество узлов) до сети назначения
RIPv1 это classfull протокол. Это означает, что он не отправляет маску подсети в апдейтах маршрутизации;
RIPv1 не поддерживает VLSM (Variable Length Subnet Masking);
VLSM (Variable Length Subnet Masking) - метод эффективного использования IP – адресации, который избавляет от привязки к классу сети (класс A, класс B, класс C). VLSM позволяет дробить подсеть на подсеть и так далее. Тем самым, мы можем эффективно использовать адресное пространство согласно реальных потребностей, а не класса сети;
RIPv1 поддерживает максимум 15 хопов! Это означает, что любой маршрутизатор, который расположен от вас в больше, чем 15 узлов (маршрутизаторов) будет отмечен как недоступный;
Раз в 30 секунд RIPv1 отправляет широковещательные апдейты маршрутизации – каждый узел должен принять и обработать этот апдейт;
Первая версия RIP не поддерживает авторизация апдейтов маршрутизации – это означает, что потенциально, роутер может обновить таблицу маршрутизации от любого источника;
Вот такой он, RIP первой версии. Двигаем дальше и посмотрим, а на что способен его брат – RIP второй версии?
Про Routing Information Protocol Version 2 (RIPv2)
RIPv2 это гибридный протокол. Он реализован на базе Distance-Vector, но так же поддерживает часть алгоритмов Link State маршрутизации, то есть, может отслеживать состояние каналов;
Link State routing - отслеживает состояние каналов и отправляет LSA (Link-state advertisement) пакеты, в которых рассказывает о состоянии своих каналов. Примером link state протокола маршрутизации является OSPF
RIPv2 - classless протокол. В отличие от своего старшего брата первой версии, второая версия умеет отправлять маску подсети в апдейтах маршрутизации;
RIPv2 поддерживает VLSM!;
RIPv2, как и RIPv1 поддерживает максимум 15 хопов;
RIPv2 отправляет мультикаст сообщения об апдейтах на адрес 224.0.0.9. Это уменьшает нагрузку на сеть и в первую очередь на узлы, на которых не запущен RIP;
Вторая версия RIP поддерживает аутентификацию апдейтов маршрутизации. Это значит, что теперь нельзя будет подсунуть ложный апдейт роутеру (в целом, этим могли пользоваться злоумышленники) – только авторизированные источники;
Frontend-разработчики — ключевая IT-профессия: фронтендеры отвечают за создание интерфейсов сайтов и приложений, которые привлекают внимание конечных пользователей по всему миру. В этой статье мы расскажем, что должен уметь фронтенд-разработчик, сколько получают такие специалисты и откуда взять опыт в этой сфере.
Прежде всего, кто такой frontend-разработчик?
Frontend-разработчик — это специалист, задачей которого является создание пользовательского интерфейса (UI) и пользовательского опыта (UX) для веб-сайтов или приложений. Проще говоря, frontend-разработчик отвечает за проектирование и создание визуальной части веб-сайтов и приложений. Сюда входят макеты, графика, текст и другие визуальные элементы, составляющие дизайн, а также код, который обеспечивают правильную работу всего этого.
Что вообще означает Frontend?
Frontend сайта, также называемый клиентской стороной или, в более широком смысле, пользовательским интерфейсом (UI), относится к тем частям сайта или приложения, которые видны пользователям и с которыми они могут взаимодействовать. Это всем нам знакомые кнопки, макеты, меню, формы обратной связи.
Backend же, или серверная часть, относится к тем частям сайта, которые не видны конечному пользователю. Они управляет данными, которые обеспечивают работу сайта и отслеживают такие элементы, как учетные записи пользователей и историю.
Несмотря на то, что фронтенд и бэкэнд противопоставляют, они тесно взаимодействуют друг с другом, обеспечивая правильную работу веб-страниц и приложений.
Какие задачи решает фронтенд-разработчик?
Frontend-разработчика можно назвать художником, который делает веб-сайты и приложения красивыми и плавно работающими. Для этого они используют различные языки программирования, инструменты и технологии. Основные обязанности фронтенд-разработчика включают:
верстку — создание структуры и визуального оформления веб-страниц с использованием HTML и CSS.
Программирование — реализацию интерактивности и динамического поведения веб-страниц с использованием JavaScript.
Оптимизацию производительности — фронтенд-разработчики заботятся о том, чтобы веб-страницы загружались быстро и эффективно.
Кроссбраузерную и кроссплатформенную совместимость — фронтенд-разработчики уделяют внимание тому, чтобы их код корректно отображался на различных браузерах и устройствах.
Работу с фреймворками и библиотеками — использование различных инструментов, таких как React, Angular, или Vue.js, упрощающих разработку сложных пользовательских интерфейсов и обеспечивающих повторное использование кода.
Frontend-разработчики часто работают в тесном сотрудничестве с дизайнерами, backend-разработчиками и другими специалистами по разработке, чтобы на сайте или в приложении все выглядело хорошо и работало слаженно.
Что должен уметь фронтенд-разработчик?
Хотя наличие формального образования может быть полезным для получения работы, следует отметить, что многие frontend-разработчики являются самоучками или приобретают свои знания на онлайн-курсах, например, Merion Academy, или на практике. В любом случае важно, чтобы вы могли продемонстрировать свои знания и умения с помощью портфолио и уверенного практического опыта.
Ниже расскажем про ключевые навыки, которыми необходимо овладеть:
Знание HTML, CSS и JavaScript: для успешной фронтенд-разработки необходимо хорошо разбираться в этих основных технологиях. Эти языки составляют основу frontend-разработки, и в создании пользовательских интерфейсов без них никуда.
Знание фреймворков и библиотек: знание React, Angular и Vue.js, может оказаться полезным при разработке более сложных веб-приложений. Эти инструменты — база для создания отзывчивых, интерактивных и масштабируемых интерфейсов, которые так нравятся пользователям.
Опыт работы с отзывчивым дизайном: frontend-разработчики должны уметь создавать веб-сайты и приложения, которые классно выглядят и легко работают на различных устройствах — смартфонах, планшетах, ПК. Это обеспечит пользователю позитивное восприятие продукта вне зависимости от девайса, которым он пользуется.
Понимание основ дизайна: frontend-разработчик должен иметь насмотренность и понимать основы типографики, теории цвета и верстки. Эти навыки очень важны для создания интерфейсов, которые будут не только красивыми, но и удобными.
Понимание кроссбраузерной совместимости: для frontend-разработчика очень важно, чтобы продукты, которые он создает, работали без сбоев в различных браузерах. Обеспечение корректной работы интерфейса в различных браузерах является важнейшей составляющей frontend-разработки.
Верстка и frontend-разработка — одно и то же?
Хоть верстальщик и фронтенд-разработчик выполняют различные задачи, у них есть много общих черт. Оба специалиста работают над созданием веб-интерфейсов и взаимодействуют с дизайнерами и backend-разработчиками. Оба они должны обладать хорошим пониманием HTML и CSS, а также знанием основ JavaScript. Важные навыки для обеих профессий — умение работать в команде, понимание принципов отзывчивого дизайна, владение инструментами контроля версий, такими как Git.
Но все же нельзя говорить, что эти профессии идентичны. Frontend-разработчики в большей степени специализируются на пользовательской части сайта или приложения. Frontend-разработчики глубже понимают принципы пользовательского опыта и дизайна, и могут обеспечить интуитивную, простую в использовании и визуально привлекательную фичу на сайте или в приложении, которая зацепит пользователя.
Основное различие между верстальщиком и фронтенд-разработчиком заключается в уровне сложности выполняемых задач. Верстальщик занимается преобразованием статического дизайна в код, в то время как фронтенд-разработчик работает над созданием динамических и интерактивных элементов веб-сайта с использованием языков программирования. Успешные фронтенд-разработчики часто стремятся расширять свои знания и умения в соответствии с требованиями индустрии, и они могут специализироваться в конкретных областях, таких как мобильная разработка, анимация интерфейсов, или работа с определенными фреймворками.
Что объединяет верстальщика и фронтенд-разработчика
Несмотря на то что верстальщик и фронтенд-разработчик выполняют различные задачи, у них есть много общих черт. Оба специалиста работают над созданием веб-интерфейсов и взаимодействуют с дизайнерами и backend-разработчиками. Они оба должны обладать хорошим пониманием HTML и CSS, а также знанием основ JavaScript. Важными навыками для обеих профессий являются умение работать в команде, понимание принципов отзывчивого дизайна и владение инструментами контроля версий, такими как Git.
Основные различия между верстальщиком и фронтенд-разработчиком
Основное различие между верстальщиком и фронтенд-разработчиком заключается в уровне сложности выполняемых задач. Верстальщик занимается преобразованием статического дизайна в код, в то время как фронтенд-разработчик работает над созданием динамических и интерактивных элементов веб-сайта с использованием языков программирования.
Верстальщики фокусируются на "видимой" части веб-сайта, обеспечивая точное воплощение макетов дизайнеров в коде. Они также следят за тем, чтобы сайт корректно отображался в различных браузерах и на различных устройствах.
Фронтенд-разработчики, с другой стороны, сосредотачиваются на создании интерактивности и функциональности веб-сайта. Они используют JavaScript и его фреймворки для разработки интерактивных элементов, таких как слайдеры, выпадающие меню, формы и другие.
Как стать фронтенд-разработчиком?
Чтобы стать хорошим специалистом, потребуется время и преданность делу. Поэтому лучше всего изучить все аспекты будущей профессии, прежде чем начать свой путь. Что бы мы посоветовали:
Изучите основы: начните с онлайн-курса Merion Academy Frontend-разработчик с нуля. Затем испытайте полученные навыки на практике, создав несколько собственных проектов.
Займитесь самообразованием: после того, как вы прошли курсы фронтенд-разработчика, не бросайте учиться. Существует множество образовательных программ по фронтенд-направлению — выберите ту, которая соответствует вашим способностям к обучению, бюджету, требованиям к работе, о которой вы мечтаете.
Общайтесь и набирайтесь опыта: начните искать проекты для совместной работы, общайтесь с другими разработчиками, посещайте встречи и конференции, ищите наставников. Нетворкинг играет неоценимую роль в трудоустройстве!
Сколько зарабатывают фронтенд-разработчики?
Фронтенд-разработчики в России на сегодняшний день могут рассчитывать на зарплаты в весьма широком диапазоне. Разумеется, оплата зависит от навыков, опыта и уровня квалификации конкретного специалиста. Согласно hh.ru, заработная плата по вакансии фронтенд-разработчик может колебаться от 100 000 до 600 000 рублей и даже более в месяц.
На уровень зарплаты влияет и грейд, и регион работы, а также любые дополнительные навыки — знание языков программирования, основ дизайна и даже маркетинга.
Таким образом, фронтенд-разработчики в России имеют возможность получать действительно конкурентоспособные заработные платы, особенно если они совершенствуют свои навыки, следят за трендами в отрасли и стараются учиться новому.
Не бойтесь экспериментировать и постоянно развиваться. Фронтенд-разработка — это не только профессия, но и постоянный поток на стыке технологий, дизайна и творчества.