stanislavv
лытдыбр работа Asterisk На работе погонщик техподдержки потребовал данные о звонках в БД.
Но есть нюанс — телефония вся в офисе, а БД 1) в датацентре, 2) астериск не умеет писать туда напрямую, 3) требуются поля, которые астериск в cdr не пишет
Понаписал скрипт и выяснил, что задолбаюсь вписывать его в диалплан.
Пока предварительно решил, что проще по крону проверять новизну файла логов (он же Master.csv) и потом выдирать новые звонки оттуда.
Осталось выяснить, какая задержка между покладанием трубки и попаданием в БД подойдёт сему погонщику...
stanislavv
лытдыбр работа Asterisk Товарищ, который погонщик техподдержки, поставил задачу на автовопросник на тему качества обслуживания.
Три вопроса, ответы от 1 до 5 ИЛИ тупо записать 30 секунд сообщения, сказать "спасибо" и отправить результаты и файл в панель.
И вот на ИЛИ я чего-то встрял — у нас и так все звонки пишутся (в макрос установлен MixMonitor), осталось только получить имя файла, в чём пока что есть мелкая проблема...
Hawat
нытьё freeswitch Asterisk Чего-то меня задолбало бороться с asterisk и его манерой терять переменный при переходе на Local/ (может в контексте SIP — это не лишено логики, но в контексте корпоративной МиниАТС приводит к костылестроению). Может кто в курсе, у FreeSWITCH есть подобные косяки?

Для примера. Вот есть отдел продаж. Там 5 человек, очередь RoundRobin. Кажется что все хорошо, загоняешь всех сотрудников в очередь, делаешь Queue() и забываешь. Но нет! Как только приходит: "Ой а сделайте мне переадресацию если я 30сек трубку не беру", тогда приходится городить Local/ и для правильного лога и имени файла с записью звонка добавлять глобальные переменные и т.д. Кто-то скажет: "А чего не настроить переадресацию на телефоне сразу?" и я соглашусь с этим человеком, но руководство в упор считает, что "пользователи не должны сами управлять такими вещами, иначе все из курилки работать будут..." вот такой вот ынтерпрайз...А еще в asterisk поломался модуль авто-определения факсимильного вызова, мелочь, но неприятно...
stanislavv
лытдыбр работа Asterisk Сделал маршрутизацию звонков через AGI.
Рад, щаслив, горд (С)

Вся маршрутизация:
exten => _8XXXXXXXXXX,n,AGI(/etc/asterisk/dialplan_scripts/spb.sh,${EXTEN:1})
exten => _8XXXXXXXXXX,n,Macro(${DIAL_VIA},${EXTEN})

При этом, естественно, есть макросы с именами типа macro-dial-msk, в которых происходит попытка дозвониться по одной из доступных линий, а в случае неуспеха — переключение на другую.
stanislavv
лытдыбр работа Asterisk Так как требуется, чтоб в панель уходило сообщение о том, что от клиента с таким-то номером пришел звонок и сейчас звонит такой-то телефон в очереди техподдержки — попытался обойтись малой кровью, через Gosub в настройках очереди. Не вышло — сообщение уходит уже после поднятия трубки.
Ну чо, раз такое тз — сами виноваты, что я пишу это на перле :-)
stanislavv
лытдыбр работа Asterisk Таки выяснилось, что звонки в область через местный номер, предоставленный билайном стоят в полтора-два раза дороже, чем звонки на тот же номер, но через московский ростелеком.
И даже звонки на местные сотовые — аналогично...
Ну чо... Список префиксов для Екб (аж две штуки), список префиксов для СПб (полторы сотни), остальное — через МСК.
stanislavv
лытдыбр работа Asterisk Взяли два доп. номера — в мск и спб. Оба от ростелекома, оба — через sip.
Раз взяли — надо настроить в asterisk.
Но есть грабли: параметр externip= является глобальным для всего демона и он уже установлен в нужное значение, через которое работает номер с 8-800
Сижу, чешу репу...
asket
VoIP freepbx Asterisk Всегда настраивал Астериски ручками, конфигами или БД. А тут попросили на несколько систем натянуть FreePBX. В общем, теперь всякие говномордочки я ненавижу еще больше — они как армейские ботинки : cначала жмут и неудобно, а потом нога приобретает форму ботинка и нормально. Так и здесь- надо себе мозг изнасиловать чтобы понять логику это дряни.
asket
коллекторы банки VoIP Asterisk Купил новую симку и вот уже месяц заебывают звонками коллекторы. Ни на какие уговоры не ведутся что я не Анастасия ( и вообще я бородатый 30-летный мужыг с перегаром). Ну ок, олени гребаные- не понимаете человеческого- поговорите с роботом, мое кун-фу IVR-систем круче вашего. Втыкаем симку в GSM-модемчик, модемчик в сервачок, подвязываем к Астериску- и понеслась творить. Пущай пообщаются.
Hawat
web webui Asterisk Первое что делает Asterisk-GUI(тот который официальный от digium) после запуска — убивает созданные ранее extensions.conf и sip.conf и заменяет на свои в которых черт ногу сломит. Хорошо, что это виртуалка была, а не рабочий сервер. Вообще от него требовался только мониторинг линий и выгрузка отчетов по звонкам, надо что-то менее деструктивное искать видимо.
seeker
Asterisk слушайте а ктонить пользовался goautodial или vicidial ? Ато я что-то совершенно непонимаю как они устроены и работают
werru
sugarCRM CRM Asterisk небольшое howto как выдрать номер из базы CRM при звонке на asterisk (Freepbx-Elastix) и отправить его на экран менеджеру
В Freepbx
в файле extensions_custom.conf
[custom-CallNotifcall]
exten => s,1,TrySystem(/usr/bin/ssh user@server "nohup bash /home/user/notify ${CALLERID(name)}" &)
exten => s,n(dest-ext),Goto(ext-group,600,1)
в Custom Destination admin-Freepbx запись callnotif, которая обращалась к макросу custom-CallNotifcall,s,1
Далее в Incoming Route делаю custon destiation callnotif

