Просмотр полной версии : интеграция с телефонией
Интересует возможность интеграции с SIP-телефонией, но без UCS Call Centre.
От компании, поставлявшей R-Keeper получили информацию, что возможна интеграция через COM-порт (нам не подходит) и через mailslot.
В итоге мы написали приложение, которое отправляет номер звонящего в SIP-телефоне в mailslot, только вот на этом и застряли...
Остается загадкой имя mailslot, который слушает модуль Delivery.
Также хотелось бы понять команды передаваемые в mailslot.
- что сделает команда CALL:<номер вызывающего> ? найдет клиента и откроет его карточку ?
- обязательна ли команда END ?
- что делает команда <любые символы, кроме цифр>:<номер вызывающего> ?
Написали в тех.поддержку UCS - молчат. Компания, поставлявшая R-Keeper тоже молчит.
А может есть свой SIP-клиент (например от Call Center), который уже интегрирован с Delivery, и который можно перенастроить на другую IP-АТС (у нас Asterisk) ?
---
dimap
У меня работает через TCP-IP в 2.25.7.17. Могу поделиться программой передающей номер в оператор (работает только с IP-АТС 3CX). Через mailslot пытались сделать не получилось.
У меня работает через TCP-IP в 2.25.7.17. Могу поделиться программой передающей номер в оператор (работает только с IP-АТС 3CX). Через mailslot пытались сделать не получилось.
Поделитесь, пож на dimap101@mail.ru. Мне главное понять как она передает номер в оператор, а там уже напишем сами что надо.
У нас нет возможности с АТС напрямую передавать, так как АТС виртуальная за пределами офиса. Но есть SIP-клиент, который имеет запускать внешнее приложение при входящем звонке.
---
dimap
2119
Пользуйтесь) При входящем звонке запускайте программу с параметрами указанными в test.bat
Настройки оператора могу позже скинуть.
И есть один баг, при включении определения номера по TCP оператор начинает грузить проц. Раньше пришлось менять процессора на 2-х ядерные)
2119
Пользуйтесь) При входящем звонке запускайте программу с параметрами указанными в test.bat
Настройки оператора могу позже скинуть.
И есть один баг, при включении определения номера по TCP оператор начинает грузить проц. Раньше пришлось менять процессора на 2-х ядерные)
спасибо за программку.
Да, настройки оператора тоже скиньте, плз.
В ini-файле - это адрес/порт по которому оператор слушает команды ? или адрес биллингового порта 3cx (3cx на этой же машине ??? вряд ли..)
---
dimap
В PD_Operator
[CallerID]
boUseCallID=1
/*Порт RS232 или TCP*/
inCallPort=12323
/*Скорость порта RS232*/
inCallBaud=115200
/*Включение/отключение соответствующих параметров для RS232*/
boDTR=1
boRTS=1
/*Включаение/отключение TCP сервера для получения телефонного номера*/
boUseTCPSrv=1
/*код страны, отрезается в ascpars dll*/
stCountryCode=38
/*Mailslot или путь к реестру*/
stMailSlot=
/*команда нового входящего звонка при boUseTCPSrv=1 */
stCMDNewCall=NewCall:
/*команда окончания звонка при boUseTCPSrv=1 */
stCMDEndCall=EndCall:
В PhonesClient.ini можно ничего не менять, если Оператор и PhonesClient находятся на одном компьютере
SIP клиент я так понимаю там же где и оператор установлен?
Если да, то при входящем звонке на SIP клиент, укажите чтоб он запускал PhonesClient.exe и передавал ему параметры /N:S/T:I /C:номертелефона
Спасибо, теперь все понятно.
Также стало понятно где имя mailslot указывается - этот вариант тоже проверим, приложение для передачи номера через mailslot уже написано. Компания, устанавливавшая R-Keeper на этот вопрос не смогла ответить.
P.S. и последний вопрос - а у вас 3cx phone (клиент) умеет запускать внешнее приложение при входящем звонке ? не нашел там такого функционала...
У нас 3cx myphone запускает внешнее приложение.
---------- Добавлено в 15:41 ---------- Предыдущее сообщение было размещено в 15:31 ----------
Если через mailslot то есть следующая информация:
В PD_Operator.ini в секции [CallerID] добавляем след. параметры:
stMailSlot=
stDevName=SIP3DUB
или
stDevName=UCSCallCenter
Если stMailSlot - пустой, то
если stDevName содержит UCS в названии, то
stMailSlot=\\.\mailslot\nomertelefona по-умолчанию
если stDevName содержит SIP3DUB в названии, то
stMailSlot=\\.\mailslot\sample_mailslot по-умолчанию
Для stDevName=SIP3DUB используется протокол CALL:Номер телефона и
END:Номер телефона
Для stDevName=UCSCallCenter
Строка содержащая END - окончание вызова
Любое другая строка обрабатывается как входящий вызов и забираются из
неё все цифры
Воспользовался рекомендациями и вот что вышло:
1. TCP сервер не поднялся, в ini парамерта boUserTCPServ изначально небыло, добавил - открытого tcp-порта на машине не вижу...
2. через mailslot - тут несколько лучше.
сделал stDevName = SIP3DUB
stMailSlot пустой оставил, в итоге работает \\.\mailslot\sample_mailslot.
Отправляю в mailslot команду CALL:89625013121
в operator.log вижу следующее:
27:03:2013 10:42:20: >> whileslot handle=572
27:03:2013 10:43:34: >> ReadFile : A L L : 8 9 6 2 5 0 1 3 1 2 1
27:03:2013 10:43:34: >> Before ParsString A L L : 8 9 6 2 5 0 1 3 1 2 1 / aAscMSG^=3
27:03:2013 10:43:34: >> After ParsString / aAscMSG^=3
Съедается символ "C"... Добавил перед командой команду "-" для компенсации потерянного символа, в итоге в operator.log вижу следующее:
27:03:2013 10:45:41: >> whileslot handle=572
27:03:2013 10:46:32: >> ReadFile : C A L L : 8 9 6 2 5 0 1 3 1 2 1
27:03:2013 10:46:32: >> Before ParsString C A L L : 8 9 6 2 5 0 1 3 1 2 1 / aAscMSG^=3
27:03:2013 10:46:32: >> After ParsString / aAscMSG^=3
в модуле Оператор реакции никакой не наблюдается.
Как я понимаю, то модуль Оператор строку получает, только после пропуска через парсер (это делает ascpars.dll) - на выходе ничего нет, парсер не нашел сообветствия шаблону.
В ascpars.ini мои попытки тоже видны:
27.03.13 10:11:58 >> : Enter Str 9 6 2 5 0 1 3 1 2 1
27.03.13 10:25:04 >> : Enter Str 9 6 2 5 0 1 3 1 2 1
27.03.13 10:34:33 >> : Enter Str a l l : 8 9 6 2 5 0 1 3 1 2 1
27.03.13 10:37:49 >> : Enter Str a l l : 8 9 6 2 5 0 1 3 1 2 1
27.03.13 10:38:15 >> : Enter Str C a l l : 8 9 6 2 5 0 1 3 1 2 1
27.03.13 10:39:37 >> : Enter Str e w C a l l : 8 9 6 2 5 0 1 3 1 2 1
27.03.13 10:43:43 >> : Enter Str N e w C a l l : 8 9 6 2 5 0 1 3 1 2 1
27.03.13 10:44:08 >> : Enter Str C a l l : 8 9 6 2 5 0 1 3 1 2 1
27.03.13 10:44:58 >> : Enter Str C A L L : 8 9 6 2 5 0 1 3 1 2 1
27.03.13 10:46:32 >> : Enter Str C A L L : 8 9 6 2 5 0 1 3 1 2 1
Т.е. я пытался отправлять и Call:<номер>, и NewCall:<номер>, и просто <номер>, и CALL: <номер> (вдруг регистр принципиален) - результата нет.
Интересный вопрос - в лог-файлах Оператора в моих командах после каждого символа идет пробел, но в mailslot я отправляю явно без пробелов (у меня есть тестовое приложение для приема из mailslot - без пробела). Может в конце еще отправлять \n ?
В общем непонятно.
---
dimap
1. TCP сервер не поднялся, в ini парамерта boUserTCPServ изначально небыло, добавил - открытого tcp-порта на машине не вижу...
тут конечно же boUseTCPServ, без "r" имелось ввиду...
Если параметра небыло, то скорее всего версия Delivery ниже 225.7.17. Надо обновлять.
---------- Добавлено в 07:55 ---------- Предыдущее сообщение было размещено в 07:51 ----------
По mailslot пробуйте через stDevName=UCSCallCenter
Если параметра небыло, то скорее всего версия Delivery ниже 225.7.17. Надо обновлять.
---------- Добавлено в 07:55 ---------- Предыдущее сообщение было размещено в 07:51 ----------
По mailslot пробуйте через stDevName=UCSCallCenter
Спасибо ! Понял, завтра проверю.
---
dimap
Итак, продолжение чудесной истории о стыковке телефонии с Delivery.
Попробовал stDevName=UCSCallCenter и чудо, Delivery стал не только подбирать данные из mailslot и передавать в ascparse.dll, но и получать результат парсинга после ascparse.dll, но победы еще нет, так как после парсинга мы получаем только одну цифру:
Operator.LOG:
02:04:2013 10:34:27: >> ReadFile : C A L L 7 1 2 3 4 5 6 7 8 9
02:04:2013 10:34:27: >> Before ParsString C A L L 7 1 2 3 4 5 6 7 8 9 / aAscMSG^=3
02:04:2013 10:34:27: >> After ParsString 3/aAscMSG^=0
02:04:2013 10:34:27: >> cdsGetClientsByPhone.Text : Select * From DLV_GETCLIENTBYPHONE('3')Order by C_ID,A_ID
02:04:2013 10:34:27: >> cdsGetClientsByPhone.Open exception : SQL Server Error: Procedure unknown
DLV_GETCLIENTBYPHONE
At line 1, column 41
02:04:2013 10:34:27: >> FillPhonesTree OK 3
----
Цифирку выделил - это 4-ая цифра из номера.
При этом также съедается первый символ при передачи строки через mailslot, любые символы, кроме цифр игнорятся.
Пробовал предварять CALL:, NewCall: в различных вариантах (с пробелами, двоеточиями, без пробелов и т.д.) - результат всегда один и тот же.
Непонятно что такое aAscMSG^=3 - такое ощущение, что это правило парсинга.
Все это передается в SQL... но и тут проблема - судя по логам такой процедуры в SQL (DLV_GETCLIENTBYPHONE) нет.
Правда это уже другая проблема.
Проапгрейдится до 2.25.7.17 сейчас возможности нет - человек уехал.
В связи с чем просьба - поделитесь своей версией ascparse.dll.
---
dimap
2130
Вот dll
Если надо, могу полностью архив деливери на почту скинуть
2130
Вот dll
Если надо, могу полностью архив деливери на почту скинуть
спасибо за файлик. весь не надо - я апгрейдить все равно не буду, кто ставил - тот пусть и апгрейдит.
---
dimap
Тоже бьюсь с мейлслотами, результат точно такой же как и у dimap. Может кто-то победил это чудо?
Проапгрейдится до 2.25.7.17 сейчас возможности нет - человек уехал.
Проапгрейдились до 3.1.1.124. ascpars.dll в новой версии остался тот же что и присылал мне BatistA.Результат прежний.
Что странно - не могу активировать вариант с TCP-портом, ставлю boUseTCPSrv=1, inCallPort=xxxx (любой пишу, разные пробовал), в "netstat -a" нету открытого tcp-порта..
Чудесный продукт однако...
---
dimap
на 2.25.7.17 по tcp работает, попробуй может откатиться назад до этой версии
3.1.1.124 Это Delivery под RK7...
Под RK6 надо использовать 2.25.7.17
Коллеги, а какой самый кошерный вариант интеграции Доставки RK7 с ip-телефонией?
Есть ли какие-то требования к телефонии?
Тут упоминался Call Center, он что дает?
За телефонию ничего не скажу. CallCentre это другое. Это когда у тебя операторы сидят в одном месте, а фактическая доставка осуществляется из нескольких ресторанов. CallCentre позволяет принять заказ и отправить его на производство в нужный ресторан. Какой ресторан "нужный" определяет оператор исходя из адреса доставки, загруженности кухни на точке и расположения звезд на небосклоне.
Добрый день,
сразу хочу поблагодарить sigbaba за помощь в интеграции rk6 delivery с сайтом для принятия интернет заказов, разобрались.
Однако возникла еще одна проблема - телефония. Вообще, ее смысл - подключить CRM базу что бы ускорить принятие заказов по телефону, посредством подгрузки данных из базы(посредством определителя номера как я понимаю?). На данный момент имеем обычную АТС, не IP(готовы заменить по нужде). Возможно ли это реализовать?
Уважаемые гуру,
Это вопрос тем, кто ставил Delivery v7 с софтом SIPModule.
Проблема такая, что у всех операторов 10 шт. отображается список всех входящих звонков.
Оператор1 решил "Принять звонок", то у остальных 9 операторов этот входящий звонок висит еще 7 секунд, который естественно пытаются упорно принять операторы, а он ни как не принимается. Это напрягает всех операторов жутко, тормозит работу.
АТС Астериск
Как обошли данную проблему?
Ruslan26
19.01.2016, 15:26
Добрый день, скажите есть ли возможность интеграции Delivery v7 + SIP Module с 3CX V10?
Не хочет регистрироваться, как только не менял operator.ini
Вопрос в тему.
Стыдно признаться, но никогда не имел дел с IP телефонией и слова SIP & mailslot мне ни о чем не говорят.
Как стыковать это все со стороны доставки примерное понимание есть (есть дока, есть возможность помучить UCS). Затык в другом, как и что должно работать в плане телефонии у службы доставки?
Пытался гуглить - запутался в терминах еще больше.
Задача осложняется тем что объект действующий и сейчас есть 3 телефонных номера через которые принимаются звонки.
Один городской (от ГТС) и 2 мобильных от разных операторов.
Как и посредством чего 3 этих номера можно подключить к одной АТС (ну или как правильно назвать эту штуку) что бы эта АТС отдавала номера в mailslot?
От провайдера телефонии что то требуется (поддержка чего то с его стороны) или разные входящие линии можно объединить чем то уже на предприятии, не трогая 3-х разных операторов?
Буду благодарен за любую информацию по теме.
Powered by vBulletin® Version 4.2.6 LTS Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot