一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于同一账号实现多路语音呼叫的方法及系统与流程

2022-06-02 17:27:13 来源:中国专利 TAG:


1.本技术涉及通信语音技术领域,特别涉及一种基于同一账号实现多路语音呼叫的方法及系统。


背景技术:

2.随着宽带的普及以及voip(voice over internet protocol,基于ip的语音传输)网络技术的高速发展,传统的pbx(private branch exchange,用户级交换机)业务已经不能满足企业客户需求,且越来越多的企业通过利用voip网络来降低运营成本。于是,在不改变现有网络架构的基础上,将voip网络接入用于语音通信的pbx已成为一种趋势。其中,企业充分利用现有的网络资源部署自己的voip系统,在不改变pbx业务功能的情况下,将pbx接入voip网络,不仅节省了用户的长途话费,还扩充了与voip用户的语音通信,增加了企业语音业务的多样性。
3.目前,企业pbx的isdn pri(基群速率接口)用户考虑到资源利用率和成本的问题,希望在不改变原有isdn(integrated services digital network,综合业务数字网)网络的情况下,将pbx下的isdn pri用户平滑接入ngn(next generationnetwork,下一代网络)网络,且不改变现有pbx业务功能。但是,由于pbx具有其特殊性,即其要求内部多个分机用户可以使用同一pbx外线账号跟不同的外部人员同时通话;因此,在将pbx融入ngn端时,存在pbx下同一pbx外线账号多路语音的接入问题。


技术实现要素:

4.本技术提供一种基于同一账号实现多路语音呼叫的方法及系统,以解决相关技术中在将pbx融入ngn端时,无法实现pbx下同一账号多路语音的接入问题。
5.第一方面,提供了一种基于同一账号实现多路语音呼叫的方法,包括以下步骤:
6.建立多个使用同一voip账号的pbx端与对应的ngn端之间的呼叫连接;
7.基于每个呼叫连接对应的呼叫连接信息为每个pbx端与其对应的ngn端的连接分配语音流时隙;
8.基于分配的语音流时隙,进行每个pbx端与其对应的ngn端之间的语音流转换和通信。
9.一些实施例中,当所述pbx端作为主叫端,所述ngn端作为被叫端时,所述建立多个使用同一voip账号的pbx端与对应的ngn端之间的呼叫连接,包括:
10.isdn控制模块接收并解析第一pbx端发送的isdn setup信令,得到第一路isdn语音的呼叫信息,所述呼叫信息包括isdn主叫号码、voip被叫号码和isdn时隙,并根据isdn主叫号码和isdn时隙创建用于处理第一路isdn语音的第一isdn呼叫单元;
11.第一isdn呼叫单元将isdn主叫号码转换成voip主叫号码,且将voip主叫号码、voip被叫号码和isdn时隙发送至voip协议模块;
12.voip协议模块根据voip主叫号码和isdn时隙创建用于处理第一路isdn语音的第
一voip信令单元;
13.第一voip信令单元根据voip主叫号码确定出第一路isdn语音的pri端口,将voip主叫号码、voip被叫号码和主叫端sdp消息发送至与第一pbx端对应的ngn端,并获取ngn端根据voip主叫号码、voip被叫号码和主叫端sdp消息发送的响应信令,所述响应信令包含被叫端sdp消息;
14.第一voip信令单元将响应信令转换成呼叫connect消息,并将呼叫connect消息发送至isdn控制模块;
15.isdn控制模块中的第一isdn呼叫单元根据呼叫connect消息构造isdn connect信令,并将isdn connect信令发送至第一pbx端,以供第一pbx端基于isdn connect信令建立与其对应的ngn端之间的呼叫连接。
16.一些实施例中,当所述pbx端作为被叫端,所述ngn端作为主叫端时,所述建立多个使用同一voip账号的pbx端与对应的ngn端之间的呼叫连接,包括:
17.voip协议模块接收并解析第一ngn端发送的sip invite信令,得到第一路isdn语音的呼叫信息,所述呼叫信息包括voip被叫号码、主叫端sdp消息和信令关键值,并根据voip被叫号码和信令关键值创建用于处理第一路isdn语音的第一voip信令单元;
18.第一voip信令单元根据voip被叫号码确定出第一路isdn语音的pri端口,将voip被叫号码发送至isdn控制模块;
19.isdn控制模块将voip被叫号码转换为isdn被叫号码,并根据isdn被叫号码为第一路isdn语音分配isdn时隙,且将isdn时隙返回至第一voip信令单元;
20.第一voip信令单元将sip invite信令转换成呼叫setup消息,并将呼叫setup消息发送至isdn控制模块;
21.isdn控制模块根据isdn被叫号码与isdn时隙创建用于处理第一路isdn语音的第一isdn呼叫单元;
22.第一isdn呼叫单元根据呼叫setup消息构造isdn setup信令,并将isdn setup信令发送至与第一ngn端对应的pbx端,且获取pbx端根据isdn setup信令发送的isdn connect信令;
23.第一isdn呼叫单元将isdn connect信令转换成呼叫connect消息,并将呼叫connect消息发送至voip协议模块;
24.voip协议模块中的第一voip信令单元根据呼叫connect消息构造响应信令发送至第一ngn端,所述响应信令包括被叫端sdp消息,以供第一ngn端基于响应信令建立与其对应的pbx端之间的呼叫连接。
25.一些实施例中,所述基于每个呼叫连接对应的呼叫连接信息为每个pbx端与其对应的ngn端的连接分配语音流时隙,包括:
26.isdn pri接入模块接收第一voip信令单元发送的第一路isdn语音的呼叫连接信息,所述呼叫连接信息包括pri端口、isdn时隙、主叫端sdp消息和被叫端sdp消息;
27.isdn pri接入模块根据pri端口和isdn时隙创建用于处理第一路isdn语音的第一语音流单元;
28.第一语音流单元根据主叫端sdp消息和被叫端sdp消息对某一空闲dsp时隙进行参数配置,得到第一空闲dsp时隙,并基于预设的时隙映射关系对所述第一空闲dsp时隙与所
述isdn时隙进行通道连接,形成pbx端与其对应的ngn端之间的语音流时隙。
29.一些实施例中,所述基于分配的语音流时隙,进行pbx主叫端与其对应的ngn被叫端之间的语音流转换和通信,包括:
30.第一语音流单元基于被叫端sdp消息将pbx端的pcm语音流转换成第一voip语音流,所述第一voip语音流通过语音流时隙传输至ngn端;
31.第一语音流单元基于主叫端sdp消息将ngn端的voip语音流转换成第一pcm语音流,所述第一pcm语音流通过语音流时隙传输至pbx端。
32.第二方面,提供了一种基于同一账号实现多路语音呼叫的系统,包括voip网关,所述voip网关用于建立多个使用同一voip账号的pbx端与对应的ngn端之间的呼叫连接;基于每个呼叫连接对应的呼叫连接信息为每个pbx端与其对应的ngn端的连接分配语音流时隙;基于分配的语音流时隙,进行每个pbx端与其对应的ngn端之间的语音流转换和通信。
33.一些实施例中,当所述pbx端作为主叫端,所述ngn端作为被叫端时,所述voip网关包括isdn控制模块和voip协议模块;
34.其中,isdn控制模块接收并解析第一pbx端发送的isdn setup信令,得到第一路isdn语音的呼叫信息,所述呼叫信息包括isdn主叫号码、voip被叫号码和isdn时隙,并根据isdn主叫号码和isdn时隙创建用于处理第一路isdn语音的第一isdn呼叫单元;
35.第一isdn呼叫单元将isdn主叫号码转换成voip主叫号码,且将voip主叫号码、voip被叫号码和isdn时隙发送至voip协议模块;
36.voip协议模块根据voip主叫号码和isdn时隙创建用于处理第一路isdn语音的第一voip信令单元;
37.第一voip信令单元根据voip主叫号码确定出第一路isdn语音的pri端口,将voip主叫号码、voip被叫号码和主叫端sdp消息发送至与第一pbx端对应的ngn端,并获取ngn端根据voip主叫号码、voip被叫号码和主叫端sdp消息发送的响应信令,所述响应信令包含被叫端sdp消息;
38.第一voip信令单元将响应信令转换成呼叫connect消息,并将呼叫connect消息发送至isdn控制模块;
39.isdn控制模块中的第一isdn呼叫单元根据呼叫connect消息构造isdn connect信令,并将isdn connect信令发送至第一pbx端,以供第一pbx端基于isdn connect信令建立与其对应的ngn端之间的呼叫连接。
40.一些实施例中,当所述pbx端作为被叫端,所述ngn端作为主叫端时,所述voip网关包括isdn控制模块和voip协议模块;
41.其中,voip协议模块接收并解析第一ngn端发送的sip invite信令,得到第一路isdn语音的呼叫信息,所述呼叫信息包括voip被叫号码、主叫端sdp消息和信令关键值,并根据voip被叫号码和信令关键值创建用于处理第一路isdn语音的第一voip信令单元;
42.第一voip信令单元根据voip被叫号码确定出第一路isdn语音的pri端口,将voip被叫号码发送至isdn控制模块;
43.isdn控制模块将voip被叫号码转换为isdn被叫号码,并根据isdn被叫号码为第一路isdn语音分配isdn时隙,且将isdn时隙返回至第一voip信令单元;
44.第一voip信令单元将sip invite信令转换成呼叫setup消息,并将呼叫setup消息
发送至isdn控制模块;
45.isdn控制模块根据isdn被叫号码与isdn时隙创建用于处理第一路isdn语音的第一isdn呼叫单元;
46.第一isdn呼叫单元根据呼叫setup消息构造isdn setup信令,并将isdn setup信令发送至与第一ngn端对应的pbx端,且获取pbx端根据isdn setup信令发送的isdn connect信令;
47.第一isdn呼叫单元将isdn connect信令转换成呼叫connect消息,并将呼叫connect消息发送至voip协议模块;
48.voip协议模块中的第一voip信令单元根据呼叫connect消息构造响应信令发送至第一ngn端,所述响应信令包括被叫端sdp消息,以供第一ngn端基于响应信令建立与其对应的pbx端之间的呼叫连接。
49.一些实施例中,所述voip网关还包括isdn pri接入模块,所述isdn pri接入模块具体用于:
50.接收第一voip信令单元发送的第一路isdn语音的呼叫连接信息,所述呼叫连接信息包括pri端口、isdn时隙、主叫端sdp消息和被叫端sdp消息;
51.根据pri端口和isdn时隙创建用于处理第一路isdn语音的第一语音流单元;
52.第一语音流单元根据主叫端sdp消息和被叫端sdp消息对某一空闲dsp时隙进行参数配置,得到第一空闲dsp时隙,并基于预设的时隙映射关系对所述第一空闲dsp时隙与所述isdn时隙进行通道连接,形成pbx端与其对应的ngn端之间的语音流时隙。
53.一些实施例中,所述第一语音流单元具体还用于:
54.基于被叫端sdp消息将pbx端的pcm语音流转换成第一voip语音流,所述第一voip语音流通过语音流时隙传输至ngn端;
55.基于主叫端sdp消息将ngn端的voip语音流转换成第一pcm语音流,所述第一pcm语音流通过语音流时隙传输至pbx端。
56.本技术提供的技术方案带来的有益效果包括:可实现pbx下同一账号多路语音的成功接入。
57.本技术提供了一种基于同一账号实现多路语音呼叫的方法及系统,包括建立多个使用同一voip账号的pbx端与对应的ngn端之间的呼叫连接;基于每个呼叫连接对应的呼叫连接信息为每个pbx端与其对应的ngn端的连接分配语音流时隙;基于分配的语音流时隙,进行每个pbx端与其对应的ngn端之间的语音流转换和通信。本技术通过为共用同一voip账号的每个pbx用户与其对应的ngn端用户创建语音呼叫连接,并为其分配语音流时隙,使得每个pbx用户与其对应的ngn端用户基于该语音流时隙实现语音流转换和通信,因此共用同一voip账号的不同pbx用户与其对应的ngn端用户的语音通信都是相互独立的,进而实现了pbx下同一账号多路语音的成功接入。
附图说明
58.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他
的附图。
59.图1为本技术实施例提供的一种同一voip账号实现多路语音呼叫的方法的流程示意图;
60.图2为本技术实施例提供的共账号的两个用户、两路语音的结构示意图;
61.图3为本技术实施例提供的共账号的两个用户做主叫时进行同时呼叫的流程示意图;
62.图4为本技术实施例提供的共账号的两个用户做被叫时进行同时呼叫的流程示意图。
具体实施方式
63.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
64.本技术实施例提供了一种基于同一账号实现多路语音呼叫的方法及系统,其能解决相关技术中在将pbx融入ngn端时,无法实现pbx下同一账号多路语音的接入问题。
65.图1是本技术实施例提供的一种同一voip账号实现多路语音呼叫的方法,包括以下步骤:
66.步骤s10:建立多个使用同一voip账号的pbx端与对应的ngn端之间的呼叫连接;
67.进一步的,当所述pbx端作为主叫端,所述ngn端作为被叫端时,步骤s10具体包括以下步骤:
68.isdn控制模块接收并解析第一pbx端发送的isdn setup信令(一种isdn通信协议),得到第一路isdn语音的呼叫信息,所述呼叫信息包括isdn主叫号码、voip被叫号码和isdn时隙,并根据isdn主叫号码和isdn时隙创建用于处理第一路isdn语音的第一isdn呼叫单元;
69.第一isdn呼叫单元将isdn主叫号码转换成voip主叫号码,且将voip主叫号码、voip被叫号码和isdn时隙发送至voip协议模块;
70.voip协议模块根据voip主叫号码和isdn时隙创建用于处理第一路isdn语音的第一voip信令单元;
71.第一voip信令单元根据voip主叫号码确定出第一路isdn语音的pri端口,将voip主叫号码、voip被叫号码和主叫端sdp(session descriptionprotocol,会话描述协议)消息发送至与第一pbx端对应的ngn端,并获取ngn端根据voip主叫号码、voip被叫号码和主叫端sdp消息发送的响应信令,所述响应信令包含被叫端sdp消息;
72.第一voip信令单元将响应信令转换成呼叫connect消息,并将呼叫connect消息发送至isdn控制模块;
73.isdn控制模块中的第一isdn呼叫单元根据呼叫connect消息构造isdn connect信令(一种isdn通信协议),并将isdn connect信令发送至第一pbx端,以供第一pbx端基于isdn connect信令建立与其对应的ngn端之间的呼叫连接。
74.进一步的,当所述pbx端作为被叫端,所述ngn端作为主叫端时,步骤s10具体包括
以下步骤:
75.voip协议模块接收并解析第一ngn端发送的sip invite信令,得到第一路isdn语音的呼叫信息,所述呼叫信息包括voip被叫号码、主叫端sdp消息和信令关键值,并根据voip被叫号码和信令关键值创建用于处理第一路isdn语音的第一voip信令单元;
76.第一voip信令单元根据voip被叫号码确定出第一路isdn语音的pri端口,将voip被叫号码发送至isdn控制模块;
77.isdn控制模块将voip被叫号码转换为isdn被叫号码,并根据isdn被叫号码为第一路isdn语音分配isdn时隙,且将isdn时隙返回至第一voip信令单元;
78.第一voip信令单元将sip invite信令转换成呼叫setup消息,并将呼叫setup消息发送至isdn控制模块。
79.isdn控制模块根据isdn被叫号码与isdn时隙创建用于处理第一路isdn语音的第一isdn呼叫单元;
80.第一isdn呼叫单元根据呼叫setup消息构造isdn setup信令(一种isdn通信协议),并将isdn setup信令发送至与第一ngn端对应的pbx端,且获取pbx端根据isdn setup信令发送的isdn connect信令(一种isdn通信协议);
81.第一isdn呼叫单元将isdn connect信令转换成呼叫connect消息,并将呼叫connect消息发送至voip协议模块;
82.voip协议模块中的第一voip信令单元根据呼叫connect消息构造响应信令发送至第一ngn端,所述响应信令包括被叫端sdp消息,以供第一ngn端基于响应信令建立与其对应的pbx端之间的呼叫连接。
83.步骤s20:基于每个呼叫连接对应的呼叫连接信息为每个pbx端与其对应的ngn端的连接分配语音流时隙;
84.进一步的,步骤s20具体包括以下步骤:
85.isdn pri接入模块接收第一voip信令单元发送的第一路isdn语音的呼叫连接信息,所述呼叫连接信息包括pri端口、isdn时隙、主叫端sdp消息和被叫端sdp消息;
86.isdn pri接入模块根据pri端口和isdn时隙创建用于处理第一路isdn语音的第一语音流单元;
87.第一语音流单元根据主叫端sdp消息和被叫端sdp消息对某一空闲dsp时隙进行参数配置,得到第一空闲dsp时隙,并基于预设的时隙映射关系对所述第一空闲dsp时隙与所述isdn时隙进行通道连接,形成pbx端与其对应的ngn端之间的语音流时隙。
88.步骤s30:基于分配的语音流时隙,进行每个pbx端与其对应的ngn端之间的语音流转换和通信。
89.进一步的,步骤s30具体包括以下步骤:
90.第一语音流单元基于被叫端sdp消息将pbx端的pcm语音流转换成第一voip语音流,所述第一voip语音流通过语音流时隙传输至ngn端;
91.第一语音流单元基于主叫端sdp消息将ngn端的voip语音流转换成第一pcm((pulse code modulation,脉冲编码调制)语音流,所述第一pcm语音流通过语音流时隙传输至pbx端。
92.示范性的,本实施例中,由于pbx多用户共用的同一pbx外线账号在voip网关上对
应同一voip账号,因此,在将pbx融入ngn端时,存在pbx下同一pbx外线账号多路语音同时接入的问题。于是为了使pbx多用户使用同一voip账号能够实现ngn端上多路语音的同时并发呼叫,就需要实现将并发的多路isdn语音转换成并发的voip多路语音接入至ngn端的关键技术。其中,为了更好地理解本技术实施例所公开的具体技术方案,以下将对具体实施例中涉及到的多个账号进行解释:isdn外线账号指的是针对isdn协议而言,其对应isdn协议中的主叫号码字段或者被叫号码字段;pbx外线账号指的是针对pbx协议而言的外线账号;voip账号指的是针对voip网关配置的号码,其会被注册到ngn网络,以供在ngn网络上呼叫使用;此外,pbx外线账号在接入至ngn网络时,不能直接使用pbx外线账号接入到ngn网络,而需要将pbx外线账号转换成voip账号后方能在ngn网络中使用;voip主叫号码指的是voip账号作为主叫,voip被叫号码指的是voip账号作为被叫;isdn主叫号码对应isdn协议中的主叫号码字段,也即pbx外线账号作为主叫;isdn被叫号码对应isdn协议中的被叫号码字段,也即pbx外线账号作为被叫。
93.参见图2所示,本实施例中为了解决上述问题,设置了voip协议模块、isdn控制模块和isdn pri接入模块,且根据实际的语音路数为同一voip账号创建对应数量的语音处理单元,一个语音处理单元用于接入和处理一路isdn语音,每一个语音处理单元均包括voip信令单元、isdn呼叫单元和语音流单元,以实现共用同一账号的多个pbx端用户与ngn端用户之间的语音通信。以下结合图3进一步阐释共用同一账号的多个pbx端用户与ngn端用户之间的语音通信工作原理。
94.因ngn信令有megaco、sip等不同类型,且对应的协议命令各不相同,因此本技术中均以sip为例进行阐述;并以共账号的两个用户(即phone1和phone2)且pbx端作为主叫端、ngn端作为被叫端,将isdn两路语音接入ngn端的语音通信为例:
95.pbx端的phone1和phone2同时摘机、拨号,由于phone1和phone2的语音控制和交换过程完全相同,因此为了描述的简洁性,以下仅针对phone1的工作流程进行阐述:此时phone1会发送isdn setup信令,并基于isdn协议通过isdn pri接入模块透传至isdn控制模块;
96.isdn控制模块解析该isdn setup信令,并获取isdn主叫号码、voip被叫号码以及isdn时隙;然后将isdn主叫号码、isdn时隙作为单元标识,查找isdn控制模块中是否已存在与isdn主叫号码、isdn时隙对应的isdn呼叫单元,如未找到,则创建新的isdn呼叫单元;若找到,则释放已找到的isdn呼叫单元并创建新的isdn呼叫单元,新的isdn呼叫单元再根据isdn主叫号码、voip被叫号码、isdn时隙和消息类型等修改该单元的isdn呼叫状态及呼叫建立的控制信息,其中,该控制信息包括但不限于信息单元、消息类型、呼叫标识等;通过号码转换规则将isdn主叫号码转换成voip主叫号码,例如isdn主叫号码是123456,voip主叫号码是80123456,则替换规则为在isdn主叫号码转换成voip主叫号码时,在isdn主叫号码加上前缀80;将isdn setup信令转换成携带消息类型、voip主叫号码、voip被叫号码、isdn时隙等参数的呼叫setup消息,并将呼叫setup消息传给voip协议模块;
97.voip协议模块收到isdn呼叫单元传递的呼叫setup消息后,将voip主叫号码、isdn时隙作为单元标识,查找voip协议模块中是否已经存在与voip主叫号码、isdn时隙对应的voip信令单元,如未找到,则创建一个新的voip信令单元;若找到,则释放已找到的voip信令单元并创建新的voip信令单元,新的voip信令单元再根据呼叫setup消息构造呼叫对象
(其中,呼叫对象包括构造sip信令所需的from、to、会话id和contact等字段内容)和事务列表等用于发送sip invite信令(一种ngn通信协议),该sip invite信令携带from-tag、to-tag、callleg-id等信令关键值以及voip主叫号码、voip被叫号码和主叫端sdp消息(该主叫端sdp消息包含了主叫端语音流ip信息和主叫端udp端口信息)等识别该路语音呼叫的信息;即voip信令单元将sipinvite信令发送到ngn端,并修改该voip信令单元的呼叫状态及呼叫建立的控制信息;
98.voip协议模块获取ngn端根据sip invite信令发送的响应信令(该响应信令为sip 200ok信令),并对sip 200ok信令进行解析,提取voip主叫号码、voip被叫号码、信令关键值和被叫端sdp消息(该被叫端sdp消息包含了被叫端语音流ip信息和被叫端udp端口信息);然后根据voip主叫号码和信令关键值找到对应的voip信令单元;
99.voip信令单元将sip 200ok信令转换成携带消息类型、voip主叫号码、voip被叫号码和isdn时隙等参数的呼叫connect消息,且将呼叫connect消息传给isdn控制模块,并修改该voip信令单元的呼叫状态及呼叫建立的控制信息;
100.isdn控制模块将voip主叫号码、isdn时隙作为标识找到对应的isdn呼叫单元,该isdn呼叫单元根据呼叫connect消息构造isdn connect信令,并通过isdn pri接入模块将isdn connect信令透传发送给pbx,并修改该isdn呼叫单元的isdn呼叫状态及呼叫建立控制信息,使得pbx端与其对应的ngn端之间建立了呼叫连接;
101.voip信令单元通过voip主叫号码并基于pri端口和voip被叫号码的配置关系查找对应的pri端口,并将pri端口、isdn时隙、主叫端sdp消息和被叫端sdp消息通知isdn pri接入模块;
102.isdn pri接入模块将pri端口、isdn时隙作为单元标识,查找isdn pri接入模块中是否已经存在与pri端口、isdn时隙对应的语音流单元,如未找到,则创建一个新的语音流单元;若找到,则释放已找到的语音流单元并创建新的语音流单元,新的语音流单元挑选空闲的dsp时隙,根据voip信令单元传递的主叫端sdp消息和被叫端sdp消息对该空闲的dsp时隙进行dsp参数的配置;然后通过时隙映射表中预设的时隙映射关系对该空闲的dsp时隙和isdn时隙进行时隙通道连接,并按照被叫端sdp消息中的编码类型将pbx端的pcm语音流编码成voip语音流发送到ngn端,同时也将从ngn端接收到的voip语音流按照主叫端sdp消息中的编码类型解码成pcm语音流发送给pbx端,进而实现ngn网络和isdn网络上的语音流互通。
103.以下结合图4并以共账号的两个用户(即phone1和phone2)且pbx端作为被叫端、ngn端作为主叫端,将isdn两路语音接入ngn端的语音通信为例,进一步阐释共用同一账号的多个pbx端用户与ngn端用户之间的语音通信工作原理。
104.由于phone1和phone2的语音控制和交换过程完全相同,因此为了描述的简洁性,以下仅针对phone1的工作流程进行阐述:
105.voip协议模块接收到从ngn端发送的sip invite信令后,对sip invite信令进行解析,并提取voip被叫号码和from-tag、to-tag、callleg-id等信令关键值以及主叫端sdp消息(该主叫端sdp消息包含了主叫端语音流ip信息和主叫端udp端口信息)等识别该路语音呼叫的信息;然后将voip被叫号码和信令关键值作为单元标识,查找voip协议模块是否已经存在与voip被叫号码和信令关键值对应的voip信令单元,如未找到,则创建一个新的
voip信令单元;若找到,则释放已找到的voip信令单元并创建新的voip信令单元,新的voip信令单元再根据sip invite信令构造呼叫对象和事务列表用于后续sip信令的发送;并将voip被叫号码传给isdn控制模块,以通知isdn控制模块为该路语音分配isdn时隙;
106.isdn控制模块通过号码转换规则将voip被叫号码转换成isdn被叫号码,查找并返回该isdn被叫号码中空闲的isdn时隙给voip信令单元;voip信令单元将sip invite信令转换为呼叫setup消息(该呼叫setup消息包含voip主叫号码、voip被叫号码、isdn时隙等参数),并将呼叫setup消息传递给isdn控制模块;
107.isdn控制模块再次将voip被叫号码转换成isdn被叫号码,并将isdn被叫号码和isdn时隙作为单元标识,查找isdn控制模块中是否已经存在与isdn被叫号码和isdn时隙对应的isdn呼叫单元,如未找到,则创建一个新的isdn呼叫单元;若找到,则释放已找到的isdn呼叫单元并创建一个新的isdn呼叫单元;该新的isdn呼叫单元再根据呼叫setup消息中的isdn被叫号码和isdn时隙构造isdn setup信令,且通过isdn pri接入模块将isdn setup信令发送给pbx端,并修改该isdn呼叫单元的isdn呼叫状态及呼叫建立控制信息,此时pbx端的phone1用户会振铃;
108.pbx端的phone1摘机后,isdn控制模块会收到pbx端根据isdn setup信令发送的isdn connect信令,对该isdn connect信令进行解析,并提取isdn被叫号码和isdn时隙,且利用isdn被叫号码和isdn时隙找到对应的isdn呼叫单元;
109.isdn呼叫单元将isdn被叫号码转换成voip被叫号码后,将isdn connect信令转换成呼叫connect消息(该呼叫connect消息包含消息类型、voip主叫号码、voip被叫号码、isdn时隙等参数),并将呼叫connect消息传给voip协议模块,并修改该isdn呼叫单元的isdn呼叫状态及呼叫建立控制信息;
110.voip协议模块通过voip被叫号码和isdn时隙找到对应的voip信令单元;voip信令单元根据呼叫connect消息构造携带被叫端sdp消息(该被叫端sdp消息包含了被叫端语音流ip信息和被叫端udp端口信息)的响应信令(该响应信令为sip 200ok信令),且通过呼叫对象和事务列表将sip 200ok信令发送到ngn端,并修改该voip信令单元的呼叫状态及呼叫建立控制信息,同时将voip被叫号码绑定的pri端口、isdn时隙、被叫端sdp消息和主叫端sdp消息发送至isdn pri接入模块;
111.isdn pri接入模块将voip信令单元传递的pri端口和isdn时隙作为单元标识,查找isdn pri接入模块中是否存在与pri端口和isdn时隙对应的语音流单元,如未找到,则创建一个新的语音流单元;若找到,则释放已找到的语音流单元并创建新的语音流单元,新的语音流单元再挑选空闲的dsp时隙,并根据voip信令单元传递的被叫端sdp消息和主叫端sdp消息对该空闲的dsp时隙进行dsp参数的配置,然后通过时隙映射表中预设的时隙映射关系对该空闲的dsp时隙和isdn时隙进行时隙通道连接,并按照主叫端sdp消息中的编码类型将pbx端的pcm语音流编码成voip语音流发送到ngn端,同时也将从ngn网络接收到的voip语音流按照被叫端sdp消息中的编码类型解码成pcm语音流发送给pbx端,进而实现ngn网络和isdn网络上的语音流互通。
112.由此可见,本技术实施例通过同时为共用同一voip账号的每个pbx用户与其对应的ngn端用户创建语音呼叫连接,并分别为其分配语音流时隙,使得每个pbx用户与其对应的ngn端用户基于该语音流时隙实现语音流转换和通信,因此共用同一voip账号的不同pbx
用户与其对应的ngn端用户的语音通信都是相互独立的,进而实现了pbx下同一账号多路语音的成功接入。
113.本技术实施例还提供了一种基于同一账号实现多路语音呼叫的系统,包括voip网关,所述voip网关用于建立多个使用同一voip账号的pbx端与对应的ngn端之间的呼叫连接;基于每个呼叫连接对应的呼叫连接信息为每个pbx端与其对应的ngn端的连接分配语音流时隙;基于分配的语音流时隙,进行每个pbx端与其对应的ngn端之间的语音流转换和通信。
114.进一步的,当所述pbx端作为主叫端,所述ngn端作为被叫端时,所述voip网关包括isdn控制模块和voip协议模块;
115.其中,isdn控制模块接收并解析第一pbx端发送的isdn setup信令,得到第一路isdn语音的呼叫信息,所述呼叫信息包括isdn主叫号码、voip被叫号码和isdn时隙,并根据isdn主叫号码和isdn时隙创建用于处理第一路isdn语音的第一isdn呼叫单元;
116.第一isdn呼叫单元将isdn主叫号码转换成voip主叫号码,且将voip主叫号码、voip被叫号码和isdn时隙发送至voip协议模块;
117.voip协议模块根据voip主叫号码和isdn时隙创建用于处理第一路isdn语音的第一voip信令单元;
118.第一voip信令单元根据voip主叫号码确定出第一路isdn语音的pri端口,将voip主叫号码、voip被叫号码和主叫端sdp消息发送至与第一pbx端对应的ngn端,并获取ngn端根据voip主叫号码、voip被叫号码和主叫端sdp消息发送的响应信令,所述响应信令包含被叫端sdp消息;
119.第一voip信令单元将响应信令转换成呼叫connect消息,并将呼叫connect消息发送至isdn控制模块;
120.isdn控制模块中的第一isdn呼叫单元根据呼叫connect消息构造isdn connect信令,并将isdn connect信令发送至第一pbx端,以供第一pbx端基于isdn connect信令建立与其对应的ngn端之间的呼叫连接。
121.进一步的,当所述pbx端作为被叫端,所述ngn端作为主叫端时,所述voip网关包括isdn控制模块和voip协议模块;
122.其中,voip协议模块接收并解析第一ngn端发送的sip invite信令,得到第一路isdn语音的呼叫信息,所述呼叫信息包括voip被叫号码、主叫端sdp消息和信令关键值,并根据voip被叫号码和信令关键值创建用于处理第一路isdn语音的第一voip信令单元;
123.第一voip信令单元根据voip被叫号码确定出第一路isdn语音的pri端口,将voip被叫号码发送至isdn控制模块;
124.isdn控制模块将voip被叫号码转换为isdn被叫号码,并根据isdn被叫号码为第一路isdn语音分配isdn时隙,且将isdn时隙返回至第一voip信令单元;
125.第一voip信令单元将sip invite信令转换成呼叫setup消息,并将呼叫setup消息发送至isdn控制模块;
126.isdn控制模块根据isdn被叫号码与isdn时隙创建用于处理第一路isdn语音的第一isdn呼叫单元;
127.第一isdn呼叫单元根据呼叫setup消息构造isdn setup信令,并将isdn setup信
令发送至与第一ngn端对应的pbx端,且获取pbx端根据isdn setup信令发送的isdn connect信令;
128.第一isdn呼叫单元将isdn connect信令转换成呼叫connect消息,并将呼叫connect消息发送至voip协议模块;
129.voip协议模块中的第一voip信令单元根据呼叫connect消息构造响应信令发送至第一ngn端,所述响应信令包括被叫端sdp消息,以供第一ngn端基于响应信令建立与其对应的pbx端之间的呼叫连接。
130.进一步的,所述voip网关还包括isdn pri接入模块,isdn pri接入模块具体用于:
131.接收第一voip信令单元发送的第一路isdn语音的呼叫连接信息,所述呼叫连接信息包括pri端口、isdn时隙、主叫端sdp消息和被叫端sdp消息;
132.根据pri端口和isdn时隙创建用于处理第一路isdn语音的第一语音流单元;
133.第一语音流单元根据主叫端sdp消息和被叫端sdp消息对某一空闲dsp时隙进行参数配置,得到第一空闲dsp时隙,并基于预设的时隙映射关系对所述第一空闲dsp时隙与所述isdn时隙进行通道连接,形成pbx端与其对应的ngn端之间的语音流时隙。
134.进一步的,所述第一语音流单元具体还用于:
135.基于被叫端sdp消息将pbx端的pcm语音流转换成第一voip语音流,所述第一voip语音流通过语音流时隙传输至ngn端;
136.基于主叫端sdp消息将ngn端的voip语音流转换成第一pcm语音流,所述第一pcm语音流通过语音流时隙传输至pbx端。
137.示范性的,参见图2所示,本实施例中,以pbx端共账号的两个用户与ngn端用户进行语音通信为例:图2中描述了voip网关和ngn服务器以及pbx的交互关系,voip网关包含了voip协议模块、isdn控制模块和isdn pri接入模块等三个主要模块;其中,voip协议模块通过voip协议和ngn服务器交互,isdn控制模块通过isdn协议和pbx交互,isdnpri接入模块通过e1物理线和pbx相连。
138.本实施例中,将根据实际的语音路数为同一voip账号创建多个语音处理单元,即一个语音处理单元仅对一路isdn语音进行接入和处理。其中,每一个语音处理单元均包括voip信令单元、isdn呼叫单元和语音流单元,且voip协议模块负责voip信令单元识别,isdn控制模块负责isdn呼叫单元识别,isdn pri接入模块负责语音流单元识别。由此可见,同一voip账号有多个voip信令单元、多个isdn呼叫单元和多个语音流单元用于与pbx共账号的多用户语音对接,从而实现voip网关上多路isdn语音同时转换成多路voip语音。比如,通过voip信令单元1、isdn呼叫单元1和语音流单元1对phone1进行语音处理;通过voip信令单元2、isdn呼叫单元2和语音流单元2对phone2进行语音处理。因此,可通过语音处理单元将同一账号的多路isdn语音转换成voip语音送入ngn网络,同时ngn网络上同账号的多路语音,也可通过语音处理单元转换成isdn多路语音送入pbx用户。
139.具体的,voip信令单元通过voip账号跟ngn服务器对接,实现语音信令控制层面的互通;voip信令单元用于voip账号和from-tag、to-tag、callleg-id等信令关键值以及isdn时隙、pri端口等关键信息的识别与获取,并将voip账号、信令关键值、isdn时隙作为voip信令单元的识别标志。例如,voip协议模块对从ngn服务器处接收到的sip invite信令进行解析以获取voip账号和信令关键值,或接收到从isdn控制模块传递来的voip账号和isdn时
隙,并根据voip账号和信令关键值或者voip账号和isdn时隙来查找已存在的voip信令处理单元或者创建新的voip信令处理单元。
140.voip信令处理单元还用于构造呼叫对象和事务列表用于sip信令的发送,同时负责voip语音协议的封装和发送、接收和解析以及呼叫的处理及状态维护等。此外,voip信令处理单元中的voip账号、包含isdn时隙的呼叫消息等用于与isdn控制模块交互,实现voip协议与isdn协议的转换,且voip信令处理单元中的pri端口和isdn时隙用于isdn pri接入模块在同一端口下多路语音的关键标识。
141.isdn呼叫单元通过isdn协议跟pbx对接,实现isdn协议控制层的互通,isdn协议终结在此单元;isdn呼叫单元用于isdn外线账号、isdn时隙和isdn呼叫状态等关键信息的识别与获取,并将isdn外线账号和isdn时隙作为isdn呼叫单元的识别标志。例如,isdn控制模块对从pbx处接收到的isdn协议进行解析以获取isdn外线账号和isdn时隙,并根据isdn外线账号和isdn时隙来查找已存在的isdn呼叫单元或者创建新的isdn呼叫单元。此外,isdn呼叫单元主要负责pbx isdn外线账号和voip账号的转换、isdn用户做被叫时isdn时隙的分配以及isdn协议的封装和发送、接收和处理。
142.语音流单元通过e1接口实现voip网关和pbx pri用户语音流的接入,其主要用于获取pri端口、isdn时隙、dsp时隙、sdp消息等关键信息,并将pri端口和isdn时隙作为语音流单元的识别标志。例如,isdn pri接入模块基于从voip信令单元传递的pri端口和isdn时隙来查找到已存在的语音流单元或者创建新的语音流单元。此外,语音流单元主要用于空闲dsp时隙的确定,并将sdp消息中相关的语音流参数设置到该空闲dsp时隙上,且用于dsp时隙和isdn时隙之间的通道连接,进而实现isdn用户pcm语音流到voip语音流的转换,且将voip语音流发送到ngn网络;同时也将从ngn网络处接收到的voip语音流转换成pcm语音流后发送到pbx用户。
143.综上,本技术实施例通过同一voip账号的多路语音处理单元和pbx多用户进行对接,即可实现voip网关上多路isdn语音同时呼叫的功能。由此可见,本技术实施例在不改变pbx现有网络的架构和pbx业务功能基础上,通过同一voip账号即可实现在ngn网络上pbx isdn多路语音同时呼叫的功能,进一步完善了isdn和ngn网路的融合,解决了pbx中多个用户共用同一voip账号的问题;同时企业可以根据自身需求,选择接入合适的voip账号个数,进而减少不必要的外线账号,降低运营成本,提高外线号码的使用率。
144.需要说明的是,所属本领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统和各模块、单元的具体工作过程,可以参考前述基于同一账号实现多路语音呼叫的方法实施例中的对应过程,在此不再赘述。
145.需要说明的是,在本技术中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
146.以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本申
请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献