скрипты
notify
#!/bin/bash
#
#Send messages through SSH to remote hosts' notify-osd
#
message="$@"
message=`echo $message|cut -c2-`
message=`/home/user/search_data.py $message`
logger "обработанная инфа "$message
ssh manager1@manager1-work.local "DISPLAY=:0 XAUTHORITY=/home/manager1/.Xauthority zenity --info --text \"$message\"" &
ssh manager1@manager2-work.local "DISPLAY=:0 XAUTHORITY=/home/manager2/.Xauthority zenity --info --text \"$message\"" &
exit

search_data.py
#!/usr/bin/env python
# -- coding: utf-8 --
import MySQLdb as db
import sys
q="%"+sys.argv[1]+"%"
con=db.connect(host="sugar_server",
user="user",
passwd="pass",
db="sugarcrm",
charset="utf8" )
cur = con.cursor()

#запрос в LEADS
querry="""SELECT `first_name`,`last_name`,`account_name`,`assigned_user_id` FROM `sugarcrm`.`leads` WHERE CONVERT(`phone_home` USING utf8) LIKE '%(q)s' OR CONVERT(`phone_mobile` USING utf8) LIKE '%(q)s' OR CONVERT(`phone_work` USING utf8) LIKE '%(q)s' OR CONVERT(`phone_other` USING utf8) LIKE '%(q)s'"""%{"q":q}
cur.execute(querry)
for row in cur:
print row[1].encode('utf-8'), " ", row[0].encode('utf-8'), " ", row[2].encode('utf-8'), " ", row[3].encode('utf-8')

#Запрос в Контрагенты
querry="""SELECT `name` FROM `sugarcrm`.`accounts` WHERE CONVERT(`phone_fax` USING utf8) LIKE '%(q)s' OR CONVERT(`phone_office` USING utf8) LIKE '%(q)s' OR CONVERT(`phone_alternate` USING utf8) LIKE '%(q)s'"""%{"q":q}
cur.execute(querry)
for row in cur:
print row[0].encode('utf-8')

#Запрос в Контакты КОНтрагентов
querry="""SELECT `first_name`,`last_name`,`assigned_user_id` FROM `sugarcrm`.`contacts` WHERE CONVERT(`phone_fax` USING utf8) LIKE '%(q)s' OR CONVERT(`phone_other` USING utf8) LIKE '%(q)s' OR CONVERT(`phone_work` USING utf8) LIKE '%(q)s' OR CONVERT(`phone_home` USING utf8) LIKE '%(q)s' OR CONVERT(`phone_mobile` USING utf8) LIKE '%(q)s'"""%{"q":q}
cur.execute(querry)
for row in cur:
print row[1].encode('utf-8'), " ", row[0].encode('utf-8'), " ", row[2].encode('utf-8')

cur.close()
con.close()

Из проблем пока не понял как сделать всплывающие сообщение notify не работает через ssh, zenit --notification с ошибками отваливается
werru
? Asterisk Озаботился связать наш CRM и Aterisk. Искалку для CRM навоял, а вот как запускать скрипт из Asterisk при звонке не догоняю.
Asterisk у меня на Elastix :) в каждом файле "этот файл генерируется автоматически". Куда копать?
486DX4-120
Asterisk Хочу сделать перезапуск Asterisk через набор определенного экстеншена. Иногда транки отваливаются, приходится делать restart. Команда System(/etc/init.d/asterisk restart) не канает почему-то.
486DX4-120
Linux CentOS Asterisk Какого хрена, когда заканчивается место на диске, коцаются файлы (например, agi скрипты freepbx)?? Я понимаю логи, не до конца пишутся, но скрипты? Он же их читает, а не пишет?
idv
Asterisk чего-то я сегодня туплю... есть взятый с сайта россвязи файлик с DEF-кодами и их принадлежностью операторам. Надо на основе caller-id звонки с конкретного региона заруливать на конкретного оператора. Как бы из этого файлика формата "968;3100000;3199999;100000;Вымпел-Коммуникации;Москва и Московская область" сформировать диалплан для астера? или лучше запихать в какую-то базу и обращаться к базе? гм......
idv
Asterisk ну вашу мать — config.c:1414 process_text_line: The file '/etc/asterisk/sip_extensions.conf' was listed as a #include but it does not exist.
надо ли уточнять, что файл отлично существует и права правильные?
asket
VoIP работа Asterisk Возникла нужда выставить Asterisk в дикий интернет. Соответственно, нужно в первую очередь накрутить безопасность. Отключение дефолтного экстена, запрет гостевых вызовов, alwaysauthreject=yes, длинные пароли в разном регистре и со спецсимволами,логины не короче 8 знаков, доступ к SIP только с российских IP, fail2ban на все события астериска и SSH, доступ к системе только с определенных IP и только по ключу, запрет логиниться рутом, сторожевые велоси^ скрипты, проверяющие активность астериска по рисковым направлениям — народ, этого достаточно? Или есть еще какие-то хитрости, которые тоже желательно допилить перед запуском?