Перейти к содержанию

Gsm-Диспетчер Для Такси На Базе Asterisk


I am mechanic

Рекомендуемые сообщения

С почином, у меня теперь свой блог...

Начнем с повторения моего описания GSM-Диспетчера такси перенесено отсюда:http://forum.cxem.net/index.php?showtopic=151447&st=0

Программно-аппаратный на базе GSM-сети, автономный (no human) "Диспетчер такси" на базе PBX Asterisk, MySQL. Одна из фишек Диспетчера (callback) обратный звонок клиенту при вызове такси - сберегает баланс клиента. И многое другое. Администратор Диспетчера получает доступ со своего телефона, для внесения и удаления сотовых телефонов такси в базу данных, посредством набора с клавиатуры (через dtmf-сигнализацию). После этого - Сервер сам вносит в очередь сотовые таксистов и удаляет в конце работы, при дозвоне на служебный номер системы, узнавая ИХ по номеру телефона - без допнабора. Т.е. позвонил на номер - система узнала и зарегала, ты на работе. Позвонил второй раз удален из системы, на отдых.. Интернет и Человек-диспетчер системе НЕ нужны. Работает везде где есть GSM-сеть и розетка 220. Возможно расширение и клонирование Системы. Подскажу где купить оборудование. При желании можно купить оборудование, с поддержкой в дальнейшем по удаленке, объяснялке. Система отлажена и опробована, требуется тестирование в работе. В данный момент Система вертится на Rasp Pi с USB-хабом (внеш. питание) и думается что для двух-четырех донглов этого достаточно, иначе ставим на более мощное железо и lets go...

Есть фильтрация на донгле с каллбеком по префиксу номеров... тэе с платных номеров (или другого региона) облом - каллбека на платник или на леводалекий номер не будет...

Если достали клиенты, сил нет... Есть "черный список" внесение номеров в который, осуществляет админ со своего телефона, также - посредством dtmf-сигнализации и удаляет номера также, через нее самую...

Есть следующее, клиент вызвавший такси - может отменить вызов... Работает это так: клиент повторно дозванивается на донгл с каллбеком , получает каллбек, Система знает номер телефона вызванного такси и соединяет его именно с Ним...

Также и такси приехав по месту вызова, может позвонить на донгл с каллбеком (номер вызова такси), получив каллбек, Система знает номер клиента который вызвал Этого таксиста и соединит его именно с Ним... Без какого либо допнабора...

Есть запись Всех разговоров между клиентами и такси...О чем предупреждается при досвоне на клиентский донгл.... Все номера соединенных и дозвонившихся телефонов вносятся в Базу данных... В ту или иную таблицу БД.... Голосовые посказки вещают в разных местах обработки вызовов - работает разветвленное голосовое меню IVR...

По проекту, все таксисты вышедшие на работу-зарегавшиеся в системе, становятся в очередь... стратегия rmemory.. тэе следующий вызов направляется на такси - следующее за принявшим последний вызов... Если такси не может или не хочет принять вызов - надо только нажать кнопку отбоя, не принимая вызов и стратегия очереди перенаправит вызов на следующее в очереди такси...

Есть "Пасхальное яйцо" для Админа - нигде не озвучено, но надо просто набрать допномер 100, чтобы узнать - текущее время и дату....

При изначальном вводе номера желающего работать посредством dtmf, система ТРИ раза диктует голосом по цифрам введенный номер и если не нажата кнопка отбоя, вносит его в БД...

Отбой необходимо нажать если руки тряслись и ввел не тот номер, затем можно бесконечное число раз повторить проделанное - желательно правильным вводом.... Также происходит и удаление - по принципу если УЖЕ есть, значит удаляем...

Короче проблем нет контролировать небольшую или большую таксофирму - ТОЛЬКО с одного мобилы Админа...

Также есть подменю чб удалить "ушлых" таксистов из очереди если они в конце смены "забыли" позвонить-удалится, а период оплаты закончился и Админ удалил их из БД Системы...

В дальнейшем планируется прикрутить внутренний Биллинг - без интеграции с платежными системами, код уже есть - осталось отладить... Если кому надо будет...

Также есть голосовая почта с ivr-меню (общий ящик работает, можно внутренние номера для таксистов назначить -тогда у каждого голосоваяя почта будет), пока отключена, не вижу пока цели для применения...

При ожидании ответа такси или переводе звонка на другое такси клиент слушает музыку... Так как для него вызов входящий - он комфортен во времени... Для донгла с каллбеком - Администратор покупает СИМ-карту с безлимитным тарифом, исходя из потребностей...

Для удобства "общения" с Системой, можно поставить что-то типа phpMyAdmin - для проверки и контроля таблиц БД... Ну и конечно для Всех желающих можно поставить - Asterisk GUI и рулить Диспетчером через свой браузер...

В Диспетчере есть следующая фишка: водители такси могут зарегистрировать в Системе свое местонахождение. Работает это так... Позвонив на служебный номер в начале раб.дня, таксист регается на "работе", припарковавшись где-либо и позвонив опять на служебный номер, перед удалением из очереди (см.выше), водиле каждый раз будет проигрываться сообщение:

"Внесите в систему данные о своем местонахождении. Если вы находитесь в первом микрорайоне, нажмите - 01, во-втором - 02 и т.д" .

После введения нужных цифр, услышит сообщение:

"Система зарегистрировала Ваше местоположение"

Далее... При дозвоне клиента на номер вызова такси, он попадает в очередь такси (см.выше), таксист принявший вызов согласно очереди, может поехать сам, а может спросить клиента в какой ему микрорайон и если ему далеко, нажать # и услышав "Перевод", просто набрать номер микрорайона в системе, например тот же 01, система достанет из БД номер таксиста , который зарегался в 1 микрорайоне... В итоге принявший вызов таксист, если не хочет ехать, переводит вызов на того кто зарегался в 1-м микрорайоне (например), система осуществляет дозвон на номер 01, если таксист отвечает, вызов переходит на него , а принявший первым вызов таксист, отбивается... Если никто не принял вызов по номеру 01(например), клиент переводится на следующего таксиста в очереди... В любом случае, если ответил или не ответил, зарегистированный таксист, теряет регистрацию в текущем микрорайоне и должен привязаться позвонив на служебный номер опять...

Также система проверяет перед регистрацией желающего, если уже кто-то зарегался в микрорайоне, второму такси будет отказано и рекомендовано привязаться к другому микрорайону... Короче для динамики процесса таксования сделано все, чб без застоя и столбирования Все по-чесноку...

При переадресации вызова клиента, одним такси (принявшим вызов) по номеру микрорайона на другое такси, система меняет номер вызванного такси на лету и привязывает его в БД к клиенту. Чб работала схема в цитате... Т.к. поедет-то другое такси, а не принявшее вызов...

Оборудование в рабочем режиме выглядит вот так:

Raspberry B - 700МГц RAM 512Мб

2 GSM-модема E173 (173 работают стабильно, E1550 у меня постоянно отваливался, другие не тестил..)

USB-хаб с 3 и более портами (любой с внешним питанием от розетки 220 В)

2981a30a2818.jpg

Есть примитивный биллинг. Также прикрутил функцию, проверки своего баланса для таксистов.. Через допнабор, при регистации по выходу на работу, им предлагается ввести - 90 для проверки баланса. Баланс произносится голосом, по цифрам, например: один, два, три - это соответстно 123 руб. и тэдэ. Если -50, тогда проговаривает: минус. пять , ноль... Если баланс отрицательный - таксисту предлагается его пополнить и пока досвидания...То есть он не сможет зарегаться в системе (встать в очередь) пока не пополнит балланс не менее минимальной суммы т.е 10 руб. Начав работать с этой суммой - водила может уйти в минуса, но как только он попытается зарегаться в каком-нибудь микрорайоне, ему будет отказано с рекомендацией - пополнить баланс и он вылетит из регистрации (очереди).

У Админа полный пакет контроля над балансами посредством dtmf, как обычно, проверяет и пополняет баланс любого таксиста... Если номер новый система сразу предлагает его пополнить, через донабор номера и ввести сумму на его счет. Все платежи и время внесения сохраняются в БД и динамически меняются во время работы..

При приеме заказа со счета таксиста списывается некая сумма за заказ (например -10 руб), если таксист перевел вызов на другого, привязанного к микрорайону водилу, система списывает уже со счета этого водилы стоимость заказа, одновременно возвращая списанную сумму на счет принявшего вызов таксиста.

1. Добавлена функция проверки вводимого номера (цифры) микрорайона привязки такси (из предлагаемого диапазона -01, 02, 03, 04, 06, 07, 10). В случае неправильного ввода номера микрорайона, Система предлагает ввести правильный номер при следующем дозвоне (что бы не занимать линию-повторным приглашением, "призыв" быть внимательнее).

2. Добавлена функция для Администратора, для перезагрузки системы (reboot). Для этого при дозвоне на служебный номер, во время сообщения системой меню управления, необходимо ввести допномер 44 (система не сообщает об этом - это скрытая функция для Админа)

3. Добавлена функция внесения и удаления номеров Админа посредством dtmf. Для того что-бы внести новый номер Админа (дополнительный) для управления Системой, необходимо при дозвоне на служебный номер ввести допномер 88, о чем система сообщает в голосовом меню. Система проверяет наличие введенного номера в базе данных, при отсутствии данного номера - он вносится в БД, если номер уже есть в БД, он будет удален (по-принципу - если есть, удаляем).

Внимание! При внесении и удалении номеров Админа из БД, можно удалить и внести все номера, кроме основного (super)Админского, прописанного в конфиге Астериск. Полное управление системой возможно с ЛЮБОГО Админского телефона,по функциональности управления системой, между ними различия нет. Суперадминский номер, прописан жестко, для того, что-бы ошибочно не удалить ВСЕ номера админских телефонов из базы данных, что сделает невозможным управление Системой с телефона. Тогда потребуется поключение к БД, для восстановления номера Админа в Системе.

P.S. Админский номер может быть таксистом, для этого ему надо внести самого себя в Очередь такси через допномер 22 дозвонившись на служебный номер. В дальнейшем удалится можно таким же путем.

Добавлена возможность регистрации вызовов, самими таксистами... Для этого им при дозвоне на служебный номер GSM-Диспетчера, предлагается зарегать удачный заказ - набрав 111, или отменить в базе данных неудачный - набрав 000. Админу добавлена функция, проверки колличества этих самых - Удачных заказов для любого номера, набрав - 555 и тут же предлагается вернуть деньги таксисту за неудачный заказ набрав - 666, которые списались, когда он взял трубу и не поехал (например номером ошиблись). Админ проверяет, доверяет и компенсирует издержки системы - в виде возврата денег за заказ. Каждый набор 666 - возвращает (таксу) деньги за Один заказ.

Всем желающим использовать Диспетчер для работы своего таксопарка:

Как ставить донглы есть в ветке форума (мой пост http://forum.cxem.net/index.php?showtopic=114312&st=300#comment-1818574)...

Также могу скинуть образ системы Debian (all inclusive) в себе, образ можно залить только на Rasp Pi.. Внимание! Образ системы весит 16Гб (гигабайт)... Без жирного приватного фтп - не обойтись.

Прикрепил архив с конфигами Диспетчера для Asterisk и текстовый файл с таблицами для MySQL

Кто сам не разберется или что-то криво пойдет... пишет здесь и получает по мере возможностей, ответы и разъяснялки...

asterisk_for_blog.rar

tables_mysql.rar

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...
Начав работать с этой суммой - водила может уйти в минуса, но как только он попытается зарегаться в каком-нибудь микрорайоне, ему будет отказано с рекомендацией - пополнить баланс и он вылетит из регистрации (очереди).

Дополнена функция работы с балансом.

Теперь у любого принявшего вызов таксиста из очереди, на стадии его ответа - проверяется баланс и если он отрицательный, номер таксиста удаляется из Очереди вызовов и до пополнения баланса он не сможет зарегатся в очереди снова...

Как это работает - здесь: http://asteriskforum...p?p=81766#81766

Прикручена функция - изменения тарифа за вызов (в БД таблица tariffs), посредством dtmf с мобилы Админа. Функция скрыта - просто надо ее знать и при дозвоне на служебный номере, на стадии голосового меню - донабрать 123. Ивр попросит ввести сумму нового тарифа за вызов, повторит ее голосом и сообщит об изменении тарифа.

Изменено пользователем I am mechanic

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Добрый день Господа!

Выкладываю обновления для extensions.conf... В них реализована уматная штука на базе unix-времени... А именно, отслеживание клиентов - которые заеб.вают номер с колбеком...

Для себя я - сделал так, если клиент звонит на номер с колбеком чаще 5 мин (300 сек) сливаем его на час (3600 сек) в блеклист... Постоянно проверяем входящие на колбек и если номер в блеклисте менее 3600 сек, досвидание ему, если более 3600 сек - удаляем его из блеклиста и даем колбек ему...

Период не заеб.вания и срок отсидки в блеклисте - можно установить свои, поменяв циферки которые выше (в сек)...

Прикрепил - только контексты с этими дополнениями...

.................

Еще один баг советую поправить. Грабли в следующем, конструкция такого типа:

; Проверяем наличие агента в БД-очереди
; root - пользователь, pass - пароль, asterisk - имя БД
exten => _+X.,n,MYSQL(Connect connid localhost root taxer asterisk)
exten => _+X.,n,MYSQL(Query resultid ${connid} SELECT AgentQueue FROM tblagentqueue WHERE AgentQueue=${EXTEN} ORDER BY AgentQueue DESC LIMIT 0,1)
; Получаем номер
exten => _+X.,n,MYSQL(FETCH fetchid ${resultid}
${EXTEN})
; Если его нет в очереди на регистрацию, иначе - удаляем из очереди
exten => _+X.,n,GotoIf($[${fetchid} = 0]?goreg:delag)
; Очищаем результат, он нам больше не нужен
exten => _+X.,n,MYSQL(Clear ${resultid})
; Дисконектимся
exten => _+X.,n,MYSQL(Disconnect ${connid})
; Номер получен, проделываем нужное
exten => _+X.,n,NoOP(Number - ${EXTEN})

не удачна, потому как строка:

exten => _+X.,n,GotoIf($[${fetchid} = 0]?goreg:delag)

находится не в нужном месте кода, это чревато тем, что не будет выполняться строка:

; Дисконектимся
exten => _+X.,n,MYSQL(Disconnect ${connid})

И в итоге образуется много подвисших коннектов к БД, после перехода по GotoIf, из-за чего кол-во разрешенных одновременно подключений может исчерпаться...

Правильной будет вот такая конструкция:

; Проверяем наличие агента в БД-очереди
; root - пользователь, pass - пароль, asterisk - имя БД
exten => _+X.,n,MYSQL(Connect connid localhost root taxer asterisk)
exten => _+X.,n,MYSQL(Query resultid ${connid} SELECT AgentQueue FROM tblagentqueue WHERE AgentQueue=${EXTEN} ORDER BY AgentQueue DESC LIMIT 0,1)
; Получаем номер
exten => _+X.,n,MYSQL(FETCH fetchid ${resultid} ${EXTEN})
; Очищаем результат, он нам больше не нужен
exten => _+X.,n,MYSQL(Clear ${resultid})
; Дисконектимся
exten => _+X.,n,MYSQL(Disconnect ${connid})
; Номер получен, проделываем нужное
exten => _+X.,n,NoOP(Number - ${EXTEN})
; Если его нет в очереди на регистрацию, иначе - удаляем из очереди
exten => _+X.,n,GotoIf($[${fetchid} = 0]?goreg:delag)

Я не буду править exensions.conf в общем доступе... Если кому надо скинте в личку - я поправлю..

extensions_new.rar

Изменено пользователем I am mechanic

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Добавлено следующее - при первом дозвоне на Служебный, звонок таксиста переводится на Админа, для оговаривания условий и внесения в БД... Поэтому все кто звонил первый раз - будут вносится в отдельную таблицу БД.. На тот случай - если не получили ответ и тэ.дэ..

; Ветка для связи с Админом
exten => _+X.,1(toadmin),Answer()
exten => _+X.,n,Playback(/var/lib/asterisk/agents/otvetadmina)
; Выполняем запись номера в БД
exten => _+X.,n,MYSQL(Connect connid localhost root taxer asterisk)
exten => _+X.,n,MYSQL(Query resultid ${connid} INSERT IGNORE INTO tblWhoCallme (`NumCallUser`,`callDate`) VALUES ('${EXTEN}',NOW()))
; Дисконектимся
exten => _+X.,n,MYSQL(Disconnect ${connid})
exten => _+X.,n,Dial(Dongle/dongle0/+79ХХХХХХХХХ,40,tTmw)
;exten => 103,n,Macro(voicemail,103)
exten => _+X.,n,Playback(/var/lib/asterisk/incallmenu/adminlate)
exten => _+X.,n,Playback(vm-goodbye)
exten => _+X.,n,Hangup()

И таблица для MySQL:

CREATE TABLE`tblWhoCallme` (
`NumCallUser` varchar(20) NOT NULL,
`sortOrder` bigint(20) NOT NULL AUTO_INCREMENT,
`callDate` datetime,
PRIMARY KEY (`sortOrder`),
UNIQUE KEY `NumCallUser_UNIQUE` (`NumCallUser`)
) DEFAULT CHARSET=utf8;

В контексте за иксами - прописан номер Админа... Можно брать - если Админ не один из таблицы

CREATE TABLE`tblAdmins` (
`id` INT(10) NOT NULL AUTO_INCREMENT,
`numberAdmin` CHAR(20) NOT NULL,
`time_create` TIMESTAMP,
PRIMARY KEY(`id`)
);

...

Тогда надо выбирать по-какому либо алгоритму из таблицы Админов... Мне не надо, потому этого нет. Если кому надо - пишите в личку, подумаем...

Изменено пользователем I am mechanic

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Добавлено следующее - при дозвоне Админа на служебный и допнаборе номера 99, на мыло Админа будет отправлено таблица tblWhoCallme (см. выше пост)... Функция скрытая, ее нет в ivr, если надо - можно записать аудио и добавить в контекст, строку например:

[whatdo]
...
exten => s,n,Background(/var/lib/asterisk/answer/"для отправки мыла наберите 99")
...

Устанавливаем простой почтовик:

apt-get install ssmtp

Редактируем файл конфигурации для отправки..

nano /etc/ssmtp/ssmtp.conf

Сокращая для своих нужд без лишних извращений

root=postmaster
mail.domain.com
mailhub=mail
hostname=mail.ru
mailhub=smtp.mail.ru:25
#mailhub=pop3.mail.ru:110
hostname=ENTER YOUR RPI'S HOST NAME HERE
AuthUser=моемыло@mail.ru
AuthPass=мойпароль
useSTARTTLS=YES

В файл revaliases

nano /etc/ssmtp/revaliases

Добавляем строку

root:моемыло@mail.ru:smtp.mail.ru:25

В данном случае - письмо будет от, и из под рута, улетать... Если под другим юзером надо, ставим его имя, вместо рута... не пробывал, возможно будут грабли с правами на прогу!?

В extensions.conf добавляем контекст для номера 99

[sendmail]
exten => 99,1,System(/etc/asterisk/scripts/sendmail.sh)
exten => 99,n,Playback(/var/lib/asterisk/answer/"мыло_отправлено")
exten => 99,n,Hangup

Добавляем в контекст:

[whatdo]
...
include => sendmail

Пишем скрипт sendmail.sh, который будем запускать из контекста, при дозвоне на 99

#!/bin/sh
mysqldump -c -u root -ptaxer asterisk tblWhoCallme > /home/tblWhoCallme/sendCallme.txt
ssmtp -v моемыло@mail.ru < /home/tblWhoCallme/sendCallme.txt

Кладем куда надо (см. путь в контексте после System), ставим права

~#chmod +x sendmail.sh

Для хранения промежуточных данных создаем директорию, ставим права.

~#mkdir /home/tblWhoCallme
~#chmod +x /home/tblWhoCallme

Звоним на служебный, слышим ивр, набираем 99, запускается скрипт, сохраняет tblWhoCallme в /home/tblWhoCallme в текстовом формате (не заморачиваясь с кодировками) - оттуда письмо улетает по адресу... Слышим "мыло отправлено"... Отбой.. Соответстно скрипт можно поставить в cron и отправлять мыло, когда надо...

У меня также, каждые сутки сохраняются архивы tblWhoCallme без сжатия, сделанные посредством скрипта zip_tblWhoCallme.sh

#!/bin/sh
KEEPTIME="60"
mysqldump -c -u root -ptaxer asterisk tblWhoCallme | gzip -c > /home/tblWhoCallme/`date "+%T-%d-%m-%Y"`.gz
#mysql -u root -ptaxer -D asterisk < tblWhoCallme.sql (внутри tblWhoCallme.sql, строка - TRUNCATE TABLE tblWhoCallme;, если это надо)

Скрипт болтается в cron:

40 3 1-31 * * /etc/asterisk/scripts/zip_tblWhoCallme.sh

Изменено пользователем I am mechanic

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Подмечено следующее, если параметр RSSI какого-либо из донглов менее 8 единиц, происходит отваливание модема от GSM-сети... Проявляется это в том, что звонок на номер идет, но ответа нет... Не выясняя особенностей работы наших GSM-сетей (у меня МТС). Добавлено следующее - для постоянного повышения уровня RSSI, в cron крутится call-файл, прикрепил ниже...

Работает это так - каждые 15 минут, cron запускает recall2.call

*/15 * * * * /etc/asterisk/scripts/recall2.call

Который инициирует звонок со служебного номера - на служебный номер (т.е. звонит сам себе) - в итоге в CLI видим:

Call failed to go through, reason (1) Hangup

Но нужное достигнуто - RSSI при исходящем возрастает до нужного уровня, донгл не отваливается от сети.

recall2.rar

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

В первом основном пОсте - описана функция:

Также и такси приехав по месту вызова, может позвонить на донгл с каллбеком (номер вызова такси), получив каллбек, Система знает номер клиента который вызвал Этого таксиста и соединит его именно с Ним... Без какого либо допнабора...

Она изменена на более удобный вариант - таксист теперь звонит на СЛУЖЕБНЫЙ номер, что-бы сообщить клиенту о прибытии к месту вызова.

Короче теперь, ВСЕ взаимодействие с Диспетчером, тасисты выполняют - через служебный номер. Клиенты соответственно взаимодействуют с такси - через Клиентский номер.

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

И собственно сами изменения в две строчки, см. комменты...

extensions_new2.rar

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

  • 3 месяца спустя...

Привет Господа!

Я часто бываю здесь, мой блог - https://vk.com/club114574137

pchupail@rambler.ru - мое мыло...

Проект не умер - в нирест планах привязать рассылку рекламного CMC при дозвоне на каллбек.. естестно параллельно с обработкой заказа..

Изменено пользователем I am mechanic

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Проверка баланса донглов (для МТС - для других соответстно меняем ussd - *100# на свой)..

В CLI Asterisk вводим:

dongle ussd dongle0 *100#
dongle ussd dongle1 *100#

Туда же сыпется ответ от оператора - находим данные по балансу - в куче из рекламы и других данных.. :)

Изменено пользователем I am mechanic

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Делая образы системы - обнаружил неприятную штуку - флешка Transcend 16 Гб, с которой ранее делал образ, бОльше емкостью, чем купленные позже на Али, левые Transcend_ы... Разница достигает до 196 Мб!?

e1ef9ff94344.png

Что оказалось нехилым гемором, так как образ не влазил на новые флехи.. Покупал 2 шт.. Купленные в МВидео Sony и Transcend, тоже оказалиь маловаты на эти же Мб!? Какой-то тотальный наплыв урезанных по размеру флешек.. Пришлось заново поднимать Диспетчер уже на флеш, нового размера..

Изменено пользователем I am mechanic

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

А так можно контролировать любое помещение посредством Asterisk + RaspiCam http://forum.cxem.net/index.php?showtopic=114312&st=440#comment-2436254, с доставкой фотки (snapshot) на мыло в любой момент времени, для контроля обстаноки - Who is there?

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Иногда требуется ребутнуть RasPi или ребут произошел сам собой - отработал watchdog например.. Обратной связи нет - когда система загрузится и прошел ли ребут, например, по набору допномера 44, мы не знаем? Поэтому дополнил GSM-Диспетчер - алгоритмом коллбека при ребуте системы.. Работает это так..

При перезагрузке Pi посредством строки в /etc/rc.local :

/home/call/alarm_event.sh
exit 0

Запускается скрипт - alarm_event.sh, прикрепил...

Данный скрипт посредством call-файла (прикрепил) производит коллбек на прописанный в call-файле номер админа.

Тема аналогична этой - http://forum.cxem.ne...40#comment-1883129

Только без команды halt в диалплане:

[out_alarm]
exten => +7ХХХХХХХХХХ,1,Dial(Dongle/dongle1/${EXTEN})
exten => +7ХХХХХХХХХХ,n(indbagent),Playback(/var/lib/asterisk/answer/голосом-система_ребутнулась
exten => +7ХХХХХХХХХХ,n,Playback(beep)
exten => +7ХХХХХХХХХХ,n,WaitExten(10)
exten => +7ХХХХХХХХХХ,n,HangUp()
include => disa

Функции - Playback и WaitExten - можно не включать (у меня выключены - для сбережения баланса).. Получив коллбек и так знаем - почему..WaitExten - предлагается для ожидания ввода допномера, например 69 для получения фотки (snapshot) как здесь http://forum.cxem.ne...40#comment-2436254, для контроля обстановки рядом с малиной или еще для чего.. Для этого же приинклюден диалплан disa.. Контекст в sip.conf для дилплана - такой же как через ссылку выше.

В итоге что имеем - при любом ребуте RasPi производится коллбек, как быстрая обратная связь - на указанный админский номер.. У меня есть также хард-ресет всей связки RaspPi+USB-hub посредством gsm-сигнализации - https://vk.com/topic...=-114574137_168, тоже работало без обратной связи, что было не очень неудобно...

alarm_event.rar

alarm.rar

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Теперь немного, но конкретно - о том что достало и наболело... Юзеры работающие в сфере такси периодически интересуються - как и что надо что-бы оживить и запустить Диспетчер в работу.. Я стараюсь всем ответить подробно-доходчиво.. Затем происходит следующее, приобретя железо для Диспетчера, на стадии какого-то осознания что и как работает, начинаются озвучиваться хотелки.. Кому то надо прикрутиться к ГЛОБАЛЬНОМУ биллингу и они готовы предоставить список всех биллинг-сервисов для этого (далеко не понимая как это работает), кому-то видиться счастье в многоканальности - которой они в Диспетчере НЕ видят (написано же выше - что мешает клонировать нужное кол-во раз железо на борту с Диспетчером) и ТЭДЭ и ТЭПЭ..

Исходя из всего сказанного ОТВЕЧАЮ - Диспетчер каков есть - такой он и предлагается.. ОН отлаженное рабочее решение, если кого-то что-то не устраивает, ОН может сам доработать Диспетчер до вершины своих хотелок.. Мне же этим заниматься безвозмездно, да и за те мизера которые светят - нет ни желания, ни главное - времени.. Короче хотелки не предлагать - берем что дают.. Или не тратим мое и свое время.. The end...
 

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Продублирую здесь, не все хотят читать по ссылке - как устанавливать донглы.. Список моделей модемов выдернут из драйвера донгла, поэтому только эти мопеды  будут работать в Диспетчере...

static const char * const seven_bit_modems[] = {
"E1550",
"E1750",
"E160X",
"E150",
"E173",
"E1552",
"E171",
"E153",


 

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

Объявления

  • Сообщения

    • На ардуинке. Таймер здесь только для удобства-можно готовый ставить или сделать самому на всяких микропроцессорах или 555, или сидеть рядом 3-15 минут с секундомером в одной руке и выключателем в другой. Главное-излучатель. Можно и два сделать-для засветки двухсторонних плат. Но мне проще зажать между двух стекол и перевернуть после засветки одной стороны И Питание -что вам нравится-12В, 24В, 48В, 220В-как расчитаете под светодиоды так и будет работать
    • Современный циатим походу другой. Я свой мультиметр чищу и мажу не чаще раз в 3 года.
    • На контроллере таймер сделан?
    • У отсутствующих транзисторов и роль отсутствующая. По-моему, это совершенно очевидно.
    • Агеев пояснял, что как раз есть. Излучение условных полусинусов максимально компенсируется в таком случае.  Для максимального эффекта взаимокомпенсации контуров при расположении БП на расстоянии от ПП усилителя ,  Букварев вывел питание на шлейф с чередованием шин в нем.  Все это довольно подробно пояснялось в темах на Веге и в группе в телеге.  Применительно к сверхлинейникам, в железе, это можно проверить только в одном случае: измерить схемотехнически и режимно одинаковые усилители в равных условиях на разных платах, классической бабочке и повторяющей топологию Букварева.  
    • Вот кстати долго думал над этой темой. По идее, для класса АБ, на малой мощности, когда усилитель работает в классе А, тогда ток идёт по обеим шинам одновременно, но в классе Б, ток сначала идёт через плюсовую шину и землю, потом через минусовую шину и землю. Т.е. получается, что как бы особой целесообразности плюсовую с минусовой рядом держать нет, т.к. излучают контура плюс-земля и минус-земля. Если только ради того, чтоб контур плюс-минус не ловил на себя ничего и не отдавал улов в слаботочку...
×
×
  • Создать...