Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be obtained by a person skilled in the art without any inventive step based on the embodiments of the present invention, are within the scope of the present invention.
Fig. 1 is a flowchart of an embodiment of a method for continuously playing a color ring and a color ring in a call process of the present invention, as shown in fig. 1, the embodiment may include:
step 101, determining to continue playing the color ring in the call process according to the received temporary response message and the update message, modifying the IP address and the port number requested by the session description protocol in the update message into the IP address and the port number of the media resource functional entity of the color ring server, and sending the modified update message to the calling user equipment.
In this embodiment, when the mode of the color ring back tone is the early session mode, determining to continue playing the color ring back tone in the call process according to the received temporary response message and the update message may be: the lottery server stores the IP address of the session description protocol request of the early session type in the received temporary response message; when the update message received by the ringing server includes a session description protocol request of a session type, if the IP address of the session description protocol request of the session type is the same as the stored IP address, the ringing server may determine to continue playing the ring back tone during the call.
Preferably, before the lottery server stores the IP address of the session description protocol request of the early session type in the received provisional response message, the lottery server may determine that the session description protocol request of the early session type is included in the provisional response message when the provisional response message includes a request (Require) header field and a Content-deployment-type (Content-deployment) header field, and the contents of the request header field and the Content-deployment-type header field are both early sessions.
When the mode of the color ring back tone is the branch mode, determining to continue playing the color ring back tone in the call process according to the received temporary response message and the update message may be: the lottery server stores the IP address of the session description protocol in the received temporary response message, wherein the temporary response message comprises an early media authorization (P-early-media) header field, and the content of the early media authorization header field is sending receiving (sendrecv) or sending only (sendonly); then, when the session identifier of the update message received by the ringing server is different from the session identifier of the temporary response message, if the IP address of the session description protocol in the update message is the same as the stored IP address, the ringing server may determine to continue playing the ring back tone during the call.
In addition, when the mode of the color ring back tone is the early session mode or the branch mode, the color ring back tone server may further determine to continue playing the color ring back tone in the call process according to the received temporary response message, response message or update message, which may specifically be: and the color ring back tone continuous playing identifier is carried in the temporary response message, the response message or the updating message, and the color ring back tone server determines to continuously play the color ring back tone in the conversation process according to the color ring back tone continuous playing identifier carried in the received temporary response message, the response message or the updating message. The polyphonic ringtone continuous playing identifier carried in the temporary response message, the response message or the update message may be: "+ g.3gpp.crs.contact" is carried in the contact (contact) header field or accept-contact (accept-contact) header field of the provisional response message, response message or update message; of course, the embodiment of the present invention is not limited to this, and other manners may also be used to carry the color ring back tone continuous playing identifier in the temporary response message, the response message, or the update message.
In this embodiment, after determining that the color ring is continuously played in the call process and before modifying the IP address and the port number of the session description protocol request in the received update message, the color ring server needs to further determine whether the directional attribute of the video line of the session description protocol request in the received update message is sending or receiving (sendrecv); when the direction attribute of the video line requested by the session description protocol in the received update message is sending and receiving, the color vibration server requests a media resource functional entity of the color vibration server to reserve resources for realizing audio mixing and video mixing; or, when the direction attribute of the video line of the session description request in the received update message is not sending or receiving, or the session description request has no video line, the lottery server requests the media resource function entity of the lottery server to reserve resources for implementing audio mixing.
102, receiving a response message aiming at the modified update message sent by the calling user equipment, modifying the IP address and the port number in the session description protocol response in the response message into the IP address and the port number of the media resource function entity of the color ring server, and sending the modified response message to the color ring server.
In this embodiment, after the color ring server sends the modified response message to the color ring server, a media channel is established between the color ring server and the color ring server. In the process of communication, the color ring server can instruct a media resource function entity of the color ring server to mix a media stream and a color ring media stream sent by called user equipment into a media stream and then forward the media stream and the color ring media stream to calling user equipment; and directly forwarding the media stream from the ringing server to the called user equipment.
And 103, instructing the media resource functional entity of the color vibration server to perform sound mixing processing in the call process.
Specifically, the ringing server may instruct the media resource function entity of the ringing server to mix a media stream sent by the calling user equipment and a ringing media stream into a media stream in the call process and forward the media stream to the called user equipment; and directly forwarding the media stream from the color ring server to the calling user equipment.
In the above embodiment, the ringing server can recognize that the ring back tone continues to be played in the call process, then the ringing server replaces the calling user equipment to establish a media channel with the ringing server, and the ringing server directly forwards the media stream from the ringing server to the calling user equipment in the call process, and mixes the media stream sent by the calling user equipment and the ringing media stream into a media stream and forwards the media stream to the called user equipment, so that the ring back tone and the ringing are continuously played in the call process, the time delay of continuously playing the ring back tone and the ringing is shortened in the call process, and the user experience is improved.
Fig. 2 is a flowchart of another embodiment of the method for continuously playing ring back tone and ring back tone in the call process of the present invention, and the application scenarios of the embodiment are as follows: the calling user equipment and the called user equipment are respectively located in different networks, for example: under the networks of different operators, the calling user equipment subscribes the ringing tone for the called user equipment, and sets the ringing tone as 'continuously playing for the called user equipment in the process of conversation'; the called user equipment subscribes the color ring for the calling user equipment and sets the color ring as 'continuously playing the color ring for the calling user equipment in the conversation process'.
As shown in fig. 2, the present embodiment may include:
step 201, User Equipment-a (User Equipment-a; hereinafter referred to as UE-a) sends a call request (INVITE) message. In this embodiment, UE-a is a calling user equipment, an INVITE message sent by UE-a carries an SDP offer of a session (session) type of UE-a, and the INVITE message is triggered by an Initial Filter Criterion (iFC) and then reaches a multimedia Ringing Signal Application Server (CRS-AS).
Step 202, the CRS-AS determines that it is necessary to play a color vibration for the UE-B according to the target user information in the INVITE message, and then forwards the INVITE message. The INVITE message is triggered by the iFC and then reaches a multimedia coloring ring Application Server (hereinafter referred to AS CAT-AS). In this embodiment, UE-B is called user equipment.
Step 203, the CAT-AS determines that the coloring ring back tone needs to be played for the UE-A according to the source user information in the INVITE message, and then forwards the INVITE message.
Step 204, after receiving the INVITE message, UE-B returns a 180Ringing message to UE-a, where the 180Ringing message carries an SDP answer (SDP answer) of the session type of UE-B.
Step 205, after the CAT-AS receives the 180Ringing message, add SDP offer for negotiating early session (early-session) type of early media of the coloring ring back tone in the 180Ringing message, and then forward the 180Ringing message.
Step 206, after receiving the 180Ringing message, the CRS-AS checks whether the message body of the 180Ringing message contains SDP offer of early-session type; specifically, the CRS-AS may check whether the 180Ringing message contains "Require: early-session "and" Content-displacement: early-session "if contained, the CRS-AS may determine that the 180Ringing message body contains an SDP offer of the early-session type. Then, CRS-AS stores the IP address of SDP offer of early-session type; specifically, the CRS-AS may cache the IP address of the SDP offer, and the specific storage manner is not limited in this embodiment.
Step 207, the CRS-AS forwards the 180Ringing message to the UE-a.
Step 208, UE-A returns a temporary response Acknowledgement (PRACK) message to the 180Ringing message, wherein the PRACK message carries SDP answer of early-session type of UE-A, and is used for answering early session of color ring.
Step 209, after receiving the PRACK message, the CRS-AS adds an SDP offer of early-session type for negotiating color-ringing early media in the PRACK message, and then forwards the added PRACK message.
Step 210, after receiving the PRACK message, CAT-AS extracts the SDP answer of early-session type of UE-a in the PRACK message, thereby completing the media negotiation of early color ring, and then forwards the PRACK message carrying only the SDP offer of early-session type for negotiating early color ring media to UE-B. At this time, CAT-AS can play the color ring for UE-A.
Step 211, UE-B returns a successful processing message of provisional response acknowledgement, i.e. 200ok (prack) message, where the 200ok (prack) message carries the early-session type sdpage of UE-B for responding to the early session of the lottery.
Step 212, after the CAT-AS receives the 200ok (prack) message, the CAT-AS directly forwards the 200ok (prack) message to the CRS-AS without any processing.
Step 213, after receiving 200ok (prack) message, CRS-AS extracts SDP answer of early-session type of UE-B in the 200ok (prack) message, thereby completing the early media negotiation of color vibration, and then CRS-AS forwards empty 200ok (prack) message to UE-a. At this time, CRS-AS can play the color vibration for UE-B.
In step 214, the called user equipment UE-B hears the ring and then goes off-hook, and UE-B sends 200ok (invite) off-hook message.
Step 215, after the CAT-AS receives the 200ok (invite) message, it returns an ACK message to the UE-B first because it needs to execute the update procedure of playing the coloring ring back tone continuously.
Step 216, the CAT-AS sends a re-INVITE message to the UE-B, where the re-INVITE message carries an SDP offer of session type generated by the MRF entity of the CAT-AS, and the IP address and port number of the SDP offer both point to the MRF entity of the CAT-AS, so AS to establish a session between the UE-B and the MRF entity of the CAT-AS.
Step 217, the UE-B returns a 200OK (re-INVITE) message to the CAT-AS, the 200OK (re-INVITE) message carries SDP answer of session type of the UE-B, and is used for answering the session of MRF entity of the CAT-AS, at this time, a media channel is established between the MRF entity of the CAT-AS and the UE-B, thereby replacing the media channel negotiated between the UE-A and the UE-B.
Step 218, the CAT-AS sends re-INVITE to the UE-B and simultaneously sends UPDATE message to the UE-a, where the UPDATE message carries SDP offer of session type generated by MRF entity of the CAT-AS, and both IP address and port number of the SDP offer point to MRF entity of the CAT-AS, for establishing session between the UE-a and MRF entity of the CAT-AS.
Step 219, after receiving the UPDATE message, the CRS-AS needs to check whether the UPDATE message contains a session type SDP offer, if so, the CRS-AS compares the IP address of the session type SDP offer with the IP address of the previously cached early-session type SDP offer, and if the two IP addresses are the same, the CRS-AS may determine that "personalized ring back Tone (CAT) will continue to play in the call process", that is, determine that the polyphonic ringtone continues to play (CAT continue) function exists.
In this embodiment, after determining that the CAT continue function exists, the CRS-AS needs to further determine whether the directional attribute of the video (video) line of the SDP offer in the UPDATE message is "sendrecv":
(1) if the direction attribute of the video line of the SDP offer is 'sendrecv', the call between the calling user equipment and the called user equipment is a video call, and the CRS-AS requests the MRF entity of the CRS-AS to reserve resources capable of realizing audio (audio) mixing and video mixing so AS to play audio + video type color vibration for UE-B in the call process;
(2) if the direction attribute of the video line of the SDP offer is not "sendrecv", but "send only (sendonly)" or "inactive state (inactive)", or there is no video line in the SDP offer, the CRS-AS only needs to request the MRF entity of the CRS-AS to reserve the resource capable of realizing audio mixing, so that the audio-type ringing can be played for the UE-B during the call.
Step 220, the CRS-AS modifies the SDP offer in the received UPDATE message, i.e. both the IP address and the port number in the UPDATE message are modified to the IP address and the port number of the MRF entity of the CRS-AS, and then sends the modified UPDATE message to the UE-a, in order to establish a session between the UE-a and the MRF of the CRS-AS.
Step 221, UE-a returns 200ok (update) message, where the 200ok (update) message carries SDP answer of session type of UE-a.
Step 222, after receiving the 200ok (update) message, the CRS-AS extracts an SDP answer from the 200ok (update), thereby completing the session negotiation with the UE-a, i.e. establishing a media channel between the UE-a and the MRF entity of the CRS-AS. Then, after the CRS-AS modifies the IP address and the port number in the SDP answer of the UE-A into the IP address and the port number of the MRF entity of the CRS-AS, the modified SDP answer is inserted into a 200OK (UPDATE) message, and then the 200OK (UPDATE) message is forwarded to the CAT-AS, so AS to establish a session between the MRF entity of the CRS-AS and the MRF entity of the CAT-AS.
In step 223, after the CAT-AS receives the 200ok (update) message, the session update for the CATcontinue function is completed. At this time, a media channel is established between the MRF entity of the CRS-AS and the MRF entity of the CAT-AS, but the CAT-AS is not aware of this. The CAT-AS then returns a 200OK (INVITE) message to the UE-A.
The CRS-AS forwards the 200ok (invite) message to UE-a, step 224.
In step 225, UE-A returns an ACK message.
In step 226, the CRS-AS forwards the ACK message to the CAT-AS.
At step 227, the CAT-AS forwards the ACK message to the UE-B.
Step 228, the CAT-AS instructs the MRF entity of the CAT-AS to perform audio mixing processing when receiving the media stream sent by the UE-B, that is, the polyphonic ringtone media stream and the media stream sent by the UE-B are mixed into one media stream and then forwarded to the UE-a; and directly forwards the media stream from the CRS-AS to the UE-B.
Step 229, the CRS-AS instructs the MRF entity of the CRS-AS to perform mixing processing when receiving the media stream sent by UE-a, i.e. mix the color vibration media stream and the media stream sent by UE-a into one media stream and forward it to UE-B; and forwards the media stream from CAT-AS directly to UE-a.
In this embodiment, in step 219, when the CRS-AS determines whether the "CAT continuity function" exists, the used IP address comparison method is specific to the color ring in early-session mode, and for the color ring in branch (forking) mode, the method for the CRS-AS to determine whether the "CAT continuity function" exists is slightly different, specifically:
if the coloring ring back tone uses the forking mode, the CRS-AS should carry a P-early-media: sendrecv "or" P-early-media: caching the IP address of the SDP in the 18X message of sendonly'; then, when the Dialog Identifier (Dialog Identifier; hereinafter, abbreviated AS "Dialog-ID") of the received UPDATE message is different from the Dialog-ID of the 18X message, the CRS-AS checks the IP address of the SDP in the UPDATE message, and if the IP address of the SDP is the same AS the previously cached IP address, the CRS-AS may determine that the "CAT continue function" exists.
AS for the method for determining whether the "CAT continue function" exists by the CRS-AS, the embodiment is implemented by actively comparing the CRS-AS with the IP address, but the embodiment is not limited thereto, and the CRS-AS may also determine whether the "CAT continue function" exists by using the method described below, and the method may be applied to the color ring in the early-session mode and the forking mode at the same time. Specifically, the method comprises the following steps: the CAT-AS may actively carry the polyphonic ringtone continue playing (CAT continue) identifier in any temporary response message (e.g., 180 message of step 205), response message (e.g., 200ok (prack) message of step 212), or UPDATE message of step 218, to explicitly inform the CRS-AS: the CRS-AS can continuously play the CRBT in the call process, so that the CRS-AS does not need to compare IP addresses, and can determine to continuously play the CRBT in the call process according to the CRBT continuous play identification carried by the received temporary response message, response message or update message.
For the carrying method of the CAT Continue identifier, the method may be: carrying "+ g.3gpp.crs.continue" in the contact header field or accept-contact header field of the temporary response message, the response message or the update message to indicate that the color ring will continue to play in the call process; of course, the embodiment of the present invention is not limited to this, and other manners may also be used to carry the CAT Continue identifier in the temporary response message, the response message, or the update message.
In the above embodiment, the CRS-AS can identify that the color ring is played continuously in the call process, and then the CRS-AS replaces UE-a and CAT-AS to establish a media channel, and in the call process, the CRS-AS directly forwards the media stream from CAT-AS to UE-a, mixes the media stream sent by UE-a and the color vibration media stream into a media stream, and forwards the media stream to UE-B, thereby realizing continuous playing of the color ring and the color vibration in the call process, reducing the number of interactive signaling, shortening the time delay when the color ring and the color vibration are played continuously in the call process, and improving the user experience; in addition, the CAT-AS does not need to sense the existence of the CRS-AS, and when the CRS-AS judges whether the CAT continue function exists by using a method for comparing IP addresses, the existing signaling or field does not need to be expanded; in addition, the embodiment has no modification to the CAT-AS.
Fig. 3 is a flowchart of a method for continuously playing a color ring and a color ring in a call process according to another embodiment of the present invention, as shown in fig. 3, the embodiment may include:
step 301, the second server receives the ring tone identifier continuously played by the first server in the call process. The ring tone identification is sent by the first server after the second server triggers the continuous playing function in the conversation process is determined according to the continuous playing identification carried by the temporary response message sent by the second server, and the first server is restrained from triggering the continuous playing function in the conversation process.
In this embodiment, when the first server is a color ring server, the second server is a color ring server; or when the first server is the color ring server, the second server is the color vibration server.
Step 302, the second server requests the media resource function entity of the second server to reserve the playing resource and the audio mixing resource corresponding to the ring tone identifier according to the ring tone identifier.
Step 303, the second server establishes a media channel between the media resource function entity of the second server and the called user equipment, and establishes a media channel between the media resource function entity of the second server and the calling user equipment.
The establishing of the media channel between the media resource function entity of the second server and the called user equipment may be: the second server sends a re-invitation message to the called user equipment, wherein the re-invitation message comprises a session description protocol request of a session type, the session description protocol request is generated by a media resource function entity of the second server, and an IP address and a port number of the session description protocol request both point to the media resource function entity of the second server; and then, the second server receives a response message returned by the called user equipment, wherein the response message carries the session description protocol response of the session type of the called user equipment.
Preferably, when the media type of the ringtone that is continuously played by the first server in the call process is a video type and the call media type between the calling user equipment and the called user equipment does not include the video type, the second server needs to carry a video line in the session description protocol request of the re-invitation message and set the directional attribute of the video line to be only sent; or,
and when the media type of the ring tone continuously played by the first server in the call process is the video type and the call media type between the calling user equipment and the called user equipment comprises the video type, the second server carries a video line in the session description protocol request of the re-invitation message and sets the direction attribute of the video line as sending and receiving.
Step 304, the second server instructs the media resource function entity of the second server to perform mixing processing during the call.
Specifically, the second server may instruct the media resource function entity of the second server to mix a media stream and a color ring media stream sent by the called user equipment into a media stream in a call process, and forward the media stream and the color ring media stream to the calling user equipment; and mixing the media stream sent by the calling user equipment and the color vibration media stream into a media stream and forwarding the media stream to the called user equipment.
In the above embodiment, after recognizing that the second server continues to play the function, the first server sends the ring identifier to be continuously played in the call to the second server, and then the second server plays the ring back tone for the calling user equipment and the color vibration for the called user equipment in the call, so that the time delay for continuously playing the ring back tone and the color vibration in the call is shortened, and the user experience is improved.
FIG. 4 is a flowchart illustrating a method for continuously playing ring back tones and ring tones during a call according to another embodiment of the present invention, in which the first server is a CRS-AS and the second server is a CAT-AS; the application scenario of this embodiment is as follows: the calling user equipment and the called user equipment are located in the same network, for example: in the same operator's network, or the calling user equipment and the called user equipment are located in different networks, for example: in networks of different operators, but ring tone files addressed by the same ring tone identifiers by the CAT-AS and the CRS-AS are the same, that is, ring tones used by the CAT-AS and the CRS-AS are provided by the same ring tone storage server or a plurality of mirror image ring tone storage servers, but the sources of the ring tones used by the CAT-AS and the CRS-AS are not limited in this embodiment, AS long AS the ring tone files addressed by the same ring tone identifiers by the CAT-AS and the CRS-AS are ensured to be the same.
In this embodiment, the calling user equipment subscribes to the ringing tone for the called user equipment, and sets the ringing tone as "continue playing for the called user equipment during the call"; the called user equipment subscribes the color ring for the calling user equipment and sets the color ring as 'continuously playing the color ring for the calling user equipment in the conversation process'.
As shown in fig. 4, the present embodiment may include:
in step 401, UE-a sends an INVITE message. In this embodiment, UE-a is a calling user equipment, an INVITE message sent by UE-a carries an SDP offer of a session type of UE-a, and the INVITE message is triggered by iFC and then reaches CRS-AS.
Step 402, the CRS-AS determines that it is necessary to play a color vibration for the UE-B according to the target user information in the INVITE message, and then forwards the INVITE message. The INVITE message reaches the CAT-AS after iFC triggering. In this embodiment, UE-B is called user equipment.
Step 403, the CAT-AS determines that it is necessary to play the color ring for the UE-a according to the source user information in the INVITE message, and then forwards the INVITE message.
Step 404, after receiving the INVITE message, UE-B returns a 180(Ringing) message to UE-a, where the 180 message carries the SDP answer of the session type of UE-B.
Step 405, after the CAT-AS receives the 180 message, add SDP offer of early-session type for negotiating early media of the polyphonic ringtone to the 180 message, and carry a polyphonic ringtone continuous playing (CAT continue) identifier in the header field of the 180 message, for example: "+ g.3gpp.crs.continue" to indicate that the ring back tone will continue to be played for the calling user equipment during the call, and then forward the set 180 message.
Step 406, after receiving the 180 message, the CRS-AS determines that the color ring will continue to be played for the calling user equipment during the call according to the CATcontinue identifier in the header field of the 180 message, so AS to start to prepare a subsequent procedure, and forwards the 180 message to the UE-a.
Step 407, the UE-A returns PRACK message to the 180 message, the PRACK message carries SDP answer of early-session type of the UE-A, which is used to answer the early session of the color ring.
Step 408, after receiving the PRACK message, the CRS-AS adds an SDP offer of early-session type for negotiating color-ringing early media in the PRACK message, and then forwards the added PRACK message.
Step 409, CAT-AS receives PRACK message, extracts SDP answer of early-session type of UE-A in PRACK message, thereby completing negotiation of early media of color ring, and then forwards PRACK message only carrying SDP offer of early-session type for negotiation of early media of color ring to UE-B. At this time, CAT-AS can play the color ring for UE-A.
Step 410, the UE-B returns a 200OK (PRACK) message, the 200OK (PRACK) message carries SDP answer of early-session type of the UE-B, which is used for answering the early session of the ringing.
In step 411, after receiving the 200ok (prack) message, CAT-AS directly forwards the 200ok (prack) message to CRS-AS without any processing.
Step 412, after receiving the 200ok (prack) message, the CRS-AS extracts the SDP answer of early-session type of UE-B in the 200ok (prack) message, thereby completing the early media negotiation of color vibration, and then forwards the empty 200ok (prack) message to UE-a. At this time, CRS-AS can play the color vibration for UE-B.
Step 413, the CRS-AS suppresses the trigger of the normal update procedure of the color vibration continuous playing (CRS continue) according to the CAT continue identifier carried by the 180 message received in step 405.
Step 414, CRS-AS sends Information (INFO) message to CAT-AS, the INFO message carries the identification of the ringing tone, and instructs CAT-AS to replace CRS-AS to continue playing the ringing tone during the communication process.
Step 415, the CAT-AS returns a 200ok (info) message to the CRS-AS indicating approval of the request of the CRS-AS.
Step 416, the CAT-AS sends the identifier of the color ring tone to the MRF entity of the CAT-AS, and requests the MRF entity of the CAT-AS to reserve the playing resource and the audio mixing resource corresponding to the identifier.
In this embodiment, steps 413 to 416 may also be executed after step 405, that is, steps 413 to 416 may be executed first, and then steps 406 to 412 may be executed; alternatively, steps 413 to 416 and steps 406 to 412 are executed in parallel.
In step 417, the called user equipment UE-B hears the ring and then goes off-hook, and UE-B sends 200ok (invite) off-hook message.
Step 418, after the CAT-AS receives the 200ok (invite) message, the ACK message is returned to the UE-B first because the updating procedure of playing the coloring ring back tone is needed to be executed.
Step 419, the CAT-AS sends a re-INVITE message to the UE-B, where the re-INVITE message carries an SDP offer of session type generated by the MRF entity of the CAT-AS, and the IP address and port number of the SDP offer both point to the MRF entity of the CAT-AS, so AS to establish a session between the UE-B and the MRF entity of the CAT-AS.
If the media type of the ringing tone is video type, CAT-AS should make further judgment and processing AS follows:
(1) if the call media type between the calling and called parties does not include video, the CAT-AS shall carry the video line in the SDP offer of re-INVITE and set the directional attribute of the video line to "sendonly".
(2) If the call media type between the calling and called parties also includes video, the CAT-AS shall carry the video line in the SDP offer of re-INVITE and set the directional attribute of the video line to "sendrecv".
Step 420, UE-B returns 200OK (re-INVITE) message to CAT-AS, where the 200OK (re-INVITE) message carries SDP answer of session type of UE-B for answering the session of MRF entity of CAT-AS, and at this time, a media channel is established between MRF entity of CAT-AS and UE-B, thereby replacing the media channel negotiated between UE-a and UE-B.
Step 421, the CAT-AS sends re-INVITE to the UE-B and simultaneously sends UPDATE message to the UE-a, where the UPDATE message carries SDP offer of session type generated by MRF of polyphonic ringtone, and both IP address and port number of the SDP offer point to MRF entity of the CAT-AS, and is used to establish session between the UE-a and MRF entity of the CAT-AS.
In step 422, the CRS-AS forwards the received UPDATE message to UE-A.
Step 423, UE-a returns a 200ok (update) message, where the 200ok (update) message carries the SDP answer of the session type of UE-a.
Step 424, after receiving the 200ok (update) message, the CRS-AS forwards the 200ok (update) message to the CAT-AS.
Step 425, after the CAT-AS receives the 200ok (update) message, the session update for the CATcontinue function is completed, and a media channel between the UE-a and the MRF entity of the CAT-AS is established. The CAT-AS then returns a 200ok (invite) message.
At step 426, the CRS-AS forwards the 200ok (invite) message to UE-a.
In step 427, the UE-A returns an ACK message.
In step 428, the CRS-AS forwards the ACK message to the CAT-AS.
Step 429, CAT-AS forwards the ACK message to UE-B.
Step 430, the CAT-AS instructs the MRF entity of the CAT-AS to perform audio mixing processing, that is, when receiving the media stream sent by the UE-B, the media stream sent by the UE-B and the color ring media stream are mixed into one media stream and then forwarded to the UE-a, and when receiving the media stream sent by the UE-a, the media stream sent by the UE-a and the color ring media stream are mixed into one media stream and then forwarded to the UE-B.
In this embodiment, the CAT-AS informs the CRS-AS of the existence of the CAT continue function, and then the CRS-AS sends the identifier of the ring tone to the CAT-AS, and the CAT-AS indicates the MRF entity of the CAT-AS to continue playing the ring tone and the ring tone during the call.
Certainly, the embodiment of the present invention is not limited to this, and CRS-AS may also notify CAT-AS of the existence of CRScontinue function, and then CAT-AS sends the identifier of the ring tone of the color ring to CRS-AS, and CRS-AS indicates the MRF entity of CRS-AS to continue playing the color ring and the color vibration during the call; the specific implementation process is similar to the embodiment shown in fig. 4 of the present invention, and is not described herein again.
In the above embodiment, the CRS-AS recognizes that the color ring is to be continuously played during the call, and sends the identifier of the color ring to be continuously played during the call to the CAT-AS. At this time, since the CAT-AS knows the color ring tone which needs to be played continuously in the conversation process before the called user equipment is picked up, the CAT-AS can establish the most appropriate media channel when the follow-up CAT-AS carries out conversation update with the called user equipment, so that the CAT-AS can play normally regardless of the audio type color ring tone or the video type color ring tone, thereby realizing the color ring tone playing for the calling user equipment and the color ring tone playing for the called user equipment in the conversation process, reducing the interactive signaling number, shortening the time delay when the color ring tone and the color ring tone are played continuously in the conversation process, and improving the user experience.
Those of ordinary skill in the art will understand that: all or part of the steps for implementing the method embodiments may be implemented by hardware related to program instructions, and the program may be stored in a computer readable storage medium, and when executed, the program performs the steps including the method embodiments; and the aforementioned storage medium includes: various media that can store program codes, such as ROM, RAM, magnetic or optical disks.
Fig. 5 is a schematic structural diagram of an embodiment of the lottery server according to the present invention, where the lottery server in this embodiment can implement the process of the embodiment of the present invention shown in fig. 1. As shown in fig. 5, the lottery server may include: a determination module 51, a first modification module 52, a first sending module 53, a receiving module 54, a second modification module 55, a second sending module 56 and an indication module 57.
The determining module 51 is configured to determine to continue playing the color ring back tone in the call process according to the received temporary response message and the update message;
the first modifying module 52 is configured to modify the IP address and the port number requested by the session description protocol in the update message to the IP address and the port number of the media resource function entity of the ring back tone server after the determining module 51 determines that the ring back tone continues to be played in the call process.
A first sending module 53, configured to send the update message modified by the first modifying module 52 to the calling user equipment.
A receiving module 54, configured to receive a response message sent by the calling user equipment for the modified update message.
A second modifying module 55, configured to modify the internet protocol address and the port number of the session description protocol response in the response message received by the receiving module 54 into the IP address and the port number of the media resource function entity of the lottery server.
A second sending module 56, configured to send the response message modified by the second modifying module 55 to the color ring server; in this embodiment, after the second sending module 56 sends the response message modified by the second modifying module 55 to the color ring server, a media channel is established between the color ring server and the color ring server. In the process of communication, the color ring server can instruct a media resource function entity of the color ring server to mix a media stream and a color ring media stream sent by called user equipment into a media stream and then forward the media stream and the color ring media stream to calling user equipment; and directly forwarding the media stream from the ringing server to the called user equipment.
An indicating module 57, configured to instruct a media resource function entity of the color vibration server to perform sound mixing processing during a call; specifically, the indicating module 57 may indicate that the media resource function entity of the ringing server mixes the media stream sent by the calling user equipment and the ringing media stream into a media stream in the call process, and forwards the media stream to the called user equipment; and directly forwarding the media stream from the color ring server to the calling user equipment.
In addition, when the color ring mode includes an early session mode or a branch mode, the determining module 51 may further determine to continue playing the color ring in the call process according to the color ring continuing playing identifier carried in the received temporary response message, or update message.
The color vibration server can identify that the color ring can be played continuously in the conversation process, then the color vibration server replaces calling user equipment to establish a media channel with the color ring server, the color vibration server directly forwards a media stream from the color ring server to the calling user equipment in the conversation process, and mixes the media stream sent by the calling user equipment and the color vibration media stream into a media stream and forwards the media stream to the called user equipment, so that the color ring and the color vibration can be played continuously in the conversation process, the number of interactive signaling is reduced, the time delay of continuously playing the color ring and the color vibration in the conversation process is shortened, and the user experience is improved.
Fig. 6 is a schematic structural diagram of another embodiment of the lottery server according to the present invention, where the lottery server in this embodiment can implement the process of the embodiment shown in fig. 1 or fig. 2 of the present invention. As shown in fig. 6, the lottery server may include: a determination module 61, a first modification module 62, a first sending module 63, a receiving module 64, a second modification module 65, a second sending module 66, an indication module 67 and a request module 68.
The determining module 61 is configured to determine to continue playing the color ring back tone in the call process according to the received temporary response message and the update message; in addition, when the color ring back tone mode includes an early session mode or a branch mode, the determining module 61 may further determine to continue playing the color ring back tone in the call process according to the color ring back tone continuing playing identifier carried by the received temporary response message, response message or update message.
In an implementation manner of this embodiment, the determining module 61 may include: a first storage sub-module 611 and a first determination sub-module 612; the first storage sub-module 611 is configured to, when the color ring back tone mode includes an early session mode, store the IP address of the session description protocol request of the early session type in the received temporary response message; the first determining submodule 612, configured to determine to continue playing the color ring in the call process if the IP address of the session description protocol request of the session type is the same as the IP address stored in the first storing submodule 611 when the received update message includes the session description protocol request of the session type.
In another implementation manner of this embodiment, the determining module 61 may include: a second storage submodule 613 and a second determination submodule 614; the second storage submodule 613 is configured to, when the color ring mode includes a branch mode, store the IP address of the session description protocol in the received temporary response message, where the temporary response message includes an early media authorization header field, and the content of the early media authorization header field is sent and received or only sent; a second determining submodule 614, configured to determine to continue playing the color ring back tone in the call process if the session identifier of the received update message is different from the session identifier of the temporary response message, and if the IP address of the session description protocol in the update message is the same as the internet protocol address stored in the second storing submodule 613.
And a first modifying module 62, configured to modify the IP address and the port number of the session description protocol request in the received update message to the IP address and the port number of the media resource function entity of the ring back tone server after the determining module 61 determines that the ring back tone continues to be played in the call process.
A first sending module 63, configured to send the update message modified by the first modifying module 62 to the calling user equipment.
A receiving module 64, configured to receive a response message sent by the calling user equipment for the modified update message.
A second modifying module 65, configured to modify the internet protocol address and the port number of the session description protocol reply in the response message received by the receiving module 64 into the IP address and the port number of the media resource function entity of the lottery server.
A second sending module 66, configured to send the response message modified by the second modifying module 65 to the color ring server; in this embodiment, after the second sending module 66 sends the response message modified by the second modifying module 65 to the color ring server, a media channel is established between the color ring server and the color ring server. In the process of communication, the color ring server can instruct a media resource function entity of the color ring server to mix a media stream and a color ring media stream sent by called user equipment into a media stream and then forward the media stream and the color ring media stream to calling user equipment; and directly forwarding the media stream from the ringing server to the called user equipment.
An indicating module 67, configured to indicate a media resource function entity of the color vibration server to perform sound mixing processing during a call; specifically, the indicating module 67 may indicate that the media resource function entity of the ringing server mixes the media stream sent by the calling user equipment and the ringing media stream into a media stream in the call process, and forwards the media stream to the called user equipment; and directly forwarding the media stream from the color ring server to the calling user equipment.
A request module 68, configured to, after the determination module 61 determines that the color ring is continuously played in the call process, request a media resource function entity of the color vibration server to reserve resources for implementing audio mixing and video mixing when the direction attribute of the video line requested by the session description protocol in the received update message is sending and receiving; or, when the direction attribute of the video line of the session description request in the received update message is not sending or receiving, or the session description request has no video line, requesting the media resource function entity of the ringing server to reserve resources for implementing audio mixing.
The color vibration server can identify that the color ring can be played continuously in the conversation process, then the color vibration server replaces calling user equipment to establish a media channel with the color ring server, the color vibration server directly forwards a media stream from the color ring server to the calling user equipment in the conversation process, and mixes the media stream sent by the calling user equipment and the color vibration media stream into a media stream and forwards the media stream to the called user equipment, so that the color ring and the color vibration can be played continuously in the conversation process, the number of interactive signaling is reduced, the time delay of continuously playing the color ring and the color vibration in the conversation process is shortened, and the user experience is improved.
Fig. 7 is a schematic structural diagram of an embodiment of a second server according to the present invention, and the second server of this embodiment may implement the flowchart of the embodiment shown in fig. 3 of the present invention. As shown in fig. 7, the second server may include: an identification receiving module 71, a resource reservation module 72, a channel establishment module 73 and a mixing indication module 74.
The identifier receiving module 71 is configured to receive a ring identifier that is continuously played by the first server in the call process; the ring tone identification is sent by the first server after the second server triggers the continuous playing function in the conversation process is determined according to the continuous playing identification carried by the temporary response message sent by the second server, and the continuous playing function in the conversation process is inhibited from being triggered by the first server;
a resource reservation module 72, configured to request, according to the ring tone identifier received by the identifier receiving module 71, the media resource function entity of the second server to reserve the playing resource and the audio mixing resource corresponding to the ring tone identifier;
a channel establishing module 73, configured to establish a media channel between the media resource functional entity of the second server and the called user equipment, and establish a media channel between the media resource functional entity of the second server and the calling user equipment;
a sound mixing indicating module 74, configured to indicate a media resource function entity of the second server to perform sound mixing processing in the call process; specifically, the audio mixing indication module 74 may indicate that the media resource function entity of the second server mixes the media stream sent by the called user equipment and the polyphonic ringtone media stream into one media stream in the call process, and then forwards the media stream to the calling user equipment; and mixing the media stream sent by the calling user equipment and the color vibration media stream into a media stream and forwarding the media stream to the called user equipment.
In this embodiment, when the first server is a color ring server, the second server is a color ring server; or when the first server is the color ring server, the second server is the color vibration server.
The second server can receive the ring tone identification continuously played by the first server in the call process, and then the second server plays the color ring for the calling user equipment and plays the color vibration for the called user equipment in the call process, so that the time delay of continuously playing the color ring and the color vibration in the call process is shortened, and the user experience is improved.
Fig. 8 is a schematic structural diagram of another embodiment of the second server of the present invention, and the second server of this embodiment may implement the flow chart of the embodiment shown in fig. 3 or fig. 4 of the present invention. As shown in fig. 8, the second server may include: an identification receiving module 81, a resource reservation module 82, a channel establishment module 83 and a mixing indication module 84.
The identifier receiving module 81 is configured to receive a ring identifier that is continuously played by the first server in the call process; the ring tone identification is sent by the first server after the second server triggers the continuous playing function in the conversation process is determined according to the continuous playing identification carried by the temporary response message sent by the second server, and the continuous playing function in the conversation process is inhibited from being triggered by the first server;
a resource reservation module 82, configured to request, according to the ring tone identifier received by the identifier receiving module 81, the media resource function entity of the second server to reserve the playing resource and the audio mixing resource corresponding to the ring tone identifier;
a channel establishing module 83, configured to establish a media channel between the media resource functional entity of the second server and the called user equipment, and establish a media channel between the media resource functional entity of the second server and the calling user equipment;
a sound mixing indicating module 84, configured to indicate a media resource function entity of the second server to perform sound mixing processing in the call process; specifically, the audio mixing indication module 84 may indicate that the media resource function entity of the second server mixes the media stream and the color ring media stream sent by the called user equipment into one media stream in the call process, and forwards the media stream and the color ring media stream to the calling user equipment; and mixing the media stream sent by the calling user equipment and the color vibration media stream into a media stream and forwarding the media stream to the called user equipment.
Specifically, the channel establishing module 83 may include: a message sending submodule 831 and a message receiving submodule 832; the message sending submodule 831 is configured to send a re-invitation message to the called user equipment, where the re-invitation message includes a session description protocol request of a session type, the session description protocol request is generated by a media resource function entity of the second server, and an IP address and a port number of the session description protocol request both point to the media resource function entity of the second server; and the message receiving submodule 832 is configured to receive a response message returned by the called user equipment, where the response message carries a session description protocol response of the session type of the called user equipment.
In this embodiment, the channel establishing module 83 may further include: a carrying sub-module 833, configured to carry a video line in the session description protocol request of the re-invite message when the media type of the ringtone that is continuously played by the first server in the call process is a video type and the call media type between the calling user equipment and the called user equipment does not include the video type, where a directional attribute of the video line is only sending; or, when the media type of the ringtone that is continuously played by the first server in the call process is the video type and the call media type between the calling user equipment and the called user equipment includes the video type, carrying a video line in the session description protocol request of the re-invitation message, wherein the directional attribute of the video line is sending and receiving. Then, the re-invitation message is sent to the called user device by the message sending sub-module 831.
In this embodiment, when the first server is a color ring server, the second server is a color ring server; or when the first server is the color ring server, the second server is the color vibration server.
The second server can receive the ring tone identification continuously played by the first server in the call process, and then the second server plays the color ring for the calling user equipment and plays the color vibration for the called user equipment in the call process, so that the time delay of continuously playing the color ring and the color vibration in the call process is shortened, and the user experience is improved.
Fig. 9 is a schematic structural diagram of an embodiment of a system for continuously playing a color ring and a color ring in a call process of the present invention, and as shown in fig. 9, the system may include: a color ring server 91 and a color ring server 92.
In an implementation manner of the embodiment of the present invention, the ringing server 92 may determine to continue playing the coloring ring back tone in the call process according to the received temporary response message, or update message, or after determining to continue playing the coloring ring back tone in the call process according to the received temporary response message and update message, modify the internet protocol address and port number of the session description protocol request in the received update message into the IP address and port number of the media resource functional entity of the ringing server 92, and send the modified update message to the calling user equipment; then, receiving a response message sent by the calling user equipment, modifying the IP address and the port number of the session description protocol response in the response message into the IP address and the port number of the media resource function entity of the ringing server 92, and sending the modified response message to the ringing server 91; and instructs the media resource function entity of the ringing server 92 to mix the media stream sent by the calling user equipment and the ringing media stream into a media stream in the process of conversation and forward the media stream to the called user equipment. Specifically, the lottery server 92 may be implemented by the lottery server shown in fig. 5 or fig. 6 of the present invention.
In another implementation manner of the embodiment of the present invention, the ringing server 92 receives a ring identifier that is continuously played by the polyphonic ringtone server 91 in the call process, where the ring identifier is a continuous playing identifier carried by a temporary response message sent by the polyphonic ringtone server 92, and determines that the polyphonic ringtone server 92 has triggered a continuous playing function in the call process, and inhibits the polyphonic ringtone server 91 from sending after triggering the continuous playing function in the call process; then, the color vibration server 92 requests the media resource function entity of the color vibration server 92 to reserve the playing resource and the sound mixing resource corresponding to the ring tone identifier according to the ring tone identifier; establishing a media channel between the media resource functional entity of the color vibration server 92 and the called user equipment, and establishing a media channel between the media resource functional entity of the color vibration server 92 and the calling user equipment; instructing a media resource function entity of the color vibration server 92 to mix a media stream and a color ring media stream sent by the called user equipment into a media stream in the conversation process and then forwarding the media stream and the color ring media stream to the calling user equipment; and mixing the media stream sent by the calling user equipment and the color vibration media stream into a media stream and forwarding the media stream to the called user equipment. Specifically, in this implementation, the lottery server 92 may be implemented by the second server shown in fig. 7 or fig. 8.
In another implementation manner of the embodiment of the present invention, the polyphonic ringtone server 91 receives a ringtone identifier that the polyphonic ringtone vibration server 92 continues to play in the conversation process, where the ringtone identifier is a continuous play identifier carried by a temporary response message sent by the polyphonic ringtone server 91, determines that the polyphonic ringtone server 91 has triggered a continuous play function in the conversation process, and inhibits the polyphonic ringtone server 92 from sending after triggering the continuous play function in the conversation process; then, the color ring server 91 requests the media resource function entity of the color ring server 91 to reserve the playing resource and the sound mixing resource corresponding to the ring identifier according to the ring identifier; establishing a media channel between a media resource function entity of the color ring server 91 and called user equipment, and establishing a media channel between the media resource function entity of the color ring server 91 and calling user equipment; instructing a media resource function entity of the color ring server 91 to mix a media stream and a color ring media stream sent by the called user equipment into a media stream in the call process and then forwarding the media stream and the color ring media stream to the calling user equipment; and mixing the media stream sent by the calling user equipment and the color vibration media stream into a media stream and forwarding the media stream to the called user equipment. Specifically, in this implementation manner, the polyphonic ringtone server 91 can be implemented by the second server according to the embodiment shown in fig. 7 or fig. 8 of the present invention.
In a specific implementation, the system for continuously playing the ring back tone and the ring back tone in the communication process shown in fig. 9 may further include: as shown in fig. 10, a UE, a Radio Network Controller (RNC), a Serving General Packet Radio service Support Node (SGSN), and other devices are shown. Fig. 10 is a schematic structural diagram of another embodiment of a system for continuously playing a color ring and a color ring in a call process according to the present invention, where the system may include: UE 1001, base station (NodeB)1002, RNC 1003, SGSN 1004, Proxy Call Session Control Function (P-CSCF) 1005, Serving Call Session Control Function (S-CSCF) 1006, Home Subscriber Server (HSS) 1007, CAT-AS 1008, and CRS-AS 1009.
In this embodiment, the UE 1001 includes UE-a and UE-B; wherein, UE-A is calling user equipment, and UE-B is called user equipment.
The NodeB 1002 is a base station of a Wideband Code Division Multiple Access (WCDMA) system, and mainly completes processing of a Uu interface physical layer protocol.
The RNC 1003 is configured to control Radio resources of a Universal Terrestrial Radio Access Network (UTRAN).
The SGSN 1004 is a Packet Switching (PS) domain functional node of a WCDMA core network, and mainly provides functions of routing forwarding, mobility management, session management, authentication, encryption, and the like of a PS domain.
P-CSCF entity 1005 is the first point of contact for UE 1001 in an IP Multimedia Subsystem (IMS) network, and is mainly used to authenticate requests, process and forward responses.
The S-CSCF entity 1006 is in a core control position in the IMS network, which is the key point of IMS multiprocess control. The S-CSCF entity 1006 is configured to record and control a process state of the UE 1001, execute a session routing function, continuously interact with an application service and a charging function, and perform value added service triggering and service control according to a rule.
The HSS 1007 is used for storing data related to the UE 1001 and is an upgraded Home Location Register (HLR). The HSS 1007 records user identity, registration information, access parameters, service trigger information, and the like in an Extensible Markup Language (XML) format; in this embodiment, the HSS 1007 includes HSS-A and HSS-B, where HSS-A is the HSS of the source network and HSS-B is the HSS of the target network.
The CAT-AS 1008 is mainly used to provide CAT service logic and control the MRF entity of the CAT-AS 1008 to play media resources.
The CRS-AS 1009 is mainly used to provide CRS service logic and control the MRF entity of the CRS-AS 1009 to play media resources.
The MRF entity of CAT-AS 1008 and the MRF entity of CRS-AS 1009 include a control part and a processing part of a user plane, and provide support for services related to bearers, for example: the multimedia resource playing, the video conference, the user announcement and the like can complete the functions of mixing data media streams, distributing the media streams, converting bearing codes, sending charging information and the like.
In this embodiment, the interactive process between the CAT-AS 1008 and the CRS-AS 1009 is the same AS the description of the embodiment shown in fig. 9 of the present invention, and is not described herein again.
In the system, the color ring server can recognize that the color ring will continue to play in the call process, or the color ring server can recognize that the color ring will continue to play in the call process, and then the color ring server or the color ring server executes the updating process, so that the color ring and the color ring can continue to play in the call process, the time delay of the color ring and the color ring continuing to play in the call process is shortened, and the user experience is improved.
Those skilled in the art will appreciate that the drawings are merely schematic representations of one preferred embodiment and that the blocks or flow diagrams in the drawings are not necessarily required to practice the present invention.
Those skilled in the art will appreciate that the modules in the devices in the embodiments may be distributed in the devices in the embodiments according to the description of the embodiments, and may be correspondingly changed in one or more devices different from the embodiments. The modules of the above embodiments may be combined into one module, or further split into multiple sub-modules.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.