asterisk电话监听有很多种方式,可以监听分机(ExtenSpy),监听通道(ChanSpy),监听Zap通道(ZapBarge)。
监听分机用ExtenSpy,一直没能配置成功,老是说声音编码有问题。后来使用ChanSpy来监听分机。.
下面是一段示例拨号规则:(监听与被监听分机必须在同一个拨号方案里,才能实现监听)
sip.conf 配置文件:
[1340]
type=friend
secret=123456
host=dynamic
call-limit=1
context=user
callerid='10016'<10016>
port=5060
nat=yes
[1341]
type=friend
secret=123456
host=dynamic
call-limit=1
context=user
callerid='10016'<10016>
port=5060
nat=yes
extensions.conf 配置文件:
[user]
exten => _0.,1,mixmonitor(/record/${STRFTIME(${EPOCH},,%Y%m%d)}/${STRFTIME(${EPOCH},,%Y%m%d%H%M%S)}_${CALLERID(num)}_${EXTEN:0}.wav,bv(4)V(4)W(4))
exten => _0.,n,dial(SIP/${EXTEN}@shenzhen,45)
exten => _0.,n,hangup
exten => _555X,1,Macro(user-callerid,)
exten => _555X.,1,Answer
exten => _555X.,n,Wait(1)
exten => _555X.,n,ChanSpy(SIP/${EXTEN:3})
exten => _555X.,n,Hangup
;只能 加个W 参数,和被监听的分机通话
;exten => _555X.,n,ChanSpy(SIP/${EXTEN:3},w)
分机拨 555+分机号,即可监听某分机了,如 5558001,将监听8001分机的通话了。另外ChanSpy还有参数(w)可以设置,不光可以监听还能进行交互。