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

I am mechanic

Members
  • Постов

    105
  • Зарегистрирован

  • Посещение

Весь контент I am mechanic

  1. Продублирую здесь, не все хотят читать по ссылке - как устанавливать донглы.. Список моделей модемов выдернут из драйвера донгла, поэтому только эти мопеды будут работать в Диспетчере... static const char * const seven_bit_modems[] = { "E1550", "E1750", "E160X", "E150", "E173", "E1552", "E171", "E153",
  2. Теперь немного, но конкретно - о том что достало и наболело... Юзеры работающие в сфере такси периодически интересуються - как и что надо что-бы оживить и запустить Диспетчер в работу.. Я стараюсь всем ответить подробно-доходчиво.. Затем происходит следующее, приобретя железо для Диспетчера, на стадии какого-то осознания что и как работает, начинаются озвучиваться хотелки.. Кому то надо прикрутиться к ГЛОБАЛЬНОМУ биллингу и они готовы предоставить список всех биллинг-сервисов для этого (далеко не понимая как это работает), кому-то видиться счастье в многоканальности - которой они в Диспетчере НЕ видят (написано же выше - что мешает клонировать нужное кол-во раз железо на борту с Диспетчером) и ТЭДЭ и ТЭПЭ.. Исходя из всего сказанного ОТВЕЧАЮ - Диспетчер каков есть - такой он и предлагается.. ОН отлаженное рабочее решение, если кого-то что-то не устраивает, ОН может сам доработать Диспетчер до вершины своих хотелок.. Мне же этим заниматься безвозмездно, да и за те мизера которые светят - нет ни желания, ни главное - времени.. Короче хотелки не предлагать - берем что дают.. Или не тратим мое и свое время.. The end...
  3. Если программу с циклом: запустить, он разве не съедает всю память и система прихлопнет процесс? Или как-то иначе код работает?
  4. Вот сваял проектик gsm-сигнализации в зачаточном виде.. Работает это "чудо мысли" так - к RaspPi подключен обычный геркон типа ИО102-2, через резистор 1 кОм (см. комменты в gerkon.c - прикрепил).. При размыкании геркона - производиться запуск скрипта - alarm_gerkon.sh (прикрепил..) Который в свою очередь посредством call-файла (прикрепил..) производит дозвон на нужный номер.. Тема разъжевана здесь http://forum.cxem.ne...2 У себя прогу gerkon - закинул в cron.. Почему не запустил в цикл? - читаем комменты.. */2 * * * * /root/gerkon/gerkon Кто доваяет прогу до уровня цикла - просьба выложить.. gerkon.rar alarm_gerkon.rar gkalarm.rar
  5. Иногда требуется ребутнуть 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
  6. Приинклюдил модуль бипера к проге ssensor - теперь при внешнем звуке, запускается модуль beeper и Малина отзывается - пикает бипером - подключенным к RPI_GPIO_P1_12 и GND, через резистор 1 кОм.. См.комменты.. Можно вместо бипера навесить диод или... все что фантазия подскажет.. Естесстно с правильной схемой подключения, любой нагрузки.. Прикрепил исходники... ssensor_beeper.rar
  7. А так можно контролировать любое помещение посредством Asterisk + RaspiCam http://forum.cxem.net/index.php?showtopic=114312&st=440#comment-2436254, с доставкой фотки (snapshot) на мыло в любой момент времени, для контроля обстаноки - Who is there?
  8. Сваял полезную фичу в связке Asterisk + motion. Как поднять motion см. здесь - http://forum.cxem.ne...40#comment-2284732... (449 - пост) Как поднять Asterisk см. здесь - http://forum.cxem.ne...5 Can i go... Фича пашет следующим образом - при дозвоне на Asterisk и наборе допномера 69 - производится запуск скрипта: [sendcam] exten => 69,1,System(/home/astr/sendcam.sh) exten => 69,n,Playback(/var/lib/asterisk/answer/mailgo) exten => 69,n,Hangup С последующим голосовым оповещение что мыло отправлено... А отправляется фотка (snapshot), которая делается motion - как написано по указанной выше ссылке... Фотка выбирается из дирректории по времени звонка, из скрипта sendcam.sh - все станет, may be ясно - прикрепил... Теперь пошагово - что делает скрипт: - обновляет dns - сервера на гугловский 8.8.8.8 (на всякий случай).. - зипует с паролем выдернутую из папки motion фотку, сделанную в момент дозвона, реалтайме. Бывает пролет - фотка еще не сделана мотионом - не было движения например, а скрипт отработал и приходит пустое письмо. Тогда надо повторить дозвон с донабором 69.. (не нашел пока решения для устранения этого бага).. - кодирует zip-архив в base64 кодировке, иначе ssmtp - не сможет отправить вложение - фото.. Кстати его хоть и обозвали эмулятором почтовика, а работает он как часики и без танцев с бубном.. Как поднять его здесь - http://forum.cxem.ne...2 (пост №5) - отправлят посредством ssmtp - зазипованно-закриптованную и закодированную фотку (snapshot) на нужный адрес... - шредером скребет диры где все добро лежало.. Вот собственно и все.. Можно поставить в Авто все это хозяйство скрыто и делать фоты при включении зажигания, тогда надо в rc.local - до строки exit 0, прописать путь до нашего скрипта, например: /home/sendcam.sh Тогда при старте ОС, будет стартовать и наш скрипт - но успеет ли запустится мотион и сделать фотку - до этого момента - большой вопрос!? Для решения этого - в скрипте sendcam.sh - первой строкой надо дописать - спать 30 секунд, после этого исполняться - например.. sleep 30 Можно также закинуть в cron, дальше фантазия рулит... Прикрепил 7zip, ставится так: tar jxvf p7zip_15.14.1_src_all.tar.bz2 cd p7zip_15.14.1/ make sudo ./install.sh 7za Теперь как увидеть фотку в Винде (мой вариант).. Приходит письмо в теле которого белиберда в кодировке base64, вот кусок кода: AMxH6uSfUMFhmi3I3XXbpAJVVogV8zJoMvESCw0VfBAV+GLnq28nmrJzNpqS+rjw3l+nCHYn4kD6 t+T0rNV8Zx7nBAjCwdX9bqIksKqMpXIXjRYGPiuI6cUn8ZB5cvzNrKVxSteUuQfVttORWUWWnzjw Yj744aft0/oYO+Wu12gEFoWkAf2XGH57yKK3glR/xm2IoSH04x9kh1GBY4rV+0232St3R9kVdUu7 cGnlZWtLjTDUyqDnB9SCFStE1aSFqQYyoxPxTDob5swZmDpJLa7/QB09aPq2HSwARcjqr2EqkQGH bFBPNCEx0weD0BqXUY2HeKI6MQDF2J4uR/wALKoZ0INg1Qe4tEXP1n3w3f0rf3V8+cTy/g20jpTN T6SnH26MFWRs/uofJhaC6HejGnnzrWKI3zAPVWDxn5og+5uda8q1ufxJoMqvbllQ1RZ6hrmp8WzA u1Rn1gg6w//EjOXbdrZRgr1nAPjq4w4BEjvAkpWfEWkNfe+nwF/CUlhNO3ZijyHigAwgTvhBpWI4 t2PwmjeRzxdYUnkT18nHYDbMb3Lu82jLcx1GbnaE+701oxY6UGT6tQtBOhp0lOU7KD9j3NWFdy+U UZNogDMvmitCSBFWuieZ50D/1SxOkGKBaaw9fxLrtckBJkoEAtoRofagdTL/yvvJaLLYNMe0HUxL iUqC3U5mg67hivGrBkGlxKEBXLgr1MHeeYnxZMnjttqtj+trTcY/oXdh7ajpX/h2jXUGIFYKWFfq vaGaaVQpFHOSjLhe/9sSeKYJydHxxYKx3A7CkpQ80pexzkaLEEckLL5N0xDgywdUMOdUdtG/6KTp pJLm0zEEp6rmlHaTPRrTlLD1xWmGgOH9zuzAYGC4K3cVNwzxWolD8rqPc0kJowxu+gsfVcGO5RW2 i5tfBsfaJJCz9BFFb7IMoFNCj6Pf9TjlPK7Py+JKwkAovqZICabhwxgzn+u3inwZoED16PfvQsHc rN2jTjn525nDLinFb1pP3pEgDpfS0skEZZMniSaZup7D5TqkZgiWepyffg5g0O/n9iGN1tN4rHUU Все это дело надо декодировать программой - base64.exe - прикрепил... Выделяем Ctrl-A, весь код в письме (а НЕ сохраняем письмо в .txt) так как будет сохранена и обертка smtp-письма - декодировщик выдаст ошибку.. Открываем пустой текстовик - вставляем код и сохраняем с расширением .b64. Натравливаем на него программу base64.exe, напримет так: base64.exe -d send.b64 send.zip Получаем на выходе zip-архив, распаковываем с вводом пароля и зрим фотку, можно всю эту процедуру загнать в батник, здесь поле для творчества.. The End... sendcam.rar base64.zip p7zip_15.14.1.rar
  9. Делая образы системы - обнаружил неприятную штуку - флешка Transcend 16 Гб, с которой ранее делал образ, бОльше емкостью, чем купленные позже на Али, левые Transcend_ы... Разница достигает до 196 Мб!? Что оказалось нехилым гемором, так как образ не влазил на новые флехи.. Покупал 2 шт.. Купленные в МВидео Sony и Transcend, тоже оказалиь маловаты на эти же Мб!? Какой-то тотальный наплыв урезанных по размеру флешек.. Пришлось заново поднимать Диспетчер уже на флеш, нового размера..
  10. Вот прога на Си, считывает с gpio_07 RasPi уровень сигнала - 1 или 0. На gpio подключен Sound sensor module. Like this - http://ru.aliexpress...2319235663.html Программа ваялась как модуль - для прикручивания к Asterisk посредством agi - sound sensor, но не нашел решения, пока забил (если кто подскажет код - как прикрутить к asterisk через agi, stdout, stdin и тэдэ, буду признателен). Прогу можно задействовать, например - для включения света (или еще чего) по хлопку или произнесенному слову - с выводом управления через другие GPIO.... Прикрепил исходник и готовый вариант... ssensor.c.rar ssensor.rar
  11. Проверка баланса донглов (для МТС - для других соответстно меняем ussd - *100# на свой).. В CLI Asterisk вводим: dongle ussd dongle0 *100# dongle ussd dongle1 *100# Туда же сыпется ответ от оператора - находим данные по балансу - в куче из рекламы и других данных..
  12. Привет Господа! Я часто бываю здесь, мой блог - https://vk.com/club114574137 pchupail@rambler.ru - мое мыло... Проект не умер - в нирест планах привязать рассылку рекламного CMC при дозвоне на каллбек.. естестно параллельно с обработкой заказа..
  13. Для данного Диспетчера GSM-сигнализаций актуальны обновления отсюда http://forum.cxem.net/index.php?showtopic=155802&st=0&gopid=2333653entry2333653
  14. Мда.. видимо второй блог нужен для параллельного проекта - иначе запутаться можно будет, поэтому он здесь. Правила вроде не нарушены - тема другая и тэдэ.. So, lets go.. Этот проектик, в начале своего пути, видел аналоги в железе, на базе Астериски не видел. По мере отладки функций буду выкладывать их описание. После того как все стабильно заработает - выложу конфиги или образ (закачаю всем желающим) Пробегу по описанию, оно отсюда :http://forum.cxem.ne...7 Программно-аппаратный на базе Raspberry и Asterisk - Диспетчер GSM-сигнализаций. Диспетчер будет принимать и обрабатывать тревожные сообщения от GSM-сигнализаций, записывать тревожные аудио-сообщения и сразу обзванивать номера заданных телефонов для оповещения о событиях и срабатываниях разнообразных датчиков. Исходя из собственного опыта эксплуатации GSM-сигнализации (системы оповещения ) можно сказать следующее, все сигнализации должны куда-то отправлять SMS-сообщения и(или) посредством дозвона на номер, сообщать о тревожных событиях и срабатывании разнообразных датчиков.. Запись всех соединений и времени - в базу данных (БД)... Приемом этих самых сообщений, тревожных звонков и последующим дозвоном на номера оповещаемых (групп реагированияв), и будет заниматься данный Диспетчер GSM-сигнализаций.. Контроль работы (жизни) GSM-сигнализации(ций) будет осуществляется, посредством приема данным Диспетчером, смс-сообщений "сигнала жизни", через запрограммированный в сигнализации (на стороне абонента) промежуток времени. Сообщения будут "складываться" в определенную директорию (папку ) системы... Все охраняемые объекты - разбиваются на зоны охраны... Каждая из сигнализаций - привязывается к такой зоне (по месту нахождения -естестно..) При входящем звонке, Диспетчер определив зону охраны к которой привязан входящий номер, ищет в этой же зоне - зарегистрированную, в процессе дежурства, группу реагирования и соединяет сигнализацию с телефоном группы... Группа в начале дежурства, может привязаться к любой зоне охраны и сменить ее в любой момент... Если никакая группа не привязана к данной зоне охраны - звонок попадает в очередь (телефонов всех групп на линии) с определенной стратегией. Реагировать тогда будет - первая принявшая звонок группа.. Надо сказать, что время обзвона одного номера - в настройках GSM-сигнализаций, стараются минимизировать.. Поэтому обзвон каждого в очереди - будет не более 10-15 сек. Соответственно, Диспетчер будет вести аудио-запись всех соединений и сохранять все дозвонившиеся и пытавшиеся сделать это номера телефонов в БД.. Есть черный список - для внесения нежелательных номеров, вносятся Админом посредством dtmf-набора... Есть фильтрация по преффиксу номеров - если надо... Номера групп реагирования в систему вносит Админ посредством dtmf-набора... Группы реагирования Сами - регаются в системе в начале рабочего дня и удаляются в конце - система узнает их по номерам, допнабор не нужен. Сами привязываются (отвязываются) к зонам охраны посредством dtmf-набора... Сигнализации клиентов к зонам охраны привязываются с телефона Администратора, посредством также dtmf-набора... Также и отвязываютя, т.е. гибкое управление. Номера дополнительных Администраторов, можно вносить также посредством dtmf-набора, но с телефона Главного Админа и также удалять и т.д. Также при неудачном дозвоне Всем группам (если бывает такой бардак ), в Диспетчере будет реализован ящик голосовой почты, куда и будет переадресован звонок для записи сообщения, в случае неудачного обзвона... Туда же будут направлены все звонки для Админа, если последний не поднял трубу - при отсутствии регистрации у группы или например, после отказа в регистрации на работе, звонок переадресуется на Админа - если он не берет трубу - в голосовой почтовый ящик... И так будут обработаны все звонки которые "неизвестны" системе... Любой номер с соответствующими правами - может прослушать голосовую почту - дозвонившись на служебный и набрав допномер 00.. Короче Диспетчеру не нужен будет, спящий на стуле (вышедший на горшок, покурить и тэдэ - человек).. В Диспетчера реализована сторожевая логика - от зависания, система Сама ребутнется, если что зависнет.. Можно также перегрузить Систему, дозвонившись на служебный номер и набрав допномер 44, Админ только со своего номера может это сделать.. В системе Диспетчера реализовано - два номера (донгла) - клиентский и служебный Буду выкладывать готовность функций - по мере отладки ниже. Let's go... Первый желающий и проявивший интерес к Диспетчеру сигнализаций - получит "вечную" поддержку и разъяснялки, по мере неободимости... Конфиги или образ системы - Всем желающим будет передан безвозмездно (бесплатно)... Все спасибо за это - Марку Спенсеру. Запрограммировано и отлажено следующее: В работе два донгла (GSM-модема) - Служебный (для групп реагирования и Админа) и Клиентский (для входящих от GSM-сигнализаций) 1. Если поступает звонок от сигнализации (тревожный) на Клиентский номер - Диспетчер делает следующее: - принимает звонок - проверяет номер в своем "черном списке" - если есть - "До свидания" и дисконнект. - если номер не из черного списка - проверяется наличие номера в БД номеров сигнализаций (клиентов), если его там нет, происходит соединение с Админом, если Админ не взял трубу - предлагается оставить голосовое сообщение в его voicemail-ящике. - если номер есть в БД номеров сигнализаций (клиентов), система определяет его номер зоны охраны (напр. -01,02,03 и т.д). Определив номер зоны, где находится данная сигнализация, система определяет - зарегистрирована ли в этой же зоне, группа реагирования, и если да, переводит звонок на номер этой группы... - далее группа может сама среагировать или перевести звонок на другую группу - привязавшуюся к другой зоне... Если группа не приняла звонок, он перенаправляется - в общую очередь, где находятся ВСЕ группы реагирования. В независимости - привязывались они к зоне или нет. Стратегия данной очереди: random -- звонить произвольному из очереди... Можно поставить другую из следующих: ringall — звонить всем доступным, leastrecent -- звонить тому который дольше всех не отвечал на звонки, fewestcalls -- звонить - обработавшему наименьшее к-во звонков, random -- звонить произвольному из очереди, rrmemory -- звонить по кругу(round-robin) - в Диспетчере такси стоит такая linear -- звонить в заданном порядке, всегда обрабатывается с начала списка, первый будет работать не разгибая спины - Производится аудиозапись всех соединений, пары номеров соединений - будут вноситься в отдельную таблицу БД... - входящие SMS складываются в свою директорию, USSD-сообщения в свою, в текстовом формате - каждое сообщение в виде текстового файла. Можно скопировать файлы и прочесть - по удаленке, если будет инет или локально. Реализована одна уматная штука - Диспетчер может зачитать СМС-ски по буквам (символам) и если записать бу-бу-бу на бумагу, можно прочесть СМС полностью. Для прослушки сообщений - Админ дозванивается на Служебный номер и набирает допномер 123 (для прослушки СМС) или 321 (для прослушки ussd-сообщений). Регистрация групп реагирования и привязка их к зоне охраны (микрорайону, улице) происходит по тому же принципу - как и в Диспетчере такси у таксистов... (блог рядом)
  15. С почином, у меня теперь свой блог... Начнем с повторения моего описания 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 В) Есть примитивный биллинг. Также прикрутил функцию, проверки своего баланса для таксистов.. Через допнабор, при регистации по выходу на работу, им предлагается ввести - 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
×
×
  • Создать...