Страница 1 из 1
Помогите сделать автообзвон с открытием URL
Добавлено: 17 июн 2014, 22:58
itnet
Здравствуйте!
Стоит задача сделать авто обзвон, перерыл множество материала но не могу найти пример на свою задачу, может кто сможет помочь.
Итак есть астериск, в папку по пути /var/send/ будут постоянно скидываться файлы. имя файла номер в международном формате для примера 79095055050.txt содержимое файла будет номер телефона 79095055050;url-ссылка Каждый будет называться номером в международном формате xxxxx.txt и содержать в себе тот же номер что в названии файла и url ссылку. как видно в примере.
необходимо сделать perl или php скрипт который будет анализировать папку /var/send/ на появление новых файлов с номерами телефонов (попросту в крон задачу поставить запускаться каждые 10 сек. скрипту) далее открывать файл, прочитывать номер телефона отправлять его в call файл, если звонок состоялся (абонент взял трубку) тогда запустит ссылку которая была в этом файле, затем удалить файл, и так с каждым файлом. Если звонок не состоялся то не делать попыток дозвона а удалить файл.
Re: Помогите сделать автообзвон с открытием URL
Добавлено: 18 июн 2014, 00:50
ded
Автообзвон = спам, карается законом РФ.
Не заморачивайтесь, а то нарвётесь на неприятности. Карается в административном порядке.
Федеральный закон Российской Федерации от 13 марта 2006 г. N 38-ФЗ О рекламе
Опубликовано 15 марта 2006 г.
Принят Государственной Думой 22 февраля 2006 года
Одобрен Советом Федерации 3 марта 2006 года
--------------------------------------------------------------
Статья 3.1 Основные понятия, используемые в настоящем Федеральном законе
--skipped--
реклама - информация, распространенная любым способом, в любой форме и с использованием любых средств, адресованная неопределенному кругу лиц и направленная на привлечение внимания к объекту рекламирования, формирование или поддержание интереса к нему и его продвижение на рынке.
--skipped--
--------------------------------------------------------------
Статья 18. Реклама, распространяемая по сетям электросвязи и размещаемая на почтовых отправлениях
1. Распространение рекламы по сетям электросвязи, в том числе посредством использования телефонной, факсимильной, подвижной радиотелефонной связи, допускается только при условии предварительного согласия абонента или адресата на получение рекламы. При этом реклама признается распространенной без предварительного согласия абонента или адресата, если рекламораспространитель не докажет, что такое согласие было получено. Рекламораспространитель обязан немедленно прекратить распространение рекламы в адрес лица, обратившегося к нему с таким требованием.
2. Не допускается использование сетей электросвязи для распространения рекламы с применением средств выбора и (или) набора абонентского номера без участия человека (автоматического дозванивания, автоматической рассылки).
Re: Помогите сделать автообзвон с открытием URL
Добавлено: 18 июн 2014, 03:40
itnet
Мы будем делать автообзвон наших клиентов, давшие документально свое согласие на информирование и рекламные акции компании.
Re: Помогите сделать автообзвон с открытием URL
Добавлено: 18 июн 2014, 07:53
virus_net
itnet писал(а):но не могу найти пример на свою задачу
смотря что вы искали. если готовый скрипт прямо для копипаста для вас, то конечно не найдете
itnet писал(а):попросту в крон задачу поставить запускаться каждые 10 сек. скрипту
крон - минимально раз в минуту. если каждые 10 сек. то это скрипт с бесконечным while в бекграунде вешать
itnet писал(а):может кто сможет помочь
не понятно чем конкретно нужно помочь ? написать скрипт за вас ? стесняюсь спросить - бесплатно ? сомневаюсь что найдутся желающие
алгоритм вы сами расписали, осталось только сесть и накодить
ded писал(а):Автообзвон = спам, карается законом РФ.
Эх... если бы их ещё кто то соблюдал и карал... Мне домой постоянно названивают.... то зубная клиника, то окна, то и т.п. реально задрали. Иногда прямо таки горю желанием записать "пошли на хутор" и так же запустить беспонечную звонилку на их номер, чтобы они порадовались собственному методу.
Re: Помогите сделать автообзвон с открытием URL
Добавлено: 18 июн 2014, 12:47
zzuz
Для этих дел необходимо нанять программиста , так как алгоритм обзвона , представленный в ТЗ, мягко говоря странный.
Можем предложить свое решение. Но хранить ссылки нужно будет не в отдельном единичном файле , а где нибудь в БД .
http://www.line24.ru/products/autodialer
Re: Помогите сделать автообзвон с открытием URL
Добавлено: 18 июн 2014, 14:04
andyk74
вся ваша задача реализуется средствами самого астериска и командой curl или wget;
единственное, вам нужен скрипт, преобразующий файл формата:
itnet писал(а):имя файла номер в международном формате для примера 79095055050.txt содержимое файла будет номер телефона 79095055050;url-ссылка
в .call–файл астериска:
Код: Выделить всё
Channel: SIP/trunkname/PHONE-NUMBER
Application: System
Data: curl URL
Или вот:
Код: Выделить всё
#!/usr/bin/env ruby
require 'tempfile'
require 'fileutils'
require 'pp'
SLEEP_TIME = 10
TRUNK = 'SIP/freevoipdeal'
while true do
Dir.glob('./spool/*.txt').each do |file_name|
file_content = File.readlines(file_name)
if file_content.size > 1
puts "Wrong file #{file_name}, too many lines!"
# move file to failed folder then
else
puts "Single line file: #{file_content[0]}"
phone_number, url = file_content[0].split(';')
if phone_number.empty? || url.to_s.empty?
puts "Wrong data – phone_number: #{phone_number}, url: #{url}!"
# move file to failed folder then
else
temp_file = Tempfile.new("#{phone_number}-")
temp_file.puts "#!/bin/sh"
temp_file.puts "curl -H 'Content-Type: application/json' \"#{url}\" >> #{temp_file.path}.log"
temp_file.close(false)
FileUtils.chmod 'u=wrx', temp_file.path
`asterisk -rx "originate #{TRUNK}/#{phone_number} application System #{temp_file.path}"`
temp_file.delete
# validate logfile (exists/not)
# copy log file from #{temp_file.path}.log somewhere
# move original file from spool to processed or failed folder, based on logfile content
end
end
end
puts 'Waiting for next cycle'
sleep SLEEP_TIME
end
Re: Помогите сделать автообзвон с открытием URL
Добавлено: 18 июн 2014, 14:06
andyk74
и да, код на руби, что я привел, позволяет дополнительно обработать все что было после curl (веб-запроса), что много удобнее.
хотя это все по-желанию, вполне все можно делать прямо в дайлплане астериска, ваш дайлер очень несложен