The present invention relates to a method to set up a communication path for exchange of service control messages by a service control entity with a service application entity and to the corresponding service control entity. The invention furthermore relates to a method for controlling an application of a service application entity carried out at a service control entity and to the corresponding service control entity. Additionally, a computer program and a computer program product is provided.
The architecture shown in
In so far as an in-call app acts on the user plane, interaction is needed with the MRF 65. The MRF may e.g. be instructed to start recording the call.
There is no effective means for the UE 10 to control the MRF 65 directly. The UE has an RTP, Realtime Transport Protocol, session established towards the remote end; the RTP session traverses the MRF. In addition, an RTCP (Realtime Control Protocol) session is established towards the remote end, said RTCP session also traversing the MRF 65. Generally, RTP and RTCP are routed together over ‘each user plane hop’.
The UE 10 could possibly provide commands to an MRFP (MRF Processor) through functional connection with the in-call application server 50, whereby the in-call application server then forwards the command to the MRFP, through the H.248 functional connection. When various commands from the UE relating to the MRFP specifically, such as Start/Stop recording and Speech recognition are considered, one will notice that the control of MRFP by UE via the in-call application server is not very efficient.
A further alternative method of MRFP control by UE 10 is that an additional functional connection is established between UE and MRFP, e.g. an HTTP connection. This method requires an additional mobile data connection. In addition, the mobile data connection requires authentication. Also, the MRFP will need to correlate the HTTP session with the RTP session.
Accordingly, a need exists to provide an efficient and transparent possibility to set up a communication path between a service control entity and a service application entity.
This need is met by the features of the independent claims. Further aspects are described in the dependent claims.
According to a first aspect, a method is provided in which a service control entity sets up a communication path for exchange of service control messages with a service application entity in a mobile communications network for controlling an application of a service, by the service application entity, to a media data flow, wherein the media data flow is established between the service control entity and the remote end. According to one step, a first message is transmitted on a service control channel, wherein the first message comprises as a destination address an address of the remote end. Offer data is added to the transmitted first message, the offer data including an indicator indicating that the service control entity is configured to support a communication path on a media data plane of the media data flow based on Realtime Transport Control Protocol, RTCP, service control messages. Furthermore, a second message is received on the service control channel, wherein the second message comprises acceptance data in response to the offer data. The acceptance data comprise a receiver address at which the service application entity is configured to receive RTCP service control messages. The receiver address at which the service application entity is configured to receive RTCP service control messages is stored at the service control entity in order to set up the communication path between the service control entity and the service application entity.
In the above method, the service control entity and the service application entity use a service control channel to inform one another that the service control entity and the service application entity are ready for directly exchanging service control messages. For this establishment of the communication, a service control channel is used, wherein the service control channel can be an end-to-end control channel between the service control entity and a remote end. By adding the offer data and by receiving the second message including the acceptance data with the receiver address, the service control entity is enabled to directly communicate to the service application entity and vice versa. The invention furthermore relates to the corresponding service control entity configured to carry out the above-mentioned steps to set up the communication path. The acceptance data can also include an indicator indicating that the service application entity is configured to support the communication path on the media data plane based on RTCP service control messages. With the established communication path, the service control entity can control the way how a service is applied to the media data flow.
According to another aspect, a method is provided in which a service control entity controls an application of a service by the service application entity to the data packet flow, which is established in the mobile communications network between the service control entity and the remote end. According to one step, an RTCP service control message to be transmitted on a media data plane of the data packet flow is transmitted, wherein the RTCP service control message has as destination address an address of the remote end. Furthermore, an application identifier is added to the RTCP service control message, wherein the application identifier includes a receiver address of the service application entity and includes a command to be carried out by the service application entity. Furthermore, the RTCP service control message including the application identifier is transmitted towards the service application entity via the media data plane of the data packet flow.
The service control entity and the service application entity can use the media data plane and RTCP messages for communication. The service control entity can send an RTCP service control message to which an application identifier is added, and the receiver address in the application identifier helps the service application entity to identify the “actual” destination of this message even though the RTCP service control message is sent with a destination address of the remote end. The service application entity can then identify the command also contained in the application identifier and carry out the command as requested by the service control entity.
The invention furthermore relates to the corresponding service control entity configured to carry out the corresponding steps for controlling the service application entity.
The invention furthermore relates to a computer program comprising program code to be executed by at least one processor of a service control entity, wherein execution of the program code causes the service control entity to perform the above described methods.
Furthermore, a computer program product is provided comprising program code to be executed by the at least one processor of the service control entity, the execution of the program code causing the service control entity to perform the above described steps.
Features mentioned above and features yet to be explained below may not only be used in isolation or in combination as explicitly indicated, but also in other combinations. Features and embodiments of the present application may be combined unless explicitly mentioned otherwise.
Various features of embodiments will become more apparent when read in conjunction with the accompanying drawings. In these drawings:
In the following, embodiments of the invention will be described in detail with reference to the accompanying drawings. It is to be understood that the following description of embodiments is not to be taken in a limiting sense. The scope of the invention is not intended to be limited by the embodiments described hereinafter or by the drawings, which are to be taken demonstratively only.
The drawings are to be regarded as being schematic representations, and elements illustrated in the drawings are not necessarily shown to scale. Rather, the various elements are represented such that their function and general purpose becomes apparent to a person skilled in the art. Any connection or coupling between functional bocks, devices, components or other physical or functional units shown in the drawings or described herein may also be implemented by an indirect connection or coupling. A coupling between components or functional elements may be established over a wired or wireless connection. Functional blocks may be implemented in hardware, firmware, software or a combination thereof.
As will be explained, techniques are described in which a mobile entity or service control entity, also called UE hereinafter shall have the capability to control a Multimedia Resource Function, MRF, through instructions carried over RTCP. In this context, an application message defined for RTCP may be used, wherein the use of RTCP application messages is also known as “Application Context”. Before a mobile entity can send instructions to an MRF, an application relationship is established between the UE and the MRF. When a SIP session is established between the UE and the remote end, an RTP session is also established between the UE and the remote end. The RTP session traverses a Border Gateway Function, BGF, at the IMS (IP Multimedia Subsystem) network edge, an MRF in the IMS network and potentially additional user plane entities. RTP messages are sent end-to-end traversing the BGF, MRF, and other user plane entities as shown in connection with
During the SIP session establishment, the BGF, MRF and other user plane entities are instructed by their respective control plane entity to create a through connection for the RTP stream and for the RTCP stream. In this process, the BGF and/or MRF may inform their respective control plane entity that it supports the capability to establish an RTCP in-session application signaling relationship. This information is then conveyed towards the UE. The in-session application signaling relationship enables the UE and the MRF and/or BGF to exchange RTCP messages for application control. Whereas the RTCP message exchange occurs end-to-end between the UE and the remote end, there is in-session RTCP message exchange between the UE and the MRF. In-session means that the routing of the RTCP message occurs as per the regular rules of RTCP message routing. However, the RTCP message contains an application identifier, indicating that the RTCP message is destined for a functional entity on the RTCP path.
This is explained in more detail in connection with
The in-signaling relationship or communication path is then established between the in-call application at the mobile entity/user entity and the in-call application at the Multimedia Resource Function, e.g. the MRF processor, MRFP.
For a regular VoLTE (Voice over LTE (Long Term Evolution)) call, there is no need for MRF control, so its user plane is not routed through an MRF and there is no MRF in the path. Routing the user plane through MRF is done for specific call cases. For those call cases the MRF control through the user plane will be advantageous.
Generally, when the UE 100 sends an RTCP message or an RTP message, the message is meant for the remote end. Rationale is that, despite the fact that the RTP & RTCP messages traverse one or more intermediate functional entities, the RTP session is established between the respective end-points. However, a method is defined whereby the UE 100 can send an RTCP message in the normal manner, addressed towards to the remote end, but meanwhile, the MRF determines that the RTCP message is actually meant for the MRF. Hence, there exists:
The RTP&RTCP session between UE 100 and remote end is hence used for conveying the in-session RTCP messages between UE 100 and MRF 200. In this manner, there is no impact on the RTCP routing as such; the MRF 200 merely determines for an RTCP message, that this message is an in-session RTCP message destined for the MRF. The MRF shall then pass the RTCP message on to the in-call application server resident in the MRF, as opposed to passing the RTCP message on towards the remote end.
The structure of the RTCP APP message is shown in
In reverse direction, the same usage of RTCP messages applies. The in-call application server in the MRF 200 may send an in-call app related RTCP message towards the UE 100. The MRF shall hereto use PT=204 and shall indicate the in-call application in the Name field. The UE will, when receiving this RTCP message, determine that this RTCP message comprises an in-call app message. The UE shall then pass the RTCP message on to the in-call app client resident in the UE.
The application-dependent data carries the actual in-call user plane command or response from UE to MRF or from MRF to UE. In a preferred embodiment of the invention, the application-dependent data comprises the following information elements (IE):
RTCP message exchange occurs in both directions, i.e. from mobile entity 100 to the remote end and from the remote end to the mobile entity 100. The UE may likewise receive RTCP messages that are destined for the in-call application client 130 as opposed to being related to the RTP message stream. With this method the UE 100 and the MRF 200 can, when the RTP session is established between the UE 100 and the remote end, transparently exchange instructions and results related to the execution of in-call services with the RTP session traversing the MRF 200.
In the following, it will be described how capability exchange between the UE 100 and the MRF 200 can take place. It is described how the UE 100 and the MRF 200 inform each other about the support of in-session RTCP message exchange for the control of in-call applications. The capability exchange is accomplished through enhancement of the SDP offer-answer model. Although the SDP offer-answer signaling is taking place in the SIP signaling, the SDP offer-answer method is devised for the purpose of establishing a user plane session including details such as the IP address, port number, voice codec etc. This is shown in
The control plane passes, as shown in
In connection with
In step S3, the Invite message is forwarded by the SBG. The Invite request arrives at the in-call application server SIP-AS via the S-CSCF and SCC-AS. The SIP-AS reserves resources in the MRF (step S4) which is selected for this call. The SIP-AS provides the SDP offer including the indication of support of RTCP in-session signaling to the MRF 200. The MRF 200, in this example, comprises the in-call application functionality. Since (a) the UE has indicated support for RTCP in-session signaling and (b) the MRF supports this functionality, the MRF reports this capability to the SIP-AS along with other information that the SIP-AS has to send back towards the mobile entity 100 anyway in the SIP response, such as IP address and port number allocated by MRF 200 to the RTP session in upstream direction. It should be understood that the IP address and the port number may be mapped by the SBG before passing it on to the UE 100 since the user plane is anchored in the BGF.
In step S5, the Invite request is sent further towards to UE-B 300. The S-CSCF of UE-A may remove the indication of support of RTCP in-session signaling from the SDP offer. It is, however, not excluded that the indication of support of RTCP in-session signaling is not removed from the SDP offer. This indication may, for certain embodiments of the invention, be needed for the end-to-end negotiation between calling and called party, so as to facilitate the exchange of RTCP embedded text messages between the two parties 100, 300 to augment the speech call. In step S6, the 200 Ok message arrives at the in-call SIP-AS. The SIP-AS updates the resources at the MRF as normal (step S7). In step S8, the 200 Ok message is sent upstream towards the UE. The 200 Ok includes the indication that the SIP-AS had received from the MRF with the indication that the MRF 200 supports the in-session RTCP signaling. This indication is included in the designated attribute line in the SDP answer. The SDP answer may look like: m=audio 49170 RTP/AVP 0 a=rtcp-in-session: sender-<IP address>; application=in-call-apps-control-v1; receiver-mrf.ims.operator.com. This attribute line indicates that the entity mrf.ims.operator.com supports the RTCP in-session signaling for the in-call application functionality as requested in the SDP offer. The resources are updated at the BGF in step S9, and in step S10 the 200 Ok message is sent to the UE 100. The BGF did not indicate to the SBG that it, the BGF, supports in-session RTCP signaling, so the SBG does not further augment the designated attribute line in the SDP offer. As a result, in step 11 an end-to-end RTP session is established and in step 12 an in-session RTCP message exchange capability. It should be understood that steps 11 and 12 need not be carried out in the indicated order. They may also be established in simultaneously or step 11 may be established after step 12.
The end result is that the UE-A 100 has received an indication from MRF 200 through the SDP offer-answer sequence that the MRF 200 supports the RTCP in-call application signaling for this call. The UE 100 may hence send in-session RTCP messages towards the MRF 200, for in-call application control. As described earlier, the RTCP message is addressed in the normal manner, towards the IP address that the UE had received in the SDP answer. The RTCP message traverses BGF and when it arrives at the MRF, the MRF 200 determines that this RTCP message comprises an in-call application command etc. Vice versa, the MRF 200 can at any moment, e.g. in response to an in-call application command from the UE, send an in-session RTCP message towards the UE. The in-session RTCP message is marked accordingly and the UE will forward the RTCP message towards the in-call application client.
It is furthermore possible that both the BGF and the MRF 200 may indicate to the UE-A 100 that they (respectively) support in-session RTCP signaling. The SDP answer provided to UE-A 100 would then contain the following attribute line:
As a result, an RTCP in-session signaling relation is established between UE-A 100 and BGF, as well as between UE-A 100 and MRF 200. UE-A may send instructions to BGF and/or to MRF 200, as required for the application installed in the UE. RTCP-embedded instructions for in-call applications are addressed for the intended receiver (BGF or MRFP).
The following applies to the inclusion of the sender address (sender=<IP address>) and the receiver address (receiver=mrf.ims.operator.com) in the attribute line. When the UE 100 establishes a SIP session with corresponding end-to-end media session and the UE indicates that it supports the in-session communication between UE 100 and MRF 200, then the inclusion of sender=<IP address> in the attribute line is not necessary. Reason is that the in-session communication on the user plane in so far as generated by the MRF 200, is always destined for the UE 100. I.e. the UE 100 will be the only receiver of this in-session communication. Regarding the receiver address, e.g. receiver=mrf.ims.operator.com, that will still be needed. The UE 100 needs to be informed about the address of the in-session entity with which the in-session communication is established over the user plane. This is needed so the UE can direct the in-session commands towards the respective entity, such as MRF. Over and above, as described already, there may be two entities in the user plane with which the UE has establishes in-session communication. For each entity with which an in-session communication session is established, the address should be signaled towards the UE 100.
Once the call is established, including the user plane (RTP session and RTCP session), the UE 100 can send in-call application commands to the BGF and/or to the MRF 200, provided that an RTCP in-session signaling relation is established with the BGF and/or the MRF respectively. The RTCP APP message is a non-confirmed message. When the UE sends an RTCP APP message that is directed to e.g. the MRF 200, by virtue of indication in the ‘name’ field of the header RTCP header, the MRF 200 processes the command conveyed in the RTCP message and then sends a response to the UE 100. The response shall, likewise, be an RTCP APP message whereby the ‘name’ field of the RTCP header indicates that the message is an in-call application message. The response message may comprise the result of the execution of the command.
The receiver of the RTCP APP message determines, by virtue of being explicitly addressed for this RTCP message, that this message is destined for this receiver. This aids the receiver also in forwarding the RTCP message to the in-session application, as opposed to forwarding the RTCP message to the regular RTCP client.
The command and the response may be provided in binary form, which is the most efficient in terms of data usage. Alternatively, the command and the response may be provided in XML form, allowing for greater flexibility. XML requires more data, so is less efficient in terms of data usage.
RTP and RTCP traffic sessions may be encrypted end-to-end. RTP/RTCP encryption would prevent an MRF, functionally located between UE and remote end, to read or send RTCP messages. Thus, encryption keys may be exchanged during the establishment of the media session. For explanatory purposes, the SDP Security Descriptions (SDES) method for media protection is considered. SDES entails that UE and remote end exchange encryption keys during session establishment. SDES requires secure control plane (SIP). For the purpose of secure media transport between UE and MRF, the present invention introduces two methods: (i) shared encryption keys and (ii) dedicated set of encryption keys.
The method of shared encryption keys is now explained in connection with
The encryption keys are also provided to the BGF, but in this case the BGF does not establish a communication path with the UE. The BGF will ignore the encryption keys. The communication between in-call application server and the MRF as well as the communication between the SBG and the BGF shall be secure, which be implicit by virtue of this communication taking place within the operator domain.
Thus, the encryption key of the MRF is forwarded to the UE-A in steps S10 to S14. Step S15 and S16 correspond to steps S11 and S12 of
Another method for establishing encryption communication between UE 100 and MRF 200 (not shown in the figures) is the exchange of mutually designated set of encryption keys. When the UE 100 establishes a call, it signals in the SDP offer and in the Invite request that it supports the capability of establishing a direct user plane relationship with the MRF 200. The UE 100 provides in the SDP two sets of encryption keys a) one encryption key destined for the remote end, and b) another encryption key destined for the MRF 200. Both the remote entity and the MRF 200 provide the respective encryption key. Hence, the UE receives two encryption keys, one originating from the remote end and another one originating from the MRF 200. The UE 100 and the MRF 200 can now exchange at RTP and RTCP messages, using the encryption keys to the media exchange specifically between them.
In
The in-session signaling relationship between the UE-A and the BGF enables UE-A 100 to provide instructions to BGF-A 60, such instructions being related to specific user plane processing. As described in more detail above, the providing of instructions by UE-A 100, through the injection of RTCP APP messages is envisaged to be driven by a designated terminal application. In one embodiment, the designated terminal application may be invoked with the call establishment.
As shown in
At any moment, the user, UE-A, may decide that he or she was to receive a speech from the remote party in the form of text messages and to receive these text messages on the phone on the display in the designated application window. The reason for this may be that a) the user experiences non-optimal radio connection resulting in the speech to get corrupted or lost; or b) the user's commandment of the language used in the phone conversation is not sufficient, seeing the speech from the remote party in the form of text messages will help the user in understanding the remote party.
The application resident in the user's terminal contains a drop-down menu offering the user to select the language used in the conversation.
The language may be required as input parameter for the speech recognition unit 65. However, as long as there is no translation, it may be not required for the speech recognition unit 65 to receive an explicit indication of the language. Considering that spoken words are spelled differently in different languages, it is envisaged that language indication will be required. So, when the served user requests the BGF through the transfer of an in-call application RTCP message, to apply speech recognition, that request may include an indication of the language.
In more general words this can mean that the application identifier added to the RTCP service control message contains at least one parameter relating to the command wherein the parameter is required in order to execute the command by the service application entity. Here, the parameter is the language that is needed by the speech recognition entity to execute the command, the speech recognition.
The BGF 60 contains an in-call application for this specific application. The speech recognition unit 65 in the BGF applying the speech recognition may use established technology known to recognize speech. The established technology comprises methods that determine natural pauses in the detected speech. The speech recognition unit 65 then uses these pauses to divide the speech in speech blocks which can be parsed through the speech recognition unit 65. The text messages are transferred to the UE-A of the user when the text message becomes available. This is schematically shown in
It is appreciated that the text messages received by the user are not synchronized with the voice. The text messages will arrive at the UE with a certain delay. However, these text messages are deemed to augment the audible speech. They are not replacing the audible speech. It is further appreciated that the layout provided in
The example is described with the in-call application residing in the BGF. Rationale of having the in-call application residing in BGF is that the BGF is normally in any case connected in the user plane of the call. Alternatively, speech recognition may be applied in a designated media entity such as an MRF 200. That would require, however, that the user plane is persistently anchored in an MRF during the call, so as to enable the end-user to instruct the MRF to apply speech recognition.
Alternatively, the user plane could be anchored in an MRF as and when needed and the anchoring in the MRF may then be removed when no longer needed. The UE may apply In-session communication between UE and SIP-AS for requesting the SIP-AS that provides/controls in-call applications, to ad hoc anchor the user plane through an MRF. This requires SDP update as appropriate. The SIP signaling applied for this SDP update shall comprise the information that is needed for establishing the in-call signaling relationship between UE and MRF.
The transfer of text messages, representing the speech, from MRF 200 to UE 100 may occur in a separate user plane. Reason is that when messages are transferred from MRF to UE whereby the text messages reflect the speech (resulting from speech-to-text conversion), then these text messages form a user plane. And hence, these messages should be transferred as RTP messages as opposed to RTCP messages.
Hereto, when the UE 100 establishes a call and intends to establish a direct user plane connection with the MRF 200, it provides an additional media line in the SDP, whereby the media line indicates ‘text’ as the type of user plane, eg.:
m=text 11000 RTP/AVP 98
a=rtpmap:98 t140/1000
The media line shall be followed with indication that this media line is destined for a user plane with the MRF, e.g.:
a=rtcp-in-session: sender=<IP address>; application=in-call-apps-control-v1
Optionally, this media line shall also be followed by the connection address that shall be used for this media line:
c=IN IP4 225.4.27.22/127
The MRF 200 will, during the establishment of the end-to-end media session, provide a response to this text media line. That response is transferred towards UE-A, in the afore-described manner. The effect of this method is that the text transfer, for the speech-to-text service of the MRF, is transported in a designated user plane. That user plane contains RTP messages containing text.
A further embodiment described in connection with
RTP and RTCP messages may be subject to local interception by BGF and may as such be recorded. End-to-end text messages that are transferred through RTCP may hence be recorded by the network. However, RTP and RTCP messages are under normal operating conditions not recorded by the network. In this embodiment, the text window 62 of
It is furthermore possible that the user could be given the option, at the end of the call, to save the text messages that are exchanged during the call and to store the text message exchange as part of the call log.
In the same way, the multimedia resource function 200 of
From the above said, some general conclusions can be drawn. A service control entity can set up a communication path for the exchange of service control messages with the service application entity. A first message including the offer data is transmitted on the service control channel, here the SIP channel 80 as shown—inter alia—in
The first message including the offer data and the second message including the acceptance data may be part of an offer-answer-sequence according to a session description protocol.
Both the first message and the second message can contain the indication that the corresponding entity is supporting a communication path on the media data plane based on RTCP service control messages and an address at which the corresponding entity is configured to receive the RTCP service control messages.
Furthermore, the service control channel can be an existing or to be established control channel between the service control entity and the remote end. In the examples, the service control channel can be the SIP session established between UE-A and UE-B.
The offer data may be contained in the first message as an attribute for the description of the media to be conveyed in the media data flow.
The service control entity can be a user equipment or mobile entity. Furthermore, the acceptance data contained in the second message may be provided as an attribute for the description of the media to be conveyed in the media data flow.
Furthermore, the service control entity can receive an encryption key of the service application entity via the service control channel. It can store the encryption key of the service application entity and generate a control command for the service application entity comprising as a destination address an address of the remote end. The control command can then be encrypted using the stored encryption key from the service application entity. The encrypted control command can be transmitted on the media data plane in direction of the service application entity. The different encryption possibilities were discussed above in connection with
The service control entity can furthermore add the transmitter address of the service control entity as an attribute for the description of the media to be conveyed in the media data flow to the offer data. The transmitter address can then indicate where the service control entity is configured to receive the RTCP service control messages. However, as discussed above, the transmitter address need not to be necessarily provided as the in-session communication is always destined for the UE and the UE will be the only receiver of the in-session communication.
Furthermore, the transmitter address and/or receiver address can contain the IP address and optionally a port number.
When the communication path between the service control entity and the service application entity has been set up, an application identifier can be added to the RTCP service control message including the receiver address and including the command to be carrier out by the service application entity. The application identifier can contain a transmitter address of the service control entity from which the RTCP service control message is transmitted towards the service application entity.
The RTCP service control message can be an RTCP application message and furthermore a name of the service application entity can be contained in the name field of a header of the RTCP service application message. Furthermore, as shown by the example of the speech recognition unit containing the language identifier, the application identifier can contain a parameter relating to the command where this parameter is required in order to execute the command.
Summarizing, the invention provides a method for service control entity such a as a mobile entity to establish relationship with a user plane entity and IMS as core network such as BGF or MRF for the transparent exchange of RTCP messages. These messages, referred to as in-session RTCP messages may be used by the mobile entity with the purpose of, for example in-call application control.
SDP offer-answer methodology is used for the exchange between the mobile entity and the service application entity, such as the MRF or the BGF.
Once the in-session RTCP message capability is exchanged between the service control entity and the service application entity, both entities can exchange RTCP messages transparently. These RTCO messages are transferred as per existing RTCP message transfer method, but the service application entity determines from the RTCP header that this message is meant specifically for the service application entity so the service application entity will forward the RTCP message to the corresponding application resident in the service application entity.
The above-described method provides a powerful, but easy-to-use way for a mobile entity or any other service control entity and a service application entity on the user plane path to exchange application control messages.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2015/058100 | 4/14/2015 | WO | 00 |