FreeSWITCH mod_oreka 测试
FreeSWITCH 地址是192.168.31.66
oreka 模块配置:
<configuration name="oreka.conf" description="Oreka Recorder configuration"><settings><!-- Oreka/Orkaudio recording server address --><param name="sip-server-addr" value="192.168.31.166"/><!-- Which port to send signaling to in the recording server --><param name="sip-server-port" value="5060"/></settings>
</configuration>
dialplan 配置:
<action application="answer"/>
<action application="set" data="oreka_sip_h_X-customer=123"/>
<action application="set" data="oreka_sip_h_X-extension=1001"/><action application="oreka_record"/>
<action application="echo"/>
FreeSWITCH 先发 sip invite 消息给 192.168.31.166:
INVITE sip:9196@192.168.31.66:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.31.66:5061;branch=z9hG4bK-35af1513-156f-4b84-aa78-fd91448ca044
From: <sip:1001@192.168.31.66:5061;tag=1>
To: <sip:9196@192.168.31.66:5060>
Call-ID: 35af1513-156f-4b84-aa78-fd91448ca044
CSeq: 1 INVITE
Contact: sip:freeswitch@192.168.31.66:5061
Max-Forwards: 70
Subject: BEGIN TX recording of 1001
X-customer: 123
X-extension: 1001
Content-Type: application/sdp
Content-Length: 215v=0
o=freeswitch 35af1513-156f-4b84-aa78-fd91448ca044 1 IN IP4 192.168.31.66
c=IN IP4 192.168.31.166
s=Phone Recording (TX)
i=FreeSWITCH Oreka Recorder (pid=3041)
m=audio 24278 RTP/AVP 0
a=rtpmap:0 PCMU/8000
留意 audio 的端口是 24278
接下来, FreeSWITCH 收到 rtp 包之后,往 192.168.31.166 的 24278 端口转发 rtp,但编码是写死的,mu-law
呼叫结束时,FreeSWITCH 向 192.168.31.166 发 bye
BYE sip:9196@192.168.31.66:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.31.66:5061;branch=z9hG4bK-35af1513-156f-4b84-aa78-fd91448ca044
From: <sip:1001@192.168.31.66:5061;tag=1>
To: <sip:9196@192.168.31.66:5060>
Call-ID: 35af1513-156f-4b84-aa78-fd91448ca044
CSeq: 1 BYE
Contact: sip:freeswitch@192.168.31.66:5061
Max-Forwards: 70
Subject: END TX recording of 1001
Content-Length: 0
有了上面这些信息,是不是可以做一个录音服务器?
简单测试了下这个模块,还没仔细研究
FreeSWITCH 版本是 1.10.7
OS 是 CentOS7
估计还有很多细节有待发掘