WO2023011056A1 - 一种通信方法及装置 - Google Patents

一种通信方法及装置 Download PDF

Info

Publication number
WO2023011056A1
WO2023011056A1 PCT/CN2022/102428 CN2022102428W WO2023011056A1 WO 2023011056 A1 WO2023011056 A1 WO 2023011056A1 CN 2022102428 W CN2022102428 W CN 2022102428W WO 2023011056 A1 WO2023011056 A1 WO 2023011056A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
terminal device
channel
application
media
Prior art date
Application number
PCT/CN2022/102428
Other languages
English (en)
French (fr)
Inventor
施钰莹
高扬
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to BR112024001936A priority Critical patent/BR112024001936A2/pt
Publication of WO2023011056A1 publication Critical patent/WO2023011056A1/zh

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/10Architectures or entities
    • H04L65/1016IP multimedia subsystem [IMS]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres

Definitions

  • the present application relates to the technical field of communication, and in particular to a communication method and device.
  • IP Multimedia Subsystem IP Multimedia Subsystem
  • the present application provides a communication method and device, which are used to implement superimposed application functions under the IMS system.
  • the embodiment of the present application provides a communication method, including: when the first terminal device triggers the execution of the first application to perform a data channel DC call with the second terminal device, generating a session modification request through the DC call control script , the session modification request is used to request establishment of a data channel with the second terminal device, and the data channel is used to transmit and run the first application between the first terminal device and the second terminal device Generated media data; sending the session modification request to the call application server.
  • the IMS communication system only supports functions such as audio and video calls, and users may need to superimpose other application functions during the call, such as screen sharing and remote collaboration.
  • the creation of communication connections is currently triggered through the UI, which is not suitable for the superposition of application functions.
  • the first terminal device supports the sending of the script trigger session message, so that the terminal device supports the session modification request triggering the DC call in the IMS system, so as to realize the establishment of the channel for transmitting application data. In this way, it supports the transmission of application data and the superimposition of application functions.
  • the session modification request includes first media description information of the first terminal device, and the first media description information includes parameters for creating the data channel; the method further includes : receiving a session modification response, where the session modification response includes second media description information of the second terminal device, where the second media description information includes parameters for creating the data channel; according to the first media description information and the second media description information to create the data channel.
  • the method further includes: the first terminal device generates first media data when running the first application; sending the first media data to the second terminal device through the data channel data.
  • the data of the running application supports transmission through the data channel.
  • the method further includes: receiving second media data from the second terminal device through the data channel; running the first application to perform media processing on the second media data .
  • the data of the running application supports transmission through the data channel.
  • the method further includes: the first terminal device generates first media data by running the first application; performing data encapsulation processing on the first media data; Send the first media data after data encapsulation processing to the second terminal device.
  • the processing of application data is supported, and the processed data is supported to be transmitted through the data channel.
  • the method further includes: receiving second media data from the second terminal device through the data channel; performing decapsulation processing on the second media data; running the first The application performs media processing on the decapsulated second media data.
  • the processing of application data is supported, and the processed data is supported to be transmitted through the data channel.
  • the embodiment of the present application provides a communication device, including a script module, a session establishment and control module, and a network interface module;
  • a session control request is sent to the session establishment and control module through the DC call control script.
  • the session control request is used to indicate the generation of a session modification request, and the session modification request is used to request the establishment of a session with the second terminal device.
  • the data channel is used to transmit the media data generated by running the first application between the first terminal device and the second terminal device; the session establishment and control module is used to generate a session modification request according to the session control request; the network interface module, Used to send a session modification request to the call application server.
  • the communication between the script module and the session establishment and control module is supported.
  • the session modification request includes first media description information of the first terminal device, and the first media description information includes parameters for creating a data channel; the device further includes a data channel module;
  • the network interface module is further configured to receive a session modification response from the application server of the first application, the session modification response includes second media description information of the second terminal device, and the second media description information includes parameters for creating a data channel;
  • the network interface module is also used to send the session modification response to the session establishment and control module;
  • the session establishment and control module is also used to send the first media description information and the second media description information to the data channel module;
  • a data channel module configured to establish a data channel according to the first media description information and the second media description information.
  • the script module is also used to generate the first media data when running the first application, and send the first media data to the data channel module; the data channel module is used to channel the first media data The encapsulation process obtains the first DC data, and sends the first DC data to the network interface module; the network interface module is configured to send the first DC data to the second terminal device through the data channel.
  • the message transmission between the script module and the data channel module is supported.
  • the data generated by the script module is transmitted to the peer end through the data channel.
  • the network interface module is further configured to receive second DC data from the second terminal device through a data channel, and the second DC data carries second media data of the second terminal device;
  • the data channel module is also configured to It is used to perform channel decapsulation processing on the second DC data to obtain the second media data;
  • the script module is also used to obtain the second media data from the data channel module, and perform media processing on the second media data by running the first application.
  • the script module is also used to generate the first media data by running the first application, and perform data encapsulation processing on the first media data through the data processing script; the first media data after data encapsulation processing Send to the data channel module; the data channel module is also used to perform channel encapsulation processing on the first media data after data encapsulation processing to obtain the first DC data; the network interface module is also used to send the first DC data to the second terminal device .
  • the network interface module is configured to receive second DC data from the second terminal device through a data channel, and the second DC data of the second terminal device carries second media data of the second terminal device;
  • the data channel module is also used to perform channel decapsulation processing on the second DC data
  • the script module is also used to perform data decapsulation processing on the channel decapsulated second DC data through the data processing script to obtain the second media data, and perform media processing on the second media data through the application script of the first application.
  • the embodiment of the present application further provides an apparatus, the apparatus is applied to the first terminal device, and the beneficial effect can be referred to the description of the first aspect, which will not be repeated here.
  • the structure of the apparatus includes a processor and a communication interface, and may also include a memory, and the processor is configured to support the terminal device to perform corresponding functions in the method of the first aspect above through the communication interface.
  • the memory coupled to the processor, holds program instructions and data necessary for the device.
  • the present application also provides a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and when the computer-readable storage medium is run on a computer, it causes the computer to execute the method described in the above-mentioned first aspect.
  • the present application further provides a computer program product containing instructions, which when run on a computer, causes the computer to execute the methods described in the above aspects.
  • the present application further provides a computer chip, the chip is connected to a memory, and the chip is used to read and execute a software program stored in the memory, and execute the method described in the first aspect above.
  • FIG. 1 is a schematic diagram of a communication system architecture according to an embodiment of the present application
  • FIG. 2A is a schematic diagram of a dial interface in an embodiment of the present application.
  • FIG. 2B is a schematic diagram of a dial interface in an embodiment of the present application.
  • FIG. 2C is a schematic diagram of an audio call interface according to an embodiment of the present application.
  • FIG. 2D is a schematic diagram of a video call interface in an embodiment of the present application.
  • FIG. 3 is a schematic flowchart of a method for establishing a DC call according to an embodiment of the present application
  • FIG. 4A is a schematic flow diagram of a method for delivering a main page according to an embodiment of the present application
  • FIG. 4B is a schematic diagram of an SDP in an embodiment of the present application.
  • FIG. 4C is another SDP schematic diagram of the embodiment of the present application.
  • FIG. 5A is a schematic diagram of another communication system architecture according to an embodiment of the present application.
  • FIG. 5B is a schematic diagram of another communication system architecture according to an embodiment of the present application.
  • FIG. 6 is a schematic flowchart of a communication method according to an embodiment of the present application.
  • FIG. 7 is a schematic diagram of an application channel establishment process in an embodiment of the present application.
  • FIG. 8 is a schematic flow diagram of obtaining a first application by a first terminal device and a second terminal device according to an embodiment of the present application
  • FIG. 9A is a schematic diagram of a software architecture of a terminal device according to an embodiment of the present application.
  • FIG. 9B is a schematic diagram of another software architecture of a terminal device according to an embodiment of the present application.
  • FIG. 10 is a schematic diagram of the processing flow in the application channel establishment process inside the first terminal device according to the embodiment of the present application.
  • FIG. 11A is a schematic diagram of a transmission flow of application data according to an embodiment of the present application.
  • FIG. 11B is a schematic diagram of another application data transmission process according to the embodiment of the present application.
  • FIG. 12 is a schematic diagram of a process flow for processing received media data according to an embodiment of the present application.
  • FIG. 13A is a schematic diagram of another application data transmission process according to the embodiment of the present application.
  • FIG. 13B is a schematic diagram of a transmission process of application data in an embodiment of the present application.
  • FIG. 14 is another schematic diagram of a process flow for processing received media data according to an embodiment of the present application.
  • Figure 15 is a schematic structural diagram of a device provided by the present application.
  • FIG. 16 is a schematic structural diagram of another device provided by the present application.
  • the present application provides a communication method and device based on a telecommunication network, which supports the operation of call-type applications during a voice and video call, such as screen sharing, remote collaboration, and other applications, and does not require pre-installation.
  • the call-type application that supports operation during the voice and video call may also be referred to as a light call application, or simply as a light application.
  • voice and video calls can be, but not limited to, VoLTE, and can also be applied to voice and video calls provided by future technologies.
  • At least one of the following or similar expressions refer to any combination of these items, including any combination of single or plural items.
  • at least one item (piece) of a, b, or c can represent: a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, c can be single or multiple .
  • B corresponding to A means that B is associated with A, and B can be determined according to A.
  • determining B according to A does not mean determining B only according to A, and B may also be determined according to A and/or other information.
  • the terms “comprising” and “having” in the embodiments of the present application, claims and drawings are not exclusive. For example, a process, method, system, product or device including a series of steps or modules is not limited to the listed steps or modules, and may also include unlisted steps or modules.
  • the communication system includes an internet protocol (internet protocol, IP) multimedia subsystem (IP multimedia subsystem, IMS) network and one or more DC servers.
  • the DC server may also be called a call light application server, or a call application server, or simply a light application server, or use other names, which are not specifically limited in this application.
  • the so-called light application server is taken as an example.
  • the call implemented by the light application is called a data channel (data channel, DC) call, of course, other names can be used, and this application does not specifically limit it.
  • the light application server can maintain available call light applications for users of different terminal devices.
  • the light application server is an important network element to complete the DC call, and provides functions such as forwarding of the DC call session control request, and delivering the main page and application page.
  • the light application server can support the processing of media data generated by the two parties running the call light application, such as logic operations, screen rendering, virtual scene synthesis and other operations, which are not specifically limited in this embodiment of the present application.
  • a light application server can be deployed in the form of a container service, or it can be implemented through one or more virtual machines.
  • the light application server may also include one or a processor, or be implemented by one or more computers, such as a super multi-core computer, a computer deployed with a graphics processing unit (graphics processing unit, GPU) cluster, a large distributed computer, and hardware resources Pooled cluster computers and more.
  • the IMS network includes core network elements such as a session border controller (session border control, SBC) and a call session control function (call session control function, P-CSCF).
  • SBC session border control
  • P-CSCF call session control function
  • the SBC is located at the border of the IMS network and is mainly used to connect terminal equipment to the IMS network and process media resources.
  • the IMS network may also include a home subscriber server (home subscriber server, HSS), and the IMS network may also include other network elements, which will not be repeated in this embodiment of the present application.
  • the CSCF is the call control center of the IMS network, and implements functions such as user access, authentication, session routing, and service triggering on the IP transmission platform.
  • the CSCF may include one or the Multiple.
  • the HSS is used to record user subscription data (such as user information and service data).
  • the IMS core network element that provides services for the first terminal device and the IMS core network element that provides services for the second terminal device may be different, for example, related to the location of the terminal device, or related to the operating conditions described by the terminal device. business related.
  • the IMS core network element mentioned in the embodiment of the present application may include a CSCF.
  • the above description does not constitute a limitation on the system architecture diagram of the embodiment of the present application, and the system architecture diagram of the embodiment of the present application includes but is not limited to what is shown in FIG. 1 .
  • the light application server can be used as an independent network element, or can be implemented by an application server in an existing service. In some possible embodiments, the light application server can be deployed in the IMS network or outside the IMS network.
  • the terminal device may be a device equipped with a display screen and capable of audio and video calls.
  • the terminal device may be a wearable device (such as an electronic watch), and the terminal device may also be a mobile phone, a tablet computer, or other devices.
  • the embodiment of the present application does not specifically limit the specific form of the terminal device.
  • the two terminal devices may belong to different operator networks, and the web application server providing services for the first terminal device is different from the web application server providing services for the second terminal device.
  • Different light application servers can communicate through the deployed I-SBC.
  • the I-SBC is used to provide the information transfer function between different operator networks.
  • a data channel for transmitting the main page and/or the page of the application is established with the light application server.
  • the data channel used to transmit the main page and the application page is called a DC bootstrap channel.
  • the main page may include multiple light applications for use by the terminal device.
  • the user of the first terminal device may trigger a DC call during an audio call or a video call, or trigger a DC call through a dial interface.
  • the first terminal device initiates a session creation request in response to the user's operation of triggering the DC call.
  • the user of the first terminal device may trigger a DC call during an audio call or a DC call during a video call, and the first terminal device initiates session modification in response to the user's operation of triggering a DC call ask.
  • a DC call is triggered through a dial interface.
  • the dial interface includes a control for triggering a DC call.
  • Figure 2A is identified by a DC phone.
  • the user of the first terminal device can perform an operation on the DC phone control, so that the first terminal device triggers the sending of a session creation request in response to the user's operation on the DC phone control, and the session creation request is used to request the establishment of a DC with the second terminal device call.
  • a DC guiding channel is established between the first terminal device and the light application server, and a DC guiding channel is established between the second terminal device and the light application server.
  • the DC bootstrap channel created between the first terminal device and the light application server is called the first DC bootstrap channel
  • the DC bootstrap channel created between the second terminal device and the light app server is called the second DC bootstrap channel aisle.
  • the light application server After the DC call is established between the first terminal device and the second terminal device, the light application server sends the main page to the first terminal device and the second terminal device respectively. In some embodiments, the light application server sends the main page of the first terminal device to the first terminal device, and sends the main page of the second terminal device to the second terminal device.
  • the light application server can maintain different main pages for users of different terminal devices.
  • the first terminal device acquires the user's main page of the first terminal device in response to the user's operation on the DC phone control in the dial interface, and displays the user's home page of the first type of terminal device.
  • the main page of the terminal device may include one or more icons of light applications for the user to make a DC call.
  • screen sharing and remote collaboration are taken as examples.
  • the DC call may be triggered through an audio call interface.
  • the audio call interface includes a control for triggering a DC call. It is identified by a DC phone in Figure 2C.
  • the user of the first terminal device can perform an operation on the control of the DC call on the audio call interface, so that the first terminal device responds to the user's operation on the control of the DC phone, triggering the sending of a session modification request, and the session modification request is used to request the connection with the second
  • the audio call of the terminal device is changed to a DC call.
  • a first DC guidance channel will be established between the first terminal device and the light application server, and a second DC guidance channel will be established between the second terminal device and the light application server.
  • the light application server After the DC call is established between the first terminal device and the second terminal device, the light application server sends the main page to the first terminal device and the second terminal device respectively. In some embodiments, the light application server sends the main page of the first terminal device to the first terminal device, and sends the main page of the second terminal device to the second terminal device.
  • the light application server can maintain different main pages for users of different terminal devices.
  • the first terminal device acquires the user's home page of the first terminal device in response to the user's operation on the DC phone control in the audio call interface, and displays the user's home page of the first type of terminal device. See, for example, the main page shown in Figure 2B.
  • a DC call may be triggered through a video call interface.
  • the video call interface includes a control for triggering a DC call.
  • Figure 2D is identified by a DC call.
  • the user of the first terminal device can perform an operation on the control of the DC call on the video call interface, so that the first terminal device responds to the user's operation on the control of the DC phone, triggering the sending of a session modification request, and the session modification request is used to request the connection with the second
  • the audio call of the terminal device is changed to a DC call.
  • a first DC guidance channel will be established between the first terminal device and the light application server, and a second DC guidance channel will be established between the second terminal device and the light application server.
  • the light application server sends the main page to the first terminal device and the second terminal device respectively.
  • the first terminal device obtains the user's main page of the first terminal device in response to the user's operation on the DC phone control in the video call interface, and displays the user's home page of the first type of terminal device. See, for example, the main page shown in Figure 2B.
  • the following describes the process of establishing a DC call after the DC call is triggered between the first terminal device and the second terminal device, as shown in FIG. 3 .
  • the architecture shown in FIG. 1 is taken as an example.
  • the first terminal device and the second terminal device are served by the same light application server.
  • the first terminal device sends a session creation/modification request.
  • Establishing a DC call between the first terminal device and the second terminal device includes establishing data channels for transmitting pages between the first terminal device and the second terminal device and the light application server respectively.
  • the data channel for transferring pages is called a DC bootstrap channel.
  • the first terminal device may send a session creation/modification request to the IMS network when the DC call operation is triggered by the user of the first terminal device, and the IMS network sends a session creation/modification request to the light application according to the session creation/modification request.
  • the server triggers the request to direct the establishment of the DC channel.
  • the light application server After receiving the session creation/modification request, the light application server establishes a DC guidance channel with the first terminal device.
  • the DC guidance channel established between the light application server and the first terminal device is referred to as the first DC guidance channel herein.
  • the light application server sends the main page to the first terminal device through the established first DC guiding channel, so that the first terminal device receives the main page.
  • step 304a the first terminal device may send a first page request to the light application server, and the first page request is used to request the first page request.
  • a main interface of a terminal device Therefore, after receiving the first page request of the first terminal device, the light application server executes 303a to send the main page of the first terminal device to the first terminal device through the first DC guiding channel.
  • the first page request may carry the user identifier of the first terminal device. Therefore, the light application server acquires the main interface of the first terminal device according to the user identifier of the first terminal device, and sends the main interface to the first terminal device.
  • the first page request may carry the service number. Therefore, the root service number of the server is lightly applied to obtain the service main interface, and send it to the first terminal device.
  • the light application server also establishes a DC bootstrap channel with the second terminal device for sending The main page for the second terminal device.
  • the DC bootstrap channel established between the light application server and the second terminal device is referred to as the second DC bootstrap channel here.
  • the main page delivered to the called terminal device may be the same as the main page delivered to the calling terminal device.
  • the light application server After receiving the first request, the light application server establishes a second DC guidance channel with the second terminal device. The light application server sends the first page to the second terminal device through the established second DC guidance channel.
  • the home page delivered by the light application server to the second terminal device may be different from the home page delivered to the first terminal device.
  • the light application server executes 302b, and the second terminal device and the light application server complete the creation of the second DC guiding channel. Then execute 303b to deliver the main interface of the second terminal device to the second terminal device.
  • step 304b is executed, and the second terminal device may send a second page request to the light application server, for example, through the second DC guiding channel A second page request is sent to the light application server, where the second page request is used to request the main interface of the second terminal device.
  • the light application server executes 303b to send the main page of the second terminal device to the second terminal device through the second DC guiding channel.
  • the second page request may carry the user identifier of the second terminal device. Therefore, the light application server acquires the main interface of the second terminal device according to the user identifier of the second terminal device, and sends the main interface to the second terminal device.
  • the process of creating a DC guiding channel and delivering a main page when the first terminal device triggers a call with the second terminal device will be described below with reference to FIG. 4A .
  • the user of the first terminal device may trigger a DC call during an audio call or a video call, or trigger a DC call through a dial interface.
  • the first terminal device detects a user's operation on the DC call control. For details, please refer to FIG. 2A-FIG. 2D.
  • the first terminal device sends a first request to the CSCF.
  • the first request is a session modification request.
  • the dial interface triggers the DC call
  • the first request is a session creation request.
  • the first request carries media description information of the first terminal device. The first media description information is used to describe parameters for creating a DC guidance channel with the light application server.
  • a DC call is triggered through a dial interface.
  • the media description information of the first terminal device may also include parameters used to describe the creation of an audio transmission channel with the light application server.
  • the DC call may be triggered through an audio call interface.
  • the media description information of the first terminal device may also include parameters used to describe the creation of an audio transmission channel with the light application server.
  • the audio transmission channel created when the audio call is established between the first terminal device and the second terminal device does not need to be changed and can continue to be used. Therefore, the media description information of the first terminal device does not need to include the Describes the parameters for creating an audio transmission channel with the light application server, without re-establishing the audio transmission channel.
  • a DC call may be triggered through a video call interface.
  • the media description information of the first terminal device may further include a first indication, where the first indication is used to indicate to delete the established channel for transmitting video data during the video call.
  • the parameter part used to describe the video in the SDP may be set to 0, thereby indicating to delete the established channel for transmitting video data during the video call.
  • the first terminal device when the first terminal device sends the first request to the CSCF, it may send the first request to the CSCF through the SBC1 to which the first terminal device belongs.
  • the media description parameter may use a session description protocol (session description protocol, SDP).
  • SDP session description protocol
  • other description protocols may also be used, which is not specifically limited in the present application.
  • SDP session description protocol
  • the subsequent description take SDP as an example for the first media description parameter.
  • the SDP of the first terminal device may include bandwidth, SDP attributes, media stream types, supported codec formats, and the like.
  • FIG. 4B is only used as an example, and does not specifically limit the content included in the SDP.
  • UDP/DTLS/SCTP indicating the transport protocol.
  • webrtc-datachannel is the +sip.app-subtype media function tag specified in RFC 5688[177], indicating the format used by the application media.
  • b AS:500, means to determine the maximum bandwidth of the receiving direction in the session.
  • a max-message-size:1024, used to determine the size of the largest data packet.
  • a sctp-port:5000, indicating the SCTP transmission port.
  • a setup:passive, which mainly indicates the role of the datagram transport layer security (Datagram Transport Layer Security, DTLS) negotiation process, who is the client and who is the server.
  • a setup:actpass means that it can be either a client or a server.
  • a setup:active indicates the client.
  • a setup:passive, indicating the server.
  • a fingerprint:SHA-1 4A:AD:B9:B1:3F:82:18:3B:54:02:12:DF:3E:5D:49:6B:19:E5:7C:AB, which means DTLS( Datagram Transport Layer Security) authentication information required during the negotiation process.
  • a tls-id:abc3de65cddef001be82, indicating TLS ID information.
  • label low latency
  • the stream ID is greater than or equal to 1000
  • the max-time corresponds to the low latency in the label
  • QoS Quality of Service
  • Subsequent CSCF assists in completing the creation of the first DC guiding channel between the first terminal device and the light application server, and assists in completing the creation of the second DC guiding channel between the second terminal device and the light application server. See, e.g., 403-412 as described.
  • the CSCF sends a first channel creation request to the light application server.
  • the first channel creation request is used to request to create a DC bootstrap channel between the first terminal device and the light application server.
  • the first channel creation request carries the first SDP of the first terminal device.
  • the light application server sends a first channel creation response to the CSCF, where the first channel creation response carries the first SDP of the light application server.
  • the first SDP of the light application server is used to create a first DC guiding channel with the first terminal device.
  • FIG. 4C is only used as an example, and does not specifically limit the content included in the SDP.
  • the light application server After receiving the SDP of the first terminal device, the light application server can complete the creation of the first DC guidance channel on the light application server side according to the SDP of the first terminal device and the first SDP of the light application server.
  • the CSCF sends a second channel creation request to the light application server, where the second channel creation request is used to request creation of a second DC guidance channel between the second terminal device and the light application server.
  • the light application server sends a second channel creation response to the CSCF, where the second channel creation response carries the second SDP of the light application server.
  • the second SDP of the light application server is used to create a second DC guidance channel with the second terminal device.
  • the CSCF sends a second request to the second terminal device, where the second request may be a session creation/modification request.
  • the session creation/modification request carries the second SDP of the light application server.
  • the second terminal device sends a second response to the CSCF in response to the user's operation of accepting the DC call.
  • the second response may be a session modification or creation response, and may be 200 OK.
  • 200 OK carries the SDP of the second terminal device.
  • the second terminal device may complete the creation of the second DC guidance channel on the second terminal device side according to the SDP of the second terminal device and the second SDP of the light application server.
  • the CSCF forwards the 200OK to the light application server, where the 200OK carries the SDP of the second terminal device.
  • the light application server can complete the creation of the second DC guidance channel on the light application server side according to the SDP of the second terminal device and the second SDP of the light application server, that is, complete the second terminal Creation of a second DC bootstrap channel between the device and the light application server.
  • the CSCF sends a first response to the first terminal device, where the first response carries the first SDP of the light application server.
  • the first terminal device After receiving the first SDP from the light application server, the first terminal device can complete the creation of the first DC guiding channel on the side of the first terminal device according to the SDP of the first terminal device and the first SDP of the light application server, that is, complete The first DC guides the creation of the channel between the first terminal device and the light application server.
  • the first terminal device sends a first page request to the light application server through the first DC guidance channel, where the first page request is used to request the main page of the first terminal device. See 304a.
  • the light application server After receiving the first page request, the light application server sends the main page of the first terminal device to the first terminal device through the first DC guidance channel.
  • the second terminal device sends a second page request to the light application server through the second DC guidance channel, where the second page request is used to request the main page of the second terminal device. See 304b.
  • the light application server After receiving the second page request, the light application server sends the main page of the second terminal device to the second terminal device through the second DC guidance channel.
  • the establishment of the first DC guidance channel between the light application server and the first terminal device and the second DC guidance channel between the light application server and the second terminal device can be completed, and the light application server can Get to the main page.
  • the main page may include icons of multiple applications for use by the terminal device. Furthermore, the user of the terminal device can use each application by performing an operation on the icon without installing it.
  • the main page includes the icons of the multiple applications available for use.
  • the user of the terminal device can perform an operation on a certain application icon, thereby triggering the application to run. Take triggering to run the first application as an example.
  • the user of the first terminal device or the second terminal device can trigger the running of a light application on the home page to continue the call. For example, when running a screen sharing application, one of the users of the two terminal devices can share the screen with the other.
  • the first terminal device After the user of the first terminal device executes the operation of running the first application on the main page of the first terminal device, the first terminal device triggers the creation of a data channel with the second terminal device for transmitting the data generated by the first application , for ease of description, the data channel used to transmit data generated by the application is called an application channel.
  • Data generated by applications may be referred to as DC data.
  • the first application is screen sharing or remote collaboration, and the DC data includes, for example, operation data such as a Mask.
  • the application channel between the first terminal device and the second terminal device passes through the SBC1 to which the first terminal device belongs and the SBC2 to which the second terminal device belongs.
  • SBC1 and SBC2 participate in the processing of application data transmitted between the first terminal device and the second terminal device. For example, media enhancement processing and the like are performed. See the communication architecture shown in Figure 5A.
  • the application channel between the first terminal device and the second terminal device passes through the web application server, and the web application server can process the application data transmitted between the first terminal device and the second terminal device.
  • the web application server can process the application data transmitted between the first terminal device and the second terminal device.
  • the first terminal device may trigger the establishment of the application channel by sending a session modification request.
  • the triggering of the DC call may be implemented through a script, and the script may be called a DC call control script. Therefore, when the first terminal device triggers the execution of an application to perform a DC call with the second terminal device, it generates a session modification request through the DC call control script.
  • a session modification request is generated through the DC call control script, and the session modification request is used to request establishment of a session with the second terminal device. App channel.
  • the first terminal device triggers the running of the first application to perform a data channel DC call with the second terminal device. operate.
  • the first terminal device when the first terminal device triggers to run the first application to perform a data channel DC call with the second terminal device, it may first activate the DC call control script, and then generate a session modification request through the DC call control script.
  • the first terminal device sends the session modification request to the call application server.
  • an application channel is established between the first terminal device and the second terminal device.
  • the session modification request includes first media description information of the first terminal device, and the first media description information includes parameters for creating an application channel; a session modification response is received, and the session modification response includes the second media description information of the second terminal device.
  • the description information, the second media description information includes parameters for creating an application channel; further, the first terminal device creates an application channel according to the first media description information and the second media description information.
  • the application channel established between the first terminal device and the second terminal device may pass through the SBC serving the first terminal device and the SBC serving the second terminal device.
  • the first terminal device when the first terminal device establishes the application channel with the second terminal device, it is established by means of the established DC guiding channel, that is, the message can be forwarded through the light application server by means of the DC guiding channel.
  • the CSCF may be used to forward the message, so as to realize the establishment of the application channel.
  • the application channel passes through the SBC as an example for illustration.
  • the first terminal device sends a session modification request 1 to SBC1 in response to the user executing the operation of running the first application on the main page of the first terminal device.
  • the session modification request 1 includes SDP1 of the first terminal device, and SDP1 includes The media description parameters used to create the application channel between the first terminal device and the second terminal device.
  • the application channel when the application channel is established between the first terminal device and the second terminal device, it is established by means of the established DC guiding channel, that is, messages can be forwarded through the light application server by means of the DC guiding channel.
  • the message when the first terminal device establishes an application channel with the second terminal device, the message may also be forwarded through the light application server.
  • the value ranges of the stream ID included in the SDP sent by each device are different. For example, when a DC bootstrap channel is created, the value of the Stream ID included in the SDP sent by each device is less than or equal to 1000. When the application channel is created, the stream ID included in the SDP sent by each device is greater than 1000.
  • the SBC1 sends a session modification request 2 to the call application server, where the session modification request 2 includes the SDP1 of the SBC1.
  • step 1002 when the first terminal device establishes an application channel with the second terminal device, a direct connection channel between the first terminal device and the second terminal device may be established. Then in step 1002, SBC1 no longer sends its own SDP1, but just forwards the SDP of the first terminal device, that is, step 1002 can be replaced by SBC1 sending session modification request 2 to the light application server, and session modification request 2 includes the first terminal device The SDP of the device.
  • the call application server After receiving the session modification request 2, the call application server forwards the session modification request 2 to SBC2.
  • the SBC2 After receiving the session modification request 2, the SBC2 sends a session modification request 3 to the second terminal device, where the session modification request 3 includes the SDP1 of the SBC2.
  • the second terminal device sends a session modification response 3 to the SBC2, where the session modification request 3 includes the SDP1 of the second terminal device.
  • a channel segment between the SBC2 and the second terminal device in the application channel may be created between the second terminal device and the SBC2 according to the SDP1 of the SBC2 and the SDP2 of the second terminal device.
  • the second terminal device sends a session modification response 3 to SBC2 in response to the operation of determining to accept the DC call.
  • Session Modification Response 2 includes SDP2 of SBC2.
  • the light application server After receiving the session modification response 2, the light application server forwards the session modification response 2 to the SBC1. Between SBC1 and SBC2, a channel segment between SBC1 and SBC2 in the application channel can be created according to SDP2 of SBC2 and SDP1 of SBC1.
  • the SBC1 sends a session modification response 1 to the first terminal device, where the session modification response 1 includes the SDP2 of the SBC1.
  • a channel segment between SBC1 and the first terminal device in the application channel may be created according to SDP2 of SBC1 and SDP1 of the first terminal device.
  • the creation of the application channel between the first terminal device and the second terminal device is completed through the above steps 701-708.
  • the first terminal device may request the webpage of the first application from the light application server.
  • the page of the first application sent by the light application server to the first terminal device may include a main interface of the application for display and may also include an application script of the first application.
  • a page also known as a web page, can be understood as a special control embedded in the application program interface.
  • a web page is a source code written in a specific computer language, such as hypertext markup language (hyper text markup language, HTML), cascading style Tables (cascading style sheets, CSS), java scripts (JavaScript, JS), etc., the source code of the web page can be loaded and displayed as user-recognizable content by a browser or a web page display component similar in function to the browser.
  • the specific content contained in the webpage is also defined by the tags or nodes in the source code of the webpage. For example, HTML defines the elements and attributes of the webpage through ⁇ p>, ⁇ img>, ⁇ video>, and ⁇ canvas>.
  • the first terminal device sends a first subpage request to the light application server, where the first subpage request is used to request to run the first application.
  • the first subpage request is used to request a page of the first application.
  • the first terminal device When the first terminal device sends the first subpage request to the light application server, it may send the first subpage request to the light application server through the first DC guidance channel between the first terminal device and the light application server.
  • the light application server After receiving the first subpage request from the first terminal device through the first DC guidance channel, the light application server sends the page of the first application to the first terminal device.
  • the first subpage request may carry the ID of the first application or the page ID of the first application. It may also carry the user identifier of the first terminal device.
  • the first terminal device displays the page of the first application to the user.
  • the light application server sends the page of the first application to the second terminal device through the second DC guidance channel.
  • the second terminal device displays the page of the first application to the user of the second terminal device.
  • the first DC guidance channel can be established.
  • the association relationship between the DC guiding channel and the second guiding channel so that after receiving the first subpage request, the light application server can send the page of the first application to the first terminal device through the first DC guiding channel.
  • the page of the first application is sent to the second terminal device through the second DC guidance channel.
  • the first terminal device sends the ID or page ID of the first application requested by the first terminal device to the second Terminal Equipment. Therefore, the second terminal device can request the page of the first application from the web application server, and after receiving the request, the web application server sends the page of the first application to the second terminal device through the second DC guidance channel.
  • the light application server sends the page of the first application to the second terminal device.
  • 804 is executed, and the second terminal device sends a second subpage request to the light application server, and the second subpage request Carry the ID of the first application.
  • the light application server After receiving the second subpage request, the light application server sends the page of the first application to the second terminal device.
  • the second terminal device may obtain the ID or page ID of the first application through the application channel.
  • the first terminal device sends a request to the second terminal device to start the light application through the application channel, and the request to start the application may also include The ID of the first application or the page ID of the first application.
  • the request for starting the application may also include information such as the session ID and the user identifier of the first terminal device.
  • the second terminal device sends a response to start the light application to the first terminal device.
  • the response to start the light application can be 200OK.
  • the media data can be transmitted to the second terminal device via the application channel.
  • Media data may include operation data generated by operations, such as Mask operations, or shared image data, and so on.
  • the first terminal device displays the page of the first application to the user of the first terminal device
  • the second terminal device displays the page of the first application to the user of the second terminal device.
  • Users of the first terminal device and the second terminal device trigger generation of media data by operating on the page.
  • the first terminal device generates the first media data when running the first application, and then may send the first media data to the second terminal device through the application channel.
  • the first terminal device generates the first media data through the application script of the first application, and then the application script of the first application may send the first media data to the second terminal device through the application channel.
  • the first media data is sent through the application channel, the first media data is encapsulated into data of the application channel, so as to be sent to the second terminal device through the application channel.
  • the first terminal device may also receive the second media data from the second terminal device through an application channel; run the first application to perform media processing on the second media data.
  • the application script of the first application performs media processing on the second media data.
  • the second terminal device sends the second media data through the application channel
  • the second media data is first encapsulated into data of the application channel, which may become DC data, and then sent to the first terminal device through the application channel.
  • the first terminal device first decapsulates the DC data to obtain the second media data, and then processes the second media data through the application script of the first application.
  • data encapsulation processing is performed on the media data, such as prediction, compensation, encoding processing and so on. For example, some encoding processing to prevent packet loss.
  • the data after data encapsulation of the media data may become ADC data.
  • ADC data ADC data.
  • other names may also be used, which is not limited in this embodiment of the present application.
  • the first terminal device generates the first media data by running the first application, first performs data encapsulation processing on the first media data; and then sends the data encapsulation process to the second terminal device through the data channel.
  • the first media data is generated by running the first application, first performs data encapsulation processing on the first media data; and then sends the data encapsulation process to the second terminal device through the data channel.
  • the first media data is generated by running the first application, first performs data encapsulation processing on the first media data; and then sends the data encapsulation process to the second terminal device through the data channel.
  • the second terminal device generates the second media data by running the first application, first performs data encapsulation processing on the second media data; and then sends the data encapsulation process to the first terminal device through the data channel After the second media data.
  • the first terminal device receives second media data from the second terminal device through the data channel, the second media data is encapsulated, and the first terminal device first decapsulates the second media data processing; and then running the first application to perform media processing on the decapsulated second media data.
  • the embodiments of the present application further provide a software architecture of a terminal device. See Figure 9A.
  • the software architecture of the terminal device may include a script (script) module 901, a session setup and control (session setup and control) module 902, and a network interface (packet-based network interface) module 903.
  • the software architecture may also include a data channel (data channel) module 904.
  • the Script module 901 includes a plurality of scripts and is used to execute scripts.
  • the Session setup and control module 902 is used for session control, such as session creation and modification of DC calls, and generation of session messages.
  • the packet-based network interface module 903 is used to perform network layer encapsulation and send data.
  • the data channel module 904 may be configured to perform channel data encapsulation on the media data generated by the terminal device, and to perform channel decapsulation processing on the channel data received from the application channel.
  • the data channel module 904 may include a data channel encapsulation module 9041 and a data channel decapsulation module 9042 .
  • the software architecture of the terminal device may further include a speaker (Speaker) module 905, a screen display (Display) module 906, a microphone (Microphone) module 907, and a camera (Camera) module 908.
  • a keyboard (Keyboard) module 909 a wireless synchronization (Synchronization) module 910, an audio decoding (Audio decoder) module 911, a video decoding (Video decoder) module 912, a first text processing (Text) module 913, an audio encoding (Audio encoder) Module 914, video encoding (Video encoder) module 915, activation control (Activation) module 916, second text processing module 917, user operation interface (User interface) module 918, data link layer (3GPP L2) module 919 and webpage ( Web page) module 920.
  • a keyboard (Keyboard) module 909 a wireless synchronization (Synchronization) module 910
  • an audio decoding (Audio decoder) module 911 a video decoding (Video decoder) module 912
  • a first text processing (Text) module 913 a first text processing (Text) module 913
  • an audio encoding (Audio encoder) Module 914 video
  • the speaker (Speaker) module 905 is used for playing audio.
  • the screen display (Display) module 906 is used to control the display screen to display.
  • a microphone (Microphone) module 907 is used for collecting audio data in the environment.
  • the camera (Camera) module 908 is used for collecting image data.
  • the keyboard (Keyboard) module 909 is used for receiving text data input by the user.
  • the wireless synchronization (Synchronization) module 910 can synchronize the output audio data, video data, text data and the media data generated by the application.
  • the audio decoding (Audio decoder) module 911 is used for decoding the audio packets received by the terminal equipment.
  • the video decoding (Video decoder) module 912 is used for decoding the video packets received by the terminal equipment.
  • the first text processing (Text) module 913 is used for processing the received text data packet, for example, decoding the text data.
  • the audio encoding (Audio encoder) module 914 is used to encode the audio data generated by the terminal device to obtain an audio packet, for example, to encode the audio data obtained from the microphone module.
  • the video encoding (Video encoder) module 915 is used for encoding the video data of the terminal device to obtain a video packet, for example, encoding the image data collected by the camera module into a video packet.
  • the activation control (Activation) module 916 is used to activate channels, such as DC guide channel, application channel, audio transmission channel, video transmission channel and so on.
  • the second text processing module 917 is used for processing the text data received from the keyboard
  • the webpage (Web page) module 920 is used to execute the processing of the received webpage, such as receiving the main page through the DC guiding channel, and transmitting it to the user interface (User interface) module 918 after executing the webpage processing.
  • the webpage module 920 interacts with the user operation interface 918 to implement conversion processing between the webpage and the human-computer interaction interface.
  • the user interface (User interface) module 918 may also be referred to as the human-computer interaction module 918, which is used to realize the conversion of information between the internal format data of the terminal device and the operation form acceptable to the user.
  • the most basic service of the data link layer (3GPP L2) module 919 is to reliably transmit the data received by the network layer of the source computer to the network layer of the target computer of the adjacent node. For example, perform the combination of data into data blocks (this data block is called a frame in the data link layer, and the frame is the transmission unit of the data link layer); control the transmission of frames on the physical channel, including transmission error correction, adjustment Sending rate, etc. to match the receiving device; provide data link establishment, maintenance and release management, etc. between two network device entities.
  • this data block is called a frame in the data link layer, and the frame is the transmission unit of the data link layer
  • control the transmission of frames on the physical channel including transmission error correction, adjustment Sending rate, etc. to match the receiving device; provide data link establishment, maintenance and release management, etc. between two network device entities.
  • FIG. 9B is only an example of components included in the terminal device, and the terminal device may include more or fewer components, which is not specifically limited in this embodiment of the present application.
  • each module will not be exemplified later when describing each module.
  • the IMS-based DC call can be triggered by a script. That is, the script is used to control the generation of session messages.
  • the interface between the script module and the session establishment and control module is defined, so as to realize session control, media negotiation, configuration of parameters for establishing an application channel, and the like.
  • the script module triggers the running of the first application to execute a data channel DC call with the second terminal device when the first terminal device triggers the running of the first application , sending a generate session control request to the session establishment and control module through the DC call control script, so as to request to generate a session modification request.
  • the script module executes 1001 when the first terminal device triggers to run the first application to perform a data channel DC call with the second terminal device.
  • the script module activates the DC call control script.
  • the script module sends a session control request to the session establishment and control module, where the session control request is used to instruct generation of a session modification request.
  • the session establishment and control module generates a session modification request according to the session control request, and sends it to the network interface module.
  • the session modification request is used to request establishment of an application channel with the second terminal device.
  • the network interface module sends a session modification request to the call application server.
  • a session modification request may use a re-invite message.
  • the session modification request may carry a media description parameter of the first terminal device.
  • the network interface module sends a session modification request to the call application server through the SBC1 of the first terminal device.
  • the application channel can be created by forwarding messages through the CSCF.
  • the call application server or the CSCF forwards the session modification request to the second terminal device at the opposite end.
  • the network interface module receives a session modification response sent by the call application server.
  • a session modification response may employ a 200 OK message.
  • the session modification response includes a second media description parameter.
  • the second media description parameter may be a parameter used for creating an application channel on the second terminal device or a parameter used for creating an application channel on the SBC of the first terminal device.
  • the 200 OK message carries the media description parameters of the second terminal device.
  • the application channel between the first terminal device and the second terminal device passes through SBC1 serving the first terminal device and SBC2 serving the second terminal device, and the 200 OK carries the media description parameters of SBC1.
  • the network interface module sends the session modification request to the data link layer module, performs encapsulation processing at the data link layer, and then sends it out.
  • the data link layer module receives the session modification response encapsulated by the data link layer from the call application server, decapsulates the session modification response from the data link layer encapsulated session modification response, and transmits it to the network interface module.
  • the network interface module sends the session modification response to the session establishment and control module.
  • the session establishment and control module obtains the media description parameter of the second terminal device or the media description parameter of SBC1 from the session modification response.
  • the session establishment and control module sends the first media description parameter and the media description parameter of the second terminal device (or the media description parameter of SBC1) to the data channel module.
  • the data channel module completes the establishment of the application channel on the first terminal device side according to the first media description parameter and the media description parameter of the second terminal device (or the media description parameter of SBC1).
  • the first terminal device may send the page ID of the first application or the ID of the first application to the second terminal device.
  • the human-computer interaction module receives the user's operation of running the first application on the main page, it sends the page ID of the first application or the ID of the first application to the data channel module, and the page ID of the first application or the ID of the first application is sent to the data channel module through the data channel module.
  • the ID of the first application is sent to the second terminal device. Therefore, both the first terminal device and the second terminal device request the webpage of the first application from the light application server.
  • the first terminal device displays the page of the first application to the user of the first terminal device
  • the second terminal device displays the page of the first application to the user.
  • Second terminal device user. Users of the first terminal device and the second terminal device trigger generation of media data by operating on the page.
  • media data generated by running the first application can be transmitted between the first terminal device and the second terminal device through the application channel.
  • the process of transmitting media data generated by the first application between the first terminal device and the second terminal device is described as follows from the internal perspective of the first terminal device.
  • the script module generates first media data when running the first application, and sends the first media data to the data channel module; for the convenience of distinction, the data generated by running the first application on the first terminal is referred to as the first media here data.
  • the script module runs the first application to generate the first media data. It can be understood that the script module generates the first media data through the application script of the first application.
  • the data channel module performs channel encapsulation processing on the first media data to obtain first DC data.
  • the data channel module encapsulates the first media data into the first DC data according to channel parameters of the established application channel.
  • the network interface module is configured to send the first DC data to the second terminal device through the application channel.
  • the script module first requests resources from the data channel module before sending media data. Specifically, refer to FIG. 11B .
  • the script module generates the first media data through the application script of the first application, and sends a DC data resource request to the data channel module, which is used to request resources for sending the first media data.
  • the data channel module allocates resources for sending the first media data, such as network resources of ports.
  • the data channel module sends a resource request success message to the script module. After receiving the resource request success message, the script module transmits the generated first media data to the data channel module.
  • the second terminal device sends the second media data generated by running the first application to the first terminal device.
  • the second media data is encapsulated into second DC data by the second terminal device when being transmitted through the application channel.
  • the network interface module receives second DC data from a second terminal device through a data channel, where the second DC data carries second media data of the second terminal device.
  • the network interface module sends the second DC data to the data channel module.
  • the data channel module After receiving the second DC data, the data channel module performs channel decapsulation processing on the second DC data to obtain second media data;
  • the data channel module sends the second media data to the script module.
  • the script module receives the second media data, and performs media processing on the second media data.
  • the script module may perform media processing on the second media data by running the application script of the first application.
  • an interface is established between the script module and the data channel module for sending the media data generated by the running of the application script.
  • the media data after the media data is generated by the running of the application, it may first undergo data encapsulation processing, such as prediction, supplementation, encoding, etc., so as to improve the robustness of data transmission.
  • data encapsulation processing such as prediction, supplementation, encoding, etc.
  • the data after data encapsulation processing is called special DC media data, or ADC media data for short.
  • the script module runs the first application to generate the first media data, it can perform data encapsulation processing on the first media data, such as prediction, supplementation, encoding, etc., and then send it to the data channel module for transmission.
  • data encapsulation processing may be performed on the first media data by running a data encapsulation script (or called a special data channel script, ADC script). See Figure 13A:
  • the script module runs an application script of a first application to generate first media data.
  • the application script of the first application sends the first media data to a data encapsulation script (or called a special data channel script, ADC script).
  • ADC script a data encapsulation script
  • the data encapsulation script performs data encapsulation processing on the first media data to obtain the first ADC media data.
  • the data encapsulation script sends the first ADC media data to the data channel module.
  • first media data the data generated by running the first application on the first terminal.
  • the data channel module performs channel encapsulation processing on the first ADC media data to obtain the first DC data;
  • the data channel module sends the first DC data to the network interface module.
  • the data channel module encapsulates the first ADC media data into the first DC data according to channel parameters of the established application channel.
  • the network interface module is configured to send the first DC data to the second terminal device through the application channel.
  • the script module before sending the first ADC media data, the script module first requests resources from the data channel module, and then sends the media data. Specifically, refer to FIG. 13B.
  • the script module generates the first media data through the application script of the first application, and sends a DC data resource request to the data channel module, which is used to request resources for sending the first media data.
  • the data channel module allocates resources for sending the first media data, such as network resources of ports.
  • the data channel module sends a resource request success message to the script module.
  • the script module After receiving the resource request success message, the script module performs data encapsulation processing on the first media data generated by the application script through the ADC script.
  • the second terminal device sends the second media data generated by running the first application to the first terminal device.
  • the second media data first undergoes data encapsulation processing, and then undergoes channel encapsulation processing to obtain the second DC data, and then transmits the second media data to the first terminal device through the application channel.
  • the network interface module receives second DC data from a second terminal device through a data channel, where the second DC data carries second media data of the second terminal device.
  • the network interface module sends the second DC data to the data channel module.
  • the data channel module After receiving the second DC data, the data channel module performs channel decapsulation processing on the second DC data to obtain the second ADC media data;
  • the data channel module sends the second ADC media data to the script module.
  • the ADC script in the script module performs data decapsulation processing on the second ADC media data to obtain the second media data.
  • the ADC script sends the second media data to the application script of the first application.
  • the application script of the first application performs media processing on the second media data.
  • an interface is established between the script module and the data channel module for sending the media data generated by the running of the application script.
  • each functional unit in each embodiment of the present application can be integrated in one processing In the device, it can also be a separate physical existence, or two or more units can be integrated in a module.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software function modules.
  • the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or part of the contribution to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions for enabling a terminal device (which may be a personal computer, a mobile phone, or a network device, etc.) or a processor (processor) to execute all or part of the steps of the method in each embodiment of the present application.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (read-only memory, ROM), random access memory (random access memory, RAM), magnetic disk or optical disc and other media that can store program codes. .
  • both the light application server and the terminal device may be presented in the form of dividing each functional module in an integrated manner.
  • a “module” here may refer to a specific ASIC, a circuit, a processor and a memory executing one or more software or firmware programs, an integrated logic circuit, and/or other devices that can provide the functions described above.
  • SBC, CSCF, and light application server can adopt the form shown in FIG. 15 .
  • the apparatus 1500 shown in FIG. 15 includes at least one processor 1501 and a communication interface 1502 .
  • a memory 1503 may also be included.
  • the processor 1501 in FIG. 15 can call the computer stored in the memory 1503 to execute instructions, so that the light application server can perform any of the above.
  • the processor 1501 can communicate with other devices through the communication interface 1502 .
  • the processor 1501 receives a session creation request through the communication interface 1502, and sends a session creation response.
  • the processor 1501 in FIG. 15 can execute instructions stored in the memory 1503 by calling the computer, so that the SBC can execute any of the above methods.
  • the processor 1501 in FIG. 15 can execute instructions stored in the memory 1503 by calling the computer, so that the CSCF can execute any of the above methods.
  • the specific connection medium between the processor 1501 and the memory 1503 is not limited in this embodiment of the present application.
  • the memory 1503 and the processor 1501 are connected through the bus 1504 in the figure, and the bus 1504 is represented by a thick line in the figure. limit.
  • the bus 1504 can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is used in FIG. 15 , but it does not mean that there is only one bus or one type of bus.
  • the terminal device may take the form shown in FIG. 16 .
  • the apparatus 1600 shown in FIG. 16 includes at least one processor 1601 , a communication interface 1602 , and optionally a memory 1603 .
  • the device 1600 further includes a display 1604 .
  • the device may also include a sensor 1605 for detecting user operations on the page.
  • the processor 1601 can have a data sending and receiving function, and can communicate with other devices. In the device shown in FIG. During communication, data transmission can be performed through the communication interface 1602 .
  • the processor 1601 in FIG. 16 can call the computer stored in the memory 1603 to execute instructions, so that the terminal device can execute the method described in any of the above method embodiments.
  • a method performed by a terminal device (such as a first terminal device).
  • the embodiment of the present application does not limit the specific connection media between the processor 1601 and the memory 1603 , the communication interface 1602 , the display 1604 and the sensor 1605 .
  • the embodiment of the present application is connected through the bus 1606 in the figure as an example, and the bus 1606 is represented by a thick line in the figure, and the connection mode between other components is only for schematic illustration and is not limited thereto.
  • the bus 1606 can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is used in FIG. 16 , but it does not mean that there is only one bus or one type of bus.
  • the embodiment of the present application also provides a computer storage medium, in which a software program is stored, and when the software program is read and executed by one or more processors, any one or more of the above-mentioned
  • the embodiment provides a method executed by a service platform or an edge computing device.
  • the computer storage medium may include: various media capable of storing program codes such as U disk, mobile hard disk, read-only memory, random access memory, magnetic disk or optical disk.
  • an embodiment of the present application further provides a chip, where the chip includes a processor, configured to implement the function of the light application server or the function of the terminal device involved in any one or more embodiments above.
  • the chip further includes a memory for necessary program instructions and data executed by the processor.
  • the chip may consist of chips, or may include chips and other discrete devices.
  • references to "one embodiment”, “an implementation”, “an implementation” or “an example” throughout the specification mean that specific features, structures or characteristics related to the embodiment are included in the scope of the present application. In at least one embodiment. Thus, appearances of "in one embodiment,” “one implementation,” “an implementation,” or “in an example” throughout this specification are not necessarily referring to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner in one or more embodiments. It should be understood that, in various embodiments of the present application, the sequence numbers of the above-mentioned processes do not mean the order of execution, and the execution order of the processes should be determined by their functions and internal logic, and should not be used in the embodiments of the present application. The implementation process constitutes any limitation.
  • system and “network” are often used herein interchangeably.
  • the term “and/or” in this article is just an association relationship describing associated objects, which means that there can be three relationships, for example, A and/or B can mean: A exists alone, A and B exist simultaneously, and there exists alone B these three situations.
  • the character “/” in this article generally indicates that the contextual objects are an "or” relationship.
  • the term “at least one” involved in this application refers to one, or more than one, including one, two, three and more; “plurality” refers to two, or more than two, including two, Three or more.
  • At least one of the following or similar expressions refer to any combination of these items, including any combination of single or plural items.
  • at least one item (piece) of a, b, or c can represent: a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, c can be single or multiple .
  • B corresponding to A means that B is associated with A, and B can be determined according to A.
  • determining B according to A does not mean determining B only according to A, and B may also be determined according to A and/or other information.
  • the terms “comprising” and “having” in the embodiments of the present application, claims and drawings are not exclusive. For example, a process, method, system, product or device including a series of steps or modules is not limited to the listed steps or modules, and may also include unlisted steps or modules.
  • processor in the embodiments of the present application may be a central processing unit (central processing unit, CPU), and may also be other general processors, digital signal processors (digital signal processor, DSP), application specific integrated circuits (application specific integrated circuit, ASIC), field programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof.
  • CPU central processing unit
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • a general-purpose processor can be a microprocessor, or any conventional processor.
  • the method steps in the embodiments of the present application may be implemented by means of hardware, or may be implemented by means of a processor executing software instructions.
  • the software instructions can be composed of corresponding software modules, and the software modules can be stored in random access memory (random access memory, RAM), flash memory, read-only memory (Read-Only Memory, ROM), programmable read-only memory (programmable ROM) , PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically erasable programmable read-only memory (electrically EPROM, EEPROM), register, hard disk, mobile hard disk, CD-ROM or known in the art any other form of storage medium.
  • An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium.
  • the storage medium may also be a component of the processor.
  • the processor and storage medium can be located in the ASIC.
  • the ASIC can be located in a network device or a terminal device.
  • the processor and the storage medium may also exist in the network device or the terminal device as discrete components.
  • all or part of them may be implemented by software, hardware, firmware or any combination thereof.
  • software When implemented using software, it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product comprises one or more computer programs or instructions. When the computer program or instructions are loaded and executed on the computer, the processes or functions described in the embodiments of the present application are executed in whole or in part.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable devices.
  • the computer program or instructions may be stored in or transmitted via a computer-readable storage medium.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server integrating one or more available media.
  • the available medium may be a magnetic medium, such as a floppy disk, a hard disk, or a magnetic tape; it may also be an optical medium, such as a DVD; it may also be a semiconductor medium, such as a solid state disk (solid state disk, SSD).
  • a magnetic medium such as a floppy disk, a hard disk, or a magnetic tape
  • an optical medium such as a DVD
  • it may also be a semiconductor medium such as a solid state disk (solid state disk, SSD).

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)

Abstract

本申请提供一种通信方法及装置。本申请中支持脚本触发会话消息的发送,从而使得终端设备在IMS系统支持触发DC通话的会话修改请求,以实现建立传输应用数据的通道的建立。从而支持传输应用数据,叠加应用功能。并且支持应用数据通过建立的数据通道传输到对端。

Description

一种通信方法及装置
相关申请的交叉引用
本申请要求在2021年07月31日提交中华人民共和国知识产权局、申请号为202110877146.4、申请名称为“一种通信方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种通信方法及装置。
背景技术
在当前基于IP多媒体系统(IP Multimedia Subsystem,IMS)的运营商电话系统下,只能进行音频和视频的传输。
发明内容
本申请提供一种通信方法及装置,用以实现在IMS系统下叠加应用功能。
第一方面,本申请实施例提供一种通信方法,包括:第一终端设备触发运行第一应用以执行与第二终端设备的数据通道DC通话时,通过所述DC通话控制脚本生成会话修改请求,所述会话修改请求用于请求建立与所述第二终端设备之间的数据通道,所述数据通道用于在所述第一终端设备与所述第二终端设备之间传输运行第一应用产生的媒体数据;向通话应用服务器发送所述会话修改请求。
目前IMS通信系统仅支持音视频通话等功能,用户可能需要在通话过程中叠加其它应用功能,比如屏幕共享、远程协作等。而目前通信连接创建都是通过UI触发,并不适配于应用功能的叠加。通过上述设计,第一终端设备支持脚本触发会话消息的发送,从而使得终端设备在IMS系统支持触发DC通话的会话修改请求,以实现建立传输应用数据的通道的建立。从而支持传输应用数据,叠加应用功能。
在一种可能的设计中,所述会话修改请求包括所述第一终端设备的第一媒体描述信息,所述第一媒体描述信息包括用于创建所述数据通道的参数;所述方法还包括:接收会话修改响应,所述会话修改响应包括所述第二终端设备的第二媒体描述信息,所述第二媒体描述信息包括用于创建所述数据通道的参数;根据所述第一媒体描述信息和所述第二媒体描述信息创建所述数据通道。
在一种可能的设计中,方法还包括:所述第一终端设备在运行所述第一应用时产生第一媒体数据;通过所述数据通道向所述第二终端设备发送所述第一媒体数据。上述设计中,运行应用的数据支持通过数据通道传输。
在一种可能的设计中,所述方法还包括:通过所述数据通道接收来自所述第二终端设备的第二媒体数据;运行所述第一应用以对所述第二媒体数据进行媒体处理。上述设计中,运行应用的数据支持通过数据通道传输。
在一种可能的设计中,所述方法还包括:所述第一终端设备通过运行所述第一应用产 生第一媒体数据;对所述第一媒体数据进行数据封装处理;通过所述数据通道向所述第二终端设备发送经过数据封装处理后的所述第一媒体数据。上述设计中,支持应用数据的处理,支持处理后的数据通过数据通道传输。
在一种可能的设计中,所述方法还包括:通过所述数据通道接收来自所述第二终端设备的第二媒体数据;对所述第二媒体数据进行解封装处理;运行所述第一应用对解封装处理后的第二媒体数据进行媒体处理。上述设计中,支持应用数据的处理,支持处理后的数据通过数据通道传输。
第二方面,本申请实施例提供一种通信装置,包括脚本模块、会话建立和控制模块和网络接口模块;脚本模块,用于在第一终端设备触发运行第一应用以执行与第二终端设备的数据通道DC通话时,通过DC通话控制脚本向会话建立和控制模块发送生成会话控制请求,会话控制请求用于指示生成会话修改请求,会话修改请求用于请求建立与第二终端设备之间的数据通道,数据通道用于在第一终端设备与第二终端设备之间传输运行第一应用产生的媒体数据;会话建立和控制模块,用于根据会话控制请求生成会话修改请求;网络接口模块,用于向通话应用服务器发送会话修改请求。上述设计中,支持脚本模块与会话建立和控制模块之间的通信。
在一种可能的设计中,会话修改请求包括第一终端设备的第一媒体描述信息,第一媒体描述信息包括用于创建数据通道的参数;装置还包括数据通道模块;
网络接口模块,还用于接收来自第一应用的应用服务器的会话修改响应,会话修改响应包括第二终端设备的第二媒体描述信息,第二媒体描述信息包括用于创建数据通道的参数;
网络接口模块,还用于将会话修改响应发送给会话建立和控制模块;
会话建立和控制模块,还用于将第一媒体描述信息和第二媒体描述信息发送给数据通道模块;
数据通道模块,用于根据第一媒体描述信息和第二媒体描述信息建立数据通道。
在一种可能的设计中,脚本模块,还用于在运行第一应用时产生第一媒体数据,将第一媒体数据发送给数据通道模块;数据通道模块,用于对第一媒体数据进行通道封装处理获得第一DC数据,并将第一DC数据发送给网络接口模块;网络接口模块,用于通过数据通道向第二终端设备发送第一DC数据。上述设计中,支持脚本模块与数据通道模块之前的消息传输。从而使得脚本模块产生的数据通过数据通道传输到对端。
在一种可能的设计中,网络接口模块,还用于通过数据通道接收来自第二终端设备的第二DC数据,第二DC数据承载第二终端设备的第二媒体数据;数据通道模块,还用于对第二DC数据进行通道解封装处理得到第二媒体数据;脚本模块,还用于从数据通道模块获取第二媒体数据,并通过运行第一应用以对第二媒体数据进行媒体处理。
在一种可能的设计中,脚本模块,还用于通过运行第一应用产生第一媒体数据,通过数据处理脚本对第一媒体数据进行数据封装处理;将经过数据封装处理后的第一媒体数据发送给数据通道模块;数据通道模块,还用于对数据封装处理后的第一媒体数据进行通道封装处理获得第一DC数据;网络接口模块,还用于向第二终端设备发送第一DC数据。
在一种可能的设计中,网络接口模块,用于通过数据通道接收来自第二终端设备的第二DC数据,第二终端设备的第二DC数据承载第二终端设备的第二媒体数据;
数据通道模块,还用于对第二DC数据进行通道解封装处理;
脚本模块,还用于通过数据处理脚本对通道解封装处理后的第二DC数据进行数据解封装处理得到第二媒体数据,并通过第一应用的应用脚本对第二媒体数据进行媒体处理。
第三方面,本申请实施例还提供了一种装置,所述装置应用于所述第一终端设备,有益效果可以参见第一方面的描述此处不再赘述。所述装置的结构中包括处理器和通信接口,还可以包括存储器,所述处理器被配置为支持所述终端设备通过通信接口执行上述第一方面方法中相应的功能。所述存储器与所述处理器耦合,其保存所述装置必要的程序指令和数据。
第四方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
第五方面,本申请还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
第六方面,本申请还提供一种计算机芯片,所述芯片与存储器相连,所述芯片用于读取并执行所述存储器中存储的软件程序,执行上述第一方面所述的方法。
附图说明
图1为本申请实施例的一种通信系统架构示意图;
图2A为本申请实施例的拨号盘界面示意图;
图2B为本申请实施例的拨号盘界面示意图;
图2C为本申请实施例的音频通话界面示意图;
图2D为本申请实施例的视频通话界面示意图;
图3为本申请实施例的建立DC通话的方法流程示意图;
图4A为本申请实施例的主页面下发方法流程示意图;
图4B为本申请实施例的一种SDP示意图;
图4C为本申请实施例的另一种SDP示意图;
图5A为本申请实施例的另一种通信系统架构示意图;
图5B为本申请实施例的又一种通信系统架构示意图;
图6为本申请实施例的一种通信方法流程示意图;
图7为本申请实施例的应用通道建立流程示意图;
图8为本申请实施例的第一终端设备和第二终端设备获取第一应用的流程示意图;
图9A为本申请实施例的终端设备的一种软件架构示意图;
图9B为本申请实施例的终端设备的另一种软件架构示意图;
图10为本申请实施例的第一终端设备内部在应用通道建立过程中处理流程示意图;
图11A为本申请实施例的一种应用数据的传输流程示意图;
图11B为本申请实施例的另一种应用数据的传输流程示意图;
图12为本申请实施例的一种对接收的媒体数据进行处理流程示意图;
图13A为本申请实施例的又一种应用数据的传输流程示意图;
图13B为本申请实施例的在一种应用数据的传输流程示意图;
图14为本申请实施例的另一种对接收的媒体数据进行处理流程示意图;
图15为本申请提供的一种装置结构示意图;
图16为本申请提供的另一种装置结构示意图。
具体实施方式
本申请提供一种基于电信网络的通信方法及装置,在语音视频通话过程中支持运行通话类的应用,比如屏幕共享、远程协作等应用,并且不需要预先安装。在语音视频通话过程支持运行的通话类应用也可以称为通话轻应用,或者简称为轻应用。当然还可以采用其它的名称,本申请实施例对此不作限定。语音视频通话可以但不仅限于采用VoLTE,还可以适用于未来技术提供的语音视频通话。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。本申请涉及的术语“至少一个”,是指一个,或一个以上,即包括一个、两个、三个及以上;“多个”,是指两个,或两个以上,即包括两个、三个及以上。另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。此外,本申请实施例和权利要求书及附图中的术语“包括”和“具有”不是排他的。例如,包括了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,还可以包括没有列出的步骤或模块。
参见图1所示为本申请实施例的一种可能的通信系统架构示意图。通信系统中包括互联网协议(internet protocol,IP)多媒体子系统(IP multimedia subsystem,IMS)网络和一个或者多个DC服务器。DC服务器,也可以称为通话轻应用服务器,或者称为通话应用服务器,或者简称为轻应用服务器,或者采用其它的名称,本申请对此不作具体限定。后续描述时,以称为轻应用服务器为例。本申请实施例中将轻应用实现的通话称为数据通道(data channel,DC)通话,当然还可以采用其它的名称,本申请对此不作具体限定。
轻应用服务器可以为不同的终端设备的用户维护所能使用的通话轻应用。轻应用服务器是完成DC通话的重要网元,提供DC通话会话控制请求的转发、下发主页面、应用的页面等功能。
一些实施例中,轻应用服务器可以支持对通信双方运行通话轻应用的产生的媒体数据进行处理,比如逻辑运算、画面渲染、虚拟景象合成等等操作,本申请实施例对此不作具体限定。轻应用服务器可以是以容器服务的形式部署,也可以通过一个或者多个虚拟机来实现。轻应用服务器也可以包括一个或者处理器,或者通过一个或者多个计算机来实现,比如超多核计算机、部署有图形处理器(graphics processing unit,GPU)集群的计算机、大型的分布式计算机、硬件资源池化的集群计算机等等。
IMS网络中包括会话边界控制器(session border control,SBC)和呼叫会话控制功能(call session control function,P-CSCF)等核心网元。SBC位于IMS网络的边界,主要用于将终端设备接入到IMS网络和媒体资源处理。IMS网络中还可以包括归属签约用户服务器(home subscriber server,HSS),IMS网络中还可以包括其它网元,本申请实施例中不再赘述。CSCF是IMS网络的呼叫控制中心,是在IP传输平台上实现用户接入,鉴权、会话 路由和业务触发等功能。CSCF可以包括服务-呼叫会话控制功能(serving-call session control function,S-CSCF)、代理-CSCF(Proxy CSCF,P-CSCF)、查询-CSCF(Interrogating-CSCF,I-CSCF)中的一个或多个。HSS用于记录用户的签约数据(比如用户信息、业务数据)。需要说明的是,为第一终端设备提供服务的IMS核心网元和为第二终端设备提供服务的IMS核心网元可以不同,比如与终端设备所在的位置相关,或者与终端设备所述的运营商有关。作为一种示例,本申请实施例所提及的IMS核心网元可以包括CSCF。
应理解,上述的说明并不构成对本申请实施例的系统架构图的限定,本申请实施例的系统架构图包括但不限于在图1所示。需要说明的是,轻应用服务器可以作为独立网元,也可以由已有业务中的应用服务器来实现。一些可能的实施例中,轻应用服务器可以部署于IMS网络内,也可以部署于IMS网络外。
两个终端设备可以通过通信系统运行通话轻应用以进行视频。终端设备可以是配置有显示屏,具有音视频通话功能的设备,比如,终端设备可以是可穿戴设备(例如电子手表),终端设备还可以是手机、平板电脑等设备。本申请实施例对终端设备的具体形式不作特殊限制。
在一些实施例中,两个终端设备可以属于不同的运营商网络,为第一终端设备提供服务的轻应用服务器和为第二终端设备提供服务轻应用服务器不同。不同的轻应用服务器可以通过部署的I-SBC实现通信。I-SBC用于提供不同的运营商网络之间的信息中转功能。
如下以第一终端设备与第二终端设备进行DC通话为例。在第一终端设备与第二终端设备建立DC通话连接的过程中,均与轻应用服务器之间建立用于传输主页面和/或应用的页面的数据通道。为了便于区分,将用于传输主页面和应用的页面的数据通道称为DC引导通道。主页面上可以包括供终端设备使用的多个轻应用。第一终端设备的用户可以在音频通话过程中触发DC通话或者在视频通话过程中触发DC通话,或者通过拨号盘界面触发DC通话。一种可能的实施例中,通过拨号盘界面触发DC通话时,第一终端设备响应于用户触发DC通话的操作,发起会话创建请求。另一种可能的实施例中,第一终端设备的用户可以在音频通话过程中触发DC通话或者在视频通话过程中触发DC通话,第一终端设备响应于用户触发DC通话的操作,发起会话修改请求。
一种可能的示例中,通过拨号盘界面触发DC通话。参见图2A所示,拨号盘界面中包括用于触发DC通话的控件。图2A通过DC电话标识。第一终端设备的用户可以针对DC电话控件执行操作,从而第一终端设备响应于用户针对DC电话控件的操作,触发发送会话创建请求,会话创建请求用于请求与第二终端设备之间建立DC通话。示例性地,在建立DC通话的过程中,第一终端设备与轻应用服务器之间会创建DC引导通道,第二终端设备与轻应用服务器之间会创建DC引导通道。为了便于区分,将第一终端设备与轻应用服务器之间创建的DC引导通道称为第一DC引导通道,将第二终端设备与轻应用服务器之间创建的DC引导通道称为第二DC引导通道。
在第一终端设备与第二终端设备之间创建DC通话后,轻应用服务器分别向第一终端设备和第二终端设备发送主页面。一些实施例中,轻应用服务器向第一终端设备发送第一终端设备的主页面,向第二终端设备发送第二终端设备的主页面。轻应用服务器可以针对不同的终端设备的用户维护不同的主页面。
作为一种举例,第一终端设备响应于用户针对拨号盘界面中DC电话控件的操作,获取第一终端设备的用户主页面,并显示第一种终端设备的用户的主页面。例如,参见图2B 所示,终端设备的主页面可以包括一个或者多个供用户进行DC通话使用的轻应用的图标。图2B中,以共享屏幕和远程协作为例。
另一种可能的示例中,可以通过音频通话界面触发DC通话。参见图2C所示,音频通话界面中包括用于触发DC通话的控件。图2C中通过DC电话标识。第一终端设备的用户可以针对音频通话界面上DC通话的控件执行操作,从而第一终端设备响应于用户针对DC电话控件的操作,触发发送会话修改请求,会话修改请求用于请求将与第二终端设备的音频通话修改为DC通话。在建立DC通话的过程中,第一终端设备与轻应用服务器之间会创建第一DC引导通道,第二终端设备与轻应用服务器之间会创建第二DC引导通道。
在第一终端设备与第二终端设备之间创建DC通话后,轻应用服务器分别向第一终端设备和第二终端设备发送主页面。一些实施例中,轻应用服务器向第一终端设备发送第一终端设备的主页面,向第二终端设备发送第二终端设备的主页面。轻应用服务器可以针对不同的终端设备的用户维护不同的主页面。作为一种举例,第一终端设备响应于用户针对音频通话界面中DC电话控件的操作,获取第一终端设备的用户主页面,并显示第一种终端设备的用户的主页面。例如,参见图2B所示的主页面。
又一种可能的示例中,可以通过视频通话界面触发DC通话。参见图2D所示,视频通话界面中包括用于触发DC通话的控件。图2D通过DC电话标识。第一终端设备的用户可以针对视频通话界面上DC通话的控件执行操作,从而第一终端设备响应于用户针对DC电话控件的操作,触发发送会话修改请求,会话修改请求用于请求将与第二终端设备的音频通话修改为DC通话。在建立DC通话的过程中,第一终端设备与轻应用服务器之间会创建第一DC引导通道,第二终端设备与轻应用服务器之间会创建第二DC引导通道。
在第一终端设备与第二终端设备之间创建DC通话后,轻应用服务器分别向第一终端设备和第二终端设备发送主页面。作为一种举例,第一终端设备响应于用户针对视频通话界面中DC电话控件的操作,获取第一终端设备的用户主页面,并显示第一种终端设备的用户的主页面。例如,参见图2B所示的主页面。
如下针对第一终端设备与第二终端设备触发DC通话后,建立DC通话的流程进行说明,参见图3所示。在描述图3所示的流程中,以图1所示的架构为例。第一终端设备与第二终端设备被同一个轻应用服务器提供服务。
301,第一终端设备发送会话创建/修改请求。第一终端设备与第二终端设备之间建立DC通话包括第一终端设备和第二终端设备分别与轻应用服务器之间建立用于传输页面的数据通道。为了便于区分将用于传输页面的数据通道称为DC引导通道。
一种可能的实施方式中,第一终端设备可以在由第一终端设备的用户触发DC通话的操作时,向IMS网络发送会话创建/修改请求,由IMS网络根据会话创建/修改请求向轻应用服务器触发请求引导DC通道的建立。
302a,轻应用服务器接收到该会话创建/修改请求后,与第一终端设备之间建立DC引导通道。为了便于描述,此处将轻应用服务器与第一终端设备之间建立的DC引导通道称为第一DC引导通道。
303a,轻应用服务器通过建立的第一DC引导通道向第一终端设备发送主页面,从而该第一终端设备接收到该主页面。
在一些实施例中,第一终端设备与轻应用服务器之间建立第一DC引导通道后,执行304a,第一终端设备可以向轻应用服务器发送第一页面请求,第一页面请求用于请求第一 终端设备的主界面。从而轻应用服务器在接收到第一终端设备的第一页面请求后,再执行303a,通过第一DC引导通道向第一终端设备发送第一终端设备的主页面。
示例性地,在第一种可能的场景中,第一页面请求可以携带第一终端设备的用户标识。从而轻应用服务器根据第一终端设备的用户标识来获取第一终端设备的主界面,并发送给第一终端设备。在第二种可能的场景中,第一页面请求可以携带服务号码。从而轻应用服务器根服务号码来获取服务主界面,并发送给第一终端设备。
一种可能的实施方式中,第一终端设备与第二终端设备之间建立DC通话的过程中,轻应用服务器还与第二终端设备之间建立DC引导通道,用于向第二终端设备发送供第二终端设备使用的主页面。为了便于描述,此处将轻应用服务器与第二终端设备之间建立的DC引导通道称为第二DC引导通道。
一种可能的示例中,为被叫终端设备下发的主页面可以与为主叫终端设备下发的主页面相同。轻应用服务器接收到第一请求后,与第二终端设备建立第二DC引导通道。轻应用服务器通过建立的第二DC引导通道向第二终端设备发送第一页面。
另一种可能的示例中,轻应用服务器为第二终端设备下发的主页面可以与为第一终端设备下发的主页面不同。参见图3所示,轻应用服务器接收到该第一请求后,执行302b,第二终端设备与轻应用服务器完成第二DC引导通道的创建。然后执行303b,将第二终端设备的主界面下发给第二终端设备。在一些实施例中,第二终端设备与轻应用服务器之间建立第二DC引导通道后,执行304b,第二终端设备可以向轻应用服务器发送第二页面请求,比如可以通过第二DC引导通道向轻应用服务器发送第二页面请求,第二页面请求用于请求第二终端设备的主界面。从而轻应用服务器在接收到第二终端设备的第二页面请求后,再执行303b,通过第二DC引导通道向第二终端设备发送第二终端设备的主页面。示例性地,第二页面请求可以携带第二终端设备的用户标识。从而轻应用服务器根据第二终端设备的用户标识来获取第二终端设备的主界面,并发送给第二终端设备。
下面结合图4A对第一终端设备触发与第二终端设备通话过程中,创建DC引导通道和下发主页面的流程进行说明。第一终端设备的用户可以在音频通话过程中触发DC通话或者在视频通话过程中触发DC通话,或者通过拨号盘界面触发DC通话。
401,第一终端设备检测到用户针对DC通话控件的操作。具体可以参见图2A-图2D。
402,第一终端设备向CSCF发送第一请求。在音频通话过程中触发DC通话或者在视频通话过程中触发DC通话的场景中,第一请求为会话修改请求。在拨号盘界面触发DC通话的场景中,第一请求为会话创建请求。第一请求中携带第一终端设备的媒体描述信息。第一媒体描述信息用于描述与轻应用服务器之间创建DC引导通道的参数。
一种可能的示例中,通过拨号盘界面触发DC通话。第一终端设备的媒体描述信息中还可以包括用于描述与轻应用服务器之间创建音频传输通道的参数。
另一种可能的示例中,可以通过音频通话界面触发DC通话。第一终端设备的媒体描述信息中还可以包括用于描述与轻应用服务器之间创建音频传输通道的参数。示例性地,第一终端设备与第二终端设备之间在建立音频通话时创建的音频传输通道无需进行更改,可以继续沿用,因此,第一终端设备的媒体描述信息中也可以不包括用于描述与轻应用服务器之间创建音频传输通道的参数,无需在重新建立音频传输通道。
另一种可能的示例中,可以通过视频通话界面触发DC通话。第一终端设备的媒体描 述信息中还可以包括第一指示,该第一指示用于指示删除已建立用于视频通话过程中传输视频数据的通道。例如,SDP中用于描述视频的参数部分可以置为0,从而指示删除已建立用于视频通话过程中传输视频数据的通道。
示例性地,第一终端设备在向CSCF发送第一请求时,可以通过第一终端设备所属的SBC1向CSCF发送第一请求。
作为一种举例,媒体描述参数可以采用会话描述协议(session description protocol,SDP)。当然还可以采用其它的描述协议,本申请对此不作具体限定。后续描述时,以第一媒体描述参数采用SDP为例。
例如,第一终端设备的SDP中可以包括带宽、SDP属性、媒体流类型,支持的编解码格式等。
作为一种示例,参见4B所示的SDP用于描述用于创建DC引导通道的参数。应理解的是,图4B仅作为一种示例,并不对SDP包括的内容进行具体限定。
其中,m=application,表示媒体类型,比如m=video/audio。52718,表示媒体流发往传输层的端口。UDP/DTLS/SCTP,表示传输协议。webrtc-datachannel,是RFC 5688[177]中规定的+sip.app-子类型媒体功能标签,表示应用媒体采用的格式。b=AS:500,表示确定会话中接收方向的最大带宽。a=max-message-size:1024,用于确定最大数据包的大小。a=sctp-port:5000,表示SCTP传输端口。a=setup:passive,主要是表示数据报传输层安全(Datagram Transport Layer Security,DTLS)的协商过程中角色的问题,谁是客户端,谁是服务器。a=setup:actpass,表示既可以是客户端,也可以是服务器。a=setup:active表示客户端。a=setup:passive,表示服务器。图4B采用a=setup:actpass。a=fingerprint:SHA-1 4A:AD:B9:B1:3F:82:18:3B:54:02:12:DF:3E:5D:49:6B:19:E5:7C:AB,表示DTLS(Datagram Transport Layer Security)协商过程中需要的认证信息。a=tls-id:abc3de65cddef001be82,表示TLS的ID信息。
a=dcmap:10 subprotocol="http",表示数据通道(DC)的stream ID,引导DC通道时stream ID小于1000。
[根据细则91更正 05.08.2022] 
ID=0/10/100/110分别表示内容(链接/应用)来源于本网运营商(第一终端设备的所属运营商)/第一终端设备/跨网运营商(第二终端设备所属运营商)/第二终端设备;子协议采用超文本传输协议(Hyper Text Transfer Protocol,HTTP)。图4B中,以ID=0为例。
a=dcmap:38754 max-time=150;label="low latency",表示DC的stream ID,应用通道时stream ID大于等于1000,max-time与label中的low latency对应,最大时延为150ms。不特殊指定重传、丢包率等信息的情况下,则丢包率、时延以“a=3gpp-qos-hint:loss=0.01;latency=100”为限定条件为准。
a=dcmap:7216 max-retr=5;label="low loss",表示与a=dcmap:38754为不同的应用通道,最大重传次数为5,需要更低的丢包率。不特殊指定重传、丢包率等信息的情况下,则丢包率、时延以“a=3gpp-qos-hint:loss=0.01;latency=100”为限定条件为准。
a=3gpp-qos-hint:loss=0.01;latency=100,表示服务质量(Quality of Service,QoS)信息,指定特定的丢包率和时延。其他DC通道不指定特殊条件的话,以该条为准。
图4B中SDP中的两个通道均指定特殊限定条件。
后续CSCF辅助完成第一终端设备与轻应用服务器之间的第一DC引导通道的创建,以及辅助完成第二终端设备与轻应用服务器之间的第二DC引导通道的创建。例如,参见 403-412的所述。
403,CSCF向轻应用服务器发送第一通道创建请求。第一通道创建请求用于请求创建第一终端设备与轻应用服务器之间的DC引导通道。第一通道创建请求携带第一终端设备的第一SDP。
404,轻应用服务器向CSCF发送第一通道创建响应,第一通道创建响应携带轻应用服务器的第一SDP。轻应用服务器的第一SDP用于创建与第一终端设备之间的第一DC引导通道。作为一种示例,参见4C所示的SDP用于描述轻应用服务器的创建DC引导通道的参数。应理解的是,图4C仅作为一种示例,并不对SDP包括的内容进行具体限定。
轻应用服务器在接收第一终端设备的SDP后,可以根据第一终端设备的SDP与轻应用服务器的第一SDP完成轻应用服务器侧的第一DC引导通道的创建。
405,CSCF向轻应用服务器发送第二通道创建请求,第二通道创建请求用于请求创建第二终端设备与轻应用服务器之间的第二DC引导通道。
406,轻应用服务器向CSCF发送第二通道创建响应,第二通道创建响应携带轻应用服务器的第二SDP。轻应用服务器的第二SDP用于创建与第二终端设备之间的第二DC引导通道。
407,CSCF向第二终端设备发送第二请求,第二请求可以是会话创建/修改请求。会话创建/修改请求携带轻应用服务器的第二SDP。
408,第二终端设备响应于用户执行的接受DC通话的操作,向CSCF发送第二响应。第二响应可以是会话修改或者创建响应,可以采用200OK。200OK携带第二终端设备的SDP。
示例性地,第二终端设备可以根据第二终端设备的SDP与轻应用服务器的第二SDP来完成第二终端设备侧的第二DC引导通道的创建。
409,CSCF向轻应用服务器转发200OK,200OK携带第二终端设备的SDP。
410,轻应用服务器在接收第二终端设备的SDP后,可以根据第二终端设备的SDP与轻应用服务器的第二SDP完成轻应用服务器侧的第二DC引导通道的创建,即完成第二终端设备与轻应用服务器之间的第二DC引导通道的创建。
411,CSCF向第一终端设备发送第一响应,第一响应携带轻应用服务器的第一SDP。
412,第一终端设备在接收轻应用服务器的第一SDP后,可以根据第一终端设备的SDP与轻应用服务器的第一SDP完成第一终端设备侧的第一DC引导通道的创建,即完成第一终端设备与轻应用服务器之间的第一DC引导通道的创建。
413,第一终端设备通过第一DC引导通道向轻应用服务器发送第一页面请求,第一页面请求用于请求第一终端设备的主页面。参见304a所示。
414,轻应用服务器接收到第一页面请求后,通过第一DC引导通道向第一终端设备发送第一终端设备的主页面。
415,第二终端设备通过第二DC引导通道向轻应用服务器发送第二页面请求,第二页面请求用于请求第二终端设备的主页面。参见304b所示。
416,轻应用服务器接收到第二页面请求后,通过第二DC引导通道向第二终端设备发送第二终端设备的主页面。
通过上述方法完成轻应用服务器与第一终端设备之间的第一DC引导通道以及轻应用服务器与第二终端设备之间的第二DC引导通道的建立,并通过DC引导通道能够从轻应 用服务器获取到主页面。主页面可以包括供终端设备使用的多个应用的图标。进而终端设备的用户可以通过执行针对图标的操作即使用各个应用,无需安装。
在通话双方都获取到主页面后,主页面中包括该可供使用的多个应用的图标。终端设备的用户可以执行针对某一个应用图标的操作,从而触发运行该应用。以触发运行第一应用为例。本申请实施例中,第一终端设备和第二终端设备在获得自身的主页面后,第一终端设备或者第二终端设备用户可以触发运行主页面上的某个轻应用继续进行通话。比如运行屏幕共享应用,两个终端设备的用户中一方可以向另一方进行屏幕共享。第一终端设备的用户执行运行第一终端设备的主页面上的第一应用的操作后,第一终端设备触发与第二终端设备之间创建用于传输该第一应用产生的数据的数据通道,为了便于描述将用于传输应用产生的数据的数据通道称为应用通道。应用产生的数据可以称为DC数据。比如第一应用为屏幕共享或者远程协作,DC数据比如包括Mask等操作数据。
一些场景中,第一终端设备与第二终端设备之间的应用通道通过第一终端设备所属的SBC1和第二终端设备所属的SBC2。SBC1和SBC2参与对第一终端设备与第二终端设备之间传输的应用数据的处理。比如进行媒体增强处理等。参见图5A所示的通信架构。
另一些场景中,第一终端设备与第二终端设备之间的应用通道通过轻应用服务器,轻应用服务器可以执行第一终端设备与第二终端设备之间传输的应用数据的处理。比如进行媒体增强等。参见图5B所示的通信架构。
在第一终端设备与第二终端设备之间建立应用通道时,第一终端设备可以通过发送会话修改请求来触发应用通道的建立。在本申请实施例中,DC通话触发可以通过脚本来实现,该脚本可以称为DC通话控制脚本。因此,第一终端设备在触发运行某个应用以执行与第二终端设备的DC通话时,通过DC通话控制脚本来生成会话修改请求。
示例性地,参见图6所示,对本申请实施例提供的通信方法进行描述。
601,第一终端设备触发运行第一应用以执行与第二终端设备的数据通道DC通话时,通过DC通话控制脚本生成会话修改请求,会话修改请求用于请求建立与第二终端设备之间的应用通道。
例如,第一终端设备触发运行第一应用以执行与第二终端设备的数据通道DC通话,可以理解是,第一终端设备检测到用户执行运行第一终端设备的主页面上的第一应用的操作。
一些实施例中,第一终端设备触发运行第一应用以执行与第二终端设备的数据通道DC通话时,可以先激活DC通话控制脚本,然后通过DC通话控制脚本生成会话修改请求。
602,第一终端设备向通话应用服务器发送所述会话修改请求。
一些可能的实施例中,第一终端设备与第二终端设备之间建立应用通道。示例性地,会话修改请求包括第一终端设备的第一媒体描述信息,第一媒体描述信息包括用于创建应用通道的参数;接收会话修改响应,会话修改响应包括第二终端设备的第二媒体描述信息,第二媒体描述信息包括用于创建应用通道的参数;进一步地,第一终端设备根据所述第一媒体描述信息和所述第二媒体描述信息创建应用通道。
另一些可能地实施例中,第一终端设备与第二终端设备之间建立的应用通道可以经过服务于第一终端设备的SBC和服务于第二终端设备的SBC。
一种可能的示例中,第一终端设备与第二终端设备建立应用通道时,借助已经建立的 DC引导通道来建立,即可以借助DC引导通道经过轻应用服务器来转发消息。
另一种可能的示例中,第一终端设备与第二终端设备建立应用通道时,可以借助CSCF来转发消息,进而实现应用通道的建立。
下面结合图7,对本申请实施例中应用通道的创建流程进行描述,图7中以应用通道经过SBC为例进行说明。
701,第一终端设备响应于用户执行运行第一终端设备的主页面上的第一应用的操作,向SBC1发送会话修改请求1,会话修改请求1中包括第一终端设备的SDP1,SDP1包括用于创建第一终端设备与第二终端设备的应用通道的媒体描述参数。
图6中,以第一终端设备与第二终端设备建立应用通道时,借助已经建立的DC引导通道来建立,即可以借助DC引导通道经过轻应用服务器来转发消息。一些实施例中,第一终端设备与第二终端设备建立应用通道时,也可以经过轻应用服务器来转发消息。
一些实施例中,为了区分DC引导通道和应用通道,各个设备中发送的SDP中包括的stream ID的取值范围不同。例如,DC引导通道创建时,各个设备发送的SDP中包括的Stream ID取值小于或者等于1000。应用通道创建时,各个设备发送的SDP中包括的stream ID取值大于1000。
702,SBC1向通话应用服务器发送会话修改请求2,会话修改请求2包括SBC1的SDP1。
一些可能的实施例中,第一终端设备与第二终端设备建立应用通道时,可以建立第一终端设备与第二终端设备之间的直连通道。则步骤1002中SBC1不再发送自身的SDP1,而是将第一终端设备的SDP转发即可,即步骤1002可以替换为SBC1向轻应用服务器发送会话修改请求2,会话修改请求2包括第一终端设备的SDP。
703,通话应用服务器接收到会话修改请求2后,向SBC2转发会话修改请求2。
704,SBC2接收会话修改请求2后,向第二终端设备发送会话修改请求3,会话修改请求3中包括SBC2的SDP1。
705,第二终端设备向SBC2发送会话修改响应3,会话修改请求3中包括第二终端设备的SDP1。第二终端设备与SBC2之间可以根据SBC2的SDP1和第二终端设备的SDP2创建应用通道中SBC2和第二终端设备之间的通道段。
一些实施例中,第二终端设备响应于确定接受DC通话的操作,向SBC2发送会话修改响应3。
706,SBC2接收到会话修改响应3后,向轻应用服务器发送会话修改响应2。会话修改响应2包括SBC2的SDP2。
707,轻应用服务器接收到会话修改响应2后,向SBC1转发所述会话修改响应2。SBC1与SBC2之间可以根据SBC2的SDP2和SBC1的SDP1创建应用通道中SBC1和SBC2之间的通道段。
708,SBC1向第一终端设备发送会话修改响应1,会话修改响应1包括SBC1的SDP2。
SBC1与第一终端设备之间可以根据SBC1的SDP2和第一终端设备的SDP1创建应用通道中SBC1和第一终端设备之间的通道段。
经过上述701-708完成第一终端设备与第二终端设备之间的应用通道的创建。
一些实施例中,在应用通道完成创建后,第一终端设备可以向轻应用服务器请求第一应用的页面。示例性地,轻应用服务器向第一终端设备发送的第一应用的页面,可以包括用于显示的应用的主界面还可以包括第一应用的应用脚本。
页面,也称为网页,可以理解为内嵌在应用程序界面中的一个特殊的控件,网页是通过特定计算机语言编写的源代码,例如超文本标记语言(hyper text markup language,HTML),层叠样式表(cascading style sheets,CSS),java脚本(JavaScript,JS)等,网页源代码可以由浏览器或与浏览器功能类似的网页显示组件加载和显示为用户可识别的内容。网页所包含的具体内容也是通过网页源代码中的标签或者节点来定义的,比如HTML通过<p>、<img>、<video>、<canvas>来定义网页的元素和属性。
参见图8所示,第一终端设备和第二终端设备获取第一应用的流程进行说明。
801,第一终端设备向轻应用服务器发送第一子页面请求,所述第一子页面请求用于请求运行所述第一应用。或者说第一子页面请求用于请求第一应用的页面。
第一终端设备在向轻应用服务器发送第一子页面请求时,可以通过第一终端设备与轻应用服务器之间的第一DC引导通道向轻应用服务器发送所述第一子页面请求。
802,轻应用服务器通过第一DC引导通道接收来自第一终端设备的第一子页面请求后,向第一终端设备发送所述第一应用的页面。
示例性地,第一子页面请求中可以携带第一应用的ID或者第一应用的页面ID。还可以携带第一终端设备的用户标识。
示例性地,第一终端设备接收到第一应用的页面后,将第一应用的页面显示给用户。
803,轻应用服务器通过第二DC引导通道向第二终端设备发送所述第一应用的页面。
示例性地,第二终端设备接收到第一应用的页面后,将第一应用的页面显示给第二终端设备用户。
一些实施例中,轻应用服务器建立第一终端设备与轻应用服务器之间的第一DC引导通道,以及建立第二终端设备与轻应用服务器之间的第二DC引导通道后,可以建立第一DC引导通道与第二引导通道的关联关系,从而轻应用服务器在接收到第一子页面请求后,可以通过第一DC引导通道向第一终端设备发送第一应用的页面。然后根据第一DC引导通道与第二引导通道的关联关系通过第二DC引导通道向第二终端设备发送第一应用的页面。
另一些实施例中,第一终端设备响应于用户执行运行第一终端设备的主页面上的第一应用的操作时,将第一终端设备请求的第一应用的ID或者页面ID发送给第二终端设备。从而第二终端设备可以向轻应用服务器请求该第一应用的页面,轻应用服务器接收到请求后,再通过第二DC引导通道将第一应用的页面发送给第二终端设备。
示例性地,参见图8所示,轻应用服务器在向第二终端设备发送第一应用的页面之前,执行804,第二终端设备向轻应用服务器发送第二子页面请求,第二子页面请求携带第一应用的ID。轻应用服务器在接收到第二子页面请求后,向第二终端设备发送所述第一应用的页面。
一些实施例中,第二终端设备可以通过应用通道获得第一应用的ID或者页面ID。
参见图8所示,805,第一终端设备与第二终端设备之间建立应用通道后,第一终端设备通过应用通道向第二终端设备发起启动轻应用的请求,启动应用的请求还可以包括第一应用的ID或者第一应用的页面ID。启动应用的请求中还可以包括会话ID、第一终端设备的用户标识等信息。
806,第二终端设备向第一终端设备发送启动轻应用的响应。启动轻应用的响应可以采用200OK。
第一终端设备与第二终端设备均获取的第一应用的页面后,可以运行第一应用从而产生媒体数据。该媒体数据可以通过应用通道传输到第二终端设备。媒体数据可以包括操作产生的操作数据,比如Mask操作,或者共享的图像数据等等。
例如,第一终端设备将第一应用的页面显示给第一终端设备的用户,第二终端设备将第一应用的页面显示给第二终端设备用户。第一终端设备与第二终端设备的用户通过针对页面操作,触发产生媒体数据。
一些实施例中,第一终端设备在运行第一应用时产生第一媒体数据,然后可以通过应用通道向所述第二终端设备发送所述第一媒体数据。示例性地,第一终端设备通过第一应用的应用脚本产生第一媒体数据,然后第一应用的应用脚本可以通过应用通道向所述第二终端设备发送所述第一媒体数据。示例性地,在通过应用通道发送第一媒体数据,将第一媒体数据封装为应用通道的数据,从而从应用通道发送给第二终端设备。
另一些实施例中,第一终端设备还可以通过应用通道接收来自所述第二终端设备的第二媒体数据;运行所述第一应用以对所述第二媒体数据进行媒体处理。示例性地,第一应用的应用脚本来对第二媒体数据进行媒体处理。示例性地,第二终端设备在通过应用通道发送第二媒体数据时,先经第二媒体数据封装为应用通道的数据,可以成为DC数据,然后再通过应用通道发送给第一终端设备。第一终端设备先对DC数据进行解封装处理获得第二媒体数据,然后在通过第一应用的应用脚本对第二媒体数据进行处理。
又一些实施例中,媒体数据在发送之前,先对媒体数据进行数据封装处理,比如预测、补偿、编码处理等等。比如为了防止丢包所作的一些编码处理。将对媒体数据进行数据封装后的数据可以成为ADC数据。当然还可以采用其它的名称,本申请实施例对此不作限定。
示例性地,第一终端设备通过运行第一应用产生第一媒体数据,先对第一媒体数据进行数据封装处理;然后通过所述数据通道向所述第二终端设备发送经过数据封装处理后的所述第一媒体数据。
再一些实施例中,第二终端设备通过运行第一应用产生第二媒体数据,先对第二媒体数据进行数据封装处理;然后通过所述数据通道向所述第一终端设备发送经过数据封装处理后的所述第二媒体数据。第一终端设备通过所述数据通道接收来自所述第二终端设备的第二媒体数据,该第二媒体数据是经过数据封装后的,第一终端设备先对所述第二媒体数据进行解封装处理;然后运行所述第一应用对解封装处理后的第二媒体数据进行媒体处理。
基于以上实施例,本申请实施例还提供一种终端设备的软件架构。参见图9A所示。终端设备的软件架构中可以包括脚本(script)模块901、会话建立和控制(session setup and control)模块902和网络接口(packet-based network interface)模块903。软件架构中还可以包括数据通道(data channel)模块904。Script模块901包括多个脚本,用于执行脚本的运行。Session setup and control模块902,用于会话控制,比如DC通话的会话创建和修改、会话消息的产生。packet-based network interface模块903,用于执行网络层封装,发送数据。数据通道模块904,可以用于将终端设备产生的媒体数据进行通道数据的封装,以及用于对从应用通道接收到的通道数据进行通道解封装处理。示例性地,数据通道模块904可以包括数据通道封装模块9041和数据通道解封装模块9042。
在一些可能的实施方式中,参见图9B所示,终端设备的软件架构还可以包括扬声器(Speaker)模块905、屏幕显示(Display)模块906,麦克风(Microphone)模块907、相 机(Camera)模块908、键盘(Keyboard)模块909、无线同步(Synchronization)模块910、音频解码(Audio decoder)模块911、视频解码(Video decoder)模块912、第一文本处理(Text)模块913、音频编码(Audio encoder)模块914、视频编码(Video encoder)模块915、激活控制(Activation)模块916、第二文本处理模块917、用户操作界面(User interface)模块918、数据链路层(3GPP L2)模块919以及网页(Web page)模块920。
扬声器(Speaker)模块905用于播放音频。屏幕显示(Display)模块906用于控制显示屏进行显示。麦克风(Microphone)模块907用于采集环境中音频数据。相机(Camera)模块908用于采集图像数据。键盘(Keyboard)模块909用于接收用户输入的文本数据。无线同步(Synchronization)模块910可以将要输出的音频数据、视频数据、文本数据和应用产生的媒体数据进行同步。
音频解码(Audio decoder)模块911用于对终端设备接收到的音频包进行解码处理。视频解码(Video decoder)模块912用于对终端设备接收到的视频包进行解码。第一文本处理(Text)模块913用于对接收到的文本数据包进行处理,例如解码文本数据。音频编码(Audio encoder)模块914用于对终端设备产生的音频数据进行编码获得音频包,比如将从麦克风模块获得的音频数据进行编码。视频编码(Video encoder)模块915用于将终端设备的视频数据进行编码获得视频包,比如将相机模块采集的图像数据编码为视频包。激活控制(Activation)模块916用于激活通道,比如DC引导通道、应用通道、音频传输通道、视频传输通道等等。第二文本处理模块917用于对从键盘模块接收的文本数据进行处理。
网页(Web page)模块920用于执行接收到的网页的处理,比如通过DC引导通道接收主页面,执行网页处理后传输给用户操作界面(User interface)模块918。网页模块920与用户操作界面918交互实现网页与人机交互界面的转换处理。
用户操作界面(User interface)模块918也可以称为人机交互模块918,用于实现终端设备内部格式数据与用户可以接受的操作形式之间信息的转换。
数据链路层(3GPP L2)模块919,最基本的服务是将源计算机网络层接收到的数据,可靠地传输到相邻节点的目标计算机的网络层。比如执行将数据组合成数据块(在数据链路层中将这种数据块称为帧,帧是数据链路层的传送单位);控制帧在物理信道上的传输,包括传输纠错、调节发送速率等以与收端设备相匹配;在两个网络设备实体之间提供数据链路通路的建立、维持和释放管理等。
需要说明的是,图9B仅是对终端设备包括的组件的示例,终端设备可以包括更多或者更少的组件,本申请实施例对此不作具体限定。
为了便于描述,后续在针对各个模块描述时不再对各个模块的标号进行示例。
一些实施例中,基于IMS的DC通话可以通过脚本来触发。即通过脚本来控制生成会话消息。本申请实施例中通过定义脚本模块与会话建立和控制模块之间的接口,从而实现会话控制、媒体协商以及用于建立应用通道的参数的配置等等。以第一终端设备与第二终端设备之间触发运行第一应用的DC通话为例,脚本模块在第一终端设备触发运行第一应用以执行与所述第二终端设备的数据通道DC通话时,通过所述DC通话控制脚本向所述会话建立和控制模块发送生成会话控制请求,以请求生成会话修改请求。
示例性地,参见图10所示,对第一终端设备内部在应用通道建立过程中处理流程进行说明。脚本模块在第一终端设备触发运行第一应用以执行与所述第二终端设备的数据通 道DC通话时,执行1001。
1001,脚本模块激活DC通话控制脚本。
1002,脚本模块向会话建立和控制模块发送会话控制请求,会话控制请求用于指示生成会话修改请求。
1003,会话建立和控制模块根据会话控制请求生成会话修改请求,并发送给网络接口模块。会话修改请求用于请求建立与第二终端设备之间的应用通道。
1004,网络接口模块向通话应用服务器发送会话修改请求。例如,会话修改请求可以采用re-invite消息。会话修改请求可以携带第一终端设备的媒体描述参数。
一些场景中,网络接口模块通过第一终端设备的SBC1向通话应用服务器发送会话修改请求。另一些场景中,可以通过CSCF进行消息转发实现应用通道的创建。通话应用服务器或者CSCF会将会话修改请求转发到对端的第二终端设备。具体网元之间的交互流程可以参见图7所示的流程。此处不再赘述。
1005,网络接口模块接收通话应用服务器发送的会话修改响应。例如,会话修改响应可以采用200OK消息。会话修改响应包括第二媒体描述参数。第二媒体描述参数可以是第二终端设备上用于创建应用通道的参数或者第一终端设备的SBC上用于创建应用通道的参数。
一些实施例中,如果第一终端设备与第二终端设备之间建立直连的应用通道,则200OK消息携带第二终端设备的媒体描述参数。另一些实施例中,第一终端设备与第二终端设备之间的应用通道经过服务于第一终端设备的SBC1和服务与第二终端设备的SBC2,则200OK携带SBC1的媒体描述参数。
一种可能的示例中,网络接口模块将会话修改请求发送到数据链路层模块,进行数据链路层的封装处理,然后再发出。从而数据链路层模块接收到来自通话应用服务器的经过数据链路层封装的会话修改响应,从经过数据链路层封装的会话修改响应中解封装得到会话修改响应,在传输给网络接口模块。
1006,网络接口模块将会话修改响应发送给会话建立和控制模块。
1007,会话建立和控制模块从会话修改响应中获取第二终端设备的媒体描述参数或者SBC1的媒体描述参数。
1008,会话建立和控制模块将第一媒体描述参数和第二终端设备的媒体描述参数(或者SBC1的媒体描述参数)发送给数据通道模块。
1009,数据通道模块根据第一媒体描述参数和第二终端设备的媒体描述参数(或者SBC1的媒体描述参数)完成第一终端设备侧的应用通道的建立。
一种可能的实施方式中,应用通道完成建立后,第一终端设备可以将第一应用的页面ID或者第一应用的ID发送给第二终端设备。例如,人机交互模块接收用户在主页面运行第一应用的操作时,将第一应用的页面ID或者第一应用的ID发送给数据通道模块,通过数据通道模块将第一应用的页面ID或者第一应用的ID发送给第二终端设备。从而第一终端设备与第二终端设备均向轻应用服务器请求第一应用的页面。
第一终端设备与第二终端设备在获取到第一应用的页面后,第一终端设备将第一应用的页面显示给第一终端设备的用户,第二终端设备将第一应用的页面显示给第二终端设备用户。第一终端设备与第二终端设备的用户通过针对页面操作,触发产生媒体数据。
应用通道完成建立后,第一终端设备与第二终端设备之间可以通过应用通道传输运行 第一应用产生的媒体数据。
作为一种示例,如下从第一终端设备内部角度,对第一终端设备与第二终端设备之间传输第一应用产生的媒体数据的流程进行说明。
参见图11A和图11B所示,对第一终端设备运行第一应用产生的媒体数据的传输流程进行说明。
1101,脚本模块在运行第一应用时产生第一媒体数据,将第一媒体数据发送给数据通道模块;为了便于区分,此处将第一终端上运行第一应用产生的数据称为第一媒体数据。
脚本模块运行第一应用产生第一媒体数据,可以理解为脚本模块通过第一应用的应用脚本产生第一媒体数据。
1102,数据通道模块对第一媒体数据进行通道封装处理获得第一DC数据。
1103,并将第一DC数据发送给网络接口模块。示例性地,数据通道模块按照建立的应用通道的通道参数来封装第一媒体数据为第一DC数据。
1104,网络接口模块,用于通过应用通道向第二终端设备发送第一DC数据。
一些可能的示例中,脚本模块在发送媒体数据之前,先向数据通道模块请求资源。具体的,参见图11B所示。
1101a,脚本模块在通过第一应用的应用脚本产生第一媒体数据,向数据通道模块发送DC数据资源请求,用于请求发送第一媒体数据的资源。
1101b,数据通道模块为发送第一媒体数据分配资源,比如端口的网络资源。
1101c,数据通道模块向脚本模块发送资源请求成功消息。脚本模块在接收到资源请求成功消息后,将产生的第一媒体数据传输给数据通道模块。
参见图12所示,针对第一终端设备处理第二终端设备传输的媒体数据的处理流程进行说明。
第二终端设备向第一终端设备发送运行第一应用产生的第二媒体数据。第二媒体数据在通过应用通道传输时被第二终端设备封装为第二DC数据。
1201,网络接口模块通过数据通道接收来自第二终端设备的第二DC数据,第二DC数据承载第二终端设备的第二媒体数据。
1202,网络接口模块将第二DC数据发送给数据通道模块。
1203,数据通道模块接收到第二DC数据后,对第二DC数据进行通道解封装处理得到第二媒体数据;
1204,数据通道模块将第二媒体数据发送给脚本模块。
1205,脚本模块接收到第二媒体数据,对第二媒体数据进行媒体处理。
比如,脚本模块可以通过运行第一应用的应用脚本对第二媒体数据进行媒体处理。
上述方案,脚本模块与数据通道模块之间建立有接口,用于应用脚本运行产生的媒体数据的发送。
一种可能的实施方式中,应用运行产生媒体数据后,可以先经过数据封装处理,比如预测、补充、编码等处理,可以提高数据传输的鲁棒性。本申请实施例中将经过数据封装处理后的数据称为特殊DC媒体数据,简称为ADC媒体数据。
参见13A和图13B所示,对第一终端设备运行第一应用产生的媒体数据的传输流程进行说明。脚本模块运行第一应用产生第一媒体数据后,可以对第一媒体数据进行数据封装处理,比如预测、补充、编码等处理,再发送给数据通道模块传输。比如,可以通过运行 数据封装脚本(或者称为特殊数据通道脚本,ADC脚本)对第一媒体数据进行数据封装处理。参见图13A所示:
1301,脚本模块运行第一应用的应用脚本产生第一媒体数据。
1302,第一应用的应用脚本将第一媒体数据发送给数据封装脚本(或者称为特殊数据通道脚本,ADC脚本)。
1303,数据封装脚本对第一媒体数据进行数据封装处理获得第一ADC媒体数据。
1304,数据封装脚本将第一ADC媒体数据发送给数据通道模块。为了便于区分,此处将第一终端上运行第一应用产生的数据称为第一媒体数据。
1305,数据通道模块对第一ADC媒体数据进行通道封装处理获得第一DC数据;
1306,数据通道模块将第一DC数据发送给网络接口模块。示例性地,数据通道模块按照建立的应用通道的通道参数来封装第一ADC媒体数据为第一DC数据。
1307,网络接口模块,用于通过应用通道向第二终端设备发送第一DC数据。
一些可能的示例中,脚本模块在发送第一ADC媒体数据之前,先向数据通道模块请求资源,然后再发送。具体的,参见图13B所示。
1301a,脚本模块在通过第一应用的应用脚本产生第一媒体数据,向数据通道模块发送DC数据资源请求,用于请求发送第一媒体数据的资源。
1301b,数据通道模块为发送第一媒体数据分配资源,比如端口的网络资源。
1301c,数据通道模块向脚本模块发送资源请求成功消息。脚本模块在接收到资源请求成功消息后,通过ADC脚本对应用脚本产生的第一媒体数据进行数据封装处理。
参见图14所示,针对第一终端设备处理第二终端设备传输的媒体数据的处理流程进行说明。
第二终端设备向第一终端设备发送运行第一应用产生的第二媒体数据。第二媒体数据先经过数据封装处理,然后经过通道封装处理得到第二DC数据后,再经过应用通道传输给第一终端设备。
1401,网络接口模块通过数据通道接收来自第二终端设备的第二DC数据,第二DC数据承载第二终端设备的第二媒体数据。
1402,网络接口模块将第二DC数据发送给数据通道模块。
1403,数据通道模块接收到第二DC数据后,对第二DC数据进行通道解封装处理得到第二ADC媒体数据;
1404,数据通道模块将第二ADC媒体数据发送给脚本模块。
1405,脚本模块中的ADC脚本对第二ADC媒体数据进行数据解封装处理获得第二媒体数据。
1406,ADC脚本将第二媒体数据发送给第一应用的应用脚本。
1407,第一应用的应用脚本对第二媒体数据进行媒体处理。
上述方案,脚本模块与数据通道模块之间建立有接口,用于应用脚本运行产生的媒体数据的发送。
本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能单元可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是个人计算机,手机,或者网络设备等)或处理器(processor)执行本申请各个实施例该方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请实施例中,所述轻应用服务器以及终端设备均可以采用集成的方式划分各个功能模块的形式来呈现。这里的“模块”可以指特定ASIC,电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。
在一个简单的实施例中,SBC、CSCF、轻应用服务器可采用图15所示的形式。
如图15所示的装置1500,包括至少一个处理器1501,通信接口1502。可选地,还可以包括存储器1503。
一种可能的实现方式中,当轻应用服务器采用图15所示的形式时,图15中的处理器1501可以通过调用存储器1503中存储的计算机执行指令,使得所述轻应用服务器可以执行上述任一方法实施例中的所述轻应用服务器执行的方法。
处理器1501可以通过通信接口1502与其他设备进行通信。比如,处理器1501通过通信接口1502接收会话创建请求,以及发送会话创建响应。
又一种可能的实现方式中,当SBC采用图15所示的形式时,图15中的处理器1501可以通过调用存储器1503中存储的计算机执行指令,使得所述SBC可以执行上述任一方法实施例中的所述SBC1或者SBC2执行的方法。
又一种可能的实现方式中,当CSCF采用图15所示的形式时,图15中的处理器1501可以通过调用存储器1503中存储的计算机执行指令,使得所述CSCF可以执行上述任一方法实施例中的CSCF执行的方法。
本申请实施例中不限定上述处理器1501以及存储器1503之间的具体连接介质。本申请实施例在图中以存储器1503和处理器1501之间通过总线1504连接,总线1504在图中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。该总线1504可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在一个简单的实施例中,所述终端设备可采用图16所示的形式。如图16所示的装置1600包括至少一个处理器1601,通信接口1602,可选地还可以包括存储器1603。在一种可能的实现方式中,装置1600还包括显示器1604。所述装置还可以包括传感器1605,用于检测用户在页面上的操作。
处理器1601可以具有数据收发功能,能够与其他设备进行通信,在如图16装置中,也可以设置独立的数据收发模块,例如通信接口1602,用于收发数据;处理器1601在与其他设备进行通信时,可以通过通信接口1602进行数据传输。
当所述终端设备采用图16所示的形式时,图16中的处理器1601可以通过调用存储器1603中存储的计算机执行指令,使得所述终端设备可以执行上述任一方法实施例中的所述终端设备(比如第一终端设备)执行的方法。
本申请实施例中不限定上述处理器1601以及存储器1603、通信接口1602、显示器1604以及传感器1605之间的具体连接介质。本申请实施例在图中通过总线1606连接为例,总线1606在图中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。该总线1606可以分为地址总线、数据总线、控制总线等。为便于表示,图16中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
基于以上实施例,本申请实施例还提供了一种计算机存储介质,该存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时可实现上述任意一个或多个实施例提供业务平台或边缘计算设备执行的方法。所述计算机存储介质可以包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
基于以上实施例,本申请实施例还提供了一种芯片,该芯片包括处理器,用于实现上述任意一个或多个实施例所涉及的轻应用服务器的功能或者终端设备的功能。可选地,所述芯片还包括存储器,所述存储器,用于处理器所执行必要的程序指令和数据。该芯片,可以由芯片构成,也可以包含芯片和其他分立器件。
应理解,说明书通篇中提到的“一个实施例”、“一个实现方式”、“一个实施方式”或“一示例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”、“一个实现方式”、“一个实施方式”或“在一示例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。本申请涉及的术语“至少一个”,是指一个,或一个以上,即包括一个、两个、三个及以上;“多个”,是指两个,或两个以上,即包括两个、三个及以上。另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。此外,本申请实施例和权利要求书及附图中的术语“包括”和“具有”不是排他的。例如,包括了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,还可以包括没有列出的步骤或模块。
可以理解的是,本申请的实施例中的处理器可以是中央处理单元(central processing unit,CPU),还可以是其它通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件 指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(Read-Only Memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于网络设备或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,DVD;还可以是半导体介质,例如,固态硬盘(solid state disk,SSD)。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。

Claims (14)

  1. 一种通信方法,其特征在于,包括:
    第一终端设备触发运行第一应用以执行与第二终端设备的数据通道DC通话时,通过DC通话控制脚本生成会话修改请求,所述会话修改请求用于请求建立与所述第二终端设备之间的数据通道,所述数据通道用于在所述第一终端设备与所述第二终端设备之间传输运行第一应用产生的媒体数据;
    向通话应用服务器发送所述会话修改请求。
  2. 如权利要求1所述的方法,其特征在于,所述会话修改请求包括所述第一终端设备的第一媒体描述信息,所述第一媒体描述信息包括用于创建所述数据通道的参数;所述方法还包括:
    接收会话修改响应,所述会话修改响应包括所述第二终端设备的第二媒体描述信息,所述第二媒体描述信息包括用于创建所述数据通道的参数;
    根据所述第一媒体描述信息和所述第二媒体描述信息创建所述数据通道。
  3. 如权利要求2所述的方法,其特征在于,所述方法还包括:
    所述第一终端设备在运行所述第一应用时产生第一媒体数据;
    通过所述数据通道向所述第二终端设备发送所述第一媒体数据。
  4. 如权利要求2或3所述的方法,其特征在于,所述方法还包括:
    通过所述数据通道接收来自所述第二终端设备的第二媒体数据;
    运行所述第一应用以对所述第二媒体数据进行媒体处理。
  5. 如权利要求2所述的方法,其特征在于,所述方法还包括:
    所述第一终端设备通过运行所述第一应用产生第一媒体数据;
    对所述第一媒体数据进行数据封装处理;
    通过所述数据通道向所述第二终端设备发送经过数据封装处理后的所述第一媒体数据。
  6. 如权利要求2或5所述的方法,其特征在于,所述方法还包括:
    通过所述数据通道接收来自所述第二终端设备的第二媒体数据;
    对所述第二媒体数据进行解封装处理;
    运行所述第一应用对解封装处理后的第二媒体数据进行媒体处理。
  7. 一种通信装置,其特征在于,包括脚本模块、会话建立和控制模块和网络接口模块;
    所述脚本模块,用于在第一终端设备触发运行第一应用以执行与所述第二终端设备的数据通道DC通话时,通过DC通话控制脚本向所述会话建立和控制模块发送生成会话控制请求,所述会话控制请求用于指示生成会话修改请求,所述会话修改请求用于请求建立与所述第二终端设备之间的数据通道,所述数据通道用于在所述第一终端设备与所述第二终端设备之间传输运行第一应用产生的媒体数据;
    所述会话建立和控制模块,用于根据所述会话控制请求生成所述会话修改请求;
    网络接口模块,用于向通话应用服务器发送所述会话修改请求。
  8. 如权利要求7所述的装置,其特征在于,所述会话修改请求包括所述第一终端设备的第一媒体描述信息,所述第一媒体描述信息包括用于创建所述数据通道的参数;所述装置还包括数据通道模块;
    所述网络接口模块,还用于接收来自所述第一应用的应用服务器的会话修改响应,所述会话修改响应包括所述第二终端设备的第二媒体描述信息,所述第二媒体描述信息包括用于创建所述数据通道的参数;
    所述网络接口模块,还用于将所述会话修改响应发送给所述会话建立和控制模块;
    所述会话建立和控制模块,还用于将所述第一媒体描述信息和所述第二媒体描述信息发送给所述数据通道模块;
    所述数据通道模块,用于根据所述第一媒体描述信息和所述第二媒体描述信息建立所述数据通道。
  9. 如权利要求8所述的装置,其特征在于,所述脚本模块,还用于在运行所述第一应用时产生第一媒体数据,将所述第一媒体数据发送给所述数据通道模块;
    所述数据通道模块,用于对所述第一媒体数据进行通道封装处理获得第一DC数据,并将所述第一DC数据发送给所述网络接口模块;
    所述网络接口模块,用于通过所述数据通道向所述第二终端设备发送所述第一DC数据。
  10. 如权利要求8或9所述的装置,其特征在于,所述网络接口模块,还用于通过所述数据通道接收来自所述第二终端设备的第二DC数据,所述第二DC数据承载所述第二终端设备的第二媒体数据;
    所述数据通道模块,还用于对所述第二DC数据进行通道解封装处理得到所述第二媒体数据;
    所述脚本模块,还用于从所述数据通道模块获取所述第二媒体数据,并通过运行所述第一应用以对所述第二媒体数据进行媒体处理。
  11. 如权利要求8所述的装置,其特征在于,所述脚本模块,还用于通过运行所述第一应用产生第一媒体数据,通过数据处理脚本对所述第一媒体数据进行数据封装处理;将经过数据封装处理后的所述第一媒体数据发送给所述数据通道模块;
    所述数据通道模块,还用于对数据封装处理后的第一媒体数据进行通道封装处理获得第一DC数据;
    所述网络接口模块,还用于向所述第二终端设备发送所述第一DC数据。
  12. 如权利要求8或11所述的装置,其特征在于,所述网络接口模块,用于通过所述数据通道接收来自所述第二终端设备的第二DC数据,所述第二终端设备的第二DC数据承载所述第二终端设备的第二媒体数据;
    所述数据通道模块,还用于对所述第二DC数据进行通道解封装处理;
    所述脚本模块,还用于通过数据处理脚本对通道解封装处理后的第二DC数据进行数据解封装处理得到所述第二媒体数据,并通过第一应用的应用脚本对所述第二媒体数据进行媒体处理。
  13. 一种装置,其特征在于,所述装置包括通信接口和处理器;
    所述通信接口,用于收发信号;
    所述处理器,用于通过所述通信接口收发信号并实现如权利要求1至6中任一项所述的方法。
  14. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1-6中任一项所述的方法。
PCT/CN2022/102428 2021-07-31 2022-06-29 一种通信方法及装置 WO2023011056A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
BR112024001936A BR112024001936A2 (pt) 2021-07-31 2022-06-29 Método e aparelho de comunicação

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110877146.4 2021-07-31
CN202110877146.4A CN115695382A (zh) 2021-07-31 2021-07-31 一种通信方法及装置

Publications (1)

Publication Number Publication Date
WO2023011056A1 true WO2023011056A1 (zh) 2023-02-09

Family

ID=85060032

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/102428 WO2023011056A1 (zh) 2021-07-31 2022-06-29 一种通信方法及装置

Country Status (3)

Country Link
CN (1) CN115695382A (zh)
BR (1) BR112024001936A2 (zh)
WO (1) WO2023011056A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080137598A1 (en) * 2006-12-06 2008-06-12 Societe Francaise Du Radiotelephone (Sfr) Method and system for controlling the establishment of communications channels for allowing transmission of multimedia information
CN103052169A (zh) * 2012-12-05 2013-04-17 北京百度网讯科技有限公司 移动终端在通话时进行交互的系统、方法和移动终端
CN104980596A (zh) * 2014-04-09 2015-10-14 中兴通讯股份有限公司 一种实现呼叫和内容并行触发的方法、装置及终端
WO2016180220A1 (zh) * 2015-08-27 2016-11-17 中兴通讯股份有限公司 一种建立会话的方法及装置
CN109802931A (zh) * 2017-11-17 2019-05-24 腾讯科技(深圳)有限公司 一种通信处理方法、终端及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080137598A1 (en) * 2006-12-06 2008-06-12 Societe Francaise Du Radiotelephone (Sfr) Method and system for controlling the establishment of communications channels for allowing transmission of multimedia information
CN103052169A (zh) * 2012-12-05 2013-04-17 北京百度网讯科技有限公司 移动终端在通话时进行交互的系统、方法和移动终端
CN104980596A (zh) * 2014-04-09 2015-10-14 中兴通讯股份有限公司 一种实现呼叫和内容并行触发的方法、装置及终端
WO2016180220A1 (zh) * 2015-08-27 2016-11-17 中兴通讯股份有限公司 一种建立会话的方法及装置
CN109802931A (zh) * 2017-11-17 2019-05-24 腾讯科技(深圳)有限公司 一种通信处理方法、终端及存储介质

Also Published As

Publication number Publication date
BR112024001936A2 (pt) 2024-04-30
CN115695382A (zh) 2023-02-03

Similar Documents

Publication Publication Date Title
US9331967B2 (en) Browser/HTML friendly protocol for real-time communication signaling
JP5379167B2 (ja) Sip−httpアプリケーション相関器
US9307031B2 (en) Generic model for customizing protocol behavior through javascript
US9781167B2 (en) WebRTC data channel facilitating IMS support of RCS features
US9712593B2 (en) Javascript API for WebRTC
US9509745B2 (en) Java API for programming web real-time communication applications
JP6254188B2 (ja) Imsベースのdashサービスにおいて、プレゼンスサーバによりプレゼンス情報を供給する方法、および、プレゼンスサーバを介してプレゼンス情報を受信するユーザ機器(ue)
US9648049B2 (en) System and method for extending IP multimedia subsystem to HTML5 environments
JP6990649B2 (ja) 高速アクセステレコミュニケーショントンネルクローニング
JP6983218B2 (ja) データグラムベースのトランスポート層を介したカプセル化メディアトラフィックの効率的転送
CN103348657B (zh) 流媒体播放方法、设备及系统
US9883361B2 (en) Delivering time synchronized arbitrary data in an RTP session
WO2017157144A1 (zh) 基于SIP over TCP/TLS的通信方法及相关装置
JP2018515960A (ja) マルチメディアブロードキャストマルチキャストサービスに基づくフレキシブルブロードキャストサービスのための方法及び装置
WO2013155939A1 (zh) 因特网与运营商网络业务共享方法、服务方及网页网关
CN110535839B (zh) 一种信息处理方法、设备、系统及计算机可读存储介质
JP6418665B2 (ja) Imsベースのdashサービスにおいて、プレゼンスサーバによりプレゼンス情報を供給する方法、および、プレゼンスサーバを介してプレゼンス情報を受信するユーザ機器(ue)
US20240022619A1 (en) Augmented reality communication method, apparatus, and system
EP2536091A1 (en) Method and apparatus for processing session description protocol request during process of optimizing media path
WO2023011057A1 (zh) 一种通信方法及装置
WO2023071656A1 (zh) 信息传输方法及装置
CN105591879A (zh) 数据传输方法及装置
WO2023011056A1 (zh) 一种通信方法及装置
WO2014026316A1 (zh) 媒体数据传输方法及设备
WO2023087925A1 (zh) 电信通讯方法、电子设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22851771

Country of ref document: EP

Kind code of ref document: A1

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112024001936

Country of ref document: BR

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 112024001936

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20240130