Архив

Posts Tagged ‘billing’

Lync Server. Детализация исходящих звонков

В продолжение статьи «Отчёт по исходящим звонкам OCS Enterprise Voice«.

Задача:
На ежемесячной основе, автоматически, определённым сотрудникам в компании, предоставлять информацию о совершённых в телефонную сеть звонках из системы корпоративной телефонии на базе Lync Server.

Решение:
Lync Server Outbound Calls Details Report v2.2_toblog.sql
[https://onedrive.live.com/?authkey=%21AC0QMw6aiV6w4Go&v=TextFileEditor&id=89D4F9A2EB82023D%2118254&cid=89D4F9A2EB82023D&parId=89D4F9A2EB82023D%21338]
Скрипт T-SQL, получает из базы данных LcsCDR роли Lync Server Monitoring за текущий месяц информацию по исходящим в аудио звонкам и рассылает email в виде html-таблицы с детазизацией «когда, в какую страну, кто, через кого, куда, сколько наговорил».

Для автоматизации процесса этот скрипт необходимо оформить в виде периодически выполняющегося job-а на SQL Server, где расположена база данных LcsCDR роли Lync Server Monitoring.

Источником информации для отчёта является таблица SessionDetails, подробное описание которой разработчик любезно предоставил в документации на продукт.

Особенности:
В качестве особенностей, присущих скрипту, можно отметить то что он даёт информацию о стране вызываемого абонента и показывает через кого был выполнен звонок (если имел место перевод звонка, например от внешнего абонента через секретаря на скажем мобильный телефон сотрудника).

Пример выводимой информации:
— В окне SQL Server Management Studio

— в Outlook

Дополнительная информация по теме:
Get-CsVoiceCalls.ps1 – See realtime call info from Lync Management Shell
Find active Lync calls from SQL database

Применимо к:
— точно к Lync Server 2013
— скорее всего и к Lync Server 2010 (не проверялось, но хотя схема таблиц и разная — использовались совместимые с таблицами Lync Server 2010 запросы) (кто протестит — отпишитесь в комментариях плиз)
— возможно сработает и для OCS 2007 R2 (не проверялось) (кто протестит — отпишитесь в комментариях плиз)

Рубрики:Lync, OCS

Отчёт по исходящим звонкам OCS Enterprise Voice

OCS_Phone———————————————————————————

— T-SQL скрипт для получения информации о исходящих звонках OCS Enterprise Voice.

— Скрипт извлекает CDR записи из баз данных сервера OCS Monitoring.

— За основу был взят текст скрипта из этого источника и немного доработан.

———————————————————————————

 

—Предварительно необходимо создать два представления

—/*

USE QoEMetrics

GO

 

CREATE VIEW CallerList AS

SELECT RTRIM(SUBSTRING(b.URI,5,100)) AS CallerURI,

a.CalleeURI AS CalleeURI,

a.StartTime AS StartTime,

a.EndTime AS EndTime

FROM [QoEMetrics].[dbo].[Session] AS a, [QoEMetrics].[dbo].[User] AS b

WHERE a.CallerURI = b.UserKey

AND(b.URI LIKE ‘%@sipdomain.ru’

AND b.URI NOT LIKE ‘sip:+0%’)

GO

——————————————-

USE QoEMetrics

GO

 

CREATE VIEW URIList AS

SELECT DISTINCT(a.UserUri), b.PhoneUri

FROM [LcsCDR].[dbo].[Users] AS a, [LcsCDR].[dbo].[Phones] AS b, [LcsCDR].[dbo].[VoipDetails] AS c

WHERE c.FromNumberId = b.PhoneId

AND c.DisconnectedByURIId = a.UserId

AND c.ToGatewayId IS NOT NULL

GO

—*/

———————————————————————————

———————————————————————————

— Собственно сам скрипт

USE QoEMetrics

GO

 

SELECT a.CallerURI AS [Вызывающий], SUBSTRING(SUBSTRING(b.URI,5,CHARINDEX(‘@’, b.URI) 5),1,CHARINDEX(‘;’, b.URI) 5) AS [Вызываемый], a.StartTime AS [Время начала], a.EndTime AS [Время завершения],(CONVERT(time(0),a.EndTimea.StartTime)) AS [Продолжительность]

FROM [QoEMetrics].[dbo].[CallerList] AS a, [QoEMetrics].[dbo].[User] AS b

WHERE a.CalleeURI = b.UserKey —AND a.CallerURI like ‘username@sipdomain.ru’
AND b.URIType LIKE ‘8’

AND b.URI LIKE ‘sip:%user=phone’

ORDER BY StartTime DESC

———————————————————————————

 

Результат выполнения скрипта:
image

Доп. информация:
Lync Server. Детализация исходящих звонков

Рубрики:OCS