CN114465991B - 软电话的连接方法和装置 - Google Patents

软电话的连接方法和装置 Download PDF

Info

Publication number
CN114465991B
CN114465991B CN202210066946.2A CN202210066946A CN114465991B CN 114465991 B CN114465991 B CN 114465991B CN 202210066946 A CN202210066946 A CN 202210066946A CN 114465991 B CN114465991 B CN 114465991B
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.)
Active
Application number
CN202210066946.2A
Other languages
English (en)
Other versions
CN114465991A (zh
Inventor
林晓东
毛军锐
崔浩波
孙德华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Hexuewang Educational Technology Co ltd
Original Assignee
Beijing Hexuewang Educational Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Hexuewang Educational Technology Co ltd filed Critical Beijing Hexuewang Educational Technology Co ltd
Priority to CN202210066946.2A priority Critical patent/CN114465991B/zh
Publication of CN114465991A publication Critical patent/CN114465991A/zh
Application granted granted Critical
Publication of CN114465991B publication Critical patent/CN114465991B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation 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 (9)

1.一种软电话的连接方法,其特征在于,包括:
云拨打服务器中的第一服务节点接收到客户端发送的签入请求后,根据所述签入请求判断是否存在对应的拨打实例;
其中,所述拨打实例为所述客户端初次发送所述签入请求时在所述第一服务节点中建立的与SIP服务端进行数据通信的通道;
在存在所述拨打实例时,所述第一服务节点基于所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接;
所述云拨打服务器中配置有多个服务节点,在所述第一服务节点中不存在所述拨打实例时,还包括:
由所述第一服务节点判断所述云拨打服务器中的其他服务节点中是否存在所述拨打实例;
在判断出所述云拨打服务器中的其他服务节点中存在所述拨打实例时,由第二服务节点基于所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接;
其中,所述第二服务节点为存在有所述拨打实例的其他服务节点中能够给予响应的一个服务节点。
2.根据权利要求1所述的方法,其特征在于,所述云拨打服务器中配置有一个服务节点,所述第一服务节点中不存在所述拨打实例时,所述第一服务节点建立所述拨打实例,并通过所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接。
3.根据权利要求1所述的方法,其特征在于,所述第一服务节点判断所述云拨打服务器中的其他服务节点中是否存在所述拨打实例时,通过socket.io-redis组件由缓存数据中查找是否存在所述拨打实例的方式进行。
4.根据权利要求1所述的方法,其特征在于,所述第二服务节点基于所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接后,还包括:
获取所述SIP服务端返回的消息,并将所述消息发送给socket.io-redis组件,由所述socket.io-redis组件将所述消息返回给所述第一服务节点;
所述第一服务节点接收到所述消息后,将所述消息返给所述客户端。
5.根据权利要求1所述的方法,其特征在于,在判断出所述云拨打服务器中的其他服务节点中均不存在所述拨打实例时,执行所述第一服务节点建立所述拨打实例,并通过所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接的操作。
6.根据权利要求1所述的方法,其特征在于,在判断出所述云拨打服务器中的其他服务节点中存在所述拨打实例时,由第二服务节点基于所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接时,包括:
所述第一服务节点发送携带有拨打实例所在节点的广播消息发送至socket.io-redis组件;所述拨打实例所在节点为存在有所述拨打实例的服务节点;
所述socket.io-redis组件接收到所述广播消息后,返回节点响应至所述第一服务节点;
所述第一服务节点根据接收到的所述节点响应,判断是否存在能够给予响应的服务节点;
在判断出存在能够给予响应的服务节点时,将能够给予相应的一个服务节点作为所述第二服务节点,并由第二服务节点基于所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接。
7.根据权利要求6所述的方法,其特征在于,在判断出不存在能够给予响应的服务节点时,执行所述第一服务节点建立所述拨打实例,并通过所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接的操作。
8.根据权利要求1至7任一项所述的方法,其特征在于,还包括建立所述拨打实例的步骤;
其中,建立所述拨打实例时,包括:
选择与所述签入请求对应的语音拨打SDK进行初始化,以建立与所述签入请求对应的坐席与所述SIP服务端进行数据通讯的通道;
通过所述通道将所述签入请求发送至所述SIP服务端;
所述SIP服务端基于所述签入请求对所述坐席进行认证,在认证通过的情况下,将所述通道作为所述坐席的拨打实例。
9.一种软电话连接装置,其特征在于,包括:
判断模块,用于云拨打服务器中的第一服务节点接收到客户端发送的签入请求后,根据所述签入请求判断是否存在对应的拨打实例;
其中,所述拨打实例为所述客户端初次发送所述签入请求时在所述第一服务节点中建立的与SIP服务端进行数据通信的通道;
连接模块,用于在存在所述拨打实例时,所述第一服务节点基于所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接;
所述云拨打服务器中配置有多个服务节点,在所述第一服务节点中不存在所述拨打实例时,所述判断模块还用于:
由所述第一服务节点判断所述云拨打服务器中的其他服务节点中是否存在所述拨打实例;
在判断出所述云拨打服务器中的其他服务节点中存在所述拨打实例时,所述连接模块还用于由第二服务节点基于所述拨打实例发送所述签入请求至所述SIP服务端进行软电话连接;
其中,所述第二服务节点为存在有所述拨打实例的其他服务节点中能够给予响应的一个服务节点。
CN202210066946.2A 2022-01-20 2022-01-20 软电话的连接方法和装置 Active CN114465991B (zh)

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 CN114465991A (zh) 2022-05-10
CN114465991B true 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 (9)

* Cited by examiner, † Cited by third party
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
WO2015078149A1 (zh) * 2013-11-29 2015-06-04 华为技术有限公司 实现分布式呼叫中心的方法和分布式呼叫中心及相关装置
CN112511703A (zh) * 2020-12-02 2021-03-16 中国建设银行股份有限公司 一种话机自动应答的处理方法、装置及电子设备
CN112671986A (zh) * 2019-10-16 2021-04-16 北京京东尚科信息技术有限公司 呼叫中心系统和呼叫中心系统的实现方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140006632A1 (en) * 2012-07-02 2014-01-02 Cisco Technology, Inc. Multiplexer Load Balancer for Session Initiation Protocol Traffic
US11317325B2 (en) * 2018-05-31 2022-04-26 Apple Inc. Call setup time in loaded IMS networks

Patent Citations (9)

* Cited by examiner, † Cited by third party
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
WO2015078149A1 (zh) * 2013-11-29 2015-06-04 华为技术有限公司 实现分布式呼叫中心的方法和分布式呼叫中心及相关装置
CN112671986A (zh) * 2019-10-16 2021-04-16 北京京东尚科信息技术有限公司 呼叫中心系统和呼叫中心系统的实现方法
CN112511703A (zh) * 2020-12-02 2021-03-16 中国建设银行股份有限公司 一种话机自动应答的处理方法、装置及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
在SIP会话中重用底层连接;薛晓舟, 刘玉璋, 尹泽明;现代电信科技(11);全文 *

Also Published As

Publication number Publication date
CN114465991A (zh) 2022-05-10

Similar Documents

Publication Publication Date Title
EP2620872B1 (en) Method and device for callback processing in telecommunication capacity opening
US7870418B2 (en) Enhanced presence routing and roster fidelity by proactive crashed endpoint detection
CN100576862C (zh) Ip网络内的基本呼叫功能分离以及业务提供
US20140164543A1 (en) Communication System, Application Server and Communication Method for Server Cooperation
EP1528745B1 (en) Communication method and apparatus
EP4262180A1 (en) Call processing method, call processing apparatus and related device
US8634544B2 (en) Route select service
US7483369B2 (en) Method and apparatus for migrating to an alternate call controller
US20100064182A1 (en) Communication system
JP2004064755A (ja) 呼確立シグナリングによりデータ要求を行うための方法およびコンピュータプログラムプロダクト
CN105281923A (zh) 基于用户标识的视频会议呼叫的实现方法及装置
CN110493022B (zh) 一种三方会话的建立方法、装置及系统
CN114465991B (zh) 软电话的连接方法和装置
CN113099152B (zh) 一种多系统间通话方法及装置
GB2494136A (en) Processing requests in a telecommunications network
CN110505070B (zh) 一种三方会话的建立方法及装置
CN113179268A (zh) 一种路由器和路由器网络异常重定向的方法
CN106100979B (zh) 即时通信方法及装置
CN112543191B (zh) 一种负载均衡方法及装置
CN114285658B (zh) 基于微信授权登陆的系统互跳免登陆方法
KR100369809B1 (ko) 브이오아이피를 이용한 이중톤다중주파수 신호 전송방법
US20150036812A1 (en) System for Connecting Two Client Entities
CN115941778A (zh) 一种提供业务的方法、设备及存储介质
CN116647509A (zh) 负载均衡通信系统、方法、装置、服务器设备及存储介质
CN113572623A (zh) 会议控制系统及方法

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