The subject matter described herein relates to providing transcoder free operation and interworking between UMA and UMTS call legs. More particularly, the subject matter described herein relates to methods, systems, and computer program products for providing transcoder free operation and interworking between UMA and UMTS call legs using a media gateway.
In voice communications networks, such as voice over IP networks, transcoding refers to converting from one type of voice compression to another. Transcoding is necessary when different legs of a call have incompatible coder/decoders (codecs); however, when the different legs of a call use compatible codecs, it is desirable to establish a transcoding free connection. Establishing a transcoding free connection is desirable because transcoding introduces delay and degrades voice quality. The terms “transcoder free” and “transcoding free” are used interchangeably herein to refer to the absence of transcoding in a connection.
It may be desirable to establish a transcoder free connection when both legs of a call are UMTS. It may also be desirable to establish a transcoder free connection when at least one leg of a call is not UMTS. For example, it may be desirable to establish a transcoder free connection between a UMA call leg and a UMTS call leg. Third Generation Partnership Project (3GPP) Technical Standard TS 29.163 requires transcoder free operation when an IP multimedia media gateway (IM-MGW) is used to bridge a connection between an Nb and an Mb interface. An Mb interface is an interface between the media gateway and an access point in the UMA network. An Nb interface is an interface between the media gateway and another media gateway in the UMTS network.
Although the above-referenced 3GPP standard indicates that transcoder free operation should be implemented by an IM-MGW, the technical standard fails to describe any hardware or software necessary to achieve such operation. Moreover, the technical standard omits many of the details required for transcoder free operation. For example, the technical standard fails to address timing issues with regard to rate control, redundancy reconciliation between the UMA and UMTS networks, and differences in packetization timing between the UMA and UMTS networks.
Accordingly, in light of these difficulties, there exists a need for methods, systems, and computer program products for providing transcoder free operation and interworking between UMA and UMTS call legs using a media gateway.
According to one aspect, the subject matter described herein includes a method for establishing a transcoding free connection between a UMA call leg and a UMTS call leg. The method includes determining whether UMA and UMTS call legs have compatible codecs. In response to determining that the UMA and UMTS call legs have compatible codecs, it is determined whether rate control is needed to establish a transcoding free connection. If it is determined that rate control is needed, at least one rate control request is issued from a media gateway to at least one of the UMA and UMTS call legs. Media streams from the UMA and UMTS call legs are monitored to determine whether the rate control is successful. In response to determining that the rate control is successful, a transcoding free connection is established in the media gateway between the UMA and UMTS call legs.
The terms “call,” “session,” and “connection” are used interchangeably herein to refer to a path over which media communications are exchanged between UMA and UMTS nodes. Thus, a call, session, or connection that involves UMA and UMTS nodes may carry voice, video, non-voice audio, or any media communication between the nodes.
The subject matter described herein for providing transcoder free operation and interworking between UMA and UMTS call legs using a media gateway may be implemented using hardware, software, firmware, or any combination thereof. In one implementation, the subject matter described herein can be implemented using a computer program product comprising computer executable instructions embodied in a computer readable medium. Exemplary computer readable media suitable for implementing the subject matter described herein include chip memory devices, disk memory devices, programmable logic devices, and application specific integrated circuits. In addition, a computer program product that implements the subject matter described herein can be located on a single computing device or platform or may be distributed across multiple computing devices or platforms.
Preferred embodiments of the subject matter described herein will now be explained with reference to the accompanying drawings:
Media gateway 100 interfaces with media gateway controller 102 via an Mn or Mc interface. Media gateway 100 and media gateway 102 exchange control and state information via the Mn or Mc interface. For example, media gateway controller 102 may issue MEGACO or MGCP call control commands to media gateway 100 via the Mn or Mc interface to control session setup, tear down, and maintenance.
Media gateway 100 interfaces with UMTS network 106 via an lu interface and an Nb interface. More particularly, media gateway 100 connects to a radio network controller (RNC) 112 via the lu interface. Radio network controller 112 may control one or more base stations that allow a UMTS handset to initiate and terminate calls using media gateway 100. Media gateway 100 connects with media gateway 114 via an Nb interface. Media gateway 114 may connect with one or more base station controllers 116 that allow UMTS handsets to connect to the network via an air interface.
In the network illustrated in
In step 202, media gateway 100 determines whether the codec configurations of the call legs match. For example, this step may include determining whether both ends of the connection use the same type of codec, such as an adaptive modulation rate (AMR) codec. If it is determined that the codec configurations do not match, control proceeds to step 204 where the connection is set up with transcoding at the media gateway.
In step 202, if it is determined that the codec configurations match, control proceeds to step 206 where media gateway 100 identifies whether rate control needs to be issued. Rate control is required to be issued for compatible codecs if the encoding rate being transmitted by one side to the other side does not match the decoding rate being used by the receiving side. If the rates are the same, rate control does not need to be issued and control proceeds to step 208 where a transcoding free connection is set up in the media gateway. An exemplary media gateway architecture for establishing a transcoding free connection will be described in detail below.
In step 206, if it is determined that rate control requests need to be issued, control proceeds to step 210 where media gateway 100 issues rate control requests on the UMA and/or UMTS legs so that the rate sent by the UMA leg to the UMTS leg matches the receiving rate of the UMTS leg and so that the rate sent by the UMTS leg to the UMA leg matches the receiving rate of the UMA leg. In step 212, media gateway 100 determines whether the rate control is successful. If rate control is not successful, control proceeds to step 204 where the connection in the media gateway is set up with transcoding. If the rate control is successful, control proceeds to step 208 where a transcoding free connection is set up in the media gateway.
Accordingly, after line 4, media gateway 100 can establish a transcoding free connection between UMTS node 108 and UMA node 112 or 114. In line 5 of the message flow diagram, UMTS node 108 sends packetized voice information to UMA node 112 or 114 via the transcoder free connection in media gateway 100. Similarly, in line 6 of the message flow diagram, UMA node 112 or 114 sends packetized voice information to UMTS node 108.
Media gateway 100 also includes broadband network interfaces 414 for connecting media gateway 100 to external networks for receiving packets from the network. Broadband network interfaces 414 may include IP network interfaces as well as ATM network interfaces. Each broadband network interface 414 may include a network processor 416, a connection table 418, and an Ethernet,interface 420. Network processors 416 may control the writing of data to each connection table 418. Each connection table 418 maintains connection data for forwarding media packets to the correct voice server. Internal Ethernet interfaces 420 connect each broadband network interface 414 to packet switching fabric 412.
Packet switching fabric 412 interconnects voice servers 400 and broadband network interfaces 414. In the illustrated example, packet switching fabric 412 includes a plurality of ports, numbered 1-5. Five ports are shown for illustrative purposes only. It is understood that packet switching fabric 412 may include fewer or more than five ports, depending on the number of devices connected to packet switching fabric 412.
Media gateway 100 also includes a TDM matrix module 422 for switching TDM timeslots between TDM network interfaces 424 and voice servers 400. TDM network interfaces 424 connect media gateway 100 to external TDM devices, such as TDM-enabled switching offices.
A control module 426 controls the overall operation of media gateway 100. In the illustrated example, control module 426 includes a UMA-UMTS TrFO controller 428 for receiving information from CPUs 406 of each voice server module regarding ingress and egress encoding rates being used by media streams of a UMA or a UMTS connection. UMA-UMTS TrFO controller 428 may also receive data from media gateway controller 102 indicating initial rates used by each end of a UMA-UMTS connection. UMA-UMTS TrFO controller 428 may determine, based on the rates, whether TrFO is possible and instruct the CPUs of the appropriate voice servers to issue rate control requests and establish a Transcoding free connection.
Setting up the transcoding free connection may include instructing voice server card 400B to implement the appropriate Nb or lu protocol stack for interfacing with UMTS node 108 over a transcoding-free channel. Tables 1 and 2 shown below illustrate the status of connection table 418 of a broadband network interface card 414 before and after a transcoding free connection is established. Tables 1 and 2 each include a first column indicating the external or network VPI/VCI value associated with incoming ATM cells that carry voice. The second column in each table includes a new VPI/VCI value used internally between the voice server cards and the network interfaces. The third column includes the voice server MAC address corresponding to the connection. It can be seen that in Table 1, before the transcoding free connection is established, the connection to each endpoint includes a separate voice server MAC address. In Table 2, after the transcoding free connection is established, the voice server MAC address to which both endpoints of the connection are connected is Ethernet address EthO, which corresponds to a single voice server card.
An important function performed by a DSP once a transcoding free connection is established is radio access bearer sub-flow combination indicator (RFCI) mapping. In order to perform such mapping, the DSP may maintain separate RFCI values for each connection endpoint. Tables 3 and 4 shown below are examples of RFI values that may be maintained by a DSP on a voice server card according to an embodiment of the subject matter described herein.
From Tables 3 and 4, the channel index and the corresponding rates for each endpoint can be determined. Once the DSP knows the indices and corresponding rates, the DSP can perform mappings between indices used by different endpoints. In the examples illustrated in Tables 3 and 4, the mappings would be 1-5, 2-6, 3-7, and 4-8.
As described above, one aspect of establishing and maintaining a transcoding free connection for a call that includes a UMA and a UMTS leg is implementing rate control for both legs of a call. UMTS protocols include rate control messages to implement rate control procedures. UMA protocols do not have separate rate control messages and instead uses a codec mode request (CMR) field stored in media stream packets. While the above-referenced 3GPP standard indicates that media gateways should appropriately handle rate control requests from the Mb interface or the Nb interface, the standard is silent as to the timing and other implementation details of such procedures.
In step 704, processing diverges depending on whether the UMTS endpoint is using luUP version 1 or version 2. If luUP version 1 is being used, control proceeds to step 706 where media gateway 100 monitors voice packets on the lu interface to see if the rate changes before a timeout period. In step 708, if media gateway 100 determines that the rate has changed, control proceeds to step 710 where media gateway 100 determines that the rate change was successful. In step 710, if media gateway 100 determines that the rate has not changed before the timeout period, control proceeds to step 714 where media gateway 100 determines that the rate change was not successful.
Returning to step 704, if luUP version 1 is not being used, control proceeds to step 716 where media gateway 100 determines whether luUP version 2 or NbUP is being used on the UMTS leg. If neither of these protocols is being used, control proceeds to step 718 where other protocol processing is performed. If, however, one of these protocols is being used, control proceeds to step 720 where media gateway 100 waits for an acknowledgement from the UMTS leg on the lu or Nb interface. In step 722, media gateway 100 determines whether the acknowledgement was received within the timeout period. If the acknowledgment was received within the timeout period, control proceeds to step 712 where media gateway 100 determines that the rate change was successful. If, however, media gateway 100 does not receive the acknowledgement within the timeout period, media gateway 100 proceeds to step 714 where it determines that the rate change was unsuccessful.
If luUP version 1 is not being used, control proceeds to step 808 where media gateway 100 determines whether luUP version 2 or NbUP is being used. If neither of these protocols is being used, control proceeds to step 810 where media gateway 100 performs other protocol processing. If however, one of these protocols is being used, control proceeds to step 812 where media gateway 100 monitors the encoding rate being used on the Mb interface. In step 816, media gateway 100 determines whether the requested rate is detected within the timeout period. If the requested rate is not detected within the timeout period, control proceeds to step 818 where media gateway 100 sends a negative acknowledgment on the lu or Nb interface. If the requested rate is being used within the timeout period, control proceeds to step 820 where media gateway 100 sends positive acknowledgement on the lu or Nb interface.
Another aspect of establishing and maintaining a transcoding free connection between a UMA and a UMTS call leg is redundancy reconciliation. A UMA connection uses packet redundancy to reconstruct voice packets in the event that a packet is lost. However, such redundancy is not used on a UMTS connection. Accordingly, media gateway 100 may reconcile this redundancy and send the appropriate packets over the UMTS and UMA legs of a connection.
It should be noted that each current voice frame may be sent immediately to the UMA leg. Copies of each current voice frame may be made and maintained by media gateway 100 to build redundant frames to be sent along with each current voice frame.
In step 1100, if a packet loss is detected on the UMA leg, control proceeds to step 1106 where media gateway 100 receives the next packet from the UMA call leg. In step 1108, media gateway 100 forwards the current voice frame and previous lost voice frames to the UMTS call leg.
It will be understood that various details of the subject matter described herein may be changed without departing from the scope of the subject matter herein. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation.
This application claims the benefit of a U.S. provisional patent application No. 60/759,596 entitled, “Methods, Systems, and Computer Program Products for Providing Transcoder Free Operation (TrFO) and Interworking Between Unlicensed Mobile Access (UMA) and Universal Mobile Telecommunications System (UMTS) Call Legs Using A Media Gateway”, filed Jan. 17, 2006; the disclosure of which is incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
5375121 | Nishino et al. | Dec 1994 | A |
5710976 | Hill et al. | Jan 1998 | A |
5905873 | Hartmann et al. | May 1999 | A |
5999529 | Bernstein et al. | Dec 1999 | A |
6026086 | Lancelot et al. | Feb 2000 | A |
6046999 | Miki et al. | Apr 2000 | A |
6147988 | Bartholomew et al. | Nov 2000 | A |
6339594 | Civanlar et al. | Jan 2002 | B1 |
6389016 | Sabaa et al. | May 2002 | B1 |
6392993 | Hamilton et al. | May 2002 | B1 |
6424637 | Pecen et al. | Jul 2002 | B1 |
6549945 | Sinibaldi et al. | Apr 2003 | B1 |
6614781 | Elliott et al. | Sep 2003 | B1 |
6625169 | Tofano | Sep 2003 | B1 |
6647428 | Bannai et al. | Nov 2003 | B1 |
6671367 | Graf et al. | Dec 2003 | B1 |
6693996 | Mansfield | Feb 2004 | B2 |
6731627 | Gupta et al. | May 2004 | B1 |
6731647 | Yao | May 2004 | B2 |
6765931 | Rabenko et al. | Jul 2004 | B1 |
6795437 | Räsänen et al. | Sep 2004 | B1 |
6845089 | Gu et al. | Jan 2005 | B1 |
6850778 | Honkala et al. | Feb 2005 | B1 |
6850883 | Kapanen et al. | Feb 2005 | B1 |
6865220 | Abrishami | Mar 2005 | B2 |
6898208 | Sligo et al. | May 2005 | B1 |
6967958 | Ono et al. | Nov 2005 | B2 |
6967972 | Volftsun et al. | Nov 2005 | B1 |
6973024 | Joseph et al. | Dec 2005 | B1 |
6983163 | Sato et al. | Jan 2006 | B2 |
6990340 | Tamura et al. | Jan 2006 | B2 |
7006489 | Li et al. | Feb 2006 | B2 |
7054318 | Eneroth et al. | May 2006 | B2 |
7054320 | Lee et al. | May 2006 | B1 |
7058085 | Earnshaw et al. | Jun 2006 | B2 |
7068623 | Barany et al. | Jun 2006 | B1 |
7072358 | Suvanen | Jul 2006 | B2 |
7082143 | LeBlanc et al. | Jul 2006 | B1 |
7089011 | Mangal | Aug 2006 | B1 |
7095733 | Yarlagadda et al. | Aug 2006 | B1 |
7106701 | Stumpert et al. | Sep 2006 | B2 |
7162024 | Wah et al. | Jan 2007 | B2 |
7180892 | Tackin | Feb 2007 | B1 |
7181209 | Tamura | Feb 2007 | B2 |
7203226 | Rabipour et al. | Apr 2007 | B1 |
7245589 | Neulist et al. | Jul 2007 | B2 |
7245931 | Wang et al. | Jul 2007 | B2 |
7304984 | Butler et al. | Dec 2007 | B2 |
7305229 | Fox et al. | Dec 2007 | B2 |
7349698 | Gallagher et al. | Mar 2008 | B2 |
7369859 | Gallagher | May 2008 | B2 |
7400881 | Kallio | Jul 2008 | B2 |
7471655 | Gallagher et al. | Dec 2008 | B2 |
7593415 | Li et al. | Sep 2009 | B2 |
7729346 | Lee et al. | Jun 2010 | B2 |
20010036158 | Hallenstal et al. | Nov 2001 | A1 |
20020001302 | Pickett | Jan 2002 | A1 |
20020013147 | Fauconnier et al. | Jan 2002 | A1 |
20020072364 | Tamura | Jun 2002 | A1 |
20020106029 | Bunn et al. | Aug 2002 | A1 |
20030032440 | Sato et al. | Feb 2003 | A1 |
20030058822 | Jou | Mar 2003 | A1 |
20030112796 | Kwan | Jun 2003 | A1 |
20030123485 | Yi et al. | Jul 2003 | A1 |
20030133423 | LaDue | Jul 2003 | A1 |
20030134653 | Sarkkinen et al. | Jul 2003 | A1 |
20030135784 | Yamaguchi et al. | Jul 2003 | A1 |
20030210659 | Chu et al. | Nov 2003 | A1 |
20040008652 | Tanzella et al. | Jan 2004 | A1 |
20040037224 | Choi et al. | Feb 2004 | A1 |
20040047364 | Briggs et al. | Mar 2004 | A1 |
20040073424 | Geppert et al. | Apr 2004 | A1 |
20040090989 | Kobayashi | May 2004 | A1 |
20040100914 | Hellwig et al. | May 2004 | A1 |
20040114588 | Bhaskaran | Jun 2004 | A1 |
20040114922 | Hardee | Jun 2004 | A1 |
20040131025 | Dohler et al. | Jul 2004 | A1 |
20040131051 | Rabipour et al. | Jul 2004 | A1 |
20040196867 | Ejzak et al. | Oct 2004 | A1 |
20040208132 | Neulist et al. | Oct 2004 | A1 |
20040252681 | Rabipour et al. | Dec 2004 | A1 |
20040254786 | Kirla et al. | Dec 2004 | A1 |
20040266426 | Marsh et al. | Dec 2004 | A1 |
20050007973 | Jang et al. | Jan 2005 | A1 |
20050013281 | Milton et al. | Jan 2005 | A1 |
20050027948 | Marlan et al. | Feb 2005 | A1 |
20050073977 | Vanghi et al. | Apr 2005 | A1 |
20050074017 | Qian et al. | Apr 2005 | A1 |
20050099940 | Ohenoja et al. | May 2005 | A1 |
20050105512 | Myhre et al. | May 2005 | A1 |
20050157823 | Sudhakar | Jul 2005 | A1 |
20050185604 | Agarwal | Aug 2005 | A1 |
20050195829 | Ward | Sep 2005 | A1 |
20050232232 | Farber et al. | Oct 2005 | A1 |
20050265279 | Markovic et al. | Dec 2005 | A1 |
20050267746 | Jelinek et al. | Dec 2005 | A1 |
20050286466 | Tagg et al. | Dec 2005 | A1 |
20060050664 | Guey | Mar 2006 | A1 |
20060062225 | Li | Mar 2006 | A1 |
20060067221 | Lee et al. | Mar 2006 | A1 |
20060092927 | Li et al. | May 2006 | A1 |
20060154686 | Sarkkinen et al. | Jul 2006 | A1 |
20060193289 | Ronneke et al. | Aug 2006 | A1 |
20060198347 | Hurtta et al. | Sep 2006 | A1 |
20060229068 | Niemela et al. | Oct 2006 | A1 |
20060268845 | He et al. | Nov 2006 | A1 |
20060286981 | Suumaki et al. | Dec 2006 | A1 |
20060291454 | Ali | Dec 2006 | A1 |
20060291483 | Sela | Dec 2006 | A1 |
20070011727 | Mielenz et al. | Jan 2007 | A1 |
20070041320 | Chen et al. | Feb 2007 | A1 |
20070041360 | Gallagher et al. | Feb 2007 | A1 |
20070043558 | Schwarz et al. | Feb 2007 | A1 |
20070123196 | Tamura | May 2007 | A1 |
20070127357 | Tamura | Jun 2007 | A1 |
20070127436 | Karimi-Cherkandi et al. | Jun 2007 | A1 |
20070135165 | Junghanns et al. | Jun 2007 | A1 |
20070140214 | Zoltan | Jun 2007 | A1 |
20070140293 | Agarwal et al. | Jun 2007 | A1 |
20070165636 | He et al. | Jul 2007 | A1 |
20070171841 | Witzel et al. | Jul 2007 | A1 |
20070186002 | Campbell et al. | Aug 2007 | A1 |
20070286082 | Hikspoors et al. | Dec 2007 | A1 |
20080039087 | Gallagher et al. | Feb 2008 | A1 |
20080102794 | Keevill et al. | May 2008 | A1 |
20080123596 | Gallagher et al. | May 2008 | A1 |
20080151845 | Jaakkola et al. | Jun 2008 | A1 |
20080225765 | Marinier et al. | Sep 2008 | A1 |
20080293416 | Yi et al. | Nov 2008 | A1 |
20080316980 | Ahlen et al. | Dec 2008 | A1 |
Number | Date | Country |
---|---|---|
1504039 | Jun 2004 | CN |
101341730 | Jan 2009 | CN |
02808634.1 | Apr 2009 | CN |
1 017 217 | Jul 2000 | EP |
1 364 499 | Jul 2009 | EP |
2363295 | Dec 2001 | GB |
2389486 | Dec 2003 | GB |
WO 9929136 | Jun 1999 | WO |
WO 9940569 | Aug 1999 | WO |
WO 02069588 | Sep 2002 | WO |
WO 02069588 | Sep 2002 | WO |
WO 03043299 | May 2003 | WO |
WO 03103313 | Dec 2003 | WO |
WO 2005050960 | Jun 2005 | WO |
WO 2007022461 | Feb 2007 | WO |
WO 2007084417 | Jul 2007 | WO |
Number | Date | Country | |
---|---|---|---|
20070165636 A1 | Jul 2007 | US |
Number | Date | Country | |
---|---|---|---|
60759596 | Jan 2006 | US |