CN116915741A - 一种一号多终端业务的通信方法、系统及存储介质 - Google Patents
一种一号多终端业务的通信方法、系统及存储介质 Download PDFInfo
- Publication number
- CN116915741A CN116915741A CN202310858292.1A CN202310858292A CN116915741A CN 116915741 A CN116915741 A CN 116915741A CN 202310858292 A CN202310858292 A CN 202310858292A CN 116915741 A CN116915741 A CN 116915741A
- Authority
- CN
- China
- Prior art keywords
- penetration
- sip
- port
- server
- module
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000035515 penetration Effects 0.000 claims abstract description 185
- 230000003993 interaction Effects 0.000 claims abstract description 8
- 238000013507 mapping Methods 0.000 claims description 27
- 230000004044 response Effects 0.000 claims description 23
- 230000000149 penetrating effect Effects 0.000 claims description 12
- 238000005538 encapsulation Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008520 organization Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2564—NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2592—Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
- H04L61/3015—Name registration, generation or assignment
- H04L61/3025—Domain name generation or assignment
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种实现一号多终端业务的通信方法、系统及存储介质,其中,在互联网上架设一台穿透服务器,该方法包括:公司侧的IP‑PBX与穿透服务器建立穿透隧道;外部SIP终端向穿透服务器发送注册包,并利用穿透隧道完成向公司侧IP‑PBX的注册与交互。利用上述技术方案,可使得位于企业内部网络之外的外部SIP终端也能利用企业内部的号码实现一号多终端业务。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种一号多终端业务的通信方法、系统及存储介质。
背景技术
目前,一号多终端业务实现了智能手机、智能手表、智能眼镜等多个智能终端共享一个电话号码和套餐资源。通俗地说,就是给该号码来电时开通了一号多终端业务的多个终端将同时振铃,其中任一终端均可使用该号码拨出电话,不需携带手机亦可随时保持互联。一号多终端业务使用户使用同一号码即可在任一开通了一号多终端业务的终端上拨打或接听电话,使得户外、运动、会议等情景下的通信变得更轻松。
在企业或组织中,企业内部的电话系统如企业内网通常会为每一位企业员工创建一个员工身份标识,这个身份标识可以作为电话号码如分机号,不同的员工的分机号是不同的,在企业的内网中这个分机号可以应用于桌面电话、电脑上通过软件实现的软电话机、手机上通过软件实现的软电话机,从而在企业内网中实现一号多终端业务。但是,当终端离开企业或组织的内网之后,这个分配给员工的电话号码就无法实现一号多终端业务了。
发明内容
针对上述现有技术的问题,本发明的实施例提供了一种一号多终端业务的通信方法、装置及存储介质,以使得位于企业内部网络之外的外部SIP终端也能利用企业内部的号码实现一号多终端业务。
为了实现上述目的,一方面提供了一种实现一号多终端业务的通信方法,其特征在于,在互联网上架设一台穿透服务器,所述通信方法包括:
S1,公司侧的IP-PBX与穿透服务器建立穿透隧道;
S2,外部SIP终端向所述穿透服务器发送SIP注册包,并通过所述穿透隧道完成所述外部SIP终端向所述IP-PBX的注册。
优选地,所述的通信方法,其中,所述穿透服务器包括SIP代理模块,其中,
所述步骤S1包括:
S21,确定所述IP-PBX创建的本地UDP端口与所述穿透服务器中所述SIP代理模块对内使用的端口之间的映射关系、所述穿透服务器中为所述IP-PBX分配的穿透端口与所述SIP代理模块对内使用的端口之间的映射关系、所述穿透服务器为所述IP-PBX分配的域名,其中所述域名与所述穿透服务器的外网IP地址绑定;
所述步骤S2包括:
S22,在外部SIP终端通过所述域名注册分机、并向所述域名指向的IP地址的穿透服务器发送SIP注册包之后,所述穿透服务器确定向所述外部SIP终端分配的SIP代理模块对内使用的端口为第一端口,并通过所述穿透隧道将第一穿透包发送给所述IP-PBX,所述第一穿透包包含所述SIP注册包和所述第一端口;
S23,所述IP-PBX解析所述第一穿透包,获取所述第一端口,确定与所述第一端口对应的本地UDP端口,并将第二穿透包发送给所述穿透服务器,所述第二穿透包包括针对所述SIP注册包回复的应答SIP包和与所述第一端口对应的本地UDP端口;
S24,所述穿透服务器解析所述第二穿透包,获取与所述第一端口对应的本地UDP端口,确定与获取的所述本地UDP端口对应的SIP代理模块对内使用的端口为第一端口,通过所述第一端口将所述回复的应答SIP包发送给所述外部SIP终端。
优选地,所述的通信方法,其中,所述IP-PBX包括SIP服务器和穿透客户端模块,所述穿透服务器还包括穿透服务端模块、端口分配模块、域名分配模块和turn模块,所述步骤S1具体包括:
所述穿透客户端模块根据所支持的穿透注册终端数创建本地UDP端口;
所述穿透客户端模块向所述穿透服务端模块发送穿透建立请求,所述请求中包含:所述穿透服务端模块的鉴权码、所述本地UDP端口;
所述穿透服务端模块接收所述穿透建立请求,向所述端口分配模块申请穿透端口,所述穿透端口仅供所述穿透服务端模块与所述SIP代理模块进行通信交互;
所述穿透服务端模块向所述域名分配模块申请分配给所述IP-PBX的域名,并将所述域名与所述穿透服务器的外网IP地址绑定,所述域名供外部的SIP终端注册分机时使用;
所述穿透服务端模块向所述turn模块申请turn账号,所述turn账号供所述SIP服务器进行ICE的语音RTP穿透协商使用;
所述穿透服务端模块通知所述SIP代理模块更新所述域名和所述穿透端口的映射关系;
所述穿透服务端模块更新所述SIP代理模块对内使用的端口和所述穿透客户端本地UDP端的映射关系;
所述穿透服务端模块向所述穿透客户端模块返回所述SIP代理对内使用的端口和所述穿透客户端本地UDP端口的映射关系及turn配置信息;
穿透建立成功。
优选地,所述的通信方法,其中,所述步骤S22包括:
所述外部SIP终端通过所述域名注册分机,向所述域名指向的IP地址的穿透服务器的SIP代理模块发送SIP注册包,所述SIP注册包中包括所述外部SIP终端的IP地址、端口及所请求注册的分机号;
所述SIP代理模块根据所述SIP注册包中的信息查询注册会话,确定是否存在针对所述外部SIP终端的注册会话,如存在则获取已存在的注册会话针对所述外部SIP终端所分配的SIP代理模块对内使用的端口,并将当前的会话和所述针对所述SIP终端所分配的所述对内使用的端口进行绑定;
所述SIP代理模块查询域名和所述穿透端口的映射关系,确定与所述域名对应的穿透端口;
所述SIP代理模块根据所述外部SIP终端的IP地址、端口和所请求注册的分机号对所述SIP注册包进行重组,并将所重组的SIP包通过获取的所述SIP代理模块对内使用的端口发送到所确定的穿透端口;
所述穿透服务端模块将所述SIP代理模块所重组的SIP包封装成第一穿透包,通过所述穿透隧道发送到所述穿透客户端模块,所述第一穿透包的封装头部信息中包括所获取的所述SIP代理模块对内使用的端口。
优选地,所述的通信方法,其中,所述SIP代理模块查询注册会话的步骤中,如果不存在针对所述外部SIP终端的注册会话,则所述SIP代理模块向所述外部SIP终端分配新的对内使用端口,并将所述外部SIP终端当前的会话和所述新分配的所述对内使用的端口进行绑定。
优选地,所述的通信方法,其中,
所述步骤S23包括:
所述穿透客户端模块解析所述第一穿透包,获取所述第一端口,查询所述SIP代理模块对内使用的端口和所述穿透客户端本地UDP端口之间的映射关系,确定与所述第一端口对应的本地UDP端口;
所述穿透客户端模块通过所确定的本地UDP端口,将根据所述外部SIP终端的IP地址、端口和所请求注册的分机号重组的SIP包转发给所述SIP服务器;
所述SIP服务器回复应答SIP包给所述穿透客户端模块;
所述穿透客户端模块将所述回复的应答SIP包封装成所述第二穿透包,通过所述穿透隧道发送给所述穿透服务端模块,其中所述第二穿透包的封装头部信息中包括所确定的所述本地UDP端口;
所述步骤S24包括:
所述穿透服务端解析所述第二穿透包,获取所述本地UDP端口,查询所述SIP代理模块对内使用的端口和所述穿透客户端本地UDP端口的映射关系,确定所述SIP代理模块对内使用的端口为第一端口;
所述穿透服务端模块回复应答SIP包,通过所确定的所述第一端口发送到所述SIP代理模块;
所述SIP代理模块查询所述穿透服务端模块回复的应答SIP包中的会话标识,获取所述外部SIP终端的IP地址和端口;
所述SIP代理模块将所述穿透服务端模块回复的应答SIP包转发给所述外部SIP终端。
另一方面,提供了一种实现一号多终端业务的通信系统,其中,包括位于公司侧的IP-PBX和在互联网上假设的穿透服务器,所述IP-PBX包括第一存储器和第一处理器,所述穿透服务器包括第二存储器和第二处理器,所述第一存储器和所述第二存储器存储有至少一段程序,所述至少一段程序分别由所述第一处理器和所述第二处理器执行以实现如权利要求1至6任一所述的实现一号多终端业务的通信方法。
又一方面,提供了一种如上文所述的实现一号多终端业务的通信系统中包括的IP-PBX。
又一方面,提供了一种如上文所述的实现一号多终端业务的通信系统中包括的穿透服务器。
又一方面,提供了一种计算机可读存储介质,其中所述存储介质中存储有至少一段程序,所述至少一段程序由处理器执行以实现如上文所述的实现一号多终端业务的通信方法。
上述技术方案具有如下技术效果:
本发明实施例的通信方法通过在互联网架设一个穿透服务器,在公司侧的IP-PBX与穿透服务器之间建立穿透隧道,使得公司外部的不同SIP终端可以通过穿透服务器向公司侧的IP-PBX注册同一分机号来实现接听或拨打电话,从而实现了无论SIP终端在公司/组织/企业内网还是在内网的外部,都可以使用公司/组织/企业内部的分机号或内部使用的号码来实现一号多终端业务。
利用本发明实施例的技术方案实现一号多终端业务时,具有以下优点:
服务器资源利用率高:每个网的SIP服务器只需占用穿透服务器的一个端口;高可用性:无论穿透隧道器的SIP中转服务、穿透中转服务端或者PBX内部的SIP服务器、穿透中转客户端重启,都可立即恢复中转;易用性:提供穿透的注册域名,方便不同外部SIP终端注册;高安全性:SIP终端只能通过域名来注册,黑客在不知道穿透域名的情况下无法通过尝试破解。
附图说明
图1为本发明一实施例的实现一号多终端业务的通信方法的原理示意图;
图2为本发明一实施例的实现一号多终端业务的方法中所建立的穿透隧道示意图;
图3示出了本发明一实施例的实现一号多终端业务的通信方法中各设备的交互示意图。
具体实施方式
为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
现结合附图和具体实施方式对本发明进一步说明。
图1示出了本发明实施例的实现一号多终端业务的通信方法的原理图。如图1,本发明实施例的方法通过在互联网架设一个穿透服务器,在公司侧的IP-PBX与穿透服务器之间建立穿透隧道,外部SIP终端向所述穿透服务器发送SIP注册包,并通过所述穿透隧道完成向公司侧IP-PBX的注册,从而使得公司外部的不同SIP终端可以通过穿透服务器向公司侧的IP-PBX注册同一分机号来实现接听或拨打电话。
如图1,不同公司(如图1中的A公司和B公司)的IP-PBX中的SIP服务器与穿透服务器建立穿透隧道后,公司的职员无论是利用在公司的内网SIP话机终端或利用在公司外部的SIP话机终端都可注册同一分机号,每个SIP终端都可随意可接听及拨打电话。其中公司侧的IP-PBX支持一号多终端同时注册,呼入分机支持多终端同时响铃,允许多终端同时拨打电话。举例说明,在公司内部给一个公司职员分配了分机号1000,利用本发明的技术方案能实现该职员可在公司外部如远离公司家里,通过自己的手机上的电话软件、SIP话机、电脑上通过软件实现的软电话来利用该分机号1000来接听和拨打电话。
图2示出了本发明一实施例的实现一号多终端业务的方法中建立的穿透隧道和在穿透隧道建立成功后,不同的外部即外网SIP话机终端如何通过穿透服务器注册到各自公司的同一分机上。其中,A公司各外话机终端通过图2中的路径1和公司内网的IP-PBX通信;B公司各外话机终端通过图2中的路径2和公司内网的IP-PBX通信。
如图2所示,各公司的公司侧的IP-PBX包括SIP服务器和穿透客户端模块。位于公司内网中的SIP终端可以向公司侧的SIP服务器注册一机多终端业务,该实现为现有技术,在此不再赘述。穿透服务器包括穿透服务端模块、SIP代理模块、端口分配模块、域名分配模块、turn模块,各模块可通过在存储器中存储的程序来实现相应的功能。
一般来说,本发明实施例的通信方法包括如下步骤:
公司侧的IP-PBX与穿透服务器建立穿透隧道,包括:确定IP-PBX创建的本地UDP端口与穿透服务器中SIP代理模块对内使用的端口之间的映射关系、穿透服务器中为IP-PBX分配的穿透端口与SIP代理模块对内使用的端口之间的映射关系、穿透服务器为IP-PBX分配的域名,其中域名与穿透服务器的外网IP地址绑定;
在外部SIP终端通过域名注册分机、并向域名指向的IP地址的穿透服务器发送SIP注册包之后,穿透服务器确定向外部SIP终端分配的SIP代理模块对内使用的端口为第一端口,并通过穿透隧道将第一穿透包发送给IP-PBX,第一穿透包包含SIP注册包和第一端口;
IP-PBX解析第一穿透包,获取第一端口,确定与第一端口对应的本地UDP端口,并将第二穿透包发送给穿透服务器,第二穿透包包括针对SIP注册包回复的应答SIP包和与第一端口对应的本地UDP端口;
穿透服务器解析第二穿透包,获取与第一端口对应的本地UDP端口,确定与获取的本地UDP端口对应的SIP代理模块对内使用的端口为第一端口,通过第一端口将回复的应答SIP包发送给外部SIP终端。
如图2所示,可以看出在各公司的穿透隧道路径中,所使用的端口之间的对应关系:包括SIP服务器供SIP终端注册的端口,如端口5060;IP-PBX分配的本地UDP端口,如端口4070、4071和4072,该端口号预先指定;穿透客户端上与穿透服务器连接的端口,如端口7777,该端口可随机生成;穿透服务器提供给穿透客户端的端口10000;向IP-PBX分配的穿透端口,如穿透端口11000和11001,一般而言一个IP-PBX分配一个穿透端口,不同的IP-PBX分配的穿透端口不同;穿透服务器内部再穿透服务端模块与SIP代理模块之间仅对内使用的端口4070、4071和4072;SIP代理模块供外部SIP终端进行分机注册的端口5060。该例中,IP-PBX分配的本地UDP端口与穿透服务器中SIP代理模块对内使用的端口一一对应,甚至端口号可以相同。
具体地,图3示出了本发明一实施例的实现一号多终端业务的通信方法中,为了实现外部SIP终端向公司侧的IP-PBX注册一号多终端业务,如图2所示的在公司侧的IP-PBX的各模块、位于internet上的穿透服务器中的各模块和公司或企业内网之外的外部SIP终端之间的通信交互示意图。
如图3,该实施例的通信方法包括如下步骤:
步骤1:穿透客户端模块根据其所支持的穿透注册的终端数创建本地UDP即本地用户数据报协议端口;图2中以三个SIP终端为例,即创建了4070、4071、4072端口,用来区分一个分机可注册的三个SIP终端;本领域的技术人员可以根据实际需求设定所支持的穿透注册的终端数,即一个分机号对应的UDP端口数目;该处的端口号仅为示例性的,可以使用其他的端口号。
步骤2:穿透客户端模块请求建立穿透,请求参数至少包含穿透服务端的鉴权码和穿透客户端的本地UDP端口。
步骤3:穿透服务端模块根据请求参数中的鉴权码,对请求进行鉴权,鉴权成功继续下一步的步骤4,鉴权不成功则结束流程。
步骤4:穿透服务端模块向端口分配模块申请一个未被使用的穿透端口,如图2中端口分配模块为A公司的IP-PBX分配的穿透端口为11000;该穿透端口用于供SIP代理和穿透服务端模块之间的通信交互;穿透端口只用于内部通信使用,其只需监听使用本地的环回地址即127.0.0.1即可,以保障穿透的安全性。
步骤5:穿透服务端模块针对当前的IP-PBX向域名分配模块申请域名并将域名和当前服务端的外网IP地址绑定,该域名用于供外部SIP终端注册分机时使用;一般而言,一个IP-PBX一个域名,一个穿透服务器只有一个外网的IP地址。
步骤6:穿透服务端模块向turn模块申请turn帐号,turn帐号用于IP-PBX的SIP服务器进行ICE的语音RTP穿透协商使用。
步骤7:穿透服务端模块通知SIP代理模块更新域名和穿透端口的映射关系域名即为步骤5中申请的域名,穿透端口即为步骤4中申请的穿透端口;通常是在穿透服务器首次配置时会更新;
步骤8:穿透服务端模块更新SIP代理对内的端口和穿透客户端本地UDP端口的映射关系。通常是在第一次配置使用时会更新,配置完后,如果使用固定的端口,则后面一般不会去改变;但如果碰到端口冲突可以更改端口,并更新端口之间的映射关系;
步骤9:穿透服务端模块向穿透客户端模块返回SIP代理模块对内使用的端口和穿透客户的端本地UDP端口之间的映射关系及turn配置信息。
步骤10:穿透建立成功。
步骤11:位于外网的外部SIP终端通过步骤5中申请到的域名注册分机,SIP注册包被发往域名指向的IP地址的穿透服务器中的SIP代理模块,SIP注册包中包括外部SIP终端的IP地址、端口及所请求注册的分机号。
步骤12:SIP代理模块根据SIP注册包中的信息查询注册会话,确定是否存在针对所述外部SIP终端的注册会话,如存在则获取已存在的注册会话针对所述外部SIP终端所分配的SIP代理模块对内使用的端口,并将当前的会话和针对该外部SIP终端所分配的SIP代理模块对内使用的端口进行绑定;如果不存在针对外部SIP终端的注册会话,则向该外部SIP终端分配新的SIP代理模块对内使用的端口,并将当前的会话和所分配的新的对内使用端口绑定。
步骤13:SIP代理模块查询预先建立的域名和穿透端口之间的映射关系,找到与外部SIP终端请求的域名对应的穿透端口;该映射关系为步骤8中更新后的映射关系。
步骤14:SIP代理模块通过步骤12获取的SIP代理模块对内使用的端口,将根据外部SIP终端的IP地址、端口和所请求注册的分机号对SIP注册包进行重组后获得的SIP包发送到步骤13中查询到的穿透端口。
步骤15:穿透服务端模块将SIP代理重组的SIP包封装成穿透包,通过穿透隧道将穿透包发往穿透客户端模块;其中该穿透包的封装头部信息中需要携带SIP代理模块对内使用的端口。
步骤16:穿透客户端模块解析穿透服务端模块发送的穿透包,从穿透包中获取SIP代理模块对内使用的端口,然后查询在前面的步骤中预先建立的SIP代理模块对内的端口和穿透客户端本地UDP端口之间的映射关系,找到与该穿透包中的SIP代理模块对应的本地UDP端口。
步骤17:穿透客户端模块通过找到的本地UDP端口,将根据外部SIP终端的IP地址、端口和所请求注册的分机号对SIP注册包进行重组后获得的重组SIP包转发给SIP服务器。
步骤18:SIP服务器回复应答SIP包给穿透客户端模块。
步骤19:穿透客户端模块将SIP服务器回复的应答SIP包封装成穿透包,并通过穿透隧道将该穿透包转发给穿透服务端,其中该穿透包的封装头部信息中需要携带本地UDP端口。
步骤20:穿透服务端模块解析穿透包,获取本地UDP端口,然后查询在前面建立的SIP代理模块对内的端口和穿透客户端本地UDP端口之间的映射关系,找到与所携带的本地UDP端口对应的SIP代理对内使用的端口。
步骤21:穿透服务端回复应答SIP包,通过上面找到的SIP代理对内使用的端口将应答SIP包发送到SIP代理模块。
步骤22:SIP代理模块查询应答SIP包中会话标识,获取到发起分机注册请求的外部SIP终端的IP和其端口。
步骤23:SIP代理模块将回复的应答SIP包转发给该外部SIP终端,至此外部SIP终端的分机注册通信交互完成。
图3所示的图示为仅展示了发明构思的简化流程示意图;其中,省略了本领域的普通技术人员所知晓的在具体实现通信交互过程中部分的应答回复流程。
本发明的实施例还提供了一种实现一号多终端业务的通信系统,包括位于公司侧的IP-PBX和在互联网上假设的穿透服务器,IP-PBX包括第一存储器和第一处理器,穿透服务器包括第二存储器和第二处理器,第一存储器和所述第二存储器存储有至少一段程序,所述至少一段程序分别由所述第一处理器和所述第二处理器执行以实现如上文所述的实现一号多终端业务的通信方法,尤其时实现上文所述的各模块的功能。上述各模块可以包括IP-PBX中的SIP服务器和/或穿透客户端模块;穿透服务器中的穿透服务端模块、端口分配模块、域名分配模块、turn模块和/或SIP代理模块。
本发明实施例的实现一号多终端业务的通信系统中包括的IP-PBX和穿透服务器,其包含的处理器可以是一个或一个以上处理核心,存储器通过总线与处理器相连,存储器用于存储程序指令,处理器执行计算机程序时实现本发明实施例的上述方法实施例中的步骤。
进一步地,作为一个可执行方案,IP-PBX和穿透服务器可以是计算机单元,该计算机单元可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机单元可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,上述计算机单元的组成结构仅仅是计算机单元的示例,并不构成对计算机单元的限定,可以包括比上述更多或更少的部件,或者组合某些部件,或者不同的部件。例如计算机单元还可以包括输入输出设备、网络接入设备、总线等,本发明实施例对此不做限定。
进一步地,作为一个可执行方案,所称处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机单元的控制中心,利用各种接口和线路连接整个计算机单元的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机单元的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现本发明实施例上述方法的步骤。上述计算机可读存储介质是用于执行上述IP-PBX功能和/或穿透服务器功能的计算机可读存储介质。计算机单元集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
Claims (10)
1.一种实现一号多终端业务的通信方法,其特征在于,在互联网上架设一台穿透服务器,所述通信方法包括:
S1,公司侧的IP-PBX与穿透服务器建立穿透隧道;
S2,外部SIP终端向所述穿透服务器发送SIP注册包,并通过所述穿透隧道完成所述外部SIP终端向所述IP-PBX的注册。
2.根据权利要求1所述的通信方法,其特征在于,所述穿透服务器包括SIP代理模块,其中,
所述步骤S1包括:
S21,确定所述IP-PBX创建的本地UDP端口与所述穿透服务器中所述SIP代理模块对内使用的端口之间的映射关系、所述穿透服务器中为所述IP-PBX分配的穿透端口与所述SIP代理模块对内使用的端口之间的映射关系、所述穿透服务器为所述IP-PBX分配的域名,其中所述域名与所述穿透服务器的外网IP地址绑定;
所述步骤S2包括:
S22,在外部SIP终端通过所述域名注册分机、并向所述域名指向的IP地址的穿透服务器发送SIP注册包之后,所述穿透服务器确定向所述外部SIP终端分配的SIP代理模块对内使用的端口为第一端口,并通过所述穿透隧道将第一穿透包发送给所述IP-PBX,所述第一穿透包包含所述SIP注册包和所述第一端口;
S23,所述IP-PBX解析所述第一穿透包,获取所述第一端口,确定与所述第一端口对应的本地UDP端口,并将第二穿透包发送给所述穿透服务器,所述第二穿透包包括针对所述SIP注册包回复的应答SIP包和与所述第一端口对应的本地UDP端口;
S24,所述穿透服务器解析所述第二穿透包,获取与所述第一端口对应的本地UDP端口,确定与获取的所述本地UDP端口对应的SIP代理模块对内使用的端口为第一端口,通过所述第一端口将所述回复的应答SIP包发送给所述外部SIP终端。
3.根据权利要求2所述的通信方法,其特征在于,所述IP-PBX包括SIP服务器和穿透客户端模块,所述穿透服务器还包括穿透服务端模块、端口分配模块、域名分配模块和turn模块,所述步骤S1具体包括:
所述穿透客户端模块根据所支持的穿透注册终端数创建本地UDP端口;
所述穿透客户端模块向所述穿透服务端模块发送穿透建立请求,所述请求中包含:所述穿透服务端模块的鉴权码、所述本地UDP端口;
所述穿透服务端模块接收所述穿透建立请求,向所述端口分配模块申请穿透端口,所述穿透端口仅供所述穿透服务端模块与所述SIP代理模块进行通信交互;
所述穿透服务端模块向所述域名分配模块申请分配给所述IP-PBX的域名,并将所述域名与所述穿透服务器的外网IP地址绑定,所述域名供外部的SIP终端注册分机时使用;
所述穿透服务端模块向所述turn模块申请turn账号,所述turn账号供所述SIP服务器进行ICE的语音RTP穿透协商使用;
所述穿透服务端模块通知所述SIP代理模块更新所述域名和所述穿透端口的映射关系;
所述穿透服务端模块更新所述SIP代理模块对内使用的端口和所述穿透客户端本地UDP端的映射关系;
所述穿透服务端模块向所述穿透客户端模块返回所述SIP代理对内使用的端口和所述穿透客户端本地UDP端口的映射关系及turn配置信息;
穿透建立成功。
4.根据权利要求3所述的通信方法,其特征在于,所述步骤S22包括:
所述外部SIP终端通过所述域名注册分机,向所述域名指向的IP地址的穿透服务器的SIP代理模块发送SIP注册包,所述SIP注册包中包括所述外部SIP终端的IP地址、端口及所请求注册的分机号;
所述SIP代理模块根据所述SIP注册包中的信息查询注册会话,确定是否存在针对所述外部SIP终端的注册会话,如存在则获取已存在的注册会话针对所述外部SIP终端所分配的SIP代理模块对内使用的端口,并将当前的会话和所述针对所述SIP终端所分配的所述对内使用的端口进行绑定;
所述SIP代理模块查询域名和所述穿透端口的映射关系,确定与所述域名对应的穿透端口;
所述SIP代理模块根据所述外部SIP终端的IP地址、端口和所请求注册的分机号对所述SIP注册包进行重组,并将所重组的SIP包通过获取的所述SIP代理模块对内使用的端口发送到所确定的穿透端口;
所述穿透服务端模块将所述SIP代理模块所重组的SIP包封装成第一穿透包,通过所述穿透隧道发送到所述穿透客户端模块,所述第一穿透包的封装头部信息中包括所获取的所述SIP代理模块对内使用的端口。
5.根据权利要求4所述的通信方法,其特征在于,所述SIP代理模块查询注册会话的步骤中,如果不存在针对所述外部SIP终端的注册会话,则所述SIP代理模块向所述外部SIP终端分配新的对内使用端口,并将所述外部SIP终端当前的会话和所述新分配的所述对内使用的端口进行绑定。
6.根据权利要求5所述的通信方法,其特征在于,
所述步骤S23包括:
所述穿透客户端模块解析所述第一穿透包,获取所述第一端口,查询所述SIP代理模块对内使用的端口和所述穿透客户端本地UDP端口之间的映射关系,确定与所述第一端口对应的本地UDP端口;
所述穿透客户端模块通过所确定的本地UDP端口,将根据所述外部SIP终端的IP地址、端口和所请求注册的分机号重组的SIP包转发给所述SIP服务器;
所述SIP服务器回复应答SIP包给所述穿透客户端模块;
所述穿透客户端模块将所述回复的应答SIP包封装成所述第二穿透包,通过所述穿透隧道发送给所述穿透服务端模块,其中所述第二穿透包的封装头部信息中包括所确定的所述本地UDP端口;
所述步骤S24包括:
所述穿透服务端解析所述第二穿透包,获取所述本地UDP端口,查询所述SIP代理模块对内使用的端口和所述穿透客户端本地UDP端口的映射关系,确定所述SIP代理模块对内使用的端口为第一端口;
所述穿透服务端模块回复应答SIP包,通过所确定的所述第一端口发送到所述SIP代理模块;
所述SIP代理模块查询所述穿透服务端模块回复的应答SIP包中的会话标识,获取所述外部SIP终端的IP地址和端口;
所述SIP代理模块将所述穿透服务端模块回复的应答SIP包转发给所述外部SIP终端。
7.一种实现一号多终端业务的通信系统,其特征在于,包括位于公司侧的IP-PBX和在互联网上假设的穿透服务器,所述IP-PBX包括第一存储器和第一处理器,所述穿透服务器包括第二存储器和第二处理器,所述第一存储器和所述第二存储器存储有至少一段程序,所述至少一段程序分别由所述第一处理器和所述第二处理器执行以实现如权利要求1至6任一所述的实现一号多终端业务的通信方法。
8.一种如权利要求7所述的实现一号多终端业务的通信系统中包括的IP-PBX。
9.一种如权利要求7所述的实现一号多终端业务的通信系统中包括的穿透服务器。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一段程序,所述至少一段程序由处理器执行以实现如权利要求1至7任一所述的实现一号多终端业务的通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310858292.1A CN116915741A (zh) | 2023-07-13 | 2023-07-13 | 一种一号多终端业务的通信方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310858292.1A CN116915741A (zh) | 2023-07-13 | 2023-07-13 | 一种一号多终端业务的通信方法、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116915741A true CN116915741A (zh) | 2023-10-20 |
Family
ID=88364151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310858292.1A Pending CN116915741A (zh) | 2023-07-13 | 2023-07-13 | 一种一号多终端业务的通信方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116915741A (zh) |
-
2023
- 2023-07-13 CN CN202310858292.1A patent/CN116915741A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10470103B2 (en) | System and method for authentication of a communication device | |
US10250646B2 (en) | Method and device for establishing channel | |
US8917858B2 (en) | Method and apparatus for network based fixed mobile convergence | |
US10686644B2 (en) | Registration of SIP-based communications in a hosted VoIP network | |
US20190245981A1 (en) | Method and system for routing of inbound toll-free communications | |
US10341197B2 (en) | Virtual service control point in a network | |
US10524023B2 (en) | Enterprise toll-free call routing | |
US20080186958A1 (en) | Dynamic configuration of voip trunks | |
US9374391B2 (en) | Composite endpoint mechanism | |
CN116915741A (zh) | 一种一号多终端业务的通信方法、系统及存储介质 | |
CN108881118B (zh) | 一种ims级联组网方法及设备 | |
US10084923B2 (en) | Method and system for dynamic trunk group based call routing | |
CN112839136B (zh) | 注册终端的通话方法及通话系统 | |
US11956302B1 (en) | Internet protocol version 4-to-version 6 redirect for application function-specific user endpoint identifiers | |
EP4084432A1 (en) | A method, a communication system and a network entity for communicating | |
JP2001237892A (ja) | アクセスサーバを用いたインターネットアクセス方式および方法 | |
Femminella et al. | Introduction of Media Gateway Control functions in Java Call Control |
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 |