Произошло какое-либо событие о котором необходимо проинформировать своих клиентов. Информация должна быть доведена путем совершения звонка абоненту и передачи информации о событии. При этом количество абонентов значительное, а времени и персонала задействованных на эту операцию — нет. Что это может быть в жизни? Например необходимо напомнить сделать взнос по кредиту, предоставить информацию о новой услуге существующим или потенциальным клиентам, сообщить клиенту о выполненной заявке,сообщить о произошедшем событии в диспетчерских службах и даже поздравить с праздником, — в этих и во многих других случаях необходимо совершить большое количество звонков.
Схема и все подготовительные работы остаются прежними (см. Проверка каналов ).
- Формируется перечень абонентов которым будет совершен вызов и передано голосовое сообщение
- Формируются шаблоны сообщений (любое количество в зависимости от темы)
- Производим вызовы по данным каналам и проигрываем заранее записанные шаблоны сообщений
- При необходимости регистрируем результат в базе с фиксацией неудачных вызовов и недослушанных сообщений
Система оповещения готова.
Раз уж так коротко, можно отметить некоторые настройки не касающиеся Asterisk но влияющие на его работу и не отмеченные в предыдущей статье. В файл /etc/sysconfig/iptables добавляем следующие строки:
- -A INPUT -m udp -p udp —dport 5060 -j ACCEPT
- -A INPUT -m udp -p udp —dport 9000:20000 -j ACCEPT
Открываем порт 5060 для обмена сигналами по протоколу SIP и порты от 10000 до 20000 для RTP-трафика. На порту 5060 происходит авторизация и обмен информацией для установления соединения. Передача голоса осуществляется с помощью другого протокола – RealTime Transport Protocol (транспортный протокол реального времени – RTP; RFC 3550) – для передачи медиа-данных непосредственно между двумя конечными точками. Диапазон RTP портов можно отрегулировать с помощью файла /etc/asterisk/rtp.conf.
- [general]
- ;
- ; RTP start and RTP end configure start and end addresses
- ;
- ; Defaults are rtpstart=5000 and rtpend=31000
- ;
- rtpstart=9000
- rtpend=20000
И еще — какова производительность системы? (попросту сколько абонентов будут оповещены и за какой промежуток времени)Первое, что надо учесть, это объем необходимого звукового файла с рекламным или информационным сообщением. Этот файл будет воспроизводиться клиентам. Технически его длительность может быть довольно большой, однако оптимальным будет хронометраж до 30 секунд — чем длиннее сообщение, тем меньше вероятность того, что клиент дослушает его до конца. Напомню, произвести запись сообщения, позвонив на номер -5555, можно следующим образом:
- [msg]
- exten => 5555,1,Wait(2)
- exten => 5555,2,Record(ru/vm-msg:gsm)
- exten => 5555,3,Wait(2)
- exten => 5555,4,Playback(vm-msg)
- exten => 5555,5,Wait(2)
- exten => 5555,6,HangUp()
И второе — количество используемых соединительных линий. Если мы используем 4-х портовый FXO шлюз(DVG-6004s как в примере Офисная АТС ), то с учетом 30 секундного сообщения, получим производительность — 8 абонентов в минуту. На практике данная цифра несколько меньше, так как необходимо время для ответа абонента, или в случае не ответа будет задержка на интервал указанный в параметрах:
- WaitTime: число
- RetryTime: число
- MaxRetries: число
Если используется SIP-транк или поток Е1, производительность возрастает до 60 абонентов в минуту. В обоих случаях необходимо контролировать файл /var/spool/asterisk/outgoing, что бы не «перегрузить» его. Количество сформированных исходящих файлов за определенный период, не должно превышать количество соединительных линий.