使用SIP呼叫和DTMF触发短音频文件播放

时间:2024-04-08
新悦网络

编辑:

1、简介

音频设备内可以存储多个短音频文件,可以通过HTTP,SIP-ANSWER,SIP-DTMF,GPIO等多种触发短音频文件的本地播放。

SIP-ANSWER方式是通过SIP电话呼叫音频设备,设备接通后立即在本地播放短音频,短音频播放结束后,根据事件的设置,进入正常的双向通话状态或立即挂机。SIP电话挂机时,根据设置,会终止或继续播放短音频。

SIP-DTMF方式是通过SIP电话呼叫设备,设备接通后进入正常通话状态,此时可以通过按键向音频设备发送一串DTMF信息,设备根据DTMF信息串,触发不同的短音频,短音频播放完成后,可以设置成继续通话或结束会话。中途挂机,可设置成终止播放或继续播放。

短音频播放期间,音频设备会将短音频重新编码,发给SIP呼叫端,呼叫端可以实时监听音频设备的播放内容。

SIP会话中,有SIPINFO、RFC2833、INBAND,三种方式传输DTMF。设备只支持SIPINFO和RFC2833两种。

本文通过实例演示SIP- ANSWER和 SIP-DTMF两种触发短音频播放的操作方法。

2、名词

SIP:Session Initiation Protocol(会话发起协议)

SIP-ANSWER:会话接通时,触发的事件名称

SIP-DTMF:会话中,通过键盘,发送的信息名称。

SIPINFO:通过sip info机制发送的DTMF信息。

RFC2833:一种网络通讯标准

X-LITE: 一种软电话软件

miniSIPServer: 一种sip服务器软件(https://www.myvoipapp.com)

 

3、实例

测试系统图

 

 

3.1 SIP-INVITE触发音频播放

这个示例中,通过x-lite软件和呼叫音频设备,在音频设备接通会话后,立即播放短音频,播放完成后自动挂断。

3.1.1 准备工作

需要被测试的网络音频设备(例如SIP2703DEMO板+SIP2703V模块)

计算机(windows操作系统)

网线若干。

准备好后,设备上电,接入计算机网络,确保计算机与设备处于同一局域网。

参考《使用Manager应用程序发现和配置设备参数》设置设备IP参数。

使用ping命令检测设备是否可以正常通讯。

此例中,计算机的IP地址设置成192.168.3.199/255.255.255.0

SIP2703V模块IP地址设置从192.168.3.21/255.255.255.0

我们还需要在Manager发现和配置工具,设置网页访问端口=80,如为其他值,访问设备web服务时,需要指明端口号。

3.1.2、添加短音频

打开浏览器,这里使用chrome浏览器,在地址栏输入192.168.3.21,出现web登录窗口

 

img1

 

输入账号密码登录web服务。(如果是空密码,直接点击sign in按钮)

进入web服务后,切换到More/Audio Clip页面。

点击Add clip按钮上传短音频。下图为上传短音频后的截图。

 

img2

 

2.1.3、添加事件

在web服务器进入More/Events页面,通过“Add event”按钮打开添加事件窗口,填入事件参数,如下图。

 

img3

 

点击“Confirm”保存,退出编辑后,点击“Save”保存事件。然后点击Log out,使设备应用新的事件设定。

参数说明:

Name:事件的名称,任意取名。

Event Type:事件类型,设置为status change

Status:何种状态触发事件,设置为Answer

Action:事件触发的动作类型,设置为clip play and hang up,表示播放结束自动挂断。

clip:播放的短音频。

Voume:本地播放短音频时的音量。设置为85

Repeat:短音频的播放循环次数。

If event ends:挂机对短音频播放的影响,设置为Stop,表示挂机立即终止短音频播放。

这个事件设置,在sip会话接通后,立即触发设备在本地播放bbg30.mp3文件,音量=85,播放1次。文件播放结束后继续通话。如果在播放文件时,挂机,则立即终止播放。

3.1.4、启动和配置sip server

在计算机上运行miniSIPServer

点击工具栏按钮”Local users”,弹出窗口点击“Add,添加设备端电话账号(用于设备SIP注册)。

user name:1001

user password:2345

 

img4

 

用同样的方法,添加一个账号用于x-lite软电话。

user name:1010

user password:2345

3.1.5、设置设备sip账号

在web页面中,进入Sip Setting/Account 页面,填入sip服务器和账号信息。

 

img5

 

说明:账号密码需要与3.1.4小节设备端账号一致。

选中“Use sip server”

User account:1001

password:2345

server address:192.168.3.199(在测试计算机上运行minisipserver,故填测试计算机ip地址)

server port:5060 (sip默认端口)

接着进入“sip setting/intercom”页面,设置会话codec,选中所有的编码格式如下图。

将auto answer time设置为3秒,(自动接通延时)

 

img6

 

3.1.6、运行x-lite软电话

运行x-lite,点击抬头的img7,进入SIP account settings…对话框,添加账号信息(与3.1.4 xlite账号密码一致)。

 

img8

img9

 

在账号对话框输入账号:1010,密码2345,点击应用,退出设置。

如果设置都正确,可以在minisipserver的对话框看到1001和1010都登录到sip服务器了。

如下图所示, 

 

img10

 

账号前面的头像变成蓝色,表示成功登录,我们可以进行下一步测试。

3.1.7、测试

a,在x-lite键盘上,输入1001,点击img11呼叫音频设备。

b,会话接通后,设备就会本地播放bbg30.mp3音频,

c,设备会将当前播放的音频,回送x-lite,计算机声卡实时听到播放。

d,x-lite挂机,音频设备停止播放。

e,结束测试。

 

3.2、通过DTMF触发短音频播放

本实例演示在SIP通话中,会话接通后,进行正常的双向通话,此时向音频设备发送DTMF数据串,触发短音频播放,播放完成后重新进入双向通话。

提示:如果设置了SIP-ANSWER事件,会先触发此事件。

3.2.1、准备工作

参考3.1小节进行所有的准备工作,包括添加短音频,启动和配置sip Server,设置设备账号,启动x-lite软电话等。

3.2.2、添加事件

在web服务器进入More/Events页面,通过“Add event”按钮打开添加事件窗口,填入事件参数,如下图。

img12

 

点击“Confirm”保存,退出编辑后,点击“Save”保存事件。然后点击Log out,使设备应用新的事件设定。

参数说明:

Name:事件名称

Event Type:选择dtmf

value:dmtf键值。完全匹配才触发事件。键值需要连续输入,如果按键间隔过长,前面输入会被忽略。

Action:选择clip play and talk,表示播放文件完成后继续通话。

clip:短音频的文件名。

volume:本地播放音量。

Repead:短音频播放循环次数。

If event end:选择continue playing,表示播放期间如果挂断电话,继续播放,播放结束自动挂断。

这个事件设置,在sip会话接通后,使用键盘依次输入123,触发设备播放bbg30.mp3文件,音量=85,播放1次。文件播放结束后继续通话。如果在播放文件时,挂机,则设备继续播放文件,播放完后自动挂机。

3.2.3、测试

a,在x-lite上,输入1001,点击img13呼叫设备。

b,会话接通后,依次点击x-lite键盘1,2,3键,设备就会播放bbg30.mp3,

c,设备会将当前播放的音频,送回x-lite进行播放。

d,音频结束后继续通话。

e,你还可以再次输入123,设备会再次播放一次bbg30.mp3。

f,挂机,结束测试。

 

文档下载使用SIP呼叫和DTMF触发短音频文件播放

最新内容

知识库