CN114465991A - 软电话的连接方法和装置 - Google Patents
软电话的连接方法和装置 Download PDFInfo
- Publication number
- CN114465991A CN114465991A CN202210066946.2A CN202210066946A CN114465991A CN 114465991 A CN114465991 A CN 114465991A CN 202210066946 A CN202210066946 A CN 202210066946A CN 114465991 A CN114465991 A CN 114465991A
- Authority
- CN
- China
- Prior art keywords
- dialing
- service node
- instance
- sign
- request
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000004044 response Effects 0.000 claims description 36
- 238000004891 communication Methods 0.000 claims description 15
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 239000003795 chemical substances by application Substances 0.000 description 57
- 238000010586 diagram Methods 0.000 description 6
- 230000000712 assembly Effects 0.000 description 4
- 238000000429 assembly Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Telephonic Communication Services (AREA)
Abstract
本公开提供了一种软电话的连接方法和装置,该方法,包括:云拨打服务器中的第一服务节点接收到客户端发送的签入请求后,根据签入请求判断是否存在对应的拨打实例;在存在拨打实例时,第一服务节点基于拨打实例发送签入请求至所述SIP服务端进行软电话连接,这样,在客户端通过多个标签页进行软电话连接时,多个标签页可以直接复用缓存的拨打实例实现软电话的连接,提高了软电话的连接体验。
Description
技术领域
本公开涉及计算机领域领域,尤其涉及一种软电话的连接方法和装置。
背景技术
软电话又称为IP电话,它是通过互联网协定(Internet Protocol,IP)来进行语音传送的。传统的国际电话是以类比的方式来传送的,语音先会转换为讯号,通过铜缆将声音传送到对方。网络电话则是将声音通过网关转换为数据讯号,并被压缩成数据包,然后才从互联网传送出去,接收端收到数据包时,网关会将它解压缩,重新转成声音给另一方聆听。软电话通话全程,不用特意租用专门的线路,而只是见缝插针地使用网络,大大节省通话费用。但是目前是在客户端进行坐席的实例化的,因此,只能在一个标签页中进行软电话的连接,因为SIP服务商会限制一个坐席一次只能接入一个SDK,当打开多个标签时,会就重复进行SDK的实例化,将低了软电话的连接效率。
发明内容
有鉴于此,本公开提出了一种软电话的连接方法和装置,可以解决软电话连接效率低的问题。
根据本公开的第一方面,提供了一种软电话的连接方法,包括:
云拨打服务器中的第一服务节点接收到客户端发送的签入请求后,根据所述签入请求判断是否存在对应的拨打实例;
其中,所述拨打实例为所述客户端初次发送所述签入请求时在所述第一服务节点中建立的与SIP服务端进行数据通信的通道;
在存在所述拨打实例时,所述第一服务节点基于所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接。
在一种可能的实现方式中,所述云拨打服务器中配置有一个服务节点,所述第一服务节点中不存在所述拨打实例时,所述第一服务节点建立所述拨打实例,并通过所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接。
在一种可能的实现方式中,所述云拨打服务器中配置有多个服务节点,所述第一服务节点中不存在所述拨打实例时,包括:
所述第一服务节点判断所述云拨打服务器中的其他服务节点中是否存在所述拨打实例;
在判断出所述云拨打服务器中的其他服务节点中存在所述拨打实例时,由第二服务节点基于所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接;
其中,所述第二服务节点为存在有所述拨打实例的其他服务节点中能够给予响应的一个服务节点。
在一种可能的实现方式中,所述第一服务节点判断所述云拨打服务器中的其他服务节点中是否存在所述拨打实例时,通过socket.io-redis组件由缓存数据中查找是否存在所述拨打实例的方式进行。
在一种可能的实现方式中,所述第二服务节点基于所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接后,还包括:
获取所述SIP服务端返回的消息,并将所述消息发送给socket.io-redis组件,由所述socket.io-redis组件将所述消息返回给所述第一服务节点;
所述第一服务节点接收到所述消息后,将所述消息返给所述客户端。
在一种可能的实现方式中,在判断出所述云拨打服务器中的其他服务节点中均不存在所述拨打实例时,执行所述第一服务节点建立所述拨打实例,并通过所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接的操作。
在一种可能的实现方式中,在判断出所述云拨打服务器中的其他服务节点中存在所述拨打实例时,由第二服务节点基于所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接时,包括:
所述第一服务节点发送携带有拨打实例所在节点的广播消息发送至socket.io-redis组件;所述拨打实例所在节点为存在有所述拨打实例的服务节点;
所述socket.io-redis组件接收到所述广播消息后,返回节点响应至所述第一服务节点;
所述第一服务节点根据接收到的所述节点响应,判断是否存在能够给予响应的服务节点;
在判断出存在能够给予响应的服务节点时,将能够给予相应的一个服务节点作为所述第二服务节点,并由第二服务节点基于所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接。
在一种可能的实现方式中,在判断出不存在能够给予响应的服务节点时,执行所述第一服务节点建立所述拨打实例,并通过所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接的操作。
在一种可能的实现方式中,还包括建立所述拨打实例的步骤;
其中,建立所述拨打实例时,包括:
选择与所述签入请求对应的语音拨打SDK进行初始化,以建立与所述签入请求对应的坐席与所述SIP服务端进行数据通讯的通道;
通过所述通道将所述签入请求发送至所述SIP服务端;
所述SIP服务端基于所述签入请求对所述坐席进行认证,在认证通过的情况下,将所述通道作为所述坐席的拨打实例。
根据本公开的第二方面,提供了一种软电话的连接装置,包括:
判断模块,用于云拨打服务器中的第一服务节点接收到客户端发送的签入请求后,根据所述签入请求判断是否存在对应的拨打实例;
其中,所述拨打实例为所述客户端初次发送所述签入请求时在所述第一服务节点中建立的与SIP服务端进行数据通信的通道;
连接模块,用于在存在所述拨打实例时,所述第一服务节点基于所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接。
本公开中,在云拨打服务器中缓存拨打实例,这样,在客户端在通过多个标签页进行软电话连接时,多个标签页可以直接复用缓存的拨打实例实现软电话的连接,提高了软电话的连接体验。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出根据本公开一实施例的一种软电话的连接方法的示意性流程图;
图2示出根据本公开一实施例的一种软电话的连接方法的示例的数据交互时序图;
图3示出根据本公开一实施例的软电话连接装置的示意性框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
<方法实施例>
图1示出根据本公开一实施例的一种软电话的连接方法的示意性流程图。如图1所示,该方法包括步骤S110-步骤S120。
S110,云拨打服务器中的第一服务节点接收到客户端发送的签入请求后,根据签入请求判断是否存在对应的拨打实例。
在进行软电话连接时,用户需要通过客户端打开进行软电话连接的网页标签,在打开该网页标签的情况下,客户端将自动创建一个连接,连接至云拨打服务器的第一服务节点,这样,客户端就可以通过该连接将签入请求发送至云拨打服务器的第一服务节点。该连接可以是基于websocket通信协议创建的连接,也可以是通过其它通讯协议创建的连接,在此不作具体限定。
需要说明的是,客户端需要通过SIP服务商提供的坐席进行软电话的连接。在进行软电话连接时,需要在进行软电话连接的网页标签中输入坐席的认证信息,以基于坐席的认证信息生成该坐席对应的签入请求。其中,该签入请求中包括该坐席的认证信息。该认证信息可以是该坐席的账号和密码信息,也可以是关于该坐席的其它认证信息,在此不作具体限定。
在生成该坐席对应的签入请求后,将通过客户端与第一服务节点间的连接将该签入请求发送至第一服务节点。第一服务节点在接收到签入请求后,将根据签入请求中包括的坐席的认证信息判断第一服务节点中是否存在于该坐席对应的拨打实例,在存在该坐席对应的拨打实例的情况下,执行步骤S120。其中,该坐席对应的拨打实例为客户端初次发送该坐席的签入请求时在第一服务节点中建立的该坐席与SIP服务端进行数据通信的通道。
S120,在存在拨打实例时,第一服务节点基于拨打实例发送签入请求至SIP服务端进行软电话连接。
在存在坐席的拨打实例时,第一服务节点将通过该坐席对应的拨打实例将签入请求发送至SIP服务端。SIP服务端接收到该坐席的签入请求后,将对该坐席的认证信息进行认证,在认证通过的情况下,允许该坐席进行软电话连接。在坐席与软电话建立连接后,用户便可以通过软电话进行用语音呼叫。
该云拨打服务器中可以仅配置一个服务节点,还可以配置多个服务节点,在此不作具体限定。其中,在配置有多个服务节点时,还可以通过配置负载均衡服务器,由负载负载均衡服务器根据各服务节点的运行状态,进行第一服务节点的确定。即,通过在云拨打服务器中配置负载均衡服务器,从而在接收到签入请求时,能够由负载均衡服务器根据当前云拨打服务器中的服务节点的配置,对各服务节点的负载进行判断,从而由多个服务节点中选取出能够及时响应该签入请求的服务节点作为第一服务节点。
在一种可能的实现方式中,负载均衡服务器由多个服务节点中选取出能够及时响应该签入请求的服务节点作为第一服务节点时,具体可以根据各服务节点的当前负载量或当前运行状态进行选取。举例来说,可以由多个服务节点中选取出当前处于空闲状态的或者是当前负载量最小的服务节点作为第一服务节点。由此,在云拨打服务器中配置有多个服务节点时,通过负载均衡服务器实现了多服务器同时部署负载均衡的目的,进而也就达到了即使接收到多个签入请求也能够及时响应的效果。
本申请实施例的方法,通过在客户端和SIP服务端之间设置云拨打服务器,通过云拨打服务器中配置的服务节点建立并存储坐席的拨打实例。这样,当云拨打服务器再次接收到签入请求时,便可以复用存储的拨打实例,建立坐席与软电话的连接,进而提高了坐席与软电话的连接效率。
同时,在坐席与软电话的连接后,客户端以及SIP服务端接收的数据都要通过云拨打服务器,因此,语音通话过程中的数据都可以通过云拨打服务器进行监控,有利于进行相应的业务数据分析,拨打限流控制以及异常排查等。
在一种可能的实现方式中,该云拨打服务器中仅配置一个服务节点,例如,仅配置了第一服务节点。
在该可实现方式中,在判断第一服务节点中不存在该坐席对应的拨打实例时,第一服务节点将基于签入指令建立该坐席的拨打实例,并通过该坐席对应的拨打实例发送签入请求至SIP服务端进行软电话连接。
在建立该坐席的拨打实例时,需要通过提供该坐席的SIP服务商提供的语音拨打SDK建立该坐席的拨打实例。例如,该坐席是SIP服务商A提供的,则需要通过SIP服务商A提供的SDK建立该坐席的拨打实例。又如,该坐席是SIP服务商B提供的,则需要通过SIP服务商B提供的SDK建立该坐席的拨打实例。其中,该SDK需要预先加载在建立拨打实例的服务节点中。
在一种可能的实现方式中,在第一服务节点中建立该坐席的拨打实例包括以下步骤:
第一,选择与签入请求对应的语音拨打SDK进行初始化,以建立与签入请求对应的坐席与SIP服务端进行数据通讯的通道。例如,该签入请求中包括SIP服务商A提供的坐席的认证信息,则选择SIP服务商A提供的语音拨打SDK进行初始化,这样,就可以建立该坐席与SIP服务商A的SIP服务端进行数据通讯的通道。通过该通道将签入请求发送至SIP服务端。第二,SIP服务端基于签入请求对该坐席进行认证,在认证通过的情况下,将该通道作为该坐席的拨打实例。
在一种可能的实现方式中,该云拨打服务器中配置了多个服务节点。
在该可实现方式中,在判断第一服务节点中不存在该坐席对应的拨打实例的时,执行以下步骤:
第一,第一服务节点判断云拨打服务器中的其他服务节点中是否存在拨打实例。
在一种可能的实现方式中,第一服务节点在判断云拨打服务器中的其他服务节点中是否存在拨打实例时,通过socket.io-redis组件由缓存数据中查找是否存在拨打实例的方式进行。
需要说明的是,多个服务节点中均配置有socket.io-redis组件,每个服务节点中的socket.io-redis组件均连接至redis数据库,这样,多个服务节点之间就可以进行通信和状态同步。其中,该redis数据库可以存储坐席的拨打实例对应的服务器节点标识,以便定位到实例所在的服务器节点。
第一服务节点在判断云拨打服务其中的其它服务节点中是否存在该坐席的拨打实例时,通过配置在第一服务节点中的socket.io-redis组件在redis数据库的缓存数据中查找是否存在该坐席的拨打实例。redis数据库在查找结束后将返回存在拨打实例的服务节点。其中,存在拨打实例的服务节点可以是零个(即其它服务节点中不存在拨打实例),可以是一个,在此不作具体限定。
在一种可能的实现方式中,在判断出云拨打服务器中的其他服务节点中存在拨打实例时,由第二服务节点基于拨打实例发送签入请求至SIP服务端进行软电话连接。其中,第二服务节点为存在有拨打实例的其他服务节点中能够给予响应的一个服务节点。
在一种可能的实现方式中,在判断出云拨打服务器中的其他服务节点中存在拨打实例时,由第二服务节点基于拨打实例发送签入请求至SIP服务端进行软电话连接时,包括以下步骤:
第一,第一服务节点发送携带有拨打实例所在节点的广播消息发送至socket.io-redis组件,以通过第一服务节点的socket.io-redis组件将携带有拨打实例所在节点的广播消息广播至各个服务节点的socket.io-redis组件。其中,拨打实例所在节点为存在有拨打实例的服务节点。
第二,socket.io-redis组件接收到广播消息后,返回节点响应至第一服务节点。
第三,第一服务节点根据接收到节点响应,判断是否存在能够给予响应的服务节点。
此处,需要说明的是,存在拨打实例的服务节点的当前状态通常包括两种,一种为能够进行软电话连接响应的服务节点,另一种则是不能够进行软电话连接响应的服务节点。因此,在判断出存在拨打实例的服务节点后,还需要通过socket.io-redis组件对各服务节点的响应进行检测,并将节点响应结果返回第一服务节点,由第一服务节点从存在拨打实例的服务节点中选取能够给予响应的服务节点进行软电话的连接。
在一种可能的实现方式中,在判断出存在能够给予响应的服务节点时,将能够给予相应的一个服务节点作为第二服务节点,并由第二服务节点基于拨打实例发送签入请求至SIP服务端进行软电话连接。
在一种可能的实现方式中,第二服务节点基于拨打实例发送签入请求至SIP服务端进行软电话连接后,还包括:获取SIP服务端返回的消息,并将消息发送给socket.io-redis组件,由socket.io-redis组件将消息返回给第一服务节点。第一服务节点接收到消息后,将消息返给客户端。
需要说明的是,在连接软电话后,便可以进行正常的语音通话,因此,该返回的消息可以是签入成功的消息,还可以语音通话过中产生的消息,例如,电话正在通话中的消息等,在此不作具体限定。
在一种可能的实现方式中,在判断出不存在能够给予响应的服务节点时,执行第一服务节点建立拨打实例,并通过拨打实例发送签入请求至SIP服务端进行软电话连接的操作。建立拨打实例的步骤如上文所述,在此不作具体限定。
在一种可能的实现方式中,在判断出云拨打服务器中的其他服务节点中均不存在拨打实例时,执行第一服务节点建立拨打实例,并通过拨打实例发送签入请求至SIP服务端进行软电话连接的操作。建立拨打实例的步骤如上文所述,在此不作具体限定。
本公开中,在云拨打服务器中缓存拨打实例,这样,在客户端通过多个标签页进行软电话连接时,多个标签页可以直接复用缓存的拨打实例实现软电话的连接,提高了软电话的连接体验。同时,因为拨打实例的缓存,也减少了坐席与SIP服务端进行签入的操作,这样可以进一步减少了频繁签入导致的失败率。
<方法示例>
图2示出根据本公开一实施例的一种软电话的连接方法的示例的数据交互时序图。
如图2所示,该云拨打服务器包括负载均衡服务器(nginx)、第一服务节点(node1)、第二服务节点(node2)。在第一服务节点和第二服务节点中均配置有socket.io-redis组件,且第一服务节点的socket.io-redis组件和第二服务节点的socket.io-redis组件均连接至redis数据库上,这样,第一服务节点和第二服务节点之间便可以进行通信和状态同步。其中,redis数据库可以配置在第一服务节点上,也可以配置在第二服务节点上,或者第一服务节点和第二服务节点可以连接的其它任意服务器,在此不作具体限定。
用户在通过客户端进行软电话连接时,包括以下步骤:
第一,用户通过客户端打开进行软电话连接的网页标签,在打开该网页标签的情况下,客户端将自动创建一个连接,连接至云拨打服务器的负载均衡服务器。
该负载均衡服务器可以根据两个服务节点的运行状态将软电话连接任意分配至第一服务节点或者第二服务节点,这样,可以提高云拨打服务器的数据处理能力、增加吞吐量、提高网络的可用性和灵活性。例如,可以在两服务节点中选择空闲的或者工作任务较少的服务节点执行软电话的连接任务。
第二,在网页标签中输入坐席的认证信息,以基于坐席的认证信息生成该坐席对应的签入请求,并将该签入请求发送至负载均衡服务器。
第三,负载均衡服务器根据各服务节点的运行状态,确定由第一服务节点进行软电话连接的响应,应将所述签入请求发送至第一服务节点。
第四,第一服务节点判断本机是否存在该坐席的拨打实例。
在存在该坐席的拨打实例的情况下,基于该拨打实例发送签入请求至SIP服务端进行软电话连接,并在连接软电话后,将SIP服务端返回的回调消息通过第一服务节点上配置的socket.io-redis组件,将透传给用户。
在不存在该坐席的拨打实例的情况下,通过第一服务节点上配置的socket.io-redis组件在redis数据库的缓存数据中查找是否存在该坐席的拨打实例,并接收由redis数据库返回的拨打实例所在的节点。
第五,第一服务节点判断拨打实例所在的节点是否存在。
在判断拨打实例所在的节点不存在的情况下,由当前的第一服务节点建立该坐席的拨打实例,并通过拨打实例发送所述签入请求至所述SIP服务端进行软电话连接,并在连接软电话后,将SIP服务端返回的回调消息通过第一服务节点上配置的socket.io-redis组件,将透传给用户。
在判断拨打实例所在的节点存在的情况下,通过第一服务节点上配置的socket.io-redis组件发送携带有拨打实例所在节点的广播消息发送至各服务节点的socket.io-redis组件。各服务节点的socket.io-redis组件接收到所述广播消息后,返回节点响应至所述第一服务节点。
第六,第一服务节点根据接收到的节点响应,判断是否存在能够给予响应的服务节点。
在不存在能够给予响应的服务节点的情况下,由第一服务节点建立该坐席的拨打实例,并通过拨打实例发送所述签入请求至所述SIP服务端进行软电话连接,并在连接软电话后,将SIP服务端返回的回调消息通过第一服务节点上配置的socket.io-redis组件,将透传给用户。
在第二服务节点能够给予响应的情况下,由第二服务节点基于拨打实例发送签入请求至SIP服务端进行软电话连接时,并在连接软电话后,将SIP服务端返回的回调消息通过第二服务节点上配置的socket.io-redis组件发送至第一服务节点上配置的socket.io-redis组件,在由第一服务节点上配置的socket.io-redis组件将回调消息透传给用户。
通过本示例,可以实现拨打实例在任意服务器上面、坐席的访问请求在任意服务器上面,均能实现正常调用坐席的拨打实例进行拨打操作。
<装置实施例>
图3示出根据本公开一实施例的软电话连接装置的示意性框图。如图3所示,该软电话连接装置3000包括:
判断模块3100,用于云拨打服务器中的第一服务节点接收到客户端发送的签入请求后,根据签入请求判断是否存在对应的拨打实例;
其中,拨打实例为客户端初次发送签入请求时在第一服务节点中建立的与SIP服务端进行数据通信的通道;
连接模块3200,用于在存在拨打实例时,第一服务节点基于拨打实例发送签入请求至SIP服务端进行软电话连接。
在一种可能的实现方式中,云拨打服务器中配置有一个服务节点,第一服务节点中不存在拨打实例时,第一服务节点建立拨打实例,并通过拨打实例发送签入请求至SIP服务端进行软电话连接。
在一种可能的实现方式中,云拨打服务器中配置有多个服务节点,第一服务节点中不存在拨打实例时,包括:
第一服务节点判断云拨打服务器中的其他服务节点中是否存在拨打实例;
在判断出云拨打服务器中的其他服务节点中存在拨打实例时,由第二服务节点基于拨打实例发送签入请求至SIP服务端进行软电话连接;
其中,第二服务节点为存在有拨打实例的其他服务节点中能够给予响应的一个服务节点。
在一种可能的实现方式中,第一服务节点判断云拨打服务器中的其他服务节点中是否存在拨打实例时,通过socket.io-redis组件由缓存数据中查找是否存在拨打实例的方式进行。
在一种可能的实现方式中,第二服务节点基于拨打实例发送签入请求至SIP服务端进行软电话连接后,还包括:
获取SIP服务端返回的消息,并将消息发送给socket.io-redis组件,由socket.io-redis组件将消息返回给第一服务节点;
第一服务节点接收到消息后,将消息返给客户端。
在一种可能的实现方式中,在判断出云拨打服务器中的其他服务节点中均不存在拨打实例时,执行第一服务节点建立拨打实例,并通过拨打实例发送签入请求至SIP服务端进行软电话连接的操作。
在一种可能的实现方式中,在判断出云拨打服务器中的其他服务节点中存在拨打实例时,由第二服务节点基于拨打实例发送签入请求至SIP服务端进行软电话连接时,包括:
第一服务节点发送携带有拨打实例所在节点的广播消息发送至socket.io-redis组件;拨打实例所在节点为存在有拨打实例的服务节点;
socket.io-redis组件接收到广播消息后,返回节点响应至第一服务节点;
第一服务节点根据接收到的节点响应,判断是否存在能够给予响应的服务节点;
在判断出存在能够给予响应的服务节点时,将能够给予相应的一个服务节点作为第二服务节点,并由第二服务节点基于拨打实例发送签入请求至SIP服务端进行软电话连接。
在一种可能的实现方式中,在判断出不存在能够给予响应的服务节点时,执行第一服务节点建立拨打实例,并通过拨打实例发送签入请求至SIP服务端进行软电话连接的操作。
在一种可能的实现方式中,还包括建立拨打实例的步骤;
其中,建立拨打实例时,包括:
选择与签入请求对应的语音拨打SDK进行初始化,以建立第一服务节点与SIP服务端进行数据通讯的通道;
通过通道将签入请求发送至SIP服务端;
SIP服务端基于签入请求进行认证,在认证通过的情况下,将通道作为拨打实例进行存储。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种软电话的连接方法,其特征在于,包括:
云拨打服务器中的第一服务节点接收到客户端发送的签入请求后,根据所述签入请求判断是否存在对应的拨打实例;
其中,所述拨打实例为所述客户端初次发送所述签入请求时在所述第一服务节点中建立的与SIP服务端进行数据通信的通道;
在存在所述拨打实例时,所述第一服务节点基于所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接。
2.根据权利要求1所述的方法,其特征在于,所述云拨打服务器中配置有一个服务节点,所述第一服务节点中不存在所述拨打实例时,所述第一服务节点建立所述拨打实例,并通过所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接。
3.根据权利要求1所述的方法,其特征在于,所述云拨打服务器中配置有多个服务节点,所述第一服务节点中不存在所述拨打实例时,包括:
所述第一服务节点判断所述云拨打服务器中的其他服务节点中是否存在所述拨打实例;
在判断出所述云拨打服务器中的其他服务节点中存在所述拨打实例时,由第二服务节点基于所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接;
其中,所述第二服务节点为存在有所述拨打实例的其他服务节点中能够给予响应的一个服务节点。
4.根据权利要求3所述的方法,其特征在于,所述第一服务节点判断所述云拨打服务器中的其他服务节点中是否存在所述拨打实例时,通过socket.io-redis组件由缓存数据中查找是否存在所述拨打实例的方式进行。
5.根据权利要求3所述的方法,其特征在于,所述第二服务节点基于所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接后,还包括:
获取所述SIP服务端返回的消息,并将所述消息发送给socket.io-redis组件,由所述socket.io-redis组件将所述消息返回给所述第一服务节点;
所述第一服务节点接收到所述消息后,将所述消息返给所述客户端。
6.根据权利要求3所述的方法,其特征在于,在判断出所述云拨打服务器中的其他服务节点中均不存在所述拨打实例时,执行所述第一服务节点建立所述拨打实例,并通过所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接的操作。
7.根据权利要求3所述的方法,其特征在于,在判断出所述云拨打服务器中的其他服务节点中存在所述拨打实例时,由第二服务节点基于所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接时,包括:
所述第一服务节点发送携带有拨打实例所在节点的广播消息发送至socket.io-redis组件;所述拨打实例所在节点为存在有所述拨打实例的服务节点;
所述socket.io-redis组件接收到所述广播消息后,返回节点响应至所述第一服务节点;
所述第一服务节点根据接收到的所述节点响应,判断是否存在能够给予响应的服务节点;
在判断出存在能够给予响应的服务节点时,将能够给予相应的一个服务节点作为所述第二服务节点,并由第二服务节点基于所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接。
8.根据权利要求7所述的方法,其特征在于,在判断出不存在能够给予响应的服务节点时,执行所述第一服务节点建立所述拨打实例,并通过所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接的操作。
9.根据权利要求1至8任一项所述的方法,其特征在于,还包括建立所述拨打实例的步骤;
其中,建立所述拨打实例时,包括:
选择与所述签入请求对应的语音拨打SDK进行初始化,以建立与所述签入请求对应的坐席与所述SIP服务端进行数据通讯的通道;
通过所述通道将所述签入请求发送至所述SIP服务端;
所述SIP服务端基于所述签入请求对所述坐席进行认证,在认证通过的情况下,将所述通道作为所述坐席的拨打实例。
10.一种软电话连接装置,其特征在于,包括:
判断模块,用于云拨打服务器中的第一服务节点接收到客户端发送的签入请求后,根据所述签入请求判断是否存在对应的拨打实例;
其中,所述拨打实例为所述客户端初次发送所述签入请求时在所述第一服务节点中建立的与SIP服务端进行数据通信的通道;
连接模块,用于在存在所述拨打实例时,所述第一服务节点基于所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210066946.2A CN114465991B (zh) | 2022-01-20 | 2022-01-20 | 软电话的连接方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210066946.2A CN114465991B (zh) | 2022-01-20 | 2022-01-20 | 软电话的连接方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114465991A true CN114465991A (zh) | 2022-05-10 |
CN114465991B CN114465991B (zh) | 2024-02-09 |
Family
ID=81409039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210066946.2A Active CN114465991B (zh) | 2022-01-20 | 2022-01-20 | 软电话的连接方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114465991B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1460212A (zh) * | 2001-03-30 | 2003-12-03 | 三德惬瑞公司 | 使用协议无关控制模块引导和管理应用程序及业务服务器的媒体对话构架 |
KR20050042615A (ko) * | 2003-11-03 | 2005-05-10 | 주식회사데이콤 | 단축번호를 이용한 기본통화 혹은 그룹통화 전화 서비스방법 |
CN1658587A (zh) * | 2004-02-18 | 2005-08-24 | 日本电气株式会社 | 使用无线LAN的VoIP无线电话系统和方法 |
CN1795643A (zh) * | 2003-03-12 | 2006-06-28 | 个人软件公司 | 通过切换将局域电话系统扩展到广域网 |
US7778402B1 (en) * | 2004-12-30 | 2010-08-17 | At&T Intellectual Property Ii, L.P. | Method and apparatus for routing incoming calls to active network endpoints |
US8059653B1 (en) * | 2009-03-12 | 2011-11-15 | Brocade Communications Systems, Inc. | Transaction and connection independent protocol load balancing |
US20140006632A1 (en) * | 2012-07-02 | 2014-01-02 | Cisco Technology, Inc. | Multiplexer Load Balancer for Session Initiation Protocol Traffic |
WO2015078149A1 (zh) * | 2013-11-29 | 2015-06-04 | 华为技术有限公司 | 实现分布式呼叫中心的方法和分布式呼叫中心及相关装置 |
US20190373515A1 (en) * | 2018-05-31 | 2019-12-05 | Apple Inc. | Call Setup Time in Loaded IMS Networks |
CN112511703A (zh) * | 2020-12-02 | 2021-03-16 | 中国建设银行股份有限公司 | 一种话机自动应答的处理方法、装置及电子设备 |
CN112671986A (zh) * | 2019-10-16 | 2021-04-16 | 北京京东尚科信息技术有限公司 | 呼叫中心系统和呼叫中心系统的实现方法 |
-
2022
- 2022-01-20 CN CN202210066946.2A patent/CN114465991B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1460212A (zh) * | 2001-03-30 | 2003-12-03 | 三德惬瑞公司 | 使用协议无关控制模块引导和管理应用程序及业务服务器的媒体对话构架 |
CN1795643A (zh) * | 2003-03-12 | 2006-06-28 | 个人软件公司 | 通过切换将局域电话系统扩展到广域网 |
KR20050042615A (ko) * | 2003-11-03 | 2005-05-10 | 주식회사데이콤 | 단축번호를 이용한 기본통화 혹은 그룹통화 전화 서비스방법 |
CN1658587A (zh) * | 2004-02-18 | 2005-08-24 | 日本电气株式会社 | 使用无线LAN的VoIP无线电话系统和方法 |
US7778402B1 (en) * | 2004-12-30 | 2010-08-17 | At&T Intellectual Property Ii, L.P. | Method and apparatus for routing incoming calls to active network endpoints |
US8059653B1 (en) * | 2009-03-12 | 2011-11-15 | Brocade Communications Systems, Inc. | Transaction and connection independent protocol load balancing |
US20140006632A1 (en) * | 2012-07-02 | 2014-01-02 | Cisco Technology, Inc. | Multiplexer Load Balancer for Session Initiation Protocol Traffic |
WO2015078149A1 (zh) * | 2013-11-29 | 2015-06-04 | 华为技术有限公司 | 实现分布式呼叫中心的方法和分布式呼叫中心及相关装置 |
US20190373515A1 (en) * | 2018-05-31 | 2019-12-05 | Apple Inc. | Call Setup Time in Loaded IMS Networks |
CN112671986A (zh) * | 2019-10-16 | 2021-04-16 | 北京京东尚科信息技术有限公司 | 呼叫中心系统和呼叫中心系统的实现方法 |
CN112511703A (zh) * | 2020-12-02 | 2021-03-16 | 中国建设银行股份有限公司 | 一种话机自动应答的处理方法、装置及电子设备 |
Non-Patent Citations (1)
Title |
---|
薛晓舟, 刘玉璋, 尹泽明: "在SIP会话中重用底层连接", 现代电信科技, no. 11 * |
Also Published As
Publication number | Publication date |
---|---|
CN114465991B (zh) | 2024-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7286521B1 (en) | Localized voice over internet protocol communication | |
US6463053B1 (en) | Voice-and-fax-over IP dialing plan | |
US20030231623A1 (en) | Routing system in the next generation open network and method of controlling the routing system | |
US9894128B2 (en) | Selective transcoding | |
EP1218877A1 (en) | Voice verification system | |
US8634544B2 (en) | Route select service | |
EP2254317A1 (en) | Service control device, service control system, and method | |
US20100064182A1 (en) | Communication system | |
CN110740429A (zh) | 一种移动通信方法、装置及设备 | |
CN103973648B (zh) | 应用数据推送方法、装置及系统 | |
CN114465991B (zh) | 软电话的连接方法和装置 | |
GB2494136A (en) | Processing requests in a telecommunications network | |
CN113099152B (zh) | 一种多系统间通话方法及装置 | |
US20070091879A1 (en) | Method and apparatus for providing internet protocol connectivity without consulting a domain name system server | |
CN102740273B (zh) | 一种多终端时业务消息处理方法、系统和装置 | |
CN104092703B (zh) | 基于tsp服务的cti信号处理系统及其方法 | |
CN113179268A (zh) | 一种路由器和路由器网络异常重定向的方法 | |
US7933213B1 (en) | Method and apparatus for monitoring and restoring time division multiplexing circuits | |
CN112543191B (zh) | 一种负载均衡方法及装置 | |
KR100369809B1 (ko) | 브이오아이피를 이용한 이중톤다중주파수 신호 전송방법 | |
JP3622692B2 (ja) | マルチメディア通信における伝送経路制御方法及びその通信システム並びにプログラム | |
CN114285658B (zh) | 基于微信授权登陆的系统互跳免登陆方法 | |
US11876666B1 (en) | Fault isolation in data communications centers | |
KR100567318B1 (ko) | 차세대 통신망에서 멀티서비스의 처리가 가능한 호 처리장치 및 방법 | |
KR100596003B1 (ko) | 할입 서비스 제공 방법 및 상기 방법을 채용한 ip교환기 시스템 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |