Abstract: In accordance with an example embodiment, a method andsystems for managing codec information in a call control server and a network element server are provided. The method comprises receiving, by the network element server, a first codec information associated with an initiation of an audio communication and a second codec information associated with a release of the audio communication. The method further includes encoding, by the network element server, the first codec information and the second codec information in a charging data record (CDR) associated with the audio communication to obtain the CDR comprising an encoded codec information.
CLIAMS:WE CLAIM:
1. A method for managing codec information comprising:
receiving, by a network element server, a first codec information associated with an initiation of an audio communication and a second codec information associated with a release of the audio communication; and
encoding, by the network element server, the first codec information and the second codec information in a charging data record (CDR) associated with the audio communication to obtain theCDR comprising an encoded codec information.
2. The method as claimed in claim 1, wherein the audio communication comprises an active voice over long term evolution (VoLTE) communication, and the CDR comprises a VoLTE CDR.
3. The method as claimed in claim 1, wherein each of the first codec information and the second codec information comprises at least a codec value and a codec band.
4. The method as claimed in claim 1, wherein the first codec information and the second codec information being encoded in a Codec Attribute field of the CDR.
5. The method as claimed in claim 4, wherein the first codec information and the second codec information are encoded in the codec attribute field as an n-bit string, wherein the first codec information is encoded as n/2 least significant bits in the Codec Attribute field, and wherein the second codec information is encoded as n/2 most significant bits in the Codec Attribute field.
6. The method as claimed in claim 1, wherein the network element server comprises an IP multimedia subsystem (IMS) server.
7. The method as claimed in claim 1, wherein the network element server receives the first codec information and the second codec information from a call control server via a diameter protocol.
8. The method as claimed in claim 7, wherein the call control server receives the first codec information and the second codec information from a subscriber terminal via SIP protocol.
9. A system for managing codec informationin a call control server, comprising:
at least one memory; and
at least one processor, the at least one memory coupled to the at least one processor, wherein the at least one processor is capable of executing programmed instructions stored in the at least one memory to:
capture at least a first codec information associated with an initiation of an audio communication and a second codec information associated with a release of the audio communication; and
communicate the first codec information and the second codec information to a Network element server, wherein each of the first communication information and the second communication information comprises a respective codec value and a respective codec band.
10. The system as claimed in claim 9, further comprising a network interface element for communicating the first codec information and the second codec information to the Network element server, wherein the network interface element communicates the first codec information and the second codec information using diameter protocol.
11. A system for managing codec information in a network elementserver comprising:
at least one memory; and
at least one processor, the at least one memory coupled to the at least one processor wherein the at least one processor is capable of executing programmed instructions stored in the at least one memory to:
receive a first codec information associated with an initiation of an audio communication and a second codec information associated with a release of the audio communication; and
encode the first codec information and the second codec information in a charging data record (CDR) associated with the audio communication to obtain the CDR comprising the encoded codec information.
12. The system as claimed in claim 11, wherein the audio communication comprises a voice over long term evolution (VoLTE) communication, and the CDR comprises a VoLTE CDR.
13. The system as claimed in claim 11, wherein each of the first codec information and the second codec information comprises at least a codec value and a codec band.
14. The systemas claimed in claim 11, wherein the first codec information and the second codec information being encoded in a Codec Attribute field of the CDR.
15. The systemas claimed in claim 14, wherein the first codec information and the second codec information are encoded in the codec attribute field as a n-bit string, wherein the first codec information is encoded as n/2 least significant bits in the Codec Attribute field, and wherein the second codec information is encoded as n/2 most significant bits in the Codec Attribute field.
16. The systemas claimed in claim 11, wherein the network element server comprises an IMSserver.
17. The systemas claimed in claim 11, wherein the network element server receives the first codec information and the second codec information from a call control server via diameter protocol. ,TagSPECI:FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See Section 10 and Rule 13)
Title of invention:
SYSTEM AND METHOD FOR MANAGING CODEC INFORMATION
Applicant:
Tata Consultancy Services Limited
A company Incorporated in India under the Companies Act, 1956
Having address:
Nirmal Building, 9th floor,
Nariman point, Mumbai 400021,
Maharashtra, India
The following specification particularly describes the invention and the manner in which it is to be performed.
TECHNICAL FIELD
[0001] The embodiments herein generally relate tomanaging communication quality, and more particularly, to managing communication quality by managing codec information associated with the communication.
BACKGROUND
[0002] Communication, particularly voice communication, between wireless devices has gathered attention in recent times. There has been an increasing interest in radio access technologies for providing mobile services for voice, video and data. The Third Generation Partnership Project (3GPP) provides standards for cellular telecommunications network technologies, including radio access, the core transport network, and service capabilities.
[0003] There has been a major effort for development of 3GPP Long Term Evolution (LTE), which is an international next-generation wirelessbroadband mobile communication technology. The 3GPP LTE provides standard for voice communication, known as voice over LTE (VoLTE) that is capable of providing high definition (HD) voice quality. According to 3GPP standard (3GPP TS 26.114), IP Multimedia subsystem (IMS) voice profile includes adaptive multi-rate wideband (AMR WB) and 8 adaptive multi-rate narrowband (AMR NB) codecs, that are responsible for providing high quality voice services during the communication session. However, during an ongoing call,if a mobile terminal moves from VoLTE network to a 3G network, for example during a handover, the quality of voice degrades as the 3G network does not support Wideband (WB) codec responsible for providing high definition voice quality.
SUMMARY
[0004] The following presents a simplified summary of some embodiments of the disclosure in order to provide a basic understanding of the embodiments. This summary is not an extensive overview of the embodiments. It is not intended to identify key/critical elements of the embodiments or to delineate the scope of the embodiments. Its sole purpose is to present some embodiments in a simplified form as a prelude to the more detailed description that is presented below.
[0005] In view of the foregoing, an embodiment herein provides a method and system formanaging communication quality associated with communication sessions.
[0006] In one aspect, a method for managing communication quality is provided. The method includes receiving, by a network element server, a first codec information associated with an initiation of the audio communication and a second codec information associated with a releaseof the audio communication; and encoding, by the network element server, the first codec information and the second codec information in a charging data record (CDR) associated with the audio communication to obtain the CDR comprising the encoded codec information.
[0007] In another aspect, a system for managing codec information in a call control serveris provided. The system includes at least one memory; and at least one processor, wherein the at least one memory is coupled to the at least one processor, and wherein the at least one processor is capable of executing programmed instructions stored in the at least one memory to: capture at least a first codec information associated with an initiation of the audio communication and a second codec information associated with a release of the audio communication; and communicate the first codec information and the second codec information to a Network Element Server, wherein each of the first communication information and the second communication information comprises a respective codec value and a respective codec band.
[0008] In yet another aspect, a system for managing codec information in a network element server is provided. The network element server includes at least one memory; and at least one processor, wherein the at least one memory is coupled to the at least one processor, and wherein the at least one processor is capable of executing programmed instructions stored in the at least one memory to: receive a first codec information associated with an initiation of an audio communication and a second codec information associated with a release of the audio communication; and encode the first codec information and the second codec information in a charging data record (CDR) associated with the audio communication to obtain the CDR comprising the encoded codec information.
[0009] It should be appreciated by those skilled in the art that any block diagram herein represent conceptual views of illustrative systems embodying the principles of the present subject matter. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computing device or processor, whether or not such computing device or processor is explicitly shown.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The embodiments herein will be better understood from the following detailed description with reference to the drawings, in which:
[0011] FIG. 1 illustrates a system for managing codec information, according to an embodiment of the present disclosure;
[0012] FIG. 2 illustrates a system for managing codec information in a call control server, according to an embodiment of the present disclosure;
[0013] FIG. 3 illustrates a system for managing codec information in a network element server, according to an embodiment of the present disclosure;
[0014] FIG. 4 illustrates a sequence diagram for managing codec information, according to an embodiment of the present disclosure;
[0015] FIG. 5 illustrates an example format of CDR including the codec information, according to an embodiment of the present disclosure;
[0016] 6A illustrates example of encoding codec information in a CDR, according to an embodiment of the present disclosure;
[0017] FIG. 6B illustrates tables including codec band and codec values, according to an embodiment of the present disclosure;
[0018] FIG. 6C illustrates example scenarios for interpreting codec information encoded in a CDR, according to an embodiment of the present disclosure; and
[0019] FIG. 7 illustrates an example flow diagramfor managing codec information, according to an embodiment of the present disclosure.
DETAILED DESCRIPTION OF EMBODIMENTS
[0020] The embodiments herein and the various features and advantageous details thereof are explained more fully with reference to the non-limiting embodiments that are illustrated in the accompanying drawings and detailed in the following description. The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments herein may be practiced and to further enable those of skill in the art to practice the embodiments herein. Accordingly, the examples should not be construed as limiting the scope of the embodiments herein.
[0021] Referring now to the drawings, and more particularly to FIGS. 1 through 7, where similar reference characters denote corresponding features consistently throughout the figures, there are shown preferred embodiments and these embodiments are described in the context of the following exemplary system and method.
[0022] The embodiments relate to method and systems for managingquality of communication, for example, in IP multimedia subsystems (IMS) networks. In an example embodiment, the quality of communication can be managed by determining codec information associated with a lifecycle of a communication session in the IMS networks. A system for managing codec information associated with the lifecycle of the communication session in the IMS networks is shown and described further with reference to FIG. 1.
[0023] FIG. 1 illustrates a system 100 for managing codec information associated with a communication session in an IMS network, in accordance with an example embodiment.The IMS network facilitates multimedia sessions such as audio communication sessions between communication terminals. For example, IMS networks facilitate high definition voice communication between communication terminals using VoLTE. Herein, the codec information includes a codec value and a codec band associated with multiple legs of the communication session. The communication session includes multiple phases between two call legs which is an originating leg(for example, a calling party or calling subscriber) and a terminating leg(for example, a called party or called subscriber). For instance, multiple phases between two call legs of the communication session may include a call initiation phase, a mid-call phase, and a call release phase.
[0024] The system 100 for managing codec information in the IMS network includes a call control server 102 and a network element server 104. The call control server 102 includes a function element called charging collection function (CCF)that is responsible for facilitating collection, aggregation, processing and transfer of charging data/information from different network elementsof the IMS network. As defined in 3GPP TR 21.905 and 3GPP TS 32.240, the charging data/information includes information related to a chargeable event that is formatted and transferred in order to make it possible to determine usage for which the charged party may be billed. In an example embodiment, the call control server 102 is configured to receive codec information associated with multiple legs of the communication session from a subscriber terminal 106. In an example embodiment, the subscriber terminal106 provides codec information to the call control server 102 during an active communication session, for example a VoLTE call. In an example embodiment, the subscriber terminal106 provides the codec information to the call control server 102 using SIP messaging, for example, SIP Invite message, SIP Update message and SIP Bye messages. An example message sequence between a calling subscriber terminal and a called subscriber terminal including transfer of codec information is described further in detail with reference to FIG. 4.
[0025] In an example embodiment, the codec information associated with a leg of communication session includes a codec value and a codec band associated with theleg of the communication session. For example, the codec information associated with the initiation of the call includes a codec value and codec band that is provided by the subscriber terminal 106 to the call control server 102 at the initiation of the call. Also, the codec information associated with the termination/release of the call includes a codec value and a codec band that is provided by the subscriber terminal 106 to the call control server 102 at the releaseof the call.In an example embodiment, where the communication session includes a VoLTE call, the codec information includes VoLTE codec. The VoLTE codec is based on AMR WB technology. AnIMS voice profile includes the codecs associated with VoLTE 9 AMR WB and 8 AMR NB codecs.
[0026] The network element server 104 is configured to receive the charging data/information from the call control server 102. The network element server 104 is further configured to generate record for the purpose of billing a subscriber for the provided service. The record generated by the network element server 104 is referred to as charging data record (CDR). The CDR includes fields identifying the subscriber/user, the session and the network elements as well as information on the network resources and services used to support a subscriber session. The network element server 104 can utilize the encoded codec information in the CDRs associated with multiple legs of the communication for the of key performance indicator (KPI) requirements. An example of the network element server 104 is described with reference to FIG. 3.
[0027] Various embodiments of the disclosure provide method and systems for managing the CDRs associated with multiple legs of the communication.
[0028] FIG. 2 illustrates a system 200 for managing CDRs during a VoLTE communication in a call control server, in accordance with an example embodiment. The call control server may be the call control server 102 (refer, FIG. 1), and thus in the foregoing description, the call control server may refer to the call control server 102 (refer, FIG. 1). The system 200 includesor is otherwise in communication with at least one processor such as a processor 202, at least one memory such as a memory 204, and a network interface206. The processor 202, memory 204, and the network interface 206 may be coupled by a system bus such as a system bus 208 or a similar mechanism.
[0029] The processor202 may include circuitry implementing, among others, audio and logic functions associated with the communication. For example, the processor 202 may include, but are not limited to, one or more digital signal processors (DSPs), one or more microprocessor, one or more special-purpose computer chips, one or more field-programmable gate arrays (FPGAs), one or more application-specific integrated circuits (ASICs), one or more computer(s), various analog to digital converters, digital to analog converters, and/or other support circuits. The processor 202thus may also include the functionality to encode messages and/or data or information. The processor 202 may include, among other things, a clock, an arithmetic logic unit (ALU) and logic gates configured to support operation of the processor 202. Further, the processor 202may include functionality to execute one or more software programs, which may be stored in the memory204 or otherwise accessible to the processor 202.
[0030] The at least one memory such as a memory 204, may store any number of pieces of information, and data, used by the call control server to implement the functions of the call control server. The memory 204 may include for example, volatile memory and/or non-volatile memory. Examples of volatile memory may include, but are not limited to volatile random access memory (RAM). The non-volatile memory may additionally or alternatively comprise an electrically erasable programmable read only memory (EEPROM), flash memory, hard drive, or the like. Some examples of the volatile memory includes, but are not limited to, random access memory, dynamic random access memory, static random access memory, and the like. Some example of the non-volatile memory includes, but are not limited to, hard disks, magnetic tapes, optical disks, programmable read only memory, erasable programmable read only memory, electrically erasable programmable read only memory, flash memory, and the like. The memory 204 may be configured to store information, data, applications, instructions or the like for enabling the call control serverto carry out various functions in accordance with various example embodiments. Additionally or alternatively, the memory 204 may be configured to store instructions which when executed by the processor 202 causes the call control server to behave in a manner as described in various embodiments.
[0031] The network interface element 206 is configured to facilitate communication between the call control server, network elements and nodes (for example,subscriber terminals). The network interface element 206 may be in form of a wireless connection or a wired connection. Examples of wireless network interface element 206 may include, but are not limited to, IEEE 802.11 (Wifi), BLUETOOTH®, or a wide-area wireless connection. Example of wired network interface element 206 includes, but is not limited to Ethernet.
[0032] In an example embodiment, the call control serveris configured to receive the codec information associated with various legs of communication from a subscriber terminal, for example, a subscriber terminal 106 (refer, FIG. 1) . In an example embodiment, the codec information is received at the network interface element of the call control server. In an example embodiment, the codec information includes at least a first codec information associated with an initiation of the audio communication and a second codec information associated with a termination/release of the audio communication.In an example embodiment, the codec information is provided to the call control serverby the subscriber terminal using SIP Protocol.
[0033] The call control serveris configured to communicate the first codec information and the second codec information (herein, collectively referred to as codec information 250) to the Network element server, for example, the Network element server104 (refer, FIG. 1). In an embodiment, the codec information 250 is communicated to the network element server 104via the network interface element 206 of the call control server104. In an example embodiment, the network interface element 206 communicates the codec information during call initiation, mid-call and call release phases, using diameter protocol.
[0034] FIG. 3 illustrates a system 300 for managing CDRs during a VoLTE communication in a network element server, in accordance with an example embodiment. The network element servermay be the network element server 104 (refer, FIG. 1), and thus in the foregoing description, the network element server may refer to the network element server 104. The system 300 includes or is otherwise in communication with at least one processor such as a processor 302, at least one memory such as a memory 304, and a network interface element 306. The processor 302, memory 304, and the network interface 306 may be coupled by a system bus such as a system bus 308 or a similar mechanism.
[0035] The processor 302 may include circuitry implementing, among others, audio and logic functions associated with the communication. For example, the processor 302 may include, but are not limited to, one or more digital signal processors (DSPs), one or more microprocessor, one or more special-purpose computer chips, one or more field-programmable gate arrays (FPGAs), one or more application-specific integrated circuits (ASICs), one or more computer(s), various analog to digital converters, digital to analog converters, and/or other support circuits. The processor 302 thus may also include the functionality to encode messages and/or data or information. The processor 302 may include, among other things, a clock, an arithmetic logic unit (ALU) and logic gates configured to support operation of the processor 302. Further, the processor 302 may include functionality to execute one or more software programs, which may be stored in the memory 304 or otherwise accessible to the processor 302.
[0036] The at least one memory such as a memory 304, may store any number of pieces of information, and data, used by the network element server to implement the functions of the network element server. The memory 304 may include for example, volatile memory and/or non-volatile memory. Examples of volatile memory may include, but are not limited to volatile random access memory (RAM). The non-volatile memory may additionally or alternatively comprise an electrically erasable programmable read only memory (EEPROM), flash memory, hard drive, or the like. Some examples of the volatile memory includes, but are not limited to, random access memory, dynamic random access memory, static random access memory, and the like. Some example of the non-volatile memory includes, but are not limited to, hard disks, magnetic tapes, optical disks, programmable read only memory, erasable programmable read only memory, electrically erasable programmable read only memory, flash memory, and the like. The memory 304 may be configured to store information, data, applications, instructions or the like for enabling the network element serverto carry out various functions in accordance with various example embodiments. Additionally or alternatively, the memory 304 may be configured to store instructions which when executed by the processor 302 causes the network element server to behave in a manner as described in various embodiments.
[0037] The network element server 306 is configured to facilitate communication between the call control server (for example, the call control server 102 of FIG. 1), and the network element server. The network interface element 306 may be in form of a wireless connection or a wired connection. Examples of wireless network interface element 306 may include, but are not limited to, IEEE 802.11 (Wifi), BLUETOOTH®, or a wide-area wireless connection. Example of wired network interface element 306 includes, but is not limited to Ethernet.
[0038] In an example embodiment, the system 300 associated with the network element server is configured to receive the codec information associated with various legs of communication from the call control server. In an example embodiment, the codec information is received at the network interface element 306 of the system 300. In an example embodiment, the codec information includes at least the first codec information and the second codec information. Additionally, the codec information may be associated with other legs of communication, for example, interim-call leg of communication.In an example embodiment, the codec information is provided to the network element server by the call control server using Diameter Protocol. For the purposes of illustration, an example of communication between the call control server and the network element server that uses VoLTE communications is described to be implemented by using Diameter Protocol. However, it should be understood that other examples could use other protocols and/or functions now known or developed in the future.
[0039] The network element serveris further configured to encode the first codec information and the second codec information in a CDR associated with the audio communication to obtain the CDR including the encoded codec information. In an example embodiment, the network element serverencodes the first codec information (including the codec value and the codec band) in acall-initiation codec information in a ‘Codec Attribute’ field of the CDR. In an example embodiment, the network element serverencodes the second codec information (including the codec value and the codec band) in a call release codec information in a ‘Codec Attribute’ fieldof the CDR. In an example embodiment, the first and second codec information are encoded in form of a n-bit string in decimal format. An example of encoding the first and second codec information in form of the 12-bit string is described further with reference to FIG. 6A.
[0040] In FIGS. 1 - 3, the call control server (for example, the call control server 102 of FIG. 1) and a system (for example, the system 200 of FIG. 2) embodied in the call control server performs the functions of the call charging function as described herein in addition to the functions of conventional call charging function. Additionally, the network element server (for example, the network element server 102 of FIG. 1) and a system (for example, the system 300 of FIG. 3) embodied in the network element server performs the functions of the IMS network element described herein in addition to the functions of conventional IMS network element. Said call control server 102and the network element server 104 disclosed herein mediates communication session between the subscriber terminals with the use of SIP protocol. It will be understood that although the embodiments are described herein in the context of IMS network, the embodiments are not limited. For example, the embodiments can be applied for other networks services where CDRs are generated, e.g., a cellular network and so on.
[0041] FIG. 4refers to signaling diagram 400, for establishing a communication session between a subscriber terminal 402 and a subscriber terminal 404 and managing codec information during the communication session. In an example scenario, the subscriber terminal 402 is a calling terminal and the subscriber terminal 404 is a called terminal. In an embodiment, the subscriber terminal 402 and the subscriber terminal 404 may be wireless communication devices. Examples of wireless communication devices may include, but are not limited to, a mobile phone, a PDA, a laptop, and so on. In an example embodiment, the subscriber terminal 402 and the subscriber terminal 404 communicates using SIP protocol.
[0042] In an example embodiment, the communication between the subscriber terminal 402 and the subscriber terminal 404 is facilitated through network elements such as a network element server 406 associated with the subscriber terminal 402, a network element server 408 associated with the subscriber terminal 404, and a call control server 410. The call control server 410and the network element servers 406, 408 mediates communication session between the subscriber terminals 402, 404 with the use of SIP protocol.
[0043] In an embodiment, the subscriber terminal 402 initiates establishment of the communication session, for example a multimedia session, with the subscriber terminal 404 by sending a SIP communication 422 to the subscriber terminal 404. The SIP communication may be in form of a SIP Invite, SIP message request, SIP Options, or a stand-alone SIP request. The SIP invite may include codecs that may be utilized for initiating the communication session with the subscriber terminal 404.
[0044] The subscriber terminal 404 provides a response to the SIP Invite by sending a SIP communication 424 (for example, a SIP 200 OK) to the subscriber terminal 402. The SIP 200 OK may include codecs for creating a diameter transaction message. For example, the SIP 200 OK may include codecs in SIP header. Diameter protocol has been defined by IETF and is intended to provide an Authentication, Authorization and Accounting (AAA) framework for applications such as network access or IP mobility. Herein, since the codecs in this sequence may include information such as a subscriber ID and other such user/subscriber terminal information, an authentication protocol such as the Diameter protocol is used. In the case of the Diameter protocol, the CDR is provided using messages in a Diameter Cx interface.
[0045] In an example embodiment, once the subscriber terminal 402 receives the SIP 200 OK, the call control server 410 receives codec information associated with the subscriber terminal 402 through the network element server 406. The codec information includes the codec value and codec band associated with the initiation of the communication session. For example, the call control server 410 receives the codec information through a ‘create CDR’ message 426 sent by the network element server 406. In an embodiment, the network element server 406 sends the ‘create CDR’ message 426 to the call control server 410 using diameter protocol. In response, the call control server 410 sends a diameter response message containing the codec information associated with the initiation of the communication session, to the network element server 406.
[0046] In an example embodiment, during the audio communication, for example, during an interimcall leg of the communication session, the subscriber terminal 402 sends a SIP communication, for example a SIP update message 432 to the subscriber terminal 404. The subscriber terminal 404 provides a response to the SIP update message 432 by sending a SIP communication 434 (for example, SIP 200 OK message) to the subscriber terminal 402. The SIP 200 OK may include codecs for updating a diameter transaction message. In an example embodiment, the SIP 200 OK may include codecs in SIP header.
[0047] In an example embodiment, once the subscriber terminal 402 receives the SIP 200 OK, the call control server 410 receives codec information associated with the subscriber terminal 402 through the network element server 406. The codec information includes the codec value and codec band associated with the interim-call leg of the communication session. For example, the call control server 410 receives the codec information through a ‘update CDR’ message 436 sent by the network element server 406. In an embodiment, the network element server 406 sends the ‘update CDR’ message 436 to the call control server 410 using diameter protocol. In response, the call control server 410 sends a diameter response message containing the updated codec information associated with the mid-call leg of the communication session, to the network element server 406.
[0048] In an embodiment, at a release of the audio communication, the subscriber terminal 402 sends a SIP communication, for example a SIP BYE message 442 to the subscriber terminal 404. The subscriber terminal 404 provides a response to the SIP BYE message 442by sending a SIP communication 444 (for example, SIP 200 OK message) to the subscriber terminal 402. The SIP 200 OK may include codecs for release of the diameter transaction message. In an example embodiment, the SIP 200 OK may include codecs in SIP BYE header
[0049] The flow described above specify the charging communications between IMS network element and the charging function elementassociated with the call control server. The SIP messages and Diameter transactions associated with the CDR management are shown primarily for general information and to illustrate the recording, storing and transfer of the codec information in the CDR. This flow is not intended to be exhaustive of all the SIP message flows.
[0050] As described above, the codec information associated with the call initiation and call releaseisincluded in the CDR. In an example embodiment, the codec information is included in the CDR by encoding said information in the CDR. In an example embodiment, the codec information is encoded in the CDR by the network element server 406. An example of encoding the codec information in a CDR is described further with reference to FIG. 5.
[0051] FIG. 5illustratesa format of CDR in accordance with an example embodiment of the present disclosure. The format of CDR is shown to include a plurality of fields for storing information associated with a session. The CDR format includes various fields as defined in CDR parameter description of 3GPP TS 32.298 V12.4.1 (2014-07). For example, the CDR includes fields for storing event time-stamps, local record sequence numbers, calling party information such as international mobile subscriber identity (IMSI),device IDfor example international mobile equipment identifier (IMEI), location of cell tower/city, called party number, duration of call, answered indication, as so on. In an example embodiment, in addition to the existing fields, the CDR is configured to include an additional field, known as codec attribute field for storing the codec information associated with an initiation and release of the call. For example, as illustrated in FIG.5, the CDR includes an additional ‘Codec Attribute’ field 502. In an example embodiment, the ‘Codec Attribute’ field 502 includes the codec information such as a codec value and codec band associated with call initiation and call release. In an example embodiment, the codec information is encoded in the ‘Codec Attribute’ field 502. An example of encoding the codec information in the CDR is described further with reference to FIG. 6.
[0052] FIG. 6A illustrates an example implementation of encoding codec information in a CDR, in accordance with an example embodiment. In an example embodiment, the codec information is encoded in a codec attribute field (for example, the codec attribute field 502 explained in FIG. 5) in a n-bit string (for example, a string 600), where the n/2 least significant bits includes the codec value and codec band for call initiation, and the n/2 mostsignificant bits include the codec value and codec band for call release. For example, as illustrated, FIG.6A illustrates codec bit positions 602, 604, 606, 608, 610, 612, 614, 616, 618, 620, 622, and 624 in a a12-bit string. The six most significant bit (MSB) bit positions 602-612 are used for encoding codec information associated with call release while the six least significant but (LSB) bit positions 614-624 are used for encoding codec information associated with call initiation. FIG. 6B illustrates tables showing values corresponding to codec values and bandsthat can be encoded in the 12 bit string.
[0053] Referring to FIG. 6B, Table 1 shows values of codecs, AMR WB and AMR NB corresponding to the encoded values in the 12-bit string. Also, Table 2 shows bands of codecs, WB and NB, corresponding to the encoded values in the 12-bit string. The values provided in the tables 1 and 2 can be utilized for encoding the codec values and bands in the codec attribute field of the CDR. Using the encoded codec information in the codec attribute field, any change in the codec values during the audio communication can be determined. For example,in HD, due to adaptive mechanism, explained in 3GPP TS 26.114 (V12.6.0 (2014-06), section 10), voice codec may change during the call, due to network conditions. Due to the change of codecs, for example, Codec changes from AMR WB (23.85) to AMR WB (6.6), the call quality may degrade by approx. 50%. Also, the ongoing call may move to 3G network from VoLTE(handover). This will cause codec change from AMR WB to AMR NB, as the 3G architecture does not support WB codec, thereby resulting in turning call quality from HD-voiceto non-HD voice. The method and system described with reference to FIGS. 1-6B in accordance with various embodiments facilitates in capturing the codec values during the lifecycle of the communication, in a VoLTE CDR. An example illustrating the CDR having the codec values associated with call initiation and call release is described with reference to FIG. 6C.
[0054] Referring to FIG. 6C, the codec information associated with the call initiation and call termination/release are shown to be included in the 12-bit string in the codec attribute field. The codec information is shown for two scenarios. In the first scenario, the codec information encoded in the 12-bit string (represented as 652) shows that the subscriber terminal, such as subscriber terminal 106 (refer, FIG. 1) (or the caller holding the subscriber terminal) has moved/shifted from WB 23.85 to NB 10.2, since the call initiation codecs correspond to BB 23.85 while the call release codecs correspond to NB 10.2. In the second scenario, the codec information encoded in the 12-bit string (represented as 654) shows that the subscriber terminal (or the caller holding the subscriber terminal) has moved/shifted from WB 23.05 to WB 6.6, since the call initiation codecs correspond to BB 23.85 while the call termination/release codecs correspond to WB 6.6. Herein, the codec information is presented in a binary as well as decimal format.
[0055] As disclosed herein, these codec values associated with the call lifecycle, for example, the codec values associated with the call initiation, mid-call and call release can be recorded and further utilized for improving KPIs requirements.Examples of KPIs may include, but are not limited to HD Voice Quality Experience (number of codec changes per user call), Codec degradation Experience(percentage of codec degraded calls/total calls) per device per cell site, percentage of HD calls (total HD calls/Total calls) per user per device per cell site, percentage of AMR WB to NB migrated calls (percentage WB to NB calls/Total calls) per user per device per cell site,and most used codec per user per device per cell site.
[0056] FIG. 7 illustrates a flowchart 700 of a method for managing CDRsin a communication session, in accordance with an example embodiment. In an example embodiment, the communication may be an audio communication. In an example embodiment, the audio communication includes a voice over long term evolution (VoLTE) communication. For example, an audio communication can be initiated between terminals, such as, thesubscriber terminal402 and thesubscriber terminal 404(refer, FIG. 4), and during the lifecycle of the audio communication, the codec information associated with various legs of communication session can be recorded by a call control server (for example, the call control server 410 of FIG. 4). In an example embodiment, the codec information includes the codec band and codec values associated with various legs (such as call initiation, mid-call, call release/termination) of the communication session. In an example embodiment, the call control server 410 sends the codec information associated with the active call, in real time, to a network element server (for example, the network element server 406 of FIG. 4) associated with the subscriber terminal (for example, the subscriber terminal 402 of FIG. 4).
[0057] At 702, the network element server 406receives a first codec information associated with the initiation of the audio communication and a second codec information associated with the termination of the audio communication. In an example embodiment, the first codec information and the second information includes the codec value and codec band, as explained with reference to FIGS. 6A-6C.
[0058] At 704, the network element server 406encodes the first codec information and the second codec information in a CDR associated with the audio communication to obtain the CDR including the encoded codec information. An example of encoding the first codec information and the second codec information in the CDR is explained with reference to FIGS. 6A-6C.
[0059] It will be noted that although the embodiments herein are explained wherein the codec information associated with the call initiation and call release are included (encoded) in the CDR, in alternative embodiments, the codec information may be captured during the audio communication, and the codec information may be included in the CDR. For example, in some embodiments, the codec information may be captured after every predetermined time-slot (such as after every one minute). In an example embodiment, the captured codec information may be stored in a database/memory. For example, the captured codec information may be stored in the memory 204 of the system 200 (refer, FIG. 2) embodied in the call control server. Additionally or alternatively, the captured the codec information may be stored in the memory 304 of the system 300 (refer, FIG. 3) embodied in the network element server.
[0060] It will also be noted that the codec information associated with each leg of the active communication may be captured in the system 200 of the call control server in real-time, and sent to the system 300 of the network element server in real-time. An example of communication of the codec information during the lifecycle of the audio communication in real-time is already described in detail with reference to FIG. 4.
[0061] The written description describes the subject matter herein to enable any person skilled in the art to make and use the embodiments. The scope of the subject matter embodiments is defined by the claims and may include other modifications that occur to those skilled in the art. Such other modifications are intended to be within the scope of the claims if they have similar elements that do not differ from the literal language of the claims or if they include equivalent elements with insubstantial differences from the literal language of the claims.
[0062] Various embodiments of the disclosure provide method and system for managing codec information associated in a communication session.For example, the embodiments disclose a method of capturing codec information (including codec value and codec band) associated with various legs of the communication session (such as call initiation, interim call and call release). The method further discloses mechanism to encode the codec information associated with the lifecycle of the communication session into a CDR, for example, a VoLTE CDR in case of a VoLTE communication. In various example embodiments, the codec information encoded in the VoLTE CDR can be utilized in meeting KPI requirements. Moreover, the codec information may be utilized in downstream systems to created performance dashboards, by combining codec values with IMSI (user), IMEI (Device) and cell site (markets). For example, various CDR based codec utilization dashboards atuser/device/site/market and national level may be integratedtogether or with other performanceimprovementsystemsto assess HD voice performance.
[0063] It is, however to be understood that the scope of the protection is extended to such a program and in addition to a computer-readable means having a message therein; such computer-readable storage means contain program-code means for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device. The hardware device can be any kind of device which can be programmed including e.g. any kind of computer like a server or a personal computer, or the like, or any combination thereof. The device may also include means which could be e.g., hardware means like e.g., an application-specific integrated circuit (ASIC), a field-programmable gate array(FPGA), or a combination of hardware and software means, e.g., an ASIC and an FPGA, or at least one microprocessor and at least one memory with software modules located therein. Thus, the means can include both hardware means and software means. The method embodiments described herein could be implemented in hardware and software. The device may also include software means. Alternatively, the embodimentsmay be implemented on different hardware devices, e.g. using a plurality of CPUs.
[0064] The embodiments herein can comprise hardware and software elements. The embodiments that are implemented in software include but are not limited to, firmware, resident software, microcode, etc. The functions performed by various modules described herein may be implemented in other modules or combinations of other modules. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
[0065] The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
[0066] A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
[0067] Input/output (I/O) devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers. Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
[0068] A representative hardware environment for practicing the embodiments may include a hardware configuration of an information handling/computer system in accordance with the embodiments herein. The system herein comprises at least one processor or central processing unit (CPU). The CPUs are interconnected via system bus to various devices such as a random access memory (RAM), read-only memory (ROM), and an input/output (I/O) adapter. The I/O adapter can connect to peripheral devices, such as disk units and tape drives, or other program storage devices that are readable by the system. The system can read the inventive instructions on the program storage devices and follow these instructions to execute the methodology of the embodiments herein.
[0069] The system further includes a user interface adapter that connects a keyboard, mouse, speaker, microphone, and/or other user interface devices such as a touch screen device (not shown) to the bus to gather user input. Additionally, a communication adapter connects the bus to a data processing network, and a display adapter connects the bus to a display device which may be embodied as an output device such as a monitor, printer, or transmitter, for example.
[0070] The preceding description has been presented with reference to various embodiments. Persons having ordinary skill in the art and technology to which this application pertains will appreciate that alterations and changes in the described structures and methods of operation can be practiced without meaningfully departing from the principle, spirit and scope.
| # | Name | Date |
|---|---|---|
| 1 | Form 2.pdf | 2018-08-11 |
| 2 | Figure of Abstract.jpg | 2018-08-11 |
| 3 | Drawings.pdf | 2018-08-11 |
| 4 | ABSTRACT1.jpg | 2018-08-11 |
| 5 | 1710-MUM-2015-Power of Attorney-050615.pdf | 2018-08-11 |
| 6 | 1710-MUM-2015-Form 1-291015.pdf | 2018-08-11 |
| 7 | 1710-MUM-2015-Correspondence-291015.pdf | 2018-08-11 |
| 8 | 1710-MUM-2015-Correspondence-050615.pdf | 2018-08-11 |
| 9 | 1710-MUM-2015-FER.pdf | 2019-05-30 |
| 10 | 1710-MUM-2015-OTHERS [28-11-2019(online)].pdf | 2019-11-28 |
| 11 | 1710-MUM-2015-FER_SER_REPLY [28-11-2019(online)].pdf | 2019-11-28 |
| 12 | 1710-MUM-2015-COMPLETE SPECIFICATION [28-11-2019(online)].pdf | 2019-11-28 |
| 13 | 1710-MUM-2015-CLAIMS [28-11-2019(online)].pdf | 2019-11-28 |
| 14 | 1710-MUM-2015-US(14)-HearingNotice-(HearingDate-05-09-2022).pdf | 2022-08-19 |
| 15 | 1710-MUM-2015-FORM-26 [02-09-2022(online)].pdf | 2022-09-02 |
| 16 | 1710-MUM-2015-FORM-26 [02-09-2022(online)]-1.pdf | 2022-09-02 |
| 17 | 1710-MUM-2015-Correspondence to notify the Controller [02-09-2022(online)].pdf | 2022-09-02 |
| 18 | 1710-MUM-2015-Written submissions and relevant documents [08-09-2022(online)].pdf | 2022-09-08 |
| 19 | 1710-MUM-2015-PatentCertificate30-09-2022.pdf | 2022-09-30 |
| 20 | 1710-MUM-2015-IntimationOfGrant30-09-2022.pdf | 2022-09-30 |
| 1 | search2AE_27-10-2021.pdf |
| 1 | search_strategy_21-05-2019.pdf |
| 2 | search2AE_27-10-2021.pdf |
| 2 | search_strategy_21-05-2019.pdf |