基于SIP及WebSocket的VoIP电话呼叫技术
- 格式:doc
- 大小:946.50 KB
- 文档页数:7
网络协议知识:WebRTC协议和SIP协议的联系与区别WebRTC协议和SIP协议的联系与区别WebRTC并不是一个传统的通信协议,它是一个开放的标准,用于在Web浏览器之间实现实时通信。
而SIP协议是一种传统的VoIP协议,常用于在互联网上进行语音和视频通话,也可以与传统公共交换电话网络(PSTN)相连。
联系:首先,WebRTC和SIP协议都采用了实时通信的技术,使得用户可以在任意地方使用网络进行语音和视频通话。
WebRTC使用的是Web技术,因此不需要任何插件或软件,只要在Web浏览器上打开即可。
而SIP协议需要使用VoIP软件。
其次,WebRTC和SIP协议都可以实现多方通话,即多个用户同时参与一次通话,包括语音和视频。
区别:WebRTC协议的主要优势在于其直接嵌入Web浏览器中,因此可以和Web应用程序进行无缝集成。
而SIP协议是一种独立的协议,需要单独部署VoIP软件。
SIP协议可以与传统的PSTN相连,使得用户可以拨打传统电话号码进行通话。
WebRTC协议不能直接拨打传统电话号码,需要通过网关或其他SIP设备来实现。
WebRTC协议支持的功能比SIP协议更加丰富。
例如,WebRTC协议可以轻松地集成屏幕共享、文件传输和实时协作等功能,而SIP协议需要使用其他协议来支持这些功能。
WebRTC协议在安全性方面更具优势。
WebRTC使用加密技术来保护通信内容的机密性和完整性,而SIP协议则需要另外的安全协议来提供相同的保护。
综上所述,WebRTC协议和SIP协议虽然都是实时通信的协议,但它们的设计目的和使用场景有所不同。
WebRTC主要用于浏览器之间的语音和视频通话,可以实现无需插件或软件的实时通信。
而SIP协议则可以与传统的电话网络相连,提供更加全面的电话服务。
SIP协议呼叫流程及协议分析SIP(Session Initiation Protocol)是一种用于建立、修改和终止多媒体会话的协议。
它在互联网通信中发挥着重要的作用,特别是在VoIP(Voice over Internet Protocol)中。
本文将详细介绍SIP协议的呼叫流程以及对协议的分析。
一、SIP协议呼叫流程1. 注册阶段:在SIP协议中,用户设备需要先进行注册,以便在网络中被识别和定位。
注册流程如下:- 用户设备发送REGISTER消息到SIP服务器,包含用户的身份信息和位置信息。
- SIP服务器接收到REGISTER消息后,将用户的信息记录在注册表中,并返回200 OK响应,表示注册成功。
2. 呼叫建立阶段:在完成注册后,用户可以发起呼叫请求。
呼叫建立流程如下:- 主叫用户设备发送INVITE消息到SIP服务器,包含被叫用户的地址信息和媒体协商信息。
- SIP服务器接收到INVITE消息后,查询被叫用户的位置信息,并将INVITE消息转发给被叫用户设备。
- 被叫用户设备接收到INVITE消息后,发送100 Trying响应给SIP服务器,表示正在处理呼叫请求。
- 被叫用户设备根据媒体协商信息,生成对应的SDP(Session Description Protocol)消息,并将200 OK响应发送给SIP服务器。
- SIP服务器将200 OK响应转发给主叫用户设备。
- 主叫用户设备接收到200 OK响应后,发送ACK消息给SIP服务器,表示呼叫建立成功。
3. 呼叫传输阶段:在呼叫建立成功后,主叫和被叫用户之间可以进行音视频传输。
呼叫传输流程如下:- 主叫用户设备根据SDP消息中的媒体协商信息,建立音视频传输通道。
- 主叫用户设备将音视频数据打包成RTP(Real-time Transport Protocol)数据包,并通过网络发送给被叫用户设备。
- 被叫用户设备接收到RTP数据包后,解析数据并播放音视频。
SIP协议呼叫流程及协议分析SIP(Session Initiation Protocol)是一种用于建立、修改和终止多媒体会话的通信协议。
它是一种基于文本的协议,使用标准的HTTP语法来传输消息。
SIP协议在VoIP(Voice over Internet Protocol)中广泛应用,用于呼叫控制和媒体会话管理。
一、SIP协议呼叫流程:1. 呼叫发起:- 呼叫方向代理服务器发送INVITE请求,包含目标用户的SIP地址。
- 代理服务器根据目标地址查询目标用户的位置信息,并转发INVITE请求。
2. 呼叫接收:- 目标用户的终端设备收到INVITE请求,返回100 Trying响应,表示正在处理请求。
- 终端设备根据用户设置,选择是否接受呼叫。
3. 呼叫建立:- 目标用户接受呼叫后,终端设备发送200 OK响应,表示呼叫建立。
- 代理服务器将200 OK响应转发给呼叫方。
4. 媒体协商:- 呼叫方和目标用户通过SDP(Session Description Protocol)交换媒体协商信息,包括编解码器、传输协议等。
- 双方根据媒体协商信息建立媒体传输通道。
5. 会话管理:- 呼叫方和目标用户通过SIP消息交换会话管理信息,如保持、暂停、终止等操作。
- 代理服务器负责转发这些会话管理消息。
6. 呼叫结束:- 任一方或代理服务器可以发送BYE请求,表示呼叫结束。
- 接收方返回200 OK响应,表示呼叫终止。
- 代理服务器将200 OK响应转发给发起方。
二、SIP协议分析:1. SIP消息格式:- SIP消息由起始行、头部和消息体组成。
- 起始行包含请求方法/响应状态码、URI和SIP版本。
- 头部包含多个字段,如From、To、Call-ID、CSeq等,用于传递相关信息。
- 消息体可选,用于传输媒体数据。
2. SIP地址:- SIP地址采用URI(Uniform Resource Identifier)格式,如sip:****************。
播地址和端口。
对UDP,可以用重传机制来获得可靠性。
SIP的消息格式和操作是独立于传输协议的。
3.1.4SIP邀请(Invite)一个成功的SIP邀请包括两个请求,INVITE后面跟一个ACK。
玳VITE请求邀请被叫加入某个会议或建立一个两点的会话。
当被叫发出同意加入呼叫的响应以后,主叫要向它发送一个ACK请求来确认己经收到了这个响应。
如果主叫不想参与这个呼叫,它应发送一个BYE请求而不是ACK。
一个SIP请求典型地包含一个会话描述(例如用SDP协议),为被叫提供充分的信息以便加入会话。
对多点会话来说,会话描述列举了允许向整个会话发布的媒体类型和格式。
对单点会话来说,会话描述列举了主叫所期望的媒体类型、格式以及可用于接收媒体数据的地址。
不管是哪种情况,如果被叫接受呼叫,它就会在响应中返回类似的描述来列出它希望使用的媒体。
对于多点会话,只有当被叫不能接受主叫所描述的媒体或是它希望通过单播来接收数据时才应该返回会话描述。
下图是个的S口的I补,r腰请求的简单呼叫流程。
Te}sla图2—1SIP请求呼叫流程MarconiRTCP报文头部参数首先要区别携带不同控制信息的RTCP报文的类型,R他P报文的类型主要有以下几种:(1)SR:发送报告,当前活动发送者发送、接收统计。
(2)RR:接收报告,非活动发送者接收统计。
(3)SDES:源描述项,包括CNAME.(4)BYB:表示结束。
(5)APP:应用特定函数。
其中最主要的RTCP报文是SR和RR。
通常SR报文占总RTCP包数量的25%,RR报文占75%。
类似于RTP数据包,每个RTCP报文以固定的包头部分开始,紧接着的是可变长结构元素,但是以32位长度为结束边界。
在RTCP报文中,不需要插入任何分隔符就可以将多个RTCP报文连接起来形成一个RTCP组合报文。
由于需要底层协议提供整体民度来决定组合报文的结尾,所以在组合报文中没有单个RTCP报文的显式计数。
RTCP控制报文的发送周期是变化的,与报文长度L用户数N和控制报文带宽B相关:周期P=L*N,B。
SIP协议呼叫流程及协议分析SIP(Session Initiation Protocol)是一种用于建立、修改和终止多媒体会话的应用层协议。
它是一种基于文本的协议,使用类似HTTP的请求-响应模式进行通信。
SIP协议在VoIP(Voice over Internet Protocol)和实时通信领域得到广泛应用。
本文将详细介绍SIP协议的呼叫流程及协议分析。
一、SIP协议呼叫流程1. 呼叫建立阶段呼叫建立阶段是SIP协议中最重要的阶段之一。
它包括以下步骤:- 呼叫发起方(Caller)向呼叫接收方(Callee)发送INVITE请求,该请求包含了呼叫的相关信息,如被叫方的SIP地址、媒体类型等。
- 呼叫接收方收到INVITE请求后,可以选择接受或拒绝呼叫。
如果接受呼叫,接收方将返回一个200 OK响应,表示呼叫已被接受。
- 呼叫发起方收到200 OK响应后,会发送一个ACK请求,确认呼叫已被接受。
2. 媒体协商阶段媒体协商阶段用于协商呼叫双方之间的媒体传输参数。
它包括以下步骤:- 呼叫发起方和呼叫接收方通过SDP(Session Description Protocol)交换媒体传输参数,如音频编解码器、传输协议等。
- 呼叫双方根据SDP中的参数进行媒体传输的配置。
3. 呼叫保持与呼叫转移呼叫保持和呼叫转移是SIP协议中的两个重要功能。
它们可以在呼叫过程中进行:- 呼叫保持:当一方需要将呼叫保持时,它会发送一个INVITE请求给另一方,并在请求中添加一个"hold"参数。
对方收到请求后,可以选择接受或拒绝呼叫保持。
- 呼叫转移:当一方需要将呼叫转移到另一方时,它会发送一个REFER请求给另一方,并在请求中指定新的被叫方。
对方收到请求后,可以选择接受或拒绝呼叫转移。
4. 呼叫结束阶段呼叫结束阶段用于终止呼叫。
它包括以下步骤:- 任何一方可以发送BYE请求给对方,表示希望终止呼叫。
VoIP终端中呼叫保持的SIP信令流程以及实现作者:何平来源:《商情》2010年第15期[摘要]SIP信令技术是实现基于SIP的VolP系统的一个关键技术,本文介绍了VolP终端设计中要求实现的通话和控制服务之呼叫保持的SIP信令流程以及实现。
[关键词]SIP VolP 呼叫保持一、前言网络技术和语音编码技术的发展促成了VoIP(Voice OVER IP)技术的诞生,它将语音数据编码压缩后利用分组交换网进行传输,实现语音通信的目的。
该技术能够以低廉的成本实现传统通信技术的全部功能,并可根据需要基于IP网络不断开发出多种增值服务。
其实现方式灵活,服务功能强大,成本低,因此VOIP技术取代传统的通信技术已成为必然的趋势。
VoIP区别于其它Internet多媒体服务的一个重要功能就是通信双方能够互相定位并互发信号以请求通信,这个机制就是VolP的信令机制。
它作用于应用层,保证电话呼叫的顺利实现,在整个VolP系统结构建设中起到关键作用。
因此,SIP(Session Initiation Protocol,会话初始化协议)信令技术是实现基于SIP的VolP系统的一个关键技术。
二、VoIP终端要求设计VoIP终端要求设计能够支持以下各种通话和控制服务:基本呼叫(来电、去电、挂机)、呼叫保持、呼叫转移、三方通话和短消息服务为了在VoIP系统中实现上述功能,我们需要设计一个对象fcall用来保存一路通话的基本信息,当用户终端接收到一个呼入请求或者发送一个出请求时,都申请一个这样的对象。
fcall变量中定义的成员变量的数据来源于事件。
以下是定义fcall的源码:Struct fcall {Int cid;Int did;Char reason_phrase[50];Int status_code;Char testinfo[256];Char req_uri[256];Char local_uri[256];Char remote_uri[256];Char subject[256];Char remote_sdp_audio_ip[256];Char remote_sdp_audio_port;Int payload_name[50];int state;}三、呼叫保持的SIP信令流程以及实现呼叫保持指在呼叫中终止语音流的传输,但是并不挂断通话,即不终止信令的传输,用户可以随时恢复语音流的传输。
SIP协议呼叫流程及协议分析SIP(Session Initiation Protocol)是一种用于建立、修改和终止多媒体会话的通信协议。
它被广泛应用于VoIP(Voice over IP)系统中,用于实现语音、视频和其他多媒体通信。
本文将详细介绍SIP协议的呼叫流程和协议分析。
一、SIP协议呼叫流程1. 呼叫建立阶段在呼叫建立阶段,参与呼叫的两个终端被称为User Agent(UA)。
呼叫建立的流程如下:1.1 UA1发送INVITE请求到SIP服务器,请求建立呼叫。
1.2 SIP服务器向UA2发送INVITE请求,询问是否愿意接受呼叫。
1.3 UA2发送100 Trying响应,表示正在处理请求。
1.4 UA2发送180 Ringing响应,表示正在振铃。
1.5 UA2发送200 OK响应,表示接受呼叫。
1.6 UA1发送ACK请求,确认接受呼叫。
2. 呼叫传输阶段在呼叫传输阶段,实际的语音、视频或其他多媒体数据通过网络传输。
该阶段的流程如下:2.1 UA1和UA2之间交换多媒体数据。
3. 呼叫终止阶段在呼叫终止阶段,参与呼叫的任一方终止呼叫。
呼叫终止的流程如下:3.1 UA1或UA2发送BYE请求,请求终止呼叫。
3.2 接收到BYE请求的一方发送200 OK响应,表示同意终止呼叫。
二、SIP协议分析SIP协议由请求-响应模型组成,使用文本格式进行消息传递。
它基于客户端-服务器架构,其中客户端是发起请求的一方,服务器是处理请求并发送响应的一方。
以下是SIP协议的一些重要特点和分析:1. 端口号SIP协议使用UDP(User Datagram Protocol)或TCP(Transmission Control Protocol)作为传输层协议,默认使用UDP端口5060。
SIP协议还可以使用TLS (Transport Layer Security)进行加密传输,默认使用TCP端口5061。
SIP协议在通信电子中的应用随着科技的不断发展,通信行业也在不断变化。
SIP协议作为一种通信协议,已经在通信电子中得到了广泛的使用。
本文将会探讨SIP协议的基本概念、应用场景以及未来的发展趋势。
什么是SIP协议?SIP(Session Initiation Protocol)是一种应用层通信协议,其主要用途是在互联网上建立、修改和终止连接。
SIP协议通常用于VoIP电话、实时视频和即时消息传输等应用。
SIP协议的基本工作原理是通过发送SIP消息来处理用户的会话请求和响应。
SIP协议的应用场景1. VoIP电话VoIP(Voice over Internet Protocol)即网络电话,它是通过互联网传输语音数据来实现电话通讯的一种技术。
在VoIP电话中,SIP协议起到了很重要的作用。
SIP协议可以用来建立、维持和终止电话通话,确保通话的稳定和高品质。
2. 实时视频实时视频应用已经成为当今互联网世界中不可或缺的一部分,SIP协议在实时视频中的应用同样也非常广泛。
SIP协议可以用于建立实时视频会话,并对这些会话进行管理和控制。
通过SIP协议,用户可以方便地与其他用户进行视频通话,这对远程办公、远程教育等应用场景都非常有用。
3. 即时消息传输SIP协议还可以用于即时消息传输,在这种应用场景下,SIP协议起到了类似于Instant Messaging(IM)协议的作用。
SIP协议可以用于发送和接收文本消息、语音消息和文件等。
它不仅可以实现用户之间的短信通讯,也可以用于一些实时聊天室。
SIP协议的发展趋势随着通信技术的不断发展,SIP协议的应用还有很大的发展空间。
未来,在大数据与物联网技术的发展下,SIP协议将会更加广泛地应用于各种智能设备中,成为智能化发展的基石。
另外,SIP协议也发展出了一些新的协议,如SIP Servlet API、SIP SIMPLE、SDP(Session Description Protocol)等。
SIP协议的会话控制与VoIP通信实现随着互联网的普及和发展,网络通信技术也得以迅速发展,其中VoIP(Voice over Internet Protocol)通信技术的兴起引起了人们的极大关注。
VoIP通信技术通过将语音信号转换为数字信号,然后通过互联网进行传输,实现了语音通信的全球化和成本的大幅降低。
而SIP (Session Initiation Protocol)协议作为一种重要的会话控制协议,为VoIP通信提供了重要支持。
在VoIP通信中,会话控制是非常关键的一环。
会话控制主要包括呼叫建立、呼叫保持、呼叫转移等功能,而SIP协议正是用于完成这些会话控制功能的。
SIP协议是一种应用层协议,其作用是在用户之间建立、修改和终止通信会话。
SIP协议的核心是与用户进行注册和鉴权的SIP服务器,通常包括用户注册服务器(User Agent Register,UAR)和用户定位服务器(Location Server,LS)。
SIP协议的通信过程略显复杂,下面将对其通信过程进行详细阐述。
在通信开始前,用户首先需要向SIP服务器进行注册,以表明其可用状态。
用户通过发送REGISTER请求来进行注册,其中包含用户的身份标识、可用地址等信息。
SIP服务器接收到REGISTER请求后,将用户的状态信息存储起来,并返回一个200 OK响应,表示注册成功。
用户注册成功后,就可以进行呼叫建立等操作了。
在进行呼叫建立时,用户首先需要发送INVITE请求,其中包含被呼叫方的地址信息。
SIP服务器将收到的INVITE请求进行分析,确定被呼叫方并向其发送INVITE请求。
被呼叫方接收到INVITE请求后,可以通过发送180 Ringing响应向主叫方进行回应,表示呼叫正在进行中。
当被呼叫方准备好后,可以通过发送200 OK响应向主叫方进行回应,表示呼叫已经建立。
主叫方接收到200 OK响应后,也会向被呼叫方发送一个ACK请求,用于确认呼叫的建立。
VoIP技术协议之SIP协议协议名称:SIP协议一、引言本协议旨在规范并定义Session Initiation Protocol(SIP)协议的相关技术规范、通信流程以及数据交换格式,以促进VoIP(Voice over Internet Protocol)技术的发展和应用。
本协议适用于基于SIP协议的通信设备、系统和服务。
二、术语定义1. SIP:Session Initiation Protocol,会话发起协议,是一种应用层协议,用于建立、修改和终止多媒体会话,如语音通话、视频通话和即时消息等。
2. VoIP:Voice over Internet Protocol,互联网语音协议,是一种通过互联网传输语音和多媒体数据的技术。
3. UA:User Agent,用户代理,是SIP协议的终端设备或应用程序,可以是软电话、硬电话或其他支持SIP协议的设备。
4. Proxy服务器:代理服务器,用于转发SIP消息,管理会话的建立和终止。
5. Registrar服务器:注册服务器,用于维护用户的注册信息,允许用户通过SIP协议进行身份验证和注册。
6. Redirect服务器:重定向服务器,用于将SIP请求重定向到其他服务器。
7. Invite:邀请请求,用于建立会话。
8. ACK:确认请求,用于确认收到对邀请请求的响应。
9. BYE:终止请求,用于终止会话。
10. OK:成功响应,表示请求成功处理。
11. 4xx/5xx/6xx:失败响应,表示请求处理失败。
三、协议规范1. SIP消息格式SIP消息由起始行、消息头和消息体组成。
起始行包含请求行或响应行,消息头包含各种头字段,消息体包含可选的消息内容。
消息头字段包括:- Via:SIP消息的传输路径信息。
- From:发起请求的用户标识。
- To:接收请求的用户标识。
- Call-ID:唯一标识一个会话。
- CSeq:请求序列号,用于标识请求的顺序。
基于SIP及WebSocket的VoIP电话呼叫技术
作者:王江淮周路丁常坤
来源:《电脑知识与技术》2020年第09期
摘要:为了实现VoIP与业务能力的结合,实现基于VoIP软电话的呼叫中心平台能力,提出了通过WebSocket、SIP协议和FreeSWITCH的技术结合,打造IP-PBX[1]交换机方式的VolP呼叫中心平台方案,来替代传统的基于电路的呼叫中心平台系统,从而在不影响呼叫中心功能的情况下实现系统的灵活部署、低廉成本等优势。
关键词:VolP;FreeSWITCH;SIP;WebSocket
中图分类号:TP399 文献标识码:A
文章编号:1009-3044(2020)09-0040-03
基于电路的传统的呼叫中心系统是目前应用最多的呼叫中心平台,它具有成熟稳定、接人能力强等特点,但也导致系统架构复杂、安装部署及运维难度大、建设成本高等缺点,这也导致其很难适用于小中规模呼叫中心建设的原因。
随着移动通信,无线网络的快速发展,融合IP 和通信技术的统一通信平台已经渐渐被各企业所接受和认可。
基于VoIP软电话的呼叫中心平台也应运而生,由FreeSWITCH提供通信等能力、软电话承接,通过WebSocket与软电话建立连接实现通讯与业务能力的结合,建立基于VoIP软电话的呼叫中心系统,不仅具有传统交换机的优势,同时还具备系统结构简单、部署灵活、低成本的等优点,这将是未来呼叫中心系统的发展方向。
1 电话软交换平台
FreeSWITCH是一个开源的、跨平台的、伸缩性好的、多协议的电话软交换平台,由于使用了IP通信,它能通过IP网提供语音通信,它不仅可以在企业内部网上进行,也可通过Internet在外网甚至PSTN电话间进行。
FreeSWITCH与SIP软电话通信的协议是SIP协议,SIP是由IETF提出的IP电话信令协议,如图1为请求呼叫建立发送的SIPINVITE请求。
在SIP通信中,除文字外,媒体都是在RTP协议中传输的,由于媒体一般都是持续传输的,因此又称RTP流。
FreeSWITCH是一个典型的B2BUA.在一个通话过程中,FreeSWITCH都是作为一个B2BUA来桥接两个客戶端软电话进行通话,完整的呼叫流程如图2。
在搭建软电话呼叫中心系统中,由FreeSWITCH提供语音交换、媒体处理、媒体监播、电话会议、排队等功能,由SIP软电话承接功能,并通过WebSocket收发命令实现属性、方法、事件与呼叫中心业务、管理能力结合(如图3)。
2 基于SIP的软电话
MicroSIPc2]是开源的轻量级的SIP软电话,所用的协议栈是SIP协议栈[3],PJSIP是包含SIP、SDP、RTP、RTCP、STUN、ICE等协议实现的开源库。
目前MicroSIP最新版本已更新到3.19.23,MicroSIP不仅实现呼叫、接听、挂断、通话保持、继续,静音等基本功能,同时也实现了坐席的示忙、示闲、会议、释放转坐席等功能,这些功能已基本能满足普通用户和中
小企业的内部通信需求。
但无法满足话务服务中心的复杂功能的需要,特别是管理和质检的需要。
所以在依托开源的MicroSIP基础上,开发一个不仅能支持普通话务需求,同时能更好地承接或替代基于传统交换机的话务中心的软电话,是目前最需要考虑的问题,在此基础上我们需要设计一款新的软电话。
新的软电话不仅包括目前MicroSIP所有功能,同时也支持目前话务中心班长管理功能、技能控制功能,如动态修改坐席签人信息、引入技能队列、监听、拦截、三方通话、协商转流程、释放转技能组、协商转技能组等。
协商转IVR流程是目前话务中心或服务中心经常用到的功能,原有MicroSIP中并没有实现,通过研究,我们可以根据现有挂起转功能进行改造(如图4),同时结合FreeSWITCH的拨号计划(如图5)和Lua脚本(如图6)实现此功能,在挂起转时将转移IVR编码和受理坐席工号一起转移,同时,示忙当前坐席状态,让坐席等待客户转流程后返回,并在FreeSWITCH拨号计划进行路由,并转入对应Lua脚本的IVR流程,待流程结束再转移到传人的受理坐席账号。
此外,与其他SIP软电话不同的是,新的SIP软电话客户端需要不仅能够正常启动运行,同时通过Socket技术搭建WebSocket服务端(如图7),为呼叫中心平台提供通信和监控服务。
为方便对通信行为的控制,限制客户对SIP软电话的直接操作,所以客户端可以实现后台启动方式启动,这即降低了客户的非法操作,同时也规范了客户的正常操作。
3 基于软电话的VoIP呼叫中心平台
传统呼叫中心平台,都是基于电路型的交换机实现的,大多都需要浏览器加载中间件(控件)来实现与交换机的交互,过于依赖浏览器,所以在搭建呼叫中心系统的同时,也必须要求客户统一规定安装相对应的浏览器和版本,即便是如此,也无法保证浏览器不会被变更,这也是导致现有呼叫中心客户经常出现呼叫中心系统故障的原因之一。
而WebSocket技术目前已经基本支持所有高版本的主流浏览器,在搭建呼叫中心系统而基本无须特意要求客户的浏览器环境。
在VoIP呼叫中心系统中,由SIP软电话程序实现启动WebSocket服务端,而呼叫中心平台作为客户端申请并与WebSocket服务端建立长连接(这一方案也称为SIP over WebSocket[4]),呼叫中心平台即可通过调用指令接口实现如呼出、挂断、示闲、示忙等主动操作。
同时SIP软电话接收和获取FreeSWITCH坐席通话信息和状态,主动以事件方式推送当前坐席的通话信息和状态,为平台提供数据支持(如图8)。
4 技术验证及分析
通过上述的讨论和研究,我们可以通过搭建FreeSWITCH,编译并修改MicroSIP实现其它功能,创建WebSocket服务端,通过火狐浏览器创建WebSocket连接,发送呼叫、监听指令,分析返回结果:
呼出指令如:
根据WebSocket服务端返回结果分析,1003客户端已接听并建立通话连接。
监听指令如:
根据WebSocket返回结果分析,监听0055aOcO-e7a5-4d8c-8a74-337809fe66b5通话成功。
由上呼出、监听验证结果分析可知,本文提出的基于FreeSWITCH、SIP协议以及WebSocket的VoIP软电话呼叫中心技术的可行性。
5 结束语
本文提出了通过FreeSWITCH、SIP软电话实现VoIP呼叫中心系统,通过由FreeSWITCH 提供能力,软电话进行SIP请求封装、与FreeSWITCH进行SIP通信,与业务能力、管理功能结合搭建呼叫中心平台,并通过具体呼叫、监听测试验证了本方案的可行性。
本方案相对于传统的基于电路交换机的呼叫中心系统有结构简单、成本低、部署灵活等特点,但也存在很多不可预知的问题,比如NAT穿越[51问题一直没有统~的解决方案,需要等待时间来不断发现和完善。
、
参考文献:
[1]Wikipedia:hUp:///wiki/lP_PBX
[2] https:///source
[3]张文杰PJSIP开发指南,http:///.
[4]http://datatracker. ietf. org/doc/draft-ietf-SIPcore-SIP-Web-Socket/。
[5]杜金房,张令考FreeSWITCH权威指南。
【通联编辑:梁书】
作者简介:王江淮,男,安徽安庆人,本科;周路,男,安徽亳州人,本科;丁常坤,男,安徽肥西人,硕士研究生。