MSSQL

FreeSWITCHСегодня у нас есть FreeSWITCH с подключенными телефонами и отдельно у менеджеров установлен Terrasoft CRM. Необходимо обеспечить возможность определения имени из Terrasoft CRM звонящего абонента на SIP-телефонах. Для этого я написал PHP-скриптик:

Если Вы используете Oktell IP PBX без модуля КЦ и Вы не умеете разрабатывать плагины, а необходимо быстро решить вопрос: При входящем звонке отобразить историю всех звонков по номеру с комментариями. Как это сделать? Пойдем через веб-страничку 🙂

Для начало разработаем SQL запрос, что бы увидеть все входящие, исходящие и пропущенные звонки по номеру:

SELECT [s].[TimeAnswer] as [TimeAnswer]
   ,CONVERT(varchar(max), Cast (Cast ( [s].TimeStop - [s].TimeAnswer as float ) * 1440 as decimal(15,2))) as [TimeLong]
   ,'входящий' AS [D]
   ,CONVERT(varchar(max), [s].[Astr]) as [Abonent] 
   ,CONVERT(varchar(max), [s].[Bstr]) as [Oper] 
   ,l.LineCode as [LineCode]
   ,CONVERT(varchar(max), [c].[Comment])  AS [Comment]
   FROM [oktell].[dbo].[A_Stat_Comments] [c]
   right outer join [oktell].[dbo].[A_Stat_Connections_1x1] [s] on [s].[Id] = c.[id]
   join [oktell].[dbo].A_ServerExtLines [l] on [s].ALineId = [l].id
WHERE ([s].[AOutNumber] like '$c' AND [s].[Bstr] not like 'IVR') 

UNION

SELECT [s].[TimeAnswer] as [TimeAnswer]
   ,CONVERT(varchar(max), Cast (Cast ( [s].TimeStop - [s].TimeAnswer as float ) * 1440 as decimal(15,2))) as [TimeLong]
   ,'исходящий' AS [D]
   ,CONVERT(varchar(max), [s].[Bstr]) as [Abonent] 
   ,CONVERT(varchar(max), [s].[Astr]) as [Oper] 
   ,l.LineCode as [LineCode]
   ,CONVERT(varchar(max), [c].[Comment])  AS [Comment]
   FROM [oktell].[dbo].[A_Stat_Comments] [c]
   right outer join [oktell].[dbo].[A_Stat_Connections_1x1] [s] on [s].[Id] = c.[id]
   join [oktell].[dbo].A_ServerExtLines [l] on [s].BLineId = [l].id
WHERE [s].[BOutNumber] like '$c' AND [s].[Astr] not like 'IVR'

UNION

SELECT [s].[TimeAnswer] as [TimeAnswer]
   ,CONVERT(varchar(max), Cast (Cast ( [s].TimeStop - [s].TimeAnswer as float ) * 1440 as decimal(15,2))) as [TimeLong]
   ,'пропущенный' AS [D]
   ,CONVERT(varchar(max), [s].[Astr]) as [Abonent] 
   ,CONVERT(varchar(max), [s].[Bstr]) as [Oper] 
   ,l.LineCode as [LineCode]
   ,CONVERT(varchar(max), [c].[Comment])  AS [Comment]
   FROM [oktell].[dbo].[A_Stat_Comments] [c]
   right outer join [oktell].[dbo].[A_Stat_Connections_1x1] [s] on [s].[Id] = c.[id]
   join [oktell].[dbo].A_ServerExtLines [l] on [s].ALineId = [l].id
WHERE [s].[AOutNumber] like '$c' AND [s].[Bstr] like 'IVR' AND [s].[ReasonStop] = '3'

ORDER BY [TimeAnswer] DESC

Если Вы используете Oktell и Terrasoft, то Вы привыкли, что во время входящего звонка подымается карточка Звонка, где определяется Контакт и Контрагент по CallerID.
Сегодня, один из наших менеджеров предложил: “Было бы вообще супер, если информации об абоненте еще и на дисплее SIP-телефона отображалась!”
А почему бы и нет? – подумал я 😉

Для начала, создаем служебный сценарий, назовем его “Опрос Terrasoft”:

Самое интересное здесь – SQL-запрос в базу с Terrasoft:

SELECT [A].[Name] AS [Name]
, [A].[OfficialAccountName] AS [FullName]
FROM [Terrasoft_XRM+SD332].[dbo].[tbl_AccountCommunication] [AC]
JOIN [Terrasoft_XRM+SD332].[dbo].[tbl_Account] [A] ON [A].[ID] = [AC].[AccountID]
WHERE [AC].[Digits] LIKE '%'+@phone
UNION ALL
SELECT [C].[Name] AS [Name]
,[CA].[OfficialAccountName] AS [FullName]
FROM [Terrasoft_XRM+SD332].[dbo].[tbl_ContactCommunication] [CC]
JOIN [Terrasoft_XRM+SD332].[dbo].[tbl_Contact] [C] ON [C].[ID] = [CC].[ContactID]
JOIN [Terrasoft_XRM+SD332].[dbo].[tbl_Account] [CA] ON [C].[ID] = [CA].[PrimaryContactID]
WHERE [CC].[Digits] LIKE '%'+@phone

В общих настройках выбираем этот сценарий в пункте “Служебный сценарий получения данных из справочника РосФирм” 😉

Теперь на IP-телефонах можно увидеть:

А у кого нет Terrasoft, а только рабочее место Сотрудника:

Oktell logoЗачастую, приобретая Oktell IP PBX, наши клиенты сразу же берут и Oktell SIP-GSM gw. И вот когда количество модемов превышает количество других линий, а количество сотрудников – всех внешних линий 🙂 Начинаются ситуации: сотрудник набирает номер, абонент занят, абонент сам перезванивает и попадает на секретаря, секретарь не в курсе кто звонил…

У себя мы решили этот вопрос так: входящий звонок на Oktell SIP-GSM, смотрим в базу кто последний звонил на этот номер на этой недели и пытаемся сразу на него переключить звонок. Вот так оно выглядит в “Главном сценарии”:

Главный сценарий
Главный сценарий

В компоненте SQL вот такой запрос:

SELECT TOP 1 @AOutNumber = [AOutNumber]
  FROM [oktell].[dbo].[A_Stat_Connections_1x1]
  WHERE NOT ([BLineNum] = 'IVR')
  AND DATEPART ( WEEK , [TimeAnswer] ) = DATEPART ( WEEK , GETDATE() )
  AND @CallerID = '+38'+[BOutNumber]
  ORDER BY [TimeAnswer] DESC

Oktell logoКак я описывал раньше, есть у меня SIP-GSM шлюз на базе Asterisk, который подключен к офисному серверу с Oktell. На модемы приходят разные SMS и пока они ложатся в файл на Linux сервере. В них бывает информация о балансе на карточках :). Идея – перенести все эти SMS в Oktell.

Для начала решил все SMS записывать в базу MySQL на сервере, а потом служебным сценарием забирать в Oktell. Создаю в MySQL пользователя, базу, и таблицу:

CREATE TABLE  `asterisk`.`gsm` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`date` DATETIME NOT NULL ,
`modem` VARCHAR( 10 ) NOT NULL ,
`callerid` VARCHAR( 16 ) NOT NULL ,
`msg` VARCHAR( 160 ) NOT NULL ,
`oktell` ENUM(  '0',  '1' ) NOT NULL DEFAULT  '0'
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci COMMENT =  'Входящие SMS'

Яндекс выбрал CRM
В июле 2010 мы решили, что CRM, на котором мы работаем сейчас, для нас недостаточен, нам хочется большего. Что мы хотим найти подходящее решение на рынке и внедрить его.
   
Несколько компаний мы сами пригласили показать, на что способны их решения, несколько поставщиков прислали сами свои заявки. Правда, после того, как все они познакомились с нашими требованиями, две компании отказались от участия в конкурсе. 
   
Остались шестеро: Naumen, Microsoft (интегратор – компания “Норбит”), SAP, Siebel (“IBS”), SalesLogix (“ФБ Консалт”) и Terrasoft.
   
Мы смотрели презентации, работали в демо-версиях, исследовали материалы, предоставленные нам поставщиками, ездили в гости в компании, где установлены решения. Думали, спорили, обсуждали.
После того, как выбрали три наиболее подходящих варианта, пригласили их все одновременно и сравнивали решения на “очной ставке”, когда представители поставщиков могли задавать вопросы друг другу. Это было если не уникальное, то редкое событие на рынке. Как и то, что главный голос в выборе решения был у ключевых пользователей, которым работать с выбранным решением.
   
По итогам двухмесячного конкурса бизнес-пользователями Яндекса было принято решение об установке CRM компании Terrasoft.
   
Павел Цапюк, руководитель сервиса CRM

http://my.yandex.ru/

Компания ZyXEL сообщает о начале поставок универсальной коммуникационной системы IP-телефонии X8004, специально разработанной для организаций, активно использующих информационные технологии с целью повышения эффективности бизнеса. X8004 реализует в одном компактном устройстве все функции традиционной и IP-АТС, контакт-центра и центра обработки вызовов, IVR и записи разговоров, факс-сервера, отправки почтовых, SMS- и IM-сообщений. Ключевые новшества системы — быстрая визуальная настройка телефонной сети предприятия и сценариев обработки телефонных вызовов, встроенный SQL-сервер, удобная интеграция с внешними базами данных и информационными системами, приложениями компьютерной телефонии и бизнес-процессами предприятия.

X8004 основана на промышленной платформе x86, выполнена в металлическом корпусе высотой 2 юнита для установки в 19-дюймовую стойку, спроектирована и протестирована для работы в условиях 24×7. Система избыточной вентиляции и функции мониторинга аппаратной части и состояния отдельных компонентов (в том числе жестких дисков) гарантируют бесперебойную работу. Для подключения к сетевой инфраструктуре предприятия и глобальной сети предусмотрены два порта Gigabit Ethernet. Для работы с сетями традиционной телефонии в X8004 может быть установлено до четырех транковых модулей с интерфейсами FXS, FXO или E1.

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

Технические характеристики

Долго искал IVR-сценарий для проверки голосовой почты. Конечно, в Oktell очень удобное клиентское приложение, где можно проверить свою голосовую почту! Но, что делать пользователям IP-телефонов или Terrasoft? Написанный мною сценарий позволяет прослушать новую и старую почту в своем ящике. Для новой почты доступны действия: сохранить, удалить, прослушать еще раз. Для старой: повторное прослушивание и удалить.
Совместимость: Версия программы: 2.5 (100501-2.5.3773.19387). Версия БД: 100425
Русские голосовые фразы взял из Asterisk.

IVR VoiceMail
IVR VoiceMail

Скачать: IVR “Проверка голосовой почты”
Принимаю все замечание по работе сценария!