CN106921624B - Session boundary controller and data transmission method - Google Patents

Session boundary controller and data transmission method Download PDF

Info

Publication number
CN106921624B
CN106921624B CN201510995963.4A CN201510995963A CN106921624B CN 106921624 B CN106921624 B CN 106921624B CN 201510995963 A CN201510995963 A CN 201510995963A CN 106921624 B CN106921624 B CN 106921624B
Authority
CN
China
Prior art keywords
data packet
data
layer
information
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510995963.4A
Other languages
Chinese (zh)
Other versions
CN106921624A (en
Inventor
吕明伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Feinno Communication Technology Co Ltd
Original Assignee
Beijing Feinno Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Feinno Communication Technology Co Ltd filed Critical Beijing Feinno Communication Technology Co Ltd
Priority to CN201510995963.4A priority Critical patent/CN106921624B/en
Publication of CN106921624A publication Critical patent/CN106921624A/en
Application granted granted Critical
Publication of CN106921624B publication Critical patent/CN106921624B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

The invention discloses a session boundary controller and a data transmission method, and belongs to the technical field of internet. The method comprises the following steps: the data crossing layer receives a data packet to be transmitted sent by the session initiating terminal through the first designated port under the limited network, and sends the data packet to be transmitted and the information of the first designated port to the data processing layer; the data processing layer receives a data packet to be transmitted and information of the first designated port, stores a mapping relation between the information of the first designated port and information of the data crossing layer, and sends the data packet to be transmitted to the data transmission layer; and the data transmission layer receives the data packet to be transmitted, sends the data packet to be transmitted to an external network, and sends the data packet to be transmitted to the session receiving terminal through the external network. According to the invention, a third-party device is not needed, the data packet is transmitted to the session initiating terminal under the limited network through the data crossing layer, the flow consumption in the data transmission process is reduced, the data transmission time delay is reduced, and the timeliness of the data is improved.

Description

Session boundary controller and data transmission method
Technical Field
The invention relates to the technical field of internet, in particular to a session boundary controller and a data transmission method.
Background
With the development of internet technology, network security has become a significant problem affecting national security, social stability and economic development. In order to ensure the security of the intranet Network, more and more companies set Network devices such as NAT (Network address translation) and firewalls inside the enterprise to strictly limit the ports accessed by the terminals inside the enterprise, for example, only allowing the terminals inside the enterprise to access the ports such as 53, 80, 433, etc. In the scenario of network limitation, when a terminal in an enterprise needs to perform a session with another terminal in an external network, how to perform data transmission becomes a problem that people in the field pay attention to.
In the field of internet technology, an SBC (Session Border Control) is deployed at the boundary of an internal network of an enterprise, and can provide guarantees such as network security, service quality, interoperability and the like for external networks such as IMS (IP Multimedia subsystem), VoIP (Voice over internet protocol), and the like, and is a key for a terminal in the enterprise to access the external network. In order to realize data transmission in a limited network scenario, in the prior art, a third-party device is mainly deployed at a front end of an SBC (Session Border controller), and the third-party device serves as a bridge between a terminal in an enterprise and the SBC, can receive data packets such as voice and video sent by the terminal in the enterprise under the limited network, splits the received data packets into a plurality of small data packets, and sends the small data packets to the SBC, and the SBC sends the small data packets to other terminals through an external network.
In the process of implementing the invention, the inventor finds that the prior art has at least the following problems:
data are transmitted through third-party equipment, so that the flow consumption in the data transmission process is increased, and the data transmission delay is increased.
Disclosure of Invention
In order to solve the problems in the prior art, embodiments of the present invention provide a session border controller and a data transmission method. The technical scheme is as follows:
in a first aspect, a session border controller is provided, where the session border controller includes: the device comprises a data traversing module, a data processing module and a data transmission module;
the data traversing module is used for receiving a data packet to be transmitted sent by a session initiating terminal through a first designated port under a limited network, and sending the data packet to be transmitted and information of the first designated port to the data processing module;
the data processing module is used for receiving the data packet to be transmitted and the information of the first designated port sent by the data traversing module, storing the mapping relation between the information of the first designated port and the information of the data traversing module, and sending the data packet to be transmitted to the data transmission module;
the data transmission module is used for receiving the data packet to be transmitted sent by the data processing module, sending the data packet to be transmitted to an external network, and sending the data packet to be transmitted to the session receiving terminal by the external network.
With reference to the first aspect, in a first possible implementation manner of the first aspect, the type of the data packet includes a signaling data packet and a media data packet;
correspondingly, the data processing module comprises a signaling data processing unit and a media data processing unit;
the data transmission module comprises a signaling data transmission unit and a media data transmission unit.
With reference to the first possible implementation manner of the first aspect, in a second possible implementation manner of the first aspect, when the data packet to be transmitted is a signaling data packet, the signaling data processing unit is configured to receive the signaling data packet sent by the data traversing module, and store a mapping relationship between information of the first designated port and information of the data traversing module;
the signaling data transmission unit is used for receiving the signaling data packet sent by the signaling data processing unit, sending the signaling data packet to an external network, and sending the signaling data packet to the session receiving terminal by the external network;
the signaling data transmission unit is further configured to receive a response signaling data packet sent by the session receiving terminal through an external network, and send the response signaling data packet to the signaling data processing unit;
the signaling data processing unit is further configured to send the response signaling data packet to the data traversing module according to a mapping relationship between the stored information of the first designated port and the stored information of the data traversing module;
the data traversing module is further configured to receive the response signaling data packet, and send the response signaling data packet to the session initiating terminal through the first designated port.
With reference to the first possible implementation manner of the first aspect, in a third possible implementation manner of the first aspect, when the data packet to be transmitted is a media data packet, the media data processing unit is configured to receive the media data packet sent by the data traversal module, and store a mapping relationship between information of the first designated port and information of the data traversal module;
the media data transmission unit is used for receiving the media data packet sent by the media data processing unit, sending the media data packet to an external network, and sending the media data packet to the session receiving terminal by the external network;
the media data transmission unit is also used for receiving a response media data packet sent by the session receiving terminal through an external network and sending the response media data packet to the media data processing unit;
the media data processing unit is further configured to send the response media data packet to the data traversing module according to a mapping relationship between the stored information of the first designated port and the stored information of the data traversing module;
the data traversing module is further configured to receive the response media data packet, and send the response media data packet to the session initiating terminal through the first designated port.
With reference to the first aspect to the third possible implementation manner of the first aspect, in a fourth possible implementation manner of the first aspect, the data packets transmitted between the data traversal module and the session initiation terminal all carry a protocol version number field, a protocol minor version number field, a sequence number field, a number of data packets field, a destination address field, a destination port field, a type of data packet field, and a length field of the data packet.
With reference to the first aspect to the third possible implementation manner of the first aspect, in a fifth possible implementation manner of the first aspect, the session border controller further includes a non-traversal module, and the session border controller is applied to a network-limited scenario and a network-unrestricted scenario;
when the network is not limited, the non-traversing module is used for receiving a data packet to be transmitted, which is sent by a session initiating terminal under the non-limited network through a second specified port, and sending the data packet to the data processing module; the data processing module is further configured to store a mapping relationship between the information of the non-traversal module and the information of the second designated port, and send the data packet to be transmitted to the data transmission module;
the data processing module is further configured to receive a response data packet sent by the data transmission module, and send the response data packet to the non-traversal module by using the second designated port according to the stored mapping relationship between the information of the non-traversal module and the information of the second designated port; the non-traversing module is further configured to receive a response data packet sent by the data processing module, and send the response data packet to the session initiating terminal, where the response data packet includes a response signaling data packet and a response media data packet.
In a second aspect, a data transmission method is provided, where the method is applied to a session border controller, where the session border controller includes a data traversing layer, a data processing layer, and a data transmission layer, and the method includes:
the data crossing layer receives a data packet to be transmitted sent by a session initiating terminal through a first designated port under a limited network, and sends the data packet to be transmitted and information of the first designated port to a data processing layer;
the data processing layer receives a data packet to be transmitted and information of a first designated port sent by the data traversing layer, stores a mapping relation between the information of the first designated port and the information of the data traversing layer, and sends the data packet to be transmitted to the data transmission layer;
and the data transmission layer receives the data packet to be transmitted sent by the data processing layer, sends the data packet to be transmitted to an external network, and sends the data packet to be transmitted to a session receiving terminal by the external network.
With reference to the second aspect, in a first possible implementation manner of the second aspect, the data processing layer includes a signaling data processing layer and a media data processing layer, the data transmission layer includes a signaling data transmission layer and a media data transmission layer, the type of the data packet includes a signaling data packet and a media data packet, and when the data packet to be transmitted is the signaling data packet, the sending the information of the data packet to be transmitted and the first designated port to the data processing layer includes:
the data crossing layer sends the signaling data packet and the information of the first designated port to the signaling data processing layer;
the data processing layer receives a data packet to be transmitted and information of a first designated port sent by the data traversing layer, stores a mapping relation between the information of the first designated port and the information of the data traversing layer, and sends the data packet to be transmitted to the data transmission layer, and the method comprises the following steps:
the signaling data processing layer receives the signaling data packet and the information of the first designated port sent by the data traversing layer, stores the mapping relation between the information of the first designated port and the information of the data traversing layer, and sends the signaling data packet to the signaling data transmission layer;
the method further comprises the following steps:
the signaling data transmission layer receives a response signaling data packet sent by the session receiving terminal through an external network and sends the response signaling data packet to the signaling data processing layer;
the signaling data processing layer sends the response signaling data packet to the data crossing layer according to the stored mapping relation between the information of the first designated port and the information of the data crossing layer;
and the data traversing layer receives the response signaling data packet and sends the response signaling data packet to the session initiating terminal through the first designated port.
With reference to the second aspect, in a second possible implementation manner of the second aspect, the data processing layer includes a signaling data processing layer and a media data processing layer, the data transmission layer includes a signaling data transmission layer and a media data transmission layer, the type of the data packet includes a signaling data packet and a media data packet, and when the data packet to be transmitted is a media data packet, the sending the data packet to be transmitted and information of the first designated port to the data processing layer includes:
the data crossing layer sends the media data packet and the information of the first designated port to the media data processing layer;
the data processing layer receives a data packet to be transmitted and information of a first designated port sent by the data traversing layer, stores a mapping relation between the information of the first designated port and the information of the data traversing layer, and sends the data packet to be transmitted to the data transmission layer, and the method comprises the following steps:
the media data processing layer receives the media data packet and the information of the first designated port sent by the data traversing layer, stores the mapping relation between the information of the first designated port and the information of the data traversing layer, and sends the media data packet to the media data transmission layer;
the method further comprises the following steps:
the media data transmission layer receives a response media data packet sent by a session receiving terminal through an external network and sends the response media data packet to the media data processing layer;
the media data processing layer sends the response media data packet to the data crossing layer according to the stored mapping relation between the information of the first designated port and the information of the data crossing layer;
and the data traversing layer receives the response media data packet and sends the response media data packet to the session initiating terminal through the first designated port.
With reference to the second aspect to the second possible implementation manner of the second aspect, in a third possible implementation manner of the second aspect, the session border controller further includes a non-traversal layer, and the method is applied to a network-limited scenario and a network-unrestricted scenario;
when the network is not restricted, the method further comprises:
the non-traversing layer receives the data packet to be transmitted sent by the session initiating terminal under the non-restricted network by adopting a second designated port and sends the data packet to the data processing layer, and the data processing layer stores the mapping relation between the information of the non-traversing layer and the second designated port and sends the data packet to be transmitted to the data transmission layer;
the data transmission layer receives the data packet to be transmitted sent by the data processing layer, sends the data packet to be transmitted to the external network, and sends the data packet to be transmitted to the session receiving terminal by the external network;
when a response data packet sent by the session receiving terminal through an external network is received, the data transmission layer sends the response data packet to the data processing layer;
the data processing layer receives the response data packet and sends the response data packet to the non-crossing layer by adopting the second appointed port according to the stored mapping relation between the information of the non-crossing layer and the information of the second appointed port; and the non-traversing layer receives a response data packet sent by the data processing layer and sends the response data packet to the session initiating terminal, wherein the response data packet comprises a response signaling data packet and a response media data packet.
The technical scheme provided by the embodiment of the invention has the following beneficial effects:
the data packet is transmitted to the session initiating terminal under the limited network through the data crossing layer without the aid of third-party equipment, so that the flow consumption in the data transmission process is reduced, the data transmission delay is reduced, and the timeliness of the data is improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 is an architecture diagram of a data transmission system provided by an embodiment of the present invention;
FIG. 2 is a flow chart of a data transmission method according to another embodiment of the present invention;
FIG. 3 is a flow chart of a data transmission method according to another embodiment of the present invention;
fig. 4 is a schematic format diagram of a traversal protocol provided in another embodiment of the present invention;
fig. 5 is a schematic diagram illustrating a transmission process of a signaling data packet according to another embodiment of the present invention;
FIG. 6 is a diagram illustrating a dynamic binding process between an abstraction layer and planes according to another embodiment of the present invention;
fig. 7 is a schematic diagram of a data transmission process based on a binding result according to another embodiment of the present invention;
fig. 8 is a schematic structural diagram of a session border controller according to another embodiment of the present invention;
fig. 9 is a schematic structural diagram of a session border controller according to another embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
Referring to fig. 1, there is shown an architecture diagram of a data transmission system including a session initiating terminal, a first Session Border Controller (SBC), an IMS network, a second Session Border Controller (SBC), and a session receiving terminal.
The session initiating terminal (UE _ a) is a terminal in an intranet, and the session initiating terminal may be a terminal with a network connection function, such as a smart phone, a personal computer, a tablet computer, and the like, and in order to protect the security of the intranet network, the network connected to the session initiating terminal is usually in a limited state, and only the session initiating terminal is allowed to access ports 53, 80, 433, and the like.
The IMS network is a new multimedia service format, and can satisfy the requirements of the existing terminal clients for more novel and diversified multimedia services.
The session receiving terminal (UE _ B) may be a terminal having a network connection function, such as a smart phone, a personal computer, or a tablet computer, and the network connected to the session receiving terminal may be a limited network or an unlimited network.
The first session border controller is deployed at the enterprise intranet border connected with the session initiating terminal, is a crucial connection point between the session initiating terminal and an IMS network, and can provide guarantees of network security, service quality, interoperability and the like for external networks such as the IMS and the like. The second session border controller is deployed at the enterprise intranet border connected with the session receiving terminal, is a crucial connection point between the session receiving terminal and the IMS network, and can also provide guarantees of network security, service quality, interoperability and the like for external networks such as the IMS and the like. The second session border controller has the same function as the functional modules and the function modules included in the first session border controller, and the first session border controller is taken as an example for detailed description.
The first session border controller includes a data-traversing layer, a data-processing layer, a data-transmitting layer, and a non-traversing layer.
The data traversing layer is defaulted to adopt an 80 port (non-encrypted port) and a 433 port (encrypted port) to transmit a data packet, and when the session initiating terminal is positioned in a data transmission layer of an enterprise intranet which cannot access the first session border controller through a normal port, the data traversing layer can transmit a signaling data packet or a media data packet through the 433 port or the 80 port.
The data transport layer includes a signaling data transport layer and a media data transport layer according to the type of the transmitted data packet. The signaling data transport layer is used for transferring signaling data packets, for example, the signaling data packets generated during user registration, call, keep-alive, hang-up, and the like, and a typical Protocol supported by the signaling data transport layer is SIP (Session initiation Protocol). The media data Transport layer is used for transferring media data packets, such as voice, video and other data packets of a user, and a typical Protocol supported by the media data Transport layer is RTP (Real-time Transport Protocol).
According to the type of the transmitted data packet, the data processing layer comprises a signaling data processing layer and a media data processing layer, wherein the signaling data processing layer is used for processing and transmitting the signaling data packet, and the media data processing layer is used for processing and transmitting the media data packet.
The non-traversal layer is used for receiving and transmitting a data packet sent by the session initiation terminal when the network is not limited. The non-traversing layers include a non-signaling traversing layer and a non-media traversing layer according to the type of the transmitted data packet. The non-signaling crossing layer is used for receiving a signaling data packet sent by the session initiating terminal in the non-limited network and sending the received signaling data packet to the signaling data processing layer. The non-media traversing layer is used for receiving a media data packet sent by the session initiating terminal under the non-limited network and sending the received media data packet to the media data processing layer.
In all embodiments of the present invention, the data traversing layer is also a traversing plane, the non-signaling traversing layer is also a first control plane (outside), the non-media traversing layer is also a first user plane (outside), the signaling data transmitting layer is also a first control plane (inside), the media transmitting layer is also a first user plane (inside), the signaling data processing layer is also a first control plane abstraction layer, and the media data processing layer is also a first user plane abstraction layer. The first control plane (inside) is connected with an external network and is used for sending a signaling data packet to the external network and receiving a response signaling data packet sent by the external network; the first user plane (in-plane) is connected with the external network and is used for sending the media data packet to the external network and receiving a response media data packet sent by the external network. The first control plane abstraction layer is arranged between the first control plane (inside) and the first control plane (outside), can decouple the transmission process of the signaling data packet, receives the signaling data packet sent by the traversing plane when the network is limited, and stores the mapping relation between the traversing plane and the information of the first port adopted by the session initiating terminal; when the network is not limited, receiving a signaling data packet sent by a first control plane (outside), and storing a mapping relation between the first control plane (outside) and information of a second port adopted by a session initiating terminal; the first user plane abstraction layer is arranged between the first user plane (inside) and the first user plane (outside), can decouple the transmission process of the media data packet, receives the media data packet sent by the traversing plane when the network is limited, stores the mapping relation between the traversing plane and the information of the first port adopted by the session initiating terminal, receives the media data packet sent by the first user plane (outside) when the network is not limited, and stores the mapping relation between the first user plane (outside) and the information of the second port adopted by the session initiating terminal.
An embodiment of the present invention provides a data transmission method, which is applied to a session border controller, where the session border controller includes a data traversing layer, a data processing layer, and a data transmission layer, and referring to fig. 2, a flow of the method provided in this embodiment includes:
201. and the data crossing layer receives a data packet to be transmitted sent by the session initiating terminal through the first appointed port under the limited network, and sends the data packet to be transmitted and the information of the first appointed port to the data processing layer.
202. The data processing layer receives the data packet to be transmitted and the information of the first designated port, which are sent by the data traversing layer, stores the mapping relation between the information of the first designated port and the information of the data traversing layer, and sends the data packet to be transmitted to the data transmission layer.
203. And the data transmission layer receives the data packet to be transmitted sent by the data processing layer, sends the data packet to be transmitted to an external network, and sends the data packet to be transmitted to the session receiving terminal by the external network.
According to the method provided by the embodiment of the invention, a third-party device is not needed, and the data packet is transmitted to the session initiating terminal under the limited network through the data crossing layer, so that the flow consumption in the data transmission process is reduced, the data transmission delay is reduced, and the timeliness of the data is improved.
In another embodiment of the present invention, the data processing layer includes a signaling data processing layer and a media data processing layer, the data transmission layer includes a signaling data transmission layer and a media data transmission layer, the type of the data packet includes a signaling data packet and a media data packet, and when the data packet to be transmitted is the signaling data packet, the data processing layer sends the data packet to be transmitted and the information of the first designated port to the data processing layer, including:
the data crossing layer sends the signaling data packet and the information of the first designated port to the signaling data processing layer;
the data processing layer receives a data packet to be transmitted and information of a first designated port, which are sent by the data traversing layer, stores a mapping relation between the information of the first designated port and the information of the data traversing layer, and sends the data packet to be transmitted to the data transmission layer, and the method comprises the following steps:
the signaling data processing layer receives a signaling data packet sent by the data traversing layer and the information of the first designated port, stores the mapping relation between the information of the first designated port and the information of the data traversing layer, and sends the signaling data packet to the signaling data transmission layer;
the method further comprises the following steps:
the signaling data transmission layer receives a response signaling data packet sent by the session receiving terminal through an external network and sends the response signaling data packet to the signaling data processing layer;
the signaling data processing layer sends a response signaling data packet to the data crossing layer according to the stored mapping relation between the information of the first designated port and the information of the data crossing layer;
and the data crossing layer receives the response signaling data packet and sends the response signaling data packet to the session initiating terminal through the first designated port.
In another embodiment of the present invention, the data processing layer includes a signaling data processing layer and a media data processing layer, the data transmission layer includes a signaling data transmission layer and a media data transmission layer, the type of the data packet includes a signaling data packet and a media data packet, and when the data packet to be transmitted is a media data packet, the data processing layer sends the data packet to be transmitted and information of the first designated port to the data processing layer, including:
the data cross layer sends the media data packet and the information of the first designated port to the media data processing layer;
the data processing layer receives a data packet to be transmitted and information of a first designated port, which are sent by the data traversing layer, stores a mapping relation between the information of the first designated port and the information of the data traversing layer, and sends the data packet to be transmitted to the data transmission layer, and the method comprises the following steps:
the media data processing layer receives the media data packet sent by the data traversing layer and the information of the first appointed port, stores the mapping relation between the information of the first appointed port and the information of the data traversing layer, and sends the media data packet to the media data transmission layer;
the method further comprises the following steps:
the media data transmission layer receives a response media data packet sent by the session receiving terminal through an external network and sends the response media data packet to the media data processing layer;
the media data processing layer sends a response media data packet to the data traversing layer according to the stored mapping relation between the information of the first designated port and the information of the data traversing layer;
and the data cross layer receives the response media data packet and sends the response media data packet to the session initiating terminal through the first designated port.
In another embodiment of the invention, the session border controller further comprises a non-traversal layer, the method is applied to network-constrained scenarios and network-unconstrained scenarios;
when the network is not limited, the method further comprises:
the non-traversing layer receives a data packet to be transmitted sent by the session initiating terminal under the non-restricted network by adopting the second designated port and sends the data packet to the data processing layer, and the data processing layer stores the mapping relation between the information of the non-traversing layer and the second designated port and sends the data packet to be transmitted to the data transmission layer;
the data transmission layer receives a data packet to be transmitted sent by the data processing layer, sends the data packet to be transmitted to an external network, and sends the data packet to be transmitted to the session receiving terminal through the external network;
when receiving a response data packet sent by a session receiving terminal through an external network, a data transmission layer sends the response data packet to a data processing layer;
the data processing layer receives the response data packet, and adopts the second appointed port to make the response data packet not pass through the layer according to the mapping relation between the stored information of the non-pass through layer and the second appointed port; and the non-traversing layer receives a response data packet sent by the data processing layer and sends the response data packet to the session initiating terminal, wherein the response data packet comprises a response signaling data packet and a response media data packet.
All the above optional technical solutions may be combined arbitrarily to form the optional embodiments of the present disclosure, and are not described herein again.
An embodiment of the present invention provides a data transmission method, which is applied to the session boundary controller shown in fig. 1, where the session boundary controller includes a data traversing layer, a data processing layer, a data transmission layer, and a non-traversing layer, where the data transmission processing layer includes a signaling data processing layer and a media data processing layer, the data transmission layer includes a signaling data transmission layer and a media data transmission layer, and the non-traversing layer includes a non-signaling traversing layer and a non-media traversing layer. Taking the session border controller and the session initiating terminal to execute the method as an example, referring to fig. 3, the method flow provided by the embodiment includes:
301. the session initiating terminal detects whether the current network is restricted.
The session initiating terminal is a terminal in an internal network of a company, a public institution and the like, and the session initiating terminal is a smart phone, a tablet computer and the like. In the field of internet technology, before transmitting data to an external network through a session border controller, a session initiation terminal needs to detect whether the current network is limited, and different strategies are adopted for data transmission. In the process of detecting whether the current network is limited, the session initiating terminal can perform TCP handshake with a non-traversing layer of the session border controller, and can also perform UDP (User data Protocol) delivery with the non-traversing layer of the session border controller. Taking the non-traversing layer as the first user plane (outside) and the first control plane (outside), the session initiating terminal detects whether the current network is limited by performing TCP handshake with the first user plane (outside) or the first control plane (outside), and if the session initiating terminal succeeds in TCP handshake with the first user plane (outside) or the first control plane (outside), it is determined that the current network is not limited; if the session initiating terminal fails to perform TCP handshake with the first user plane (out) or the first control plane (out), it is determined that the current network is limited.
302. When the session initiating terminal detects that the current network is limited, the data crossing layer of the session boundary controller establishes connection with the session initiating terminal through TCP handshake.
When the session initiating terminal detects that the current network is limited through TCP handshake or UDP delivery, the session initiating terminal initiates TCP handshake attempts to different ports of a data crossing layer of the session boundary controller according to the security level of a data packet to be transmitted. In this embodiment, the data traversal layer of the session border controller defaults to use two ports for data transmission, where the 433 port is an encrypted port for transmitting data packets related to user privacy, and the 80 port is an unencrypted port for transmitting data packets not related to user privacy. The process of establishing connection with the session initiating terminal through TCP handshake by the data crossing layer of the session border controller is as follows:
the session initiating terminal and the data cross layer of the session border controller carry out the first handshake: the session initiating terminal sends SYN (synchronization Sequence Numbers) packets to the data traversing layer and enters a SYN _ send state to wait for the data traversing layer to acknowledge.
And the session initiating terminal and the data crossing layer of the session boundary controller carry out second handshake: when receiving a SYN packet sent by a session initiating terminal, a data traversing layer confirms the received SYN packet by sending an ACK (Acknowledgement) packet to the session initiating terminal, and meanwhile, the data traversing layer also sends a SYN packet to the session initiating terminal, and the session initiating terminal enters a SYN _ RECV state.
And the session initiating terminal and the data cross layer of the session boundary controller carry out the third handshake: when receiving SYN-ACK packet sent by data crossing layer, the session initiating terminal returns an ACK packet to the data crossing layer, and then the session initiating terminal and the data crossing layer enter into connection state.
After the three-way handshake is completed, the session initiating terminal and the data traversing layer can establish connection, and the data traversing layer and the session initiating terminal can transmit data packets through the established connection.
303. And the session initiating terminal adopts the first appointed port to send the data packet to be transmitted to the data crossing layer of the session boundary controller.
In order to transmit data in a targeted manner, embodiments of the present invention provide a traversal protocol, where the traversal protocol is used to encode a data packet transmitted between a data traversal layer and a session sending terminal in a restricted network, and is also used to encode a data packet transmitted between a non-traversal layer and a session initiating terminal in an unrestricted network, and when the data packet is transmitted inside a session border controller, the traversal protocol is not required to be used to encode the data packet. The traversal protocol at least indicates attribute information and transmission information of the data packets, wherein the attribute information of the data packets comprises serial numbers of the data packets, the number of the data packets to be transmitted in the current traversal protocol, types of the data packets, lengths of the data packets and the like; the attribute information of the packet includes destination address information, destination port information, and the like. Fig. 4 shows a specific format of the traversal protocol, and for the meaning of the various fields in fig. 4, see table 1 below.
TABLE 1
Figure BDA0000890833510000141
Figure BDA0000890833510000151
Depending on the number of counts, there may be multiple copies of Destination IP, Destination Port, Type, Data Length, and Data, for example, if the number of counts is 4, there may be 4 Destination IPs, 4 Destination ports, 4 packets, 4 Data lengths, and the like. The types of the data packets comprise signaling data packets and media data packets, the types of the data packets can be different, and when the types are different, the data packets of multiple types can be transmitted simultaneously.
After the data between the data crossing layer and the session initiating terminal is coded by adopting a preset crossing protocol, the coded data packets all carry a protocol version number field, a protocol minor version number field, a sequence number field, a data packet number field, a destination address field, a destination port field, a data packet type field, a data packet length field and the like.
When a session initiating terminal needs to communicate with a session receiving terminal in an external network, the session initiating terminal acquires a data packet by detecting user operation, assembles the data packet, encodes the data packet based on a traversal protocol to obtain a data packet to be transmitted, and sends the data packet to be transmitted to a data traversal layer by adopting a first specified port through a connection established in advance with the data traversal layer of a session boundary controller, wherein the data packet to be transmitted carries fields such as a destination address and a destination port, and the destination address points to the session receiving terminal.
It should be noted that, in the limited network, the first designated port adopted when the session initiation terminal sends the data packet to be transmitted to the data traversal layer is different from the default 80 port and 433 port used by the data traversal layer. Among them, 80 ports and 433 ports are real physical ports. In order to improve the transmission efficiency, both the 80 port and the 433 port include a plurality of virtual ports, and the first designated port in this embodiment is one of the 80 port and the 433 port. When detecting that the data packet to be transmitted contains the private data of the user, the terminal selects a virtual port from the 433 ports and sends the data packet to be transmitted to the data crossing layer through the virtual port; when detecting that the data packet to be transmitted does not contain the privacy data of the user, the terminal selects a virtual port from the 80 ports, and sends the data packet to be transmitted to the data crossing layer through the virtual port.
304. When receiving a to-be-transmitted data packet sent by the session initiation terminal through the first designated port, the data traversal layer of the session border controller determines whether the to-be-transmitted data packet is an instruction data packet, and if so, executes step 305.
In this embodiment, the data processing layer includes a signaling data processing layer and a media data processing layer, and the types of data packets that can be processed by different data processing layers are different, so that, after receiving a data packet to be transmitted sent by the session initiation terminal through the first designated port, the session boundary controller will determine whether the data packet to be transmitted is an instruction data packet, and thus, transmit the data packet to be transmitted through a corresponding transmission path.
The data packet to be transmitted is coded based on a crossing protocol, the data packet to be transmitted has a data type indicating bit, and the data crossing layer can judge the type of the data packet to be transmitted by acquiring a field on the data type indicating bit, so as to judge whether the data packet to be transmitted is an instruction data packet.
305. And the data crossing layer of the session boundary controller sends the signaling data packet and the information of the first designated port to the signaling data processing layer.
And when the data packet to be transmitted is judged to be a signaling data packet, the data crossing layer of the session boundary controller acquires port information of a first designated port adopted by the session initiating terminal for sending the signaling data packet, and sends the signaling data packet and the port information of the first designated port to the signaling data processing layer.
306. And the signaling data processing layer of the session boundary controller stores the mapping relation between the information of the first designated port and the information of the data crossing layer and sends the signaling data packet to the signaling data transmission layer.
The signaling data processing layer of the session border controller maintains a database, and the database stores the mapping relation between the information of the first designated port of the session initiating terminal and the information of the data crossing layer under the network limited scene. And when receiving the information of the first designated port and the information of the data crossing layer which are sent by the data crossing layer, the signaling data processing layer stores the mapping relation between the information of the first designated port and the information of the data crossing layer and sends a signaling data packet to the signaling data transmission layer.
307. And the signaling data transmission layer of the session boundary controller sends the signaling data packet to an external network, and the external network sends the signaling data packet to the session receiving terminal.
After receiving the signaling data packet data, the signaling data transport layer of the session border controller processes the received signaling data packet, for example, performs operations such as authentication, data header labeling, data modification and the like on the received signaling data packet, and then sends the processed signaling data packet to an external network according to a destination address field carried in the processed signaling data packet, and the processed signaling data packet is sent to a session receiving terminal corresponding to a destination address by the external network.
The process of sending the signaling data packet to the session receiving terminal corresponding to the destination address by the external network can be divided into the following two cases:
in the first case, if the network of the session receiving terminal is not limited, the external network may send the signaling data packet to the signaling data transmission layer at the session receiving terminal side, and the signaling data transmission layer at the session receiving terminal side sends the signaling data packet to the signaling data processing layer at the same side, and then the signaling data processing layer directly sends the signaling data packet to the session receiving terminal corresponding to the destination address.
In the second situation, if the network of the session receiving terminal is limited, the external network can send the signaling data packet to the signaling data transmission layer at the session receiving terminal side, send the signaling data transmission layer at the session receiving terminal side to the signaling data processing layer at the same side, send the data crossing layer at the same side by the signaling data processing layer, and send the data crossing layer to the session receiving terminal corresponding to the destination address.
In both the first case and the second case, the signaling data processing layer at the session receiving terminal side stores the mapping relationship between the information of the specific port used when the session receiving terminal receives the data packet and the information of different layers, and the difference is that, in the case that the network is not limited, the signaling data processing layer at the session receiving terminal side stores the mapping relationship between the information of the specific port and the signaling data processing layer at the same side; in the case that the network is not limited, the signaling data processing layer on the session receiving terminal side stores the mapping relationship between the information of the specific port and the data traversing layer on the same side.
308. When receiving a response signaling data packet sent by the session receiving terminal through the external network, the signaling data transmission layer of the session border controller sends the response signaling data packet to the signaling data processing layer.
After receiving a signaling data packet sent by a session initiating terminal, a session receiving terminal sends a response signaling data packet to a signaling data transmission layer of a session boundary controller through an external network if communicating with the session initiating terminal, the signaling data transmission layer sends the response signaling data packet to a signaling data processing layer, the response signaling data packet at least carries fields such as a backhaul destination address and a backhaul destination port, the backhaul destination address points to an address where the session initiating terminal is located, and the backhaul destination port is a first designated port adopted by the session initiating terminal to send a data packet to be transmitted.
309. And the signaling data processing layer of the session boundary controller sends a response signaling data packet to the data crossing layer according to the mapping relation between the stored information of the first designated port and the information of the data crossing layer.
When a response signaling data packet sent by the signaling data transmission layer is received, the signaling data processing layer of the session boundary controller analyzes the response signaling data packet to obtain a backhaul destination port field carried in the response signaling data packet, and obtains information of a data crossing layer corresponding to the information of the first designated port according to a mapping relation between the stored information of the first designated port and the information of the data crossing layer, so as to send the response signaling data packet to the data crossing layer.
310. And when receiving the response signaling data packet, the data traversing layer of the session boundary controller sends the response signaling data packet to the session initiating terminal through the first designated port.
After receiving the response data packet, the data crossing layer of the session boundary controller determines the first designated port according to the information of the first designated port, and sends the response signaling data packet to the session initiating terminal through the first designated port, thereby realizing the communication between the session initiating terminal and the session receiving terminal.
So far, the complete transmission process of the signaling data packet is completed through the steps 301 to 310. For the convenience of understanding, the following description will take the data traversing layer as the first traversing plane, the signaling data processing layer as the first control plane abstraction layer, and the signaling data transmission layer as the first control plane (intra), and refer to steps (1) to (10) in fig. 5 specifically.
1. A session initiating terminal UE _ A initiates a call to a session receiving terminal UE _ B to a first crossing plane by adopting a first designated port;
2. the first traversing plane receives the call signaling and sends the call signaling to a first control plane abstract layer;
3. the first control plane abstraction layer stores the mapping relation between the information of the first traversing plane and the information of the first appointed port;
4. the first control plane abstraction layer sends the call signaling to (in) the first control plane;
5. first control plane (in) sending call signaling to IMS network
6. The IMS network sends the response instruction of the UE _ B to (in) the first control plane;
7. the first control plane sends the response instruction to the first control plane abstract layer;
8. the first control plane abstraction layer acquires information of a first crossing plane according to the stored mapping relation between the information of the first crossing plane and the information of the first designated port;
9. the first control plane abstraction layer sends the response instruction to the first cross-plane;
10. the first cross plane sends a response instruction to UE _ a.
When the data packet to be transmitted is determined to be media data in step 304, for the transmission process of the media data packet, the following steps (a) to (f) may be referred to:
(a) and the data crossing layer of the session boundary controller sends the media data packet to the media data processing layer.
And when the data packet to be transmitted is judged to be the media data packet, the data crossing layer of the session boundary controller acquires the port information of a first appointed port adopted by the session initiating terminal for sending the media data packet, and sends the media data packet and the port information of the appointed port to the media data processing layer.
(b) And the media data processing layer of the session boundary controller stores the mapping relation between the information of the first designated port and the information of the data crossing layer and sends the media data packet to the media data transmission layer.
The media data processing layer of the session border controller maintains a database, and the database stores the mapping relation between the information of the designated port of the session initiating terminal and the information of the data crossing layer under the network limited scene. When receiving the information of the first designated port and the information of the data crossing layer sent by the data crossing layer, the media data processing layer stores the mapping relation between the information of the first designated port and the information of the data crossing layer and sends the media data packet to the media data transmission layer.
(c) And the media data transmission layer of the session boundary controller sends the media data packet to an external network, and the external network sends the media data packet to the session receiving terminal.
After receiving the media data, the media data transport layer of the session border controller processes the received media data, for example, performs operations such as authentication, data header tagging, data modification and the like on the received media data, and further sends the processed media data packet to an external network according to a destination address field carried in the processed data packet, and the processed media data packet is sent to a session receiving terminal corresponding to a destination address by the external network.
The process of sending the media data packet to the session receiving terminal corresponding to the destination address by the external network can be divided into the following two cases:
in the first case, if the network of the session receiving terminal is not limited, the external network may send the media data packet to the media data transmission layer at the session receiving terminal side, and send the media data packet to the media data processing layer at the same side by the media data transmission layer at the session receiving terminal side, and then directly send the media data packet to the session receiving terminal corresponding to the destination address by the media data processing layer.
In the second case, if the network of the session receiving terminal is limited, the external network may send the media data packet to the media data transmission layer at the session receiving terminal side, and send the media data packet to the media data processing layer at the same side by the media data transmission layer at the session receiving terminal side, and then send the data crossing layer at the same side by the media data processing layer, and send the data crossing layer to the session receiving terminal corresponding to the destination address.
In both the first case and the second case, the media data processing layer at the session receiving terminal side stores the mapping relationship between the information of the specific port used when the session receiving terminal receives the data packet and the information of different layers, and the difference is that, in the case that the network is not limited, the media data processing layer at the session receiving terminal side stores the mapping relationship between the information of the specific port and the media data processing layer at the same side; in the case that the network is not limited, the media data processing layer on the session receiving terminal side stores the mapping relation between the information of the specific port and the data traversing layer on the same side.
(d) And when receiving a response media data packet sent by the session receiving terminal through the external network, the media data transmission layer of the session boundary controller sends the response media data packet to the media data processing layer.
After receiving a media data packet sent by a session initiating terminal, a session receiving terminal sends a response media data packet to a media data transmission layer of a session border controller through an external network if communicating with the session initiating terminal, the media data transmission layer sends the response media data packet to a media data processing layer, the response media data packet at least carries fields such as a backhaul destination address and a backhaul destination port, the backhaul destination address points to an address where the session initiating terminal is located, and the backhaul destination port is a first designated port adopted by the session initiating terminal to send a data packet to be transmitted.
(e) And the media data processing layer of the session boundary controller sends the response media data packet to the data traversing layer according to the mapping relation between the stored information of the first appointed port and the information of the data traversing layer.
When a response media data packet sent by the media data transmission layer is received, the media data processing layer of the session boundary controller analyzes the response signaling data packet to obtain a backhaul destination port field carried in the response signaling data packet, and obtains information of a data traversing layer corresponding to the information of the first designated port according to a mapping relation between the stored information of the first designated port and the information of the data traversing layer, so as to send the response media data packet to the data traversing layer.
(f) And when receiving the response media data packet, the data crossing layer of the session boundary controller sends the response media data packet to the session initiating terminal through the designated port.
After receiving the response data packet, the data crossing layer of the session boundary controller determines the first designated port according to the information of the first designated port, and sends the response media data packet to the session initiating terminal through the first designated port, thereby realizing the communication between the session initiating terminal and the session receiving terminal.
Taking the data traversing layer as a first traversing plane, the signaling data processing layer as a first control plane abstract layer, the media data processing layer as a first user plane abstract layer, the signaling data transmission layer as a first control plane (inside), and the media data transmission layer as a first user plane (inside) as an example, the transmission process of the signaling data packet and the media data packet can be divided into the following two processes:
the first process, the abstract layer and other layers are dynamically bound.
The principle of dynamic binding of the abstraction layer with other layers is as follows: when the session initiating terminal has a data packet to be transmitted, the data packet is sent to the corresponding abstraction layer by the first traversing plane, and the abstraction layer records the mapping relation between the first traversing plane and the first port adopted by the session initiating terminal, so that the data packet sent to the session initiating terminal is forwarded by the bound traversing plane when the data packet is sent subsequently.
Referring to fig. 4, when the session initiation terminal needs to communicate with the session receiving terminal, the session initiation terminal encodes and assembles the data packet to be transmitted based on the traversal protocol to obtain the data packet to be transmitted, and sends the data packet to be transmitted to the first traversal plane by using the first designated port. After receiving a data packet to be transmitted sent by a session initiation terminal, the first traversal plane analyzes the data packet to be transmitted, judges whether the data packet to be transmitted is a signaling data packet according to the type field of the data packet, and sends the signaling data packet to a first control plane abstract layer if the data packet to be transmitted is the signaling data packet. The first control plane abstraction layer receives the signaling data packet, stores the mapping relation between the information of the first traversing plane and the information of the first designated port, and sends the signaling data packet to the first control plane (inner), and the first control plane (inner) processes the signaling data packet according to the standard SBC logic, and then sends the processing result to the inside of the system, and the inside of the system sends the processing result to an external network. If the data packet to be transmitted is not a signaling data packet, judging whether the data packet to be transmitted is a media data packet, if the data packet to be transmitted is not the media data packet, returning error prompt information to the session initiation terminal, and if the data packet to be transmitted is the media data packet, sending the media data packet to the first user plane abstract layer. The first user plane abstraction layer receives the media data packet, stores the mapping relation between the information of the first traversing plane and the information of the first designated port, and sends the media data packet to the first user plane (inner), and the first user plane (inner) processes the media data packet according to the standard SBC logic, and then sends the processing result to the inside of the system, and the inside of the system sends the processing result to an external network.
And a second process of sending the response data packet based on the binding result of the first process.
Based on the binding result between the abstraction layer and each plane in the first process, when the external network sends the data packet to be transmitted to the session receiving terminal and the session receiving terminal returns the response data packet through the external network, the forwarding process of the response data packet may be as shown in fig. 5.
If the response data packet returned by the session receiving terminal is the response signaling data packet, the external network sends the response signaling data packet to the first control plane (inner), the first control plane (inner) sends the response signaling data packet to the first control plane abstraction layer, the first control plane abstraction layer obtains the information of the first crossing plane according to the stored mapping relation between the information of the first crossing plane and the information of the first appointed port, and sends the response signaling data packet to the first crossing plane, after the first crossing plane receives the response signaling data packet, the response signaling data packet is coded based on the crossing protocol, and the response signaling data packet is sent to the session initiating terminal by adopting the appointed port through the connection with the session initiating terminal, after the session initiating terminal receives the response signaling data packet, the response signaling data packet is decoded, signaling data is obtained.
If the media data packet returned by the session receiving terminal is the media signaling data packet, the external network sends the media signaling data packet to a first control plane (inner), the first control plane (inner) sends the media signaling data packet to a first control plane abstraction layer, the first control plane abstraction layer acquires information of a first crossing plane according to the mapping relation between the stored information of the first crossing plane and the information of a first designated port, and sends the media signaling data packet to the first crossing plane, after the first crossing plane receives the media signaling data packet, the media signaling data packet is coded based on a crossing protocol, and the media signaling data packet is sent to the session initiating terminal by adopting the first designated port through the connection with the session initiating terminal, and after the session initiating terminal receives the media signaling data packet, the media signaling data packet is decoded, signaling data is obtained.
It should be noted that the method provided by this embodiment is not only applied to the network limited scenario, but also applied to the network unlimited scenario. When the network is not limited, the non-traversing layer can receive a data packet to be transmitted sent by the session initiating terminal under the non-limited network through the second designated port, and send the data packet to be transmitted to the data processing layer, the data processing layer stores the mapping relation between the information of the non-traversing layer and the second designated port, and sends the data packet to be transmitted to the data transmission layer, and the data transmission layer receives the data packet to be transmitted sent by the data processing layer, sends the data packet to be transmitted to the external network, and sends the data packet to be transmitted to the session receiving terminal through the external network. When receiving a response data packet sent by the session receiving terminal through an external network, the data transmission layer sends the response data packet to the data processing layer, the data processing layer receives the response data packet, and sends the response data packet to the non-traversing layer by adopting the second appointed port according to the stored mapping relation between the information of the non-traversing layer and the information of the second appointed port, and the non-traversing layer receives the response data packet sent by the data processing layer and sends the response data packet to the session initiating terminal. According to the type of the data packet to be transmitted, under the scenario that the network is not limited, the transmission process of the data packet can be divided into the following two cases:
in the first case: the data packet to be transmitted is a signaling data packet.
When the network is not limited, the session initiating terminal under the non-signaling crossing layer non-limited network adopts the signaling data packet sent by the second designated port and sends the signaling data packet to the signaling data processing layer, the signaling data processing layer stores the mapping relation between the information of the non-signaling crossing layer and the information of the second designated port and sends the signaling data packet to the signaling data transmission layer, and the signaling data transmission layer receives the signaling data packet sent by the signaling data processing layer, sends the signaling data packet to the external network and sends the signaling data packet to the session receiving terminal by the external network. When receiving a response signaling data packet sent by a session receiving terminal through an external network, a signaling data transmission layer sends the response signaling data packet to a signaling data processing layer, the signaling data processing layer receives the response signaling data packet, and sends the response signaling data packet to a non-signaling traversing layer by adopting a second designated port according to a mapping relation between stored information of the non-signaling traversing layer and information of the second designated port, and the non-signaling traversing layer receives the response data packet sent by the signaling data processing layer and sends the response data packet to the session initiating terminal.
In the second case: the data packet to be transmitted is a media data packet.
When the network is not limited, the session initiating terminal under the non-media traversing layer non-limited network adopts the media data packet sent by the second appointed port and sends the media data packet to the media data processing layer, the media data processing layer stores the mapping relation between the information of the non-media traversing layer and the second appointed port and sends the media data packet to the media data transmission layer, and the media data transmission layer receives the media data packet sent by the data processing layer, sends the media data packet to the external network and sends the media data packet to the session receiving terminal by the external network. When receiving a response media data packet sent by a session receiving terminal through an external network, a media data transmission layer sends the response media data packet to a media data processing layer, the media data processing layer receives the response media data packet, and sends the response media data packet to a non-media traversing layer by adopting a second specified port according to the mapping relation between the stored information of the non-media traversing layer and the information of the second specified port, and the non-media traversing layer receives the response data packet sent by the media data processing layer and sends the response data packet to a session initiating terminal.
In this embodiment, an abstraction layer is set in the session border controller to select a routing policy for data forwarding depending on the abstraction layer, based on the data transmission system shown in fig. 1, when the session initiating terminal UE _ a is in a restricted network, an internal firewall of an enterprise only allows the session initiating terminal to access addresses of 80 ports and 433 ports, and the session receiving terminal UE _ B is in an unrestricted network and can freely access a public network, at this time, an interaction flow between the UE _ a and the UE _ B is as follows:
in the first case, the procedure for UE _ a to send call signaling to UE _ B is as follows:
UE _ A initiates a call to UE _ B to a first crossing plane by adopting a first designated port, the first crossing plane receives call signaling and sends the call signaling to a first control plane abstraction layer, the first control plane abstraction layer stores the mapping relation between the information of the first crossing plane and the information of the first designated port and sends the call signaling to the first control plane (in), the first control plane (in) sends the call signaling to an IMS network, the IMS network sends the call signaling to a second control plane (in), the second control plane (in) sends the call signaling to a second control plane abstraction layer, the second control plane abstraction layer sends the call signaling to the second control plane (out), and the second control plane (out) sends the call signaling to UE _ B.
And the UE _ B receives the call request of the UE _ A, sends a response instruction to the second control plane (outside), the second control plane (outside) sends the response instruction to the second control plane abstract layer, the second control plane abstract layer sends the response instruction to the second control plane (inside), the second control plane (inside) sends the response instruction to the IMS network, the IMS network sends the response instruction to the first control plane (inside), the first control plane (inside) sends the response instruction to the first control plane abstract layer, the first control plane abstract layer sends the response instruction to the second crossing plane according to the mapping relation between the stored information of the first crossing plane and the information of the first designated port, and the first crossing plane adopts the first designated port to send the response instruction to the UE _ A.
In the second case, the process of sending audio data from UE _ a to UE _ B is as follows:
the method comprises the steps that UE _ A sends audio data to UE _ B through a first crossing plane by adopting a first appointed port, the first crossing plane receives the audio data and sends the audio data to a first user plane abstraction layer, the first user plane abstraction layer stores the mapping relation between the information of the first crossing plane and the information of the first appointed port and sends the audio data to the first user plane (inside), the first user plane (inside) sends the audio data to an IMS network, the IMS network sends the audio data to a second user plane (inside), the second user plane (inside) sends the audio data to the second user plane abstraction layer, the second user plane abstraction layer sends the audio data to the second user plane (outside), and the second user plane (outside) sends the audio data to the UE _ B.
After receiving the audio data sent by the UE _ A, the UE _ B sends response audio data to a second user plane (outside), the second user plane (outside) sends the response audio data to a second user plane abstract layer, the second control plane abstract layer sends the response audio data to a second user plane (inside), the second user plane (inside) sends the response audio data to an IMS network, the IMS network sends the response audio data to a first user plane (inside), the first user plane abstract layer sends the response audio data to the first user plane abstract layer according to the mapping relation between the stored information of the first traversing plane and the information of the first designated port, the first user plane abstract layer sends the response audio data to the first traversing plane, and the first traversing plane sends the response audio data to the UE _ A by adopting the first designated port.
It should be noted that, for example, the session initiating terminal UE _ a is in a restricted network, when the UE _ a is in an unrestricted network and data transmission is performed between the UE _ a and the UE _ B, the data transmission can be performed freely without using a first traversal plane, and the specific transmission process is as follows:
in the first case, the procedure for UE _ a to send call signaling to UE _ B is as follows:
UE _ A initiates a call to UE _ B to a first control plane (outside) by adopting a second designated port, the first control plane (outside) receives a call signaling and sends the call signaling to a first control plane abstract layer, the first control plane abstract layer sends the call signaling to a first control plane (inside) according to a mapping relation between stored information of the first control plane (outside) and information of the second designated port, the first control plane (inside) sends the call signaling to an IMS network, the IMS network sends the call signaling to a second control plane (inside), the second control plane (inside) sends the call signaling to a second control plane abstract layer, the second control plane abstract layer sends the call signaling to the second control plane (outside), and the second control plane (outside) sends the call signaling to UE _ B.
And the UE _ B receives the call request of the UE _ A, sends a response instruction to the second control plane (outside), the second control plane (outside) sends the response instruction to the second control plane abstract layer, the second control plane abstract layer sends the response instruction to the second control plane (inside), the second control plane (inside) sends the response instruction to the IMS network, the IMS network sends the response instruction to the first control plane (inside), the first control plane (inside) sends the response instruction to the first control plane abstract layer, the first control plane abstract layer sends the response instruction to the outside of the first control plane according to the mapping relation between the stored information of the first control plane (outside) and the stored information of the second designated port, and the first control plane (outside) sends the response instruction to the UE _ A by adopting the second designated port.
In the second case, the process of sending audio data from UE _ a to UE _ B is as follows:
UE _ A sends audio data to UE _ B through a first user plane (outside) by adopting a second designated port, the first user plane (outside) receives the audio data and sends the audio data to a first user plane abstract layer, the first user plane abstract layer stores the mapping relation between the information of the first user plane (outside) and the information of the second designated port and sends the audio data to the first user plane (inside), the first user plane (inside) sends the audio data to an IMS network, the IMS network sends the audio data to a second user plane (inside), the second user plane (inside) sends the audio data to the second user plane abstract layer, the second user plane abstract layer sends the audio data to the second user plane (outside), and the second user plane (outside) sends the audio data to UE _ B.
After receiving the audio data sent by the UE _ A, the UE _ B sends response audio data to a second user plane (outside), the second user plane (outside) sends the response audio data to a second user plane abstract layer, the second user plane abstract layer sends the response audio data to a second user plane (inside), the second user plane (inside) sends the response audio data to an IMS network, the IMS network sends the response audio data to a first user plane (inside), the first user plane (inside) sends the response audio data to the first user plane abstract layer, the first user plane abstract layer sends the response audio data to the first user plane (outside) according to the mapping relation between the stored information of the first user plane (outside) and the information of the second appointed port, and the first user plane (outside) sends the response audio data to the UE _ A by adopting the second appointed port.
According to the method provided by the embodiment of the invention, a third-party device is not needed, and the data packet is transmitted to the session initiating terminal under the limited network through the data crossing layer, so that the flow consumption in the data transmission process is reduced, the data transmission delay is reduced, and the timeliness of the data is improved.
Referring to fig. 8, an embodiment of the present invention provides a structural schematic diagram of a session border controller, where the session border controller includes: a data traversing module 801, a data processing module 802 and a data transmission module 803.
The data traversing module 801 is configured to receive a data packet to be transmitted, which is sent by the session initiation terminal through the first designated port, in the limited network, and send the data packet to be transmitted and information of the first designated port to the data processing module;
the data processing module 802 is configured to receive a data packet to be transmitted and information of the first designated port sent by the data traversing module, store a mapping relationship between the information of the first designated port and the information of the data traversing module, and send the data packet to be transmitted to the data transmission module;
the data transmission module 803 is configured to receive a data packet to be transmitted sent by the data processing module, send the data packet to be transmitted to an external network, and send the data packet to the session receiving terminal through the external network.
In another embodiment of the invention, the types of packets include signaling packets and media packets;
accordingly, the data processing module 802 includes a signaling data processing unit and a media data processing unit;
the data transmission module 803 includes a signaling data transmission unit and a media data transmission unit.
In another embodiment of the present invention, when the data packet to be transmitted is a signaling data packet, the signaling data processing unit is configured to receive the signaling data packet sent by the data traversing module, and store a mapping relationship between information of the first designated port and information of the data traversing module;
the signaling data transmission unit is used for receiving the signaling data packet sent by the signaling data processing unit, sending the signaling data packet to an external network and sending the signaling data packet to the session receiving terminal by the external network;
the signaling data transmission unit is also used for receiving a response signaling data packet sent by the session receiving terminal through an external network and sending the response signaling data packet to the signaling data processing unit;
the signaling data processing unit is also used for sending a response signaling data packet to the data traversing module according to the mapping relation between the stored information of the first designated port and the information of the data traversing module;
the data traversing module 801 is further configured to receive a response signaling data packet, and send the response signaling data packet to the session initiating terminal through the first designated port.
In another embodiment of the present invention, when the data packet to be transmitted is a media data packet, the media data processing unit is configured to receive the media data packet sent by the data traversing module, and store a mapping relationship between information of the first designated port and information of the data traversing module;
the media data transmission unit is used for receiving the media data packet sent by the media data processing unit, sending the media data packet to an external network and sending the media data packet to the session receiving terminal by the external network;
the media data transmission unit is also used for receiving a response media data packet sent by the session receiving terminal through an external network and sending the response media data packet to the media data processing unit;
the media data processing unit is also used for sending the response media data packet to the data traversing module according to the mapping relation between the stored information of the first designated port and the information of the data traversing module;
the data traversing module 801 is further configured to receive a response media data packet, and send the response media data packet to the session initiating terminal through the first designated port.
In another embodiment of the present invention, the data packets transmitted between the data traversing module and the session initiating terminal each carry a protocol version number field, a protocol minor version number field, a sequence number field, a number of data packets field, a destination address field, a destination port field, a type of data packet field, and a length of data packet field.
Referring to fig. 9, the session border controller further includes a non-traversal module 804, the session border controller is applied to the network restricted scenario and the network unrestricted scenario;
when the network is not limited, the non-traversing module 804 is configured to receive a data packet to be transmitted, which is sent by the session initiating terminal through the second specified port in the non-limited network, and send the data packet to the data processing module; the data processing module 802 is further configured to store a mapping relationship between the information of the non-pass-through module and the information of the second designated port, and send the data packet to be transmitted to the data transmission module;
the data processing module 802 is further configured to receive a response data packet sent by the data transmission module, and send the response data packet to the non-traversal module 804 by using the second designated port according to the stored mapping relationship between the information of the non-traversal module and the information of the second designated port; the non-traversal module 804 is further configured to receive a response data packet sent by the data processing module, and send the response data packet to the session initiating terminal, where the response data packet includes a response signaling data packet and a response media data packet.
It should be noted that, in this embodiment, the data traversing module corresponds to a data traversing layer, the data processing module corresponds to a data processing layer, the data transmission module corresponds to a data transmission layer, the non-traversing module corresponds to a non-traversing layer, the signaling data processing unit corresponds to a signaling data processing layer, the media data processing unit corresponds to a media data processing layer, the signaling data transmission unit corresponds to a signaling data transmission layer, and the media data transmission unit corresponds to a media data transmission layer. The data transmission module may be a functional module disposed on the data transmission layer, and the non-transmission module may be a module disposed on the non-transmission layer. Of course, the data traversing module may also be a data traversing layer, the data processing module may also be a data processing layer, the data transmission module may also be on a data transmission layer, and the non-traversing module may also be a non-traversing layer.
The device provided by the embodiment of the invention transmits the data packet for the session initiating terminal under the limited network through the data crossing layer without the aid of third-party equipment, thereby reducing the flow consumption in the data transmission process, reducing the data transmission delay and improving the timeliness of the data.
It should be noted that: when the session border controller provided in the foregoing embodiment performs data transmission in a limited network, only the division of the functional modules is illustrated, and in practical applications, the function distribution may be completed by different functional modules according to needs, that is, the internal structure of the session border controller is divided into different functional modules to complete all or part of the functions described above. In addition, the session border controller provided in the above embodiments and the method embodiment for data transmission in a restricted network belong to the same concept, and specific implementation processes thereof are described in detail in the method embodiment and are not described herein again.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like that fall within the spirit and principle of the present invention are intended to be included therein.

Claims (10)

1. A session border controller, comprising: the device comprises a data traversing module, a data processing module and a data transmission module;
the data traversing module is used for receiving a data packet to be transmitted sent by a session initiating terminal through a first designated port under a limited network, and sending the data packet to be transmitted and information of the first designated port to the data processing module, wherein the first designated port is a virtual port selected from one physical port;
the data processing module is configured to receive a data packet to be transmitted and information of a first designated port sent by the data traversing module, store a mapping relationship between the information of the first designated port and the information of the data traversing module, and send the data packet to be transmitted to the data transmission module, where the mapping relationship is used to indicate, according to a backhaul destination port carried in a response data packet corresponding to the data packet to be transmitted, the data traversing module corresponding to the response data packet;
the data transmission module is used for receiving the data packet to be transmitted sent by the data processing module, sending the data packet to be transmitted to an external network, and sending the data packet to be transmitted to the session receiving terminal by the external network.
2. The session border controller of claim 1, wherein the types of packets include signaling packets and media packets;
correspondingly, the data processing module comprises a signaling data processing unit and a media data processing unit;
the data transmission module comprises a signaling data transmission unit and a media data transmission unit.
3. The session border controller according to claim 2, wherein when the data packet to be transmitted is a signaling data packet, the signaling data processing unit is configured to receive the signaling data packet sent by the data traversal module, and store a mapping relationship between the information of the first designated port and the information of the data traversal module;
the signaling data transmission unit is used for receiving the signaling data packet sent by the signaling data processing unit, sending the signaling data packet to an external network, and sending the signaling data packet to the session receiving terminal by the external network;
the signaling data transmission unit is further configured to receive a response signaling data packet sent by the session receiving terminal through an external network, and send the response signaling data packet to the signaling data processing unit;
the signaling data processing unit is further configured to send the response signaling data packet to the data traversing module according to a mapping relationship between the stored information of the first designated port and the stored information of the data traversing module;
the data traversing module is further configured to receive the response signaling data packet, and send the response signaling data packet to the session initiating terminal through the first designated port.
4. The session border controller according to claim 2, wherein when the data packet to be transmitted is a media data packet, the media data processing unit is configured to receive the media data packet sent by the data traversal module, and store a mapping relationship between information of the first designated port and information of the data traversal module;
the media data transmission unit is used for receiving the media data packet sent by the media data processing unit, sending the media data packet to an external network, and sending the media data packet to the session receiving terminal by the external network;
the media data transmission unit is also used for receiving a response media data packet sent by the session receiving terminal through an external network and sending the response media data packet to the media data processing unit;
the media data processing unit is further configured to send the response media data packet to the data traversing module according to a mapping relationship between the stored information of the first designated port and the stored information of the data traversing module;
the data traversing module is further configured to receive the response media data packet, and send the response media data packet to the session initiating terminal through the first designated port.
5. The session border controller according to any one of claims 1 to 4, wherein the data packets transmitted between the data traversing module and the session initiating terminal each carry a protocol version number field, a protocol minor version number field, a sequence number field, a number of data packets field, a destination address field, a destination port field, a type of data packet field, and a length of data packet field.
6. The session border controller of any of claims 1 to 4, further comprising a non-traversal module, wherein the session border controller is applied to network-constrained scenarios and network-unconstrained scenarios;
when the network is not limited, the non-traversing module is used for receiving a data packet to be transmitted, which is sent by a session initiating terminal under the non-limited network through a second specified port, and sending the data packet to the data processing module; the data processing module is further configured to store a mapping relationship between the information of the non-traversal module and the information of the second designated port, and send the data packet to be transmitted to the data transmission module;
the data processing module is further configured to receive a response data packet sent by the data transmission module, and send the response data packet to the non-traversal module by using the second designated port according to the stored mapping relationship between the information of the non-traversal module and the information of the second designated port; the non-traversing module is further configured to receive a response data packet sent by the data processing module, and send the response data packet to the session initiating terminal, where the response data packet includes a response signaling data packet and a response media data packet.
7. A data transmission method is applied to a session border controller, the session border controller comprises a data traversing layer, a data processing layer and a data transmission layer, and the method comprises the following steps:
the data crossing layer receives a data packet to be transmitted sent by a session initiating terminal through a first designated port under a limited network, and sends the data packet to be transmitted and information of the first designated port to a data processing layer, wherein the first designated port is a virtual port selected from one physical port;
the data processing layer receives a data packet to be transmitted and information of a first designated port sent by the data traversing layer, stores a mapping relation between the information of the first designated port and the information of the data traversing layer, and sends the data packet to be transmitted to the data transmitting layer, wherein the mapping relation is used for indicating the data traversing layer corresponding to the response data packet according to a return destination port carried in the response data packet corresponding to the data packet to be transmitted;
and the data transmission layer receives the data packet to be transmitted sent by the data processing layer, sends the data packet to be transmitted to an external network, and sends the data packet to be transmitted to a session receiving terminal by the external network.
8. The method according to claim 7, wherein the data processing layer includes a signaling data processing layer and a media data processing layer, the data transmission layer includes a signaling data transmission layer and a media data transmission layer, the type of the data packet includes a signaling data packet and a media data packet, and when the data packet to be transmitted is the signaling data packet, the sending the data packet to be transmitted and the information of the first designated port to the data processing layer includes:
the data crossing layer sends the signaling data packet and the information of the first designated port to the signaling data processing layer;
the data processing layer receives a data packet to be transmitted and information of a first designated port sent by the data traversing layer, stores a mapping relation between the information of the first designated port and the information of the data traversing layer, and sends the data packet to be transmitted to the data transmission layer, and the method comprises the following steps:
the signaling data processing layer receives the signaling data packet and the information of the first designated port sent by the data traversing layer, stores the mapping relation between the information of the first designated port and the information of the data traversing layer, and sends the signaling data packet to the signaling data transmission layer;
the method further comprises the following steps:
the signaling data transmission layer receives a response signaling data packet sent by the session receiving terminal through an external network and sends the response signaling data packet to the signaling data processing layer;
the signaling data processing layer sends the response signaling data packet to the data crossing layer according to the stored mapping relation between the information of the first designated port and the information of the data crossing layer;
and the data traversing layer receives the response signaling data packet and sends the response signaling data packet to the session initiating terminal through the first designated port.
9. The method according to claim 7, wherein the data processing layer includes a signaling data processing layer and a media data processing layer, the data transmission layer includes a signaling data transmission layer and a media data transmission layer, the type of the data packet includes a signaling data packet and a media data packet, and when the data packet to be transmitted is a media data packet, the sending the data packet to be transmitted and the information of the first designated port to the data processing layer includes:
the data crossing layer sends the media data packet and the information of the first designated port to the media data processing layer;
the data processing layer receives a data packet to be transmitted and information of a first designated port sent by the data traversing layer, stores a mapping relation between the information of the first designated port and the information of the data traversing layer, and sends the data packet to be transmitted to the data transmission layer, and the method comprises the following steps:
the media data processing layer receives the media data packet and the information of the first designated port sent by the data traversing layer, stores the mapping relation between the information of the first designated port and the information of the data traversing layer, and sends the media data packet to the media data transmission layer;
the method further comprises the following steps:
the media data transmission layer receives a response media data packet sent by a session receiving terminal through an external network and sends the response media data packet to the media data processing layer;
the media data processing layer sends the response media data packet to the data crossing layer according to the stored mapping relation between the information of the first designated port and the information of the data crossing layer;
and the data traversing layer receives the response media data packet and sends the response media data packet to the session initiating terminal through the first designated port.
10. The method according to any of claims 7 to 9, wherein the session border controller further comprises a non-traversal layer, the method being applied to network-constrained scenarios and network-unconstrained scenarios;
when the network is not restricted, the method further comprises:
the non-traversing layer receives the data packet to be transmitted sent by the session initiating terminal under the non-restricted network by adopting a second designated port and sends the data packet to the data processing layer, and the data processing layer stores the mapping relation between the information of the non-traversing layer and the second designated port and sends the data packet to be transmitted to the data transmission layer;
the data transmission layer receives the data packet to be transmitted sent by the data processing layer, sends the data packet to be transmitted to the external network, and sends the data packet to be transmitted to the session receiving terminal by the external network;
when a response data packet sent by the session receiving terminal through an external network is received, the data transmission layer sends the response data packet to the data processing layer;
the data processing layer receives the response data packet and sends the response data packet to the non-crossing layer by adopting the second appointed port according to the stored mapping relation between the information of the non-crossing layer and the information of the second appointed port; and the non-traversing layer receives a response data packet sent by the data processing layer and sends the response data packet to the session initiating terminal, wherein the response data packet comprises a response signaling data packet and a response media data packet.
CN201510995963.4A 2015-12-25 2015-12-25 Session boundary controller and data transmission method Active CN106921624B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510995963.4A CN106921624B (en) 2015-12-25 2015-12-25 Session boundary controller and data transmission method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510995963.4A CN106921624B (en) 2015-12-25 2015-12-25 Session boundary controller and data transmission method

Publications (2)

Publication Number Publication Date
CN106921624A CN106921624A (en) 2017-07-04
CN106921624B true CN106921624B (en) 2020-05-12

Family

ID=59456372

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510995963.4A Active CN106921624B (en) 2015-12-25 2015-12-25 Session boundary controller and data transmission method

Country Status (1)

Country Link
CN (1) CN106921624B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108011754B (en) * 2017-11-27 2021-11-09 新华三技术有限公司 Transfer control separation system, backup method and device
CN115550591A (en) * 2022-09-02 2022-12-30 深圳市华运通科技股份有限公司 Video communication system, video communication method and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101018229A (en) * 2007-02-12 2007-08-15 华为技术有限公司 A method and firewall for the media service to penetrate the firewall
CN102377834A (en) * 2010-08-20 2012-03-14 鸿富锦精密工业(深圳)有限公司 Network address translation equipment and communication method
CN103392316A (en) * 2013-01-11 2013-11-13 华为技术有限公司 Method of traversing firewall, client, and media traversing server

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2844938B1 (en) * 2002-09-23 2005-01-14 Cit Alcatel METHOD FOR INTERCEPTING CONTROL DATA, IN PARTICULAR QUALITY OF SERVICE, AND DEVICE THEREFOR

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101018229A (en) * 2007-02-12 2007-08-15 华为技术有限公司 A method and firewall for the media service to penetrate the firewall
CN102377834A (en) * 2010-08-20 2012-03-14 鸿富锦精密工业(深圳)有限公司 Network address translation equipment and communication method
CN103392316A (en) * 2013-01-11 2013-11-13 华为技术有限公司 Method of traversing firewall, client, and media traversing server

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SBC助VoIP穿越NAT的设计与实现;陈惠红 等;《信息通信》;20081215(第6期);第57-60页 *
基于SBC的SIP穿越NAT的研究与实现;王琰 等;《陇东学院学报》;20140915;第25卷(第5期);第25-27页 *

Also Published As

Publication number Publication date
CN106921624A (en) 2017-07-04

Similar Documents

Publication Publication Date Title
CN109274634B (en) Multimedia communication method and device, and storage medium
CN111740990B (en) Method and system for intercepting and decrypting fingerprint protected media traffic
US9515995B2 (en) Method and apparatus for network address translation and firewall traversal
US8607323B2 (en) Method for providing media communication across firewalls
RU2660620C1 (en) Communication device and method of bypassing gateway firewall of application layer in setting rts communication connection between rts-client and rts-server
US9473581B2 (en) Integrated web-enabled session border controller
US20130308628A1 (en) Nat traversal for voip
RU2543304C2 (en) Packet relay method and device
US11178102B2 (en) Method and a system for using relays for network optimization in IP-based communication networks
CN114866521A (en) Conference server
US10911413B2 (en) Encapsulating and tunneling WebRTC traffic
US9699237B2 (en) Managed media relay selection for real-time communications
US20080175383A1 (en) Method and communication unit for communicating between communication apparatus
EP2991318B1 (en) Hybrid cloud architecture for media communications
CN107612931B (en) Multipoint conversation method and multipoint conversation system
CN113630439B (en) Real-time communication RTC connection method, server and storage medium
JP2005260715A (en) Terminal device having packet nat transparent function, and its program
CN106921624B (en) Session boundary controller and data transmission method
EP3044929B1 (en) A mobile-device based proxy for browser-originated procedures
JP3929969B2 (en) COMMUNICATION SYSTEM, SERVER, TERMINAL DEVICE, COMMUNICATION METHOD, PROGRAM, AND STORAGE MEDIUM
EP3253004B1 (en) Communication control device, communication control method, and communication control program
KR20070096987A (en) Transparent proxy system and packet processing method thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: Room 810, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080

Patentee after: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building block A room 602

Patentee before: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder