在MYSQL中查询Asterisk CDR以按SIP号码列出入站呼叫?

时间:2015-11-05 09:57:41

标签: mysql sql asterisk pbx

是否可以查询CDR数据库以列出给定时间段内每个入站电话号码的入站呼叫总数?

我希望输出如下:

Inbound Telephone number : Count calls received
------------------------   --------------------

0123456789               : 124

098756431                : 43

0123456798               : 39

0123456788               : 14

我在MYSQL中有CDR数据库,但是查看数据我似乎无法弄清楚如何识别哪些呼叫是来电的,以及他们用来拨打的电话号码和SIP提供商。

我正在尝试评估在指定时间段内使用某些直拨号码的频率。

我必须在MYSQL中查询的列:

acctid
calldate
clid
src
dst
dcontext
channel
dstchannel
lastapp
lastdata
duration
billsec
disposition
amaflags
accountcode
uniqueid
userfield
did
recordingfile
cnum
cnam
outbound_cnum
outbound_cnam
dst_cnam
import_cdr

这里要记录的内容如下:http://asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/asterisk-SysAdmin-SECT-1.html

然而,一些看起来像频道的列并没有清楚地告诉我呼入呼叫者的呼叫是什么以及呼叫是呼入还是呼出。

如果有谷歌搜索,似乎无法找到答案。

谢谢,

1 个答案:

答案 0 :(得分:0)

问题在于没有使用任何数字,这就是让我失望的原因。

只需查询DID列即可解决问题。

SELECT 'xxxxxxxxxxx' as 'tel', count(*) as 'count' from CDR where did = 'xxxxxxxxxxx'

然后我使用EXCEL创建了一个包含所有数字的巨大联合,并发现它有效。

-

仍然想知道如何从此列表中识别入站和出站呼叫,因为它将来会很有用。