CN114915925A - 网络通话方法、装置、移动终端、sip服务器和存储介质 - Google Patents
网络通话方法、装置、移动终端、sip服务器和存储介质 Download PDFInfo
- Publication number
- CN114915925A CN114915925A CN202210538040.6A CN202210538040A CN114915925A CN 114915925 A CN114915925 A CN 114915925A CN 202210538040 A CN202210538040 A CN 202210538040A CN 114915925 A CN114915925 A CN 114915925A
- Authority
- CN
- China
- Prior art keywords
- client
- called
- called client
- calling
- network address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000004044 response Effects 0.000 claims description 70
- 238000004891 communication Methods 0.000 claims description 48
- 238000004590 computer program Methods 0.000 claims description 26
- 230000006870 function Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000011664 signaling Effects 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013509 system migration Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/16—Communication-related supplementary services, e.g. call-transfer or call-hold
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/11—Allocation or use of connection identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/26—Network addressing or numbering for mobility support
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/08—Upper layer protocols
- H04W80/10—Upper layer protocols adapted for application session management, e.g. SIP [Session Initiation Protocol]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请涉及一种网络通话方法、装置、移动终端、SIP服务器和存储介质。该方法包括:获取在主叫客户端中输入的被叫客户端的用户标识,根据主叫客户端的用户标识及被叫客户端的用户标识生成通话请求,并将通话请求发送至SIP服务器;根据通话请求及被叫客户端的网络地址,建立主叫客户端与被叫客户端之间的通话连接;其中,通话请求用于指示SIP服务器基于被叫客户端的用户标识确定被叫客户端的网络地址,并根据被叫客户端的网络地址将通话请求发送至被叫客户端;SIP服务器中存储了不同的用户标识与客户端的网络地址之间的对应关系。本申请实施例中通过移动终端实现网络电话能够大大增加网络电话的应用范围,拓宽网络电话的使用场景。
Description
技术领域
本申请涉及通讯技术领域,特别是涉及一种网络通话方法、装置、移动终端、SIP服务器、存储介质和计算机程序产品。
背景技术
随着通讯及网络技术的发展,通讯方式越来越多样化,用户除了可以通过运营商拨打电话之外,还可以通过网络拨打网络电话。其中,网络电话指的是一种通过互联网直接拨打对方的固定电话和手机的通话方式,在用户拨打网络电话时,用户能够在不通过三大运营商收费的情况下,实现免费通话,从而降低经济开销。
传统技术中,在拨打网络电话时,通常需要预先在电脑端安装网络电话软件,通过电脑端的该网络电话软件可以实现向电脑、手机或者固定电话拨打网络电话。
然而,对于现有的网络电话通话方式,存在应用范围较窄,使用场景受限的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够增加网络电话的应用范围,拓宽网络电话的使用场景的网络通话方法、装置、移动终端、SIP服务器、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种网络通话方法。应用于移动终端,该方法包括:
获取在主叫客户端中输入的被叫客户端的用户标识;
根据主叫客户端的用户标识及被叫客户端的用户标识生成通话请求,并将通话请求发送至SIP服务器;该通话请求用于指示SIP服务器基于被叫客户端的用户标识确定被叫客户端的网络地址,并根据被叫客户端的网络地址将通话请求发送至被叫客户端;SIP服务器中存储了不同的用户标识与客户端的网络地址之间的对应关系;
根据通话请求及被叫客户端的网络地址,建立主叫客户端与被叫客户端之间的通话连接。
在其中一个实施例中,根据通话请求及被叫客户端的网络地址,建立主叫客户端与被叫客户端之间的通话连接,包括:
通过SIP服务器获取被叫客户端针对该通话请求的响应消息;
根据该响应消息,确定是否根据该通话请求及被叫客户端的网络地址,建立主叫客户端与被叫客户端之间的通话连接。
在其中一个实施例中,根据该响应消息,确定是否根据该通话请求及被叫客户端的网络地址,建立主叫客户端与被叫客户端之间的通话连接,包括:
识别响应消息的消息类型;该消息类型包括第一类型及第二类型,第一类型用于表征被叫客户端处于待连接状态,第二类型用于表征被叫客户端处于无法连接状态;
在识别响应消息的消息类型为第一类型的情况下,根据主叫客户端的网络地址及被叫客户端的网络地址,确定建立主叫客户端与被叫客户端之间的通话连接;
在识别响应消息的消息类型为第二类型的情况下,不建立主叫客户端与被叫客户端之间的通话连接。
第二方面,本申请还提供了一种网络通话方法。应用于SIP服务器,该方法包括:
接收主叫客户端发送的通话请求;该通话请求为根据主叫客户端的用户标识及被叫客户端的用户标识生成的;
根据被叫客户端的用户标识及预设对应关系,确定被叫客户端的网络地址;该预设对应关系包括不同的用户标识与客户端的网络地址之间的对应关系;
根据被叫客户端的网络地址,将通话请求发送至被叫客户端,控制主叫客户端根据该通话请求及被叫客户端的网络地址,建立主叫客户端与被叫客户端之间的通话连接。
在其中一个实施例中,控制主叫客户端根据通话请求及被叫客户端的网络地址,建立主叫客户端与被叫客户端之间的通话连接,包括:
接收被叫客户端针对该通话请求的响应消息;该响应消息中携带响应消息的消息类型;该消息类型包括第一类型及第二类型,第一类型用于表征被叫客户端处于待连接状态,第二类型用于表征被叫客户端处于无法连接状态;
将响应消息发送至主叫客户端,控制主叫客户端根据响应消息及被叫客户端的网络地址,确定是否建立主叫客户端与被叫客户端之间的通话连接。
在其中一个实施例中,该方法还包括:
接收客户端发送的注册请求;该注册请求中携带客户端的网络地址和待注册的用户账户信息;该用户账户信息包括用户标识和密码;
建立并存储客户端的网络地址和待注册的用户账户信息之间的对应关系,得到预设对应关系。
在其中一个实施例中,接收客户端发送的注册请求,包括:
接收客户端发送的第一注册请求;该第一注册请求中携带客户端的网络地址;
判断客户端的网络地址的合法性;
在确定客户端的网络地址合法的情况下,接收客户端发送的第二注册请求;该第二注册请求中携带客户端的用户账户信息。
第三方面,本申请还提供了一种网络通话装置。应用于移动终端,该装置包括:
获取模块,用于获取在主叫客户端中输入的被叫客户端的用户标识;
发送模块,用于根据主叫客户端的用户标识及被叫客户端的用户标识生成通话请求,并将通话请求发送至SIP服务器;该通话请求用于指示SIP服务器基于被叫客户端的用户标识确定被叫客户端的网络地址,并根据被叫客户端的网络地址将通话请求发送至被叫客户端;SIP服务器中存储了不同的用户标识与客户端的网络地址之间的对应关系;
建立模块,用于根据通话请求及被叫客户端的网络地址,建立主叫客户端与被叫客户端之间的通话连接。
第四方面,本申请还提供了一种网络通话装置。应用于SIP服务器,该装置包括:
第一接收模块,用于接收主叫客户端发送的通话请求;该通话请求为根据主叫客户端的用户标识及被叫客户端的用户标识生成的;
确定模块,用于根据被叫客户端的用户标识及预设对应关系,确定被叫客户端的网络地址;该预设对应关系包括不同的用户标识与客户端的网络地址之间的对应关系;
第一发送模块,用于根据被叫客户端的网络地址,将通话请求发送至被叫客户端;控制主叫客户端根据通话请求及被叫客户端的网络地址,建立主叫客户端与被叫客户端之间的通话连接。
第五方面,本申请还提供了一种计算机设备。该计算机设备包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述第一方面和第二方面中任一项方法的步骤。
第六方面,本申请还提供了一种计算机可读存储介质。该计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面和第二方面中任一项方法的步骤。
第七方面,本申请还提供了一种计算机程序产品,该计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面和第二方面中任一项方法的步骤。
上述网络通话方法、装置、移动终端、SIP服务器和存储介质,移动终端通过获取在主叫客户端中输入的被叫客户端的用户标识,根据主叫客户端的用户标识及被叫客户端的用户标识生成通话请求,并将通话请求发送至SIP服务器;接着,根据该通话请求及被叫客户端的网络地址,建立主叫客户端与被叫客户端之间的通话连接;其中,该通话请求用于指示SIP服务器基于被叫客户端的用户标识确定被叫客户端的网络地址,并根据被叫客户端的网络地址将通话请求发送至被叫客户端;SIP服务器中存储了不同的用户标识与客户端的网络地址之间的对应关系。由于本申请实施例中的网络通话方法可以应用于移动终端,因此,无论何时何地,只要该移动终端具备网络,用户便可在有通话需求的情况下,直接通过该移动终端拨打网络电话;相比于现有技术中仅能通过电脑拨打网络电话而言,本申请实施例中的通过移动终端实现网络电话能够大大增加网络电话的应用范围,拓宽网络电话的使用场景。
附图说明
图1为一个实施例中网络通话方法的应用环境图;
图2为一个实施例中网络通话方法的流程示意图;
图3为一个实施例中移动终端的系统结构示意图;
图4为一个实施例中移动终端进行网络通话的工作原理示意图;
图5为一个实施例中网络通话方法的流程示意图;
图6为另一个实施例中网络通话方法的流程示意图;
图7为另一个实施例中网络通话方法的流程示意图;
图8为一个实施例中网络通话装置的结构框图;
图9为一个实施例中网络通话装置的结构框图;
图10为一个实施例中移动终端的内部结构图;
图11为一个实施例中SIP服务器的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的网络通话方法,可以应用于如图1所示的应用环境中。其中,移动终端102通过网络与SIP服务器104进行通信。数据存储系统可以存储SIP服务器104需要处理的数据。数据存储系统可以集成在SIP服务器104上,也可以放在云上或其他网络服务器上。其中,移动终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等;另外,该移动终端102可以是基于安卓操作系统的移动终端,也可以是基于IOS操作系统的移动终端,还可以是基于鸿蒙操作系统的移动终端,甚至是基于其他操作系统的移动终端等,本申请对移动终端中的操作系统类型并不做限定。SIP服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种网络通话方法,以该方法应用于图1中的移动终端为例进行说明,包括以下步骤:
步骤201,获取在主叫客户端中输入的被叫客户端的用户标识。
可选地,该主叫客户端可以是用于进行网络通话的客户端,在移动终端上安装有用于进行网络通话的客户端,即可实现与其他终端之间的网络通话。对于被叫客户端,其可以是用于进行网络通话的客户端,也可以是基于运营商进行通话的通话客户端;在该被叫客户端为用于进行网络通话的客户端的情况下,该被叫客户端的用户标识可以是被叫客户端中已注册的用户账户,如可以是已注册的账户名称;在该被叫客户端为基于运营商进行通话的通话客户端的情况下,该被叫客户端的用户标识可以是该被叫客户端所在的移动终端的手机号码。
可选地,对主叫客户端来说,用户可以在移动终端上安装该主叫客户端,并通过该主叫客户端注册用于访问该主叫客户端的用户账户;进而,用户便可以通过已注册的用户账户登录该主叫客户端,并通过该主叫客户端向其他的被叫客户端拨打网络电话。
下面以该主叫客户端为安卓客户端为例,对主叫客户端的系统架构及系统功能进行相应的介绍:
如图3所示,为主叫客户端所在的移动终端的系统组件结构示意图,包括主控模块、SIP信令模块、媒体管理模块以及传输模块。
(1)主控模块:主要是UI界面的设计,提供系统图形化的接口可供用户操作,以及调用应用框架层的其他子模块。其中,主控模块的UI设计主界面,主要包括SIP账户设置、通话选项、通知设置、音频设置、以及Wi-Fi设置等。SIP账户设置的列表页面主要是进行基本的通话设置与起始连接SIP服务器的设置,点击所选的SIP账户名称进行认证用户名称、密码、服务器和域的设置与查看等详细设置,使得该主叫客户端可以顺利连接上SIP服务器。Wi-Fi设置可看到当前能够使用的各个网络的连接方式名称,以便用户可以从中进行选择并连接所选的网络。
(2)SIP信令模块:主要用于基于SIP协议实现系统的会话,在内部创建并发送SIP消息,并接收SIP服务端的消息响应,通过判断消息的类型,进行不同状态的会话响应。同时,还可以通过应用层中主控模块的设计需求,提供开发接口给主控模块,以供主控模块调用。
(3)媒体管理模块:用于实现通话过程中用户双方(即主叫客户端和被叫客户端)的音视频编解码,保证双方通话的信息交互。
(4)传输模块:用于对系统会话过程中产生的所有数据进行传输,主控模块通过其调用接口,来传输SIP信令模块和媒体管理模块所生成的数据信息。
可选地,该系统组件还可以包括:
(5)Android运行主界面:该主界面主要用来显示输入电话号码或者用户账户的地址栏和连接SIP服务器的IP地址。
(6)SIP账户设置模块:SIP账户设置的列表页面主要是进行基本的通话设置与起始连接SIP服务器的设置,用户有很多不同的选择。当点击所选的SIP账户名称时,就会转到该设置的详细设置页面。SIP账户的详细设置主要有认证用户名称、密码、服务器和域的设置与查看,让用户知道如何设置才能顺利连接上服务器,以及连接使用的端口是多少,最重要的是还能查看支持的VoIP类型。
(7)认证用户名模块:因为连接SIP服务器的安卓客户端可能有很多,所以必须进行认证,只有认证合法了才能进行友好回话,否则不予以连接,或者连接中断。用户可进行多种选择。
(8)Wi-Fi模块:Wi-Fi模块的列表页面可列出当前能够使用的各个网络的连接方式名称,用户可从中进行选择。当点击所选的连接网络方式名称时,就会转到该详细页面。在Wi-Fi模块详细页面主要设置如何使用安卓客户端连接SIP服务器,同时还提供优先拨打功能。
基于上述系统结构,该主叫客户端所能实现的功能包括但不限于是:
(1)连接SIP服务器
当SIP服务器注册到一个网络地址上时,该主叫客户端可以获取SIP服务器绑定的IP地址,并发送请求,若IP地址无误,那么该主叫客户端可以顺利连接上SIP服务器。
(2)发送和接收语音消息
基于已经成功连接到SIP服务器的主叫客户端,该主叫客户端可以向被叫客户端发起呼叫或者该主叫客户端监听被叫,经SIP服务器验证注册通过后,采用SIP协议实现语音通信。
基于安卓系统的主叫客户端与SIP服务器端进行通信的工作原理可以如图4所示。
其中,用户界面:主要用于界面的显示以及切换,界面中可以包括但不限于是呼叫首页、通讯录、历史呼叫记录以及软电话(即网络电话)设置等。
通信模块:可以分为注册中心、用户代理、以及信令心跳检测。注册中心是用于向注册服务器(可以是SIP服务器,也可以是独立且与该SIP服务器通信连接的服务器)登记客户端的相关信息,比如用户账号、IP地址、SIP地址等;用户代理是用于发起呼叫,包括用户代理客户端和用户代理服务器端;信令心跳检测是用于向网络发送心跳包,用于心跳检测。
SIP协议栈:用于处理各种SIP信令。
语音编码解码模块:用于负责获取语音数据和语音数据的编码压缩以及解码和解压缩。
数据库:主要用于保存通讯录以及历史呼叫记录,采用轻量型的关系数据库SQLite。此数据库包含两个数据库表,一张是用于保存联系人,另一张是用于保存呼叫记录。
需要说明的是,以上对于安卓客户端的系统结构和系统功能的介绍仅是用于举例说明,并不用于限定安卓客户端的系统结构和系统功能;同理,对于采用其他操作系统的移动终端的系统结构和系统功能可以参照上述对于安卓客户端的相关描述,只需将其安卓客户端中的与安卓操作系统有关的内容替换为其他操作系统进行实现即可。
通过上述系统结构,可实现对该客户端的应用程序的开发,得到该客户端的应用程序开发包,基于该客户端的应用程序开发包,可一键式安装于移动终端上实现网络通讯,使得该移动终端不仅局限于运营商电话功能,还能实现网络会话,且相比于传统的电脑端软电话来说,移动端的网络通话更便捷,相应地还能增加用户的会话体验,实现实时实地网络通话。
步骤202,根据主叫客户端的用户标识及被叫客户端的用户标识生成通话请求,并将通话请求发送至SIP服务器。
其中,该通话请求用于指示SIP服务器基于被叫客户端的用户标识确定被叫客户端的网络地址,并根据被叫客户端的网络地址将通话请求发送至被叫客户端;SIP服务器中存储了不同的用户标识与客户端的网络地址之间的对应关系。
可选地,该主叫客户端的用户标识可以是当前登录该主叫客户端的用户账户所对应的标识,该标识可以是账户名称,也可以是账户ID等。
可选地,可以将该主叫客户端的用户标识及被叫客户端的用户标识发送至SIP信令模块,并由SIP信令模块基于主叫客户端的用户标识及被叫客户端的用户标识,生成相应的SIP信令或者SIP消息,该SIP信令或者SIP消息即可作为主叫客户端向被叫客户端发起的通话请求;接着,SIP信令模块可以将生成的该通话请求发送至传输模块,以指示传输模块将该通话请求发送至SIP服务器。
SIP服务器在接收到该通话请求之后,可以根据该通话请求中的被叫客户端的用户标识和存储的用户标识与网络地址之间的对应关系,查询该被叫客户端的网络地址,并基于该被叫客户端的网络地址,将该通过请求转发至该被叫客户端。进一步地,SIP服务器还可以接收被叫客户端返回的针对该通话请求的响应消息,并将该响应消息发送至主叫客户端;可选地,SIP服务器还可以将该被叫客户端的网络地址与该响应消息一同发送至主叫客户端。
步骤203,根据通话请求及被叫客户端的网络地址,建立主叫客户端与被叫客户端之间的通话连接。
可选地,主叫客户端可以根据该通话请求,从SIP服务器获取该被叫客户端的网络地址,还可以根据该通话请求,从SIP服务器获取被叫客户端针对该通话请求的响应消息,进而,根据该响应消息,确定是否根据该通话请求及被叫客户端的网络地址,建立主叫客户端与被叫客户端之间的通话连接。
可选地,对于该通话连接可以对应两种含义,一种是主叫客户端与被叫客户端已经建立通话链路,进行正常通话,即直接进行双方语音数据的传输;另一种是主叫客户端与被叫客户端之间建立通话链路,主叫客户端等待被叫客户端的接听响应后,再进行正常通话,进而才通过该通话链路实现双方语音数据的传输。
针对第一种情况:对于该通话请求,被叫客户端可以做出不同的响应,如:被叫客户端同意通话,或者,被叫客户端不同意通话;对于被叫客户端不同意通话可以包括但不限于是以下几种情况,如:被叫客户端根据用户的指令在能够通话的情况下拒绝通话、由于被叫客户端正处于通话状态下直接或间接(如用户指令)拒绝通话、被叫客户端的网络状态不满足通话条件、被叫客户端未检测到用户针对该通话请求的接听指令等情况。总而言之,对于该通话请求,被叫客户端可以有两种不同的连接状态,进而可以根据不同的连接状态生成与之对应的响应消息类型;换句话说,被叫客户端的响应消息的消息类型可以包括第一类型和第二类型,该第一类型可以用于表征被叫客户端处于待连接状态,该待连接状态可以是被叫客户端同意通话的情况所对应的状态,第二类型可以用于表征被叫客户端处于无法连接状态,该无法连接状态可以是被叫客户端不同意通话或者拒绝通话的情况所对应的状态。
相应地,主叫客户端在接收到SIP服务器发送的被叫客户端针对该通话请求的响应消息之后,可以识别该响应消息的类型,并根据该响应消息的类型,确定是否根据该通话请求及被叫客户端的网络地址,建立主叫客户端与被叫客户端之间的通话连接。可选地,主叫客户端在识别该响应消息的消息类型为第一类型的情况下,可以根据主叫客户端的网络地址及被叫客户端的网络地址,确定建立主叫客户端与被叫客户端之间的通话连接;主叫客户端在识别该响应消息的消息类型为第二类型的情况下,则不建立主叫客户端与被叫客户端之间的通话连接。
针对第二种情况:对于该通话请求,被叫客户端也可以做出不同的响应,如被叫客户端的当前状态能够支持通话,或者,被叫客户端的当前状态不支持通话,不支持通话可以是被叫客户端当前的网络状态或者信号状态不支持通话,如:被叫客户端所在的移动终端无网络或者无信号,或者,被叫客户端所在的移动终端处于飞行模式、勿扰模块或者关机状态等。相应地,对于该通话请求,被叫客户端可以有两种不同的连接状态,进而可以根据不同的连接状态生成与之对应的响应消息类型;换句话说,被叫客户端的响应消息的消息类型可以包括第一类型和第二类型,该第一类型可以用于表征被叫客户端处于待连接状态,该待连接状态可以是被叫客户端支持通话的情况所对应的状态,第二类型可以用于表征被叫客户端处于无法连接状态,该无法连接状态可以是被叫客户端不支持通话的情况所对应的状态。
同理,主叫客户端在接收到SIP服务器发送的被叫客户端针对该通话请求的响应消息之后,可以识别该响应消息的类型,并根据该响应消息的类型,确定是否根据该通话请求及被叫客户端的网络地址,建立主叫客户端与被叫客户端之间的通话连接。可选地,主叫客户端在识别该响应消息的消息类型为第一类型的情况下,可以根据主叫客户端的网络地址及被叫客户端的网络地址,确定建立主叫客户端与被叫客户端之间的通话连接;主叫客户端在识别该响应消息的消息类型为第二类型的情况下,则不建立主叫客户端与被叫客户端之间的通话连接。进而,在建立主叫客户端与被叫客户端之间的通话连接的情况下,主叫客户端通过该通话连接向被叫客户端发送呼叫请求,在被叫客户端接听的情况下,主叫客户端和被叫客户端通过该通话连接实现双方的通话;在被叫客户端未接听的情况下,则断开主叫客户端与被叫客户端之间的通话连接。
上述网络通话方法中,移动终端通过获取在主叫客户端中输入的被叫客户端的用户标识,根据主叫客户端的用户标识及被叫客户端的用户标识生成通话请求,并将通话请求发送至SIP服务器;接着,根据该通话请求及被叫客户端的网络地址,建立主叫客户端与被叫客户端之间的通话连接;其中,该通话请求用于指示SIP服务器基于被叫客户端的用户标识确定被叫客户端的网络地址,并根据被叫客户端的网络地址将通话请求发送至被叫客户端;SIP服务器中存储了不同的用户标识与客户端的网络地址之间的对应关系。由于本申请实施例中的网络通话方法可以应用于移动终端,因此,无论何时何地,只要该移动终端具备网络,用户便可在有通话需求的情况下,直接通过该移动终端拨打网络电话;相比于现有技术中仅能通过电脑拨打网络电话而言,本申请实施例中的通过移动终端实现网络电话能够大大增加网络电话的应用范围,拓宽网络电话的使用场景。
基于移动终端的网络电话(也可以称之为软电话)通过SIP软交换系统进行双方客户端的通信;其中,SIP软交换系统是一个支持SIP协议的通信系统,分为SIP服务器和客户端两部分,该客户端可以是安装在移动终端上的移动客户端。其中,SIP服务器主要完成数据的封包、请求的转发、以及路由的寻址等,让用户从移动客户端A中发出的数字信息通过SIP服务器的处理转发给移动客户端B,而移动客户端B通过解析从SIP服务器中收到的数据,并把信号还原为原始数据,从而达到通信的目的。SIP服务器主要完成以下服务:SIP服务器启动、将SIP服务器绑定到指定的IP地址上,以便客户端能够连接上这个IP地址,即连接到SIP服务器,实现客户端通话等。
SIP软交换系统由SIP服务器和移动客户端组成,其中,SIP服务器的功能包括但不限于数据的读取与解析,SIP版权认证,创建SIP协议栈,绑定地址,定位、认证、能力,会话管理,数据包的接收、解析、过滤、组装与应答,Proxy行为等;移动客户端的功能包括但不限于连接服务器,发送语音,接收数据,解析数据等;对于移动客户端的系统架构及系统功能已在上述步骤201中进行了内容描述,接下来,将对SIP服务器的功能设计进行详细介绍,包括但不限于以下几个功能:
(1)数据(*xml)的读取与解析设计
在Proxy Server(即代理服务器)启动之前,需要预先对Proxy Server进行设置,如SIP栈的名称、IP、端口、路由等参数的设置,考虑到系统移植和维护的方便性,可以将这些信息写在配置文件中(如配置文件configuration.xml),在系统启动时候读取该配置文件,以便于移植和维护。
(2)SIP版权认证设计
系统启动时,应对系统的版权进行验证,只有合法授权的系统才能正确启动。主要认证可以包括最大用户数(Max)、失效日期(Expiration)、系列号(Serial)、网卡物理地址(Mac)、密钥(Key)等,同样这些信息也可以写在了配置文件中(如配置文件license.xml)。
(3)创建SIP协议栈设计
栈是一种数据结构,只能在一端进行插入和删除的线性表,按照后进先出的存取规则。创建SIP协议栈后,在接收到一个以太网数据帧时,数据可以方便地从协议栈里面由底部向顶部上升,同时报文首部在各层协议上被去掉,方便读取报文数据。报文首部的协议标识在每层协议上都很方便检查,这样就可确定数据接收的上层协议,同时按照事先规定好的规则分析出需要的内容,例如数据包的源端口号、源IP、目的IP等等。
(4)注册、定位、认证、能力设计
Proxy Server启动以后,要获得代理的服务,必须先注册成为Proxy Server的用户,用户信息存放在后台数据库中,包含用户名、密码、服务器地址等。要对用户进行代理,必须能定位用户位置,对用户身份进行认证,确认后把主叫方和被叫方的网络地址、媒体参数等提供给对方,以完成会话的创建。
(5)会话管理设计
包括发送和终止会话、修改会话参数、激活服务等。数据包的接收、解析、过滤、组装与应答。系统在收到以太网的数据包后,对数据包进行解析,过滤掉“非法”数据包,获取“合法”的正常业务信息,组装数据包进行交互。
(6)Proxy行为设计
当Proxy Server收到一个请求时,在做代理之前,首先应该判断自己是否需要响应该请求,是否非法或者没有可信任证书需要认证,是应该按有状态还是无状态的方式处理。无状态,即Proxy只是简单的转发到下一个Proxy Server,之后该请求的相关资料就被丢弃。这些信息(特别是事务信息)会被有状态的Proxy保留,所有接收到的请求和所有接收请求的应答的相关信息被保留。这些被它保留的信息用于处理与这个请求相关的后续消息。
需要说明的是,SIP服务器可以由至少一个服务器组成服务器集群,不同的服务器将实现不同的系统功能,例如:可以包括代理服务器,用于完成上述代理服务器对应的多个功能,还可以包括注册服务器,用于提供客户端的注册服务,当然还可以包括其他类型的服务器,如,地址服务器,用于存储客户端的网络地址,以及客户端的寻址功能等,本申请实施例对SIP服务器的类型和实现的功能并不做限定,实际开发过程中可根据需要进行相关配置。
在一个实施例中,如图5所示,提供了一种网络通话方法,以该方法应用于图1中的SIP服务器为例进行说明,包括以下步骤:
步骤501,接收主叫客户端发送的通话请求。
其中,该通话请求为根据主叫客户端的用户标识及被叫客户端的用户标识生成的,被叫客户端的用户标识为主叫客户端所获取的由用户在该主叫客户端的显示界面中所输入的;具体地,主叫客户端获取被叫客户端的用户标识的实现过程可以参照上述步骤201中的相关内容描述,在此不再赘述。
可选地,SIP服务器可以实时监听不同移动终端向其发送的数据请求,该数据请求可以包括但不限于是通话请求,SIP服务器在接收到任一移动终端发送的数据请求的情况下,可以基于该数据请求的类型,确定该数据请求是否为通话请求;接着,在确定该数据请求是通话请求的情况下,解析该通话请求,提取该通话请求中的被叫客户端的用户标识和主叫客户端的用户标识。
步骤502,根据被叫客户端的用户标识及预设对应关系,确定被叫客户端的网络地址。
其中,该预设对应关系包括不同的用户标识与客户端的网络地址之间的对应关系,客户端的网络地址为该客户端在网络中的逻辑地址,用于对该客户端进行物理链路的寻址,以便实现对不同客户端之间的信息共享;可选地,该客户端的网络地址可以是该客户端的IP地址,和/或,SIP地址等,本申请实施例中对客户端的网络地址的形式并不做具体限定,只要能够根据该客户端的网络地址建立与该客户端之间的通讯链路实现信息共享即可。
另外,对于该预设对应关系可以是通过客户端预先向SIP服务器主动上报客户端的用户标识和该客户端的网络地址所建立的,也可以是通过从第三方平台获取的不同客户端的用户标识和客户端的网络地址所建立的,如:可以通过运营商平台获取不同用户标识与该用户标识所在的客户端的网络地址,进而建立不同的用户标识与客户端的网络地址之间的对应关系,得到该预设对应关系。
可选地,SIP服务器在获取到主叫客户端发送的通话请求后,可以根据该通话请求中的被叫客户端的用户标识,从该预设对应关系中,确定与该被叫客户端的用户标识对应的被叫客户端的网络地址,即实现对被叫客户端的寻址。
步骤503,根据被叫客户端的网络地址,将通话请求发送至被叫客户端,控制主叫客户端根据该通话请求及被叫客户端的网络地址,建立主叫客户端与被叫客户端之间的通话连接。
可选地,在确定被叫客户端的网络地址之后,就可以根据该被叫客户端的网络地址,将主叫客户端发送的该通话请求转发至该被叫客户端;可选地,SIP服务器也可以对该主叫客户端所发送的通话请求进行处理后,再将处理后的通话请求发送至该被叫客户端;该处理操作可以是对该通话请求添加携带信息,修改该通话请求中的请求参数,在该通话请求中增加验证信息等,如SIP服务器发送至被叫客户端的通话请求中还可以携带主叫客户端的网络地址;本申请实施例对此并不做限定。
SIP服务器将通话请求发送至被叫客户端,是为了被叫客户端能够接收到主叫客户端所发起的通话请求,进而使得主叫客户端可以根据该通话请求及被叫客户端的网络地址,建立主叫客户端与被叫客户端之间的通话连接。可选地,被叫客户端可以根据该通话请求中携带的主叫客户端的网络地址,向主叫客户端发送该被叫客户端针对该通话请求的响应消息,进而,主叫客户端可以根据该响应消息和被叫客户端的网络地址,确定是否建立主叫客户端与被叫客户端之间的通话连接。
可选地,被叫客户端也可以将其针对该通话请求的响应消息发送至SIP服务器,也就是说,SIP服务器接收被叫客户端针对该通话请求的响应消息,接着,将该响应消息发送至主叫客户端,控制主叫客户端根据响应消息及被叫客户端的网络地址,确定是否建立主叫客户端与被叫客户端之间的通话连接。
可选地,该响应消息中可以携带响应消息的消息类型,该消息类型可以包括第一类型及第二类型,第一类型用于表征被叫客户端处于待连接状态,第二类型用于表征被叫客户端处于无法连接状态。
根据上述步骤203中的相关内容描述,可知,对于通话连接可以包含两种不同的含义,在第一种情况下,即主叫客户端与被叫客户端已经建立通话链路,进行正常通话,可以直接进行双方语音数据的传输,此时,该第一类型可以是被叫客户端同意通话的情况所对应的状态,该第二类型可以是被叫客户端不同意通话或者拒绝通话的情况所对应的状态。
在第二种情况下,即主叫客户端与被叫客户端之间建立通话链路,主叫客户端等待被叫客户端的接听响应后,再进行正常通话,进而才通过该通话链路实现双方语音数据的传输,此时,该第一类型可以是被叫客户端支持通话的情况所对应的状态,该第二类型可以是被叫客户端不支持通话的情况所对应的状态。
对于两种不同情况下,响应消息所对应的消息类型的具体描述,可以参照上述步骤203中的相关内容描述,在此不再赘述。
上述网络通话方法中,SIP服务器通过接收主叫客户端根据主叫客户端的用户标识及被叫客户端的用户标识生成的通话请求,根据该通话请求中被叫客户端的用户标识及预设对应关系,确定被叫客户端的网络地址,接着,根据被叫客户端的网络地址,将通话请求发送至被叫客户端,控制主叫客户端根据该通话请求及被叫客户端的网络地址,建立主叫客户端与被叫客户端之间的通话连接;其中,SIP服务器中存储的该预设对应关系包括不同的用户标识与客户端的网络地址之间的对应关系。由于本申请实施例中的网络通话方法可以应用于移动终端,且通过SIP服务器作为双方移动终端之间进行网络通话的桥梁,因此,无论何时何地,只要该移动终端具备网络,且与SIP服务器通信连接,用户便可在有通话需求的情况下,直接通过该移动终端拨打网络电话;相比于现有技术中仅能通过电脑拨打网络电话而言,本申请实施例中的通过移动终端实现网络电话能够大大增加网络电话的应用范围,拓宽网络电话的使用场景。
图6为另一个实施例中网络通话方法的流程示意图。本实施例涉及的是SIP服务器建立客户端的网络地址与用户标识之间的对应关系的一种可选的实现过程,在上述实施例的基础上,如图6所示,上述方法还包括:
步骤601,接收客户端发送的注册请求。
其中,该注册请求中携带客户端的网络地址和待注册的用户账户信息;该用户账户信息包括用户标识和密码。该客户端为用于进行网络通话的客户端,其系统架构及系统功能可以参照上述步骤201中的相关内容描述。
可选地,用户在移动终端上安装该客户端之后,可以通过该客户端注册一个用于登录该客户端的用户账户,用户可以通过该客户端的注册页面输入待注册的用户账户信息,其中包括待注册的用户标识和密码;客户端在获取到用户通过注册页面输入的待注册的用户标识和密码之后,可以根据待注册的用户标识、密码以及该客户端的网络地址生成注册请求;接着,客户端可以将该注册请求发送至SIP服务器,以便SIP服务器接收客户端发送的该注册请求。
步骤602,建立并存储客户端的网络地址和待注册的用户账户信息之间的对应关系,得到预设对应关系。
可选地,SIP服务器在接收到客户端发送的注册请求之后,可以判断该客户端的合法性,并在确定客户端合法的情况下,建立该客户端的网络地址和待注册的用户账户信息之间的对应关系;基于该注册过程,SIP服务器可以得到多个不同用户标识与客户端的网络地址之间的对应关系,即得到上述预设对应关系。
本实施例中,SIP服务器通过接收客户端发送的携带客户端的网络地址和待注册的用户账户信息的注册请求,建立并存储客户端的网络地址和待注册的用户账户信息之间的对应关系,得到预设对应关系;其中,该用户账户信息包括用户标识和密码;能够实现客户端的用户账户注册,以及客户端的网络地址和用户标识之间的对应关系的建立,以便后期在进行网路通话时能够直接通过本地存储的对应关系实现对客户端的寻址,提高网络通话的效率。
图7为另一个实施例中网络通话方法的流程示意图。本实施例涉及的是SIP服务器接收客户端发送的注册请求的一种可选的实现过程,在上述实施例的基础上,如图7所示,上述步骤601包括:
步骤701,接收客户端发送的第一注册请求。
其中,该第一注册请求中携带客户端的网络地址。可选地,客户端的网络地址可以是客户端的IP地址,也可以是客户端的SIP地址,或者,该客户端的网络地址可以包括客户端的IP地址和客户端的SIP地址。另外,对于该客户端的网络地址,还可以用于表征该客户端所在的移动终端的网络地址。
可选地,用户在进行用户账户的注册时,客户端可以先向SIP服务器发送一个携带了该客户端的网络地址的第一注册请求,以便SIP服务器能够对该客户端的合法性进行校验。
步骤702,判断客户端的网络地址的合法性。
可选地,SIP服务器可以对该第一注册请求中携带的客户端的网络地址进行合法性校验,这里可以采用现有的合法性校验方式进行校验,因此,对于合法性校验的具体过程在此处并不做详细描述。
步骤703,在确定客户端的网络地址合法的情况下,接收客户端发送的第二注册请求。
其中,该第二注册请求中携带客户端的用户账户信息。
也就是说,在SIP服务器验证该客户端的网络地址合法的情况下,才允许用户进行用户账户信息的注册;可选地,客户端可以接收SIP服务器针对该第一注册请求的响应消息,进而,根据该响应消息,确定并输出不同的提示信息,该提示信息可以是用于提示用户输入待注册的用户账户信息的信息,也可以是提示用户无法进行用户账户注册的信息。在该提示信息为用于提示用户输入待注册的用户账户信息的信息的情况下,用户可以在显示界面中输入待注册的用户标识和密码;进而,客户端根据用户输入的待注册的用户标识和密码生成第二注册请求,并将该第二注册请求发送至SIP服务器。
本实施例中,SIP服务器先接收客户端发送的携带该客户端的网络地址的第一注册请求,并判断该客户端的网络地址的合法性;在确定客户端的网络地址合法的情况下,接收客户端发送的携带客户端的用户账户信息的第二注册请求,进而根据该第二注册请求对待注册的用户账户信息进行注册,并建立用户账户信息和客户端的网络地址之间的对应关系;能够提高用户账户注册的高效性,减少用户操作。
在本申请的一个可选的实施例中,SIP服务器在根据被叫客户端的用户标识及预设对应关系,确定被叫客户端的网络地址之前,还可以包括:根据被叫客户端的用户标识,查询被叫客户端的通话状态;在该通话状态为被叫客户端处于非通话状态的情况下,执行根据通话请求中的被叫客户端的用户标识及预设对应关系,确定被叫客户端的网络地址的步骤;其中,SIP服务器实时监控不同客户端的通话状态,可选地,SIP服务器可以按照预设的采样频率,向不同的客户端发送状态查询请求,并根据客户端的响应实时更新客户端的通话状态;当然,客户端的通话状态也可以是由客户端每隔一定的时间主动向SIP服务器上报自己的通话状态,或者,在通话状态发生变化时,向SIP服务器上报客户端的通话状态等;本申请实施例中对SIP服务器获取客户端的通话状态的方式并不做限定。
另外,SIP服务器在确定该通话状态为被叫客户端处于通话状态的情况下,可以向主叫客户端发送针对该通话请求的响应消息,此时,该响应消息的消息类型可以为上述第二类型,即当前时刻被叫客户端处于无法连接状态。
本实施例中,SIP服务器通过在向被叫客户端转发主叫客户端的通话请求之前,判断被叫客户端的通话状态,进而,根据被叫客户端的通话状态,确定是否向被叫客户端发送该通话请求,能够提高网络通话连接的高效性,且在被叫客户端处于通话状态中时,禁止向被叫客户端发送通话请求,能够减少SIP服务器与客户端之间的网络交互,减少网络负荷。
在本申请的一个可选的实施例中,在主叫客户端与被叫客户端基于通话连接进行通话的过程中,SIP服务器还可以实时监听主叫客户端与被叫客户端的通话状态,并更新主叫客户端与被叫客户端的通话状态;在主叫客户端与被叫客户端处于通话状态下时,若此时接收到另一客户端发起的针对该主叫客户端或者该被叫客户端的通话请求的情况下,SIP服务器会将该主叫客户端或者该被叫客户端的正在通话的状态发送至该另一客户端,并拒绝建立会话请求。另外,在监听到主叫客户端与被叫客户端之间的通话连接断开的情况下,即双方通话结束的情况下,SIP服务器会将双方的通话记录保存至数据库,该通话记录包括但不限于是通话开始时间、通话结束时间、通话时长、呼叫方信息(可以是主叫客户端的用户标识)和被叫方信息(可以是被叫客户端的用户标识)等。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的网络通话方法的网络通话装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个网络通话装置实施例中的具体限定可以参见上文中对于网络通话方法的限定,在此不再赘述。
在一个实施例中,如图8所示,提供了一种网络通话装置,应用于移动终端,包括:获取模块801、发送模块802和建立模块803,其中:
获取模块801,用于获取在主叫客户端中输入的被叫客户端的用户标识。
发送模块802,用于根据主叫客户端的用户标识及被叫客户端的用户标识生成通话请求,并将通话请求发送至SIP服务器;该通话请求用于指示SIP服务器基于被叫客户端的用户标识确定被叫客户端的网络地址,并根据被叫客户端的网络地址将通话请求发送至被叫客户端;SIP服务器中存储了不同的用户标识与客户端的网络地址之间的对应关系。
建立模块803,用于根据通话请求及被叫客户端的网络地址,建立主叫客户端与被叫客户端之间的通话连接。
在其中一个实施例中,上述建立模块803包括获取单元和建立单元;其中,获取单元,用于通过SIP服务器获取被叫客户端针对该通话请求的响应消息;建立单元,用于根据该响应消息,确定是否根据该通话请求及被叫客户端的网络地址,建立主叫客户端与被叫客户端之间的通话连接。
在其中一个实施例中,上述建立单元,具体用于识别响应消息的消息类型;该消息类型包括第一类型及第二类型,第一类型用于表征被叫客户端处于待连接状态,第二类型用于表征被叫客户端处于无法连接状态;接着,在识别响应消息的消息类型为第一类型的情况下,根据主叫客户端的网络地址及被叫客户端的网络地址,确定建立主叫客户端与被叫客户端之间的通话连接;在识别响应消息的消息类型为第二类型的情况下,不建立主叫客户端与被叫客户端之间的通话连接。
上述应用于移动终端的网络通话装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于移动终端中的处理器中,也可以以软件形式存储于移动终端中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,如图9所示,提供了一种网络通话装置,应用于SIP服务器,包括:第一接收模块901、确定模块902和第一发送模块903,其中:
第一接收模块901,用于接收主叫客户端发送的通话请求;该通话请求为根据主叫客户端的用户标识及被叫客户端的用户标识生成的。
确定模块902,用于根据被叫客户端的用户标识及预设对应关系,确定被叫客户端的网络地址;该预设对应关系包括不同的用户标识与客户端的网络地址之间的对应关系。
第一发送模块903,用于根据被叫客户端的网络地址,将通话请求发送至被叫客户端;控制主叫客户端根据通话请求及被叫客户端的网络地址,建立主叫客户端与被叫客户端之间的通话连接。
在其中一个实施例中,该装置还包括第二接收模块和第二发送模块;其中,第二接收模块,用于接收被叫客户端针对该通话请求的响应消息;该响应消息中携带响应消息的消息类型;该消息类型包括第一类型及第二类型,第一类型用于表征被叫客户端处于待连接状态,第二类型用于表征被叫客户端处于无法连接状态;第二发送模块,用于将响应消息发送至主叫客户端,控制主叫客户端根据响应消息及被叫客户端的网络地址,确定是否建立主叫客户端与被叫客户端之间的通话连接。
在其中一个实施例中,该装置还包括第三接收模块和建立模块;其中,该第三接收模块,用于接收客户端发送的注册请求;该注册请求中携带客户端的网络地址和待注册的用户账户信息;该用户账户信息包括用户标识和密码;该建立模块,用于建立并存储客户端的网络地址和待注册的用户账户信息之间的对应关系,得到预设对应关系。
在其中一个实施例中,上述第三接收模块包括第一接收单元、判断单元和第二接收单元;其中,第一接收单元,用于接收客户端发送的第一注册请求;该第一注册请求中携带客户端的网络地址;判断单元,用于判断客户端的网络地址的合法性;第二接收单元,用于在确定客户端的网络地址合法的情况下,接收客户端发送的第二注册请求;该第二注册请求中携带客户端的用户账户信息。
上述应用于SIP服务器的网络通话装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于SIP服务器的处理器中,也可以以软件形式存储于SIP服务器中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种移动终端,其内部结构图可以如图10所示。该移动终端包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该移动终端的处理器用于提供计算和控制能力。该移动终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该移动终端的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种网络通话方法。该移动终端的显示屏可以是液晶显示屏或者电子墨水显示屏,该移动终端的输入装置可以是显示屏上覆盖的触摸层,也可以是移动终端外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,提供了一种SIP服务器,其内部结构图可以如图11所示。该SIP服务器包括通过系统总线连接的处理器、存储器和网络接口。其中,该SIP服务器的处理器用于提供计算和控制能力。该SIP服务器的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该SIP服务器的数据库用于存储已注册的用户账户信息,以及不同的用户标识与客户端的网络地址之间的对应关系。该SIP服务器的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网络通话方法。
本领域技术人员可以理解,图10和图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种移动终端,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述图2所示实施例中的网络通话方法的步骤。
在一个实施例中,提供了一种SIP服务器,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述图5至图7所示实施例中的网络通话方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述图2至图7所示实施例中的网络通话方法的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述图2至图7所示实施例中的网络通话方法的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (12)
1.一种网络通话方法,其特征在于,应用于移动终端,所述方法包括:
获取在主叫客户端中输入的被叫客户端的用户标识;
根据所述主叫客户端的用户标识及所述被叫客户端的用户标识生成通话请求,并将所述通话请求发送至SIP服务器;所述通话请求用于指示所述SIP服务器基于所述被叫客户端的用户标识确定所述被叫客户端的网络地址,并根据所述被叫客户端的网络地址将所述通话请求发送至所述被叫客户端;所述SIP服务器中存储了不同的用户标识与客户端的网络地址之间的对应关系;
根据所述通话请求及所述被叫客户端的网络地址,建立所述主叫客户端与所述被叫客户端之间的通话连接。
2.根据权利要求1所述的方法,其特征在于,所述根据所述通话请求及所述被叫客户端的网络地址,建立所述主叫客户端与所述被叫客户端之间的通话连接,包括:
通过SIP服务器获取所述被叫客户端针对所述通话请求的响应消息;
根据所述响应消息,确定是否根据所述通话请求及所述被叫客户端的网络地址,建立所述主叫客户端与所述被叫客户端之间的通话连接。
3.根据权利要求2所述的方法,其特征在于,所述根据所述响应消息,确定是否根据所述通话请求及所述被叫客户端的网络地址,建立所述主叫客户端与所述被叫客户端之间的通话连接,包括:
识别所述响应消息的消息类型;所述消息类型包括第一类型及第二类型,所述第一类型用于表征所述被叫客户端处于待连接状态,所述第二类型用于表征所述被叫客户端处于无法连接状态;
若识别所述响应消息的消息类型为所述第一类型,则根据所述主叫客户端的网络地址及所述被叫客户端的网络地址,确定建立所述主叫客户端与所述被叫客户端之间的通话连接;
若识别所述响应消息的消息类型为所述第二类型,则不建立所述主叫客户端与所述被叫客户端之间的通话连接。
4.一种网络通话方法,其特征在于,应用于SIP服务器,所述方法包括:
接收主叫客户端发送的通话请求;所述通话请求为根据所述主叫客户端的用户标识及被叫客户端的用户标识生成的;
根据所述被叫客户端的用户标识及预设对应关系,确定所述被叫客户端的网络地址;所述预设对应关系包括不同的用户标识与客户端的网络地址之间的对应关系;
根据所述被叫客户端的网络地址,将所述通话请求发送至所述被叫客户端,控制所述主叫客户端根据所述通话请求及所述被叫客户端的网络地址,建立所述主叫客户端与所述被叫客户端之间的通话连接。
5.根据权利要求4所述的方法,其特征在于,所述控制所述主叫客户端根据所述通话请求及所述被叫客户端的网络地址,建立所述主叫客户端与所述被叫客户端之间的通话连接,包括:
接收所述被叫客户端针对所述通话请求的响应消息;所述响应消息中携带所述响应消息的消息类型;所述消息类型包括第一类型及第二类型,所述第一类型用于表征所述被叫客户端处于待连接状态,所述第二类型用于表征所述被叫客户端处于无法连接状态;
将所述响应消息发送至所述主叫客户端,控制所述主叫客户端根据所述响应消息及所述被叫客户端的网络地址,确定是否建立所述主叫客户端与所述被叫客户端之间的通话连接。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收客户端发送的注册请求;所述注册请求中携带所述客户端的网络地址和待注册的用户账户信息;所述用户账户信息包括用户标识和密码;
建立并存储所述客户端的网络地址和所述待注册的用户账户信息之间的对应关系,得到所述预设对应关系。
7.根据权利要求6所述的方法,其特征在于,所述接收客户端发送的注册请求,包括:
接收客户端发送的第一注册请求;所述第一注册请求中携带所述客户端的网络地址;
判断所述客户端的网络地址的合法性;
在确定所述客户端的网络地址合法的情况下,接收所述客户端发送的第二注册请求;所述第二注册请求中携带所述客户端的用户账户信息。
8.一种网络通话装置,其特征在于,应用于移动终端,所述装置包括:
获取模块,用于获取在主叫客户端中输入的被叫客户端的用户标识;
发送模块,用于根据所述主叫客户端的用户标识及所述被叫客户端的用户标识生成通话请求,并将所述通话请求发送至SIP服务器;所述通话请求用于指示所述SIP服务器基于所述被叫客户端的用户标识确定所述被叫客户端的网络地址,并根据所述被叫客户端的网络地址将所述通话请求发送至所述被叫客户端;所述SIP服务器中存储了不同的用户标识与客户端的网络地址之间的对应关系;
建立模块,用于根据所述通话请求及所述被叫客户端的网络地址,建立所述主叫客户端与所述被叫客户端之间的通话连接。
9.一种网络通话装置,其特征在于,应用于SIP服务器,所述装置包括:
第一接收模块,用于接收主叫客户端发送的通话请求;所述通话请求为根据所述主叫客户端的用户标识及被叫客户端的用户标识生成的;
确定模块,用于根据所述被叫客户端的用户标识及预设对应关系,确定所述被叫客户端的网络地址;所述预设对应关系包括不同的用户标识与客户端的网络地址之间的对应关系;
第一发送模块,用于根据所述被叫客户端的网络地址,将所述通话请求发送至所述被叫客户端,控制所述主叫客户端根据所述通话请求及所述被叫客户端的网络地址,建立所述主叫客户端与所述被叫客户端之间的通话连接。
10.一种移动终端,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3中任一项所述的方法的步骤。
11.一种SIP服务器,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求4和7中任一项所述的方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210538040.6A CN114915925A (zh) | 2022-05-18 | 2022-05-18 | 网络通话方法、装置、移动终端、sip服务器和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210538040.6A CN114915925A (zh) | 2022-05-18 | 2022-05-18 | 网络通话方法、装置、移动终端、sip服务器和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114915925A true CN114915925A (zh) | 2022-08-16 |
Family
ID=82767908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210538040.6A Pending CN114915925A (zh) | 2022-05-18 | 2022-05-18 | 网络通话方法、装置、移动终端、sip服务器和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114915925A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070061292A (ko) * | 2005-12-08 | 2007-06-13 | 한국전자통신연구원 | 접속 설정 프로토콜을 사용하는 인터넷 전화 시스템에서의서비스 제공 방법 및 그 시스템 |
CN106998330A (zh) * | 2017-03-31 | 2017-08-01 | 北京奇艺世纪科技有限公司 | 一种网络电话的呼叫方法及装置 |
CN114124906A (zh) * | 2020-08-11 | 2022-03-01 | 艾锐势企业有限责任公司 | 网关装置、用于网关装置的方法、计算机可读介质和装置 |
-
2022
- 2022-05-18 CN CN202210538040.6A patent/CN114915925A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070061292A (ko) * | 2005-12-08 | 2007-06-13 | 한국전자통신연구원 | 접속 설정 프로토콜을 사용하는 인터넷 전화 시스템에서의서비스 제공 방법 및 그 시스템 |
CN106998330A (zh) * | 2017-03-31 | 2017-08-01 | 北京奇艺世纪科技有限公司 | 一种网络电话的呼叫方法及装置 |
CN114124906A (zh) * | 2020-08-11 | 2022-03-01 | 艾锐势企业有限责任公司 | 网关装置、用于网关装置的方法、计算机可读介质和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11489961B2 (en) | System and method for determining and communicating presence information | |
US8266307B2 (en) | Method, system, and apparatus for access of network services using subscriber identities | |
US9648006B2 (en) | System and method for communicating with a client application | |
US20060229054A1 (en) | Help desk connect | |
US20110319061A1 (en) | Automated Mobile Intelligent Communication Processing System | |
US9210574B2 (en) | Method and apparatus for verifying the authenticity of mobile device information | |
US9723032B2 (en) | Data communication | |
US9553901B2 (en) | VOIP service with streamlined call transfer options | |
WO2019194981A1 (en) | Systems and methods for web-based communications consolidation | |
CN105721408B (zh) | 融合通信客户端的实现方法、终端、相关平台及系统 | |
US20070204015A1 (en) | Apparatus For Mediating In Management Orders | |
CN114915925A (zh) | 网络通话方法、装置、移动终端、sip服务器和存储介质 | |
RU2596588C2 (ru) | Система и способ для активации мобильного устройства для инициирования связи | |
US8938055B2 (en) | System and method for establishing data communication using pre-configured user data | |
WO2018157389A1 (zh) | 一种通话中共享信息的方法及终端 | |
US20170054673A1 (en) | Method and device for establishing a communication | |
CN116847027A (zh) | 一种呼叫方法、装置及存储介质 | |
CN111447334A (zh) | 一种通话方法、装置、话机终端及存储介质 | |
WO2020049323A1 (en) | System for making and receiving telephone calls | |
CN110830663A (zh) | 来电提示方法、装置和系统 | |
WO2012110805A1 (en) | Sata sharing during a telephone conversation | |
JP2009239869A (ja) | サーバ装置、通信システム及び機能設定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |