По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Сегодня мы хотим рассказать про настройку функции DND (Do Not Disturb, не беспокоить) в Cisco Unified Communications Manager (CUCM) . Эта функция позволяет абоненту отключить звонок для входящего вызова. Когда она включена все входящие звонки с обычным приоритетом попадают под DND. Звонки с высоким приоритетом проходят независимо от настроек DND. Настройка Настройка выполняется для профиля телефона. Для этого переходим во вкладку Device → Device Settings → Common Phone Profile и выбираем профиль, для которого мы будем менять настройки. В поле Common Phone Profile Information в строке DND Option выбираем один из двух параметров: Ringer Off– Отключает звуковой сигнал, когда включен DND. Абонент видит информацию о звонке и может его принять; Call Reject – Отклоняет вызов, когда включен DND. Информация о звонке не отображается, но телефон может воспроизвести сигнал или включить светящийся индикатор; В стоке DND Incoming Call Alert выбираем один из трех параметров: Flash Only – при входящем звонке загорится индикатор; Beep Only – при входящем звонке воспроизведется сигнал; Disable – эта опция отключает сигнал и индикатор. В случае если стоит режим Ringer Off, то информация о звонке будет высвечиваться на экране. Если стоит режим Call Reject, то никакой информации о звонке не отобразится; Также настройку DND можно выполнять в настройках самого телефона в поле Do Not Disturb. Дальше необходимо добавить на телефон кнопку DND на телефон (про настройку кнопок можно почитать в этой статье). Переходим во вкладку Device → Phone Settings → Softkey Template и выбираем нужный нам шаблон, переходим в меню Configure Softkey Layout и в нем добавляем функцию Toggle Do Not Disturb (DND) . Затем возвращаемся в меню настройки телефона и выбираем измененный шаблон кнопок. После этого на телефоне появится кнопка включения режима DND.
img
Наверняка кто-то из вас хоть раз в жизни получал 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. Надеюсь, что данный метод будет полезен и найдёт применение в ваших бизнес-процессах. Удачи!
img
В середине 1990-х годов, когда Интернет еще только начинал развиваться, шведский программист по имени Даниэль Стенберг начал проект, который в конечном итоге превратился в то, что мы сегодня знаем, как Curl. Первоначально он стремился разработать бота, который бы периодически загружал курсы валют с веб-страницы и предоставлял пользователям IRC эквиваленты шведских крон в долларах США. Проект процветал, добавлялись новые протоколы и функции, и в конце концов мы получили тот функционал, который имеем сейчас. Посмотреть версию curl Опции -V или --version будут возвращать не только версию, но также поддерживаемые протоколы и функции в текущей версии. $ curl --version curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets Скачать файл Если вы хотите загрузить файл, вы можете использовать curl с опциями -O или -o. Первый сохранит файл в текущем рабочем каталоге с тем же именем, что и в удаленном местоположении, тогда как второй позволяет вам указать другое имя файла и/или местоположение. $ curl -O http://merionet.ru/yourfile.tar.gz # Save as yourfile.tar.gz $ curl -o newfile.tar.gz http:// merionet.ru /yourfile.tar.gz # Save as newfile.tar.gz Возобновить прерванную загрузку Если загрузка по какой-либо причине была прервана (например, с помощью Ctrl + c), вы можете возобновить ее очень легко. Использование -C - (тире C, пробел, тире) указывает curl возобновить загрузку с того места, где она остановилась. $ curl -C - -O http://merionet.ru/yourfile.tar.gz Скачать несколько файлов С помощью следующей команды вы сразу загрузите info.html и about.html с http://merionet.ru и http://wiki.merionet.ru соответственно. $ curl -O http://merionet.ru/info.html -O http://wiki.merionet.ru/about.html Скачать URL из файла Если вы комбинируете curl с xargs, вы можете загружать файлы из списка URL-адресов в файле. $ xargs -n 1 curl -O < listurls.txt Использовать прокси с аутентификацией или без нее Если вы находитесь за прокси-сервером, прослушивающим порт 8080 на proxy.yourdomain.com, сделайте это: $ curl -x proxy.merionet.ru:8080 -U user:password -O http://merionet.ru/yourfile.tar.gz где вы можете пропустить -U user: пароль, если ваш прокси не требует аутентификации. Заголовки запроса HTTP Заголовки HTTP позволяют удаленному веб-серверу отправлять дополнительную информацию о себе вместе с фактическим запросом. Это предоставляет клиенту подробную информацию о том, как обрабатывается запрос. Чтобы запросить заголовки HTTP с сайта, выполните: $ curl -I www.merionet.ru Эта информация также доступна в инструментах разработчика вашего браузера. Сделать запрос POST с параметрами Следующая команда отправит параметры firstName и lastName вместе с соответствующими значениями на https://merionet.ru/info.php. $ curl --data "firstName=John&lastName=Doe" https://merionet.ru/info.php. Вы можете использовать этот совет для имитации поведения обычной формы HTML. Загрузка файлов с FTP-сервера с аутентификацией или без нее Если удаленный FTP-сервер ожидает подключения по адресу ftp://yourftpserver, следующая команда загрузит yourfile.tar.gz в текущий рабочий каталог. $ curl -u username:password -O ftp://yourftpserver/yourfile.tar.gz где вы можете пропустить -u username: password, если FTP-сервер разрешает анонимный вход. Загрузить файлы на FTP-сервер с аутентификацией или без Чтобы загрузить локальный файл mylocalfile.tar.gz в ftp://yourftpserver с помощью curl, выполните: $ curl -u username:password -T mylocalfile.tar.gz ftp://yourftpserver Указание пользовательского агента Пользовательский агент является частью информации, которая отправляется вместе с HTTP-запросом. Это указывает, какой браузер клиент использовал, чтобы сделать запрос. $ curl -I http://localhost --user-agent "New web browser" Хранение Cookies Хотите узнать, какие файлы cookie загружаются на ваш компьютер, когда вы заходите на https://www.cnn.com? Используйте следующую команду, чтобы сохранить их в cnncookies.txt. Затем вы можете использовать команду cat для просмотра файла. $ curl --cookie-jar cnncookies.txt https://www.cnn.com/index.html -O Отправить файлы cookie сайта Вы можете использовать файлы cookie, полученные в последнем совете, при последующих запросах к тому же сайту. $ curl --cookie cnncookies.txt https://www.cnn.com Изменить разрешение имени Если вы веб-разработчик и хотите протестировать локальную версию merionet.ru, прежде чем запускать ее в живую версию, вы можете настроить разрешение curl http://www.merionet.ru для своего локального хоста следующим образом: $ curl --resolve www.merionet.ru:80:localhost http://www.merionet.ru/ Таким образом, запрос к http://www.merionet.ru скажет curl запрашивать сайт у localhost вместо использования DNS или файла /etc /hosts. Ограничить скорость загрузки Чтобы предотвратить потерю пропускной способности, вы можете ограничить скорость загрузки до 100 КБ/с следующим образом. $ curl --limit-rate 100K http://merionet.ru/yourfile.tar.gz -O
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59