COMMUNICATION METHOD, COMMUNICATION APPARATUS, AND COMMUNICATION SYSTEM
20230269280 · 2023-08-24
Inventors
Cpc classification
H04M11/00
ELECTRICITY
International classification
H04M11/00
ELECTRICITY
Abstract
A network that is to execute transcoding is fixed. IMS networks (SBC 1a and SBC 1b) set an information element that requests either of the IMS networks to execute transcoding into the SDP, and use that information element to select the IMS network (SBC 1a or SBC 1b) that is to execute transcoding between the IMS networks (between SBC 1a and SBC 1b). Then, the selected IMS network executes transcoding of media data.
Claims
1. A communication device, the communication device is in an SDP (Session Description Protocol) answer side when initially negotiating an SDP, the communication device comprising: codec information storing unit for storing a codec type that is determined based on an SDP offer received from an other communication device when initially negotiating the SDP; and an SDP processing unit for, when transcoding is not performed for media data by the communication device, and a SIP (Session Initiation Protocol) message containing a subsequent SDP offer is received that includes a same codec type as the codec type from a forwarding source network, forwarding the SIP message to the other communication device without adding any codec type in the subsequent SDP offer.
2. A communication system, comprising: a first communication device; and a second communication device, wherein the first communication device is in an SDP (Session Description Protocol) answer side when initially negotiating an SDP, the first communication device includes, a codec information storing unit for storing a codec type that is determined based on an SDP offer received from the second communication device when initially negotiating the SDP; and an SDP processing unit for, when transcoding is not performed for media data by the first communication device, and a SIP (Session Initiation Protocol) message containing a subsequent SDP offer is received that includes a same codec type as the codec type from a forwarding source network, forwarding the SIP message to the second communication device without adding any codec type in the subsequent SDP offer.
3. A communication method executed between a first communication device and a second communication device, the method comprising: the first communication device is in an SDP (Session Description Protocol) answer side when initially negotiating an SDP, the first communication device performs followings, a step of storing a codec type that is determined based on a SDP offer received from the second communication device into a codec information storing unit when initially negotiating the SDP; and a step of forwarding, when transcoding is not performed for media data by the first communication device, and a SIP (Session Initiation Protocol) message containing a subsequent SDP offer is received that includes a same codec type as the codec type from a forwarding source network, the SIP message to the second communication device without adding any codec type in the subsequent SDP offer.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
MODE FOR CARRYING OUT THE INVENTION
[0052] Hereinafter, two embodiments are described for a method of fixing a network (IMS network, SBC) determined to execute transcoding on an initial SDP offer transmitting side or an initial SDP answer transmitting side.
First Embodiment
[0053] In First Embodiment, an IMS network that is to execute transcoding is selected by negotiation between an IMS network of SDP offer transmitting side and an IMS network of SDP answer transmitting side in first SDP negotiation (first SDP offer/answer).
[0054]
[0055] Each of the SBC 1a and the SBC 1b includes an SDP processing unit 11, a transcoding unit 12, and a codec information storing unit 13.
[0056] The SDP processing unit 11 has not only a conventional function that is for example SDP rewrite processing (such as processing of adding and deleting a codec to and from the SDP) but also a function of selecting an IMS network that is to execute transcoding by negotiation. Specifically, the SDP processing unit 11 sets an information element (parameter information) that requests any of the IMS network to execute transcoding into the SDP and, at a timing when the SDP negotiation is performed, uses that information element to select an IMS network that executes transcoding with another IMS network (SBC).
[0057] For example, when the SBC 1a determines (requests) to execute transcoding in the own IMS network (SBC 1a) when transmitting the SDP offer to the other IMS network (SBC 1b), the SBC 1a sets an information element indicating that the transcoding is charged with the SDP offer transmitting side. For example, that information element is set as a transcoding execution point designation parameter “transcoder”, and “own-side” is set as a value of that information element. On the other hand, when the SBC 1a wants (requests) the other IMS network (SBC 1b) to be in charge of transcoding, the SBC 1a sets “opposite-side” as the value of the above-described information element. That information element and the value of that information element can be used in an arbitrary form such as a header field of the SIP and a value of that header field, “attribute” of the SDP, and the like.
[0058] If the other IMS network (SBC 1b) cannot execute transcoding even when the SBC 1a wants (requests) that other IMS network to be in charge of transcoding, that other IMS network may request the SBC 1a to be in charge of transcoding.
[0059] Thus, the SDP processing unit 11 further has a function of changing the above-described information element so as to indicate an IMS network other than the IMS network requested by that information element if the IMS network requested by that information element cannot execute transcoding.
[0060] The transcoding unit 12 has not only a conventional function of transcoding a media packet (media data) but also a function of executing or not executing transcoding depending on a result of the negotiation on a transcoding executor by the SDP processing unit 11. Specifically, when the IMS network determined to execute transcoding is the own IMS network, the transcoding unit 12 executes the transcoding, and when the IMS network determined to execute transcoding is the other IMS network, the transcoding unit 12 executes no transcoding.
[0061] The codec information storing unit 13 has not only a conventional function of storing codec information that can be transcoded by the own IMS network (own SBC) or a terminal in the own IMS network (e.g., when the G.711μ-law audio codec is supported by the own IMS network, G.711μ-law) and the operator policy defined with the agreement between the carriers or the SLA and so on, but also has a function of storing the above-described information element to be set or already set in the SDP while allowing that information element to be read or referred by the SDP processing unit 11 or the transcoding unit 12.
[0062] Note that, in the present invention, transcoding mainly indicates a function and processing of converting a codec (coding system) of audio and video communication media. For example, this is conversion of the G.711μ-law audio codec to the AMR audio codec and its inverse conversion. Note that G.711μ-law and AMR are an example of codecs, and the present invention is not limited to a specific type of codec.
[0063] So far, the functions of the SBC 1a and the SBC 1b are schematically described. However, detailed descriptions of the functions of the SBC 1a and the SBC 1b are needed for actually selecting the IMS network that is to execute transcoding by negotiation. Thus, specific operations performed by the SBC 1a (initial SDP offer transmitting side) and the SBC 1b (initial SDP answer transmitting side) are respectively exemplified in Table 1 and Table 2. The SDP processing unit 11 of the SBC 1a executes operation and processing according to the described details in Table 1 while the SDP processing unit 11 of the SBC 1b executes operation and processing according to the described details in Table 2.
[0064] Table 1
[0065] Table 1: Operation of Initial SDP Offer Transmitting Side
TABLE-US-00001 Receive from the Receive from the own network (own own network (own network -> SBC -> network <- SBC <- Receiving condition other network) other network) SDP offer Initial If it is set to execute transcoding when the own SBC is the initial SDP offer side, add one or more. transcodable codecs into a codec list, set “own-side”. and transmit the SDP offer to the other network. If it is not set to execute transcoding when the own SBC is the initial SDP offer side, add no codec, set “opposite-side”, and transmit the SDP offer to the other network. Subsequent If it is set to If “own-side” is execute set in the received transcoding when SDP offer, delete the own SBC is the “own-side” and initial SDP offer transmit (transparently) side or if the SDP offer to the “opposite-side” is own network. set in the SDP If “opposite-side” is previously set and it is set to received from the execute other network and a transcoding when transcodable codec the own SBC is the is included, add initial SDP offer one or more side, add one or transcodable more transcodable codecs into the codecs into the codec list, set codec list and “own-side”, and transmit the SDP transmit the SDP offer to the own offer to the other network. If network. transcoding is If it is not set to already being execute executed by the own transcoding when SBC when the SDP the own SBC is the offer is received, initial SDP offer at least include side, add no codec, set the codec currently “opposite-side”, in use on the own and transmit the network side as the SDP offer to the codec to be added. other network. SDP answer If “own-side” was If the SDP answer (initial/subsequent) set in the includes the codec previously included in the received SDP previously offer, set received SDP offer, “opposite-side” transmit into the SDP (transparently) answer, and if the SDP answer to “opposite-side” the own network was set in the (no transcoding previously occurs). received SDP offer, If the SDP answer set “own-side” into does not include the SDP answer. the codecs included If the SDP answer in the previously includes the codec received SDP offer, included in the previously but the previously received SDP offer, transmitted codec transmit added by the own (transparently) SBC, choose one from the SDP answer to the codec the other network included in the previously (no transcoding occurs). received SDP offer, If the SDP answer set its codec does not include information to the the codec included SDP answer, and in the previously transmit the SDP received SDP offer answer to the other but the previously network transmitted codec (transcoding added by the own occurs). SBC, choose one from the codecs included in the previously received SDP offer, set its codec information to the SDP answer, and transmit the SDP answer to the other network (transcoding occurs). SDP set to If “opposite-side” Transmit the 488 response was set in the received SDP to the previously own network. received SDP offer, set “opposite-side” into the SDP and transmit the SDP to the other network. Note: Since “own-side” and “opposite-side” are parameters of hop by hop, they will be deleted after being saved by the SBC. This operation is a common operation and thus not being described in the table.
TABLE-US-00002 TABLE 2 Operation of Initial SDP Answer Transmitting Side Receive from the Receive from 4.1 the own network (other other network network <- SBC <- (other network -> Receiving condition own network) SBC -> own network) SDP Initial If “own-side” is offer set in the received SDP offer, transmit (transparently) the SDP offer to the own network. If “opposite-side” is set and it is set to execute transcoding when the own SBC is the initial SDP answer side, add one or more transcodable codecs into the codec list and transmit the SDP offer to the own network. If “opposite-side” is set and it is set to not execute transcoding when the own SBC is the initial SDP answer side, transmit (transparently) the initial SDP offer to the own network. Subsequent If it is set to If “own-side ” is execute set in the received transcoding when SDP offer, transmit the own SBC is the the SDP offer to the initial SDP answer own network, and if side, or if “opposite-side” is “opposite-side” set and it is set to was set in the SDP execute previously transcoding when received from the the own SBC is the other network and a initial SDP answer transcodable codec side, add one or is included, add more transcodable one or more codecs into the transcodable codec list and codecs into the transmit the SDP transmit the SDP offer to the own offer to the other network. If network. transcoding is If it is not set to already being execute executed by the own transcoding when SBC, at least the own SBC is the include the codec initial SDP answer currently in use on side, add no codec, the own network set side as the codec to “opposite-side”, be added. and transmit the SDP offer to the other network. SDP answer If “own-side”, and If the SDP answer (initial/subsequent) set in the includes the codec previously included in the received SDP offer, previously set received SDP offer, “opposite-side” transmit into the SDP (transparently) answer, and if the SDP answer to “opposite-side” the own network (no was set in the transcoding previously occurs). received SDP offer, If the SDP answer set “own-side” into does not include the SDP answer. the codec included If the SDP answer in the previously includes the codec received SDP offer included in the but the previously previously transmitted codec received SDP offer, added by the own transmit the SDP SBC, choose one answer to the other from the codecs network (no included in the transcoding previously occurs). received SDP offer, If the SDP answer set its codec does not include information to the the codec included SDP answer , and in the previously transmit the SDP received SDP offer answer to the own but the previously network transmitted codec (transcoding added by the own occurs). SBC, choose one from the codecs included in the previously received SDP offer, set its codec information to the SDP answer, and transmit the SDP answer to the other network (transcoding occurs). SDP set to 488 response If Transmit the “opposite-side” received SDP to the was set in the own network. previously received SDP offer, set “opposite-side” into the SDP and transmit the SDP to the other network. Note: Since “own-side” and “opposite-side” are parameters of hop by hop, they will be deleted after being saved by the SBC. This operation is a common operation and thus not being described in the table.
[0066] Next, a negotiation operation for selecting an executor (IMS network, SBC) of transcoding is described.
[0067] Firstly, a negotiation operation in a case where transcoding is to be executed in the IMS network of initial SDP offer transmitting side (SBC 1a) is described with reference to
[0068] First, after the SBC 1a receives the initial SDP offer from the own IMS network, if codec conversion is to be executed in the own IMS network (SBC 1a) based on the operator policy, the SBC 1a adds the codec that can be transcoded by the own IMS network or a terminal in the own IMS network (codec b) into the codec list set in the initial SDP offer, sets “own-side” into the initial SDP offer, and transmits the initial SDP offer to the other IMS network (SBC 1b) (step S101).
[0069] Next, once the SBC 1b receives the initial SDP offer from the SBC 1a, since “own-side” is set in the initial SDP offer, the SBC 1b transmits (transparently) the initial SDP offer to the own IMS network (step S102). At this time, the SBC 1b stores “own-side” into the codec information storing unit 13 and deletes “own-side” from the initial SDP offer.
[0070] Thereafter, a codec that the incoming-side terminal itself in the IMS network of the SBC 1b wants to use is selected. Specifically, when the media conditions in the initial SDP offer (codec a, b) includes a media condition that can be used by the incoming-call terminal itself for communication, the incoming-call terminal chooses that media condition (codec b), describes it into the initial SDP answer, and sends back the initial SDP answer.
[0071] Next, once the SBC 1b receives the initial SDP answer from the own IMS network, since “own-side” was set in the previously received SDP offer, the SBC 1b sets “opposite-side” into the initial SDP answer and transmits the initial SDP answer to the other IMS network (SBC 1a) (step S103).
[0072] Next, once the SBC 1a receives the initial SDP answer from the SBC 1b, since the initial SDP answer does not include the codec included in the previously received SDP offer (codec a) but the previously transmitted codec added by the SBC 1a itself (codec b), the SBC 1a chooses one codec from the codecs included in the previously received initial SDP offer (only codec a), sets that codec to the initial SDP answer, and transmits the initial SDP answer to the own IMS network (step S104).
[0073] With the processing so far, it is possible to select the IMS network of initial SDP offer transmitting side (SBC 1a) as the executor of transcoding based on “own-side” and “opposite-side” communicated between the SBC 1a and the SBC 1b in the first SDP negotiation. For example, the SBC 1b can figure out that the SBC 1b does not have to execute transcoding and the SBC 1a has to execute transcoding by referring to “own-side” set by the SBC 1a. Note that the SBC 1a may save “own-side” set by itself in step S101 and “opposite-side” set by the SBC 1b in step S104 and figure out that transcoding is executed by itself by referring to them.
[0074] Thereafter, when the media packet is transmitted from the other IMS network (SBC 1b), the SBC 1a executes transcoding of “codec b->a” and transmits the media packet to the own IMS network, and when the media packet is transmitted from the own IMS network, the SBC 1a executes transcoding of “codec a->b” and transmits the media packet to the other IMS network (step S105).
[0075] Then, a case where subsequent SDP offer is generated in the IMS network of initial SDP answer transmitting side is described.
[0076] Once the SBC 1b receives the subsequent SDP offer from the own IMS network, since the executor of transcoding is not the SBC 1b itself, the SBC 1b adds no codec into the codec list set in the subsequent SDP offer, sets “opposite-side” into the subsequent SDP offer, and transmits the subsequent SDP offer to the other IMS network (SBC 1a) (step S106).
[0077] Next, once the SBC 1a receives the subsequent SDP offer from the SBC 1b, since the executor of transcoding is the SBC 1a itself, the SBC 1a adds the codec that can be transcoded by the own IMS network or a terminal in the own IMS network (codec a) into the codec list set in the subsequent SDP offer, and transmits the subsequent SDP offer to the own IMS network (step S107).
[0078] Note that, if the SBC 1a is already executing transcoding by itself when receiving the subsequent SDP offer from the SBC 1b in step S107, the SBC 1a at least includes the codec currently in use in the own IMS network (codec a) as the codec to be added.
[0079] In addition, in step S107, independent of the result of selecting by the first SDP negotiation, the SBC 1a may newly select itself as the executor of transcoding based on “opposite-side” set in the subsequent SDP offer or the operator policy.
[0080] Next, once the SBC 1a receives subsequent SDP answer from the own IMS network, since the subsequent SDP answer does not include the codec included in the previously received SDP offer (codec b) but the previously transmitted codec added by the SBC 1a itself (codec a), the SBC 1a chooses one codec from the codecs included in the previously received SDP offer (only codec b), sets that codec to the subsequent SDP answer, and transmits the subsequent SDP answer to the other IMS network (SBC 1b) (step S108). At this time, since “opposite-side” was set in the previously received SDP offer, the SBC 1a sets “own-side” into the subsequent SDP offer.
[0081] Next, once the SBC 1b receives the subsequent SDP answer from the SBC 1a, since the subsequent SDP answer includes the codec included in the previously received SDP offer (codec b), the SBC 1b transmits (transparently) the subsequent SDP answer to the own IMS network (step S109).
[0082] Thereafter, when the media packet is transmitted from the other IMS network (SBC 1b), the SBC 1a executes the transcoding of “codec b->a” and transmits the media packet to the own IMS network, and when the media packet is transmitted from the own IMS network, the SBC 1a executes the transcoding of “codec a->b” and transmits the media packet to the other IMS network (step S110).
[0083] With the processing in steps S106 to S110, even when the subsequent SDP offer is generated in the IMS network of initial SDP answer transmitting side, it is possible to continue the transcoding in the IMS network of initial SDP offer transmitting side (SBC 1a).
[0084] Next, a negotiation operation in a case where transcoding is to be executed in the IMS network of initial SDP answer transmitting side (SBC 1b) is described with reference to
[0085] First, after the SBC 1a receives the initial SDP offer from the own IMS network, if no codec conversion is executed in the own IMS network (SBC 1a) based on the operator policy, the SBC 1a adds no codec into the codec list set in the initial SDP offer, sets “opposite-side” into the initial SDP offer, and transmits the initial SDP offer to the other IMS network (SBC 1b) (step S201).
[0086] Next, once the SBC 1b receives the initial SDP offer from the SBC 1a, if “opposite-side” is set in the initial SDP offer and the codec conversion is to be executed in the own IMS network (SBC 1b) based on the operator policy, the SBC 1b adds the codec that can be transcoded by the own IMS network or a terminal in the own IMS network (codec b) into the codec list set in the initial SDP offer, and transmits the initial SDP offer to the own IMS network (step S202).
[0087] Thereafter, the codec that the incoming-side terminal itself in the IMS network of the SBC 1b wants to use is selected. Specifically, when the media conditions in the initial SDP offer (codec a, b) includes a media condition that can be used by the incoming-call terminal itself for communication, the incoming-call terminal chooses that media condition (codec b), describes it into the initial SDP answer, and sends back the initial SDP answer.
[0088] Next, once the SBC 1b receives the initial SDP answer from the own IMS network, since “opposite-side” was set in the previously received SDP offer, the SBC 1b sets “own-side” into the initial SDP answer and transmits the initial SDP answer to the other IMS network (SBC 1a) (step S203).
[0089] Next, once the SBC 1a receives the initial SDP answer from the SBC 1b, since the initial SDP answer includes the codec included in the previously received SDP offer (codec a), the SBC 1a transmits (transparently) the initial SDP answer to the own IMS network (step S204).
[0090] With the processing so far, it is possible to select the IMS network of initial SDP answer transmitting side (SBC 1b) as the executor of transcoding based on “own-side” and “opposite-side” communicated between the SBC 1a and the SBC 1b in the first SDP negotiation. It is needless to say that the SBC 1b may save “opposite-side” set by the SBC 1a and figure out that transcoding is executed by itself by referring to it. In addition, the SBC 1a may save “own-side” set by the SBC 1b and figure out that the SBC 1a does not have to execute transcoding and the SBC 1b has to execute transcoding by referring to it.
[0091] Thereafter, when the media packet is transmitted from the own IMS network, the SBC 1b executes the transcoding of “codec b->a” and transmits the media packet to the other IMS network (SBC 1a), and when the media packet is transmitted from the other IMS network, the SBC 1b executes the transcoding of “codec a->b” and transmits the media packet to the own IMS network (step S205).
[0092] Then, a case where the subsequent SDP offer is generated in the IMS network of initial SDP answer transmitting side is described.
[0093] Once the SBC 1b receives the subsequent SDP offer from the own IMS network, since the executor of transcoding is the SBC 1b itself, the SBC 1b adds the codec that can be transcoded by the own IMS network or a terminal in the own IMS network (codec a) into the codec list set in the subsequent SDP offer, sets “own-side” into the subsequent SDP offer, and transmits the subsequent SDP offer to the other IMS network (SBC 1a) (step S206).
[0094] Next, once the SBC 1a receives the subsequent SDP offer from the SBC 1b, since the executor of transcoding is not the SBC 1a itself, the SBC 1a adds no codec into the codec list set in the subsequent SDP offer, deletes “own-side” from the subsequent SDP offer, and transmits the subsequent SDP offer to the own IMS network (step S207).
[0095] Next, once the SBC 1a receives the subsequent SDP answer from the own IMS network, since the subsequent SDP answer includes the codec included in the previously received SDP offer (codec a), the SBC 1a transmits (transparently) the subsequent SDP answer to the other IMS network (SBC 1b) (step S208). At this time, since “own-side” was set in the previously received SDP offer, the SBC 1a sets “opposite-side” into the subsequent SDP offer.
[0096] Next, once the SBC 1b receives the subsequent SDP answer from the SBC 1a, since the subsequent SDP answer does not include the codec included in the previously received SDP offer (codec b) but the previously transmitted codec added by the SBC 1b itself (codec a), the SBC 1b chooses one codec from the codecs included in the previously received SDP offer (only codec b), sets that codec to the subsequent SDP answer, and transmits (transparently) the subsequent SDP answer to the own IMS network (step S209).
[0097] Thereafter, when the media packet is transmitted from the own IMS network, the SBC 1b executes the transcoding of “codec b->a” and transmits the media packet to the other IMS network (SBC 1a), and when the media packet is transmitted from the other IMS network, the SBC 1b executes the transcoding of “codec a->b” and transmits the media packet to the own IMS network (step S210).
[0098] With the processing in steps S206 to S210, even when the subsequent SDP offer is generated in the IMS network of initial SDP answer transmitting side, it is possible to continue the transcoding in the IMS network of initial SDP answer transmitting side (SBC 1b).
[0099] Next, a renegotiation operation in a case where the IMS network that is requested to execute the transcoding cannot execute transcoding is described with reference to
[0100] First, after the SBC 1a receives the initial SDP offer from the own IMS network, if no codec conversion is executed in the own IMS network (SBC 1a) based on the operator policy, the SBC 1a adds no codec into the codec list set in the initial SDP offer, sets “opposite-side” into the initial SDP offer, and transmits the initial SDP offer to the other IMS network (SBC 1b) (step S301).
[0101] Next, once the SBC 1b receives the initial SDP offer from the SBC 1a, if no codec conversion is executed in the own IMS network (SBC 1b) based on the operator policy although “opposite-side” is set in the initial SDP offer, the SBC 1b transmits (transparently) the initial SDP offer to the own IMS network (step S302).
[0102] Thereafter, the codec that the incoming-side terminal itself in the IMS network of the SBC 1b wants to use is selected. Specifically, when the media condition in the initial SDP offer (codec a) does not include a media condition that can be used by the incoming-call terminal itself for communication, the incoming-call terminal sets the SDP to a 488 response (=Not Acceptable response; error response), describes the media condition that the incoming terminal itself wants to use for communication (codec b) into the SDP, and sends back the SDP.
[0103] Next, once the SBC 1b receives the SDP set to the 488 response from the own IMS network, since this is the 488 response although “opposite-side” was set in the previously received SDP offer, the SBC 1b sets “opposite-side” into the SDP and transmits the SDP to the other IMS network (SBC 1a) (step S303).
[0104] Note that, in step S303, although the same information element value “opposite-side” is formally set in the SDP, it is actually a request to change the executor of transcoding from the SBC 1b to the SBC 1a.
[0105] Next, once the SBC 1a receives the SDP from the SBC 1b, since no codec conversion is performed in the own IMS network (SBC 1a) at this timing likewise step S301 although “opposite-side” is set in the SDP, the SBC 1a transmits (transparently) the SDP to the own IMS network (step S304).
[0106] Thereafter, a second initial SDP offer to which the same codec (codec a) is set is transmitted again from the outgoing-call terminal in the IMS network of the SBC 1a.
[0107] Next, once the SBC 1a receives the second initial SDP offer from the own IMS network, if “opposite-side” is set in the SDP previously received from the other IMS network and transcoding can be executed by the SBC 1a itself although execution of the codec conversion was not planned in step S301, the SBC 1a adds the codec that can be transcoded by the own IMS network or a terminal in the own IMS network into the codec list set in the second initial SDP offer, sets “own-side” into the second initial SDP offer, and transmits the second initial SDP offer to the other IMS network (SBC 1b) (step S305).
[0108] Step S306 to Step S309 after this are the same as the above-described steps S102 to S105.
[0109] According to this embodiment, since the multiple IMS networks (SBC 1a and SBC 1b) set the information element that requests any of the IMS networks to execute transcoding into the SDP, use that information element to select an IMS network (SBC 1a or SBC 1b) that is to execute transcoding between the IMS networks (between SBC 1a and SBC 1b), and execute transcoding of media data in the selected IMS network, it is possible to fix the IMS network that is determined to execute the transcoding.
[0110] Thus, since the execution point and the executor of transcoding which consumes enormous resources can be fixed on the initial SDP offer transmitting side or the initial SDP answer transmitting side, it is possible to predict a resource to be required by the communications carrier and to design equipment, and this facilitates organizing access charges between the communications carriers.
[0111] In addition, according to this embodiment, when the IMS network requested by the information element of the SDP cannot execute transcoding, that information element is changed so as to indicate an IMS network other than that IMS network, and this makes it possible to appropriately change the IMS network (SBC) that is to execute transcoding. Thus, even when one IMS network cannot execute transcoding, transcoding still can be executed in any different IMS network, and this improves establishment of call connection between the outgoing and incoming terminals.
Second Embodiment
[0112] In Second Embodiment, the SDP offer transmitting side and/or the SDP answer transmitting side manage codec information, which is selected by the last SDP negotiation between the two sides of the own IMS network, as session-relevant information element to continue transcoding.
[0113] The overall configuration of the call control system according to this embodiment and the functional block configurations of the SBCs 1a, 1b are similar to those of First Embodiment illustrated in
[0114] The SDP processing unit 11 has the conventional function that is for example the SDP rewrite processing (such as processing of adding and deleting a codec to and from the SDP).
[0115] The codec information storing unit 13 has not only the conventional function of storing the codec information that can be transcoded by the own IMS network (own SBC) or a terminal in the own IMS network but also a function of storing the before-converted and after-converted codec information selected by the SDP negotiation as the session-relevant information element.
[0116] The transcoding unit 12 has not only the conventional function of transcoding the media packet (media data) but also a function of executing or not executing transcoding based on the session-relevant information element of the codec information storing unit 13. Specifically, when the converted codec information managed by the session-relevant information element is not included in the received SDP, the transcoding unit 12 is determined to execute transcoding, and when the converted codec information is included, the transcoding unit 12 is determined to not execute transcoding.
[0117] So far, the functions of the SBC 1a and the SBC 1b are schematically described. Note that, more specifically, each SDP processing unit 11 of the SBC 1a and the SBC 1b performs operation and processing according to the operation details exemplified in Table 3 and Table 4.
TABLE-US-00003 TABLE 3 Operation of Initial SDP Offer Transmitting Side Receive from the Receive from the own network (own other network (own network -> SBC -> network SBC <- Receiving condition other network) other network) SDP Initial If it is set to offer execute transcoding when the own SBC is the initial SDP offer side, add one or more transcodable codecs into the codec list and transmit the SDP offer to the other network. If it is not set to execute transcoding when the own SBC is the initial SDP offer side, add no codec and transmit the SDP offer to the other network. Subsequent The own SBC checks Same to the left if the codec operation selected by the previous SDP offer/answer negotiation between the own SBC and a device located in a direction of transmitting the SDP offer is included in the received SDP offer, and if the selected codec is not included and also transcoding is possible between the previously negotiated codec and the codec included in the received SDP offer, the own SBC adds the previously negotiated codec. SDP answer If the SDP answer If the SDP answer (first/subsequent) includes the codec includes the codec included in the included in the previously previously received SDP offer, received SDP offer, transmit transmit (transparently) (transparently) the SDP answer to the SDP answer to the other network the other network (no transcoding (no transcoding occurs). occurs). If the SDP answer If the SDP answer does not include does not include the codec included the codec included in the previously in the previously received SDP offer received SDP offer but the previously but the previously transmitted codec transmitted codec added by the own added by the own SBC, choose one SBC, choose one from the codecs from the codecs included in the included in the previously previously received SDP offer, received SDP offer, set its codec set its codec information into information into the SDP answer, and the SDP answer, and transmit to the transmit to the other network other network (transcoding (transcoding occurs). occurs). Save the codec Save the codec negotiated by the negotiated by the two sides (SDP two sides (SDP answer receiving answering receiving side/transmitting side/transmitting side) of the own SBC side) of the own SBC and determing to and determing to be used. be used.
TABLE-US-00004 TABLE 4 Operation of Initial SDP Answer Transmitting Side Receive from the Receive from the own network (other other network network <- SBC <- (other network -> Receiving condition own network) SBC -> own network) SDP Initial If it is set to offer execute transcoding when the own SBC is the initial SDP answer side, add one or more transcodable codecs into the codec list, and transmit the SDP offer to the other network. If it is not set to execute transcoding when the own SBC is the initial SDP answer side, add no codec and transmit the SDP offer to the other network. Subsequent The own SBC checks Same to the left if thr codec operation selected by the previous SDP offer/answer negotiation. between the own SBC and a device located in a direction of transmitting the SDP offer is included in the received SDP offer, and if the selected codec is not included and also transcoding is possible between the previously negotiated codec and the codec included in the received SDP offer, the own SBC adds the previously negotiated codec. SDP answer If the SDP answer If the SDP answer (first/subsequent) includes the codec includes the codec included in the included in the if the codec operation previously previously transmit transmit (transparently) (transparently) the SDP answer to the SDP answer to the other network the other network (no transcoding (no transcoding occurs). occurs). If the SDP answer If the SDP answer does not include does not include the codec included the codec included in the previously in the previously received SDP offer received SDP offer but the previously but the previously transmitted codec transmitted codec added by the own added by the own SBC, choose one SBC, choose one from the codecs from the codecs included in the included in the previously previously received SDP offer, received SDP offer, set its codec set its codec information into information into the SDP answer, and the SDP answer, and transmit to the transmit to the other network other network (transcoding (transcoding occurs). occurs). Save the codec Save the codec negotiated by the negotiated by the two sides (SDP two sides (SDP answer receiving answering receiving side/transmitting side/transmitting side) of the own SBC side) of the own SBC and determing to and determing to be used be used
[0118] Next, an operation in a case where transcoding is determined to be executed in the IMS network of initial SDP offer transmitting side (SBC 1a) is described with reference to
[0119] First, after the SBC 1a receives the initial SDP offer from the own IMS network, if the codec conversion is determined to be executed in the own IMS network, the SBC 1a adds the codec that can be transcoded by the own IMS network or a terminal in the own IMS network (codec b) into the codec list set in the initial SDP offer and transmits the initial SDP offer to the other IMS network (SBC 1b) (step S401).
[0120] Next, once the SBC 1b receives the initial SDP offer from the SBC 1a, when no codec conversion is determined to be executed in the own IMS network, the SBC 1b adds no codec into the codec list set in the initial SDP offer and transmits (transparently) the initial SDP offer to the own IMS network (step S402).
[0121] Thereafter, the codec that the incoming-side terminal itself in the IMS network of the SBC 1b wants to use is selected. Specifically, when the media conditions in the initial SDP offer (codec a, b) includes a media condition that can be used by the incoming-call terminal itself for communication, the incoming-call terminal chooses that media condition (codec b), describes it into the initial SDP answer, and sends back the initial SDP answer.
[0122] Next, once the SBC 1b receives the initial SDP answer from the own IMS network, since the initial SDP answer includes the codec included in the previously received SDP offer, the SBC 1b transmits (transparently) the initial SDP answer to the other IMS network (SBC 1a) (step S403). At this time, the SBC 1b saves information on the received codec (codec b) and information on the transmitted codec (codec b). Particularly, the SBC 1b manages the information on the transmitted codec (codec b) as the converted codec information.
[0123] Next, once the SBC 1a receives the initial SDP answer from the SBC 1b, since the initial SDP answer does not include the codec included in the previously received SDP offer (codec a) but the previously transmitted codec added by the SBC 1a itself (codec b), the SBC 1a chooses one codec from the codecs included in the previously received initial SDP offer (only codec a), sets that codec to the initial SDP answer, and transmits the initial SDP answer to the own IMS network (step S404). At this time, the SBC 1a saves information on the received codec (codec b) and information on the transmitted codec (codec a). Particularly, the SBC 1b manages the information on the transmitted codec (codec a) as the converted codec information.
[0124] Thereafter, when the media packet is transmitted from the other IMS network (SBC 1b), the SBC 1a executes the transcoding of “codec b->a” and transmits the media packet to the own IMS network, and when the media packet is transmitted from the own IMS network, the SBC 1a executes the transcoding of “codec a->b” and transmits the media packet to the other IMS network (step S405).
[0125] Then, a case where the subsequent SDP offer is generated in the IMS network of initial SDP answer transmitting side is described.
[0126] Once the SBC 1b receives the subsequent SDP offer from the own IMS network, since the subsequent SDP offer includes the codec selected by the previous SDP negotiation between the SBC 1b itself and the opposite IMS network opposing to itself (SBC 1a) (the converted codec saved in step S403 (codec b)), the SBC 1b transmits (transparently) the subsequent SDP offer to the other IMS network (SBC 1a) (step S406).
[0127] Next, once the SBC 1a receives the subsequent SDP offer from the SBC 1b, since the subsequent SDP offer does not include the codec selected by the previous SDP negotiation between the SBC 1a itself and a device in the own IMS network (outgoing-side terminal and the like) (the converted codec saved in step S404 (codec a)) and since transcoding is possible between the codec selected by the previous SDP negotiation (codec a) and the codec included in the subsequent SDP offer (codec b), the SBC 1a adds the codec selected by the previous SDP negotiation (codec a) and transmits the subsequent SDP offer to the own IMS network (step S407).
[0128] Next, once the SBC 1a receives the subsequent SDP answer from the own IMS network, since the subsequent SDP answer does not include the codec included in the previously received SDP offer (codec b) but the previously transmitted codec added by the SBC 1a itself (codec a), the SBC 1a chooses one codec from the codecs included in the previously received SDP offer (only codec b), sets that codec to the subsequent SDP answer, and transmits the subsequent SDP answer to the other IMS network (SBC 1b) (step S408).
[0129] Next, once the SBC 1b receives the subsequent SDP answer from the SBC 1a, since the subsequent SDP answer includes the codec included in the previously received SDP offer (codec b), the SBC 1b transmits (transparently) the subsequent SDP answer to the own IMS network (step S409).
[0130] Thereafter, when the media packet is transmitted from the other IMS network (SBC 1b), the SBC 1a executes the transcoding of “codec b->a” and transmits the media packet to the own IMS network, and when the media packet is transmitted from the own IMS network, the SBC 1a executes the transcoding of “codec a->b” and transmits the media packet to the other IMS network (step S410).
[0131] Next, an operation in a case where transcoding is determined to be executed in the IMS network of initial SDP answer transmitting side (SBC 1b) is described with reference to
[0132] First, after the SBC 1a receives the initial SDP offer from the own IMS network, if no codec conversion is determined to be executed in the own IMS network, the SBC 1a adds no codec into the codec list set in the initial SDP offer and transmits the initial SDP offer to the other IMS network (SBC 1b) (step S501).
[0133] Next, once the SBC 1b receives the initial SDP offer from the SBC 1a, when the codec conversion is determined to be executed in the own IMS network, the SBC 1b adds the codec that can be transcoded by the own IMS network or a terminal in the own IMS network (codec b) into the codec list set in the initial SDP offer, and transmits the initial SDP offer to the own IMS network (step S502).
[0134] Thereafter, the codec that the incoming-side terminal itself in the IMS network of the SBC 1b wants to use is selected. Specifically, when the media conditions in the initial SDP offer (codec a, b) includes a media condition that can be used by the incoming-call terminal itself for communication, the incoming-call terminal chooses that media condition (codec b), describes it into the initial SDP answer, and sends back the initial SDP answer.
[0135] Next, once the SBC 1b receives the initial SDP answer from the own IMS network, since the initial SDP answer does not include the codec included in the previously received SDP offer (codec a) but the previously transmitted codec added by the SBC 1b itself (codec b), the SBC 1b chooses one codec from the codecs included in the previously received initial SDP offer (only codec a), sets that codec to the initial SDP answer, and transmits the initial SDP answer to the other IMS network (SBC 1a) (step S503). At this time, the SBC 1b saves information on the received codec (codec b) and information on the transmitted codec (codec a). Particularly, the SBC 1b manages the information on the transmitted codec (codec a) as the converted codec information.
[0136] Next, once the SBC 1a receives the initial SDP answer from the SBC 1b, since the initial SDP answer includes the codec included in the previously received SDP offer (codec a), the SBC 1a transmits (transparently) the initial SDP answer to the own IMS network (step S504). At this time, the SBC 1a saves information on the received codec (codec a) and information on the transmitted codec (codec a). Particularly, the SBC 1a manages the information on the transmitted codec (codec a) as the converted codec information.
[0137] Thereafter, when the media packet is transmitted from the own IMS network, the SBC 1b executes transcoding of “codec b->a” and transmits the media packet to the other IMS network (SBC 1a), and when the media packet is transmitted from the other IMS network, the SBC 1b executes the transcoding of “codec a->b” and transmits the media packet to the own IMS network (step S505).
[0138] Then, a case where the subsequent SDP offer is generated in the IMS network of initial SDP answer transmitting side is described.
[0139] Once the SBC 1b receives the subsequent SDP offer from the own IMS network, since the subsequent SDP offer does not include the codec selected by the previous SDP negotiation between the SBC 1b itself and the opposite IMS network opposing to itself (SBC 1a) (the converted codec saved in step S503 (codec a)) and since transcoding is possible between the codec selected by the previous SDP negotiation (codec a) and the codec included in the subsequent SDP offer (codec b), the SBC 1b adds the codec selected by the previous SDP negotiation (codec a) and transmits the subsequent SDP offer to the other IMS network (SBC 1a) (step S506).
[0140] Next, once the SBC 1a receives the subsequent SDP offer from the SBC 1b, since the subsequent SDP offer includes the codec selected by the previous SDP negotiation between the SBC 1a itself and a device in the own IMS network (outgoing-side terminal and the like) (the converted codec saved in step S504 (codec a)), the SBC 1a transmits (transparently) the subsequent SDP offer to the own IMS network (step S507).
[0141] Next, once the SBC 1a receives the subsequent SDP answer from the own IMS network, since the subsequent SDP answer includes the codec included in the previously received SDP offer (codec a), the SBC 1a transmits (transparently) the subsequent SDP answer to the other IMS network (SBC 1b) (step S508).
[0142] Next, once the SBC 1b receives the subsequent SDP answer from the SBC 1a, since the subsequent SDP answer does not include the codec included in the previously received SDP offer (codec b) but the previously transmitted codec added by the SBC 1b itself (codec a), the SBC 1b chooses one codec from the codecs included in the previously received SDP offer (only codec b), sets that codec to the subsequent SDP answer, and transmits the subsequent SDP answer to the own IMS network (step S509).
[0143] Thereafter, when the media packet is transmitted from the own IMS network, the SBC 1b executes transcoding of “codec b->a” and transmits the media packet to the other IMS network (SBC 1a), and when the media packet is transmitted from the other IMS network, the SBC 1b executes transcoding of “codec a->b” and transmits the media packet to the own IMS network (step S510).
[0144] According to this embodiment, since each of the multiple IMS networks (SBC 1a and SBC 1b) stores the converted codec information selected by the SDP negotiation and executes transcoding of the media data in the own IMS network (SBC 1a or SBC 1b) when the received SDP does not include the converted codec information, it is possible to fix the IMS network that is determined to execute the transcoding.
[0145] Thus, since the execution point and the executor of transcoding which consumes enormous resources can be fixed on the initial SDP offer transmitting side or the initial SDP answer transmitting side, it is possible to predict a resource to be required by the communications carrier and to design equipment, and this facilitates organizing access charges between the communications carriers.
[0146] Lastly, the SBC 1a and SBC 1b described in this embodiment can be implemented by a computer (information processing device) provided with a CPU, a memory, a hard disk, and so on. In addition, it is also possible to create a program for functioning the computer as the SBC 1a and SBC 1b (call control program) and a storing medium of that program.
[0147] At last, Table 3 and Table 4 are further described. In Second Embodiment, as described in the operation description column of “Subsequent” of “SDP offer” in Table 3 or Table 4, the processing of “If the selected codec is not included and also transcoding is possible between the previously negotiated codec and the codec included in the received SDP offer, add the previously negotiated codec” is executed.
[0148] As for such a processing, for example, a processing can be considered such as “In the SBC 1a determined to execute transcoding, if the SDP offer from the SBC 1b does not include the previously selected codec (codec b) and transcoding is possible between the codec selected by the previous negotiation (S401 to S404) (codec a) and the codec included in the received SDP offer (e.g., codec c), add the previously negotiated codec (codec a) to the SDP offer”. In this case, the SBC 1a keeps a transcodable list in advance for example, and if a codec type of “codec a” and a codec type of “codec c” are being associated with each other in that transcodable list, the SBC 1a determines that the transcoding is possible.
[0149] In other words, based on Table 3 or Table 4, an SBC 1 (communication device) may also execute a processing such as “If the own communication device is executing transcoding and also receives an SIP message containing the SDP offer not including the previously selected codec (codec b), and if transcoding is possible between the codec included in such an SDP offer (e.g., codec c) and the codec currently in use in the forwarding destination (codec a), add the codec currently in use in the forwarding destination (codec a) into the codec list in the SDP offer”.
[0150] Note that the transcodable list is an example of a method that enables the SBC 1 to figure out the transcodable codec type.
EXPLANATION OF THE REFERENCE NUMERALS
[0151] 1 (1a, 1b) SBC [0152] 11 SDP processing unit [0153] 12 transcoding unit [0154] 13 codec information storing unit