CN100466641C - System and Implementation Method of Supporting Multiple ITSPs Based on SIP - Google Patents
System and Implementation Method of Supporting Multiple ITSPs Based on SIP Download PDFInfo
- Publication number
- CN100466641C CN100466641C CNB2003101200666A CN200510080047A CN100466641C CN 100466641 C CN100466641 C CN 100466641C CN B2003101200666 A CNB2003101200666 A CN B2003101200666A CN 200510080047 A CN200510080047 A CN 200510080047A CN 100466641 C CN100466641 C CN 100466641C
- Authority
- CN
- China
- Prior art keywords
- sip
- itsp
- server
- terminal
- local
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000008569 process Effects 0.000 claims abstract description 27
- 238000012545 processing Methods 0.000 claims description 73
- 238000006243 chemical reaction Methods 0.000 claims description 13
- 230000011664 signaling Effects 0.000 claims description 9
- 230000007246 mechanism Effects 0.000 claims description 7
- 230000003993 interaction Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000007781 signaling event Effects 0.000 description 1
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明涉及一种基于SIP支持多ITSP业务的系统及实现方法。本发明所述的系统包括SIP终端和多个ITSP服务器,本发明可以实现:在上行方向,为SIP终端发来的SIP消息选择相应的ITSP服务器,并将SIP消息转换为该ITSP服务器规定的格式后通过相应的端口发送给该ITSP服务器;在下行方向,接收ITSP服务器发来的SIP消息,根据接收到的SIP消息的端口信息确定该ITSP服务器的身份信息,并发送给SIP终端。本发明可以根据当前呼叫对应使用的ITSP的SIP接口规格生成和处理SIP消息和SIP呼叫流,并能够屏蔽消息交互过程中的差异。因此,本发明的实现为用户提供了一种可以同时支持多ITSP的接入设备。
The invention relates to a system and an implementation method for supporting multiple ITSP services based on SIP. The system of the present invention includes a SIP terminal and a plurality of ITSP servers, and the present invention can realize: in the uplink direction, select the corresponding ITSP server for the SIP message sent by the SIP terminal, and convert the SIP message into the format specified by the ITSP server Then send it to the ITSP server through the corresponding port; in the downlink direction, receive the SIP message sent by the ITSP server, determine the identity information of the ITSP server according to the port information of the received SIP message, and send it to the SIP terminal. The invention can generate and process SIP message and SIP call flow according to the SIP interface specification of the ITSP corresponding to the current call, and can shield the difference in the message interaction process. Therefore, the implementation of the present invention provides users with an access device that can support multiple ITSPs at the same time.
Description
技术领域 technical field
本发明涉及网络通信技术领域,尤其涉及一种基于SIP支持多ITSP的系统及实现方法。The invention relates to the technical field of network communication, in particular to a system and an implementation method for supporting multiple ITSPs based on SIP.
背景技术 Background technique
SIP(会话初始协议)作为下一代基于IP的多媒体网络中最重要的标准之一已经在全球范围之内得到了越来越多的认可。很多公司的实时通信产品已经为基于SIP实现,或者在产品中内嵌SIP支持功能。因此,SIP已经成为电信业努力奋斗的目标IMS(IP多媒体子系统)的核心技术之一。SIP (Session Initiation Protocol), as one of the most important standards in the next-generation IP-based multimedia network, has been more and more recognized worldwide. The real-time communication products of many companies have already been implemented based on SIP, or the SIP support function is embedded in the product. Therefore, SIP has become one of the core technologies of IMS (IP Multimedia Subsystem), the goal that the telecom industry is striving for.
现在基于SIP的VolP(基于IP的语音)运用已经越来越多。对于个人用户和企业用户来说,其拥有的SIP设备只有接入到ITSP(互联网电话服务提供商)的网络中,才能实现真正的大范围应用。目前,各个设备生产厂商均在开拓VoIP商机的同时也积极地制定和实践相应的SIP接口规格。Now there are more and more applications of SIP-based VolP (Voice over IP). For individual users and enterprise users, only when their SIP devices are connected to the network of an ITSP (Internet Telephony Service Provider) can they be truly widely used. At present, various equipment manufacturers are actively developing and practicing corresponding SIP interface specifications while exploring VoIP business opportunities.
SIP本身只是一种通讯标准,该标准可以将很多业务和功能的实现方式、管理方式留给了实现者,所以对于真正商用级的SIP服务,ITSP不得不确定自己的业务实现方式,不得不将自己的SIP接口规格公之于终端开发者或接入设备开发者。SIP itself is just a communication standard. This standard can leave the implementation and management of many services and functions to the implementers. Therefore, for real commercial-grade SIP services, ITSPs have to determine their own business implementation methods and have to Its own SIP interface specifications are disclosed to terminal developers or access device developers.
各ITSP有自己的用户管理方式,同时,各ITSP也必须不断地开拓独特的创新的业务和功能来赢得商业竞争的胜利。这样就使得各ITSP所提供的SIP接口规格出现了差异。Each ITSP has its own user management methods. At the same time, each ITSP must constantly develop unique and innovative services and functions to win business competition. This causes differences in the SIP interface specifications provided by each ITSP.
对于需要多条VolP外线(事实上就是多个VolP帐号)的企业用户而言,通常希望能够拥有属于不同ITSP的外线,从而可以利用不同ITSP所提供的独特业务,并可以在某个呼叫中自动地选择资费最低的外线,而且属于不同ITSP的外线可以同时使用,还可以在连上ITSP的同时使用本地IP-PBX(基于IP的企业内部交换机)提供的丰富而复杂的内线功能。同时,对于高端个人用户而言,也并不希望被绑定在某个ITSP上。For enterprise users who need multiple VolP outside lines (in fact, multiple VolP accounts), they usually hope to have outside lines belonging to different ITSPs, so that they can take advantage of the unique services provided by different ITSPs, and can automatically call in a certain call. The outside line with the lowest tariff can be selected carefully, and the outside lines belonging to different ITSPs can be used at the same time, and the rich and complex inside line functions provided by the local IP-PBX (IP-based enterprise internal switch) can also be used while connected to the ITSP. At the same time, for high-end individual users, they don't want to be bound to an ITSP.
遗憾的是,不管是的个人终端产品还是企业接入设备,尽管有的已经实现了多条VoIP外线的同时使用,但这些外线所提供的规格是完全相同的,换言之,这些企业接入设备只支持单ITSP。也有一些产品,号称可以支持多个ITSP,但是所述支持并不是“同时性”和“根据呼叫智能性”的,而是在设备运行中只支持某个特定的ITSP,如果需要使用另一个ITSP提供的服务,需要重新进行用户配置和重新启动设备。Unfortunately, regardless of personal terminal products or enterprise access equipment, although some have realized the simultaneous use of multiple VoIP outside lines, the specifications provided by these outside lines are exactly the same. In other words, these enterprise access equipment only Support single ITSP. There are also some products that claim to support multiple ITSPs, but the support is not "simultaneous" and "according to call intelligence", but only supports a specific ITSP during the operation of the device. If you need to use another ITSP The provided service requires reconfiguration of the user and restart of the device.
因此,目前的企业接入设备还无法实现同时支持多ITSP的功能。Therefore, the current enterprise access equipment cannot realize the function of supporting multiple ITSPs at the same time.
发明内容 Contents of the invention
鉴于上述现有技术所存在的问题,本发明的目的是提供一种基于SIP支持多ITSP的系统及实现方法,从而为企业及个人用户提供一种可以同时支持多ITSP的技术方案,便于其灵活地根据需要选择应用相应的ITSP。In view of the problems existing in the above-mentioned prior art, the purpose of the present invention is to provide a system and implementation method for supporting multiple ITSPs based on SIP, so as to provide enterprises and individual users with a technical solution that can support multiple ITSPs at the same time, so as to facilitate their flexibility. Choose and apply the corresponding ITSP according to your needs.
本发明的目的是通过以下技术方案实现的:The purpose of the present invention is achieved through the following technical solutions:
本发明提供了一种基于SIP支持多ITSP业务的装置,包括:The invention provides a device for supporting multiple ITSP services based on SIP, including:
SIP业务处理部分:用于接收SIP终端或ITSP服务器发来的SIP消息,并根据配置的策略对所述的SIP消息进行处理后,通过选择的ITSP服务器端口或终端接口发送给ITSP服务器或SIP终端。SIP business processing part: used to receive the SIP message sent by the SIP terminal or ITSP server, and process the SIP message according to the configured strategy, and send it to the ITSP server or SIP terminal through the selected ITSP server port or terminal interface .
所述的SIP业务处理部分进一步包括SIP传输层部分、SIP事务层部分、SIP事务用户部分和媒体处理部分,各个部分又分别建立了对应的本地SIP用户代理模型和远端SIP用户代理处理模型,且:The described SIP service processing part further comprises a SIP transport layer part, a SIP transaction layer part, a SIP transaction user part and a media processing part, and each part sets up a corresponding local SIP user agent model and a remote SIP user agent processing model respectively, and:
本地SIP用户代理模型:与所述远端SIP用户代理处理模型间通过事件通知机制进行信息的交互,用于接收用户终端发来的SIP消息,并为其选择对应的远端SIP用户代理处理模型对其进行处理,接收远端SIP用户代理处理模型事件通知,并进行相应的处理后与用户终端通信;Local SIP user agent model: interacts with the remote SIP user agent processing model through an event notification mechanism to receive SIP messages sent by the user terminal and select a corresponding remote SIP user agent processing model for it Process it, receive the remote SIP user agent processing model event notification, and communicate with the user terminal after corresponding processing;
一组远端SIP用户代理处理模型:各个模型分别根据本地SIP用户代理模型的事件通知通过对应的ITSP服务器端口与远端ITSP服务器通信,并接收处理ITSP服务器发来的SIP消息,通知本地SIP用户代理模型。A set of remote SIP user agent processing models: each model communicates with the remote ITSP server through the corresponding ITSP server port according to the event notification of the local SIP user agent model, and receives and processes the SIP message sent by the ITSP server to notify the local SIP user Proxy model.
所述的远端SIP用户代理处理模型包括:Described far-end SIP user agent processing model comprises:
注册处理模块:用于将本地地址信息和对应于各个ITSP服务器的本地端口号注册于各个ITSP服务器上;Registration processing module: used to register local address information and local port numbers corresponding to each ITSP server on each ITSP server;
媒体中继处理模块:位于媒体处理部分,用于对相应的ITSP服务器或用户终端的媒体流进行格式转换处理;Media relay processing module: located in the media processing part, used to perform format conversion processing on the media stream of the corresponding ITSP server or user terminal;
信令处理模块:用于对相应的ITSP服务器或用户终端的对话的信令进行格式转换处理。Signaling processing module: used for performing format conversion processing on the corresponding ITSP server or the dialog signaling of the user terminal.
本发明提供了一种基于SIP支持多ITSP业务的系统,包括所述基于SIP支持多ITSP业务的装置,一组用户终端和一组ITSP服务器,所述的一组用户终端通过所述装置与一组ITSP服务器连接。The present invention provides a system for supporting multiple ITSP services based on SIP, including the device for supporting multiple ITSP services based on SIP, a group of user terminals and a group of ITSP servers, and the group of user terminals communicates with an ITSP server through the device Group ITSP server connection.
所述的一组用户终端还通过企业内部IP电话交换机与所述的装置连接,且所述的装置可以内置于网络设备中或单独设置。The group of user terminals is also connected to the device through an IP telephone switch within the enterprise, and the device can be built into the network equipment or set up separately.
本发明提供了一种基于SIP支持多ITSP业务的实现方法,该方法应用的系统包括SIP终端和多个ITSP服务器,所述的SIP终端通过所述基于SIP支持多ITSP业务的装置与所述ITSP服务器连接,具体包括:The present invention provides an implementation method for supporting multiple ITSP services based on SIP. The system applied by the method includes a SIP terminal and multiple ITSP servers. The SIP terminal communicates with the ITSP through the device supporting multiple ITSP services based on SIP. Server connections, specifically:
A、在上行方向,所述装置为SIP终端发来的SIP消息选择相应的ITSP服务器,并将SIP消息以该ITSP服务器规定的格式进行处理,之后,通过为该ITSP服务器分配的本地端口发送给该ITSP服务器;A. In the uplink direction, the device selects the corresponding ITSP server for the SIP message sent by the SIP terminal, and processes the SIP message in the format specified by the ITSP server, and then sends it to the ITSP server;
B、在下行方向,所述装置接收ITSP服务器发来的SIP消息,根据接收到的SIP消息的端口信息确定该ITSP服务器的身份信息,并将SIP消息以SIP终端或企业内部IP电话交换机要求的格式进行处理,然后发送给SIP终端或IP电话交换机。B. In the downlink direction, the device receives the SIP message sent by the ITSP server, determines the identity information of the ITSP server according to the port information of the received SIP message, and sends the SIP message as required by the SIP terminal or the internal IP telephone exchange of the enterprise. format, and then sent to the SIP terminal or IP telephone exchange.
所述的步骤A包括:Described step A comprises:
A1、当所述装置接收SIP终端发来的SIP消息时,根据SIP消息中来源From头字段和请求URI信息及保存的策略信息确定对应的ITSP服务器;A1, when the device receives the SIP message sent by the SIP terminal, determine the corresponding ITSP server according to the source From header field in the SIP message and request URI information and preserved policy information;
A2、将所述的SIP消息通过ITSP服务器对应的端口发送给该ITSP服务器。A2. Send the SIP message to the ITSP server through the port corresponding to the ITSP server.
所述的步骤B包括:Described step B comprises:
B1、当所述装置接收ITSP服务器发来的SIP消息时,根据SIP消息的目的端口号确定发送该SIP消息的ITSP服务器信息;B1, when described device receives the SIP message that ITSP server sends, determine the ITSP server information that sends this SIP message according to the destination port number of SIP message;
B2、将所述的SIP消息发送给该SIP终端。B2. Send the SIP message to the SIP terminal.
本发明所述的方法还包括:The method of the present invention also includes:
C、由所述的装置中的独立设置的SIP用户代理处理模型屏蔽SIP终端与远端ITSP服务器间的差异,所述SIP用户代理处理模型包括本地SIP用户代理处理模型和远端SIP用户代理处理模型。C, shield the difference between the SIP terminal and the far-end ITSP server by the SIP user agent processing model of the independent setting in the described device, described SIP user agent processing model comprises local SIP user agent processing model and far-end SIP user agent processing Model.
所述的步骤C包括:Described step C comprises:
由所述装置中的SIP用户代理处理模型对SIP终端与所述的ITSP服务器之间交互的SIP消息进行SIP消息格式及地址信息的转换处理;本地SIP用户代理处理模型可以屏蔽SIP终端支持但ITSP服务器不支持的功能,远端SIP用户代理处理模型可以屏蔽ITSP服务器支持但SIP终端不支持的功能。The SIP user agent processing model in the device carries out the conversion processing of SIP message format and address information on the SIP message interacted between the SIP terminal and the ITSP server; the local SIP user agent processing model can shield the SIP terminal from supporting but ITSP For functions not supported by the server, the remote SIP user agent processing model can block functions supported by the ITSP server but not supported by the SIP terminal.
由上述本发明提供的技术方案可以看出,本发明使得用户终端可以同时向多个ITSP的SIP服务器上进行注册,从而为支持多ITSP提供了可能。It can be seen from the above-mentioned technical solution provided by the present invention that the present invention enables the user terminal to simultaneously register with the SIP servers of multiple ITSPs, thereby providing the possibility to support multiple ITSPs.
本发明中,用户终端作为主叫方时,能够根据灵活配置的路由规则自动地选择接入的ITSP;用户终端作为被叫方时,则可以有效识别呼叫来自于哪个ITSP。In the present invention, when the user terminal is the calling party, it can automatically select the ITSP to access according to the flexibly configured routing rules; when the user terminal is the called party, it can effectively identify which ITSP the call comes from.
同时,本发明还能够根据当前呼叫对应使用的ITSP的SIP接口规格生成和处理SIP消息和SIP呼叫流,并能够屏蔽消息交互过程中的差异。At the same time, the present invention can also generate and process SIP messages and SIP call flows according to the SIP interface specification of the ITSP used for the current call, and can shield the differences in the message interaction process.
因此,本发明的实现为用户提供了一种可以同时支持多ITSP的接入设备,该接入设备的应用使得用户终端可以灵活地选择应用各个ITSP。Therefore, the implementation of the present invention provides users with an access device that can support multiple ITSPs at the same time, and the application of the access device enables the user terminal to flexibly select and apply each ITSP.
附图说明 Description of drawings
图1和图2为本发明所述的接入设备的应用组网示意图;FIG. 1 and FIG. 2 are schematic diagrams of application networking of access devices according to the present invention;
图3和图4为接入设备在网络中的设置位置示意图;Figure 3 and Figure 4 are schematic diagrams of the location of the access device in the network;
图5为所述的接入设备的具体实现结构示意图;FIG. 5 is a schematic diagram of a specific implementation structure of the access device;
图6为应用该接入设备的信息交互过程示意图;FIG. 6 is a schematic diagram of an information interaction process using the access device;
图7为本发明中媒体中继过程示意图;FIG. 7 is a schematic diagram of the media relay process in the present invention;
图8为需要进行呼叫转移的呼叫关系示意图;FIG. 8 is a schematic diagram of a call relationship that needs to be transferred;
图9为图8中进行呼叫转移处理过程的示意图;FIG. 9 is a schematic diagram of a call transfer process in FIG. 8;
图10为屏蔽会话监测功能的实现过程示意图。Fig. 10 is a schematic diagram of the implementation process of the shielded session monitoring function.
具体实施方式 Detailed ways
本发明的目的是可以实现同时使用多ITSP的帐号及功能。本发明既可以适用于企业接入设备,同时,还可以适用于个人终端产品。The purpose of the present invention is to realize simultaneous use of multiple ITSP accounts and functions. The present invention is not only applicable to enterprise access equipment, but also applicable to personal terminal products.
通过前面针对现有技术的描述可以看出,为实现对多ITSP的同时支持功能,目前的还需要解决以下问题:It can be seen from the previous description of the prior art that in order to realize the simultaneous support function for multiple ITSPs, the following problems still need to be solved at present:
1、用户终端必需可以同时注册到多个ITSP的SIP服务器上;1. The user terminal must be able to register to the SIP servers of multiple ITSPs at the same time;
2、作为主叫方时,能够根据灵活的路由规则智能地选择接入的ITSP,作为被叫方时,能够识别呼叫来自于哪个ITSP;2. As the calling party, it can intelligently select the ITSP to access according to flexible routing rules, and as the called party, it can identify which ITSP the call comes from;
3、能够根据当前呼叫对应使用的ITSP的SIP接口规格生成和处理SIP消息和SIP呼叫流;3. Able to generate and process SIP messages and SIP call flows according to the SIP interface specification of the ITSP used for the current call;
4、能够在本地SIP服务器和ITSP端的SIP服务器(即ITSP服务器)间进行SIP消息转换;4. Ability to convert SIP messages between the local SIP server and the SIP server on the ITSP side (that is, the ITSP server);
5、能够屏蔽(吸收)本地SIP服务器提供的某些功能,因为ITSP尚未支持这些SIP消息和SIP呼叫流;并能够屏蔽(吸收)ITSP侧的某些功能,因为本地SIP服务器尚未支持这些SIP消息和呼叫流。5. Able to shield (absorb) some functions provided by the local SIP server, because the ITSP has not yet supported these SIP messages and SIP call flows; and be able to shield (absorb) some functions on the ITSP side, because the local SIP server has not yet supported these SIP messages and call flow.
明确了上述需要解决的问题后,下面将对本发明针对上述问题的解决办法进行说明。After clarifying the above-mentioned problems to be solved, the solution of the present invention to the above-mentioned problems will be described below.
本发明中针对不同的ITSP采用不同的本地端口号,这样,便可以支持多路并发呼叫,这些并发呼叫可能属于不同的ITSP,通过SIP消息采用的端口号,可以区分这路呼叫属于哪个ITSP,从而根据该ITSP的规格进行处理。In the present invention, different local port numbers are adopted for different ITSPs, so that multiple concurrent calls can be supported. These concurrent calls may belong to different ITSPs. The port number adopted by the SIP message can distinguish which ITSP the call belongs to. Thus, processing is performed according to the specifications of the ITSP.
采用收发SIP消息时的本地端口号来区分ITSP,是一种适应于现有和将来的ITSP的通用而可靠的实现方法。Using the local port number when sending and receiving SIP messages to distinguish ITSPs is a general and reliable implementation method suitable for existing and future ITSPs.
另外,本发明还采用了多SIP UA(SIP用户代理)机制,具体为:针对每种ITSP SIP服务器和本地SIP服务器分别建立SIP UA模型,分别称为远端SIP UA处理模型和本地SIP UA模型,可以采用类或对象实现,每个SIP UA模型具备自己的一套行为方式。也就是说,不管针对本地SIP服务器还是针对ITSP的SIP服务器,都分别作为独立的SIP UA来运行。任何一路来电都可以根据前面所述的ITSP识别机制来智能地获知对应的ITSP从而选择合适的SIP UA模型。而且,本发明中,要求具有不同规格的SIP UA可以同时运行在该系统中。In addition, the present invention also adopts a multi-SIP UA (SIP user agent) mechanism, specifically: establish a SIP UA model for each ITSP SIP server and a local SIP server, which are respectively called a remote SIP UA processing model and a local SIP UA model , which can be implemented by class or object, and each SIP UA model has its own set of behaviors. That is to say, no matter the SIP server for the local SIP server or the SIP server for the ITSP, they all operate as independent SIP UA respectively. Any incoming call can intelligently know the corresponding ITSP according to the above-mentioned ITSP identification mechanism, so as to select the appropriate SIP UA model. Moreover, in the present invention, it is required that SIP UAs with different specifications can run in the system at the same time.
在针对本地SIP服务器的本地SIP UA模型和针对ITSP SIP服务器的远端SIP UA处理模型之间不直接进行SIP消息的传递,而是相互通知事件。因为不同的SIP服务器可能支持不同的功能,用多SIP UA机制能够屏蔽本地SIP服务器或ITSP的SIP服务器的某些功能,使它们能够继续保持互通。The local SIP UA model for the local SIP server and the remote SIP UA processing model for the ITSP SIP server do not directly transmit SIP messages, but notify each other of events. Because different SIP servers may support different functions, the multi-SIP UA mechanism can shield some functions of the local SIP server or ITSP's SIP server, so that they can continue to communicate.
基于上述实现思想,本发明提供了一种接入设备,即ITSP-GW(ITSP网关),以解决上述问题,实现本发明的目的。所述的ITSP-GW作为企业SIP网络的出口,主要用作本地SIP网络和ITSP的SIP网络间的网关,可以在单独的设备上运行,也可以和企业IP-PBX集成在同一个设备上运行。Based on the above realization ideas, the present invention provides an access device, namely ITSP-GW (ITSP Gateway), to solve the above problems and achieve the purpose of the present invention. The ITSP-GW is used as the exit of the enterprise SIP network, and is mainly used as a gateway between the local SIP network and the ITSP's SIP network. It can run on a separate device, or can be integrated with the enterprise IP-PBX to run on the same device. .
此外,ITSP-GW还支持同其他ITSP-GW互连。于是,对于拥有众多分部的大型公司来说,部署在每个分部的ITSP-GW能够把它们互连起来。公司员工既可以通过ITSP和公司外部的IP电话使用者建立通话,也可以不通过ITSP直接和其他分部的同事建立通话。然而从软件实现机制来看,对于本地ITSP-GW而言,远端的ITSP-GW也不过相当于一个特殊的ITSP的SIP服务器,采用的仍然是多ITSP支持的实现方式。In addition, ITSP-GW also supports interconnection with other ITSP-GW. Therefore, for a large company with many branches, the ITSP-GW deployed in each branch can interconnect them. Employees of the company can establish calls with IP phone users outside the company through ITSP, or directly establish calls with colleagues in other branches without using ITSP. However, from the point of view of the software implementation mechanism, for the local ITSP-GW, the remote ITSP-GW is just equivalent to a special ITSP SIP server, and the implementation mode supported by multiple ITSPs is still adopted.
从信令流向的角度看,ITSP-GW所处的位置如图1和图2所示:From the perspective of signaling flow, the location of ITSP-GW is shown in Figure 1 and Figure 2:
也就是说,从信令流向来讲,ITSP-GW连接于各个ITSP与企业内部的IP-PBX之间。而且,如图2所示,对于企业内部的IP-PBX而言,ITSP-GW是它的一个普通终端,遵循它的规格,支持各种内线功能;对于每个ITSP而言,ITSP-GW也是它的一个普通终端,遵循它的规格,如可以作为ITSP A、ITSP B和ITSP C分别对应的终端。That is to say, in terms of signaling flow, the ITSP-GW is connected between each ITSP and the internal IP-PBX of the enterprise. Moreover, as shown in Figure 2, for the IP-PBX inside the enterprise, the ITSP-GW is an ordinary terminal, which follows its specifications and supports various internal functions; for each ITSP, the ITSP-GW is also a It is an ordinary terminal, following its specifications, for example, it can be used as the terminal corresponding to ITSP A, ITSP B and ITSP C respectively.
在网络拓扑中,ITSP-GW所处的位置有两种可能。具体为:可以在路由器上运行,或者与路由器分开独立运行,下面将分别进行说明。In the network topology, there are two possibilities for the location of the ITSP-GW. Specifically: it can run on the router, or run independently from the router, which will be explained separately below.
当ITSP-GW在路由器上运行时,相应的网络拓扑如图3所示,用户终端(即IP电话)所在的LAN(局域网)通过路由器以及WAN(广域网)与各个ITSP的SIP(会话初始协议)服务器通信,ITSP-GW运行于所述路由器上,从而实现用户终端与多个ITSP的SIP服务器间的通信。When the ITSP-GW runs on the router, the corresponding network topology is shown in Figure 3. The LAN (Local Area Network) where the user terminal (i.e. IP phone) is located communicates with the SIP (Session Initiation Protocol) of each ITSP through the router and WAN (Wide Area Network) For server communication, the ITSP-GW runs on the router, so as to realize the communication between the user terminal and the SIP servers of multiple ITSPs.
需要说明的是:当ITSP-GW的LAN端为私有IP地址,WAN端为公有IP地址时,需要通过NAT(网络地址转换)进行地址转换;由于ITSP-GW本身可转发所有的SIP消息和RTP包,因此可以支持地址转换功能,也就不需要路由器的NAT功能来协助VoIP(基于IP的语音)的NAT穿越。It should be noted that: when the LAN end of ITSP-GW is a private IP address and the WAN end is a public IP address, address translation needs to be performed through NAT (Network Address Translation); since ITSP-GW itself can forward all SIP messages and RTP Therefore, it can support the address translation function, and the NAT function of the router is not needed to assist the NAT traversal of VoIP (Voice over IP).
在位于多个地点的ITSP-GW互连的情况中,此时异地的ITSP-GW相当于本地ITSP-GW的一个特殊的ITSP服务器。若ITSP和企业之间建有VPN(虚拟专用网),则ITSP-GW本身不需要拥有公有IP地址时,ITSP-GW就可以和路由器分开运行,相应的网络拓扑结构如图4所示,所述的ITSP-GW基于相应的VPN通道实现用户终端与各个ITSP间的互通;也就是说,对于一个拥有众多分部的大型企业来说,完全可以使各个分部之间通过VPN相连。In the case of interconnection of ITSP-GWs located in multiple locations, the ITSP-GW in different locations is equivalent to a special ITSP server of the local ITSP-GW. If there is a VPN (virtual private network) between the ITSP and the enterprise, the ITSP-GW itself does not need to have a public IP address, and the ITSP-GW can run separately from the router. The corresponding network topology is shown in Figure 4. The ITSP-GW mentioned above realizes the intercommunication between the user terminal and each ITSP based on the corresponding VPN channel; that is to say, for a large enterprise with many branches, it is completely possible to connect each branch through VPN.
为对本发明有进一步理解,下面将结合附图对本发明中相应的ITSP-GW基本结构进行说明。In order to further understand the present invention, the corresponding basic structure of the ITSP-GW in the present invention will be described below in conjunction with the accompanying drawings.
ITSP-GW主要包括SIP业务处理部分,用于接收SIP终端或ITSP服务器发来的SIP消息,并根据配置的策略对所述的SIP消息进行处理后,通过选择的端口或终端接口发送给ITSP服务器或SIP终端;如图5所示,所述的ITSP-GW的基本结构主要包括:ITSP-GW mainly includes a SIP service processing part, which is used to receive the SIP message sent by the SIP terminal or ITSP server, and after processing the SIP message according to the configured strategy, send it to the ITSP server through the selected port or terminal interface Or a SIP terminal; as shown in Figure 5, the basic structure of the ITSP-GW mainly includes:
SIP信令处理部分,媒体处理部分,以及辅助部分,其中:根据SIP协议的规定可知所述的SIP信令处理部分包括SIP协议中规定的SIP传输层模块、SIP事务层模块以及SIP事务用户层模块;所述的媒体处理部分包括媒体中继单元模块;所述的辅助部分包括日志、接口检测等等模块。The SIP signaling processing part, the media processing part, and the auxiliary part, wherein: according to the provisions of the SIP protocol, the SIP signaling processing part includes the SIP transport layer module, the SIP transaction layer module and the SIP transaction user layer specified in the SIP protocol module; the media processing part includes a media relay unit module; the auxiliary part includes modules such as log and interface detection.
所述的SIP传输层和SIP事务处理层在SIP协议中的规定比较明确,由于这两层专注于传输和连接,很少涉及用户逻辑,所以针对不同SIP服务器的主要规格差异在于SIP事务用户层以及媒体处理部分。The above-mentioned SIP transport layer and SIP transaction processing layer are relatively clearly defined in the SIP protocol. Since these two layers focus on transmission and connection and rarely involve user logic, the main specification difference for different SIP servers lies in the SIP transaction user layer. and the media handling section.
从图5可以看出,所述的SIP事务用户层和媒体中继单元,在呼叫时首先识别呼叫涉及的ITSP类型或本地服务器类型,然后分别建立相应的SIP UA模型的实体,来处理向某个服务器发送或从该服务器接收的SIP消息。在ITSP-GW内部建立起来的SIP-UA模型的实体之间通过内部事件进行事件通知。As can be seen from Fig. 5, the described SIP transaction user layer and the media relay unit first identify the ITSP type or the local server type involved in the call when calling, and then establish corresponding entities of the SIP UA model respectively to process calls to a certain SIP messages sent to or received from a server. The entities of the SIP-UA model established inside the ITSP-GW perform event notification through internal events.
在图5中,多个远端SIP UA处理模型共同对应一个本地SIP UA模型。远端SIP UA模型负责作为ITSP网络中的一个终端(在SIP用语中就是UA)运行,本地SIP UA模型负责作为本地SIP网络中的一个终端运行。所述SIP UA模型都可以具有一般终端所具有的功能,比如注册、发起呼叫、接收呼叫、收发媒体、结束呼叫、呼叫保留、呼叫转移、检查呼叫是否存活(Keepalive)等等功能。但是如果用户本地SIP网络或某个ITSP SIP网络不支持其中的某种功能,那么通过用户配置,这种功能在具体的SIP UA模型中就不会被激活。In Figure 5, multiple remote SIP UA processing models correspond to a local SIP UA model. The remote SIP UA model is responsible for running as a terminal (UA in SIP terms) in the ITSP network, and the local SIP UA model is responsible for running as a terminal in the local SIP network. Described SIP UA model can have the function that general terminal has, such as register, initiate call, receive call, send and receive media, end call, call hold, call transfer, check whether call is survived (Keepalive) etc. function. However, if the user's local SIP network or an ITSP SIP network does not support a certain function, then through user configuration, this function will not be activated in the specific SIP UA model.
具体采用的事件通知可以有两种实现方法:There are two ways to implement specific event notifications:
一种为每个UA模型都有对外接口函数,另一个UA可以通过调用该接口函数来传递需要交互的数据,函数输入参数就是具体事件类型和事件参数;One is that each UA model has an external interface function, and another UA can transfer the data that needs to be interacted with by calling the interface function. The input parameters of the function are the specific event type and event parameters;
另一种为每个UA模型带有一个FIFO(先进先出)的事件队列,一个UA可以把需要传递的事件(一个数据结构,包括事件类型和事件参数)加到另一个UA的事件队列中;Another kind of event queue with a FIFO (first in first out) for each UA model, a UA can add the event (a data structure, including event type and event parameters) that needs to be delivered to the event queue of another UA ;
由于在内部采用自定的事件进行交互,而不是转发SIP消息,因此,本发明便可以实现单侧功能屏蔽,因为当本地UA和ITSP UA所支持的功能不相同时,很多消息是不能进行转发的。Since internally adopting self-defined events to interact instead of forwarding SIP messages, the present invention can realize unilateral function shielding, because when the functions supported by the local UA and ITSP UA are different, many messages cannot be forwarded of.
本发明中,为了使得用户可以分别与不同的ITSP进行互通,实现相应的业务,首先需要保证用户可以向不同的ITSP注册,具体的实现方法如下:In the present invention, in order to enable users to communicate with different ITSPs and realize corresponding services, it is first necessary to ensure that users can register with different ITSPs. The specific implementation method is as follows:
ITSP-GW启动时或检测到网络接口从Down(去激活)变为Up(激活)时,以及Contact地址发生变化时都会自动进行注册处理,以便告诉ITSP的SIP服务器ITSP-GW当前的实际位置信息,如IP地址和端口号等。When ITSP-GW starts or detects that the network interface changes from Down (deactivation) to Up (activation), and when the Contact address changes, it will automatically perform registration processing, so as to tell ITSP's SIP server ITSP-GW the current actual location information , such as IP address and port number.
ITSP-GW可以同时作为多个ITSP的SIP UA,根据已设置的ITSP用户帐号,分别向多个ITSP发送REGISTER(注册)请求。注册成功的用户帐号可以生效,并在呼叫时被使用。ITSP-GW can act as the SIP UA of multiple ITSPs at the same time, and send REGISTER (registration) requests to multiple ITSPs respectively according to the set ITSP user accounts. Successfully registered user accounts can take effect and be used when making calls.
由于通常情况下,ITSP-GW所在的物理实体只具有一个连接到公网的物理接口,而且为了节省利用企业所拥有的公网IP地址资源,因此,ITSP-GW针对不同的ITSP使用同一个公网IP地址。这样,只能针对不同ITSP使用不同的本地端口号,才能让后续来自ITSP的SIP消息被发送到相对应的本地端口号,从而识别SIP消息的来源。Usually, the physical entity where the ITSP-GW is located has only one physical interface connected to the public network, and in order to save and utilize the public network IP address resources owned by the enterprise, the ITSP-GW uses the same public IP address resource for different ITSPs. Network IP address. In this way, only by using different local port numbers for different ITSPs, can the subsequent SIP messages from the ITSP be sent to the corresponding local port numbers, thereby identifying the source of the SIP messages.
因此,在向不同的ITSP服务器注册时,在所述注册消息中的ContactHeader字段中使用不同的端口号。例如:企业当前同时拥有ITSP A的电话号码11111111和ITSP B的电话号码22222222,ITSP-GW的出口IP地址是200.0.0.1,此时可以针对ITSP A使用本地端口号5070,而针对ITSP B使用本地端口号5080。注册时ITSP-GW向ITSP A和ITSP B分别发送以下注册消息:Therefore, when registering with different ITSP servers, different port numbers are used in the ContactHeader field in the registration message. For example: the enterprise currently has ITSP A's
ITSP-GW向ITSP A发送的注册消息如下:The registration message sent by ITSP-GW to ITSP A is as follows:
REGISTER sip:sip.itspA.com SIP/2.0REGISTER sip:sip.itspA.com SIP/2.0
Via:SIP/2.0/UDP 200.0.0.1:5070;branch=z9hG4bK9160441A5F78Via:SIP/2.0/UDP 200.0.0.1:5070; branch=z9hG4bK9160441A5F78
From:11111111<sip:11111111@sip.itspA.com>;tag=1928301774From:11111111<sip:11111111@sip.itspA.com>; tag=1928301774
To:11111111<sip:11111111@sip.itspA.com>To:11111111<sip:11111111@sip.itspA.com>
Contact:<sip:11111111@200.0.0.1:5070>Contact:<sip:11111111@200.0.0.1:5070>
Call-ID:17822483385A45F3A17F61DF525D2397@sip.itspA.comCall-ID: 17822483385A45F3A17F61DF525D2397@sip.itspA.com
CSeq:12836 REGISTERCSeq: 12836 REGISTER
Expires:1800Expires: 1800
Max-Forwards:70Max-Forwards: 70
User-Agent:ITSP-GWUser-Agent:ITSP-GW
Content-Length:0Content-Length: 0
ITSP-GW向ITSP B发送的注册消息如下:The registration message sent by ITSP-GW to ITSP B is as follows:
REGISTER sip:sip.itspB.com SIP/2.0REGISTER sip:sip.itspB.com SIP/2.0
Via:SIP/2.0/UDP 200.0.0.1:5080;branch=z9hG4bK9160690B5956Via:SIP/2.0/UDP 200.0.0.1:5080; branch=z9hG4bK9160690B5956
From:22222222<sip:22222222@sip.itspB.com>;tag=456248From:22222222<sip:22222222@sip.itspB.com>; tag=456248
To:22222222<sip:22222222@sip.itspB.com>To:22222222<sip:22222222@sip.itspB.com>
Contact:<sip:22222222@200.0.0.1:5080>Contact:<sip:22222222@200.0.0.1:5080>
Call-ID:2672246338AA45FDB17FF14F875D9BA@sip.itspB.comCall-ID: 2672246338AA45FDB17FF14F875D9BA@sip.itspB.com
CSeq:12845REGISTERCSeq: 12845 REGISTER
Expires:1800Expires: 1800
Max-Forwards:70Max-Forwards: 70
User-Agent:ITSP-GWUser-Agent:ITSP-GW
Content-Length:0Content-Length: 0
经过上述注册过程后,在呼叫时便可以进行相应的ITSP的选择了,下面将对具体的ITSP选择处理过程进行说明。After the above registration process, the corresponding ITSP can be selected when calling, and the specific ITSP selection process will be described below.
当拥有多个ITSP的线路(用户帐号/电话号码)时,从企业内部向企业外部的一个目标用户发起呼叫时,需要选择使用哪个ITSP的线路来进行呼叫。在ITSP-GW的实现中,对ITSP的选择依赖于从本地接收到的INVITE(请求)消息所带有的信息以及在ITSP-GW上配置的呼叫路径选择表,所述的呼叫路径选择表中保存着用户终端选择各个ITSP的策略信息。When there are multiple ITSP lines (user accounts/telephone numbers), when a call is initiated from within the enterprise to a target user outside the enterprise, it is necessary to select which ITSP line to use to make the call. In the implementation of ITSP-GW, the selection of ITSP depends on the information carried by the INVITE (request) message received locally and the call path selection table configured on ITSP-GW, in the call path selection table It saves the policy information for the user terminal to select each ITSP.
对于本地指定了呼叫号码时,相应的处理过程如下:When the calling number is specified locally, the corresponding processing procedure is as follows:
如果从本地接收的INVITE消息的From Header(来源头)的username(用户名)部分指定了ITSP端的加入电话号码,并且已针对该号码成功进行了SIP注册,则选择与之相符的ITSP进行呼叫。If the username (username) part of the From Header (source header) of the INVITE message received locally specifies the joining telephone number of the ITSP side, and the SIP registration has been successfully performed for this number, then select the matching ITSP to call.
对于本地未指定呼叫号码时,则相应的处理过程如下:When the local call number is not specified, the corresponding processing procedure is as follows:
从本地接到的INVITE的Request-URI(请求URI)取出对端电话号码,从呼叫路径选择表检索该号码,确定ITSP。Take out the telephone number of the opposite end from the Request-URI (request URI) of the INVITE received locally, retrieve the number from the call route selection table, and determine the ITSP.
呼叫路径选择表是用户配置的各种呼叫路径规则,每条规则包括“号码匹配条件”和“呼叫路径”;“号码匹配条件”可以是某个模糊表达式或某种算法(比如费用计算)的结果,“呼叫路径”指示当对端电话号码符合该呼叫路径规则的“号码匹配条件”时,需要按该路径进行呼叫;“呼叫路径”包括“使用ITSP-A的线路”,“使用ITSP-B的线路”,“自动选择ITSP”,“呼叫拒绝”等等。The call route selection table is various call route rules configured by the user, each rule includes "number matching condition" and "call route"; "number matching condition" can be a fuzzy expression or a certain algorithm (such as cost calculation) The result of the "Call Path" indicates that when the remote phone number meets the "Number Matching Condition" of the call path rule, the call needs to be made according to this path; "Call Path" includes "line using ITSP-A", "use ITSP -B's Line", "Auto ITSP Selection", "Call Rejection" and more.
本发明中,对于来电时的ITSP辨别的处理过程如下:In the present invention, for the processing procedure that the ITSP distinguishes when incoming call is as follows:
由于向不同的ITSP注册时使用了不同的本地端口号,因此,从ITSP侧来电时,ITSP的SIP服务器会把发起呼叫的INVITE消息发送到ITSP-GW向它注册时所使用的端口号上。在前例中,ITSP A的SIP服务器会把INVITE消息发送到200.0.0.1:5070,而ITSP B的SIP服务器会把INVITE消息发送到200.0.0.1:5080。因此,ITSP-GW通过消息接收的端口号就可以识别出该来电来自哪个ITSP,从而采用该ITSP所指定的SIP规格进行处理。Since different local port numbers are used when registering with different ITSPs, when a call comes from the ITSP side, the SIP server of the ITSP will send the INVITE message for initiating the call to the port number used when the ITSP-GW registers with it. In the previous example, the SIP server of ITSP A will send the INVITE message to 200.0.0.1:5070, and the SIP server of ITSP B will send the INVITE message to 200.0.0.1:5080. Therefore, the ITSP-GW can identify which ITSP the incoming call comes from through the port number received by the message, and then use the SIP specification specified by the ITSP for processing.
本发明在具体实现过程中,由于选择使用不同的ITSP,因此相应的消息规格会有所不同,此时需要进行消息的转换处理,具体的处理过程如下:In the specific implementation process of the present invention, since different ITSPs are selected, the corresponding message specifications will be different. At this time, the conversion process of the message needs to be carried out. The specific process is as follows:
ITSP-GW在本地SIP服务器(或者终端)和ITSP的SIP服务器(或者终端)之间进行消息转换的目的有两个。There are two purposes for the ITSP-GW to perform message conversion between the local SIP server (or terminal) and the SIP server (or terminal) of the ITSP.
具体的转换过程包括转换地址信息和转换消息规格,如图6所示,其中:The specific conversion process includes converting address information and converting message specifications, as shown in Figure 6, where:
(1)所述的转换地址信息具体为:(1) The conversion address information described in detail is:
本地的SIP服务器并不知道一路外发的呼叫会经由哪个ITSP,也无法知道在外发的SIP消息中应该填写的正确的本地IP地址和本地端口号信息。因此需要ITSP-GW来填写合适的本地信息。The local SIP server does not know which ITSP an outgoing call will go through, nor can it know the correct local IP address and local port number information that should be filled in the outgoing SIP message. Therefore ITSP-GW is required to fill in the appropriate local information.
对于本地SIP服务器和ITSP端SIP服务器来说,ITSP-GW分别作为不同的SIP UA运行。在2个UA之间,不直接进行SIP消息的传递,而是相互通知信令事件。例如,将来自本地的来电作为对ITSP端的呼叫要求,或将ITSP端的来电,作为对本地端的呼叫要求进行通知。结果是,ITSP-GW在本地SIP网络和ITSP SIP网络之间进行SIP消息的转换。将SIP消息头的目标IP地址/端口号置换成本地服务器或ITSP端服务器的内容,甚至将呼叫源的IP地址/端口号置换成ITSP-GW的内容。将本地和ITSP双方进行关联,分别生成不同的对话。For the local SIP server and the ITSP-side SIP server, the ITSP-GW operates as different SIP UAs. Between the two UAs, the SIP message is not transmitted directly, but signaling events are notified to each other. For example, an incoming call from the local side is regarded as a call request to the ITSP end, or an incoming call from the ITSP end is regarded as a call request to the local end for notification. As a result, the ITSP-GW performs translation of SIP messages between the local SIP network and the ITSP SIP network. Replace the target IP address/port number of the SIP message header with the content of the local server or ITSP server, and even replace the IP address/port number of the call source with the content of ITSP-GW. Associate the local and ITSP to generate different dialogues respectively.
(2)所述的转换消息规格,即转换消息格式的过程具体为:(2) The described conversion message specification, that is, the process of converting the message format is specifically:
为适应ITSP的SIP规格的不同,本地SIP服务器并不具有处理不同ITSP规格的能力,需要ITSP-GW依据具体会话中对应的ITSP规格来进行SIP消息的校正;In order to adapt to the different SIP specifications of ITSPs, the local SIP server does not have the ability to handle different ITSP specifications, and the ITSP-GW needs to correct the SIP message according to the corresponding ITSP specifications in the specific session;
各ITSP的规格差异很多,常见的有:There are many differences in the specifications of each ITSP, and the common ones are:
注册AOR(Address or Record,地址记录)的构成;Register the composition of AOR (Address or Record, address record);
本地Contact地址的写法;How to write the local Contact address;
注册请求中Request-URI(请求URI)的内容;The content of Request-URI (request URI) in the registration request;
主叫时主叫号码的设置以及号码通知/非通知机制;Setting of calling number and number notification/non-notification mechanism when calling;
来电时如何从消息中取出主叫号码以及判断号码通知/非通知的方式;How to extract the calling number from the message when a call comes in and the method of judging number notification/non-notification;
来电时如何从消息中取出被叫号码;How to get the called number from the message when a call comes in;
尽管各家ITSP的规格差异很多,但是只要能够识别出当前呼叫相对应的ITSP,就能够使用适应该ITSP的UA模型进行SIR消息和内部事件的处理。Although the specifications of various ITSPs are quite different, as long as the ITSP corresponding to the current call can be identified, the UA model adapted to the ITSP can be used to process SIR messages and internal events.
基于上述地址和消息格式转换处理,本发明可以在ITSP-GW上实现针对媒体数据的中继处理,如图7所示。Based on the above address and message format conversion processing, the present invention can implement relay processing for media data on the ITSP-GW, as shown in FIG. 7 .
在ITSP-GW上,首先在本地端和ITSP端分别打开RTP(实时传输协议)端口,相互中继语音/视频数据On the ITSP-GW, first open the RTP (Real-time Transport Protocol) ports on the local side and the ITSP side respectively, and relay voice/video data to each other
由于不同的ITSP在媒体处理规格上存在差异,因此,在ITSP-GW上需要进行中继处理。例如,在有的ITSP的SIP网络中,呼叫保留时的保留音依赖于发起呼叫保留的终端来生成,有的又依赖于被保留的终端来生成,还有由ITSP的媒体服务器生成保留音的。由于ITSP-GW进行媒体数据中继,因此能够根据不同ITSP的要求来区别对待媒体数据的生成和处理。Since different ITSPs have differences in media processing specifications, relay processing is required on the ITSP-GW. For example, in the SIP network of some ITSPs, the hold tone when the call is on hold depends on the terminal that initiated the call hold, and some depend on the terminal being held to generate it, and the hold tone is generated by the media server of the ITSP. . Since the ITSP-GW relays media data, it can treat the generation and processing of media data differently according to the requirements of different ITSPs.
也就是说,ITSP-GW要进行单侧功能的屏蔽,而这些功能有的会涉及媒体流的处理,而不仅仅是SIP信令的处理,所以ITSP-GW本身也需要中继媒体数据。That is to say, ITSP-GW needs to shield unilateral functions, and some of these functions involve the processing of media streams, not just the processing of SIP signaling, so ITSP-GW itself also needs to relay media data.
本发明中,在ITSP-GW上中继媒体数据的方式为:如图7所示,需要对接收的RTP包包头做一定的修改,再转发出去。对于承载语音或视频数据的RTP包,包头中的Sequence(序列号),TimeStamp(时间戳),以及ssrc(同步源)需要重新生成,其他字段不变。中继SIP消息中,需要将SDP(会话描述协议)部分的IP地址/端口号码置换为ITSP-GW自身的地址/端口号码。保留/转发操作时停止向ITSP端发送语音/视频数据,改为发送自身生成的保留音/保留图像。In the present invention, the mode of relaying media data on the ITSP-GW is as follows: as shown in FIG. 7 , it is necessary to modify the header of the received RTP packet before forwarding it. For an RTP packet carrying voice or video data, the Sequence (serial number), TimeStamp (timestamp), and ssrc (synchronization source) in the packet header need to be regenerated, and other fields remain unchanged. In relaying the SIP message, it is necessary to replace the IP address/port number of the SDP (Session Description Protocol) part with the address/port number of the ITSP-GW itself. During the hold/forward operation, stop sending voice/video data to the ITSP end, and instead send the hold sound/reserve image generated by itself.
本发明中,除了需要在ITSP-GW上进行相应的SIR消息的转换处理外,在所述的ITSP-GW上还需要实现单侧功能屏蔽的功能,这是由于SIP的扩展功能很多,比如Fork(RFC3261),Session Timer(RFC4028),PRACK(RFC3262),REFER(RFC3515)等等。因为不同的ITSP对应的SIP服务器可能支持不同的功能,因此ITSP-GW针对不同的本地或ITSP SIP服务器采用不同的SIP UA模型能够屏蔽本地SIP服务器或ITSP的SIP服务器的某些功能,使它们能够继续保持互通。In the present invention, in addition to the conversion processing of the corresponding SIR message on the ITSP-GW, the function of unilateral function shielding needs to be realized on the ITSP-GW. This is due to the many extension functions of SIP, such as Fork (RFC3261), Session Timer (RFC4028), PRACK (RFC3262), REFER (RFC3515), etc. Because the SIP servers corresponding to different ITSPs may support different functions, the ITSP-GW uses different SIP UA models for different local or ITSP SIP servers to shield some functions of the local SIP server or ITSP's SIP server, so that they can Continue to communicate.
下面首先以使用到REFER(提交)消息的呼叫转移功能为例说明。In the following, the call forwarding function using the REFER (commit) message is taken as an example for illustration.
对于本地的SIP服务器,呼叫转移常常是必备的功能,但是并不是所有ITSP都支持REFER消息。于是当本地发生呼叫转移时,ITSP-GW必须吸收单侧的REFER消息,并且进行必要的媒体处理。For local SIP servers, call forwarding is often a necessary function, but not all ITSPs support REFER messages. Therefore, when a local call transfer occurs, the ITSP-GW must absorb the unilateral REFER message and perform necessary media processing.
参见图8所示。本地终端1分别和ITSP侧的终端以及本地终端2建立起两路呼叫:呼叫1和呼叫2。See Figure 8. The local terminal 1 establishes two calls with the terminal on the ITSP side and the
然后本地终端1打算执行呼叫转移,把ITSP终端转移到本地终端2,使这两个终端能够建立呼叫,并且自己退出呼叫。The local terminal 1 then intends to perform a call transfer, transferring the ITSP terminal to the
如图9所示,本地终端1向ITSP-GW发送REFER消息,要求呼叫转移到本地终端2,并且通过REFER消息中的Replaces参数通知它希望结束呼叫2。由于REFER消息不能被ITSP侧处理,因此ITSP-GW不向ITSP终端发送REFER消息,而是自行处理该消息。ITSP-GW向本地终端2发起呼叫建立呼叫3,并且请本地终端2结束呼叫2。此后,本地终端2结束了呼叫2,并且当本地终端1获知呼叫3已经建立后就主动结束了呼叫1。此后ITSP-GW就把呼叫3与ITSP侧的呼叫关联起来,并且在本地终端2和ITSP终端之间转发媒体数据。As shown in Figure 9, local terminal 1 sends a REFER message to ITSP-GW, requesting the call to be transferred to
由上述应用实例可以看出,ITSP-GW可以根据不同ITSP的规格,由扩展功能针对某些ITSP的相应功能进行屏蔽处理,而针对另一些ITSP的相应功能进行开放。ITSP-GW在本地SIP网络和在ITSP的SIP网络中分别作为独立的SIP UA模型运行,从而能够很好地进行单侧功能屏蔽并且对于不同的功能具有良好的适应性。It can be seen from the above application examples that according to the specifications of different ITSPs, the ITSP-GW can shield the corresponding functions of some ITSPs through the extended function, and open the corresponding functions of other ITSPs. ITSP-GW operates as an independent SIP UA model in the local SIP network and ITSP's SIP network, so that it can well perform unilateral function shielding and has good adaptability to different functions.
下面再举一例对本发明中的媒体中继功能进行说明。有些ITSP要求启用Session Timer(会话定时器)功能,定期发送Re-INVITE(重新申请)消息来监测会话是否还存活。这个功能是基本SIP协议(RFC3261)的一个扩展。但是本地的SIP服务器或其他终端设备可能不采用这种方法或者根本不支持这种方法。在这种情况下,ITSP-GW就要支持单侧的Session Timer功能而屏蔽另一侧的。Another example is given below to illustrate the media relay function in the present invention. Some ITSPs require to enable the Session Timer (session timer) function, and periodically send Re-INVITE (re-application) messages to monitor whether the session is still alive. This function is an extension of the basic SIP protocol (RFC3261). However, the local SIP server or other terminal equipment may not adopt this method or may not support this method at all. In this case, ITSP-GW will support the Session Timer function on one side and block the other side.
如图10所示,会话建立后ITSP-GW定期向ITSP侧发送Re-INVITE消息以保持会话不中断,但是ITSP-GW在本地侧却不执行这样的功能。As shown in Figure 10, after the session is established, the ITSP-GW periodically sends a Re-INVITE message to the ITSP side to keep the session uninterrupted, but the ITSP-GW does not perform such a function on the local side.
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。The above is only a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any person skilled in the art within the technical scope disclosed in the present invention can easily think of changes or Replacement should be covered within the protection scope of the present invention. Therefore, the protection scope of the present invention should be determined by the protection scope of the claims.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101200666A CN100466641C (en) | 2005-06-28 | 2005-06-28 | System and Implementation Method of Supporting Multiple ITSPs Based on SIP |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101200666A CN100466641C (en) | 2005-06-28 | 2005-06-28 | System and Implementation Method of Supporting Multiple ITSPs Based on SIP |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1889541A CN1889541A (en) | 2007-01-03 |
CN100466641C true CN100466641C (en) | 2009-03-04 |
Family
ID=37578800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003101200666A Expired - Fee Related CN100466641C (en) | 2005-06-28 | 2005-06-28 | System and Implementation Method of Supporting Multiple ITSPs Based on SIP |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100466641C (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102238617B (en) * | 2010-04-30 | 2016-04-13 | 中兴通讯股份有限公司 | Machine-type communication event report method and system |
CN102387124B (en) * | 2010-09-02 | 2014-05-07 | 杭州华三通信技术有限公司 | Method for modifying media literacy in SIP session and SIP truck gateway |
CN102413110A (en) * | 2010-09-26 | 2012-04-11 | 中华电信股份有限公司 | Communication method and system for multiple registration using session initiation protocol |
CN102413111A (en) * | 2010-09-26 | 2012-04-11 | 中华电信股份有限公司 | Communication method and system using session initiation protocol |
CN103813038B (en) * | 2013-11-13 | 2016-08-17 | 深圳市共进电子股份有限公司 | A kind of method realizing multiple VOIP service by single voice physical port |
CN110113303B (en) * | 2019-03-25 | 2021-07-09 | 国家计算机网络与信息安全管理中心 | SIP protocol stack load balancing system and method in telecommunication network IMS |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1487700A (en) * | 2001-03-10 | 2004-04-07 | 华为技术有限公司 | System and method for interworking between interworking agent devices and different protocol networks |
CN1527550A (en) * | 2003-03-06 | 2004-09-08 | 华为技术有限公司 | Method and system for realizing voice service through IP access |
US20050083916A1 (en) * | 2003-10-21 | 2005-04-21 | Nec Corporation | Network, private branch exchange, and multi protocol communication terminal control method for use in the exchange |
CN1612549A (en) * | 2003-10-31 | 2005-05-04 | 株式会社日立制作所 | Communication control device |
-
2005
- 2005-06-28 CN CNB2003101200666A patent/CN100466641C/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1487700A (en) * | 2001-03-10 | 2004-04-07 | 华为技术有限公司 | System and method for interworking between interworking agent devices and different protocol networks |
CN1527550A (en) * | 2003-03-06 | 2004-09-08 | 华为技术有限公司 | Method and system for realizing voice service through IP access |
US20050083916A1 (en) * | 2003-10-21 | 2005-04-21 | Nec Corporation | Network, private branch exchange, and multi protocol communication terminal control method for use in the exchange |
CN1612549A (en) * | 2003-10-31 | 2005-05-04 | 株式会社日立制作所 | Communication control device |
Also Published As
Publication number | Publication date |
---|---|
CN1889541A (en) | 2007-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2537467C (en) | Telecommunication network system and method in communication services using session initiation protocol | |
US7830861B2 (en) | Method and apparatus for functional architecture of voice-over-IP SIP network border element | |
US8861510B1 (en) | Dynamic assignment of media proxy | |
CN103430524B (en) | A backup SIP server for surviving corporate networks using SIP | |
US6992974B1 (en) | System and method for providing fault tolerance in a network telephony system | |
US20060203749A1 (en) | Multimedia conference system and method which enables communication between private network and Internet | |
CA2557089A1 (en) | Method and apparatus for providing internet protocol call transfer in communication networks | |
US11677792B2 (en) | IP tolerance and signaling interworking | |
US20080037533A1 (en) | Methods, systems, and computer program products for associating independent legs of a call in a telecommunications network | |
CN100403729C (en) | The method of call control and media flow traversing private network in SIP softswitch system | |
US20070140223A1 (en) | Media stream management | |
CN102137198B (en) | Method for realizing private branch exchange service and gateway equipment | |
KR100514196B1 (en) | System and method for Controlling network address translation and session | |
US8374178B2 (en) | Apparatus and method for supporting NAT traversal in voice over internet protocol system | |
US7995611B2 (en) | Method and apparatus for dynamic VoIP phone protocol selection | |
CA2544154A1 (en) | Method and apparatus for enabling dynamic protocol interworking resolution with diverse endpoints | |
CN100466641C (en) | System and Implementation Method of Supporting Multiple ITSPs Based on SIP | |
JP7641361B2 (en) | Method, system and computer readable medium for routing packets for lawful interception | |
WO2007036124A1 (en) | An addressing method in communication system | |
EP1843614A1 (en) | Method of performing a handover in a mobile communication system | |
Zhang et al. | Facilitating the interoperability among different voip protocols with voip web services | |
US8130662B1 (en) | Method and apparatus for providing transcoding in a network | |
CN100401692C (en) | Monitoring Method of Packet Voice Network | |
Lambrinos et al. | Integrating voice over IP services in IPv4 and IPv6 networks | |
CN105100086B (en) | A kind of VoIP speech monitoring methods and system based on symmetric NAT |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: JIANGSU IPEDO INC. Free format text: FORMER OWNER: BEIJING HUANLONG TECHNOLOGY CO., LTD. Effective date: 20110915 |
|
C41 | Transfer of patent application or patent right or utility model | ||
COR | Change of bibliographic data |
Free format text: CORRECT: ADDRESS; FROM: 100081 HAIDIAN, BEIJING TO: 214028 WUXI, JIANGSU PROVINCE |
|
TR01 | Transfer of patent right |
Effective date of registration: 20110915 Address after: 1207 room 16, 214028 Changjiang Road, New District, Jiangsu, Wuxi, China Patentee after: Jiangsu times Technology Co., Ltd. Address before: 4, 100081 floor (119 mailbox), Zhongguancun science and technology building, No. 12 South Avenue, Beijing, Haidian District Patentee before: Beijing Huanlong Technology Co., Ltd. |
|
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090304 Termination date: 20110628 |