System and method for mapping session initiation protocol responses with cause codes - Patents.com

The system addresses the challenge of accurately mapping SIP responses to cause codes by using a processor to determine and modify cause codes within the SIP response system, thereby improving communication system efficiency and accuracy.

JP2025510416AActive Publication Date: 2025-04-15ジェイアイオー·プラットフォームズ·リミテッド
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023521929
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-03-30
Filing Date
2023-03-11
Publication Date
2025-04-15
Estimated Expiration
2043-03-11

AI Technical Summary

Technical Problem

Existing systems face challenges in accurately mapping Session Initiation Protocol (SIP) responses to appropriate cause codes, particularly in handling provisional responses and final error responses, which can result in incorrect Q.850 cause codes being sent.

Method used

A system and method that utilize a processor to receive SIP response messages, determine predefined cause codes and error response codes, and modify these codes based on predefined mappings, ensuring accurate cause code assignment and correction of final SIP error responses.

Benefits of technology

The solution effectively addresses the issue of incorrect cause code assignments, improves the accuracy of SIP response mappings, and enhances the overall communication system by providing analytical data for improving telephone call redial strategies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025510416000001_ABST
    Figure 2025510416000001_ABST
Patent Text Reader

Abstract

The present disclosure relates generally to message processing in a communication system, and more particularly to a system and method for mapping a Session Initiation Protocol (SIP) response with an appropriate cause code. A BTAS receives a SIP response and determines a reason for an error in a telephone call and a cause code for the error. The BTAS maps the SIP with the appropriate cause code. The BTAS provides an appropriate reason for the telephone call failure or the telephone call error in the SIP response. The telephone call is sent to an E-SBC and routed from the E-SBC to a P-CSCF and from the P-CSCF to an S-CSCF. A query is sent from the S-CSCF to a DNC server regarding DNC registration of a B number. The DNC server replies that the B number is / is not registered for DNC. The telephone call is forwarded to the BTAS and a query is sent from the BTAS to an MNP. The BTAS routes the telephone call to the S-CSCF. A wired telephone call to a terminating BTAS, where a VoLTE telephone call to a TAS, and an off-net telephone call to a MGCF via a BGCF. An off-net telephone call is sent from the BGCF to the MGCF.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] Reservation of Rights A portion of the disclosure of this patent document contains material that is the subject of intellectual property rights, including, but not limited to, copyright, designs, trademarks, integrated circuit (IC) layout designs, and / or trade dress protection, belonging to Jio Platforms Limited (JPL) or its affiliates (hereinafter referred to as the Owner). The Owner has no objection to the reproduction by anyone of the patent document or patent disclosure as it appears in the Patent and Trademark Office patent application or records, but otherwise reserves any and all rights. All rights in such intellectual property are fully reserved by the Owner.

[0002] FIELD OF THE DISCLOSURE Embodiments of the present disclosure relate generally to message processing in communication systems. More specifically, the present disclosure relates to a system and method for mapping Session Initiation Protocol (SIP) responses with appropriate cause codes. [Background technology]

[0003] The following description of related art is intended to provide background information regarding the field of the present disclosure. This section may include some aspects of art that may be related to various features of the present disclosure. However, it should be understood that this section is not intended as an admission of prior art, but is merely intended to enhance the reader's understanding of the present disclosure.

[0004] In general, the Session Initiation Protocol (SIP) may be based on request / response transactions in a similar manner to the HyperText Transfer Protocol (HTTP). Each transaction consists of a SIP request (which is one of several request methods) and at least one response. SIP responses specify a three-digit integer response code, which is one of a certain number of defined codes that detail the status of the request. These codes may be grouped according to the first digit as "provisional", "success", "redirect", "client error", "server error", or "global failure" codes, corresponding to the first digits 1 to 6. These are represented as "1xx", for example, for provisional responses with codes 100 to 199. SIP responses also specify "reason phrases", and a default reason phrase may be defined with each response code. However, these reason phrases may be varied, such as to provide additional information or to provide text in different languages.

[0005] In addition, autodialers in call center environments may be able to read the final error response and the associated Q.850 cause code in the Session Initiation Protocol (SIP) reason header of the SIP message. However, the majority of failure use cases are handled through notification playback, whereby an incorrect Q.850 cause code is sent under a provisional response 18X rather than a final error response. The final error response typically contains a dummy cause value that corresponds to a normal unspecified incoming call. Summary of the Invention [Problem to be solved by the invention]

[0006] Therefore, there is a need in the art to provide systems and methods that can alleviate problems associated with the prior art.

[0007] Objective of the invention Some of the objectives of the present disclosure that are met by at least one embodiment herein are listed here below.

[0008] It is an object of the present disclosure to provide a system and method for mapping Session Initiation Protocol (SIP) responses with appropriate cause codes.

[0009] It is an object of the present disclosure to provide a system and method for modifying the cause code received in a SIP reason header based on SIP-to-cause code mapping whenever required.

[0010] It is an object of this disclosure to modify the final SIP error response according to the user's requirements.

[0011] It is an objective of this disclosure to avoid the final error response containing a dummy cause value that corresponds to a normal unspecified call.

[0012] It is an object of the present disclosure to help derive analytical data based on a combination of SIP final error cause codes and predefined cause codes. Based on the analytical data, a user can derive a telephone call redialing strategy to improve the success rate.

[0013] It is an object of this disclosure to improve overall communication systems. [Means for solving the problem]

[0014] This section is provided to introduce in a simplified form certain objects and aspects of the disclosure that are further described below in the Detailed Description. This Summary is not intended to identify key features or the scope of the claimed subject matter.

[0015] In an aspect, the present disclosure relates to a system for mapping Session Initiation Protocol (SIP) response codes with cause codes. The system may include a processor and a memory coupled to the processor. The memory may include executable instructions to be executed by the processor. The processor may receive a SIP response message in response to a SIP request message. The SIP response message may correspond to at least one of a provisional SIP response message and a final SIP response message. The processor may determine at least one of a predefined cause code in a reason header field associated with the at least one of the provisional SIP response message and the final SIP response message and an error response code in a reason header field associated with the final SIP response message. In response to determining the predefined cause code in the final SIP response message, the processor may modify the predefined cause code in the reason header field associated with the final SIP response message based on the predefined cause code in the reason header field associated with the provisional SIP response message. The processor may, in response to determining the error response code in the final SIP response message, modify the error response code in the reason header field associated with the final SIP response message based on a predetermined cause code in the reason header field associated with the provisional SIP response message. The processor may map the predetermined cause code in the final SIP response message with a corresponding SIP response code. The processor may provide the final SIP response message with the mapped SIP response code and a reason message associated with the SIP response code.

[0016] In an embodiment, the predetermined cause code may be a Q.850 cause code in a Reason header field associated with the at least one of the provisional SIP response message and the final SIP response message.

[0017] In an embodiment, to determine at least one of the predetermined cause codes in a Reason header field associated with the at least one of the provisional SIP response message and the final SIP response message, the processor may copy the predetermined cause code from the Reason header field associated with the provisional SIP response message into a Reason header field associated with the final SIP response message based on a presence of the predetermined cause code in the provisional SIP response message and an absence of the predetermined cause code in the final SIP response message. The processor may modify an error response code in the Reason header field associated with the final SIP response message based on the predetermined cause code in the Reason header field associated with the final SIP response message.

[0018] In an embodiment, to determine at least one of the predetermined cause codes in a Reason header field associated with the at least one of the provisional SIP response message and the final SIP response message, the processor may modify an error response code in a Reason header field associated with the final SIP response message based on the predetermined cause code in the Reason header field associated with the final SIP response message when the predetermined cause code is not present in the provisional SIP response message and the predetermined cause code is present in the final SIP response message.

[0019] In an embodiment, to determine at least one of the predefined cause codes in a reason header field associated with the at least one of the provisional SIP response message and the final SIP response message, the processor may insert the predefined cause code in a reason header field associated with the final SIP response message based on an error response code received in a reason header field associated with the final SIP response message when the predefined cause code is not present in the provisional SIP response message and the final SIP response message.

[0020] In one embodiment, the BTAS may include a SIP trunk infrastructure to support outdialer services for telephone calls associated with the SIP request messages.

[0021] In an embodiment, the processor may send the telephone call from the outdialer service to a Do Not Call (DNC) server communicatively coupled to the BTAS. Additionally, the processor may receive a status message based on digits associated with the telephone call listed in a Do Not Disturb (DND) database, and the telephone call may be terminated at the DNC server based on digits associated with the telephone call listed in the DND database. The processor may be configured to receive the routed telephone call from the DNC server to the BTAS for mapping SIP response codes with cause codes.

[0022] In an embodiment, the predefined cause codes may correspond to at least one of Integrated Services Digital Network (ISDN) User Part (ISUP) cause values ​​and fault-related cause values.

[0023] In an embodiment, the mapping of the predefined cause code to the corresponding SIP response code in the final SIP response message may be based on a predefined cause code-SIP response code mapping table.

[0024] In an aspect, the present disclosure relates to a method for mapping a SIP response with a cause code. The method may include receiving, by a processor associated with a Business Telephony Application Server (BTAS) in response to a SIP request message. The SIP response message may correspond to at least one of a provisional SIP response message and a final SIP response message. The method may include determining, by the processor, at least one of a predefined cause code in a reason header field associated with the at least one of the provisional SIP response message and the final SIP response message and an error response code in a reason header field associated with the final SIP response message. The method may include modifying, by the processor, the predefined cause code in the reason header field associated with the final SIP response message based on the predefined cause code in the reason header field associated with the provisional SIP response message in response to determining the predefined cause code in the final SIP response message. The method may include modifying, by the processor, in response to determining the error response code in the final SIP response message based on a predefined cause code in a reason header field associated with the provisional SIP response message. The method may include mapping, by the processor, the predefined cause code in the final SIP response message with a corresponding SIP response code. The method may include providing, by the processor, the final SIP response message with the mapped SIP response code and a reason message associated with the SIP response code.

[0025] In an embodiment, the predetermined cause code may be a Q.850 cause code in a Reason header field associated with the at least one of the provisional SIP response message and the final SIP response message.

[0026] In an embodiment, to determine at least one of the predefined cause codes in a Reason header field associated with the at least one of the provisional SIP response message and the final SIP response message, the method may include replicating, by the processor, a predefined cause code from a Reason header field associated with the provisional SIP response message into a Reason header field associated with the final SIP response message based on the predefined cause code being present in the provisional SIP response message and the predefined cause code being absent in the final SIP response message. The method may include modifying, by the processor, an error response code in the Reason header field associated with the final SIP response message based on the predefined cause code in the Reason header field associated with the final SIP response message.

[0027] In an embodiment, to determine at least one of the predefined cause codes in a Reason header field associated with the at least one of the provisional SIP response message and the final SIP response message, the method may include modifying, by the processor, an error response code in a Reason header field associated with the final SIP response message based on the predefined cause code in the Reason header field associated with the final SIP response message when the predefined cause code is not present in the provisional SIP response message and the predefined cause code is present in the final SIP response message.

[0028] In an embodiment, to determine at least one of the predefined cause codes in a Reason header field associated with the at least one of the provisional SIP response message and the final SIP response message, the method may include modifying, by the processor, an error response code in a Reason header field associated with the final SIP response message based on the predefined cause code in the Reason header field associated with the final SIP response message when the predefined cause code is not present in the provisional SIP response message and the predefined cause code is present in the final SIP response message.

[0029] In one embodiment, the BTAS may include a SIP trunk infrastructure to support outdialer services for telephone calls associated with the SIP request messages.

[0030] In an embodiment, to determine at least one of the predefined cause codes in a reason header field associated with the at least one of the provisional SIP response message and the final SIP response message, the method may include inserting, by the processor, a predefined cause code in a reason header field associated with the final SIP response message based on absence of the predefined cause code in the provisional SIP response message and the final SIP response message and based on an error response code received in the reason header field associated with the final SIP response message.

[0031] In one embodiment, the BTAS may include a SIP trunk infrastructure to support outdialer services for telephone calls associated with the SIP request messages.

[0032] In an embodiment, the method may include sending, by a processor, a telephone call from an outdialer service to a Do Not Call (DNC) server communicatively coupled to the BTAS. The method may include receiving, by the processor, a status message based on digits associated with the telephone call not listed in a Do Not Disturb (DND) database. The telephone call may be terminated at the DNC server based on digits associated with the telephone call listed in the DND database. The method may include receiving, by the processor, a routed telephone call from the DNC server to the BTAS for mapping SIP response codes with cause codes.

[0033] In an embodiment, the predefined cause codes may correspond to at least one of Integrated Services Digital Network (ISDN) User Part (ISUP) cause values ​​and fault-related cause values.

[0034] In an embodiment, the method may include mapping a predefined cause code in the final SIP response message to a corresponding SIP response code based on a predefined cause code-SIP response code mapping table.

[0035] In an aspect, the present disclosure relates to a user equipment (UE) for mapping a SIP response code with an appropriate cause code. The UE may include one or more processors coupled to a processor of a Business Telephony Application Server (BTAS). The one or more processors may be coupled to a memory that may store executable instructions to be executed by the one or more processors that may cause the UE to send a SIP response message to the BTAS. The one or more processors may be configured to receive a SIP response message from the UE in response to the SIP request message. The SIP response message may correspond to at least one of a provisional SIP response message and a final SIP response message. The one or more processors may determine at least one of a predefined cause code in a reason header field associated with the at least one of the provisional SIP response message and the final SIP response message and an error response code in a reason header field associated with the final SIP response message. The one or more processors may modify the predefined cause code in the reason header field associated with the final SIP response message based on the predefined cause code in the reason header field associated with the provisional SIP response message in response to determining the predefined cause code in the final SIP response message. The one or more processors may, in response to determining the error response code in the final SIP response message, modify the error response code in a reason header field associated with the final SIP response message based on a predetermined cause code in a reason header field associated with the provisional SIP response message. The one or more processors may map the predetermined cause code in the final SIP response message with a corresponding SIP response code. The one or more processors may provide the final SIP response message with the mapped SIP response code and a reason message associated with the SIP response code.

[0036] In an aspect, a non-transitory computer-readable medium may include a processor with executable instructions that may cause the processor to receive a SIP response message in response to a SIP request message. The SIP response message may correspond to at least one of a provisional SIP response message and a final SIP response message. The processor may determine at least one of a predefined cause code in a reason header field associated with the at least one of the provisional SIP response message and the final SIP response message and an error response code in a reason header field associated with the final SIP response message. In response to determining the predefined cause code in the final SIP response message, the processor may modify the predefined cause code in the reason header field associated with the final SIP response message based on the predefined cause code in the reason header field associated with the provisional SIP response message. The processor may map the predefined cause code in the final SIP response message with a corresponding SIP response code. The processor may provide the final SIP response message with the mapped SIP response code and a reason message associated with the SIP response code.

[0037] The accompanying drawings, incorporated herein and forming part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems, with like reference numbers referring to the same parts throughout the different drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed on clearly illustrating the principles of the present disclosure. Some drawings may use block diagrams to illustrate components and may not show the internal circuitry of each component. It will be understood by those skilled in the art that the disclosure of such drawings includes disclosure of electrical components, electronic components, or circuits commonly used to implement such components. [Brief description of the drawings]

[0038] [Figure 1A]FIG. 1 illustrates an exemplary network architecture 100 of the proposed system, according to an embodiment of the present disclosure. [Figure 1B] FIG. 1 illustrates an example network architecture 150 of the proposed system, according to an embodiment of the present disclosure. [Figure 2A] FIG. 2 illustrates an example representation 200 of a network device or Business Telephony Application Server (BTAS), according to an embodiment of the present disclosure. [Figure 2B] FIG. 2 illustrates an example representation 250 of a flow diagram illustrating an integration architecture of a network device or a Business Telephony Application Server (BTAS), according to an embodiment of the present disclosure. [Diagram 3] FIG. 3 illustrates an example flowchart representation 300 of a call flow for an outdialer of an automated advertising telephone call service supported by a BTAS with the aid of an Internet Protocol Multimedia Subsystem (IMS), according to an embodiment of the present disclosure. [Figure 4] FIG. 4 illustrates an example flowchart 400 of a method for mapping a Session Initiation Protocol response with an appropriate cause code, according to an embodiment of the present disclosure. [Diagram 5] FIG. 5 illustrates an example computer system 500 in which or with which embodiments of the present disclosure may be utilized, according to embodiments of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0039] The above will become apparent from the following more detailed description of the present disclosure.

[0040] In the following description, for the purpose of explanation, various specific details are set forth to provide a thorough understanding of the embodiments of the present disclosure. However, it will be apparent that the embodiments of the present disclosure may be practiced without these specific details. Some features described hereinafter may each be used independently of each other or with any combination of other features. Individual features may not address all of the problems discussed above, or may address only some of the problems discussed above. Some of the problems discussed above may not be fully addressed by any of the features described herein.

[0041] The following description provides exemplary embodiments only and is not intended to limit the scope, applicability, or configuration of the present disclosure. Rather, the following description of exemplary embodiments will provide those skilled in the art with an enabling description for implementing the exemplary embodiments. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the present disclosure as described.

[0042] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by those skilled in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form so as not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail so as to avoid obscuring the embodiments.

[0043] Also, it should be noted that individual embodiments may be described as a process, which may be depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe operations as a sequential process, many of the operations may be performed in parallel or simultaneously. Additionally, the order of operations may be rearranged. A process terminates when an operation is completed, but may have additional steps not included in the diagram. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination may correspond to a return of the function to the calling function or to the main function.

[0044] The terms "exemplary" and / or "demonstrative" are used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as "exemplary" and / or "demonstrative" should not necessarily be construed as preferred or advantageous over other aspects or designs, and are not intended to exclude exemplary equivalent structures and techniques known to those skilled in the art. Furthermore, to the extent the terms "including," "having," "containing," and other similar terms are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term "comprising" as an open transitional term, without excluding any additional or other elements.

[0045] References throughout this specification to "one embodiment" or "an embodiment" or "one instance" or "one instance" mean that a particular feature, structure, or characteristic described in connection with an embodiment is included in at least one embodiment of the disclosure. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" in various places throughout this specification do not necessarily all refer to the same embodiment. Furthermore, particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0046] The terms used herein are intended to describe particular embodiments only and are not intended to limit the disclosure. As used herein, the singular forms "a", "an" and "the" are intended to include the plural unless the context indicates otherwise. It will be further understood that the terms "comprises" and / or "comprising" as used herein specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed terms.

[0047] Various embodiments of the entire disclosure will now be described in more detail with reference to FIGS.

[0048] 1A-1B illustrate exemplary network architectures 100 and 150 of the proposed system according to certain embodiments of the present disclosure. As shown in the representation 100 of FIG. 1A, a network device 102 (hereafter interchangeably referred to as a Business Telephony Application Server or BTAS 102) may be configured to facilitate mapping a Session Initiation Protocol (SIP) response with an appropriate cause code. The network device 102 may be configured as an application server and may operate communicatively with or be integrated with an Internet Protocol Multimedia Subsystem (IMS) server 106 (also interchangeably referred to as an IMS or an IMS core network 106). The IMS server 106 may be associated with a vendor or service provider for mapping SIP to an appropriate cause code to a user device 110. In certain embodiments, the BTAS 102 or the network device 102 may be implemented in an existing IMS implementation to facilitate network services corresponding to the communication network 112. In an example, the communication network 112 may relate to, for example, a fourth generation (4G), fifth generation (5G) network service, or sixth generation (6G) network service. In an embodiment, the BTAS / network device 102 may be communicatively coupled to a Do Not Call (DNC) server or framework 104, which may enable storage of numbers registered for "Do Not Disturb" (DND) service.

[0049] The user device 110 (also referred to interchangeably as user equipment or UE or terminal 110) may be at least one of a wired device or a wireless device. For example, a wired device may be a landline phone, a terminal device, or any other stationary device through which communication may be established. A wireless device may be a mobile device, which may include, for example, a mobile phone, such as a feature phone or a smartphone, and other devices. The user device 110 may be limited to the devices mentioned above, but may include any type of device capable of wired or wireless communication, such as a mobile phone, a tablet computer, a personal digital assistant (PDA), a personal computer (PC), a laptop computer, a media center, a workstation, and other such devices. In an embodiment, the user device may be at least one of a wireless or wired device that may have contracted or be registered with a network service provided by a service provider. In an example embodiment, the network service may relate to a 4G / 5G / 6G network, and the service provider may provide a network service corresponding to at least one of a cellular network service, a private network service, a satellite network service, or a convergence network service. Those skilled in the art will appreciate that the user device 110 may be defined interchangeably as user device 110 .

[0050] In an embodiment, the communication network 112 involved in the BTAS 102-based IMS implementation may be a 4G / 5G / 6G network, which may include at least one of a wireless network, a wired network, or a combination thereof. The communication network 112 may be implemented as one of different types of networks, such as an intranet, a local area network (LAN), a wide area network (WAN), the Internet, etc. Furthermore, the network may be either a dedicated network or a shared network. A shared network may represent an association of different types of networks that may use various protocols, such as Hypertext Transfer Protocol (HTTP), Transmission Control Protocol / Internet Protocol (TCP / IP), Wireless Application Protocol (WAP), Automatic repeat request (ARQ), etc. In an embodiment, the communication network 112 may relate to a 4G / 5G / 6G network, which may be facilitated, for example, through a Global System for Mobile communication (GSM) network, a Universal Terrestrial Radio Network (UTRAN), an Enhanced Data rates for GSM Evolution (EDGE) Radio Access Network (GERAN), an Evolved Universal Terrestrial Radio Access Network (E-UTRAN), a Wireless Fidelity (Wi-Fi), or other local area network (LAN) access network, or a satellite or terrestrial wide area access network, such as a Wireless Microwave Access (WiMAX) network. In an example embodiment, the communication network may enable the 4G / 5G / 6G network based on a subscription associated with a user / user device and / or through a Subscriber Identity Module (SIM) card.Various other types of communication networks or services may be possible.

[0051] In an example, the communications network 112 may utilize different types of air interfaces, such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), or Frequency Division Multiple Access (FDMA) air interfaces, and other implementations. In an exemplary embodiment, wireline user devices may use wired access networks, including, for example, Plain Old Telephone Service (POTS), Public Switched Telephone Network (PSTN), Asynchronous Transfer Mode (ATM), and other network technologies configured to transport Internet Protocol (IP) packets, alone or in combination with wireless access networks.

[0052] With reference to FIG. 1B, network services (corresponding to 112 in FIG. 1A) may be provided to multiple entities or enterprises, such as, for example, enterprise 1 (154-1), enterprise 2 (154-2), enterprise 3 (154-3), and enterprise 4 (154-4) (collectively referred to as enterprises 154). In an embodiment, at least one of the enterprises 154 may include an Internet Protocol Private Branch Exchange (IP-PBX) (not shown) to enable switching of telephone calls between user devices 110 over local wiring. Each enterprise 154 may communicate with a communications network / server through Enterprise Session Border Controllers (E-SBC). As shown in FIG. 1B , each enterprise, e.g., enterprise 1 (154-1), enterprise 2 (154-2), enterprise 3 (154-3), and enterprise 4 (154-4), may be supported with network services (e.g., 4G / 5G / 6G network services) through E-SBCs 156-1, 156-2, 156-3, and 156-4, respectively. The E-SBCs 156 may be a set of executable instructions for enabling connectivity and security associated with enterprise and service provider networks. An IP-PBX may be a private branch exchange or telephone switching system within an enterprise, which may enable, for example, switching telephone calls between users within the enterprise. In an embodiment, the BTAS 102 may be communicatively coupled with other components, such as, for example, IP telephones and provisioning servers. In an exemplary embodiment, the IP-PBX may communicate with the E-SBCs 156 via Session Initiation Protocol (SIP) techniques. An enterprise may refer to an entity including, but not limited to, an organization, a company, a store, an educational campus, an office campus, a shopping center, a residential area / community, and various other entities that may wish to utilize a communication network by a service provider. In some embodiments, the communication network may be available only within a predefined area (permitted area) of the enterprise. Various other types of entities / provisions are possible.

[0053] The IMS server (106 in FIG. 1A) may include one or more modules or components that may enable the IMS server to perform one or more functions. For example, the IMS server 106 may be an existing IMS core that includes components / modules that handle various functions, such as a Serving - Call Session Control Function (S-CSCF) module 158, an Interrogating - Call Session Control Function (I-CSCF) module 162, and a Proxy - Call Session Control Function (P-CSCF) module 152. In an embodiment, the BTAS 102 may be integrated with the IMS core 106 and a network of other application servers to provide network services related to, for example, 4G / 5G / 6G networks. For example, the other application servers may include a Telephony Application Server (TAS) 160, which may be considered a common component used in communication networks to provide telephony applications and additional multimedia functions. In another example, the other application servers may include a Mobile Number Portability (MNP) server 124, which may provide number portability to users, such as, for example, allowing them to maintain the same number upon a change of service provider. Various other servers may be integrated into a BTAS102-enabled IMS implementation to enable one or more services related to a communication network or a 4G / 5G / 6G network without departing from the scope of the description given.

[0054] In relation to the IMS-related components, the S-CSCF module 158 may be the primary node in the IMS server 106 responsible for session control. In an embodiment, a list of subscribers may be allocated to each S-CSCF module 158 at the time of IMS registration to facilitate routing of Session Initiation Protocol (SIP) messages as part of the service establishment procedure. In operation, the S-CSCF module 158 may enable downloading of a subscriber profile from the Home Subscriber Server (HSS) 120 at the time of IMS registration. The I-CSCF module 162 may be a key element of the IMS server and may enable any request to be routed to the appropriate S-CSCF module 158 from multiple S-CSCFs in the network. The I-CSCF module 162 may also query the HSS 120 to obtain the address of the relevant S-CSCF module 158 to process the SIP initiation request. As shown in FIG. 1B, the P-CSCF module 152 may act as an ingress or egress for an IMS client into or out of the service provider's IMS domain. The P-CSCF module 152 may perform general functions such as, for example, registering and onward routing of session requests to the correct node in the communications network, updating the S-CSCF module 158, maintaining a secure connection with the user device 110, and other such functions. In an embodiment, the network device or BTAS 102 may be communicatively coupled or integrated with one or more functional components, such as, for example, a Session Initiation Protocol (SIP)-based application server. The SIP server may be constructed with features related to the type of enterprise 154.

[0055] 1B, to provide various aspects of network services (e.g., related to 4G / 5G / 6G networks), the components of the IMS server (S-CSCF, I-CSCF modules, etc.) may also include function-related components / modules, such as a Breakout Gateway Control Function (BGCF) module 118, a Media Gateway Control Function (MGCF) module 122, an Interconnect Border Control Function (IBCF) 116, and other components / modules. In one common implementation, the BGCF module 118 may enable routing of telephone call signaling to or from the most appropriate S-CSCF module 158. In this implementation, the BGCF module 118 may enable routing of telephone calls to the respective BTAS 102 to map Session Initiation Protocol (SIP) responses with appropriate cause codes. In general, the MGCF module 122 may be a SIP endpoint that may interface with a security gateway (SGW) and may also control resources in the media gateway (MGW) 130. The IBCF module 116 may enable border control between various service provider networks, thus providing network security for the BTAS-enabled IMS with respect to signaling information. The IMS server 106 may also include other existing components, such as components related to a Multimedia Resource Function (MRF) module 126. The MRF module 126 in conjunction with other components of the IMS may be responsible for performing various processing tasks on media streams associated with a particular service. Furthermore, as shown in FIG. 1B, a BTAS-IMS based implementation may be associated with a Point of Interconnection (POI) 134, which may be a physical interface between media gateways of varying service providers or enterprises.

[0056] In an embodiment, the BTAS 102 may receive the SIP response. Further, the BTAS 102 may determine the reason for the error in the telephone call and determine a cause code for the error. The BTAS 102 may map the SIP and appropriate cause codes. Further, the BTAS 102 may provide an appropriate reason for the failure of the telephone call or the error of the telephone call in the SIP response. In an embodiment, the telephone call may be sent to the E-SBC 156, and the telephone call may be routed from the E-SBC 156 to the P-CSCF 152. In step (3), the telephone call may be routed from the P-CSCF 152 to the S-CSCF 158. In step (4), a query may be sent from the S-CSCF 158 to the DNC server 104 regarding the DNC registration of the B number. In step (5), the DNC server 104 may reply whether the B number is / is not registered for DNC. In step (6), the telephone call may be forwarded to the BTAS 102. In step (7), a query may be sent from the BTAS (102) to the MNP 124. In step (8), the MNP 124 may reply. In step (9), the BTAS 102 may route the telephone call to the S-CSCF 158. In step (10a), a wired telephone call to the terminating BTAS 102. In step (10b), a Voice over Long-Term Evolution (VoLTE) telephone call to the TAS 160. In step (10c), an off-net telephone call to the MGCF 122 via the BGCF 118. In step (11), an off-net telephone call may be sent from the BGCF 118 to the MGCF 122. The BTAS 102 may facilitate mapping a Session Initiation Protocol (SIP) response with an appropriate cause code through a combination of hardware and software implementations.

[0057] FIG. 2A, in conjunction with FIG. 1A, illustrates an example representation of a network device 102 / BTAS 102 according to an embodiment of the present disclosure. The system includes a network device 102 or a BTAS 102, which may include one or more processors. The network device 102 or the BTAS 102 may be integrated with an IMS server 106 (as shown in FIG. 1A) to provide network services to a user device 110. In an aspect, the network device 102 may include one or more processors 202 coupled with a memory 204. The memory 204 may store instructions that, when executed by the one or more processors, may cause the system to perform steps as described herein. The network device 102 or the BTAS 102 may cause the system to receive a routed request through an IMS (106 in FIG. 1A). In an embodiment, the BTAS 102 may receive an extension / number dialed by a first user on a mobile / fixed line. In an embodiment, the BTAS 102 may receive a SIP response. In addition, the BTAS 102 may determine the reason for the error in the telephone call and determine a cause code for the error. The BTAS 102 may map the appropriate cause code with the SIP. In addition, the BTAS 102 may provide the appropriate reason for the telephone call failure or the telephone call error in the SIP response.

[0058] The one or more processors 202 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuits, and / or any devices that process data based on operational instructions. Among other capabilities, the one or more processors 202 may be configured to fetch and execute computer-readable instructions stored in the memory 204 of the BTAS 102. The memory 204 may be configured to store one or more computer-readable instructions or routines in a non-transitory computer-readable storage medium, which may be fetched and executed to create or share data packets via the network service. The memory 204 may comprise any non-transitory storage device, including, for example, a volatile memory such as a RAM, or a non-volatile memory such as an EPROM, a flash memory, or the like.

[0059] In an embodiment, BTAS 102 may include an interface 206. Interface 206 may comprise various interfaces, e.g., interfaces for data input and output devices, referred to as I / O devices, storage devices, etc. Interface 206 may facilitate communications of BTAS 102. Interface 206 may also provide a communication path for one or more components of BTAS 102. Examples of such components include, but are not limited to, processing engine 208 and database 210.

[0060] The processing engine 208 may be implemented as a combination of hardware and programming (e.g., programmable instructions) to implement one or more functions of the processing engine 208. In the examples described herein, such a combination of hardware and programming may be implemented in a number of different ways. For example, the programming for the processing engine 208 may be processor-executable instructions stored in a non-transitory machine-readable storage medium, and the hardware for the processing engine 208 may comprise processing resources (e.g., one or more processors) for executing such instructions. In this example, the machine-readable storage medium may store instructions that, when executed by the processing resources, implement the processing engine 208. In such an example, the BTAS 102 may comprise a machine-readable storage medium that stores instructions or processing resources for executing the instructions, or the machine-readable storage medium may be separate but accessible to the BTAS 102 and the processing resources. In other examples, the processing engine 208 may be implemented by electronic circuitry.

[0061] The processing engine 208 of the network device may include one or more components (as shown in FIG. 2A ), including a session manager (SM) 212, an operation and maintenance (OAM) manager 214, a provisioning agent 216, a database manager (DM) 218, and a troubleshooting manager (TM) 220. The SM 212 may function as a core function delivery module that may be responsible for processing telephone calls and executing service chaining logic in the case of the BTAS 102. The SM 212 may further include one or more sub-modules, such as a telephone call initiation module (not shown) for initiating communication with multiple emergency services. The OAM manager 214 may be configured to manage fault, configuration, and performance aspects of the BTAS / network device 102. The OAM manager 214 may provide an operation and maintenance interface to the system or the BTAS 102. The DM 218 may manage database clusters, while the BTAS 102 may store subscriber-specific service information. In an embodiment, service data modification requests that may be received by the provisioning agent 216 may be persistently stored using the DM manager 218. The provisioning agent 216 may be responsible for handling provisioning requests received from a centralized provisioning server for persistent changes to the database 210. The provisioning agent may also ensure that the various session managers 212 can be updated about any dynamic changes in the service data. The TM 220 may aggregate log and debug information from all the function managers for troubleshooting. The TM 220 may also provide flexibility to generate debug information, for example, on a per-module, per-process, or per-system basis. Various other functions of the components may be possible. In an embodiment, the database 210 may comprise data that may be either stored or generated as a result of functions implemented by any of the components of the processing engine 208 of the BTAS 102.

[0062] In an embodiment, the processor 202 may receive a Session Initiation Protocol (SIP) response message in response to the SIP request message. The SIP response message may correspond to at least one of a provisional SIP response message and a final SIP response message. The processor 202 may determine at least one of a predetermined cause code in a reason header field associated with the at least one of the provisional SIP response message and the final SIP response message and an error response code in a reason header field associated with the final SIP response message. In response to determining the predetermined cause code in the final SIP response message, the processor 202 may modify the predetermined cause code in the reason header field associated with the final SIP response message based on the predetermined cause code in the reason header field associated with the provisional SIP response message. In response to determining the error response code in the final SIP response message, the processor 202 may modify the error response code in the reason header field associated with the final SIP response message based on the predetermined cause code in the reason header field associated with the provisional SIP response message. The processor 202 may map the predetermined cause code in the final SIP response message to a corresponding SIP response code, and may output the final SIP response message with the mapped SIP response code and a reason message associated with the SIP response code.

[0063] In an embodiment, to determine at least one of the predetermined cause codes, the processor 202 may replicate a predetermined cause code from a reason header field associated with the provisional SIP response message when the predetermined cause code is present in the provisional SIP response message and the predetermined cause code is absent in the final SIP response message. Further, the processor 202 may replicate a predetermined cause code in a reason header field associated with the final SIP response message when the predetermined cause code is present in the provisional SIP response message and the predetermined cause code is absent in the final SIP response message. The processor 202 may modify an error response code in a reason header field associated with the final SIP response message based on the predetermined cause code in the reason header field associated with the final SIP response message.

[0064] In an embodiment, to determine at least one of the predefined cause codes in a reason header field associated with at least one of the provisional SIP response message and the final SIP response message, the processor 202 may modify an error response code in a reason header field associated with the final SIP response message. The modification of the error response code may be based on a predefined cause code in a reason header field associated with the final SIP response message when the predefined cause code is not present in the provisional SIP response message and the predefined cause code is present in the final SIP response message.

[0065] In an embodiment, to determine at least one of the predefined cause codes in a reason header field associated with at least one of the provisional SIP response message and the final SIP response message, the processor 202 may insert the predefined cause code into a reason header field associated with the final SIP response message. The insertion of the predefined cause code may be based on an error response code received in a reason header field associated with the final SIP response message when the predefined cause code is not present in the provisional SIP response message and the final SIP response message.

[0066] In an embodiment, the processor 202 may be configured to send the telephone call from the outdialer service to a Do Not Call (DNC) server communicatively coupled to the BTAS. The processor 202 may receive a status message if the number associated with the telephone call is not listed in a Do Not Disturb (DND) database, and if the number associated with the telephone call is listed in the DND database, the telephone call terminates at the DNC server. The processor 202 may receive routed telephone calls from the DNC server to the BTAS 102 for mapping SIP response codes with cause codes.

[0067] FIG. 2B illustrates an example representation of a flow diagram illustrating an integration architecture of a network device or BTAS 102 according to an embodiment of the present disclosure. As illustrated in FIG. 2B, the BTAS 102 may be integrated or coupled with various hardware / software components or servers to enable one or more functions related to SIP-to-cause code mapping. The BTAS 102 may be integrated with an IMS server 254 to enable communication processing related to user devices within an enterprise (154 shown in FIG. 1B). In an example embodiment, the BTAS 102 may be integrated with an IMS server 106 to establish and control communication connections via network protocols including, but not limited to, Session Initiation Protocol (SIP). Because communication may also involve the use of one or more forms of media, the BTAS 102 may be integrated with a Multimedia Resource Function (MRF) 258. The BTAS 102 may interface with an Enterprise Provisioning Server (EPS) 260 via a Representational State Transfer (REST) ​​protocol to enable provisioning of service data.

[0068] In an exemplary embodiment, the BTAS 102 may be integrated with the MRF 258 to enable functions such as media mixing, control of notifications, and other such purposes, via network protocols including, for example, but not limited to, Session Initiation Protocol-Media Server Markup Language (SIP-MSML). In an exemplary embodiment, the BTAS 102 may be integrated or coupled with other components / services such as the Mobile Number Portability (MNP) 124 (via SIP) to enable number portability dipping. In another exemplary embodiment, the BTAS 102 and EPS 260 may be independently integrated or coupled with the Element Management System (EMS) 256 via REST. The EMS 256 may include hardware and software implementations for managing five key aspects, namely, Fault, Configuration, Accounting, Performance, and Security (FCAPS) functions, and exchanging messages related to the key aspects via a representational state transfer (REST) ​​protocol, which may use the HyperText Transfer Protocol (HTTP) to transport the messages. The EMS may provide a basis for implementing an Operations Support System (OSS) or Business Support Systems (BSS) 262 based architecture that allows service providers to meet customer demands, for example, for rapid service deployment, to provide satisfactory quality of service requirements and other such services. The EMS 256 may interface with the OSS / BSS 262 via the REST protocol to enable a northbound interface for the FCAPS data of the BTAS 102 / EPS 260. The term northbound interface may refer to an interface that allows a particular component of the network to communicate with a higher level component.The OSS / BSS 262 may interface with the EPS 260 via the REST protocol to enable functions such as service data management requests.

[0069] Additionally, as shown in FIG. 2B, the BTAS 102 may be integrated or coupled with a Diameter Routing Agent (DRA) 268 via the diameter protocol, which may be a standard protocol for authentication, authorization, and charging information in an IMS server-based network. The DRA diameter may be a functional element that may provide real-time routing capabilities to ensure that messages are routed between the correct elements in the network. The integration of the BTAS 102 with the DRA 268 may enable integration with an Online Charging System (OCS) 272 to facilitate Ro charging. The OCS may be a system that allows a service provider to charge a user or customer in real-time based on service usage, and Ro charging pertains to a protocol that allows triggers to generate charging events. In an embodiment, the BTAS 102 may also be integrated with a component related to a Customized Caller Ring Back Tone (CRBT) 266 to enable a personalized Ring Back Tone (RBT) during the communication establishment phase. For example, this may primarily relate to a ring tone that may be played during the connection of a user device's telephone call communication with multiple emergency services.

[0070] FIG. 3 illustrates an example flow diagram representation of a call flow for an outdialer of an automated advertising telephone call service supported by BTAS 102 with the aid of an Internet Protocol Multimedia Subsystem (IMS) in accordance with an embodiment of the present disclosure.

[0071] In one case, the operator's call center team may conduct a telemarketing campaign through a Session Initiation Protocol (SIP) trunk provided by a telecommunication carrier, so the operator's call center team may need to derive analysis data based on a combination of SIP final error cause codes and predefined cause codes. Based on the analysis data, the operator's call center team may derive a redialing strategy to improve the success rate of telemarketing. Considering a high-level network setup as shown in FIG. 3, the out-dialer may be an automatic advertising telephone call service supported by the BTAS 102 with the help of the IMS 106. The key network elements involved in FIG. 3 may be the out-dialer, the E-SBC 156, the P-CSCF 152, the HSS 120, the S-CSCF 158, the DNC 104, the BTAS 102, the TAS 160, the BGCF 118, and the MGCF 122. Then, a Call Dialing Server, such as an Automatic Call Distributor (ACD), may be integrated with the E-SBC 156 on the access side. The BTAS 102 uses a SIP trunk infrastructure to support out-dialer services. An additional network element (NE) in the call flow can be the introduction of a DNC server 104 to verify the B number DND activation status. When a telephone call is received from an out-dialer, the telephone call can be first sent to the DNC server 104, which has the first priority under the Initial Filter Criteria (IFC). If the B-Number is not in the database, the DNC server 104 can return a "301" message and the telephone call can be routed to the BTAS 102 for further analysis. If the B-Number is registered in the database, the DNC server 104 can return a "480" message and the telephone call can be accepted.

[0072] In step (1), an out-dialer telephone call may be sent to the E-SBC 156. In step (2), the telephone call may be routed from the E-SBC 156 to the P-CSCF 152. In step (3), the telephone call may be routed from the P-CSCF 152 to the S-CSCF 158. In step (4), a query may be sent from the S-CSCF 158 to the DNC server 104 regarding the DNC registration of the B number. In step (5), the DNC server 104 may reply whether the B number is / is not registered for DNC. In step (6), the telephone call may be forwarded to the BTAS 102. In step (7), a query may be sent from the BTAS (102) to the MNP 124. In step (8), the MNP 124 may reply. In step (9), the BTAS 102 may route the telephone call to the S-CSCF 158. In step (10a), a wired telephone call to the terminating BTAS 102. In step (10b), a Voice over Long-Term Evolution (VoLTE) telephone call to the TAS 160. In step (10c), an off-net telephone call to the MGCF 122 via the BGCF 118. In step (11), the off-net telephone call may be sent from the BGCF 118 to the MGCF 122.

[0073] Example scenario Consider an exemplary scenario where a 140 telemarketing service is hosted on the BTAS 102. The BTAS 102 may receive, via a SIP response message, a predefined cause code in the 18X section, which will be placed in the final error response according to the customer's requirements. Also, the final SIP error response may need to be modified according to the customer's requirements. In a genuine case, such as when a user does not answer the phone call and sends a 5xx with cause code 18 (instead of 480), the BTAS 102 may look up the cause code-to-sip mapping, and the BTAS 102 may modify the response code to 480. Similarly, the BTAS 102 may also modify the cause code received in the reason header based on the SIP-to-cause code mapping whenever needed. This feature may be flexible at the ENT level, so that the SIP-to-cause code mapping may be enabled for the customer only when needed.

[0074] Generally, the cause code mapping followed is as follows: The user action to trigger the mapping of the code is the responsibility of the destination switch. The BTAS 102 can only map the cause code or correct the SIP response based on Table 1 below. Note that the Q850 cause code may be considered to be of highest priority if it is received in the 18X compare to Final response.

[0075] [Table 1A]

[0076] [Table 1B]

[0077] The expected output for SIP and cause code mapping from BTAS 102 may be shown in Table 2 below.

[0078] [Table 2]

[0079] FIG. 4 illustrates an example flow chart of a method 400 for mapping a Session Initiation Protocol response with an appropriate cause code, according to an embodiment of the present disclosure.

[0080] At block 402, the method 400 may include receiving, by a processor 202 associated with a Business Telephony Application Server (BTAS) 102, a SIP response.

[0081] At block (404), the method (400) may include determining, by the processor (202), a reason for the error in the telephone call and a cause code for the error.

[0082] At block 406, the method 400 may include mapping, by the processor 202, the SIP and appropriate cause codes.

[0083] At block 408, the method 400 may include providing, by the processor 202, in a SIP response, an appropriate reason for the telephone call failure or error.

