在 Lync 2010 LCSCDR 数据库中,这是一种判断谁接听了响应组呼叫的方法
Posted
技术标签:
【中文标题】在 Lync 2010 LCSCDR 数据库中,这是一种判断谁接听了响应组呼叫的方法【英文标题】:In a Lync 2010 LCSCDR database, is their a way to tell who answered a call to a response group 【发布时间】:2015-04-05 12:57:37 【问题描述】:我正在编写一些 SQL 代码来查询 Lync LCSCDR 数据库。
如果有人从外部呼叫响应组,而另一个人接听了它,则会在sessionDetails
表(和Voipdetails
表)中记录一条记录 - 以反映所拨打的电话。
但是,似乎无法确定谁接听了电话。
user2id
列填充了响应组的userid
(来自Users
表)而不是接听电话的人。
有谁知道是否有办法猜测谁接了电话?
查询是:
SELECT
sd.SessionIdTime,
sd.SessionEndTime,
DATEDIFF(
ss,
sd.SessionIdTime,
ISNULL(sd.SessionEndTime, sd.SessionIdTime)
) AS duration,
ph1.PhoneUri AS caller1,
ph2.PhoneUri AS receiver1,
U1.UserUri AS user1uri,
U2.UserUri AS user2uri,
U3.UserUri AS refeereruri,
sd.User1Id,
sd.User2Id,
sd.ReferredById,
sd.IsUser1Internal,
sd.IsUser2Internal,
sd.SessionIdTime,
voipd.*,
'|||',
sd.*
FROM
dbo.VoipDetails AS voipd
INNER Join
dbo.SessionDetails AS sd
ON
(
voipd.SessionIdTime = sd.SessionIdTime AND
voipd.SessionIdSeq = sd.SessionIdSeq
)
LEFT OUTER JOIN
dbo.Users AS U2 -- still 4795 with outer
ON
U2.UserId = sd.User2Id
LEFT OUTER JOIN
dbo.Users AS U1
ON
U1.UserId = sd.User1Id
LEFT OUTER JOIN
dbo.Users AS U3
ON
U3.UserId = sd.ReferredById
LEFT OUTER JOIN
dbo.Phones AS ph1
ON
ph1.PhoneId = voipd.FromNumberId
LEFT OUTER JOIN
dbo.Phones AS ph2
ON
ph2.PhoneId = voipd.ConnectedNumberId
WHERE
sd.SessionIdTime > (GETDATE() - 2)
AND sd.MediaTypes = 16
AND voipd.FromGatewayId is not null -- external
AND User1Id IS NULL
【问题讨论】:
【参考方案1】:有一种方法可以找到问题的答案,但您需要第二个应用程序才能做到这一点
当调用 RG 时,该调用将填充 CorrelationID
对于填充 CorrelationID 的每一行,您必须搜索没有 CorrelationID 的行,其中 RefferdByID 是被调用的 RG。 大多数情况下,应答用户将成为呼叫者,而被呼叫者是具有 CorrelationID 的线路的呼叫者
【讨论】:
以上是关于在 Lync 2010 LCSCDR 数据库中,这是一种判断谁接听了响应组呼叫的方法的主要内容,如果未能解决你的问题,请参考以下文章