CN117615023B - Transmission method crossing network boundary, electronic device and computer readable storage medium - Google Patents

Transmission method crossing network boundary, electronic device and computer readable storage medium Download PDF

Info

Publication number
CN117615023B
CN117615023B CN202410100078.4A CN202410100078A CN117615023B CN 117615023 B CN117615023 B CN 117615023B CN 202410100078 A CN202410100078 A CN 202410100078A CN 117615023 B CN117615023 B CN 117615023B
Authority
CN
China
Prior art keywords
media
port
signaling
proxy
source identifier
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
CN202410100078.4A
Other languages
Chinese (zh)
Other versions
CN117615023A (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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202410100078.4A priority Critical patent/CN117615023B/en
Publication of CN117615023A publication Critical patent/CN117615023A/en
Application granted granted Critical
Publication of CN117615023B publication Critical patent/CN117615023B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Abstract

The application discloses a transmission method, electronic equipment and a computer readable storage medium crossing network boundaries, wherein the method comprises the following steps: responding to a signaling proxy to obtain a request signaling of a requesting party, determining a source identifier matched with the request signaling, sending the source identifier to a media proxy, and obtaining a media proxy port distributed by the media proxy for the source identifier; forwarding the request signaling to a requested party, acquiring feedback information, and forwarding the feedback information to the requested party; the method comprises the steps that a requesting party and a requested party are switched between a client and a server, when request signaling and feedback information are forwarded, ports matched with a media proxy at a network boundary are modified into fixed media ports, and the media proxy stores mapping relations among the client, a source identifier and corresponding media proxy ports; in response to the requestor initiating a media stream, the media stream is transmitted to the requestor based on the fixed media port and the mapping relationship. The method and the device can reduce the cost of port resources of the network boundary.

Description

Transmission method crossing network boundary, electronic device and computer readable storage medium
Technical Field
The present disclosure relates to the field of information interaction technologies, and in particular, to a transmission method across network boundaries, an electronic device, and a computer readable storage medium.
Background
With importance attached to security in information interaction, applications for information interaction between a client and a server across network boundaries are becoming wider. However, in the prior art, when data is transmitted across a network boundary, ports matched with clients need to be maintained at the network boundary, and as the number of clients increases, demands for port resources of the network boundary also increase, but the demands are limited by network conditions, and the port resources of the network boundary are limited, so that how to reduce the cost of the port resources of the network boundary becomes a problem to be solved.
Disclosure of Invention
The technical problem that this application mainly solves is to provide a transmission method, electronic equipment and computer readable storage medium of crossing network boundary, can reduce the overhead of the port resource of network boundary.
In order to solve the above technical problem, a first aspect of the present application provides a transmission method across a network boundary, where the method includes: responding to a signaling proxy to obtain a request signaling of a requesting party, determining a source identifier matched with the request signaling, sending the source identifier to a media proxy, and obtaining a media proxy port allocated by the media proxy for the source identifier; forwarding the request signaling to a requested party, acquiring feedback information of the requested party responding to the request signaling, and forwarding the feedback information to the requested party; the request party and the requested party are switched between a client and a server, when the request signaling and the feedback information are forwarded, a port matched with a network boundary between the client and the media proxy is modified into a fixed media port, and the media proxy stores the mapping relation among the client, the information source identifier and the corresponding media proxy port; and transmitting the media stream to the requested party based on the fixed media port and the mapping relation in response to the request party initiating the media stream.
To solve the above technical problem, a second aspect of the present application provides an electronic device, including: a memory and a processor coupled to each other, wherein the memory stores program data, and the processor invokes the program data to perform the method of the first aspect.
To solve the above technical problem, a third aspect of the present application provides a computer-readable storage medium having stored thereon program data, which when executed by a processor, implements the method described in the first aspect.
According to the scheme, after the signaling proxy obtains the request signaling of the requester, the source identifier matched with the request signaling is determined, the source identifier is sent to the media proxy, the media proxy port distributed for the source identifier after the media proxy receives the source identifier is obtained, the request signaling is forwarded to the requester, and therefore feedback information of the requester is obtained after the requester responds to the request signaling, and the obtained feedback information is forwarded to the requester. The method comprises the steps that a request party is a client side and is served by the request party, the request party is served by the request party and is served by the request party, in the process that request signaling is forwarded to the requested party and feedback information is forwarded to the request party, a port matched with a media proxy at a network boundary is modified into a fixed media port, so that only the fixed media port is opened at the network boundary, the media port corresponding to the client at the network boundary is limited to be the fixed media port, the cost of port resources of the network boundary is greatly reduced, and the media proxy stores the mapping relation among the client, a source identifier and the corresponding media proxy port, and after the data passes through the fixed media port and crosses the network boundary, the media proxy can still be utilized to split the data at the media proxy port based on the mapping relation. Therefore, when the media stream is initiated by the requester, the media stream initiated by the requester can be fused at the fixed media port of the network boundary, the media stream can be accurately transmitted to the requested party based on the mapping relation, and the media stream is split at the media proxy port, so that the reliability of data transmission can be improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed 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 application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art. Wherein:
FIG. 1 is a flow chart of an embodiment of a transmission method of the present application across network boundaries;
fig. 2 is a schematic application scenario diagram of an embodiment of a transmission method crossing network boundaries in the present application;
FIG. 3 is a flow chart of another embodiment of a transmission method of the present application across network boundaries;
FIG. 4 is a schematic view of an application scenario of a first embodiment of the present application;
FIG. 5 is a schematic diagram of an embodiment of an electronic device of the present application;
fig. 6 is a schematic structural diagram of an embodiment of a computer-readable storage medium of the present application.
Detailed Description
The following description of the technical solutions in the embodiments of the present application will be made clearly and completely with reference to the drawings in the embodiments of the present application, and it is apparent that the described embodiments are only some embodiments of the present application, but not all embodiments. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present disclosure.
The terms "system" and "network" are often used interchangeably herein. The term "and/or" is herein merely an association relationship describing an associated object, meaning that there may be three relationships, e.g., a and/or B, may represent: a exists alone, A and B exist together, and B exists alone. In addition, the character "/" herein generally indicates that the front and rear associated objects are an "or" relationship. Further, "a plurality" herein means two or more than two.
The transmission method across the network boundary needs to call the signaling agent and the media agent at the network boundary, and the corresponding execution main body is a processing terminal capable of calling the signaling agent and the media agent at the network boundary.
It should be noted that, at least, the application may use softphone as a client, freeSwitch as a server, openSIPS as a signaling proxy, mediaProxy as a media proxy, where an implementation scenario corresponding to the application includes at least session initiation protocol (Session initialization Protocol, SIP) communication implemented based on user datagram protocol (User Datagram Protocol, UDP), and in other implementation scenarios where information interaction is performed through a session, the client, the server, the signaling proxy, and the media proxy may all be adaptively set, which is not limited in this application.
Referring to fig. 1 and fig. 2, fig. 1 is a flowchart of an embodiment of a transmission method of the present application crossing a network boundary, and fig. 2 is an application scenario of an embodiment of a transmission method of the present application crossing a network boundary, where the method includes:
s101: and responding to the signaling proxy to obtain the request signaling of the requester, determining a source identifier matched with the request signaling, transmitting the source identifier to the media proxy, and acquiring a media proxy port allocated by the media proxy for the source identifier.
Specifically, after the signaling proxy obtains the request signaling of the requesting party, determining the source identifier matched with the request signaling, sending the source identifier to the media proxy, and obtaining the media proxy port allocated for the source identifier after the media proxy receives the source identifier.
It should be noted that, in fig. 2, the dashed arrows indicate the flow direction of the signaling and feedback information, the solid arrows indicate the flow direction of the media stream, the requesting party is the client and is the server, and the requesting party is the client. The session description information of the request signaling may include a source identifier, and when the session description information of the request signaling includes the source identifier, the source identifier carried by the request signaling is extracted as the source identifier matched with the request signaling, and the session description information includes information transmitted based on a session description protocol (Session Description Protocol, SDP).
Optionally, when the session description information of the request signaling does not include the source identifier, generating a source identifier matched with the request signaling by using the signaling proxy.
In an application mode, when the session description information of the request signaling does not include the source identifier, the source identifiers cached by the signaling proxy are obtained, target source identifiers different from all the cached source identifiers are generated, and the target source identifiers are used as source identifiers matched with the request signaling.
In another application mode, after caching the source identifier, the signaling proxy generates a candidate source identifier based on the newly cached source identifier and an added value, wherein the added value can be randomly generated or set to be a fixed value, and when the session description information of the request signaling does not include the source identifier, the candidate source identifier is used as the source identifier matched with the request signaling.
In an application scenario, referring to fig. 2, when the requesting party is a client, the request signaling is sent to a fixed signaling port of the network boundary, and is transmitted from the fixed signaling port to the signaling proxy.
In another application scenario, referring to fig. 2, when the requesting party is the service end, the request signaling is directly sent to the signaling proxy.
Further, the source identifier is sent to the media proxy, and after the media proxy responds, the media proxy port allocated by the media proxy for the source identifier is obtained.
In one application mode, the source identifier is sent to the media proxy, the idle media proxy port randomly selected by the media proxy from the media proxy port pool is obtained, and the media proxy port distributed by the media proxy for the source identifier is obtained.
In another application mode, the information source identifier is sent to the media proxy, the idle media proxy ports selected by the media proxy according to the port number sequence in the media proxy port pool are obtained, and the media proxy ports distributed by the media proxy for the information source identifier are obtained.
It should be noted that the request signaling matches a type of media stream, and the media stream may be a video stream or an audio stream. Therefore, when the interaction of the video stream and the audio stream exists between the client and the server, two mutually-distinguished source identifiers are corresponding between the client and the server, the video stream and the audio stream are respectively matched, and each source identifier is allocated with a corresponding media proxy port.
S102: forwarding the request signaling to the requested party, acquiring feedback information of the requested party responding to the request signaling, and forwarding the feedback information to the requested party; the method comprises the steps that a requester and a requested party are switched between a client and a server, when request signaling and feedback information are forwarded, ports matched with a media proxy at a network boundary are modified into fixed media ports, and the media proxy stores mapping relations among the client, a source identifier and corresponding media proxy ports.
Specifically, the request signaling is forwarded to the requester, so that the feedback information of the requester is obtained after the requester responds to the request signaling, and the obtained feedback information is forwarded to the requester. The request party is a client and is served by the request party, and the request party is a client and is served by the request party.
It should be noted that, in the process of forwarding the request signaling to the requested party and forwarding the feedback information to the requested party, the port where the client and the media proxy are matched at the network boundary is modified to be a fixed media port, so that only the fixed media port is opened at the network boundary, the media port corresponding to the client at the network boundary is defined to be the fixed media port, the cost of the port resource at the network boundary is greatly reduced, the media proxy stores the mapping relation among the client, the source identifier and the corresponding media proxy port, and after the data crosses the network boundary through the fixed media port, the media proxy can still be utilized to split the data at the media proxy port based on the mapping relation.
In an application mode, the request signaling is forwarded to a requested party, wherein the requested party generates a feedback code after responding to the request signaling, the feedback code is used for indicating whether to accept the request, the feedback information comprises the feedback code, and the feedback code is forwarded to the requested party when the feedback code accepts the request.
When the requesting party is a client, the requested party generates a feedback code, and when the feedback code is forwarded to the requesting party, the fixed media port is forwarded to the requesting party together. When the requesting party is a service end, the port value carried by the session description information in the request signaling is modified to be a fixed media port, and is forwarded to the requested party.
In another application mode, the request signaling is forwarded to the requested party, wherein the requested party generates feedback signaling after responding to the request signaling, the feedback signaling comprises session description information, and the feedback signaling is forwarded to the requested party.
It should be noted that, when the requesting party is a client, the requested party generates a feedback signaling, and the port value carried by the session description information in the feedback signaling is modified to be a fixed media port so as to be forwarded to the requesting party. When the requesting party is a service end, the port value carried by the session description information in the request signaling is modified to be a fixed media port, and is forwarded to the requested party.
It can be understood that the client can obtain the fixed media port in the forwarding process of the request signaling and the feedback information, and the media proxy stores the mapping relationship among the client, the source identifier and the corresponding media proxy port.
S103: in response to the requestor initiating a media stream, the media stream is transmitted to the requestor based on the fixed media port and the mapping relationship.
Specifically, when a requester initiates a media stream, the media stream initiated by the requester can be fused at a fixed media port of a network boundary, the media stream can be accurately transmitted to a requested party based on a mapping relation, and the media stream is split at a media proxy port, so that the reliability of data transmission can be improved.
In an application mode, when a requester initiates a media stream, the media stream is fused at a fixed media port, and the fused media stream is distributed in batches by using a mapping relation, so that the media stream is transmitted to a requested party.
In another application mode, when a requester initiates a media stream, the media stream is fused at a fixed media port, and the fused media streams are distributed one by one in sequence by utilizing a mapping relation, so that the media stream is transmitted to a requested party.
It may be understood that, as shown in fig. 2, the requesting party may be a client or a server, the transmission process of the media stream may be that the client initiates the media stream to the server, or the client initiates the media stream to the server before the media stream is initiated to the client, where the client is deployed in the external network and the server is deployed in the internal network.
In an application scenario, when a request party is a client, media streams of the client are all sent to a fixed media port, media streams sent to the fixed media port by the client are obtained, and the media streams are distributed to corresponding media proxy ports based on a mapping relation, so that the media streams are transmitted to an intranet media port of a server, a process of data transmission from an external network to an intranet across a network boundary is realized, and only the fixed media port needs to be opened at the network boundary.
In another application scenario, when the requesting party is the service end, the code stream of the service end is sent out from the media port of the intranet, the media stream received from the media proxy port corresponding to the media port of the intranet is obtained, the media streams received by the media proxy port are fused at the fixed media port, the media streams of the fixed media port are distributed to the corresponding client based on the mapping relation, the process of data transmission from the intranet to the external network across the network boundary is realized, and only the fixed media port needs to be opened at the network boundary.
It should be noted that, when the source identifier is the synchronization source identifier SSRC in the context of SIP communication implemented based on UDP, the fixed media ports specifically include Real-time transport protocol (Real-time Transport Protocol, RTP) ports and Real-time transport control protocol (Real-time Transport Control Protocol, RTCP) ports. Therefore, the ports opened at the network boundary can be three ports which are fixed, and the ports are not increased along with the increase of the clients, so that the cost of port resources at the network boundary is saved.
According to the scheme, after the signaling proxy obtains the request signaling of the requester, the source identifier matched with the request signaling is determined, the source identifier is sent to the media proxy, the media proxy port distributed for the source identifier after the media proxy receives the source identifier is obtained, the request signaling is forwarded to the requester, and therefore feedback information of the requester is obtained after the requester responds to the request signaling, and the obtained feedback information is forwarded to the requester. The method comprises the steps that a request party is a client side and is served by the request party, the request party is served by the request party and is served by the request party, in the process that request signaling is forwarded to the requested party and feedback information is forwarded to the request party, a port matched with a media proxy at a network boundary is modified into a fixed media port, so that only the fixed media port is opened at the network boundary, the media port corresponding to the client at the network boundary is limited to be the fixed media port, the cost of port resources of the network boundary is greatly reduced, and the media proxy stores the mapping relation among the client, a source identifier and the corresponding media proxy port, and after the data passes through the fixed media port and crosses the network boundary, the media proxy can still be utilized to split the data at the media proxy port based on the mapping relation. Therefore, when the media stream is initiated by the requester, the media stream initiated by the requester can be fused at the fixed media port of the network boundary, the media stream can be accurately transmitted to the requested party based on the mapping relation, and the media stream is split at the media proxy port, so that the reliability of data transmission can be improved.
Referring to fig. 2 and 3, fig. 3 is a flow chart of another embodiment of a transmission method crossing network boundaries according to the present application, where the method includes:
s301: and responding to the signaling proxy to obtain the request signaling of the requester, determining a source identifier matched with the request signaling, transmitting the source identifier to the media proxy, and acquiring a media proxy port allocated by the media proxy for the source identifier.
Specifically, when the signaling proxy obtains the request signaling of the requesting party, the signaling proxy obtains the source identifier matched with the request signaling, sends the source identifier to the media proxy so as to request the session establishment with the media proxy, and obtains the media proxy port allocated for the source identifier after the media proxy responds.
In an application mode, determining a source identifier matched with a request signaling based on the description of session description information in the request signaling aiming at the source identifier; and initiating a session request to the media proxy and sending the information source identifier to the media proxy, and acquiring a media proxy port allocated to the information source identifier after the media proxy responds to the session request.
Specifically, session description information in the request signaling is acquired, description of the session description information for the source identifier is determined, when the session description information comprises the source identifier, the source identifier included in the session description information is used as the source identifier matched with the request signaling, when the session description information does not comprise the source identifier, the source identifier is acquired from the signaling proxy and used as the source identifier matched with the request signaling, so that the request signaling is ensured to acquire the matched source identifier and the source identifier has uniqueness, and the signaling proxy maintains the source identifier matched with the request signaling which is different from the established session.
Further, a session request is initiated to the media proxy and a source identifier matched with the request signaling is sent to the media proxy, and the media proxy allocates a corresponding media proxy port for the source identifier after responding to the session request, so that the media proxy port matched with the source identifier is obtained, the source identifier is bound with the allocated media proxy port, and the mapping relationship is finally established.
Optionally, the source identifier is bound with the address and port of the requester so as to be cached in the media proxy, so that the subsequent analysis and forwarding of the media stream between the media proxy and the requester are more accurate.
It can be understood that the requesting party is a client and is served by the requesting party, the requesting party is served by the requesting party and is served by the requesting party, the client is deployed in the external network, and the server is deployed in the internal network.
In an application scenario, after determining the source identifier matched with the request signaling based on the description of the session description information in the request signaling for the source identifier, the method further includes: determining a network flow direction of the request signaling based on session description information in the request party and the request signaling, and generating a program expression header by utilizing the network flow direction and the information source identifier; wherein the program expression header comprises a network identification bit and a network identifier matched with the network flow direction; initiating a session request to a media proxy and sending a source identifier to the media proxy, acquiring a media proxy port allocated to the source identifier after the media proxy responds to the session request, comprising: and initiating a session request to the media proxy and sending a program expression header to the media proxy, and acquiring a media proxy port allocated to the source identifier from the media proxy port pool after the media proxy responds to the session request and analyzes the program expression header.
Specifically, the requester and the session description information are analyzed to determine whether the network flow of the request signaling is from the external network to the internal network or from the internal network to the external network, and the program expression header is generated by using the network flow and the information source identifier together, so that the program expression header can explicitly indicate the network flow and contains the information source identifier matched with the request signaling.
Further, referring to fig. 4, fig. 4 is a schematic application scenario of an embodiment of a program expression header of the present application, where the program expression header includes a network identification bit matched with a network flow direction, that is, a requester identification bit and a requested party identification bit shown in fig. 4, and the program expression header includes a network identifier set on the network identification bit, that is, a character 1 and a character 2 shown in fig. 4. Therefore, after the network identifiers respectively matched with the internal network and the external network are combined with the network identification bit, the network flow direction can be accurately indicated, so that the media agency can determine whether the request signaling comes from the internal network or the external network. In addition, the program expression header further includes a header field name and a source identifier, where the location arrangement between the source identifier and the network identifier shown in fig. 4, and the specific representation mode of the network identifier may be set in a customized manner in other scenarios, which is not limited in this application specifically.
It can be understood that when the program expression header is obtained, a session request can be initiated to the media proxy and the program expression header is sent to the media proxy, the media proxy responds to the session request after analyzing the corresponding field, and the media proxy port allocated to the source identifier is selected from the media proxy port pool, so that the media proxy port matched with the source identifier is obtained, the media proxy can determine the network flow direction in the signaling transmission process, and the media proxy port more adapted to the network flow direction is allocated to the source identifier.
S302: forwarding the request signaling to the requested party, acquiring feedback information of the requested party responding to the request signaling, and forwarding the feedback information to the requested party; the method comprises the steps that a requester and a requested party are switched between a client and a server, when request signaling and feedback information are forwarded, ports matched with a media proxy at a network boundary are modified into fixed media ports, and the media proxy stores mapping relations among the client, a source identifier and corresponding media proxy ports.
Specifically, a request signaling is forwarded to a requester, feedback information responded by the requester is obtained, the obtained feedback information is forwarded to the requester, a port of a client matched with a media proxy at a network boundary is modified to be a fixed media port in the process of forwarding the request signaling and the feedback information, and a mapping relation among the client, a source identifier and the corresponding media proxy port is stored in the media proxy.
In an application scenario, when the requesting party is a client, forwarding the request signaling to the requested party, acquiring feedback information of the requested party responding to the request signaling, and forwarding the feedback information to the requesting party, including: modifying a port value carried by session description information in the request signaling by using a media proxy port corresponding to the source identifier, and forwarding the modified request signaling to the server; the server side responds to the request signaling to generate a first feedback code and a first feedback signaling, wherein the feedback information comprises the first feedback code and the first feedback signaling; and modifying the port value carried by the session description information in the first feedback signaling by using the fixed media port, and forwarding the modified first feedback signaling and the first feedback code to the client.
Specifically, when the request signaling is initiated by the client, after the media proxy port allocated by the media proxy for the source identifier is obtained, the port value carried by the session description information in the request signaling is modified to the media proxy port allocated by the source identifier, and the modified request signaling is forwarded to the server, so that the server can configure the intranet media port matched with the media proxy port, and the media interaction between the media proxy and the server can be realized. The feedback information generated by the server side in response to the request signaling comprises a first feedback code and a first feedback signaling, wherein the first feedback code is generated based on a session protocol and is used for identifying successful response of the request signaling, and the first feedback signaling comprises session description information.
Further, the port value carried by the session description information in the first feedback signaling is modified to be a fixed media port, and the modified first feedback signaling and the first feedback code are forwarded to the client, so that the client can confirm that the session is established successfully after receiving the first feedback signaling and the first feedback code, and then the media stream is sent to the fixed media port of the network boundary, thereby effectively reducing the number of ports with open network boundary when information interaction is carried out across the network boundary.
In another application scenario, when the requesting party is a service end, forwarding the request signaling to the requested party, acquiring feedback information of the requested party responding to the request signaling, and forwarding the feedback information to the requesting party includes: modifying a port value carried by session description information in the request signaling by using a fixed media port, and forwarding the modified request signaling to the client; the client side responds to the request signaling to generate a second feedback code and a second feedback signaling, wherein the feedback information comprises the second feedback code and the second feedback signaling; and modifying a port value carried by session description information in the second feedback signaling by using a media proxy port corresponding to the information source identifier, and forwarding the modified second feedback signaling and the second feedback code to the server.
Specifically, when a request signaling is initiated by a server, after a media proxy port allocated by a media proxy for a source identifier is obtained, a port value carried by session description information in the request signaling is modified into a fixed media port, and the modified request signaling is forwarded to a client, so that the client can analyze and obtain the fixed media port after receiving the modified request signaling, and then the media stream is sent to the fixed media port of a network boundary, thereby effectively reducing the number of ports opened by the network boundary when information interaction is carried out across the network boundary. The feedback information generated by the client in response to the request signaling comprises a second feedback code and a second feedback signaling, wherein the second feedback code is generated based on a session protocol and is used for identifying successful response of the request signaling, and the second feedback signaling comprises session description information.
Further, the port value carried by the session description information in the second feedback signaling is modified to be the media proxy port corresponding to the source identifier, and the modified second feedback signaling and the second feedback code are forwarded to the server, so that the server can configure the intranet media port matched with the media proxy port, and media interaction between the media proxy and the server can be achieved.
It should be noted that, the client needs to register with the server through the registration signaling first, and after the registration is completed, when the server is the requesting party, the server can send the request signaling to the client through the signaling proxy by using the registration address information.
It can be understood that whether the requesting party is a client or a server, the port where the client and the media proxy are matched at the network boundary can be modified to be a fixed media port by forwarding request signaling and feedback information, and the server can configure an intranet media port matched with the media proxy port. Therefore, the media proxy can save the mapping relation among the client, the information source identifier and the corresponding media proxy ports, so that different mapping relations can be distinguished through the information source identifier, and the media stream can be accurately transmitted based on the mapping relation.
S303: in response to the requestor initiating a media stream, the media stream is transmitted to the requestor based on the fixed media port and the mapping relationship.
Specifically, when a requester initiates a media stream, the media stream initiated by the requester can be fused at a fixed media port of a network boundary, the media stream can be accurately transmitted to a requested party based on a mapping relation, and the media stream is split at a media proxy port.
In an application scenario, when the requesting party is at least one client, transmitting the media stream to the requested party based on the fixed media port and the mapping relation, including: acquiring a first media stream uploaded to a fixed media port by each client; the first media stream carries a source identifier matched with the client; determining a first target mapping relation matched with a source identifier carried by a first media stream from all mapping relations stored by a media proxy; distributing the first media stream to a media proxy port corresponding to the information source identifier carried by the first media stream by utilizing the first target mapping relation; the media proxy port transmits the first media stream to a corresponding intranet media port on the server.
Specifically, multiple clients can transmit the first media stream to the server in parallel, the ports of the clients and the media agent matched at the network boundary are uniformly modified into fixed media ports, and the first media stream uploaded to the fixed media ports by each client is obtained, so that the first media streams of different clients are fused at the fixed media ports. The first media stream carries a source identifier matched with the client, and the source identifier matched with the client is the source identifier matched with the request signaling related to the client.
Further, the mapping relation matched with the source identifier carried by the first media stream is searched from all the mapping relations stored by the media proxy and used as a first target mapping relation, the first media stream is distributed to the media proxy port corresponding to the source identifier carried by the first media stream by using the first target mapping relation, so that the streaming is realized at the media proxy port, and the media proxy port transmits the first media stream to the intranet media port corresponding to the server. Therefore, the server side has no perception on the fixed media port of the network boundary, and the server side can still perform media stream interaction based on the conventional communication mode, so that the universality of the transmission mode when the client side transmits the media stream to the server side is improved.
It can be understood that, after the plurality of clients transmit the media stream to the server, if the server does not need to feed back the media stream to a part of clients, the media stream transmission process between the corresponding client and the server is unidirectional transmission, and if the server needs to feed back the media stream to a part of clients, the media stream transmission process between the corresponding client and the server is bidirectional transmission.
Optionally, when the server obtains the first media stream of the client and initiates the second media stream to at least one client, the method transmits the media stream to the requested party based on the fixed media port and the mapping relation includes: acquiring a second media stream transmitted from an intranet media port of a server to a media proxy port; determining a second target mapping relation corresponding to a media agent port receiving a second media stream from all the mapping relations stored by the media agent; and transmitting the media stream to the client matched with the second target mapping relation by using the fixed media port.
Specifically, the server sends a second media stream fed back to the client from an intranet media port of the server, acquires the second media stream transmitted to the media proxy port, searches a mapping relation matched with the media proxy port receiving the second media stream from all mapping relations stored by the media proxy, and uses the mapping relation as a second target mapping relation, fuses the second media stream received by the media proxy port at a fixed media port of a network boundary, so that the media stream is transmitted to the client matched with the second target mapping relation by using the fixed media port, and the second media stream is split at the fixed media port according to a link of the second mapping relation and is accurately transmitted to the corresponding client, thereby realizing bidirectional transmission of the media stream between the client and the server.
S304: based on address and port of client end, address and port of fixed media port and server end, generating forwarding rule corresponding to media stream, and issuing forwarding rule to system kernel.
Specifically, the address and port of the client, the fixed media port of the network boundary and the address and port of the server are utilized to generate a forwarding rule corresponding to the media stream between the client and the server, and the forwarding rule is issued to the system kernel, so that the media stream forwarding of the session is processed by the system kernel completely, and the media stream forwarding of the session in the media proxy is terminated, thereby improving the forwarding efficiency of the media stream in multipath concurrency.
In an application scenario, the system is specifically a Linux system, analyzes a source address port and a destination address port of a media stream to obtain an address and a port of a client and an address and a port of a server, generates a forwarding rule from the client to the fixed media port to the server and from the server to the fixed media port to the client based on the address and the port of the client, the address and the port of the fixed media port and the address and the port of the server, and calls a system iptables command to issue the forwarding rule to a system kernel, so that after the media stream in the earlier stage of a session is forwarded, the system kernel is used for processing the forwarding of the media stream of the session completely.
Different from the above embodiment, the network flow direction and the source identifier are used to generate the program expression header together, so that the media proxy can determine the network flow direction in the signaling transmission process, and therefore, the media proxy port more adapted to the network flow direction is allocated to the source identifier, no matter the requesting party is the client or the service terminal, the port matched with the media proxy at the network boundary can be modified into a fixed media port through the request signaling and the forwarding of the feedback information, and the service terminal can configure the intranet media port matched with the media proxy port. Therefore, the media proxy can store the mapping relation among the client, the information source identifier and the corresponding media proxy ports, so that different mapping relations can be distinguished through the information source identifier, the media stream can be accurately transmitted based on the mapping relation, after the media stream passing through the early stage of the session is forwarded, the address and the port of the client, the fixed media port of the network boundary and the address and the port of the server are utilized to generate the forwarding rule corresponding to the media stream between the client and the server, and the forwarding rule is issued to the system kernel, so that the media stream forwarding of the session is processed through the system kernel, and the forwarding efficiency of the media stream in multipath concurrency is improved.
Referring to fig. 5, fig. 5 is a schematic structural diagram of an embodiment of an electronic device according to the present application, where the electronic device 50 includes a memory 501 and a processor 502 coupled to each other, where the memory 501 stores program data (not shown), and the processor 502 invokes the program data to implement a method according to any one of the above embodiments, and the description of the related content is referred to the detailed description of the above method embodiments and is not repeated herein.
Referring to fig. 6, fig. 6 is a schematic structural diagram of an embodiment of a computer readable storage medium 60 of the present application, where the computer readable storage medium 60 stores program data 600, and when the program data 600 is executed by a processor, the method in any embodiment is implemented, and details of the related content are described in the embodiment of the method, which will not be described herein.
The units described as separate units may or may not be physically separate, and units displayed as units may or may not be physical units, may be located in one place, or may be distributed over a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the embodiment.
In addition, each functional unit in each embodiment of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be embodied essentially or in part or all or part of the technical solution contributing to the prior art or in the form of a software product stored in a storage medium, including several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor (processor) to perform all or part of the steps of the methods of the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The foregoing description is only of embodiments of the present application, and is not intended to limit the scope of the patent application, and all equivalent structures or equivalent processes using the descriptions and the contents of the present application or other related technical fields are included in the scope of the patent application.

Claims (10)

1. A method of transmission across a network boundary, the method comprising:
responding to a signaling proxy to obtain a request signaling of a requesting party, determining a source identifier matched with the request signaling, sending the source identifier to a media proxy, and obtaining a media proxy port allocated by the media proxy for the source identifier;
forwarding the request signaling to a requested party, acquiring feedback information of the requested party responding to the request signaling, and forwarding the feedback information to the requested party; the method comprises the steps that a requester and a requested party are switched between a client and a server, when forwarding request signaling and feedback information, ports of the client and media agents, which are matched with each other at a network boundary, are modified to be fixed media ports, the media agents store mapping relations among the client, the source identifiers and the corresponding media agent ports, when the requester is the client, port values in the request signaling are modified to be the media agent ports corresponding to the source identifiers, the server responds to the request signaling to generate first feedback signaling, port values in the first feedback signaling are modified to be the fixed media ports, when the requester is the server, port values in the request signaling are modified to be the fixed media ports, the client responds to the request signaling to generate second feedback signaling, and port values in the second feedback signaling are modified to be the media agent ports corresponding to the source identifiers;
And transmitting the media stream to the requested party based on the fixed media port and the mapping relation in response to the request party initiating the media stream.
2. The method of claim 1, wherein the determining the source identifier that the request signaling matches, sending the source identifier to a media proxy, and obtaining the media proxy port assigned by the media proxy for the source identifier, comprises:
determining a source identifier matched with the request signaling based on the description of the session description information in the request signaling aiming at the source identifier;
and initiating a session request to the media proxy and sending the information source identifier to the media proxy, and acquiring a media proxy port allocated to the information source identifier after the media proxy responds to the session request.
3. The method according to claim 2, wherein the client is deployed in an external network, the server is deployed in an internal network, and the determining the source identifier matched with the request signaling based on the description of the session description information in the request signaling for the source identifier further comprises:
determining a network flow direction of the request signaling based on session description information in the request signaling and the request signaling, and generating a program expression header by using the network flow direction and the information source identifier; wherein the program expression header includes a network identification bit and a network identifier that match the network flow direction;
The step of initiating a session request to the media proxy and sending the source identifier to the media proxy, and obtaining the media proxy port allocated to the source identifier after the media proxy responds to the session request, includes:
and initiating a session request to the media proxy and sending the program expression header to the media proxy, and after obtaining the media proxy to respond to the session request and analyzing the program expression header, distributing a media proxy port for the information source identifier from a media proxy port pool.
4. The method of claim 1, wherein when the requesting party is a client, the forwarding the request signaling to a requested party and obtaining feedback information of the requested party in response to the request signaling, forwarding the feedback information to the requesting party, comprises:
modifying a port value carried by session description information in the request signaling by using a media proxy port corresponding to the source identifier, and forwarding the modified request signaling to the server; the server side responds to the request signaling to generate a first feedback code and a first feedback signaling, and the feedback information comprises the first feedback code and the first feedback signaling;
And modifying a port value carried by session description information in the first feedback signaling by using the fixed media port, and forwarding the modified first feedback signaling and the first feedback code to the client.
5. The method of claim 1, wherein when the requesting party is a service end, the forwarding the request signaling to a requested party and obtaining feedback information of the requested party in response to the request signaling, forwarding the feedback information to the requesting party, comprises:
modifying a port value carried by session description information in the request signaling by using the fixed media port, and forwarding the modified request signaling to the client; the client side responds to the request signaling to generate a second feedback code and a second feedback signaling, wherein the feedback information comprises the second feedback code and the second feedback signaling;
and modifying a port value carried by session description information in the second feedback signaling by using a media proxy port corresponding to the information source identifier, and forwarding the modified second feedback signaling and the second feedback code to the server.
6. The method of claim 1, wherein when the requesting party is at least one of the clients, the transmitting the media stream to the requested party based on the fixed media port and the mapping relationship comprises:
Acquiring a first media stream uploaded to the fixed media port by each client; wherein, the first media stream carries the source identifier matched with the client;
determining a first target mapping relation matched with a source identifier carried by the first media stream from all the mapping relations stored by the media proxy;
distributing the first media stream to a media proxy port corresponding to a source identifier carried by the first media stream by using the first target mapping relation; the media proxy port transmits the first media stream to a corresponding intranet media port on the server.
7. The method of claim 6, wherein when the server initiates a second media stream to at least one of the clients after obtaining the first media stream of the client, the transmitting the media stream to the requested party based on the fixed media port and the mapping relationship comprises:
acquiring the second media stream transmitted from the intranet media port of the server to the media proxy port;
determining a second target mapping relation corresponding to the media agent port which receives the second media stream from all the mapping relations stored by the media agent;
And transmitting the media stream to the client matched with the second target mapping relation by utilizing the fixed media port.
8. The method of claim 1, wherein said transmitting said media stream to said requested party based on said fixed media port and said mapping relationship in response to said requesting party initiating said media stream further comprises:
and generating a forwarding rule corresponding to the media stream based on the address and the port of the client, the fixed media port and the address and the port of the server, and transmitting the forwarding rule to a system kernel.
9. An electronic device, comprising: a memory and a processor coupled to each other, wherein the memory stores program data that the processor invokes to perform the method of any of claims 1-8.
10. A computer readable storage medium having stored thereon program data, which when executed by a processor, implements the method of any of claims 1-8.
CN202410100078.4A 2024-01-24 2024-01-24 Transmission method crossing network boundary, electronic device and computer readable storage medium Active CN117615023B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410100078.4A CN117615023B (en) 2024-01-24 2024-01-24 Transmission method crossing network boundary, electronic device and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410100078.4A CN117615023B (en) 2024-01-24 2024-01-24 Transmission method crossing network boundary, electronic device and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN117615023A CN117615023A (en) 2024-02-27
CN117615023B true CN117615023B (en) 2024-04-12

Family

ID=89953936

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410100078.4A Active CN117615023B (en) 2024-01-24 2024-01-24 Transmission method crossing network boundary, electronic device and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN117615023B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004034637A1 (en) * 2002-10-09 2004-04-22 Zte Corporation A method and system of teleservice interworking of broadband heterogeneous networks
CN1574798A (en) * 2003-05-29 2005-02-02 微软公司 Controlled relay of media streams across network perimeters
CN1581872A (en) * 2003-08-06 2005-02-16 中兴通讯股份有限公司 Method for realizing signaling agency based on MEGACO protocol
CN1838616A (en) * 2006-04-25 2006-09-27 中国移动通信集团公司 Media stream shunting system and method
CN101771730A (en) * 2008-11-28 2010-07-07 华为终端有限公司 Method, device and system for issuing service
CN113489717A (en) * 2021-07-02 2021-10-08 北京飞讯数码科技有限公司 Internal and external network intercommunication method, device, equipment and storage medium based on SIP protocol
CN114244908A (en) * 2021-11-05 2022-03-25 浙江蓝卓工业互联网信息技术有限公司 Cross-domain RTSP streaming media transmission method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004034637A1 (en) * 2002-10-09 2004-04-22 Zte Corporation A method and system of teleservice interworking of broadband heterogeneous networks
CN1574798A (en) * 2003-05-29 2005-02-02 微软公司 Controlled relay of media streams across network perimeters
CN1581872A (en) * 2003-08-06 2005-02-16 中兴通讯股份有限公司 Method for realizing signaling agency based on MEGACO protocol
CN1838616A (en) * 2006-04-25 2006-09-27 中国移动通信集团公司 Media stream shunting system and method
CN101771730A (en) * 2008-11-28 2010-07-07 华为终端有限公司 Method, device and system for issuing service
CN113489717A (en) * 2021-07-02 2021-10-08 北京飞讯数码科技有限公司 Internal and external network intercommunication method, device, equipment and storage medium based on SIP protocol
CN114244908A (en) * 2021-11-05 2022-03-25 浙江蓝卓工业互联网信息技术有限公司 Cross-domain RTSP streaming media transmission method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
叶舒 ; .多媒体通信中网络边界穿越技术应用研究.计算机与数字工程.2008,(第09期),全文. *
朱世交 ; 杨珺 ; 唐忠 ; .基于RTSP控制的流媒体代理服务器集成算法研究.计算机应用.2009,(第04期),全文. *

Also Published As

Publication number Publication date
CN117615023A (en) 2024-02-27

Similar Documents

Publication Publication Date Title
US11461402B2 (en) Routing based request correlation
US6862277B2 (en) Method and apparatus for multi-media communication over multiple networks
CA2635181C (en) Session initiation protocol adaptor
US8892768B2 (en) Load balancing apparatus and load balancing method
US11171998B2 (en) Set-up of media stream transmission and server and client for media stream transmission
US7779131B2 (en) Server and communication control method
US8601139B2 (en) Multiple core session initiation protocol (SIP)
CN101355492B (en) Routing method and system for access protocol of simple objects as well as relevant equipment
CN113630439B (en) Real-time communication RTC connection method, server and storage medium
US20090067419A1 (en) Transmission control apparatus and method
GB2417639A (en) Assigning participant identifying data to network transmission events.
CN114679434B (en) Session message processing system, method, computer device and storage medium
US8082580B1 (en) Session layer pinhole management within a network security device
JP4537250B2 (en) Gateway device
CN117615023B (en) Transmission method crossing network boundary, electronic device and computer readable storage medium
TWI433517B (en) Method and apparatus of processing sip messages based on multiple cores
EP2589195B1 (en) Method and apparatus for transmitting an application identifier across application elements
CN111107134A (en) Connection control method and device, electronic equipment and readable storage medium
US8639828B1 (en) Accelerated TCP network communications
WO2023005630A1 (en) Method and apparatus for sending message to be transferred, and storage medium and electronic apparatus
CN117749773A (en) Data transmission method, device and system and electronic equipment
KR20080093725A (en) Terminal unit for providing ip multimedia service on the basis of session initiaion protocol, call session control function device, method of transmitting and receiving thereof
JP6014580B2 (en) Load distribution apparatus, load distribution method, and load distribution program
CN114116240A (en) Remote procedure calling method for directly pushing local parameters to remote end by client
JP5272027B2 (en) Call control method and call control system

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