[0084] FIG. 5 illustrates an exemplary computer system (500) in which or with which embodiments of the present disclosure may be utilized, in accordance with an embodiment of the present disclosure.

[0085] As shown in FIG. 5, computer system 500 may include external storage device 510, bus 520, main memory 530, read-only memory 540, mass storage device 550, communication port 560, and processor 570. Those skilled in the art will appreciate that computer system 500 may include more than one processor and communication port. Communication port 560 may be chosen depending on the network, such as a local area network (LAN), a wide area network (WAN), or any network to which computer system 500 connects. Main memory 530 may be a random access memory (RAM) or any other dynamic storage device known in the art. Read-only memory 540 may be any static storage device, such as, but not limited to, a programmable read-only memory (PROM) chip for storing static information, such as startup or basic input / output system (BIOS) instructions for processor 570. Mass storage 550 may be any present or future mass storage method that may be used to store information and / or instructions.

[0086] Bus 520 may communicatively couple processor 570 with other memory, storage, and communication blocks. Optionally, operator and management interfaces, such as a display, keyboard, and cursor control devices, may also be coupled to bus 520 to facilitate direct operator interaction with computer system 500. Other operator and management interfaces may be provided through a network connection connected through communication port 560. The exemplary computer system (500) described above should in no way limit the scope of the present disclosure.

[0087] Various embodiments of the present disclosure provide a system and method for mapping a Session Initiation Protocol (SIP) response with an appropriate cause code. The present disclosure provides a system and method for modifying a cause code received in a SIP reason header based on a SIP-to-cause code mapping whenever needed. The present disclosure allows modifying a final SIP error response according to a user's request. The present disclosure avoids the final error response from including a dummy cause value corresponding to a normal unspecified incoming call. The present disclosure helps derive analysis data based on a combination of SIP final error cause codes and predefined cause codes. Based on the analysis data, a user derives a telephone call redialing strategy to improve the success rate.

[0088] Although considerable emphasis has been placed on preferred embodiments herein, it will be understood that many embodiments can be made and many changes can be made in the preferred embodiments without departing from the principles of the present disclosure. These and other changes in the preferred embodiments of the present disclosure will be apparent to those skilled in the art from the disclosure herein, and it should therefore be expressly understood that the contents of the foregoing description are merely implemented as illustrative of the present disclosure, and not limiting.

[0089] Advantages of the Invention The present disclosure provides a system and method for mapping Session Initiation Protocol (SIP) responses with appropriate cause codes.

[0090] The present disclosure provides a system and method for modifying the cause code received in a SIP reason header based on a SIP-to-cause code mapping whenever needed.

[0091] The present disclosure provides a system and method for modifying a final SIP error response according to a user's request.

[0092] The present disclosure provides a system and method for avoiding a final error response from including a dummy cause value that corresponds to a normal unspecified incoming call.

[0093] The present disclosure provides a system and method for helping derive analytical data based on a combination of SIP final error cause codes and predefined cause codes. Based on the analytical data, a user can derive a telephone call redialing strategy to improve success rates. [Explanation of symbols]

[0094] 102 Network device, Business Telephony Application Server, BTAS, terminating BTAS 104 Framework, DNC Server, DNC, CDL Server 106 Internet Protocol Multimedia Subsystem (IMS) Server, IMS Core Network, IMS, IMS Core 110 User device, user equipment, UE, terminal 112 Communication Networks 116 Interconnect Border Control Function (IBCF), IBCF module 118 BGCF, Breakout Gateway Control Function (BGCF) module 120 Home Subscriber Server (HSS) 122 Media Gateway Control Function (MGCF) module, MGCF 124 Mobile Number Portability (MNP) server, MNP 126 Multimedia Resource Function (MRF) module, MRF 130 Media Gateway (MGW) 132 BGW 134 Point of Interconnection (POI) 152 Proxy-Call Session Control Function (P-CSCF) module, P-CSCF 154 companies 156 E-SBC 158 Serving - Call Session Control Function (S-CSCF) module, S-CSCF 160 Telephony Application Server (TAS) 162 Interrogating - Call Session Control Function (I-CSCF) module, I-CSCF 202 Processor 204 Memory 206 Interface 208 Processing Engine 210 Database 212 Session Manager (SM) 214 Operation and Maintenance (OAM) Manager, OAM Manager 216 Provisioning Agent 218 Database Manager (DM), DM Manager 220 Troubleshooting Manager(TM) 230 CDL Agent 252 User Devices 254 IMS Server, IMS 256 Element Management System (EMS) 258 Multimedia Resource Function (MRF) 260 Enterprise Provisioning Server (EPS) 262 Operations Support System (OSS), Business Support Systems (BSS), OSS / BSS 264 F5 266 Customized Caller Ring Back Tone(CRBT) 268 Diameter Routing Agent (DRA) 270 MNP 272 Online Charging System (OCS) 500 Computer Systems 510 External Storage Device 520 Bus 530 Main memory, memory 540 Read Only Memory 550 Mass Storage Device, Mass Storage 560 communication port 570 Processor

Claims

1. 1. A system for mapping Session Initiation Protocol (SIP) response codes to cause codes, comprising: The present invention relates to a Business Telephony Application Server (BTAS) (102), A processor (202); A memory (204) coupled to the processor (202); The memory (204), when executed, causes the processor (202) to receiving a SIP response message in response to the SIP request message, the SIP response message corresponding to at least one of a provisional SIP response message and a final SIP response message; determining at least one of a predetermined cause code in a Reason header field associated with the at least one of the provisional SIP response message and the final SIP response message and an error response code in a Reason header field associated with the final SIP response message; in response to the determination of the predetermined cause code in the final SIP response message, modifying the predetermined cause code in the Reason header field associated with the final SIP response message based on the predetermined cause code in the Reason header field associated with the provisional SIP response message; in response to the determination of the error response code in the final SIP response message, modifying the error response code in the Reason header field associated with the final SIP response message based on the predetermined cause code in the Reason header field associated with the provisional SIP response message; mapping the predetermined cause code in the final SIP response message to a corresponding SIP response code; providing the final SIP response message with the mapped SIP response code and a reason message associated with the SIP response code. A system comprising processor-executable instructions.

2. 2. The system of claim 1, wherein the predetermined cause code is a Q.850 cause code in the Reason header field associated with the at least one of the provisional SIP response message and the final SIP response message.

3. To determine the at least one of the predetermined cause codes in the Reason header field associated with the at least one of the provisional SIP response message and the final SIP response message, the processor (202) based on the predetermined cause code being present in the provisional SIP response message and the predetermined cause code not being present in the final SIP response message, copying the predetermined cause code from the Reason header field associated with the provisional SIP response message into the Reason header field associated with the final SIP response message; modifying the error response code in the reason header field associated with the final SIP response message based on the predetermined cause code in the reason header field associated with the final SIP response message. The system of claim 1 , configured to:

4. To determine the at least one of the predetermined cause codes in the Reason header field associated with the at least one of the provisional SIP response message and the final SIP response message, the processor (202) modifying the error response code in the Reason header field associated with the final SIP response message based on the predetermined cause code in the Reason header field associated with the final SIP response message when the predetermined cause code is not present in the provisional SIP response message and the predetermined cause code is present in the final SIP response message. The system of claim 1 , configured to:

5. To determine the at least one of the predetermined cause codes in the Reason header field associated with the at least one of the provisional SIP response message and the final SIP response message, the processor (202) inserting the predetermined cause code into the Reason header field associated with the final SIP response message based on the error response code received in the Reason header field associated with the final SIP response message when the predetermined cause code is not present in the provisional SIP response message and the final SIP response message. The system of claim 1 , configured to:

6. 2. The system of claim 1, wherein the BTAS (102) comprises a SIP trunk infrastructure for supporting outdialer services for a telephone call associated with the SIP request message.

7. The processor (202): transmitting the telephone call from the out-dialer service to a Do Not Call (DNC) server communicatively coupled to said BTAS (102); receiving a status message based on a digit associated with the telephone call not being listed in a Do Not Disturb (DND) database, the telephone call terminating at the DNC server based on the digit associated with the telephone call being listed in the DND database; receiving a routed telephone call from the DNC server to the BTAS (102) for mapping the SIP response code to the cause code; The system of claim 5 , configured to:

8. 2. The system of claim 1, wherein the predetermined cause codes correspond to at least one of an Integrated Services Digital Network (ISDN) User Part (ISUP) cause value and a fault-related cause value.

9. The system of claim 1 , wherein the mapping of the predefined cause code to the corresponding SIP response code in the final SIP response message is based on a predefined cause code-SIP response code mapping table.

10. 1. A method for mapping Session Initiation Protocol (SIP) response codes to cause codes, comprising: receiving, by a processor (202) associated with a Business Telephony Application Server (BTAS) (102), a SIP response message in response to the SIP request message, the SIP response message corresponding to at least one of a provisional SIP response message and a final SIP response message; determining, by the processor (202), at least one of a predetermined cause code in a Reason header field associated with at least one of the provisional SIP response message and the final SIP response message, and an error response code in a Reason header field associated with the final SIP response message; modifying, by the processor (202), in response to determining the predetermined cause code in the final SIP response message based on the predetermined cause code in the Reason header field associated with the provisional SIP response message; modifying, by the processor (202), in response to determining the error response code in the final SIP response message based on the predetermined cause code in the Reason header field associated with the provisional SIP response message; mapping, by the processor (202), the predetermined cause code in the final SIP response message to a corresponding SIP response code; providing, by the processor (202), the final SIP response message with the mapped SIP response code and a reason message associated with the SIP response code; A method comprising:

11. 11. The method of claim 10, wherein the predetermined cause code is a Q.850 cause code in the Reason header field associated with the at least one of the provisional SIP response message and the final SIP response message.

12. determining the at least one of the predetermined cause codes in the Reason header field associated with the at least one of the provisional SIP response message and the final SIP response message, copying, by the processor (202), the predetermined cause code from the Reason header field associated with the provisional SIP response message into the Reason header field associated with the final SIP response message based on the predetermined cause code being present in the provisional SIP response message and the predetermined cause code not being present in the final SIP response message; modifying, by the processor (202), the error response code in the Reason header field associated with the final SIP response message based on the predetermined cause code in the Reason header field associated with the final SIP response message; The method of claim 10 comprising:

13. determining the at least one of the predetermined cause codes in the Reason header field associated with the at least one of the provisional SIP response message and the final SIP response message, 11. The method of claim 10, further comprising the step of: modifying, by the processor (202), the error response code in the Reason header field associated with the final SIP response message based on the predetermined cause code in the Reason header field associated with the final SIP response message when the predetermined cause code is not present in the provisional SIP response message and the predetermined cause code is present in the final SIP response message.

14. determining the at least one of the predetermined cause codes in the Reason header field associated with the at least one of the provisional SIP response message and the final SIP response message, 11. The method of claim 10, further comprising inserting, by the processor (202), when the predetermined cause code is not present in the provisional SIP response message and the final SIP response message, the predetermined cause code in the Reason header field associated with the final SIP response message based on the error response code received in the Reason header field associated with the final SIP response message.

15. 11. The method of claim 10, wherein the BTAS (102) comprises a SIP trunk infrastructure for supporting out-dialer services for a telephone call associated with the SIP request message.

16. transmitting, by the processor (202), the telephone call from the out-dialer service to a Do Not Call (DNC) server communicatively coupled to the BTAS (102); receiving, by the processor (202), a status message based on a digit associated with the telephone call not listed in a Do Not Disturb (DND) database, the telephone call terminating at the DNC server based on the digit associated with the telephone call being listed in the DND database; receiving, by the processor (202), a telephone call routed from the DNC server to the BTAS for mapping the SIP response code to the cause code; The method of claim 15 comprising:

17. 11. The method of claim 10, wherein the predetermined cause code corresponds to at least one of an Integrated Services Digital Network (ISDN) User Part (ISUP) cause value and a fault-related cause value.

18. 11. The method of claim 10, wherein mapping the predetermined cause code in the final SIP response message with the corresponding SIP response code is based on a predetermined cause code-SIP response code mapping table.

19. A user equipment (UE) (110) for mapping a Session Initiation Protocol (SIP) response code with an appropriate cause code, comprising: One or more processors coupled to a processor (202) of a Business Telephony Application Server (BTAS) (102) Equipped with the one or more processors are coupled to a memory; The memory, when executed, causes the UE (110) to storing executable instructions for causing a SIP response message to be sent to the BTAS (102); The one or more processors (202): receiving a SIP response message from the UE (110) in response to the SIP request message, the SIP response message corresponding to at least one of a provisional SIP response message and a final SIP response message; determining at least one of a predetermined cause code in a Reason header field associated with the at least one of the provisional SIP response message and the final SIP response message and an error response code in a Reason header field associated with the final SIP response message; in response to the determination of the predetermined cause code in the final SIP response message, modifying the predetermined cause code in the Reason header field associated with the final SIP response message based on the predetermined cause code in the Reason header field associated with the provisional SIP response message; in response to the determination of the error response code in the final SIP response message, modifying the error response code in the Reason header field associated with the final SIP response message based on the predetermined cause code in the Reason header field associated with the provisional SIP response message; mapping the predetermined cause code in the final SIP response message to a corresponding SIP response code; providing the final SIP response message with the mapped SIP response code and a reason message associated with the SIP response code. The UE is configured as follows.

20. A non-transitory computer readable medium comprising a processor with executable instructions, the executable instructions causing the processor to: receiving a Session Initiation Protocol (SIP) response message in response to the SIP request message, the SIP response message corresponding to at least one of a provisional SIP response message and a final SIP response message; determining at least one of a predetermined cause code in a Reason header field associated with the at least one of the provisional SIP response message and the final SIP response message and an error response code in a Reason header field associated with the final SIP response message; in response to the determination of the predetermined cause code in the final SIP response message, modifying the predetermined cause code in the Reason header field associated with the final SIP response message based on the predetermined cause code in the Reason header field associated with the provisional SIP response message; in response to the determination of the error response code in the final SIP response message, modifying the error response code in the Reason header field associated with the final SIP response message based on the predetermined cause code in the Reason header field associated with the provisional SIP response message; mapping the predetermined cause code in the final SIP response message to a corresponding SIP response code; A non-transitory computer-readable medium for causing the final SIP response message with the mapped SIP response code and a reason message associated with the SIP response code to be provided.

Citation Information

Patent Citations

  • Network terminator, and communication processing method thereof

    JP2007013332A

  • Fallback control method, fallback control system, call control device and call control program

    JP2010278756A

  • Automatic generation device of telephone number information, and method therein

    JP2011114439A

  • Mapping ISDN cause codes in a contact center for improved tracking of call attempts

    US9137369B1