Dec 04 2011

Статистика по номеру

3

Рубрика: OktellVitaly Kovalyshyn @ 22:29

Если Вы используете 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


Напишем код PHP-страницы и устанавливаем на том же сервере, где у нас база Oktell – Web-сервер+PHP.
При входящем звонке устанавливаем компонент “Уведомления” с текстом:


Просмотреть все комментарии
"

Поступает входящий звонок, у нас появляется уведомление, кликнув на линк мы видим:

Так же, можно встроить эту страничку как “Внешний модуль” и тогда сможем выводить историю по любому номеру:

Простое решение, казалось бы, сложно задачи :-)

0

Related Posts

  1. CDR. Статистика звонков Asterisk в MySQL
  2. Кто звонил на этот мобильный?
  3. Пропустили звонок? Перезвоним клиенту!
  4. Принимаем SMS с Asterisk SIP-GSM шлюза в Oktell
  5. Опять о Terrasoft и Oktell…

Теги: , , , , , , , , ,

2 Responses to “Статистика по номеру”

  1. Сергей says:

    Ещё бы код самой php-странички ;)

  2. Vitaly Kovalyshyn says:

    Ну, это ж не сложно :)

Leave a Reply